Commit Graph

405 Commits

Author SHA1 Message Date
8224f4c8c5 # 110 Biotope codes
* removes list 974 from update_codelist.py command
* adds migration for existing biotope states to be changed into proper list
2022-02-16 09:08:11 +01:00
91185ef847 #112 Tree filter case insensitive search
* adds case insensitive search for TreeWidget
2022-02-16 08:31:18 +01:00
ed27d8d589 #112 Order enhancement
* enhances ordering for action details and biotope details
2022-02-16 08:26:24 +01:00
a160f3fe6c #112 Autocomplete enhancements
* 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
2022-02-15 15:33:25 +01:00
1ea5b4fc39 # 112 Search input for TreeWidget
* adds search input field for js-filtering by input
2022-02-15 14:35:49 +01:00
6d5e2b8d15 #112 TreeWidget JS
* adds visual support on (de-)selecting checkboxes
* adds same support on initialization of checked checkboxes e.g. on edit forms
2022-02-15 13:23:15 +01:00
95856c9ee9 #112 CompensationAction Tree
* implements generic HTML based and Django compatible TreeView
* enhances listing of CompensationActions on DetailView
2022-02-15 10:48:01 +01:00
d04d02380f WIP: #112 Restructure CompensationAction 2022-02-11 16:21:44 +01:00
cc4e4d650b Merge pull request 'master' (#113) from master into Docker
Reviewed-on: SGD-Nord/konova#113
2022-02-11 16:10:47 +01:00
62e452c625 WIP: CompensationAction using jstree 2022-02-11 14:13:42 +01:00
c5534bcd55 #86 Edit document
* adds support for editing of documents
* adds buttons for intervention
2022-02-10 10:21:18 +01:00
1b5cda648e #86 Revocation edit
* adds support for revocation edit
    * revocation document files will be replaced on an edit
2022-02-09 16:02:28 +01:00
d106977c34 #86 Edit deductions
* adds support for editing deductions
* adds tests
* improves major base test logic
2022-02-09 14:49:56 +01:00
ce9143e4b2 #86 Edit payment
* adds button for payment editing
* adds new edit form payment editing
* adds tests for views and workflow
2022-02-09 10:29:34 +01:00
aa338e5519 #86 Parcel-Geometry improvement
* 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)
2022-02-09 09:18:35 +01:00
a096b2a413 # 86 LANIS link fix
* simplifies creation of LANIS link by refactoring into super class
2022-02-08 17:14:23 +01:00
6ea66180d1 #86 Autocomplete enhancement
* adds support for title lookup on EcoAccounts
* adds support for title lookup on Interventions
* adds support for email lookup on User
2022-02-08 17:08:03 +01:00
402bc2d6f3 #86 Parcel district column for all
* 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
2022-02-08 15:25:44 +01:00
d5a3c70788 #86 Email enhancement
* adds object titles to email sending
2022-02-08 14:31:11 +01:00
02ccb78080 Remove form renaming
* renames new remove modal forms to match a more coherent style
2022-02-08 13:31:40 +01:00
5ebb3f833a #86 Log detail enhancements
* restructures removing of related data into separate sub-delete forms for easier logic handling
2022-02-08 13:16:20 +01:00
5eebd42c3c Further tests ecoaccount
* adds ecoaccount workflow tests
2022-02-08 11:58:43 +01:00
98df0f93c3 Further tests
* restructures compensation/tests into subtests for ecoaccount and compensation
* adds tests for ema workflow
* improved test data setup
2022-02-08 09:27:28 +01:00
7d3c3f030b # 86 Deadline removal log entry
* adds log entries if deadline is removed
2022-02-07 09:56:37 +01:00
7535f008b7 #86 Logs
* adds log detail support for compensation state and action
2022-02-04 16:56:08 +01:00
ee959809ad # 108
* fixes bug
2022-02-04 15:59:53 +01:00
3fcc438558 Revert "Revert accidental docker->master merge"
This reverts commit 49aba49406.
2022-02-04 15:17:08 +01:00
c7665a1aff # 86 Minor html/css tweaks
* improves minor things like display related breakpoints for certain html elements
* improves css for select2 for better group-result distinction
2022-02-04 13:55:50 +01:00
298a632cac # 86 More log details Documents
* 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
2022-02-04 09:18:46 +01:00
0a6d5cf19b #86 Userlogs Compensation
* 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
2022-02-03 15:29:22 +01:00
0e48ae6e4a #86 Userlogs Revocation
* reworks user logs for adding/removing revocations with more detail on log history
* enhances css to display neat shadow on select2-results
2022-02-03 12:10:23 +01:00
05b2f1b2cc CSS enhancement
* improves css on select2 width, which lead to strange viewport sizing on creation of new major datasets
2022-02-03 11:58:33 +01:00
b17b0b5144 # 86 Proper log detail
* 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
2022-02-02 15:16:25 +01:00
edad33e662 # 86 Comment field length
* removes comment field length limit
* adds improvements for rendering large comments
2022-02-02 12:54:45 +01:00
1eecc5fa48 # 86 Viewport jump EcoAccount/EMA
* adds direct jump of viewport on related-data action (create/delete)
2022-02-02 11:26:02 +01:00
0bd2e5ffef # Migrations
initial migrations commit
2022-02-02 08:46:08 +01:00
b0f3505972 #99 Admin backend cleanup
* 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
2022-02-01 18:41:02 +01:00
f9751d38db #93 Errors via mail
* configures server errors sending via mail
   * default for now is always 'ksp-servicestelle'
* includes improvements from #97
2022-01-31 15:24:26 +01:00
ff5d209895 #95 Split settings file
* splits konova/settings.py file into more separate setting files in konova/sub_settings/
2022-01-31 15:09:06 +01:00
73cf3fc503 #88 Action detail codes
* 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
2022-01-31 12:58:55 +01:00
e1865c7267 #88 Extra biotope codes templates
* 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
2022-01-31 12:21:42 +01:00
95a17ed04f # 88 Extra biotope codes
* adds additional biotope konovaCodes to CompensationState model
* increases rpp for Autocompletion
* adds/updates translations
2022-01-31 11:26:24 +01:00
aade8ffb32 # 88 Additional biotope codes
* adds codelist 975 to project
* adds new form field for adding extra biotope information
2022-01-31 10:52:35 +01:00
e7bab1cbbb Merge pull request '# 89 Ecoaccount recorded state reset (fix)' (#94) from 89_Ecoaccount_recorded_state_reset into master
Reviewed-on: SGD-Nord/konova#94
2022-01-31 10:18:46 +01:00
1786bd965b # 89 Ecoaccount recorded state reset (fix)
* fixes bug where recorded state of eco account has been reset, if a deduction is created from the detail view of the ecoaccount itself
2022-01-31 10:14:46 +01:00
37382fbee8 # 71 Shortcut buttons enhanced
* adds bootstrap class to prevent link style rendering
* reorganizes templates for home view into separate quickstart templates
2022-01-31 08:06:41 +01:00
1b3adc396f #31 API Deductions Tests
* adds tests for deduction API
2022-01-28 16:21:23 +01:00
e7dbea49cd #31 API DELETE
* 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
2022-01-28 08:52:11 +01:00
8f40162974 #31 API Tests
* 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
2022-01-27 14:48:42 +01:00
b86202ba98 #31 API Token mail
* sends an email to the support address if a new token has been generated
2022-01-27 11:47:27 +01:00
b13e67e061 #31 API Frontend token generating
* adds frontend settings for users to create API tokens on their user settings
2022-01-27 11:37:38 +01:00
26f402fd3b #31 API WIP
* adds support for GET /check on intervention to run checks automatically via API
2022-01-25 09:29:14 +01:00
2fa2876090 #31 API POST Compensation
* 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
2022-01-24 14:41:56 +01:00
881da38538 #31 API basic implementation
* 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
2022-01-21 15:26:08 +01:00
b72426e20f # 83 Publication rework interventions
* 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
2022-01-21 09:02:56 +01:00
79b9be5637 # 70 Tab title rest
* adds tab titles for some other pages
* adds/updates translations
2022-01-20 12:31:20 +01:00
014155b0a4 # 70 Tab title compensation
* adds tab titles for compensations
* adds/updates translations
* optimizes identifier generating, so that one-digit months will be converted into two digits
2022-01-20 12:19:08 +01:00
dc42278943 # 70 Tab titles interventions
* adds content related tab title
* adds/updates translations
2022-01-20 12:12:04 +01:00
a464ed9e3f # Bugfix parcel updating
* fixes bug where under certain circumstances the parcel updating would fail
2022-01-19 17:20:13 +01:00
6c9d47cad0 #75 Propagate users
* 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
2022-01-19 13:17:55 +01:00
d0640a4098 # Bugfix
* fixes bug where background mail delivery did not start
2022-01-14 14:19:17 +01:00
022d9d15a7 #67 Parcel error fix
* 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
2022-01-13 09:27:35 +01:00
6f76b3a53d # 62 404 and 500
* adds custom 404 and 500 error handling views
* adds/updates translations
2022-01-12 16:45:55 +01:00
795f64f20b # 63 Mail data checked
* adds mail sending if shared data is checked
* adds/updates translations
2022-01-12 15:48:47 +01:00
5ca4c7c777 # 63 UserNotificationEnum changes
* drops NOTIFY_ON_REGISTERED_DATA_EDITED in favor of NOTIFY_ON_SHARED_DATA_CHECKED
* adds/updates translations
2022-01-12 15:38:57 +01:00
7c5454a2c9 # 63 Mail data deleted
* adds mail sending if shared data is deleted
* adds/updates translations
* refactors recording mails into separate email template folder email/recording
2022-01-12 15:31:25 +01:00
157f05ead6 # 63 Mail recording/unrecording
* adds mail sending in case of unrecording and recording of data
* adds/updates translations
2022-01-12 15:09:52 +01:00
17dc3f7537 # 63 Mail 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
2022-01-12 14:51:50 +01:00
dbf32f3138 # 63 Mail background sending
* moves mail sending to background using celery
2022-01-12 14:27:39 +01:00
9c4bab3800 # 63 Mail shared access revoked
* adds mail support for revoking shared access
* adds/updates translations
2022-01-12 14:17:12 +01:00
02970b19b4 # 63 Refactoring
* refactors django User model to custom User model to provide further attributes and methods directly on the user model
2022-01-12 12:56:22 +01:00
4c5e170b85 # 61 General table enhancements
* enhances rendering of tables
* enhances rendering of filter section
* reorganizes table filter codes into konova/filters/ folder and splits into mixins and table_filters
2022-01-12 10:11:47 +01:00
d57478ee09 # 61 Filter code enhancement
* reorganizes code
2022-01-12 09:23:22 +01:00
834fa8dbd4 # 61 Filter offices frontend/backend
* adds filters for registration and conservation offices
* adds SelectionTableFilter as new holder for these types of filter components
2022-01-12 08:56:49 +01:00
5bca8fc8f7 # 61 Filter frontend
* adds filtering for file number
* updates translations
2022-01-11 17:29:36 +01:00
5d5d8b1243 # 61 Filter frontend
* finished filter frontend
2022-01-11 16:32:33 +01:00
8a19d7239d # 61 Filter backend
* refactors XYTableFilter classes to hold query_filter and checkbox_filter which are separate instances of django_filter.FilterSets
* improves render ability for frontend
2022-01-11 15:19:16 +01:00
87f11a9914 # 61 Filter frontend
* optimizes minor parts of table-filter initialization and queryset passing
2022-01-11 14:28:34 +01:00
524b5c340f # 61 Filter backend
* refactors table filters by introducing AbstractTableFilter, GeoReferencedTableFilterMixin, ShareableTableFilterMixin and RecordableTableFilterMixin
* adds full filter functionality
* refactors TableFilter inheritances for all objects
2022-01-11 12:56:27 +01:00
e2fe85a4fb #57 Deduction shortcut remove
* removes deduction shortcut
* adds missing quality checks on intervention deduction accounts validity
* fixes error if checked intervention shall be checked again
* adds/updates translations
2022-01-07 15:41:40 +01:00
d4d792754f #54 Grouped autocomplete
* 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
2022-01-07 13:50:37 +01:00
d6d15185ea #55 Celery parcel updating
* adds celery to project
* adds celery background task for updating parcels
* adds parcel calculation to creating of new geometries as well
* tests outstanding!!!
2022-01-06 12:08:38 +01:00
393f9a4d47 #49 Parcels on report
* 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
2022-01-05 14:41:32 +01:00
bf0de00b72 #49 Frontend rendering
* 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
2022-01-05 14:13:26 +01:00
f0911b5eb6 #49 Update all parcels command
* adds update_all_parcels command which can be used e.g. with cronjob once a month to update all parcels and districts
2022-01-04 16:50:55 +01:00
6563e5e438 #49 Extends sanitize db command
* 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
2022-01-04 16:25:17 +01:00
2494ecc493 #49 Calculation implementation
* implements update routine for Geometry model
* reorganizes fields of Parcel and District
* adds tests
* simplifies usage of ParcelWFSFetcher
2022-01-04 15:59:53 +01:00
62030c4dcc #49 Parcels and Districts
* 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
2022-01-04 13:03:21 +01:00
440a4b04d5 #49 Parcels and Districts
* 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
2021-12-17 17:30:12 +01:00
71f88f7218 #49 Parcels and Districts
* introduces new models: Parcel and District
2021-12-16 12:21:31 +01:00
5df84bb7a1 #50 Overlaying geometries Tests
* adds test for geometry conflicts
* refactors rechecking of existing conflicts to avoid recursion in certain cases
* adds/updates translations
2021-12-16 09:58:59 +01:00
286ed609da #50 Overlaying geometries KOM + OEK
* 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
2021-12-15 15:10:35 +01:00
2bd94a7618 #50 Overlaying geometries
* 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
2021-12-15 13:59:52 +01:00
6b018e5495 #48 Tests finished
* finishes user autocomplete unit test
2021-12-15 09:34:40 +01:00
6b81e3efd8 #48 Tests
* adds tests (WIP)
2021-12-14 16:04:35 +01:00
22da2d4bbe #48 Changes autocomplete
* 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
2021-12-14 13:55:08 +01:00
c93f16a598 #46 MIME Type check
* adds unit tests for new methods in konova/tests/test_documents.py
* refactors _accepted_mime_types of AbstractDocument into _valid_mime_types
2021-12-09 13:19:52 +01:00
c43b45a0e4 #46 MIME Type check
* 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
2021-12-09 12:39:04 +01:00
6cb1a31aff Refactors triggering checked/recorded
* refactors BaseForm request/user initialization
* introduces mark_as_edited() method for compensation models
2021-11-17 14:33:05 +01:00
bd36ab5b6f #35 Sanity command
* refactors "toggling" of recorded/checked state
* introduces mark_as_edited() for RecordableObjectMixin
2021-11-17 12:09:49 +01:00
80e72c2146 #35 Sanity command
* adds sanity check for deadlines and geometries
2021-11-17 09:40:07 +01:00
22a97de195 #35 Sanity command
* improves performance
* adds sanity actions for compensation state and compensation action
2021-11-17 09:32:11 +01:00
8b73d03e7c #35 Sanity command
* adds new sanitize_db.py command (WIP)
2021-11-16 17:50:10 +01:00
779065ec91 Refactoring
* adds simple getter methods for UserActionLogEntry
* replaces manual creation of UserActionLogEntry with new methods
2021-11-16 13:15:15 +01:00
71e4aa9a2f Refactoring
* moves updating of shared access users into ShareableObjectMixin
* renames ShareInterventionModalForm to ShareModalForm since it's used for EMA and eco accounts as well
2021-11-16 12:54:28 +01:00
6ad387daa3 Refactoring
* moves updating of shared access users into Intervention
2021-11-16 12:51:10 +01:00
78945d648f Refactoring
* splits compensation/models.py into subpackage
* renames base objects by adding suffix Mixin
2021-11-16 08:29:18 +01:00
6f107ac7a1 Refactoring
* splits ema/models.py into subpackage
* splits konova/models.py into subpackage
* splits user/models.py into subpackage
2021-11-15 17:41:52 +01:00
bcffae4a95 Refactoring
* 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
*
2021-11-15 17:09:17 +01:00
ab8d5c9724 #38 User requests
* 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?)
2021-11-15 15:55:09 +01:00
2ca0ceade4 #38 User requests
* implements 4) "Comment fields should be of unlimited size"
2021-11-15 14:08:29 +01:00
7ed114a858 #38 User requests
* implements 3) "Extend sharing on direct adding of users"
2021-11-15 14:00:08 +01:00
d72c29bd56 #39 Drop fundings
* removes fundings from all models
2021-11-15 10:55:15 +01:00
037d3a8fee #19 Tests
* adds workflow edit testing for compensations
2021-11-12 16:05:26 +01:00
ea14a01f89 #19 Tests
* adds workflow testing for geometries on new creation of intervention and compensation
*
2021-11-12 14:54:33 +01:00
ce7033943f #19 Tests
* refactors sharing user setting by introducing share_with(user) and share_with_list(user_list) for BaseObject for a more self-explanatory sharing
2021-11-11 15:09:03 +01:00
50e134ba91 #19 Tests
* adds workflow tests for eco account deduction creation
2021-11-11 13:35:08 +01:00
667f378b74 #19 Tests
* adds workflow tests for compensation checking and recording
* improves related code
2021-11-11 13:13:05 +01:00
7d611a60d8 #19 Tests
* adds workflow tests for checkability and recordability for interventions
* fixes/improves code snippets detected by testing
2021-11-11 10:37:22 +01:00
bcee58700a #19 Tests
* adds workflow tests or deductions in InterventionWorkflowTestCase
* fixes bugs detected by testing
2021-11-10 15:36:18 +01:00
08d023092f #19 Tests
* adds new BaseWorkflowTestCase class for encapsulating
* adds new InterventionWorkflowTestCase class with first workflow tests
2021-11-10 14:08:16 +01:00
bbbaeab4c7 #19 Tests
* moves dummy data creation from BaseViewTestCase into BaseTestCase
2021-11-10 11:41:51 +01:00
2957035b5a #19 Tests
* adds EcoAccount tests
* fixes bugs found by testing
2021-11-10 09:11:24 +01:00
c221d00c28 #19 Tests
* adds EMA tests
* extends compensation tests
* fixes bugs detected by testing
* restructured tests for performance boost
2021-11-09 13:06:22 +01:00
b5fc96c1cf #19 Tests
* 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)
2021-10-27 14:44:49 +02:00
5213c717d9 #19 Tests
* 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
2021-10-26 15:09:30 +02:00
bfe541f83e #19 Tests
* refactors test logic into base test classes
* adds tests for views in konova app
* fixes bugs/warnings detected by testing
2021-10-26 14:26:32 +02:00
2553eb2825 #19 Tests
* adds tests for views in intervention app
* fixes bugs detected by test writing
2021-10-26 11:38:34 +02:00
6e31dfc00d HOTFIX: Quality checks
* fixes bug due to missing evaluation of compensation validity
2021-10-26 07:56:26 +02:00
da23761f88 #36 Quality checks
* adds check on recording of intervention in case of invalid compensations
2021-10-26 07:47:53 +02:00
4a4c9ad049 #36 Quality checks
* adds unchecking/unrecording of interventions in case of post-check|post-record editing
2021-10-25 17:39:39 +02:00
1c3ab898cc #36 Quality checks
* refactors toggling of recorded status into RecordableMixin
2021-10-25 17:01:02 +02:00
26c1cee27e #36 Quality checks
* adds quality check logic for EcoAccount with EcoAccountQualityChecker
* adds/updates translations
* adds quality check logic for EMA with EmaQualityChecker
2021-10-25 14:36:58 +02:00
4c7efdb800 #36 Quality checks
* moves geometry check logic to upper class
2021-10-25 13:21:27 +02:00
a5b1f68f62 #36 Quality checks
* adds AbstractQualityChecker as base for all quality checker instances
* adds InterventionQualityChecker, inheriting from AbstractQualityChecker
* adds functionality to InterventionQualityChecker
* adds/updates translations
2021-10-25 13:06:54 +02:00
af70303b32 #32 Disable file download
* 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
2021-10-25 08:51:06 +02:00
e22e390040 #26 Annual conservation reports
* enhances TimespanReportForm control rendering
* adds/updates translations
2021-10-20 13:41:32 +02:00
6b839b7f60 #26 Annual conservation reports
* 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
2021-10-20 13:23:35 +02:00
d5b6c7f098 Geometry fix
* removes geographic=True from Geometry model
2021-10-20 10:38:07 +02:00
b90a07ca2a #26 Annual conservation report
* WIP: EcoAccountReport
2021-10-19 16:06:19 +02:00
33de71d554 #26 Annual conservation report
* adds new templatetag default_if_zero in ksp_filters.py
* adds/updates translations
2021-10-19 09:13:20 +02:00
92155fb742 #26 Annual conservation report
* introduces new app 'analysis' for annual report generating and future features
* adds new templates (WIP)
* adds new routes (WIP)
2021-10-18 15:52:51 +02:00
7631adc88f Translations
* adds/updates translations
2021-10-15 09:25:26 +02:00
85759a636a Database performance
* 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
2021-10-14 14:12:33 +02:00
ac17d953c6 #25 Public reports
* 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
2021-10-13 14:03:34 +02:00
30f36060f3 #17 Update setup
* adds calling of update_codelist.py to setup.py
* removes unused data in setup_data.py
2021-10-13 09:10:48 +02:00
f50dccb30b #17 Update setup
* removes unused organisation app from project
* removes null=True parameters for M2M fields in models
2021-10-13 09:04:01 +02:00
mipel
0e839f5e44 #7 New Form
* refactors/renames folders and files for generic template rendering
* removes unused choiceColumnForm.html
2021-10-06 16:15:40 +02:00
mipel
60f03591ef #7 New Form
* 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
2021-10-06 13:10:10 +02:00
mipel
d84fe68120 #7 New Form
* 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
2021-10-05 16:35:24 +02:00
mipel
d0aa125248 #7 New Form
* fixes bug where geometries have been created each time a SimpleGeomForm has been saved
2021-10-04 16:06:20 +02:00
mipel
3d31a13508 #7 New Form
* 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
2021-10-04 13:23:14 +02:00
mipel
9cfb400bad #7 New Form
* 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
2021-10-04 09:55:59 +02:00
mipel
7841599650 #7 New Form
* extends KonovaCode filtering for parent objects matching given input
* renames data_form into form for easier template render support
* simplifies empty geometry form initialization
2021-09-29 14:49:17 +02:00
mipel
49a9d03471 #7 New Form
* extends KonovaCode filtering for parent objects matching given input
2021-09-29 11:44:07 +02:00
ea0a07890c #7 New forms
* 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
2021-09-27 13:57:56 +02:00
e94dbbd3c8 #7 New forms
* fixes bug in case of unset dates for intervention
* adds missing template formater
* adds/updates translations
2021-09-27 11:12:40 +02:00
72ed82ecd6 Full width fields
* refactors full width fields from BaseModalForm into BaseForm to have this nice little feature for regular forms as well!
2021-09-24 15:05:50 +02:00
mipel
9b728e5d10 #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
951477c58f #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
89c75d471b #20 Multiple laws
* improves w-100 handling for ModalForms
* adds documentation strings
2021-09-20 14:13:59 +02:00
mipel
4c045618e6 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
a828a1bba2 Minor settings reorganizing
* reorganizes some settings position in konova/settings.py
2021-09-17 11:10:36 +02:00
mipel
270f9ab7d2 #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
3c9d73533f #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
cd5fb9cad6 Withdraw to deduct
* refactors all files and variable names
* WIP: Models and attributes
2021-08-30 11:29:15 +02:00
mipel
81cea4f045 [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
280510d729 [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
415fe267d2 [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
97571d4363 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
24a6b7fd37 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
2469bde7ee 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
e9aea7bcc4 Compensation action code list
* integrates action code list to NewActionForm
2021-08-24 09:31:12 +02:00
mipel
41c9ed106c 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
5137572127 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
615b7bf5ea 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
d1f43f8c64 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
03fe293cd8 Favicon
* adds favicon
2021-08-19 09:12:13 +02:00
mipel
198462b051 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
7dbf4d5b91 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
c82ee8afbc 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
833483b810 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
1a4a4a16c6 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
244e300715 Identifier generating
* refactors identifier generating into BaseObject class
2021-08-11 14:31:24 +02:00
mipel
c8b6d001ef 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
5f85f49636 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
09d7cad8c8 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
f8b3e5c8fd 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
abdc574ea2 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
93c02a72ca 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
5efa755188 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
135f25d88b 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
685f425e29 Document open fix
* fixes a bug in opening a document
2021-08-04 13:34:28 +02:00
mipel
8e1f679c2a 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
fd526b80b7 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
f666c3afa3 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
d773c3b3d4 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
cd5b2e264b 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
816600535a 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
19f50baae4 Missing group message
* adds group checker decorator for adding a message informing about missing group privileges
2021-08-03 09:45:41 +02:00