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

  • 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

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.6.tar.gz (53.1 kB view hashes)

Uploaded Source

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