Skip to main content

Django application that lets you create reports

Project description

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

Development

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

svn co http://svnpub.yaco.es/djangoapps/autoreports/trunk/autoreports

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-autoreports-0.8.0.tar.gz (99.2 kB view details)

Uploaded Source

File details

Details for the file django-autoreports-0.8.0.tar.gz.

File metadata

File hashes

Hashes for django-autoreports-0.8.0.tar.gz
Algorithm Hash digest
SHA256 67e37f4763ddb81f0a414032c3c0c543f887236a5c1948ac50e8909108b64ee0
MD5 b5b04db1126c77f0b4866fc871b86e3f
BLAKE2b-256 83b14dcaae3cc50008bc69cb439cb5e040ebdce0dd68179ee834a943c3346d74

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page