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.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

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.3.tar.gz (112.9 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for django-autoreports-0.8.3.tar.gz
Algorithm Hash digest
SHA256 ada3ec31b66ee7e2f1bb43bfffdf969a5077783ef43b3bec83d870da785c25a6
MD5 a6f4c7b690d828cfa68c263da0e809a1
BLAKE2b-256 e6b321fa5e0e3a59e8135a4ccb60e472050cfa1e5efad735d9d5b9d581cae5a0

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