skip to navigation
skip to content

Not Logged In

django-prescribed-burn-system 1.0c2

django-prescribed-burn-system (pbs) is a system for managing prescribed burning in Western Australia. It is currently deployed in production within the Department of Parks and Wildlife.

django-prescribed-burn-system
=============================

.. image:: https://pypip.in/v/django-prescribed-burn-system/badge.png
:target: https://crate.io/packages/django-prescribed-burn-system

.. image:: https://pypip.in/d/django-prescribed-burn-system/badge.png
:target: https://crate.io/packages/django-prescribed-burn-system

.. image:: https://secure.travis-ci.org/dpaw2/django-prescribed-burn-sytem.png?branch=master
:alt: Build Status
:target: http://travis-ci.org/dpaw2/django-prescribed-burn-system

.. image:: https://pypip.in/license/django-prescribed-burn-system/badge.png
:target: https://pypi.python.org/pypi/django-prescribed-burn-system/

**django-prescribed-burn-system** (pbs) is a system for managing prescribed
burning in Western Australia. It is currently deployed in production within the
`Department of Parks and Wildlife`_.

https://pbs.dec.wa.gov.au/

The core of pbs is a Prescription. Prescription is a complex document
(~50 pages) that relates to a particular prescribed burn. It is a way to plan,
endorse, execute and review a particular burn. It contains information such as
location of burn, risk register, endorsements, various documents such as
diagrams or maps, detailed directions of how to carry out a burn, evaluation
of a burn, risk mitigation and strategies + much, much more. This is a
(cookbook) document that fire officers take with them to execute a burn.

Pbs heavily utilizes and customizes django's builtin
*django.contrib.admin.ModelAdmin* and *django.contrib.admin.AdminSite*.
In fact, the entire application is built on top of those two classes - there
are no function-based or class-based views, it's all admin (admin site :).

Here is a **brief** description of how it all works, please feel free to add
more details or get in touch with us for more details.

The pbs (admin) site is defined in *pbs.sites* and included in (root)
*pbs.urls*. Virtually every model has its own admin class that inherits from
*pbs.admin.BaseAdmin* (a customization of *django.contrib.admin.ModelAdmin*).
Generic stuff is in *pbs.models*, *pbs.admin*, *pbs.forms*, etc. There is a
central *Prescription* model in *pbs.prescription.models* that virtually all
other models have relation with (via Foreign or OneToOne keys, possibly via
intermediary models).

The core functionality of pbs is carried out in its changelist views
(a neat customization of django's default changelist view). See templates and
templatetags for more detail - admin/change_list.html,
admin/includes/fieldset.html, pbs_list.py.

pbs has also a neat way of interacting with latex (lualatex) to produce high
quality pdf documents.

.. _Department of Parks and Wildlife: http://dpaw.wa.gov.au/

Installation
------------

::

$ pip install django-prescribed-burn-sytem


Quickstart
----------

1. Standalone app:

Make sure your PYTHONPATH is correct (contains pbs and django).

Default settings (customizable via Environment variables)::

$ django-admin.py runserver --settings pbs.settings

Log in with admin:test

Custom settings::

$ django-admin.py syncdb --settings my.customsettings
$ django-admin.py runserver --settings my.customsettings # custom

Using honcho (against a Procfile)::

$ git clone https://github.com/dpaw2/django-prescribed-burn-system
$ cd django-prescribed-burn-system
$ python setup.py develop
$ pip install honcho
$ honcho start

2. Integration with other apps:

1. Make sure pbs is in your installed apps settings.py)::

INSTALLED_APPS = (
...
'pbs',
'pbs.prescription',
'pbs.stakeholder',
'pbs.risk',
'pbs.document',
'pbs.implementation',
'pbs.report',
'pbs.registration',
...
'swingers',
'compressor',
...
'django.contrib.admin',
'django.contrib.admin.humanize'
...
)

2. Make sure you set *ANONYMOUS_USER_ID* and *SITE_NAME*::

ANONYMOUS_USER_ID = -1
SITE_NAME = "my site name"

3. Mount pbs into your urls scheme urls.py)::

urlpatterns = patterns(
'',
...
(r'^pbs/', include('pbs.urls')),
...
)

4. Run your app against your settings with django-admin.py, apache2,
gunicorn or whatever else you use.


Tests
-----

::

$ python setup.py test


Help
----

Join the *dpaw* mailing list, or read the archives, at
http://groups.google.com/group/dpaw


Issues
------

Use our github issue tracker, at
https://github.com/dpaw2/django-prescribed-burn-system/issues


Contribute
----------

::

$ git clone https://github.com/dpaw2/django-prescribed-burn-system
$ python setup.py develop


We prefer patches submitted via pull requests, at
https://github.com/dpaw2/django-prescribed-burn-system/pulls


Todo
----

* Make it work for django>1.5 :)
* *django.contrib.markup* got deprecated
* make the tests happy


Screenshots
-----------

.. figure:: imgs/login.png
:alt: django-prescribed-burn-system login
:align: center

Login screen of django-prescribed-burn-system.

..

.. figure:: imgs/overview.png
:alt: django-prescribed-burn-system overview of prescriptions
:align: center

Regional overview of prescribed burns (prescrptions).

..

.. figure:: imgs/add-prescription.png
:alt: django-prescribed-burn-system add_view for prescriptions
:align: center

Add prescription screen of django-prescribed-burn-system.

..

.. figure:: imgs/prescription.png
:alt: django-prescribed-burn-system prescription detail
:align: center

Detail view for prescriptions.

..

.. figure:: imgs/determine-endorsing-roles.png
:alt: django-prescribed-burn-system determine endorsing roles
:align: center

Screen for determining endorsing roles.

..

.. figure:: imgs/tracks-and-trails-changelist.png
:alt: django-prescribed-burn-system tracks and trails changelist view
:align: center

Changelist view for tracks and trails.

..

.. figure:: imgs/PartB-summary.png
:alt: django-prescribed-burn-system part B summary
:align: center

Summary of part B of a prescription.

..

.. figure:: imgs/partB6-print-preview.png
:alt: django-prescribed-burn-system print preview for section B6
:align: center

Print preview for section B6.

..

.. figure:: imgs/risk-actions.png
:alt: django-prescribed-burn-system risk actions register
:align: center

Risk actions register.

..

.. figure:: imgs/risk-context.png
:alt: django-prescribed-burn-system risk context statement.
:align: center

Risk context statement.

..

.. figure:: imgs/risk-register.png
:alt: django-prescribed-burn-system risk register
:align: center

Risk register.

..

 
File Type Py Version Uploaded on Size
django-prescribed-burn-system-1.0c2.tar.gz (md5) Source 2014-03-06 2MB
  • Downloads (All Versions):
  • 6 downloads in the last day
  • 18 downloads in the last week
  • 21 downloads in the last month