Commit Graph

297 Commits

Author SHA1 Message Date
c51d0bc72f # Bugfix parcel updating
* fixes bug where under certain circumstances the parcel updating would fail
2022-01-19 17:20:13 +01:00
ef9d88db73 #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
0955aca52a # Bugfix
* fixes bug where background mail delivery did not start
2022-01-14 14:19:17 +01:00
3a5168a05c #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
a9962b4d20 # 62 404 and 500
* adds custom 404 and 500 error handling views
* adds/updates translations
2022-01-12 16:45:55 +01:00
1de3792d98 # 63 Mail data checked
* adds mail sending if shared data is checked
* adds/updates translations
2022-01-12 15:48:47 +01:00
dcc4e2fdc8 # 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
5295c08d99 # 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
d7a9f72c3e # 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
eb54443aca # 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
82778d1fec # 63 Mail background sending
* moves mail sending to background using celery
2022-01-12 14:27:39 +01:00
3531997080 # 63 Mail shared access revoked
* adds mail support for revoking shared access
* adds/updates translations
2022-01-12 14:17:12 +01:00
ef65869c7c # 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
07b079d1b6 # 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
59a541397e # 61 Filter code enhancement
* reorganizes code
2022-01-12 09:23:22 +01:00
0cb65ae720 # 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
4631f27878 # 61 Filter frontend
* adds filtering for file number
* updates translations
2022-01-11 17:29:36 +01:00
972405a720 # 61 Filter frontend
* finished filter frontend
2022-01-11 16:32:33 +01:00
d8607d9ade # 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
f92ec7fde7 # 61 Filter frontend
* optimizes minor parts of table-filter initialization and queryset passing
2022-01-11 14:28:34 +01:00
a4966751b7 # 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
498f0a9bbc #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
6ae10dd872 #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
a282d8dfaf #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
a09fdae58c #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
49859d17d2 #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
b43beffc6b #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
ecb67809da #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
632fb0f48a #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
b5cf18ac7d #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
46e237f0e2 #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
93d1cb9330 #49 Parcels and Districts
* introduces new models: Parcel and District
2021-12-16 12:21:31 +01:00
6021e2f1bc #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
41af455d09 #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
f4541abf20 #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
d580080232 #48 Tests finished
* finishes user autocomplete unit test
2021-12-15 09:34:40 +01:00
6b90764132 #48 Tests
* adds tests (WIP)
2021-12-14 16:04:35 +01:00
8b17ab6fdc #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
2a8669ded2 #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
ce747255bc #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
122c9cb363 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
4583a9f826 #35 Sanity command
* refactors "toggling" of recorded/checked state
* introduces mark_as_edited() for RecordableObjectMixin
2021-11-17 12:09:49 +01:00
f62dd76d94 #35 Sanity command
* adds sanity check for deadlines and geometries
2021-11-17 09:40:07 +01:00
60d7a8d7d1 #35 Sanity command
* improves performance
* adds sanity actions for compensation state and compensation action
2021-11-17 09:32:11 +01:00
a064734b8a #35 Sanity command
* adds new sanitize_db.py command (WIP)
2021-11-16 17:50:10 +01:00
96caebcae1 Refactoring
* adds simple getter methods for UserActionLogEntry
* replaces manual creation of UserActionLogEntry with new methods
2021-11-16 13:15:15 +01:00
7f43f197d5 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
bd189c4a54 Refactoring
* moves updating of shared access users into Intervention
2021-11-16 12:51:10 +01:00
6dd13179b5 Refactoring
* splits compensation/models.py into subpackage
* renames base objects by adding suffix Mixin
2021-11-16 08:29:18 +01:00
65f02c5111 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
4ae5b38198 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
9211068dc7 #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
e4a40cdff5 #38 User requests
* implements 4) "Comment fields should be of unlimited size"
2021-11-15 14:08:29 +01:00
6ec37dbe11 #38 User requests
* implements 3) "Extend sharing on direct adding of users"
2021-11-15 14:00:08 +01:00
e633ac542b #39 Drop fundings
* removes fundings from all models
2021-11-15 10:55:15 +01:00
03ff4098f0 #19 Tests
* adds workflow edit testing for compensations
2021-11-12 16:05:26 +01:00
92cfb95789 #19 Tests
* adds workflow testing for geometries on new creation of intervention and compensation
*
2021-11-12 14:54:33 +01:00
6c35fc59af #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
a5e816c67b #19 Tests
* adds workflow tests for eco account deduction creation
2021-11-11 13:35:08 +01:00
ffadfa2f47 #19 Tests
* adds workflow tests for compensation checking and recording
* improves related code
2021-11-11 13:13:05 +01:00
796990ffbc #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
34fd78be5e #19 Tests
* adds workflow tests or deductions in InterventionWorkflowTestCase
* fixes bugs detected by testing
2021-11-10 15:36:18 +01:00
d93ff4015b #19 Tests
* adds new BaseWorkflowTestCase class for encapsulating
* adds new InterventionWorkflowTestCase class with first workflow tests
2021-11-10 14:08:16 +01:00
7a1db1e9c7 #19 Tests
* moves dummy data creation from BaseViewTestCase into BaseTestCase
2021-11-10 11:41:51 +01:00
eb2e19cbe0 #19 Tests
* adds EcoAccount tests
* fixes bugs found by testing
2021-11-10 09:11:24 +01:00
81c32d6318 #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
30e5239c49 #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
c4af63cea2 #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
7c7a21052a #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
023bdda545 #19 Tests
* adds tests for views in intervention app
* fixes bugs detected by test writing
2021-10-26 11:38:34 +02:00
100f31bda7 HOTFIX: Quality checks
* fixes bug due to missing evaluation of compensation validity
2021-10-26 07:56:26 +02:00
13c1a35a36 #36 Quality checks
* adds check on recording of intervention in case of invalid compensations
2021-10-26 07:47:53 +02:00
d7bb2ef1dd #36 Quality checks
* adds unchecking/unrecording of interventions in case of post-check|post-record editing
2021-10-25 17:39:39 +02:00
f6f532effb #36 Quality checks
* refactors toggling of recorded status into RecordableMixin
2021-10-25 17:01:02 +02:00
0e4113249f #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
efd5b6bb98 #36 Quality checks
* moves geometry check logic to upper class
2021-10-25 13:21:27 +02:00
b6e52f6b4c #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
5e00e8cc1b #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
6b152616dd #26 Annual conservation reports
* enhances TimespanReportForm control rendering
* adds/updates translations
2021-10-20 13:41:32 +02:00
c45198e825 #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
5907d46ab2 Geometry fix
* removes geographic=True from Geometry model
2021-10-20 10:38:07 +02:00
31ae3dd430 #26 Annual conservation report
* WIP: EcoAccountReport
2021-10-19 16:06:19 +02:00
d744e22d94 #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
060ff5f4ad #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
a5be369ee6 Translations
* adds/updates translations
2021-10-15 09:25:26 +02:00
c209b2eb86 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
e49011edc6 #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
757fd16b13 #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
f4bfc0db6e #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
86ed11c907 #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
98f8a222dc #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
ac665c9268 #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
feeddda90d #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
a50deaaf18 #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
b7ef6ff006 #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
1965721dea #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
f3f5cc2b50 #7 New Form
* extends KonovaCode filtering for parent objects matching given input
2021-09-29 11:44:07 +02:00
72a196d76f #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
58eefbdbe6 #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
9189785eb0 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
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