netgis_map_client_update #452

Open
mpeltriaux wants to merge 5 commits from netgis_map_client_update into master
Owner

Aktualisiert netgis Kartenclient.

Aktualisiert netgis Kartenclient.
mpeltriaux added 959 commits 2024-12-11 10:09:55 +01:00
* adds raw permission values for all groups
* adds raw permission values for all groups
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
* started to implement a landing page
* started news implementation
* adds news app for future implementations
* finishes work on dashboard
* finishes work on dashboard
* starts user menu implementation
* adds user notifications and management
* updates generic template
* adds new decorators for all three important groups
* reorganize some default group settings for setup_data.py
* adds translations
* minor changes for <a> tags
* centers link for older news in card
* re-enable translations for groups
* refactors old table index template into bootstrap-fontawesome generic table
* adds basic bootstrap classes to BaseTable model
* minor renaming
* minor changes
* adds README.md
* adds some bootstrap enhancements for responsiveness
* adds some translations
* adds linking to submenus
* adds PaymentAdmin
* adds Meta class inheritance for tables
* adds user access relation to certain models
* adds pagination to tables
* adds checked_on/_by attributes to intervention model
* adds custom column rendering for checked and registered columns
* adds first simple index filtering of default interventions for user
* adds translations
* adds help link
* adds table filtering for InterventionTable
* adds default ordering
* moves user-access filtering from view to InterventionTableFiler
* adds generic render_icn method for BaseTable (for usage with fontawesome5)
* adds translations
* improves table.html template
* adds (WIP) detail view for interventions
* renames typo in conservations_file_number to conservation_file_number
* adds simple has_access check for intervention objects for given users
* renames occurences of "Registered" to "Recorded" (verzeichnen)
* adds an informing message for detail view of intervention objects which are not editable for a user
* adds GeometryAdmin
* adds fallback DEFAULT_SRID for Geometry model
* adds translations
* adds related object overview in detail view
* adds comment field to payment model for 'Verwendungszweck'
* simplifies intervention urls
* adds translations
* adds hint for empty map in case of missing geometry
* adds empty geometry workaround, so openlayers is rendered without digitalization tools
* adds translations
* refactors model relation to compensation and payment by applying 1-n instead of n-n
* improves compensation routes
* add get document route
* add missing attributes to intervention detail view
* adds document removing button
* adds translation
* adds Document admin
* adds generic modal rendering using package django-bootstrap-modal-forms
* adds document file removing from hard drive
* adds translations
* adds modal form for adding payments
* generalizes generic_table_form.html for table-form-like usage in modal_form.html
* adds css enhancements for focused input fields
* adds BaseModalForm as specification to BaseForm, which inherits the BSModalForm class as well
* adds translations
* adds help texts to add payment form
* adds removing button for payments
* refactors user fetching into BaseForm
* adds generic RemoveModalForm which is intended to be used for every modal form which shall remove something
* adds translations
* removes unused html
* prepares payment amount field to be able to process german inputs like '1.000,50' which is not the international default
* splits large templates into smaller includes
* removes localized form input for payments
* refactors Document removing using the generic remove form
* adds document upload form
* refactors modal form templates into form classes
* adds document upload route to intervention routes of urls.py
* fixes some minor issues with the document upload
* replaces static dummy values with database values
* renames 'Your own' into 'Shared with you' for clarification
* adds translation
* hardens search filter against whitespaces
* renames 'Show all' filter to 'Show unshared' for clarification
* adds translation
* refactors templates/table.html into templates/generic_index.html
* adds DummyFilterInput as do-not-render-widget
* hardens combination of q filter and other filters on index view rendering
* adds filters and table optimizations for compensation index rendering
* fixes recorded_by/checked_by confusion in intervention table
* adds UserActionLogEntry model to user/models.py
  * wraps user and timestamp info
  * can be extended for more information in the future
* refactors all filtering and accessing on values
* moves accessibility of compensations completely into related intervention.users set
  * this way the visibility for a compensation can not differ from the one of the 'parent' intervention
* splits Intervention model into three main components
   * Intervention (main object)
   * LegalData (holds legal dates, laws, etc.)
   * ResponsibilityData (holds organizations and handler)
   * This way data can be extended more easily in the future
* refactors admin.py and usages in templates
* introduces UuidModel as a base class for BaseResource
* splits Intervention model into main components
   * Compensation (main object)
   * ResponsibilityData (holds organizations and handler) - same as used for intervention
   * This way data can be extended more easily in the future
* refactors deadlines
Reviewed-on: SGD-Nord/konova#2
* adds access_token as new attribute
* adds generating of access_token
* adds new form
* adds two new routes for sharing an intervention
* adds translation
* adds render_submit to BaseModalForm which triggers rendering the modal footer
* adds modal for rendering the share url
* adds new custom_widget text-to-clipboard-input.html
  * provides a copy button for writing the text input's value into the client's clipboard
* adds translation
* fixes minor translation typ
* extends share link form to share settings form
* adds list of users with access to the intervention
* adds logic for removing these users
* enhances translations
* adds related eco account withdraw detail view to intervention detail view
* adds new route for removing withdraws using RemoveModalForm
* adds EcoAccountWithdraw model
* adds admin interfaces for EcoAccount and EcoAccountWithdraw
* adds message_templates.py to konova/utils for reusable messages
* splits related-documents.html and related-objects.html into separate templates for each related object type: compensations.html, documents.html, eco-account-withdraws.html and payments.html
* adds translations
* wraps generic request processing logic into RemoveModalForm
* adds delete action to intervention detail compensations.html
* fixes rendering of deleted compensations in intervention detail view
* refactors base attributes created and deleted into UserActionLogEntry foreign keys
* refactors all related queries and process logic
* fixes binding_on into binding_date in intervention/detail/view.html
* adds basic __str__ for some models
*
* adds user/includes/contact_modal_button.html for calling contact data of a user
* adds user contact modal to intervention detail view
* adds translations
* adds overview of shared with users
* compensations won't be listed in index table if related intervention has been deleted
* adds functionality for intervention remove button
* adds outcommented code
* adds configurable redirect_url for RemoveModalForm's process_request method
* adds translation
* adds access checks depending on the current group confgiguration of a user
* removes buttons for adding/editing or removing data if default group is not set for a user
* removes buttons for adding/removing related data in unshared interventions
* removes shared-user setting from share menu of an intervention if user is not zb or ets
* renames has_access() from intervention Model into is_shared_with() for more clarity
* fixes bug in group check in_group() from utils.py
* removes auto-translating of setup data for database (keep english values in db and translate for templates)
* adds group checker decorator for adding a message informing about missing group privileges
* adds compensation detail view (WIP)
* adds includes dir for related objects, similar to interventions
* adds functionality for
   * adding/removing before_states
   * adding/removing after_states
   * adding/removing deadlines
   * adding/removing documents
* refactors usage of BaseModalForm
   * holds now process_request() in base class for generic usage anywhere
* adds __str__() method for some models
* compensation__action is blank=True now
* renamed tooltips
* adds new routes for state/deadline/document handling inside of compensation/urls.py
* adds precalculation of before/after_states for detail view, so users will see directly if there are missing states
* removes unnecessary link for intervention detail payment
* adds missing tooltips for check and record icon on detail views
* refactors DeadlineTypeEnum into DeadlineType in konova/models.py, just as the django 3.x documentation suggests for model enumerations
* UuidModel id field is not editable anymore in the admin interface
* adds/updates translations
* moves diff_states message back to table top for direct presentation in compensation/detail/view.html
* removes diff_states rendering in deadline card in compensation/detail/view.html
* fixes before_state adding based on GET parameter
* refactors UserActionlogEntryEnum into a UserAction TextChoice (Django 3.x)
* adds ordering of compensation states depending on surface value
* refactors ServerMessageImportance from enum into TextChoice (Django 3.x)
* adds/updates translations
* fixes group check on detail views
* adds check for required fields in BaseForm for showing required field hint or not in template
* adds compensation action to compensation detail view
* adds adding/removing logic for compensation action
* adds bootstrap style to select fields in forms
* refactors UnitEnum into UnitChoices using models.TextChoices (Django 3.x)
* adds translations
* fixes label and translation in a form
* removes CompensationControl model
* adds comment field to CompensationAction
* adds max length of 200 for comment fields in forms
* adds rendering of error messages in case of invalid form input
* adds/updates translations
* adds Revocation model to interventions/models.py
* adds revocations to interventions detail view
* fixes duplicated ids in html includes
* refactors controls for detail view into included template files (controls.html)
* reduces max length for payment transfer notes from 1000 to 200
* adds RevocationAdmin to intervention/admin.py
* adds new form for adding a Revocation to an intervention's legal_data
  * only one revocation per intervention possible
  * removes add button in case of an existing revocation
* adds revocation routes to intervention app
* renames document field in Document model into file for more clarity
* adds/updates translations
* fixes a bug in opening a document
* adds functionality for check button
* adds highlighting of important data on detail view for intervention
* adds deleting logic to BaseObject model and BaseResource model
* adds RunCheckForm
* adds check_validity() method to Intervention class
* fixes wrong success msg for adding documents
* adds/updates translations
* minor improvement
* adds modal_generic.html template for generic usage
* adds M2M field log to BaseObject
* adds show log button to controls.html
* adds logging on adding related objects
* adds render log table using generic modal
* adds tooltip to missing values in detail views
* adds/updates translations
* reduce compensation/views.py file size by splitting into three sub view files in compensation/views/xy_views.py for compensation, eco-account and payment
* restructure urlpattern list by splitting into three smaller lists for a better overview and maintainability
* renames eco_withdraws to withdraws
* adds EcoAccountTableFilter
* changes percentage withdraw to surface withdraw --> renames amount to surface
* updates EcoAccountTable
  * adds column for rendering rest of available account using a progress bar
* adds progressbar.html to konova/custom_widgets
* adds/updates translations
* adds detail view for eco account
* adds withdraw detail view to eco acount detail
* generalizes compensation/includes templates to be reusable for eco-accounts
* moves is_shared_with() check to class BaseObject
* adds/updates translations
* adds eco-account own includes for simpler maintainability instead of refactoring to generic includes for compensation app and predefining urls and stuff on the backend
* adds before-state, after-state, actions, deadlines, documents and withdraws to eco account detail view
* adds hint for invalid withdraw in intervention detail view in case of deleted eco account
* adds/updates translations
* adds functionality for withdraws from eco accounts in detail view of interventions and eco account as well
* adds get_surface() method to AbstractCompensation class to provide a simple getter for a sql calculation
* adds get_surface_withdraws() method to EcoAccount class to provide a simple getter for a sql calculation
* renames some routes to match coherent rout naming
* adds logic check on NewWithdrawForm
* renames templates/table directory to templates/form, since there are form-table templates inside --> more clarity
* adds new autocomplete routes to konova/urls.py for Interventions and EcoAccounts
* adds/updates translations
* adds/updates template comments
* updates requirements.txt
* refactors initializing and rendering of a map view into map/geom_form.html, which leads to simple includes on the detail views instead of redundant html
* refactors django-autocomplete-light form media links and scripts into dal/scripts.html, which can be included on the header blocks of detail views to support form modals using dal easier without the need for form.media
* changes filter behaviour on eco account index: instead of hiding recorded accounts (like in interventions), the filter option there has been replaced with "Show only unrecorded" which can be used to hide all recorded ones
   * background: eco accounts shall be visible when recorded, since they can only be used for withdrawing if they are recorded. Hiding the recorded ones does not make any sense, just like in interventions
* updates some code documentation
* adds/updates translations
* adds LANIS link getter to Intervention, Compensation and EcoAccount for creating a usable link to LANIS
* adds/updates translations
* adds record control button
* adds html markup for invalid withdraws (unrecorded account)
* adds constraint to is_valid() method of NewWithdrawForm for checking whether the selected account for a withdraw is recorded or not
* adds/updates translations
* adds dynamic icon for recording and unrecording of data
* adds record view to intervention and eco accounts
* adds quality_check() method for Intervention and EcoAccount class which holds logic for data quality checking
* adds UserAction "unrecorded"
* refactors eco account rest surface calculation into designated method get_available_rest()
* refactors placeholder setter for BaseForm
* adds automatic eco account identifier generating on saving
* fixes ServerMessageImportance template tag
* refactors identifier generating into BaseObject class
* adds/updates translations
* updates requirements.txt
* removes unused third party package from requirements.txt
* adds KonovaSSOClient as subclass of sso.Client for more control over login, e.g. which user data shall not be updated (found in konoa/sso/sso.py)
* adds Messenger class for communicating with SSO server (found in konova/utils/messenger.py)
* adds message for checking of intervention
* refactors sso message sending to handle an iterable of users
* adds specific method for sending object checking related messages
* adds label support for modal form for more simple clicking of checkboxes
* removes WIKI_URL, replaces with HELP_LINK since it was the same before as well
* refactors modal form processing (process_request())
   * modal form can now display errors directly inside the modal (as intended by the devs)
   * modals now properly support the GET-POST workflow that is intended by the devs. More information here: https://github.com/trco/django-bootstrap-modal-forms/issues/183
* Improves label-field linking in generic_table_form_body.html
* removes isDeleteForm attribute from modal_form_script.html
* adds table-responsive class to BaseClass
* adds html meta attributes for proper small device rendering
* adds new POST functionality in NewStateModalForm, which does not use the super classes process_request() method
* adds explaining comments on the is_ajax() call
* updates translations
* adds favicon
* adds Ema model (basically Compensation inherited)
* adds index view for EMAs
* fixes drop-down link bug for menu 'More' in navbar
* refactors some more forms to use process_request()
* adds modified attribute to BaseResource for easy last_modified check
* adds setting of modified attribute in all places where UserAction.EDITED is added to log
* adds EMA_ACCOUNT_IDENTIFIER_LENGTH and EMA_ACCOUNT_IDENTIFIER_TEMPLATE to ema/settings.py
* adds EmaAdmin to ema/admin.py
* fixes wrong title in intervention detail view html for revocations
* adds support for subtitle variable to BaseTable and generic_index.html
* drops next_version attribute from models
* adds/updates translations
* adds default ordering for UserActionLogEntry
   * removes extra ordering in log modal rendering
* fixes created timestamp in detail views where modified needs to be displayed
* adds fallback timestamp if data has not been edited, yet --> show created timestamp
* fixes bug where deleting of certain data didn't redirect to the index view
* adds quality_check() method for EMA, needed for recording
* adds all functions which are provided for compensations to EMA
* adds/updates translations
* adds EMA and eco account conservation office data to detail views
* adds EMA and eco account conservation office data to detail views
* adds line break in header of detail views
* adds/updates translations
* adds a test command for calculating the collision rate for e.g. an intervention (Not important for production or anything)
* refactors EmaTableFilter to inherit from EcoAccountFilter
* refactors messages for recording/unrecording of EMA
* adds/updates translations
* adds codelist app
* adds KonovaCodeList and KonovaCode model for fetching and storing OSIRIS Codelisten entries
* adds update_codelist command for updating and fetching codes
* adds autocomplete route for using codelists in forms
* integrates action code list to NewActionForm
* integrates biotope code list to NewStateForm
* adds dal scripts automatically on compensation view
* improves rendering of codes as string (short names will be used if existing)
* reduces selectable konova codes to leafs (as discussed with experts)
* automatically resizes the width of modal form fields to w-100
* adds/updates translations
* restructures urls into separate xy_urls files which are included inside of compensation/urls.py
* adds default ordering of Payment by .amount
* adds proper boolean mapping to update_codelist
* differs between id and atom_id for KonovaCode since atomIds are not unique (could change in the future)
* adds is_selectable and is_archived to KonovaCode
* scales width of DAL form fields to 100% width
* adds table-responsive wrapping container for table forms to prevent unwanted rendering artifacts in case of table resizing due to long content
* adds autocomplete routes for law, registration offices and conservation offices
Reviewed-on: SGD-Nord/konova#9
* adds payment-comment relation in NewPaymentForm
 * drops transfer note form field (may not be used anyway) and replace it with comment
 * adds/updates translations
Reviewed-on: SGD-Nord/konova#10
* makes revocation file upload optional
 * adds overview about revocations to intervention index
 * adds/updates translations
Reviewed-on: SGD-Nord/konova#11
* adds prefiltering of withdraws --> excludes withdraws of as deleted flagged interventions
* renders intervention-recorded icon into eco account withdraws details view
* fixes bug in case of document deleting which does not contain any files
* renames RecordForm into RecordModalForm for more clarity
Reviewed-on: SGD-Nord/konova#12
* keeps responsible data in compensation model for potential future purposes
* refactors registration_office and conservation_office to map onto KonovaCodes instead of own Organization model
* adds str_as_office property-method to KonovaCode to provide an easy way of rendering template data
* adds missing highlighting in case of missing information about registration office and conservation office
* keeps responsible data in compensation model for potential future purposes
* refactors registration_office and conservation_office to map onto KonovaCodes instead of own Organization model
* adds str_as_office property-method to KonovaCode to provide an easy way of rendering template data
* adds missing highlighting in case of missing information about registration office and conservation office
* extends KonovaCode command update_codelist.py for CODELIST_PROCESS_TYPE_ID
* adds preselectors for konova codes in models of CompensationAction, Law and CompensationState
Reviewed-on: SGD-Nord/konova#15
* refactors all files and variable names
* WIP: Models and attributes
* refactors Models and attributes
Reviewed-on: SGD-Nord/konova#16
* refactors documents and file upload to be distributed into different subfolders, depending on the type of document (InterventionDocument, RevocationDocument, ...)
* refactors Document model into AbstractDocument
* subclasses RevocationDocument, InterventionDocument, COmpensationDocument, EmaDocument and EcoAccountDocument from AbstractDocument to provide proper functionality for each
* adds new specialized routes for each new document type (opening, removing)
* drops generic get and remove routes for documents
* increases max_size for FileFields --> triggers when the file name will be automatically changed during upload
* adds Http404 Exception in case document file does not exist anymore on the hard drive
* removes folder if last InterventionDocument is removed from an intervention and no RevocationDocument exists as well
* removes 'revocation' folder if RevocationDocument is removed from an intervention and removes the whole intervention document folder as well, if no other documents for this intervention exist
* adds further documentation
* refactors getting of related documents into Intervention model
* removes document file folder if the last CompensationDocument is removed from a compensation
* removes document file folder if the last EcoAccountDocument is removed from an eco account
* removes document file folder if the last EmaDocument is removed from an Ema
* adds try-except for removing folders in case of non existence or changed folder names on the hard drive
Reviewed-on: SGD-Nord/konova#21
* reorganizes some settings position in konova/settings.py
* adds deductable_surface to EcoAccount model to provide an easy way to change the deductable amount from an account -> depends on external funding e.g. with AktionBlau or similar
* adds overview of deducted and deductable volume to detail view
* adds check to eco account model, so the deductable_surface can never be larger than the total amount of after_state surface sum
* adds german formating for python logic based number formating
* adds/updates translations
* adds constraint for setting the deductable_surface too low -> existing deductions would not be valid anymore
* adds/updates translations
* adds fundings field to AbstractCompensation model
* adds funded by to detail view templates of Compensation and EcoAccount
* adds/updates translations
Reviewed-on: SGD-Nord/konova#22
* refactors law field from ForeignKey to ManyToManyField to support multiple laws being added to one LegalData object
* added funding data to EMA detail view
* improves w-100 handling for ModalForms
* adds documentation strings
Reviewed-on: SGD-Nord/konova#23
* adds new collapsible styled form for new main data
* adds/updates translations
* adds saving functionality for new intervention form
* refactors new identifier generating, so a pre-generated identifier from a new element form will be checked again before saving
* adds css fixes for disturbing input field:focus bugs
* adds missing csrf token to new collapsible form
* adds/updates translations
* introduces mark_as_deleted as only marking instead of using delete() which will really delete from the db
* adds important package itsdangerous and changes psycopg2-binary
* refactors full width fields from BaseModalForm into BaseForm to have this nice little feature for regular forms as well!
* adds functionality for EditInterventionForm (WIP)
* fixes bug in case of unset dates for intervention
* adds missing template formater
* adds/updates translations
* refactors large forms.py into forms/modalForms.py and forms/forms.py
* refactors custom input fields into intervention/inputs.py
* removes unused OpenInterventionForm
* introduces bootstrap class form-control for proper html form input rendering
* fixes bug where missing shared users for an entry resulted in a None exception
* adds GenerateInput with template in generate-content-input.html, which provides a generate button for fetching server-side content
* adds/updates translations
* extends KonovaCode filtering for parent objects matching given input
* extends KonovaCode filtering for parent objects matching given input
* renames data_form into form for easier template render support
* simplifies empty geometry form initialization
* adds intervention comment to detail view
* adds NewCompensationForm content and functionality
* renames CODELIST_COMPENSATION_COMBINATION_ID into CODELIST_COMPENSATION_FUNDING_ID for more clarity
* reorganizes compensation forms into compensation/forms/forms.py and forms/modalForms.py
* adds new compensation html template in compensation/templates/compensation/new
* adds new default message template in message_templates.py: IDENTIFIER_REPLACED
* adds/updates translations
* adds creation of new compensation directly from intervention detail view
* adds comment rendering on compensation detail view (WIP)
* adds shared_access_required decorator
* adds/updates translations
* fixes bug where geometries have been created each time a SimpleGeomForm has been saved
* links edit button in detail view with edit functionality
* fixes minor comment rendering bug
* fixes bug where compensation changes won't save
* adds NewEcoAccountForm
* refactors NewCompensationForm into AbstractCompensationForm so main fields can be reused again
* fixes template bug in account detail view where the amount of deductions has been displayed instead of the available rest
* refactors _generate_new_identifier() into generate_new_identifier()
* refactors get_available_rest() into returning both, the total and relative amount
* improves saving of SimpleGeometryForm()
* adds/updates translations
* adds EditEcoAccountForm
* adds placeholders for some form fields
* changes comment card in detail view into rlp-grayish
* adds eco account detail view comment box
* removes unnecessary loading of dal scripts in view.html
* refactors generated identifier for data objects (10 digits to 6 uppercase letter-digit combination)
* improves generate_random_string() method by adding more options for generation of strings
* adds/updates translations
* fixes bug where modified was not changed on an edit of compensation and ecoaccount
* adds NewEmaForm and EditEmaForm
* refactors ResponsibilityData related form fields into reusable mixin CompensationResponsibleFormMixin
   * used in NewEcoAccountForm and NewEmaForm for easier maintaining and reducing amount of code
* refactors templates /xy/new/view.html into /xy/form/view.html since the same template file is used for new and edit forms
* refactors/renames folders and files for generic template rendering
* removes unused choiceColumnForm.html
* adds minor __str__() improvement
* adds/updates translations
Reviewed-on: SGD-Nord/konova#28
* removes unused organisation app from project
* removes null=True parameters for M2M fields in models
* adds calling of update_codelist.py to setup.py
* removes unused data in setup_data.py
Reviewed-on: SGD-Nord/konova#29
* renames intervention variable to obj to match other template style
* renames open routes to detail routes
* adds public report rendering for intervention model
* adds new routes for report
* adds new public_base.html and public_navbar.html
* adds lookup table for zoom levels for lanis link generating
* moves qr code generating into utils/generators.py
* adds/updates translation
* adds public report for compensations
* adds/updates translations
* prepares EMA and eco account reports
* prevents Actions column in tables from being rendered if there would be no buttons inside due to permission checking
* enhances amount of sql requests for detail view and report view
* adds fully functional EMA report
* adds/updates translations
* optimizes the db fetching for all index views and detail views
* introduces usage of managers.py in all necessary apps for wrapping basic fetch settings
* moves comment.html to comment_card.html under /konova/templates/konova/
* adds/updates translations
* fixes document typos
* drops comment rendering in public reports
* opens public reports in new tabs if button is clicked from the detail view
* adds/updates translations
Reviewed-on: SGD-Nord/konova#30
* introduces new app 'analysis' for annual report generating and future features
* adds new templates (WIP)
* adds new routes (WIP)
* adds new templatetag default_if_zero in ksp_filters.py
* adds/updates translations
* finishes compensation analysis report
* finishes intervention analysis report for cases before 16.06.2018 (LKompVzVo)
* WIP: EcoAccountReport
* adds deductable surface field into NewEcoAccountForm directly
* removes custom manager for LegalData and ResponsibilityData
* removes geographic=True from Geometry model
* adds index form for selecting timespan and office of interest
* adds timespan support for TimespanReport
* fixes naive datetime issues
* fixes missing error message css tag
* adds/updates translations
* enhances TimespanReportForm control rendering
* adds/updates translations
* adds first try for excel file downloading (WIP)
* Adds download as excel sheet
* improves db access performance
* Adds download as excel sheet
* adds excel_report.xlsx as template for excel sheet download
* improves db access performance
* enhancements for report2excel functionality
* improvements for report2html layout
+
* adds LegalData to EcoAccount to provide registration_date support ("agreement date") for old-data report generating
* adds/updates translations
Reviewed-on: SGD-Nord/konova#33
* refactors: attached files can only be downloaded by users with shared access
* adds hint on unshared data being unshared for compensation, ema, eco-account
* minor optical enhancement for user contact form
Reviewed-on: SGD-Nord/konova#34
* adds AbstractQualityChecker as base for all quality checker instances
* adds InterventionQualityChecker, inheriting from AbstractQualityChecker
* adds functionality to InterventionQualityChecker
* adds/updates translations
* moves geometry check logic to upper class
* adds quality check logic for Compensations with CompensationQUalityChecker
* adds compensation quality checking to checking routine of RunCheckModalForm.is_valid()
* adds/updates translations
* adds quality check logic for EcoAccount with EcoAccountQualityChecker
* adds/updates translations
* adds quality check logic for EMA with EmaQualityChecker
* refactors toggling of recorded status into RecordableMixin
* adds unchecking/unrecording of interventions in case of post-check|post-record editing
* adds check on recording of intervention in case of invalid compensations
Reviewed-on: SGD-Nord/konova#37
* fixes bug due to missing evaluation of compensation validity
* adds tests for views in intervention app
* fixes bugs detected by test writing
* refactors test logic into base test classes
* adds tests for views in konova app
* fixes bugs/warnings detected by testing
* refactors CheckableMixin and RecordableMixin into CheckableObject and RecordableObject
* adds ShareableObject for wrapping share related fields and functionality
* adds share functionality to EcoAccount and EMA, just like Intervention
* adds tests for compensations (WIP)
* refactors some dummy data generating into base test class
* fixes bugs detected by testing
* adds important requirements.txt change for itsdangerous package (<1.0.0 for compatibility to django-simple-sso)
* fixes bug where compensations still appeared on the public report despite being marked as deleted
* fixes bug where eco account could be deducted into a negative account balance
* adds EMA tests
* extends compensation tests
* fixes bugs detected by testing
* restructured tests for performance boost
* adds EMA test
* adds EcoAccount tests
* fixes bugs found by testing
* adds a useful custom command which exports a specific selectable codelist into a csv file
* moves dummy data creation from BaseViewTestCase into BaseTestCase
* adds new BaseWorkflowTestCase class for encapsulating
* adds new InterventionWorkflowTestCase class with first workflow tests
* adds workflow tests or deductions in InterventionWorkflowTestCase
* fixes bugs detected by testing
* adds workflow tests for checkability and recordability for interventions
* fixes/improves code snippets detected by testing
* adds workflow tests for compensation checking and recording
* improves related code
* adds workflow tests for eco account deduction creation
* refactors sharing user setting by introducing share_with(user) and share_with_list(user_list) for BaseObject for a more self-explanatory sharing
* adds workflow testing for geometries on new creation of intervention and compensation
*
* adds workflow edit testing for compensations
* restructures setup for workflow tests in interventions
Reviewed-on: SGD-Nord/konova#40
* removes fundings from all models, except the EMA model for migration compatibility (some old data may have fundings data)
* removes fundings from all models
Reviewed-on: SGD-Nord/konova#41
* implements 1) "Add titles to public reports, next to identifiers"
* implements 2) "Multiple revocations for interventions"
* implements 3) "Extend sharing on direct adding of users"
* implements 4) "Comment fields should be of unlimited size"
* implements 5) "Add 'Maßnahmentyp' for KOMs "
    * prepares model and form fields as mixins for easy extension to eco accounts and emas (possibly in the future?)
Reviewed-on: SGD-Nord/konova#42
* renames model ResponsibilityData into Responsibility
* renames model LegalData into Legal
* moves form->object saving logic into model
* refactors NewDocumentForm into special types for intervention, compensation, eco account and ema
*
* splits intervention/models.py into subpackage
* splits ema/models.py into subpackage
* splits konova/models.py into subpackage
* splits user/models.py into subpackage
* splits compensation/models.py into subpackage
* renames base objects by adding suffix Mixin
* create package from compensation/views
* create package from compensation/urls
* renames modules inside of compensation/urls and compensation/views
* drop SSO message sending for now from the logic
* moves adding of revocation into Intervention model
* moves adding of deduction into Intervention and EcoAccount model
* hardens against circular import issues
* moves updating of shared access users into Intervention
* moves updating of shared access users into ShareableObjectMixin
* renames ShareInterventionModalForm to ShareModalForm since it's used for EMA and eco accounts as well
* adds simple getter methods for UserActionLogEntry
* replaces manual creation of UserActionLogEntry with new methods
* moves add_state from compensation to AbstractCompensation
Reviewed-on: SGD-Nord/konova#43
* adds new sanitize_db.py command (WIP)
* improves performance
* adds sanity actions for compensation state and compensation action
* adds sanity check for deadlines and geometries
* refactors "toggling" of recorded/checked state
* introduces mark_as_edited() for RecordableObjectMixin
* refactors BaseForm request/user initialization
* introduces mark_as_edited() method for compensation models
Reviewed-on: SGD-Nord/konova#44
* adds file mime type check on NewDocumentForm
* adds file size check on NewDocumentForm
* adds is_xy_valid methods as classmethods on AbstractDocument
* adds translations for error messages
* updates help text on NewDocumentForm file field
* adds unit tests for new methods in konova/tests/test_documents.py
* refactors _accepted_mime_types of AbstractDocument into _valid_mime_types
Reviewed-on: SGD-Nord/konova#47
* changes the autocomplete route for user retrieving from _istartswith to full qualified check
* extends the help text for form to inform about full qualified username needed
* updates translation
* adds tests (WIP)
* finishes user autocomplete unit test
Reviewed-on: SGD-Nord/konova#51
* refactors geometry field into GeoReferencedMixin, holding more handy methods and used in all models, formerly holding the geometry field
* refactors backend admin configuration, so modified, deleted and created are not editable in the backend which also skips loading of all possible choices
* fixes typo in sanitize_db command
* introduces GeometryConflict model, holding a link between two geometries, where one overlaps the other
* adds first (WIP) messages into detail views of ema and intervention for test purposes
* removes unused messages
* adds geometry conflict message rendering for KOM and OEK
* removes unused methods in GeoReferencedMixin
* generalizes geometrical lookup for conflicts from overlaps to intersects
* adds test for geometry conflicts
* refactors rechecking of existing conflicts to avoid recursion in certain cases
* adds/updates translations
Reviewed-on: SGD-Nord/konova#52
* introduces new models: Parcel and District
* fixes bug in GeometryConflict conflict checking
* WIP: introduces new konova/utils/wfs/spatial holding SpatialWFSFetcher, which can be fed any geometry and it returns found features
* WIP: adds tests for wfs fetching
* updates requirements.txt
* refactors WFS fetching to proper POST handling
* adds authentication support to WFS handling
* reduces dummy geometry for tests to a small area to reduce test network traffic overhead
* implements update routine for Geometry model
* reorganizes fields of Parcel and District
* adds tests
* simplifies usage of ParcelWFSFetcher
* extends sanitize db command to remove unrelated parcels and district from the database
* fixes bug where single parcel wfs match would lead to unexpected behaviour
* adds admin interface for parcels and districts
* adds updating of parcels in case of SimpleGeomForm saving
* adds update_all_parcels command which can be used e.g. with cronjob once a month to update all parcels and districts
* adds rendering for detail view
* adds new includable html snippet for parcel rendering
* refactors generic includables in konova/ app into konova/templates/includes/...
* fixes bug where parcels have been reused from the database due to wrong model structure
* adds get_underlying_parcels() for Geometry model
* adds get_underlying_parcels() for GeoReferencedMixin models
* fixes bug where missing geometry would lead to an error during geometry conflict check
* removes unused wfs attribute from AbstractWFSFetcher
* adds/updates translations
* adds parcel displaying on public reports
* fixes bug in EMA where autocomplete js would not load for modal forms
* fixes bug where BaseContext cached data from last request and reused it, if not overwritten
* improves the filtering of annual report timespan on a date base instead of timestamp base
Reviewed-on: SGD-Nord/konova#56
* adds celery to project
* adds celery background task for updating parcels
* adds parcel calculation to creating of new geometries as well
* tests outstanding!!!
Reviewed-on: SGD-Nord/konova#58
* refactors default autocomplete into grouped autocompletes, if parents exist for grouping
* updates requirement for django-autocomplete-light due to an issue with an attribute in pip's default version 3.8.2. More info here: https://github.com/yourlabs/django-autocomplete-light/issues/1278
Reviewed-on: SGD-Nord/konova#59
* removes deduction shortcut
* adds missing quality checks on intervention deduction accounts validity
* fixes error if checked intervention shall be checked again
* adds/updates translations
Reviewed-on: SGD-Nord/konova#60
* adds docker related configurations
* directly working configuration provided
* adds further settings to create a production-ready docker configuration
* minor adjustments
* refactors table filters by introducing AbstractTableFilter, GeoReferencedTableFilterMixin, ShareableTableFilterMixin and RecordableTableFilterMixin
* adds full filter functionality
* refactors TableFilter inheritances for all objects
* optimizes minor parts of table-filter initialization and queryset passing
* refactors XYTableFilter classes to hold query_filter and checkbox_filter which are separate instances of django_filter.FilterSets
* improves render ability for frontend
* finished filter frontend
* adds filtering for file number
* updates translations
* adds filters for registration and conservation offices
* adds SelectionTableFilter as new holder for these types of filter components
* reorganizes code
* enhances rendering of tables
* enhances rendering of filter section
* reorganizes table filter codes into konova/filters/ folder and splits into mixins and table_filters
* adds specialized SelectionTableFilter for EcoAccount (and EMA) which only provides filtering by conservation office
Reviewed-on: SGD-Nord/konova#64
* refactors django User model to custom User model to provide further attributes and methods directly on the user model
* adds mail support for revoking shared access
* adds/updates translations
* moves mail sending to background using celery
* moves mail sending to celery worker using shared_task in konova/tasks.py
* adds mail sending for shared access given
* adds UserNotification settings checks for mail sending
* adds/updates translations
* adds mail sending in case of unrecording and recording of data
* adds/updates translations
* adds mail sending if shared data is deleted
* adds/updates translations
* refactors recording mails into separate email template folder email/recording
* drops NOTIFY_ON_REGISTERED_DATA_EDITED in favor of NOTIFY_ON_SHARED_DATA_CHECKED
* adds/updates translations
* adds mail sending if shared data is checked
* adds/updates translations
Reviewed-on: SGD-Nord/konova#65
* adds custom 404 and 500 error handling views
* adds/updates translations
Reviewed-on: SGD-Nord/konova#66
* removes (non-functional) buttons in frontend
Reviewed-on: SGD-Nord/konova#68
* adds workaround in case of received WFS exception -> routine waits 1 second and tries to rerun for another time. If this does fail as well, the routine will end without a result
* adds mailto shortcut to contact button in footer for a quick fix
Reviewed-on: SGD-Nord/konova#69
* adds docker related configurations
* directly working configuration provided
* adds further settings to create a production-ready docker configuration
* minor adjustments
* adds named volume to docker-compose.yml to keep files uploaded on /konova_uploaded_files even on image rebuild
# Conflicts:
#	docker-compose.yml
* fixes bug where background mail delivery did not start
* optimizes configuration
* removes unused settings
* extends README.md with docker installation guid
* fixes typo
* adds more info
* extends KonovaSSOClient for providing support of propagated user data from sso-server. For longterm, we hope to have this feature directly on django-simple-sso. Further details can be found here: https://github.com/divio/django-simple-sso/issues/67
Reviewed-on: SGD-Nord/konova#76
Reviewed-on: SGD-Nord/konova#77
* fixes bug where report creation would fail
Reviewed-on: SGD-Nord/konova#78
* fixes bug where under certain circumstances the parcel updating would fail
Reviewed-on: SGD-Nord/konova#79
* adds license info de and en
Reviewed-on: SGD-Nord/konova#80
* minor enhancement for online rendering
* adds content related tab title
* adds/updates translations
* adds tab titles for compensations
* adds/updates translations
* optimizes identifier generating, so that one-digit months will be converted into two digits
* adds tab titles for eco account
* adds/updates translations
* adds ema tab titles
* adds/updates translations
* adds tab titles for some other pages
* adds/updates translations
Reviewed-on: SGD-Nord/konova#81
Reviewed-on: SGD-Nord/konova#82
* adds abstract is_ready_for_publish method to PublishableObjectMixin which needs to be implemented in subclasses
* adds implementation for intervention model
* adds publishable check to rendering report view
* adds/updates translations
* adds is_ready_for_publish implementation for EMA
* adds implementation for is_ready_for_publish() on compensation (uses intervention's implementation) and EcoAccount
* adds fake-inherited is_ready_for_publish() method to compensation model (not derived from RecordableObjectMixin) to equalize usage of is_ready_for_publish() usage for all data types (compensation can be checked the same way as intervention, ecoaccount or ema)
Reviewed-on: SGD-Nord/konova#84
Reviewed-on: SGD-Nord/konova#85
* adds new app to project
* adds relation between User model and new APIUserToken model
* adds first implementation for GET of intervention
* adds basic code layout for future extension by having new versions
* adds token checking to AbstractModelAPIView
* adds user accessibility filtering for intervention API v1
* extends fetch_and_serialize() method to take a dict for db filtering instead of a single field and value
* organizes urlnames into supporting formats like "api:v1:intervention"
* enhances intervention fetching and serialization
* adds compensation fetching for API v1
* refactors filter into predefined lookup dict of super class (needs to be customized on subclasses)
* outsources json creation of modified_on an created_on to superclass
* adds API support for fetching ecoaccount data
* adds API support for fetching EMA
* cleans code
* reworks many code fragments into smaller methods and split into super class
* reorganizes code into proper api/utils/serializer subclasses to keep serialization logic away from regular view logic
* adds support for proper POST of intervention
* makes /<id> optional (required for Post)
* adds check for deserializing of konova codes
* splits code in smaller, reusable methods
* adds put method to view
* adds update_model_from_json() method
* cleans code
* reworks many code fragments into smaller methods and split into super class
* adds support for POST of new compensations
* adds shared_users property to BaseObject and Compensation to simplify fetching of shared users (Compensation inherits from intervention)
* extends compensation admin index
* modifies compensation manager which led to invisibility of deleted entries in the admin backend
* fixes bug in sanitize_db.py where CREATED useractions would be removed if they are not found on any log but still are used on the .created attribute of the objects
* adds initialize_objects to an abstractmethod of the super class to be implemented in subclasses
* differentiates error messages if intervention does not exist or is just not shared with the user
* adds documentations
* adds check for valid deadline type
* splits large AbstractModelAPISerializer into different reusable Mixins to increase reusability of code for similar models
* adds support for PUT compensation (Update)
* improves updating of related objects
* adds missing payment PUT support for intervention API
* adds support for returning all shared data
* adds documentation
* adds support for PUT and POST of Ema
* moves set_responsibility() and set_legal() from Intervention API Serializer into proper Mixins where they belong to
* adds support for PUT and POST of EcoAccount API
* adds support for GET /check on intervention to run checks automatically via API
* adds support for GET and PUT of sharing users for all data types (compensation is shared via intervention)
* adds frontend settings for users to create API tokens on their user settings
* sends an email to the support address if a new token has been generated
* writes test for sharing using the API
* fixes bug on frontend form where an exception occured on generating a new API token if no token existed, yet
* adds permission constraint (default group) for using the api in general
* fixes default-group-only behaviour for sharing-API, so users can only add new users and not removing them, as long as they do not have any other group membership like registration or conservation office
* changes 'ksptoken' to 'Ksptoken' to match CGI standard for http header keys
* moves setupTestData in BaseAPITestCase class
* adds creation tests with minimum data for intervention, compensation, ema and ecoaccount
* fixes bug where empty geometry would not be created properly using the API
* reworks key fetching from POST data, so inproperly stated keys will lead to an error for the API user, instead of silently working and use default data
* adds some logical checks for deductable_surface of eco account creation using api
* fixes bug that would have occured on creating compensations via api
* adds support for DELETE method for all relevant objects
* improves get_obj_from_db functionality
* drops custom compensation logic for get_obj_from_db due to improvement of base method
* adds tests for DELETE method of all major data types
* reworks most internal API methods for de/serializing from public to protected visibility
* moves test_api_sharing.py into /share subfolder of tests
* adds tests for api GET method
* fixes bug where non existing geometry could not be serialized properly
* adds tests for PUT method in api
* adds GET/POST/PUT/DELETE support for EcoAccountDeductions
* adds intervention check state reset to all deduction-changing API routes
* adds tests for deduction API
* adds Kspuser as another expected header data to resolve the api user
* adds/updates translations
Reviewed-on: SGD-Nord/konova#90
# Conflicts:
#	konova/sub_settings/django_settings.py
* fixes bug where errors occured once an email shall be sent. See issue #87 for details
* adds bootstrap class to prevent link style rendering
* reorganizes templates for home view into separate quickstart templates
Reviewed-on: SGD-Nord/konova#92
* fixes bug where recorded state of eco account has been reset, if a deduction is created from the detail view of the ecoaccount itself
Reviewed-on: SGD-Nord/konova#94
* adds codelist 975 to project
* adds new form field for adding extra biotope information
* adds additional biotope konovaCodes to CompensationState model
* increases rpp for Autocompletion
* adds/updates translations
* extends the detail view templates for all compensation related models to render extra CompensationState details as well
* reduces number of landing page news from 4 to 3
* improves .card-text in favor of .scroll-150
* improves .card font size
* adds codelist 1035 for compensation action detail codes
* extends CompensationAction model
* extends NewActionForm
* extends detail view of compensation action related models
* add/updates translations
* adds autocomplete tests
* extends the API to support serializing and deserializing of action_details and biotope_details
* renames biotope_extra_types into biotope_type_details on CompensationState model for convenience reasons and to match CompensationAction's action_type_details
Reviewed-on: SGD-Nord/konova#96
* splits konova/settings.py file into more separate setting files in konova/sub_settings/
* configures server errors sending via mail
   * default for now is always 'ksp-servicestelle'
* includes improvements from #97
Reviewed-on: SGD-Nord/konova#98
* removes admin backend views which are not important for production
* adds filtering functionalities on index views
* simplifies detail views on intervention, compensation, ecoaccount and ema
* adds autocomplete fields on detail views
* adds handy horizontal filter fields on detail views
Reviewed-on: SGD-Nord/konova#102
initial migrations commit
* adds migration support for detail fields on CompensationState and CompensationAction
Reviewed-on: SGD-Nord/konova#103
* adds direct jump of viewport on related-data action (create/delete)
* adds direct jump of viewport on related-data action (create/delete)
* adds comment field to log.html as 'details'
* adds direct jump of viewport on related-data action (create/delete)
* removes comment field length limit
* adds improvements for rendering large comments
* moves message rendering directly below navigation menu for a more closed look
* reworks message rendering on before_states and after_states for all compensation related datatypes
* reworks layout of action column on all related data card tables
* resizes certain attribute layouts on related data card tables
* reworks layout of details on CompensationState and CompensationAction rendering from own column into subgrouped placement of main type info
* drops align-middle placement for all related data card table contents
* simplifies rendering of detail attributes for CompensationState and CompensationAction -> takes up less space
* adds support for payment adding/deleting to intervention log
* adds support for deduction adding/deleting to intervention/ecoaccount log
* improves code snippets
* drops add_deduction() methods for ecoaccount and intervention in favor of simpler creation in NewDeductionModalForm
* adds messages
* adds/updates translations
* improves css on select2 width, which lead to strange viewport sizing on creation of new major datasets
* reworks user logs for adding/removing revocations with more detail on log history
* enhances css to display neat shadow on select2-results
* adds log details for adding/removing of compensations for intervention
* adds handy restore-deleted function for admin backend for alls BaseObject derivatives
* adds/updates translations
* adds more log details on adding/removing documents
* fixes bug in admin backend where restoring of non-compensation entries led to an error
* fixes bug where deleting of revocation without an attached file would lead to an error
* improves minor things like display related breakpoints for certain html elements
* improves css for select2 for better group-result distinction
# Conflicts:
#	konova/settings.py
#	konova/sub_settings/django_settings.py
Reviewed-on: SGD-Nord/konova#106
This reverts commit 49aba49406.
* fixes bug
Reviewed-on: SGD-Nord/konova#109
* adds log detail support for compensation state and action
* adds log entries if deadline is removed
* restructures compensation/tests into subtests for ecoaccount and compensation
* adds tests for ema workflow
* improved test data setup
* adds ecoaccount workflow tests
* adds tests for intervention workflow
* restructures removing of related data into separate sub-delete forms for easier logic handling
* adds more view tests to intervention tests
* renames new remove modal forms to match a more coherent style
* adds object titles to email sending
* drops revocation column in favour of a parcel district column
* renders revocation warning on the index view if a revocation exists
* adds parcel district column for all major data objects
* adds warning about intervention-revocation on index view of compensations
* adds warning about intervention-revocation on detail view of related compensations
* adds support for title lookup on EcoAccounts
* adds support for title lookup on Interventions
* adds support for email lookup on User
* simplifies creation of LANIS link by refactoring into super class
* improves the way parcel-geometry relations are stored on the DB
    * instead of a numerical sequence we switched to UUID, so no sequence will run out at anytime (new model: ParcelIntersection)
    * instead of dropping all M2M relations between parcel and geometry on each calculation, we keep the ones that still exist, drop the ones that do not exist and add new ones (if new ones exist)
* simplifies the fetching of districts for district column
* adds button for payment editing
* adds new edit form payment editing
* adds tests for views and workflow
* adds support for editing deductions
* adds tests
* improves major base test logic
* adds support for revocation edit
    * revocation document files will be replaced on an edit
* adds support for editing of documents
* adds buttons for intervention
* adds buttons and urls for ema
* adds support for editing of documents
* adds buttons and urls for compensation
* simplifies getter for all documents
* adds support for editing of documents
* adds buttons and urls for ecoaccount
* adds support for editing of states
* adds buttons and urls for compensation
* adds support for editing of states for EMA and EcoAccount
* adds buttons and urls
* adds support for editing of CompensationAction
* adds buttons and urls for EMA
* adds support for editing of CompensationAction for compensation
* adds buttons and urls
* extends view tests
* adds support for editing of EMA deadlines
* adds buttons and urls
* adds support for editing of deadlines
* adds buttons and urls
* adds w-10 as base css-class for all action columns
* adds support for editing of deadlines in EcoAccount
* adds buttons and urls
Reviewed-on: SGD-Nord/konova#111
* updates translations
* adds codelist 654 to settings
* adds codelist to update_codelist command
* changes action_type from ForeignKey into M2M
* adds migration
* changes form widget
* WIP: changes rendering on detail view of compensation
* TEST NOT CHECKED YET!
* fixes bug in migration
* adds check to migration which raises error before data loss might happen
Reviewed-on: SGD-Nord/konova#113
* implements generic HTML based and Django compatible TreeView
* enhances listing of CompensationActions on DetailView
* minor changes to detail view rendering of EMA, Compensation and EcoAccount
* updates the help_text for action_type on NewActionModalForm to give a better explanation
* adds visual support on (de-)selecting checkboxes
* adds same support on initialization of checked checkboxes e.g. on edit forms
* adds search input field for js-filtering by input
* enhances filtering for Autocomplete -> parent_parent will be searched for match as well
* adds rendering of parent_parent group for BiotopeAutocomplete
* enhances ordering of registration office autocomplete
* enhances ordering for action details and biotope details
* adds case insensitive search for TreeWidget
Reviewed-on: SGD-Nord/konova#115
Reviewed-on: SGD-Nord/konova#116
* removes list 974 from update_codelist.py command
* adds migration for existing biotope states to be changed into proper list
Reviewed-on: SGD-Nord/konova#117
* adds support for multiple action_type entries on one CompensationAction
* adds pagination and related parameters to GET apis
* updates api GET test
Reviewed-on: SGD-Nord/konova#119
* enables deducting from unshared eco accounts
   * account must be recorded and not deleted, so users can use it for deductions
Reviewed-on: SGD-Nord/konova#120
* adds first implementation for team managing
* visual enhancement for team index rendering
* adds validity check for admin-membership of a team
* adds form for sharing via team
* adds a migration which has not been checked in from another branch
* adds team sharing field to share form
* splits sharing logic into user based and teams based
* adds TeamAdmin for admin backend
* adds validity check on Team name -> only unused names shall be valid
* adds tests for team sharing
* extends the API for team sharing support
* adds shared_teams property shortcut for ShareableObjectMixin
* adds full support for team-based sharing to all views and functions
* simplifies ShareModalForm
* adds/updates translations
* adds overview of shared teams on object detail view
* adds team data view if button is clicked
* adds migration files for ShareableObject data models
* adds mail templates for shared data actions
* fixes bug where deleted compensations would be used for checking
Reviewed-on: SGD-Nord/konova#122
Reviewed-on: SGD-Nord/konova#123
* fixes bug where new teams button would not open modal form
Reviewed-on: SGD-Nord/konova#124
* changes form titles for all new EditForms
* removes handler from report rendering
Reviewed-on: SGD-Nord/konova#127
* improves filtering by gmrkng and krs
* implements deferred loading of parcels on spatial referenced data objects
* adds HTMX to project
* improves detail view layout (mainly interesting for smaller displays/mobile)
* visual enhancement for spatial reference rendering
* adds test for htmx-parcel fetching
Reviewed-on: SGD-Nord/konova#128
Reviewed-on: SGD-Nord/konova#130
* adds handler code list usage to forms and models
* updates tests
* extends API for handler code handling
* renames handler code list
* improves missing handler data rendering on detail view
Reviewed-on: SGD-Nord/konova#133
Reviewed-on: SGD-Nord/konova#134
* adds incomplete WIP implementation of an EGON exporter
* enhances EGON exporter code structure
* drops docker worker process in favor of background celery worker on main process
* changes uploaded files folder into host-based folder
* finishes egon compatible (tested) data export
* moves egon export into celery process
* adds export of data in case of intervention recording
* adds _RABBITMQ_ settings for intervention/settings.py
* adds new dependency for requirements.txt
Reviewed-on: SGD-Nord/konova#135
Reviewed-on: SGD-Nord/konova#136
* adds netgis map client to all detail and report views
* adds netgis map client to new object forms
* WIP: needs functionality server-client
* minor changes for dev purposes
* improves frontend layout to display more details on district, municipal and parce group
* improves ordering of parcels
* refactors parcel related models
* improves parcel fetching
* extends and simplifies sanitize_db parcel related code
* improves frontend filtering for district, municipal, ..., so keys can be used for a lookup as well
* updates doc
Reviewed-on: SGD-Nord/konova#141
* fixes bug where created timestamp has been displayed on modified attribute on detail views
* enhances localized date and datetime rendering
* reorders sub menus in user's profile hub
Reviewed-on: SGD-Nord/konova#143
* fixes bug in egon_export.py where missing payment date would result in non writing of gml
* fixes bug in egon_export.py which occured due to extension of parcel data fetching
* updates unavailable.html report content, such that users will understand why a recorded entry might not be visible, yet
Reviewed-on: SGD-Nord/konova#145
Reviewed-on: SGD-Nord/konova#147
* extends admin backend
    * adds found_in_codelists to KonovaCodeAdmin to see where a KonovaCode can be found in
    * improves rendering of after_states and before_states for all AbstractCompensationAdmins
    * adds geometry_id to all major datatype admin backends
    * adds st_area like calculation to geometry admin backend
* update_all_parcels
    * orders geometries by size (small to big) to process smaller geometries first and bigger later
    * adds more output to command for a better overview of what is just going on
* set default rpp for overview tables from 5 to 10
* improves loading speed of parcel table
* fixes bug where editable icon on overview table would not glow if user has only team based shared access
* refactors QR codes on report views to be clickable as well (even supported through saved pdf)
* adds button and functionality for leaving a team
   * if the admin leaves the team, another user will be chosen as new admin automatically
* improves Team (django) admin backend
   * better control over user adding-removing
   * only added team members are selectable as admin
* adds automatic unsharing with default-only users if entry is recorded
Reviewed-on: SGD-Nord/konova#150
* adds new modal form content template recorded_no_edit.html
* adds modal content change, such that no data can be edited on any form as long as the entry is recorded -> instead, users are informed on the form, that the recording state prohibits editing
* adds translations
* fixes InterventionAutocomplete bug, where team-shared entries would not pop up as valid option
* fixes bug where form opening for new compensation without direct intervention link resulted in 404
* adds intervention-recorded check on deduction forms: Form is invalid if intervention is currently recorded and therefore blocked for any editing
* extends basic check_for_recorded_instance() method to let some forms pass, e.g. deduction related forms on ecoaccounts which only have a reason to be rendered IF the entry is recorded
* adds/updates translations
* adds workflow tests for major datatypes
Reviewed-on: SGD-Nord/konova#152
* adds first working draft of netgis map client
* adds functionality for address search widget
    * drops default proxy.php (replaced by own python call)
* reduces maxZoom in config.json
* adds geom back writing to form field in case of invalid geometry, so the invalid geometry will be shown again
* updates tests
* fixes bug where race condition of celery workers could lead to duplicates in parcels (needs migration)
* adds geometry validity checks for SimpleGeomForm is_valid()
    * shows validity problems on the form if a feature is invalid
* optimizes merging of different features into one MultiPolygon
* further enhances tests
* adds as_feature_collection() method on Geometry model for converting geom MultiPolygon attribute into FeatureCollection json holding each polygon as an own feature -> makes each polygon selectable in new netgis map client
* adds some layers and reorganizes config.json for NETGIS client
* refactors parcel table into a dynamic table, which does not show all content at once but rather supports pagination and a button which triggers loading of more content
* adds translation
* refactors button for further loading to infinite scroll
* adds code documentation
Reviewed-on: SGD-Nord/konova#153
* changes trigger for sending data to EGON: on each new payment, edited payment or deleted payment action, the data will be sent to EGON instead only once on "recording"
Reviewed-on: SGD-Nord/konova#154
* adds EGON message triggering on API payment changes
* hardens atom_id input to be integer or string compatible
* reduce containers into a single one, holding nginx + celery + redis all at once
* reduces all needed containers into a single one
* simplifies initial startup command by adding docker-entrypoint.sh
* optimizes image build dependency
* increases gunicorn default number of workers
* refactors fetching of parcels via wfs from xml to json for easier and faster processing
Reviewed-on: SGD-Nord/konova#157
Reviewed-on: SGD-Nord/konova#155
Reviewed-on: SGD-Nord/konova#159
* adds proper css behaviour for collapsed icon
* adds minor js comments
* adds optional short_name rendering for selectable codes
* refactors autocomplete field for compensation state into custom js tree widget
* adds single select (radio) alternative to tree widget templates
* simplifies js for single-select radio tree
* extends compensation state forms to match the new logic
* adds minor changes for tests
Reviewed-on: SGD-Nord/konova#161
* adds number of all underlying parcels into parcel table
* reworks minor code parts of parcel related logic
* fixes bug where under certain circumstances a parcel would have been added twice to a geometry
* removes unused parcel fetching on intervention detail view
* fixes minor bug where invalid geometry (self intersecting) could not be used properly as input for WFS parcel intersection calculation
    * future enhancements regarding map client will make sure invalid geometries can not be added in the first place
* implements new build for netgis map client
Reviewed-on: SGD-Nord/konova#162
* retranslates Bestandskraftdatum
Reviewed-on: SGD-Nord/konova#165
* updates netgis map client to most recent version
* removes trigger delay on clicking events
* adds further customization options to config.json
* adds more layers and subfolders to the layer tree
* changes colours for tools
# Conflicts:
#	konova/models/geometry.py
#	konova/urls.py
#	locale/de/LC_MESSAGES/django.mo
#	locale/de/LC_MESSAGES/django.po
Reviewed-on: SGD-Nord/konova#166
* fixes bug where empty geometry would have lead to exception during is_valid check on SimpleGeomForm
Reviewed-on: SGD-Nord/konova#167
* adds a second star icon on currently unchecked but previously checked entries
   --> can be detected easier for another check run
* simplifies some related code parts
* moves some translation string into message_templates.py
* enables session timeout after 60 minutes
* improves comment card layout sizing
* adds/updates translations
Reviewed-on: SGD-Nord/konova#168
* adds admin column on team index view
* refactors Team model, so multiple members can become admins
* adds team migration for switch from fkey->m2m structure
* renames 'Group' to 'Permission' on user index view to avoid confusion between 'Groups' and Teams
* adds new autocomplete route for team-admin selection based on already selected members of the TeamForm
* 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
* adds tests for user app
* removes unused code snippets
Reviewed-on: SGD-Nord/konova#170
* fixes bug where entries would show up on index views as they would be shared (are shared but using a 'deleted' Team, which still exists on the db)
* adds model and form mixin for PIK
* integrates mixins for compensation, ema and ecoaccount
* adds migration files
* extends API
* extends API test data
* adds is_xy fields to compensation, ema and ecoaccount reports
* adds is_pik information to detail views
* adds/updates translations
Reviewed-on: SGD-Nord/konova#171
* 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
Reviewed-on: SGD-Nord/konova#172
Reviewed-on: SGD-Nord/konova#173
Reviewed-on: SGD-Nord/konova#174
* fixes bug where amount of used laws in intervention forms would not be calculated properly
Reviewed-on: SGD-Nord/konova#176
* adds report form field help texts
* adds translations
* rearranges the column order so 'Total' will always be the first column
* adds help text for recorded deduction section
* fixes bug on excel download
* adds new order of columns to excel template for report download
* enhances subtitle for old data entries on timespanreport template
* enhances layout title section layout on overview template
* adds impressum link to footer
Reviewed-on: SGD-Nord/konova#178
* implements hidden visibility of shared users on non-shared entries
Reviewed-on: SGD-Nord/konova#181
* adds two new migrations for transforming existing geometries into the default SRID
* updates tests for SRID migration
Reviewed-on: SGD-Nord/konova#183
This reverts commit 8c47c8ae35, reversing
changes made to 2206565673.

Undos accidental remote merge
* fixes bug where unauthorized clients would not load a geometries parcel view properly
* minor general templates enhancements
Reviewed-on: SGD-Nord/konova#186
* 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
Reviewed-on: SGD-Nord/konova#194
* adds new notification setting to user settings form
* adds translations
* adds initial creating of ENUM on setup command
* adds mail sending logic for new notification setting
* adds new templates for user and team based sending
* enhances all email template layout
* adds translations
* updates translation
Reviewed-on: SGD-Nord/konova#195
* adds more detailed situation check on check_for_recorded_instance()
Reviewed-on: SGD-Nord/konova#196
* adds new model and mixin
* adds new functionality for Mailer class for sending resubmission mails
* adds control button for Intervention, Compensation, Ema and EcoAccount for setting a resubmission on an entry
* adds new command to be used with cron for periodic checkin of resubmissions
* updates translations
* 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
Reviewed-on: SGD-Nord/konova#198
* splits compensation/forms.py and /modalForms.py into individual files inside new packages
    * general forms stay in new files in compensation/forms
    * modal forms stay in new files in compensation/forms/modals
* 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/...
* refactors user/forms.py by splitting into modals package and regular forms
    * regular forms can now be found at user/forms/user.py and user/forms/team.py
    * modal forms can now be found at user/forms/modals/...
* splits compensation tables.py into individual files for compensation table and eco account table
* refactors konova/mixins.py into individual files in konova/mixins/...
* refactors konova/autocompletes.py by splitting into individual files and moving them to fitting apps
     * autocomplete files now live in APPNAME/autocomplete/...
* splits filters.py of compensation and ema app into separate files in new /filters module
* optimizes entry search for multi keyword input
* splits intervention/views.py (+700 lines) into separate files in new module
    * view files can now be found in /intervention/views/...
* splits ema/views.py (+700 lines) into separate files in new module
    * view files can now be found in /ema/views/...
* splits compensation/views/compensation.py (+700 lines) into separate files in new module
    * view files can now be found in /compensation/views/compensation/...
* 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
* adds AbstractResubmissionView to konova app
    * implemented for all major data types
    * replaces function based views
* adds AbstractRecordView to konova/views/record.py
    * implements for all major data types
* replaces function based views for creating, editing, removing and fetching documents with class based views
    * implemented for all major data types
* replaces function based views for deadlines with class based views
* replaces ema deadline views with class based
* replaces function based state views with class based
* replaces function based action views with class based
* 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/...
* replaces function based share views with class based
* improves team-share autocomplete search
* renames internal share url names
Reviewed-on: SGD-Nord/konova#200
* adds new login_required_modal decorator
    * can be used before regular login_required decorator to return a proper session-timed-out message
Reviewed-on: SGD-Nord/konova#201
* adds new version to sources
* fixes bug where initial geometry has not been rendered on client loading
* needs to be replaced asap by a proper bugfix from the original devs
Reviewed-on: SGD-Nord/konova#203
* wraps check_for_conflicts() in celery based method
* fixes bug on InterventionEditForm where geometry's save() has been called twice
Reviewed-on: SGD-Nord/konova#204
* fixes a bug where neighbouring parcels would be detected using Intersection operation as well
Reviewed-on: SGD-Nord/konova#206
* fixes bug where API stored data would not have parcels be calculated correctly
Reviewed-on: SGD-Nord/konova#209
* 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
Reviewed-on: SGD-Nord/konova#211
* handles error response for non existing atomID properly according to isse #208
Reviewed-on: SGD-Nord/konova#212
* fixes address search results placement in scrollable context
* fixes import issues for gml and geojson
* updates basic configuration for map layers
Reviewed-on: SGD-Nord/konova#214
* updates map client to most recent code
* fixes bug on as_feature_collection which led to problems on initial loading in map
Reviewed-on: SGD-Nord/konova#216
* fixes error 500 in case of ordering by availability
* adds db based table ordering for EcoAccountTable
Reviewed-on: SGD-Nord/konova#218
* 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
* adds a warning on removing an eco account if there are still deductions
    * this way a user needs to get rid of these deductions first
* adds further checks on EcoAccount tests for proper updating of new deductable_rest attribute
Reviewed-on: SGD-Nord/konova#220
* 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
* introduces "..." as new icon for missing geometry entries
    * moves former explanatory message into title attribute for mouse hover activation
* removes map settings button, since there is no implementation and it is unclear, whether this will ever become a real feature
* changes the help link to match the new starter help page
* 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!
* 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
* improves rendering of missing geometry icons on table
* fixes bug where count of shared entries on landing page would ignore team-shared entries
* restore prior editable column icon rendering
Reviewed-on: SGD-Nord/konova#223
* fixes bug in excel report creation
* fixes order in laws of generated excel sheet
* adds new 'generate_report' command
   * generates TimeSpanReports for given conservation offices
   * zips reports into archive
   * sents archive to ADMINS mails
* filters team members by notification settings before sending team mails
Reviewed-on: SGD-Nord/konova#226
* should fix report geometry cast problem in cases where MultiPolygon(srid=4326) is taken as default
* changes parcel related filter fields from CharField to NumberField to avoid unexpected behaviour on non-numerical input
* changes mandatory state of users and teams on admin backend to optional (as expected by the model)
* adds team selection to admin backend
* fixes non rendering of shared users on shared data
* adds error message on intervention view if a payment has been added but no document has been uploaded yet
* adds same check to quality checker, meaning no intervention can be recorded which has a payment but no document
* adds trigger for sending data to egon on uploading a document in case of an already existing payment
* adds translations
Reviewed-on: SGD-Nord/konova#233
* adds correct declaration of unit (qm -> m2) for template rendering
* adds migration to transform existing qm units to m2
* adds clamping of 3D geometries to 2D geometries if uploaded using the map importer
* extends tests for payment-document linkage
* fixes bug in team-admin selection where autocomplete could not be resolved properly
Reviewed-on: SGD-Nord/konova#235
* EGON expects the payment amount to be a localized string instead of float
    * adds transformation for this
Reviewed-on: SGD-Nord/konova#237
* adds casting from Decimal() to primitive float for proper calculation
* changes LANIS link to new layer declaration
Reviewed-on: SGD-Nord/konova#239
Reviewed-on: SGD-Nord/konova#240
* adds missing migration
* fixes GDALException in case of provided feature (import) without geometry content
* modifies 500.html template to inform the user about the admins being informed automatically
* fixes race condition on geometry conflict calculation if performed in background process
* simplifies access to smaller buffered geometry
* adds mapping of "qm"->"m2" for UnitChoice in API usage for backwards compatibility
Reviewed-on: SGD-Nord/konova#244
* fixes race condition for geometry conflict and parcel calculation
* harmonizes empty geometries from None/MultiPolygonEmpty to MultiPolygonEmpty
* removes mapping of empty geometry to None due to general switch to empty geometry usage
Reviewed-on: SGD-Nord/konova#246
* fills modified attribute on new entries with created value automatically
* adds default ordering by last modified on table overviews
* extends test for new behaviour of newly created entries
Reviewed-on: SGD-Nord/konova#250
* adds a check whether the mail could be sent properly or not and changes the resulting response
Reviewed-on: SGD-Nord/konova#251
* removes file numbers from public reports
Reviewed-on: SGD-Nord/konova#252
This reverts commit 913c42e7e8.
* fixes bug where None-geometry entry (instead of empty geometry) would not be expected on parcel fetching
* resubmissions have not been deleted after sending mails
Reviewed-on: SGD-Nord/konova#258
* fixes bug where missing payment date would result in no egon message sent
Reviewed-on: SGD-Nord/konova#260
* adds changes to document migration to correctly migrate documents
* adds sending to EGON (again) when Intervention is recorded
Reviewed-on: SGD-Nord/konova#263
* fixes resubmission mail recipient
* changes message colour from blue to red (indicating 'blocking' message)
* only renders message on read_only form e.g. on detail view
* adds empty value rendering on public intervention report
* adds new checkbox filter for all major data types wich shows only entries, where the performing user has been the initial creator of
* adds help texts for checkbox filters
* adds translations
Reviewed-on: SGD-Nord/konova#267
* adds configurable label-input ratio setting for forms and specializes for RemoveModalForm
* enhances form body html structure for better UX and usage of label-input ratio
* adds filter support for multiple parcelgroup and district names, separated by ','
Reviewed-on: SGD-Nord/konova#269
* sets the identifier form field as readonly
* extends help text
* updates translations
Reviewed-on: SGD-Nord/konova#272
* adds toggling of scrollable box table views
* deactivates scrolling for public report view (so all entries can be seen if page is printed)
Reviewed-on: SGD-Nord/konova#274
* replaces missing value 'None' with empty string ''
Reviewed-on: SGD-Nord/konova#275
* fixes bug where deleted entries could be accessed if detail page would be called directly
Reviewed-on: SGD-Nord/konova#278
* refactors update_parcels() method in Geometry model to work on Schneider
* old WFS based logic still exists as update_parcels_wfs() in Geometry model to have a fallback. Can be deleted in the future
* adds handling for error raising if migrated revocation document missing, due to no existing document at all
* adds support for missing values so that EGON can properly handle these entries
Reviewed-on: SGD-Nord/konova#281
Reviewed-on: SGD-Nord/konova#282
* adds proper message for certain data parsing in case of an error
* refactors code usage from atom_id to id inside of api app
* adds new command 'quality_check' which performs the quality checker on certain entries, which can be filtered using '--identifier-like' and/or '--title-like' parameters
    * results are shown in terminal
Reviewed-on: SGD-Nord/konova#286
* adds fix for dealing with __proxy__ instances
* fixes rendering of shared users counter on unshared compensation entries
Reviewed-on: SGD-Nord/konova#289
* replace user given file name with file based file name for egon export handling
Reviewed-on: SGD-Nord/konova#291
* refactors map_proxy.py
* adds proxy support for parcel wfs
* refactors map_proxy.py
* adds proxy support for parcel wfs
* disables auto-buffering of new points and lines
* improves rendering of surface size
Reviewed-on: SGD-Nord/konova#294
* adds a new command specifically for recorded entries
* adds unrecording to invalid entries
* reduces quality check runs on entries of interest (compensations)
Reviewed-on: SGD-Nord/konova#297
* improves central is_shared_with() method of ShareableObjectMixin to run ~30% faster
* improves performance for filter_show_all() in ShareableTableFilterMixin and CheckboxCompensationTableFilter by ~40%
* improves db fetching performance of landing page by ~75%
* reduces number of queries performed on detail views of intervention, compensation and eco_account
* renders deductable_rest of eco account beneath progressbar on eco account index view
    * clarifies ordering logic of related column
* extends all relevant mail templates such that municipals of an entry will be shown in the mail
Reviewed-on: SGD-Nord/konova#301
Reviewed-on: SGD-Nord/konova#302
Reviewed-on: SGD-Nord/konova#296
* fixes bug where quality checker for compensations would not check properly for state surface sums
* fixes bug where quality checker for compensations would not check properly for state surface sums
* fixes bug where multipolygon behaved in mapclient as single polygon, making e.g. deleting of single polygons impossible without removing everything
Reviewed-on: SGD-Nord/konova#306
* adds needs-to-be-shared info message on entries which are only shared with the current user
* increases threshold for max upload memory size from 2.5MB to 5MB
Reviewed-on: SGD-Nord/konova#309
Reviewed-on: SGD-Nord/konova#310
* adds bugfixes and improvements
    - point / line auto buffer key input change buffer
    - pass default buffer values from config
    - update area label while vertex editing
    - auto buffer remove source geoms when done
    - toggle cut tool off when done
    - toggle delete tool off when done
    - allow panning while vertex editing (middle mouse button)
* fixes bug where float numbers could not be used as input for e.g. buffer radius
    * supports up to two digits
Reviewed-on: SGD-Nord/konova#312
* enables public access to reports for unrecorded old entries if their binding_date < 16.06.2018
Reviewed-on: SGD-Nord/konova#315
* fixes bug where float numbers could not be used as input for e.g. buffer radius
    * supports
Reviewed-on: SGD-Nord/konova#317
* changes unpublish_on to optional value
* simplifies fetching of server message news
Reviewed-on: SGD-Nord/konova#319
Reviewed-on: SGD-Nord/konova#320
* extends intervention's mark_as_deleted() functionality to drop related deductions and free reserved deductable surface from the related eco accounts
* simplifies fetching of intervention's deductions
Reviewed-on: SGD-Nord/konova#323
* fixes bug described in #325
Reviewed-on: SGD-Nord/konova#326
* fixes bug described in #328
Reviewed-on: SGD-Nord/konova#329
* fixes bug described in #331
Reviewed-on: SGD-Nord/konova#332
* adds validator to make sure no dates like `01.01.1` can be accepted. All dates must be somewhat later than 01.01.1950
Reviewed-on: SGD-Nord/konova#335
* simplifies geometries on SimpleGeomForm if threshold GEOM_MAX_VERTICES has been exceeded
    * geometry is iteratively simplified to find a proper tolerance value which satisfies the GEOM_MAX_VERTICES threshold
Reviewed-on: SGD-Nord/konova#339
* adds info for user if address search content could not be parsed properly due to external errors
Reviewed-on: SGD-Nord/konova#340
* refactors method based views for parcel fetching, home and logout to class based
* adds unit test for creating report
* fixes bug where new (>2018) eco accounts have not been fetched correctly from the  db
* adds enhancements in the frontend
* improves test data setup
* adds unit test for APIUserToken
* enhances handling of token fetching for API
* enhances tests for analysis and compensation app
* adds compensation action forms unit tests
* adds unit tests for adding and editing deadline
* adds unit test for adding/editing/removing compensation states
* adds unit test for EMA model
* adds unit test for new/edit intervention forms
* improves code base for generating new identifiers
* fixes bug where rounding error on aggregated db SUM() would occur
* simplifies code base
Reviewed-on: SGD-Nord/konova#343
* adds is_valid check for NewDeadlineModalForm to implement #345
* adds logic to NewDeadlineModalForm to invalidate 'other' deadline types without comment (as explanation for 'other')
Reviewed-on: SGD-Nord/konova#346
# Conflicts:
#	locale/de/LC_MESSAGES/django.mo
#	locale/de/LC_MESSAGES/django.po
* adds unit tests for compensation models
* removes duplicated unit tests
* adds eco account unit tests
* adds validity check to eco account form to check on existing deductions and potential conflict with reduced deductable surface
* improves geojson handling on SimpleGeomForm
* adds/updates translation
* fixes behaviour of related deduction checks on intervention checking
* adds tests for share and revocation forms
* adds unit tests for ema forms
* adds unit test for intervention app
* adds unit test for konova app
* adds unit test for resubmission modal form
* adds unit test for konova app models
* drops unused/unnecessary code fragments
* updates translation
* adds further unit tests for konova app geometry model
* adds unit test for team creating and editing of user app
* adds unit test for User model and forms
* refactors functions from user_checks.py into User class and drops user_checks.py
* fixes a bug where validation check of payment 'due' has not been triggered properly
Reviewed-on: SGD-Nord/konova#347
* updates Django to 4.x and other packages (if possible) to latest versions
* Attention: Requires postgresql >= 12.0
* updates code fragments to match requirements of newer package versions
* updates netgis map client to newest pre-release
* replaces 'dumb' link template with LANIS mapinterface support
* adds fallback default LANIS link
Reviewed-on: SGD-Nord/konova#350
* fixes bug where detail view of KOM could not be opened anymore
* corrects behaviour of lanis link generation for EIV and KOM
* fixes bug where map client would not parse config.json properly resulting in failed client start
* fixes bug on saving eco account with missing deductable surface value
Reviewed-on: SGD-Nord/konova#356
Reviewed-on: SGD-Nord/konova#357
* fixes z-index overlapping of netgis map client toolbar and modal forms
* new in Django4: setting CSRF_TRUSTED_ORIGINS needs to be set to schema+host for new CSRF security handling
* fixes bug where EcoAccount model was not serializable due to changes in newer DAL version due to Django4
Reviewed-on: SGD-Nord/konova#361
Reviewed-on: SGD-Nord/konova#363
* migrations created because of switch to Django4
* adds import functionality as it was
* fixes bug where z-index values have been too high
* fixes bug where imported geometries would not be editable
* adds custom exception_reporter.py
Reviewed-on: SGD-Nord/konova#369
* restructures object info mail sending
* moves municipal names fetching from fore- to background for mail sending
* adds direct object links into mail templates
* refactors transferring app-model identification data from fore- to background (celery) properly
Reviewed-on: SGD-Nord/konova#370
Reviewed-on: SGD-Nord/konova#371
* fixes bug where documents have not been serialized properly into a single xml list
Reviewed-on: SGD-Nord/konova#374
* updates requirements
* adds Django5 related migration and setting (DEFAULT_AUTO_FIELD)
* fixes performance issue on drawing when WFS is activated
* updates requirements.txt
Reviewed-on: SGD-Nord/konova#378
* adds another validity check to SimpleGeomForm (is_size_valid) to make sure the area of the entered geometry is somehow rational (>= 1m²)
* optimizes performance of django command sanitize_db
* extends Geometry model with two new attributes, holding timestamps when a parcel calculation has been started and ended
* finally drops unused update_parcel_wfs in favor of update_parcels in Geometry model
* refactors update_parcel method
* adds geometry buffer fallback in schneider/fetcher.py to avoid emptying of geometries when parcels shall be fetched
* finally removes utils/wfs/spatial.py
* extends GeomParcelsView according to #381
* updates translations
* removes redundant psycopg2-binary requirement
* improves handling of parcel calculation (speed up by ~30%)
* ToDo: Clean up code
* refactors parcel calculating, resulting in 1.3-1.6x better performance
* optimizes parcel fetching view
* drops identifier handling on all edit-forms (identifier editing has been disabled on the frontend for a while now)
* updates test cases
* updates form caption for checking and recording action (less intimidating)
* optimizes district column width
* fixes bug on frontend parcel fetching on detail view
* adds extended tooltip for title column on index tables
* retraslates 'Law' to 'Rechtsgrundlage'
* renames a method and fixes doc string
* fixes typo
* dropping conn_max_age due to problems with usage in gunicorn
* drops unused methods
* fixes typos
* updates comments
* drops unused model attribute
Reviewed-on: SGD-Nord/konova#384
* extends 404 template (user should check the URL)
* introduces new decorator "uuid_required" which performs a check on a given 'uuid' or 'id' parameter
    * throws a Http404 exception --> redirect to 404 template instead of 500 error template
Reviewed-on: SGD-Nord/konova#386
* drops need for authentication for calculated parcels of an entry (reports are publicly available -> does not need auth!)
* downgrades package qrcode from 7.4.2 to 7.3.1. Further details can be found in https://github.com/lincolnloop/python-qrcode/issues/353
* fixes bug where rectangular geometry results in an error during geometry complexity calculation
* updates requirements.txt
* adds icons to message danger, info and success rendering
* adds error catching on wfs parcel resolving
* adds button for easier admin backend access
* disables certain admin backends
* adds proper ordering to server message admin overview
* refactors settings into env usage
* adds proxy usage for schneider parcel fetching (using public web address instead of internal ip address)
* updates env.sample
* updates requirements.txt
* adds itsdangerous package update
Reviewed-on: SGD-Nord/konova#394
* first working client implementation of oauth workflow for logging in users
* updates requirements.txt
* refactors code
* adds migrations for storing OAuthToken
* adds OAuthToken model
* adds OAuthToken admin
* adds user migration for Fkey relation to OAuthToken
* adds user propagation without django-simple-sso
Reviewed-on: #396
* changes randomly created code verifier into static one to avoid authentication conflicts on multi process deployment (where each process generates an own verifier...)
Reviewed-on: #398
* fixes bug where oauth requests did not use https in dockered deployment environment
Reviewed-on: #400
* fixes bug in deployment environment due to http/s usage in url
Reviewed-on: #402
* extends API shared record access with team based sharing
Reviewed-on: #405
* adds proper line break rendering in comment card
Reviewed-on: #406
* updates requirements.txt
* drops debug-toolbar
* updates requirements.txt
* drops django-simple-sso from codebase and requirements.txt
# Conflicts:
#	konova/sub_settings/sso_settings.py
#	requirements.txt
* adds env usage for sso settings
* adds new custom command send_to_egon for performing EGON sending on a list of intervention ids
Reviewed-on: #408
* corrects config for geopackage import support
Reviewed-on: #410
Reviewed-on: #411
* due to existing migrations, django-simple-sso needs to be added as a dependency as well as itsdangerous (dependency of django-simple-sso)
    * however, there is no active usage of any of these packages anymore
Reviewed-on: #413
* adds celery setting to .env.sample
Reviewed-on: #415
* fixes bug where readonly mode of map client was not readonly at all
Reviewed-on: #417
* updates dependencies due to important version changes
Reviewed-on: #420
* fixes dependency mismatch between requests 2.32.3 and kombu (requires < 2.32.0)
Reviewed-on: #422
* fixes bug where archived codes has been selectable due to recursive building of child-parent hierarchy
Reviewed-on: #425
* introduces 288 to codelist/settings.py
* refactors usage from 975 to 288
* enhances rendering of codelist names depending on which name exists (short vs long)
* adds migration for app codelist to migrate existing biotope type details codes from list 975 to 288 depending on their atomID
* improves rendering of action and biotope type details on frontend for KOM, OEK and EMA
* refactors KonovaCode str() rendering
* updates some packages in requirements.txt
Reviewed-on: #428
* fixes requirements dependency
Reviewed-on: #430
* censor payments if entry is not shared with user
* updates translations
* renames variable `has_access` into `is_entry_shared` for better understanding in various places (mostly html related)
* adds boolean to de-/activate migration logic inside of 0002_migrate_975_to_288.py
Reviewed-on: #434
* adds query filter to search for logged users on entries
Reviewed-on: #435
* adds missing migrations
* renames variables shadowing in-builts
Reviewed-on: #437
* refactors command update_all_parcels into recalculate_parcels
* fixes bug in command generate_report
Reviewed-on: #440
* extends filtering for recalculatable geometries to records without started calculation at any point (parcel_update_start is null)
* catches exceptions on geometries which could not be recalculated properly, adds them to output for further analysis
* simplifies complexity factor calculation
Reviewed-on: #442
* adds mechanic to repair parcels in case of unwanted parcel duplicates
* optimizes filtering of geometries for parcel recalculation
Reviewed-on: #444
* enhances workflow for parcel recalculation
* drops atomic transaction processing on Parcel.make_unique
Reviewed-on: #446
* implements newest version of netgis map client
* implements newest version of netgis map client
* adds adjustments for integration of newest netgis client version (81fa3bef48)
* adds adjustments for integration of newest netgis client version (81fa3bef48)
* integrates newest netgis map client
* generalizes map proxy response handling
* integrates newest netgis map client
* generalizes map proxy response handling
* adds catch for undecodeable proxied content
* adds catch for undecodeable proxied content
* improves config.json based on new functions of netgis map client
# Conflicts:
#	templates/map/client/config.json
mpeltriaux added 1 commit 2024-12-11 11:04:55 +01:00
* fixes test cases
mmannfeld force-pushed netgis_map_client_update from d830b7f88b to 24518465f3 2024-12-18 16:34:17 +01:00 Compare
mpeltriaux added 1 commit 2024-12-19 12:20:49 +01:00
* updates config for newest netgis map client
This pull request doesn't have enough approvals yet. 0 of 1 approvals granted.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin netgis_map_client_update:netgis_map_client_update
git checkout netgis_map_client_update
Sign in to join this conversation.
No description provided.