skip to navigation
skip to content

Not Logged In

django-autoreports 0.8.6

Django application that lets you create reports

Autoreports

Autoreports is a Django application that lets you create reports in very Django Admin listing

Installation

In your settings.py

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',

    #.....................#

    'autoreports',
)

In your urls.py

urlpatterns = patterns('',

    #...#

    (r'^autoreports/', include('autoreports.urls')),

    #...#
)

Media files

Link the media files in your project media directory

cd {{ MEDIA_ROOT }}
ln -s {{ AUTOREPORTS_FORM_PATH }}media/ autoreports

In the admin site (from Advanced usage)

Redefine 'admin/change_list.html' templates as follows

{% load adminmedia admin_list i18n autoreports_tags %} {# add auto_reports_tags #}

#...#

{% block object-tools %}
  {% if has_add_permission %}
    <ul class="object-tools">
      <li>
        <a href="add/{% if is_popup %}?_popup=1{% endif %}" class="addlink">
          {% blocktrans with cl.opts.verbose_name as name %}Add {{ name }}{% endblocktrans %}
        </a>
      </li>
      {% autoreports_admin %} {# add this stuff #}
    </ul>
  {% endif %}
{% endblock %}

#...#

By default it will takes 'list_display' fields to export in CSV. You can redefine it in every model admin you want:

from autoreports.admin import ReportAdmin

 #...#

class FooModelAdmin(ReportAdmin, admin.ModelAdmin):
    pass

Basic usage

You have to api, and you can export to CSV each models.

/autoreports/app_label/module_name/
/autoreports/app_label/module_name/?filter1=value1

Advanced usage

You have for each change list 4 new actions:

Quick report

Report to csv the same that you see in the changelist. Works the filters and the searcher

Advanced report

You have a form to filter. You can customizer this form.

class FooModelAdmin(ReportAdmin, admin.ModelAdmin):
   report_filter_fields = ('description', 'category', ...)
   report_display_fields = ('name', 'description',  ...)

If you don't define this attributes, report_filter_fields and report_display_fields have the value of list_display

Wizard report

You can create a new "Advanced reports", with this wizard

Reports

A list of "Advanced reports" thet you created with the wizard

You can have this functionality in the public view, if you registry some Model: To access /autoreports/.

from autoreports.registry import report_registry
from autoreports.api import ReportApi

#...#

class ModelApi(ReportApi):
   category = 'contrato'
   category_verbosename = 'Contrato'


report_registry.register_api(Model, ModelApi)

Configuration

You can set some settings and autoreports adapt itself:

  • AUTOREPORTS_BASE_TEMPLATE = 'base.html' # Indicate of the base template
  • AUTOREPORTS_FUNCTIONS = True # If you want that the funcions can choose in the wizard
  • AUTOREPORTS_INITIAL = True # If you want that the advanced forms have to default the initial values
  • AUTOREPORTS_I18N = False # If you want have the forms (that you created with the wizard) in various languages
  • AUTOREPORTS_SUBFIX = True # If you want that in the filter set the filter brackets
  • AUTOREPORTS_ADAPTOR = {'datetime': 'myappreport.fields.DateTimeFieldReportField'} # If you want change some adaptor
  • AUTOREPORTS_WIZARDFIELD = 'myappreport.wizards.MyWizardField' # If you want change the WizardField
  • AUTOREPORTS_USE_CMSUTILS = True # If autoreports should use cmsutils package

Development

You can get the last bleeding edge version of autoreports by doing a clone of its git repository:

git clone https://github.com/Yaco-Sistemas/django-autoreports.git

0.8.6

  • Fixed error: Add README.rst in MANIFEST
  • Fixed error: Add media in MANIFEST
  • Fixed error when the language names (in django settings) are unicodes

0.8.5

  • Removed cmsutils dependence. Now is an optional package.

0.8.4

  • Removed error in en_US system
  • Display fields can contains a function instead

0.8.3

  • Fixes datetime adaptor

0.8.2

  • Sortable fields

0.8.1

  • Spanish translations
  • Fixes some littles errors

0.8.0

  • Wizard in the public view
  • Advanced reports in the public view
  • Fixes some errors
  • More versatile the api
  • Added the authors

0.7.9

  • Fixes some errors

0.7.8

  • Possibility of change the widgets (alpha)
  • Layout of the warning when you use a function
  • Fixes some errors
  • Usability
  • More versatile the api

0.7.7

  • It be able to create searching filters joining various fields including transmeta fields
  • Fixes some errors
  • More versatile the api

0.7.6

  • Warning (without layout) when you use a function
  • It be able to create searching filters joining various fields
  • More versatile the api

0.7.5

  • Fixed some details of layout

0.7.4

  • Fixed a error with nginx/uwsgi deployment

0.7.3

  • More compatible with python 2.5

0.7.2

  • More versatile the api

0.7.1

  • Removed error in the name of functions
  • Removed error in the values of choices
  • Removed error help_text and label with AUTOREPORTS_I18N = True
  • [Wizard] Removed error of the field to inheritance
  • [Wizard] Removed error of the field tree infinite

0.7.0

  • Code cleanup
  • Usability in the wizard
  • More funcionality in the API
  • A test project
  • Remove cmsutils dependence
  • Fixes

0.6.1

  • Fixed an issue when used in Django 1.3
 
File Type Py Version Uploaded on Size
django-autoreports-0.8.6.tar.gz (md5) Source 2013-05-28 51KB
  • Downloads (All Versions):
  • 108 downloads in the last day
  • 513 downloads in the last week
  • 1526 downloads in the last month