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 checkout of its subversion repository:

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

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

Uploaded Source

File details

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

File metadata

File hashes

Hashes for django-autoreports-0.8.5.tar.gz
Algorithm Hash digest
SHA256 f1647493500ddb05f0245906fc7e8fbe8ebec6504a580d6e0401a40430f3c0b5
MD5 a27941f6bffd6eaec20e62a4ff468e55
BLAKE2b-256 071cc44f6991565c1ebe27b665adfe9c3fd4a6ee2aa2eb90ec9c63a9134de50d

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