* adds new 'generate_report' command
* generates TimeSpanReports for given conservation offices
* zips reports into archive
* sents archive to ADMINS mails
* fixes bug where holes in stored geometries would not be rendered properly on initial loading the map client
* drawback: multiple polygons are treated as a single feature on the map client. Not a real issue but maybe we can find a better solution to this
* quality of life: renders geometry area in m² on detail and report view
* enhances visualization of editable column on tables
* simplifies code
* enhances visualization of parcel_group column on tables
* WIP: Ordering on intervention table is odd. Same results are being displayed on page 2. Needs further analysis and fixing!
* disables ordering of parcel_group ("Gemarkung") column on tables
* ordering can not be done properly due to more complex nature of this column's content
* introduces "Keine Geometrie vorhanden" message instead of hour glass icon on entries where no geometry has been entered yet
* properly orders last_modified column by moving null values to the lower end of the ordering
* fixes bug where deduction of a recorded intervention could be deleted from the eco account detail view
* improves check_for_recorded_instance() logic
* improves rendering of detail view on compensation-like objects to highlight missing data
* fixes bug where geometry conflicts template message has been rendered despite having no active geometry conflict
* happened in case of existing geometry conflicts related to an as deleted marked entry
* splits compensation/views/eco_account.py (+700 lines) into separate files in new module
* view files can now be found in /compensation/views/eco_account/...
* splits konova/views.py into separate files in new module
* view files can now be found in /konova/views/...
* introduces first class based view AbstractLogView
* implemented for Ema, Intervention, Compensation and EcoAccount
* refactors konova/autocompletes.py by splitting into individual files and moving them to fitting apps
* autocomplete files now live in APPNAME/autocomplete/...
* refactors intervention/forms and ../modalForms into individual files in separated packages
* forms.py has been renamed into intervention.py, now can be found as intervention/forms/intervention.py
* modalForms.py has been split into individual files living in modals package, can be found as intervention/forms/modals/...
* adds needed migrations
* refactors forms.py (700+ lines) in main konova app
* splits into forms/ and forms/modals and single class/topic-files for better maintainability and overview
* fixes bug in main konova app migration which could occur if a certain compensation migration did not run before
* adds mail sending logic for new notification setting
* adds new templates for user and team based sending
* enhances all email template layout
* adds translations
* adds template message to indicate a finished-deadline is mandatory
* adds finished deadline existance to quality check of compensation-like entries
* adds proper warning to quality check result
* extends tests
This reverts commit cf282c937f26de63dd3dee60cc77be22c5f50e0b, reversing
changes made to ee9834c0dae924770e0a8b96878642e2402b1469.
Undos accidental remote merge
* adds command sync_codelist
* provides updating of all codes to the newest version (id)
* must be run once on staging, can be dropped afterwards since the root for the problem has been resolved on the codelist management application
* adds restorable delete functionality to Team model
* refactors minor code model parts by introducing DeletableObjectMixin
* only non-deleted Teams can be chosen for sharing
* deleted Teams can be restored using the proper function on the backend admin
* deleted Teams do not provide
* adds migration