Commit Graph

297 Commits

Author SHA1 Message Date
mipel
cb19c0f85d #7 New forms WIP
* 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
2021-09-23 15:05:17 +02:00
mipel
c43a5c243e #7 New forms WIP
* adds new collapsible styled form for new main data
* adds/updates translations
2021-09-21 14:32:10 +02:00
mipel
19db05bc1b #20 Multiple laws
* improves w-100 handling for ModalForms
* adds documentation strings
2021-09-20 14:13:59 +02:00
mipel
fbcb2d9afd Eco Account deduction
* 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
2021-09-17 13:33:51 +02:00
mipel
e1ffc53958 Minor settings reorganizing
* reorganizes some settings position in konova/settings.py
2021-09-17 11:10:36 +02:00
mipel
1d2b0ca2d9 #18 File upload in certain folders
* 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
2021-09-01 16:40:36 +02:00
mipel
f64a11cb50 #18 File upload in certain folders
* 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
2021-09-01 16:24:49 +02:00
mipel
3f6f576095 Withdraw to deduct
* refactors all files and variable names
* WIP: Models and attributes
2021-08-30 11:29:15 +02:00
mipel
dc0137b2a2 [Compensation] Conservation office #5
* 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
2021-08-27 15:16:05 +02:00
mipel
8f641daee4 [EcoAccount] See recorded state of withdraw #6
* 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
2021-08-26 15:45:24 +02:00
mipel
c6fe002451 [Intervention] Revocations files optional #4
* makes revocation file upload optional
 * adds overview about revocations to intervention index
 * adds/updates translations
2021-08-26 15:02:34 +02:00
mipel
77b290216b Konova Codelist enhancements
* 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
2021-08-26 12:45:48 +02:00
mipel
9b2aaaa5fa Konova code improvements
* 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
2021-08-24 14:50:51 +02:00
mipel
06d74f8ccb Biotope code list
* integrates biotope code list to NewStateForm
* adds dal scripts automatically on compensation view
2021-08-24 09:37:59 +02:00
mipel
de925c8cc6 Compensation action code list
* integrates action code list to NewActionForm
2021-08-24 09:31:12 +02:00
mipel
49f7f3db53 Codelist integration
* 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
2021-08-23 18:30:02 +02:00
mipel
77c59f9f7b Identifier generating command
* adds a test command for calculating the collision rate for e.g. an intervention (Not important for production or anything)
2021-08-19 14:29:18 +02:00
mipel
5c0b1c412d EMA
* 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
2021-08-19 13:44:06 +02:00
mipel
510d77422a EMA
* 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
2021-08-19 13:02:31 +02:00
mipel
b2f3094214 Favicon
* adds favicon
2021-08-19 09:12:13 +02:00
mipel
ec9eade111 Modal forms
* 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
2021-08-19 09:06:35 +02:00
mipel
0c2d51b2b1 Mobile optimization
* adds table-responsive class to BaseClass
* adds html meta attributes for proper small device rendering
2021-08-19 08:44:47 +02:00
mipel
6c4ced784b Modal and other tweaks
* 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
2021-08-17 15:27:49 +02:00
mipel
da60ccc85d SSO and messages
* 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
2021-08-17 10:32:54 +02:00
mipel
66a0636e80 SSO and messages
* 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)
2021-08-17 09:57:50 +02:00
mipel
bdf46d9114 Identifier generating
* refactors identifier generating into BaseObject class
2021-08-11 14:31:24 +02:00
mipel
df70f99ca4 Minor enhancements
* 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
2021-08-11 14:17:43 +02:00
mipel
c95e451520 Recording data
* 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"
2021-08-10 17:19:42 +02:00
mipel
c165e3f990 LANIS Link
* adds LANIS link getter to Intervention, Compensation and EcoAccount for creating a usable link to LANIS
* adds/updates translations
2021-08-10 13:57:03 +02:00
mipel
72d61a23da EcoAccount withdraws
* 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
2021-08-10 10:42:04 +02:00
mipel
d27a39f6d9 EcoAccount detail
* 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
2021-08-09 14:39:36 +02:00
mipel
3dc2af4b7c EcoAccount index
* 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
2021-08-09 14:16:54 +02:00
mipel
71bbb3921a Log
* 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
2021-08-05 12:54:28 +02:00
mipel
c8ede788e0 Intervention check
* 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
2021-08-04 15:19:06 +02:00
mipel
6d75fdb7a7 Document open fix
* fixes a bug in opening a document
2021-08-04 13:34:28 +02:00
mipel
6818ef290e Intervention revocation
* 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
2021-08-04 13:32:35 +02:00
mipel
d7c95c9e70 Compensation control
* 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
2021-08-04 11:56:56 +02:00
mipel
e2ed39c900 Compensation action
* 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
2021-08-04 10:44:02 +02:00
mipel
c6fe944701 Fixes and improvements
* fixes group check on detail views
* adds check for required fields in BaseForm for showing required field hint or not in template
2021-08-04 08:41:21 +02:00
mipel
04db4e4e7f Fixes and improvements
* 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
2021-08-03 17:22:41 +02:00
mipel
881edaeba6 Compensation detail view
* 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
2021-08-03 13:13:01 +02:00
mipel
a06b532108 Missing group message
* adds group checker decorator for adding a message informing about missing group privileges
2021-08-03 09:45:41 +02:00
mipel
d4b3b97f84 Setup data
* removes auto-translating of setup data for database (keep english values in db and translate for templates)
2021-08-03 09:11:33 +02:00
mipel
0a523d0a1a Default group required
* 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
2021-08-02 16:23:29 +02:00
mipel
78d6feabb6 Compensation enhancements
* 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
2021-08-02 15:39:33 +02:00
mipel
0797a6b99f Created|Deleted refactoring
* 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
*
2021-08-02 11:52:20 +02:00
mipel
6bc8ada286 RemoveModalForm refactoring
* wraps generic request processing logic into RemoveModalForm
* adds delete action to intervention detail compensations.html
* fixes rendering of deleted compensations in intervention detail view
2021-08-02 10:53:34 +02:00
mipel
98de05089e Eco Accounts
* 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
2021-08-02 10:14:34 +02:00
mipel
d13ad5ff7d Share url view
* 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
2021-07-30 14:34:36 +02:00
mipel
b4f9105120 Access url for interventions
* 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
2021-07-30 13:30:42 +02:00
mipel
cbd69687aa Compensation model refactoring
* 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
2021-07-30 12:20:23 +02:00
mipel
8cb4e1168d Intervention model refactoring
* 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
2021-07-30 09:30:33 +02:00
mipel
4e9f0f3c88 Intervention model refactoring
* 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
2021-07-29 15:49:19 +02:00
mipel
4a492ff0bc Dashboard dynamic content
* replaces static dummy values with database values
* renames 'Your own' into 'Shared with you' for clarification
* adds translation
2021-07-28 08:50:53 +02:00
mipel
ea4cbcffff Document upload fix
* fixes some minor issues with the document upload
2021-07-26 15:34:30 +02:00
mipel
955784fc45 Document upload
* adds document upload form
* refactors modal form templates into form classes
* adds document upload route to intervention routes of urls.py
2021-07-26 15:16:16 +02:00
mipel
d1db559f33 Template restructuring
* splits large templates into smaller includes
* removes localized form input for payments
* refactors Document removing using the generic remove form
2021-07-26 14:35:19 +02:00
mipel
a6c51aede6 Payments add modal form
* 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
2021-07-26 11:29:05 +02:00
mipel
4fb2ef26d0 Payments add modal form
* 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
2021-07-26 10:23:09 +02:00
mipel
76c7cce9bc Documents removing
* adds generic modal rendering using package django-bootstrap-modal-forms
* adds document file removing from hard drive
* adds translations
2021-07-23 18:27:53 +02:00
mipel
df8b62de22 Documents removing
* adds document removing button
* adds translation
* adds Document admin
2021-07-23 16:04:58 +02:00
mipel
6cbf88fb1d Documents
* add get document route
* add missing attributes to intervention detail view
2021-07-23 15:35:05 +02:00
mipel
37f3799894 Compensation routes
* improves compensation routes
2021-07-23 15:23:54 +02:00
mipel
82be1511db Intervention Detail View
* adds hint for empty map in case of missing geometry
* adds empty geometry workaround, so openlayers is rendered without digitalization tools
* adds translations
2021-07-22 16:06:13 +02:00
mipel
ff11051fbb Intervention Detail View
* adds related object overview in detail view
* adds comment field to payment model for 'Verwendungszweck'
* simplifies intervention urls
* adds translations
2021-07-22 14:58:58 +02:00
mipel
5e48bac013 Intervention Detail View
* 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
2021-07-22 13:19:14 +02:00
mipel
591bc739ec Table filters
* 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
2021-07-22 10:00:59 +02:00
mipel
117c740bad Help link
* adds help link
2021-07-22 08:40:26 +02:00
mipel
d139119a15 Intervention tables and model adjustments
* 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
2021-07-21 15:40:34 +02:00
mipel
704137216f Linkage improvement
* adds linking to submenus
* adds PaymentAdmin
* adds Meta class inheritance for tables
2021-07-21 14:17:18 +02:00
mipel
4ef6c32ea2 Html enhancements
* adds some bootstrap enhancements for responsiveness
2021-07-21 13:27:35 +02:00
mipel
d2340ffe0a Default bootstrap tables
* adds basic bootstrap classes to BaseTable model
2021-07-20 14:23:16 +02:00
mipel
8c32aaa845 Default bootstrap tables
* refactors old table index template into bootstrap-fontawesome generic table
2021-07-20 14:05:44 +02:00
mipel
2fb680c84c Minor css enhancements
* minor changes for <a> tags
* centers link for older news in card
2021-07-09 08:25:06 +02:00
mipel
52b576f3e9 Group access constraints
* adds new decorators for all three important groups
* reorganize some default group settings for setup_data.py
2021-07-09 08:18:37 +02:00
mipel
1ced6fdadd User menu
* adds user notifications and management
2021-07-08 17:23:06 +02:00
mipel
41fff3a687 User menu
* starts user menu implementation
2021-07-08 11:07:33 +02:00
mipel
d50fb1a1d6 Dashboard
* finishes work on dashboard
2021-07-07 15:50:20 +02:00
mipel
6b245a2a06 Dashboard
* finishes work on dashboard
2021-07-07 13:46:33 +02:00
mipel
b01442ef17 News app
* adds news app for future implementations
2021-07-06 08:53:08 +02:00
mipel
f069baa260 Landing page
* started to implement a landing page
* started news implementation
2021-07-05 14:49:32 +02:00
mipel
b59b9839ff Navbar improved 2021-07-02 15:21:53 +02:00
mipel
a8b3bdb56e Navbar improved 2021-07-02 15:08:51 +02:00
mipel
049d47c5f8 Navbar improved 2021-07-02 14:59:37 +02:00
mipel
7b7865509a Simple footer finished 2021-07-02 13:46:06 +02:00
mipel
c422901e67 Simple navbar finished 2021-07-02 13:12:38 +02:00
mipel
76786312e9 Simple navbar implemented 2021-07-02 11:38:44 +02:00
mipel
ed35aea034 Permission rethinking
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
2021-07-02 10:10:03 +02:00
mipel
92701eda40 Permission rethinking
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
2021-07-02 10:08:00 +02:00
mipel
57d97150f2 Permission rethinking
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
2021-07-02 09:45:45 +02:00
mipel
a667173021 Permission rethinking
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
2021-07-02 09:34:39 +02:00
mipel
50c2b8b1b5 Permission rethinking
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
2021-07-02 09:31:09 +02:00
mipel
b4d1aea37f Permission rethinking
* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
2021-07-02 09:30:50 +02:00
mipel
a81351f468 Permission values
* adds raw permission values for all groups
2021-07-02 08:37:50 +02:00
mipel
1ebf67b66b Permission values
* adds raw permission values for all groups
2021-07-02 07:34:34 +02:00
mipel
972cbf5433 Refactoring to konova 2021-07-01 15:08:22 +02:00
mipel
947f50b11c Refactoring to konova 2021-07-01 14:38:57 +02:00