Compare commits

...

161 Commits

Author SHA1 Message Date
mpeltriaux 59fca60134 Merge pull request 'Master' (#587) from master into Docker
Reviewed-on: #587
2026-09-13 12:13:36 +02:00
mpeltriaux b6b740a31c Merge pull request '585 invalid 25832 coordinates' (#586) from 585_Invalid_25832_coordinates into master
Reviewed-on: #586
2026-09-13 12:12:57 +02:00
mpeltriaux 7c200d9034 # Rename check method
* renames is_valid_coord_area to is_valid_coord_range for more clarity
2026-09-13 12:11:18 +02:00
mpeltriaux 750715105e # EPSG:25832 Coordinate validity
* adds epsg:25832 coordinate range check to GeoJsonValidator
* improves resolving of min/max coordinates from envelope on is_valid_coord_area()
2026-09-13 12:10:37 +02:00
mpeltriaux a994554650 # Coordinate validity check
* refactors coordinate validity check in generic base method
* introduces specific check for epsg:25832 (RLP)
* refactors check for epsg:4326 to use generic base method
2026-09-13 11:51:10 +02:00
mpeltriaux 4c7c667bdb # Error fetching
* adds proper fetching of GDAL Exceptions in case of further problems in the future
2026-09-13 11:36:28 +02:00
mpeltriaux 7e136f4022 Merge pull request '# HOTFIX' (#584) from hotfix_feature_checl into master
Reviewed-on: #584
2026-09-12 18:30:56 +02:00
mpeltriaux c8a39e62eb Merge branch 'hotfix_feature_checl' into Docker 2026-09-12 18:30:48 +02:00
mpeltriaux 1393491fb7 # HOTFIX
* fixes bug where specific case leads to no-feature detection
2026-09-12 18:30:13 +02:00
mpeltriaux b1ca199b85 # Bullseye to Trixie
* updates base image from debian 11 to 13
2026-09-12 18:22:16 +02:00
mpeltriaux 3354ad1f68 Merge pull request 'Master' (#583) from master into Docker
Reviewed-on: #583
2026-09-12 18:00:09 +02:00
mpeltriaux 960b681ab9 Merge pull request 'Master' (#579) from master into Docker
Reviewed-on: #579
2026-08-20 08:03:07 +02:00
mpeltriaux e99b371d5d Merge pull request 'Master' (#577) from master into Docker
Reviewed-on: #577
2026-08-20 07:52:54 +02:00
mpeltriaux ba7f5edc33 Merge pull request 'Master' (#571) from master into Docker
Reviewed-on: #571
2026-08-04 06:54:59 +02:00
mpeltriaux 3aa7b4874e Merge pull request 'Update docker' (#569) from master into Docker
Reviewed-on: #569
2026-08-03 13:08:32 +02:00
mpeltriaux 8ade4c2f7a Merge pull request 'Master' (#567) from master into Docker
Reviewed-on: #567
2026-07-16 15:43:33 +02:00
mpeltriaux 67be62a869 Merge pull request 'Master' (#563) from master into Docker
Reviewed-on: #563
2026-07-16 10:39:18 +02:00
mpeltriaux 5a8d20047f Merge pull request 'Master' (#560) from master into Docker
Reviewed-on: #560
2026-07-10 19:03:36 +02:00
mpeltriaux 74d4ee49cc Merge pull request 'Master' (#558) from master into Docker
Reviewed-on: #558
2026-07-10 14:03:05 +02:00
mpeltriaux e8b583d4c6 Merge pull request 'Master' (#553) from master into Docker
Reviewed-on: #553
2026-06-27 09:32:26 +02:00
mpeltriaux f57fa4cc20 Merge pull request 'Master' (#551) from master into Docker
Reviewed-on: #551
2026-06-20 12:11:18 +02:00
mpeltriaux b0f72584e2 Merge pull request 'Master' (#548) from master into Docker
Reviewed-on: #548
2026-06-20 09:28:12 +02:00
mpeltriaux 2bbc780c0b Merge pull request 'Master' (#545) from master into Docker
Reviewed-on: #545
2026-06-17 11:59:35 +02:00
mpeltriaux 15a1bbe771 Merge pull request 'Master' (#543) from master into Docker
Reviewed-on: #543
2026-06-13 13:46:31 +02:00
mpeltriaux 9965ce2d2c Merge pull request 'master' (#540) from master into Docker
Reviewed-on: #540
2026-05-14 13:05:38 +00:00
mpeltriaux 89f309abd2 Merge pull request 'master' (#537) from master into Docker
Reviewed-on: #537
2026-05-10 10:15:13 +00:00
mpeltriaux f134948685 Merge branch 'master' into Docker 2026-03-01 14:31:45 +01:00
mpeltriaux 1e525b90a9 # Dockerfile upgrade
* upgrade baseimage to python 3.13
2026-03-01 14:04:58 +01:00
mpeltriaux 63a516e7d6 Merge branch 'master' into Docker
# Conflicts:
#	requirements.txt
2026-03-01 14:04:21 +01:00
mpeltriaux 2399ca9bf9 Merge pull request 'master' (#530) from master into Docker
Reviewed-on: #530
2026-01-30 08:44:00 +00:00
mpeltriaux c48ccd5334 Merge pull request 'master' (#528) from master into Docker
Reviewed-on: #528
2026-01-21 14:53:47 +00:00
mpeltriaux e2f8fc9c6d # Fix docker warnings
* fixes docker warnings about use of deprecated syntax
2026-01-21 15:52:07 +01:00
mpeltriaux fac658e52c Merge pull request 'master' (#524) from master into Docker
Reviewed-on: #524
2026-01-14 08:08:36 +00:00
mpeltriaux d6a65dd59a Merge pull request 'master' (#521) from master into Docker
Reviewed-on: #521
2026-01-13 09:37:16 +00:00
mpeltriaux cbc8acf6f6 Merge pull request 'master' (#519) from master into Docker
Reviewed-on: #519
2026-01-10 10:04:14 +00:00
mpeltriaux 31de477f26 Merge pull request 'master' (#516) from master into Docker
Reviewed-on: #516
2025-12-19 14:18:12 +01:00
mpeltriaux 19b6e633df Merge pull request 'master' (#514) from master into Docker
Reviewed-on: #514
2025-12-17 14:04:03 +01:00
mpeltriaux b98f821c98 Merge pull request 'master' (#511) from master into Docker
Reviewed-on: #511
2025-12-03 13:50:13 +01:00
mpeltriaux 5421de4e80 Merge pull request 'master' (#509) from master into Docker
Reviewed-on: #509
2025-11-30 12:33:58 +01:00
mpeltriaux a7a0044fc5 Merge pull request 'master' (#506) from master into Docker
Reviewed-on: #506
2025-11-28 11:45:48 +01:00
mpeltriaux 36552b3886 Merge pull request 'master' (#502) from master into Docker
Reviewed-on: #502
2025-11-19 13:16:48 +01:00
mpeltriaux a766c4dbe8 Merge pull request 'master' (#499) from master into Docker
Reviewed-on: #499
2025-11-07 14:12:18 +01:00
mpeltriaux 8126781b77 Merge pull request 'master' (#496) from master into Docker
Reviewed-on: #496
2025-10-23 16:13:04 +02:00
mpeltriaux a6a66d7499 Merge pull request 'master' (#493) from master into Docker
Reviewed-on: #493
2025-10-21 15:59:53 +02:00
mpeltriaux 1c0b67693d Merge pull request 'master' (#489) from master into Docker
Reviewed-on: #489
2025-10-15 09:51:46 +02:00
mpeltriaux ce6bb6b23b Merge pull request 'master' (#486) from master into Docker
Reviewed-on: #486
2025-10-12 11:32:27 +02:00
mpeltriaux 0b8176db2e Merge pull request 'master' (#484) from master into Docker
Reviewed-on: #484
2025-09-22 12:37:34 +02:00
mpeltriaux 3a299a040a Merge pull request 'master' (#482) from master into Docker
Reviewed-on: #482
2025-08-18 08:47:01 +02:00
mpeltriaux 3c5206139b Merge pull request 'master' (#477) from master into Docker
Reviewed-on: #477
2025-05-12 15:40:21 +02:00
mpeltriaux 6c53f39a28 Merge pull request 'master' (#474) from master into Docker
Reviewed-on: #474
2025-03-28 16:41:31 +01:00
mpeltriaux 64d8f47174 Merge pull request 'Docker_enhanced' (#472) from Docker_enhanced into Docker
Reviewed-on: #472
2025-03-28 16:11:18 +01:00
mpeltriaux f5f3246e89 # Docker enhancements
* optimizes nginx.conf
   * better logging of proxied requests
2025-03-24 14:17:08 +01:00
mpeltriaux ad8961ab82 # Docker enhancements
* optimizes nginx.conf
   * better proxy pipelining
* optimizes Dockerfile
   * smaller resulting image
   * faster rebuilding due to reusing of existing layers
* optimizes docker-entrypoint.sh
   * better startup performance
   * better compatibility with docker engine
2025-03-24 13:52:31 +01:00
mpeltriaux c2c8630c82 Merge pull request 'master' (#471) from master into Docker
Reviewed-on: #471
2025-02-14 15:33:19 +01:00
mpeltriaux dce9e1fc71 # Enhancements
* increases nginx max POST body size to 25MB (document upload)
* limits package requests on version 2.32 due to dependency of kombu to this version
2025-01-24 16:21:55 +01:00
mpeltriaux 2b84bab1d0 Merge pull request 'master' (#469) from master into Docker
Reviewed-on: #469
2025-01-24 16:12:33 +01:00
mpeltriaux 303583daa1 Merge pull request 'master' (#466) from master into Docker
Reviewed-on: #466
2025-01-21 13:44:14 +01:00
mpeltriaux d07b2ffbfb Merge pull request 'master' (#463) from master into Docker
Reviewed-on: #463
2025-01-08 16:05:15 +01:00
mpeltriaux 335800c44b Merge pull request 'master' (#459) from master into Docker
Reviewed-on: #459
2024-12-23 13:42:36 +01:00
mpeltriaux 5766cfde47 Merge pull request 'master' (#454) from master into Docker
Reviewed-on: #454
2024-12-23 12:09:47 +01:00
mpeltriaux 2ed3fcc0f9 Merge pull request 'master' (#449) from master into Docker
Reviewed-on: #449
2024-11-13 16:09:48 +01:00
mpeltriaux bf72295615 Merge pull request 'master' (#447) from master into Docker
Reviewed-on: #447
2024-10-26 10:25:06 +02:00
mpeltriaux 6b860f8ea5 Merge pull request 'master' (#445) from master into Docker
Reviewed-on: #445
2024-10-26 09:48:50 +02:00
mpeltriaux 2fa2fa547b Merge pull request 'master' (#443) from master into Docker
Reviewed-on: #443
2024-10-25 19:27:23 +02:00
mpeltriaux 3de956872c Merge pull request 'master' (#441) from master into Docker
Reviewed-on: #441
2024-10-25 14:24:55 +02:00
mpeltriaux 1c8e3992d6 Merge pull request 'master' (#438) from master into Docker
Reviewed-on: #438
2024-08-26 18:57:35 +02:00
mpeltriaux e6e9e141c8 Merge pull request 'master' (#436) from master into Docker
Reviewed-on: #436
2024-08-19 18:35:17 +02:00
mpeltriaux f8ece06ee8 Merge pull request 'master' (#431) from master into Docker
Reviewed-on: #431
2024-08-07 12:07:22 +02:00
mpeltriaux 149a351bfd Merge pull request 'master' (#429) from master into Docker
Reviewed-on: #429
2024-08-07 12:02:21 +02:00
mpeltriaux 0164717b8e Merge pull request 'master' (#426) from master into Docker
Reviewed-on: #426
2024-08-06 14:28:41 +02:00
mpeltriaux 104952bfc3 Merge pull request 'master' (#423) from master into Docker
Reviewed-on: #423
2024-07-10 09:30:30 +02:00
mpeltriaux f96241c8d1 Merge pull request 'master' (#421) from master into Docker
Reviewed-on: #421
2024-07-10 09:27:09 +02:00
mpeltriaux ac6b534f58 Merge pull request 'master' (#418) from master into Docker
Reviewed-on: #418
2024-07-08 18:44:22 +02:00
mpeltriaux 06910cd69a # Image tag
* increases image tag
2024-07-05 10:56:10 +02:00
mpeltriaux a48ba520fc Merge branch 'refs/heads/master' into Docker
# Conflicts:
#	konova/celery.py
2024-07-05 10:52:13 +02:00
mpeltriaux 9f18aa5890 Merge pull request 'master' (#414) from master into Docker
Reviewed-on: #414
2024-07-04 11:42:20 +02:00
mpeltriaux ab3bd84f3b # Docker enhancement
* adds logging for gunicorn by default
* adds image tagging
* drops docker-compose environment setting in favor of .env usage (needs to be copied from .env.sample)
2024-07-04 09:37:13 +02:00
mpeltriaux f829cd5a4c Merge branch 'refs/heads/master' into Docker
# Conflicts:
#	konova/sub_settings/django_settings.py
#	konova/sub_settings/sso_settings.py
#	requirements.txt
2024-07-04 09:30:41 +02:00
mpeltriaux 0f2bf95b71 Merge pull request 'master' (#409) from master into Docker
Reviewed-on: #409
2024-06-18 11:50:43 +02:00
mpeltriaux 6a307016ec Merge pull request 'master' (#403) from master into Docker
Reviewed-on: #403
2024-05-17 10:59:17 +02:00
mpeltriaux 51017ef8fa Merge pull request 'master' (#401) from master into Docker
Reviewed-on: #401
2024-05-17 07:54:16 +02:00
mpeltriaux 05560534bc Merge pull request 'master' (#399) from master into Docker
Reviewed-on: #399
2024-05-16 17:37:56 +02:00
mpeltriaux c882173e78 Merge branch 'refs/heads/master' into Docker
# Conflicts:
#	konova/sub_settings/sso_settings.py
#	requirements.txt
2024-05-16 15:22:57 +02:00
mpeltriaux 1d94211428 # Requirements update
* fixes requirements.txt due to django-simple-sso dependency
2024-04-12 08:51:18 +02:00
mpeltriaux 37357080d8 # Gunicorn update
* updates gunicorn package
2024-04-12 08:08:27 +02:00
mpeltriaux 5afa13ac92 Merge branch 'refs/heads/master' into Docker
# Conflicts:
#	requirements.txt
2024-04-12 08:07:05 +02:00
mpeltriaux 416cad1c8f Merge pull request 'master' (#392) from master into Docker
Reviewed-on: SGD-Nord/konova#392
2024-04-02 08:11:08 +02:00
mpeltriaux b5f83b7163 Merge pull request '# Requirements' (#390) from master into Docker
Reviewed-on: SGD-Nord/konova#390
2024-03-11 08:22:35 +01:00
mpeltriaux 20cfb5f345 Merge pull request 'master' (#389) from master into Docker
Reviewed-on: SGD-Nord/konova#389
2024-02-29 18:39:41 +01:00
mpeltriaux 88c96b95f2 Merge pull request '# HOTFIX' (#388) from master into Docker
Reviewed-on: SGD-Nord/konova#388
2024-02-21 18:32:16 +01:00
mpeltriaux f6c500b02a Merge pull request 'master' (#387) from master into Docker
Reviewed-on: SGD-Nord/konova#387
2024-02-16 10:16:43 +01:00
mpeltriaux d702cd8716 Merge pull request 'master' (#385) from master into Docker
Reviewed-on: SGD-Nord/konova#385
2024-02-16 08:45:32 +01:00
mpeltriaux 329cdd4838 Merge pull request 'Docker_django5' (#380) from Docker_django5 into Docker
Reviewed-on: SGD-Nord/konova#380
2024-01-05 17:39:48 +01:00
mpeltriaux 1b70024a29 # Python bullseye
* adds -bullseye to base docker package to ensure backwards compatibility
2024-01-05 17:38:58 +01:00
mpeltriaux 58206853ee Django5
* changes python dependency
2024-01-05 10:05:27 +01:00
mpeltriaux 6356398c40 Merge pull request 'master' (#379) from master into Docker_django5
Reviewed-on: SGD-Nord/konova#379
2024-01-05 09:47:53 +01:00
mpeltriaux 8519922d78 Merge pull request 'Netgis map client fix' (#376) from master into Docker
Reviewed-on: SGD-Nord/konova#376
2023-12-28 15:13:11 +01:00
mpeltriaux 5ac0654fd4 Merge pull request 'master' (#375) from master into Docker
Reviewed-on: SGD-Nord/konova#375
2023-12-13 13:38:00 +01:00
mpeltriaux 6c07a81b4f Merge pull request 'master' (#372) from master into Docker
Reviewed-on: SGD-Nord/konova#372
2023-12-12 07:35:17 +01:00
mpeltriaux ba45b4f961 Merge pull request 'HOTFIX netgis client' (#367) from master into Docker
Reviewed-on: SGD-Nord/konova#367
2023-12-07 06:44:47 +01:00
mpeltriaux 280de82a52 Merge pull request 'Hotfix map client edit errors' (#366) from master into Docker
Reviewed-on: SGD-Nord/konova#366
2023-12-05 07:29:41 +01:00
mpeltriaux 6022e2d879 Merge pull request '# Hotfix netgis client' (#365) from master into Docker
Reviewed-on: SGD-Nord/konova#365
2023-12-05 07:06:19 +01:00
mpeltriaux 1996efcc0d Docker-compose fix
* drops local volume usage in favor of copied code into container
2023-11-30 12:44:50 +01:00
mpeltriaux 80569119cb Merge branch 'master' into Docker
# Conflicts:
#	requirements.txt
2023-11-30 12:43:44 +01:00
mpeltriaux 98e71d4e8a Merge pull request 'HOTFIX' (#355) from master into Docker
Reviewed-on: SGD-Nord/konova#355
2023-11-07 16:27:11 +01:00
mpeltriaux fec7191ac2 Merge pull request 'HOTFIX' (#354) from master into Docker
Reviewed-on: SGD-Nord/konova#354
2023-10-26 07:27:19 +02:00
mpeltriaux 9b1085f206 Merge pull request 'HOTFIX' (#353) from master into Docker
Reviewed-on: SGD-Nord/konova#353
2023-10-26 07:23:21 +02:00
mpeltriaux b35d175a5c Merge pull request 'master' (#351) from master into Docker
Reviewed-on: SGD-Nord/konova#351
2023-10-25 10:10:14 +02:00
mpeltriaux 7f5fb022ac Merge pull request 'master' (#348) from master into Docker
Reviewed-on: SGD-Nord/konova#348
2023-09-15 13:21:38 +02:00
mpeltriaux 2d3314ab18 Merge pull request 'master' (#344) from master into Docker
Reviewed-on: SGD-Nord/konova#344
2023-08-25 15:06:32 +02:00
mpeltriaux 8b489f013d Merge pull request 'master' (#341) from master into Docker
Reviewed-on: SGD-Nord/konova#341
2023-08-09 07:30:18 +02:00
mpeltriaux 16ce5506d8 Merge pull request 'master' (#336) from master into Docker
Reviewed-on: SGD-Nord/konova#336
2023-05-17 14:40:17 +02:00
mpeltriaux e440bf8372 Merge pull request 'master' (#333) from master into Docker
Reviewed-on: SGD-Nord/konova#333
2023-05-16 14:11:20 +02:00
mpeltriaux 607db267e6 Merge pull request 'master' (#330) from master into Docker
Reviewed-on: SGD-Nord/konova#330
2023-04-26 11:30:22 +02:00
mpeltriaux 352ca64e09 Merge pull request 'master' (#327) from master into Docker
Reviewed-on: SGD-Nord/konova#327
2023-04-19 15:25:05 +02:00
mpeltriaux f2b735da6e Merge pull request 'master' (#324) from master into Docker
Reviewed-on: SGD-Nord/konova#324
2023-03-30 15:12:47 +02:00
mpeltriaux 6f7cfb713e Merge pull request 'master' (#321) from master into Docker
Reviewed-on: SGD-Nord/konova#321
2023-03-28 13:53:14 +02:00
mpeltriaux 103b703ee9 Merge pull request 'master' (#318) from master into Docker
Reviewed-on: SGD-Nord/konova#318
2023-03-24 07:14:34 +01:00
mpeltriaux daf8b1dce6 Merge pull request 'master' (#316) from master into Docker
Reviewed-on: SGD-Nord/konova#316
2023-03-22 09:00:33 +01:00
mpeltriaux c088affd74 Merge pull request 'master' (#313) from master into Docker
Reviewed-on: SGD-Nord/konova#313
2023-03-16 08:14:37 +01:00
mpeltriaux ecc727c991 Merge pull request 'master' (#311) from master into Docker
Reviewed-on: SGD-Nord/konova#311
2023-03-13 07:00:49 +01:00
mpeltriaux 632569fa5d Merge pull request 'master' (#307) from master into Docker
Reviewed-on: SGD-Nord/konova#307
2023-02-23 15:35:07 +01:00
mpeltriaux 6c6cbb7396 Merge pull request 'HOTFIX' (#305) from master into Docker
Reviewed-on: SGD-Nord/konova#305
2023-02-23 12:03:23 +01:00
mpeltriaux 5e6bfdf77e Merge pull request 'HOTFIX' (#304) from master into Docker
Reviewed-on: SGD-Nord/konova#304
2023-02-23 10:45:57 +01:00
mpeltriaux 35e5e18b79 Merge pull request 'master' (#303) from master into Docker
Reviewed-on: SGD-Nord/konova#303
2023-02-23 10:24:38 +01:00
mpeltriaux c0e8c6bd84 Merge pull request 'master' (#298) from master into Docker
Reviewed-on: SGD-Nord/konova#298
2023-02-21 08:07:47 +01:00
mpeltriaux 64541b76c5 Merge pull request 'master' (#295) from master into Docker
Reviewed-on: SGD-Nord/konova#295
2023-02-13 14:42:17 +01:00
mpeltriaux f65b9262cb Merge pull request 'master' (#292) from master into Docker
Reviewed-on: SGD-Nord/konova#292
2023-02-06 15:01:50 +01:00
mpeltriaux 2765d0548e Merge pull request 'Quality Check Command enhancement' (#288) from master into Docker
Reviewed-on: SGD-Nord/konova#288
2023-02-01 14:17:21 +01:00
mpeltriaux 951f810ce5 Merge pull request 'master' (#287) from master into Docker
Reviewed-on: SGD-Nord/konova#287
2023-02-01 14:10:04 +01:00
mpeltriaux d2c177d448 Merge pull request 'master' (#283) from master into Docker
Reviewed-on: SGD-Nord/konova#283
2022-12-22 07:56:02 +01:00
mpeltriaux 299727a7b4 Merge pull request 'master' (#279) from master into Docker
Reviewed-on: SGD-Nord/konova#279
2022-12-14 16:37:41 +01:00
mpeltriaux b97976b2c5 Merge pull request 'master' (#276) from master into Docker
Reviewed-on: SGD-Nord/konova#276
2022-12-13 06:50:43 +01:00
mpeltriaux 20241661ff Merge pull request 'master' (#273) from master into Docker
Reviewed-on: SGD-Nord/konova#273
2022-12-09 13:02:46 +01:00
mpeltriaux ad5c0bea67 Merge pull request 'master' (#270) from master into Docker
Reviewed-on: SGD-Nord/konova#270
2022-12-09 07:25:30 +01:00
mpeltriaux 80a44277bc Merge pull request 'Hotfix: Resubmission mail' (#265) from master into Docker
Reviewed-on: SGD-Nord/konova#265
2022-12-05 06:55:53 +01:00
mpeltriaux 5c2b5affc9 Merge pull request 'master' (#264) from master into Docker
Reviewed-on: SGD-Nord/konova#264
2022-12-05 06:10:26 +01:00
mpeltriaux cd99743d1e Merge pull request 'master' (#261) from master into Docker
Reviewed-on: SGD-Nord/konova#261
2022-12-02 06:43:28 +01:00
mpeltriaux b39432be1a Merge pull request 'master' (#259) from master into Docker
Reviewed-on: SGD-Nord/konova#259
2022-12-01 14:01:40 +01:00
mpeltriaux 03f9a33e54 Merge pull request 'Hotfix' (#256) from master into Docker
Reviewed-on: SGD-Nord/konova#256
2022-12-01 07:05:50 +01:00
mpeltriaux 699a9c1e76 Merge pull request 'Revert "File number public reports"' (#254) from master into Docker
Reviewed-on: SGD-Nord/konova#254
2022-11-28 13:52:34 +01:00
mpeltriaux 4dfd02291e Merge pull request 'master' (#253) from master into Docker
Reviewed-on: SGD-Nord/konova#253
2022-11-28 07:29:36 +01:00
mpeltriaux e7ca485a88 Merge pull request 'master' (#247) from master into Docker
Reviewed-on: SGD-Nord/konova#247
2022-11-23 16:07:21 +01:00
mpeltriaux 8319cbfe17 Merge pull request 'master' (#245) from master into Docker
Reviewed-on: SGD-Nord/konova#245
2022-11-23 07:14:15 +01:00
mpeltriaux 4a023e9f10 Merge pull request 'Hotfix' (#242) from master into Docker
Reviewed-on: SGD-Nord/konova#242
2022-11-18 16:22:50 +01:00
mpeltriaux 4100f96dc6 Merge pull request 'master' (#241) from master into Docker
Reviewed-on: SGD-Nord/konova#241
2022-11-18 16:17:39 +01:00
mpeltriaux ca24f098e4 Merge pull request 'master' (#236) from master into Docker
Reviewed-on: SGD-Nord/konova#236
2022-11-18 06:53:27 +01:00
mpeltriaux 80dcd62199 Merge pull request 'master' (#234) from master into Docker
Reviewed-on: SGD-Nord/konova#234
2022-11-17 06:55:28 +01:00
mpeltriaux 0cfd3da728 Merge pull request 'master' (#227) from master into Docker
Reviewed-on: SGD-Nord/konova#227
2022-11-14 07:23:43 +01:00
mpeltriaux e141851a87 Merge pull request 'master' (#224) from master into Docker
Reviewed-on: SGD-Nord/konova#224
2022-10-19 07:35:31 +02:00
mpeltriaux 89ec67999b Merge pull request 'master' (#221) from master into Docker
Reviewed-on: SGD-Nord/konova#221
2022-10-12 09:02:49 +02:00
mpeltriaux ec38daaedc Merge pull request 'master' (#219) from master into Docker
Reviewed-on: SGD-Nord/konova#219
2022-10-11 16:41:06 +02:00
mpeltriaux 45c0826a84 Merge pull request 'master' (#215) from master into Docker
Reviewed-on: SGD-Nord/konova#215
2022-10-05 11:03:03 +02:00
mpeltriaux 45a383cf85 Merge pull request 'master' (#213) from master into Docker
Reviewed-on: SGD-Nord/konova#213
2022-09-29 10:46:30 +02:00
mpeltriaux 90aff209f9 Merge pull request 'master' (#210) from master into Docker
Reviewed-on: SGD-Nord/konova#210
2022-09-28 12:28:49 +02:00
mpeltriaux 13528e91e9 Merge pull request 'master' (#207) from master into Docker
Reviewed-on: SGD-Nord/konova#207
2022-09-16 12:13:59 +02:00
mpeltriaux 04179d633c Merge pull request 'master' (#205) from master into Docker
Reviewed-on: SGD-Nord/konova#205
2022-09-16 07:24:21 +02:00
mpeltriaux 0a241305d3 Merge pull request 'Docker Update' (#199) from master into Docker
Reviewed-on: SGD-Nord/konova#199
2022-08-15 11:23:09 +02:00
mpeltriaux 31565a0bc4 Merge pull request 'Docker_tmp' (#188) from Docker_tmp into Docker
Reviewed-on: SGD-Nord/konova#188
2022-08-02 09:54:31 +02:00
mpeltriaux af747417d3 Revert "Revert "Merge branch 'Docker' into master""
This reverts commit 1c38acea25.
2022-08-02 09:44:25 +02:00
mpeltriaux c6606c4151 Merge pull request 'master' (#187) from master into Docker_tmp
Reviewed-on: SGD-Nord/konova#187
2022-08-02 09:43:04 +02:00
10 changed files with 303 additions and 58 deletions
+36
View File
@@ -0,0 +1,36 @@
# Nutze ein schlankes Python-Image
FROM python:3.13-slim-trixie
ENV PYTHONUNBUFFERED 1
WORKDIR /konova
# Installiere System-Abhängigkeiten
RUN apt-get update && apt-get install -y --no-install-recommends \
gdal-bin redis-server nginx \
&& rm -rf /var/lib/apt/lists/* # Platz sparen
# Erstelle benötigte Verzeichnisse & setze Berechtigungen
RUN mkdir -p /var/log/nginx /var/log/gunicorn /var/lib/nginx /tmp/nginx_client_body \
&& touch /var/log/nginx/access.log /var/log/nginx/error.log \
&& chown -R root:root /var/log/nginx /var/lib/nginx /tmp/nginx_client_body
# Kopiere und installiere Python-Abhängigkeiten
COPY ./requirements.txt /konova/
RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt
# Entferne Standard-Nginx-Site und ersetze sie durch eigene Config
RUN rm -rf /etc/nginx/sites-enabled/default
COPY ./nginx.conf /etc/nginx/conf.d
# Kopiere restliche Projektdateien
COPY . /konova/
# Sammle statische Dateien
RUN python manage.py collectstatic --noinput
# Exponiere Ports
#EXPOSE 80 6379 8000
# Setze Entrypoint
ENTRYPOINT ["/konova/docker-entrypoint.sh"]
+56
View File
@@ -4,6 +4,7 @@ the database postgresql and the css library bootstrap as well as the icon packag
fontawesome for a modern look, following best practices from the industry. fontawesome for a modern look, following best practices from the industry.
## Background processes ## Background processes
### !!! For non-docker run
Konova uses celery for background processing. To start the worker you need to run Konova uses celery for background processing. To start the worker you need to run
```shell ```shell
$ celery -A konova worker -l INFO $ celery -A konova worker -l INFO
@@ -18,3 +19,58 @@ Technical documention is provided in the projects git wiki.
A user documentation is not available (and not needed, yet). A user documentation is not available (and not needed, yet).
# Docker
To run the docker-compose as expected, you need to take the following steps:
1. Create a database containing docker, using an appropriate Dockerfile, e.g. the following
```
version: '3.3'
services:
postgis:
image: postgis/postgis
restart: always
container_name: postgis-docker
ports:
- 5433:5432
volumes:
- db-volume:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
networks:
- db-network-bridge
networks:
db-network-bridge:
driver: "bridge"
volumes:
db-volume:
```
This Dockerfile creates a Docker container running postgresql and postgis, creates the default superuser postgres,
creates a named volume for persisting the database and creates a new network bridge, which **must be used by any other
container, which wants to write/read on this database**.
2. Make sure the name of the network bridge above matches the network in the konova docker-compose.yml
3. Get into the running postgis container (`docker exec -it postgis-docker bash`) and create new databases, users and so on. Make sure the database `konova` exists now!
4. Replace all `CHANGE_ME_xy` values inside of konova/docker-compose.yml for your installation. Make sure the `SSO_HOST` holds the proper SSO host, e.g. for the arnova project `arnova.example.org` (Arnova must be installed and the webserver configured as well, of course)
5. Take a look on konova/settings.py and konova/sub_settings/django_settings.py. Again: Replace all occurences of `CHANGE_ME` with proper values for your installation.
1. Make sure you have the proper host strings added to `ALLOWED_HOSTS` inside of django_settings.py.
6. Build and run the docker setup using `docker-compose build` and `docker-compose start` from the main directory of this project (where the docker-compose.yml lives)
7. Run migrations! To do so, get into the konova service container (`docker exec -it konova-docker bash`) and run the needed commands (`python manage.py makemigrations LIST_OF_ALL_MIGRATABLE_APPS`, then `python manage.py migrate`)
8. Run the setup command `python manage.py setup` and follow the instructions on the CLI
9. To enable **SMTP** mail support, make sure your host machine (the one where the docker container run) has the postfix service configured properly. Make sure the `mynetworks` variable is xtended using the docker network bridge ip, created in the postgis container and used by the konova services.
1. **Hint**: You can find out this easily by trying to perform a test mail in the running konova web application (which will fail, of course). Then take a look to the latest entries in `/var/log/mail.log` on your host machine. The failed IP will be displayed there.
2. **Please note**: This installation guide is based on SMTP using postfix!
3. Restart the postfix service on your host machine to reload the new configuration (`service postfix restart`)
10. Finally, make sure your host machine webserver passes incoming requests properly to the docker nginx webserver of konova. A proper nginx config for the host machine may look like this:
```
server {
server_name konova.domain.org;
location / {
proxy_pass http://localhost:KONOVA_NGINX_DOCKER_PORT/;
proxy_set_header Host $host;
}
}
```
+21
View File
@@ -0,0 +1,21 @@
services:
konova:
external_links:
- postgis:db
- arnova-nginx-server:arnova
build: .
image: "ksp/konova:x.y"
container_name: "konova-docker"
command: ./docker-entrypoint.sh
restart: always
volumes:
- /data/apps/konova/uploaded_files:/konova_uploaded_files
ports:
- "1337:80"
# Instead of an own, new network, we need to connect to the existing one, which is provided by the postgis container
# NOTE: THIS NETWORK MUST EXIST
networks:
default:
name: postgis_nat_it_backend
external: true
+27
View File
@@ -0,0 +1,27 @@
#!/bin/bash
set -e # Beende Skript bei Fehlern
set -o pipefail # Fehler in Pipelines nicht ignorieren
# Starte Redis
redis-server --daemonize yes
# Starte Celery Worker im Hintergrund
celery -A konova worker --loglevel=info &
# Starte Nginx als Hintergrundprozess
nginx -g "daemon off;" &
# Setze Gunicorn Worker-Anzahl (Standard: (2*CPUs)+1)
WORKERS=${GUNICORN_WORKERS:-$((2 * $(nproc) + 1))}
# Stelle sicher, dass Logs existieren
mkdir -p /var/log/gunicorn
touch /var/log/gunicorn/access.log /var/log/gunicorn/error.log
# Starte Gunicorn als Hauptprozess
exec gunicorn --workers="$WORKERS" konova.wsgi:application \
--bind=0.0.0.0:8000 \
--access-logfile /var/log/gunicorn/access.log \
--error-logfile /var/log/gunicorn/error.log \
--access-logformat '%({x-real-ip}i)s via %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"'
+2 -3
View File
@@ -191,11 +191,10 @@ STATICFILES_DIRS = [
] ]
# EMAIL (see https://docs.djangoproject.com/en/dev/topics/email/) # EMAIL (see https://docs.djangoproject.com/en/dev/topics/email/)
# CHANGE_ME !!! ONLY FOR DEVELOPMENT !!!
if DEBUG: if DEBUG:
# ONLY FOR DEVELOPMENT NEEDED
EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend' EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'
EMAIL_FILE_PATH = '/tmp/app-messages' # change this to a proper location EMAIL_FILE_PATH = '/tmp/app-messages'
DEFAULT_FROM_EMAIL = env("DEFAULT_FROM_EMAIL") # The default email address for the 'from' element DEFAULT_FROM_EMAIL = env("DEFAULT_FROM_EMAIL") # The default email address for the 'from' element
SERVER_EMAIL = DEFAULT_FROM_EMAIL # The default email sender address, which is used by Django to send errors via mail SERVER_EMAIL = DEFAULT_FROM_EMAIL # The default email sender address, which is used by Django to send errors via mail
+64 -6
View File
@@ -12,7 +12,7 @@ from django.contrib.gis.geos.prototypes.io import WKTWriter
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from konova.settings import GEOM_MAX_VERTICES from konova.settings import GEOM_MAX_VERTICES
from konova.sub_settings.lanis_settings import DEFAULT_SRID_RLP from konova.sub_settings.lanis_settings import DEFAULT_SRID_RLP, DEFAULT_SRID
class GeometryProcessor: class GeometryProcessor:
@@ -50,7 +50,7 @@ class GeometryProcessor:
return geometry.num_coords <= GEOM_MAX_VERTICES return geometry.num_coords <= GEOM_MAX_VERTICES
@staticmethod @staticmethod
def is_valid_4326(geometry): def is_valid_4326(geometry: MultiPolygon) -> bool:
""" Checks whether a given geometry's coordinates are in a valid range to be of EPSG:4326 """ Checks whether a given geometry's coordinates are in a valid range to be of EPSG:4326
Args: Args:
@@ -59,13 +59,69 @@ class GeometryProcessor:
Returns: Returns:
ret_val (bool): Whether the geometry is valid EPSG:4326 ret_val (bool): Whether the geometry is valid EPSG:4326
""" """
assert geometry.srid == DEFAULT_SRID
return GeometryProcessor.is_valid_coord_range(
geometry,
-90.0,
90.0,
-180.0,
180.0,
)
@staticmethod
def is_valid_25832(geometry: MultiPolygon) -> bool:
""" Checks whether a given geometry's coordinates are in a valid range to be of EPSG:25832
Args:
geometry: The geometry
Returns:
ret_val (bool): Whether the geometry is valid EPSG:25832
"""
assert geometry.srid == DEFAULT_SRID_RLP
return GeometryProcessor.is_valid_coord_range(
geometry,
166_000,
834_000,
0,
9_329_000,
)
@staticmethod
def is_valid_coord_range(geometry: MultiPolygon,
min_x:float|int,
max_x:float|int,
min_y:float|int,
max_y: float|int) -> bool:
""" Checks whether a given geometry's coordinates are in a valid range defined by input parameters
Args:
geometry: The geometry
min_x (float|int): The min x value
max_x (float|int): The max x value
min_y (float|int): The min y value
max_y (float|int): The max y value
Returns:
ret_val (bool): Whether the geometry's coordinates stays inside the defined range
"""
if not geometry.centroid.coords: if not geometry.centroid.coords:
# No coordinates at all found, therefore technically proper 4326 # No coordinates at all found, therefore technically proper 4326
return True return True
try: try:
lat,lon = geometry.centroid.coords env_min_x = geometry.envelope.min_x
return (-90.0 <= lat <= 90.0) and (-180.0 <= lon <= 180.0) env_max_x = geometry.envelope.max_x
env_min_y = geometry.envelope.min_y
env_max_y = geometry.envelope.max_x
valid = (
min_x <= env_min_x and
env_max_x <= max_x and
min_y <= env_min_y and
env_max_y <= max_y
)
return valid
except IndexError: except IndexError:
return False return False
@@ -201,10 +257,10 @@ class GeoJsonValidator:
Returns: Returns:
""" """
features = self._input_geojson.get("features", []) features = self._input_geojson.get("features", None)
is_input_geojson_empty = len(self._input_geojson) == 0 is_input_geojson_empty = len(self._input_geojson) == 0
no_features_in_input_found = not features no_features_in_input_found = features is None
if not is_input_geojson_empty and no_features_in_input_found: if not is_input_geojson_empty and no_features_in_input_found:
# check if _input_geojson is a feature itself # check if _input_geojson is a feature itself
@@ -251,6 +307,8 @@ class GeoJsonValidator:
if g.empty: if g.empty:
continue continue
g = GeometryProcessor.cast_to_rlp_srid(g) g = GeometryProcessor.cast_to_rlp_srid(g)
if not GeometryProcessor.is_valid_25832(g):
raise AssertionError(_("This feature does not hold valid EPSG:25832 coordinates:\n {}".format(g.geojson)))
geometry_has_unwanted_dimensions = g.coord_dim > 2 geometry_has_unwanted_dimensions = g.coord_dim > 2
if geometry_has_unwanted_dimensions: if geometry_has_unwanted_dimensions:
+4
View File
@@ -9,6 +9,7 @@ import json
from json import JSONDecodeError from json import JSONDecodeError
import requests import requests
from django.contrib.gis import gdal
from konova.sub_settings import schneider_settings from konova.sub_settings import schneider_settings
from konova.sub_settings.lanis_settings import DEFAULT_SRID from konova.sub_settings.lanis_settings import DEFAULT_SRID
@@ -35,7 +36,10 @@ class ParcelFetcher:
if geom.area < buffer_threshold: if geom.area < buffer_threshold:
# Fallback for malicious geometries which are way too small and would disappear on negative buffering # Fallback for malicious geometries which are way too small and would disappear on negative buffering
geom = geometry.geom geom = geometry.geom
try:
geom.transform(DEFAULT_SRID) geom.transform(DEFAULT_SRID)
except gdal.GDALException as e:
raise ValueError(f"{str(e)}\nCould not transform geometry (id: {geometry.id}) to {DEFAULT_SRID}:\n {geom.geojson}")
self.geojson = geom.ewkt self.geojson = geom.ewkt
self.results = [] self.results = []
Binary file not shown.
+67 -48
View File
@@ -30,7 +30,7 @@
#: konova/filters/mixins/office.py:57 konova/filters/mixins/record.py:23 #: konova/filters/mixins/office.py:57 konova/filters/mixins/record.py:23
#: konova/filters/mixins/self_created.py:24 konova/filters/mixins/share.py:23 #: konova/filters/mixins/self_created.py:24 konova/filters/mixins/share.py:23
#: konova/filters/mixins/user_log.py:17 konova/filters/mixins/user_log.py:18 #: konova/filters/mixins/user_log.py:17 konova/filters/mixins/user_log.py:18
#: konova/forms/geometry_form.py:32 konova/forms/modals/document_form.py:26 #: konova/forms/geometry_form.py:31 konova/forms/modals/document_form.py:26
#: konova/forms/modals/document_form.py:36 #: konova/forms/modals/document_form.py:36
#: konova/forms/modals/document_form.py:50 #: konova/forms/modals/document_form.py:50
#: konova/forms/modals/document_form.py:62 #: konova/forms/modals/document_form.py:62
@@ -45,7 +45,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-14 17:23+0100\n" "POT-Creation-Date: 2026-09-13 12:06+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -129,6 +129,7 @@ msgstr ""
#: analysis/templates/analysis/reports/includes/old_data/amount.html:3 #: analysis/templates/analysis/reports/includes/old_data/amount.html:3
#: compensation/forms/modals/compensation_action.py:66 #: compensation/forms/modals/compensation_action.py:66
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:34 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:34
#: compensation/templates/compensation/report/eco_account/report.html:50
#: intervention/templates/intervention/detail/includes/deductions.html:31 #: intervention/templates/intervention/detail/includes/deductions.html:31
msgid "Amount" msgid "Amount"
msgstr "Menge" msgstr "Menge"
@@ -334,6 +335,7 @@ msgstr "Typ"
#: analysis/templates/analysis/reports/includes/old_data/amount.html:24 #: analysis/templates/analysis/reports/includes/old_data/amount.html:24
#: compensation/tables/compensation.py:87 #: compensation/tables/compensation.py:87
#: compensation/templates/compensation/report/eco_account/report.html:47
#: intervention/forms/modals/deduction.py:58 #: intervention/forms/modals/deduction.py:58
#: intervention/forms/modals/deduction.py:65 intervention/tables.py:92 #: intervention/forms/modals/deduction.py:65 intervention/tables.py:92
#: intervention/templates/intervention/detail/view.html:19 #: intervention/templates/intervention/detail/view.html:19
@@ -448,7 +450,8 @@ msgid "Select the intervention for which this compensation compensates"
msgstr "Wählen Sie den Eingriff, für den diese Kompensation bestimmt ist" msgstr "Wählen Sie den Eingriff, für den diese Kompensation bestimmt ist"
#: compensation/forms/compensation.py:114 #: compensation/forms/compensation.py:114
#: compensation/views/compensation/compensation.py:121 #: compensation/views/compensation/compensation.py:96
#: compensation/views/compensation/compensation.py:160
msgid "New compensation" msgid "New compensation"
msgstr "Neue Kompensation" msgstr "Neue Kompensation"
@@ -475,7 +478,8 @@ msgid "When did the parties agree on this?"
msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?" msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?"
#: compensation/forms/eco_account.py:73 #: compensation/forms/eco_account.py:73
#: compensation/views/eco_account/eco_account.py:105 #: compensation/views/eco_account/eco_account.py:77
#: compensation/views/eco_account/eco_account.py:127
msgid "New Eco-Account" msgid "New Eco-Account"
msgstr "Neues Ökokonto" msgstr "Neues Ökokonto"
@@ -503,7 +507,8 @@ msgstr ""
#: compensation/forms/eco_account.py:257 #: compensation/forms/eco_account.py:257
msgid "Please contact the responsible conservation office to find a solution!" msgid "Please contact the responsible conservation office to find a solution!"
msgstr "Kontaktieren Sie die zuständige Naturschutzbehörde um eine Lösung zu finden!" msgstr ""
"Kontaktieren Sie die zuständige Naturschutzbehörde um eine Lösung zu finden!"
#: compensation/forms/mixins.py:37 #: compensation/forms/mixins.py:37
#: compensation/templates/compensation/detail/eco_account/view.html:63 #: compensation/templates/compensation/detail/eco_account/view.html:63
@@ -818,6 +823,7 @@ msgstr "Am {} von {} verzeichnet worden"
#: compensation/tables/eco_account.py:39 #: compensation/tables/eco_account.py:39
#: compensation/templates/compensation/detail/eco_account/view.html:36 #: compensation/templates/compensation/detail/eco_account/view.html:36
#: compensation/templates/compensation/report/eco_account/report.html:34
#: konova/templates/konova/widgets/progressbar.html:3 #: konova/templates/konova/widgets/progressbar.html:3
msgid "Available" msgid "Available"
msgstr "Verfügbar" msgstr "Verfügbar"
@@ -948,7 +954,7 @@ msgstr "Wiedervorlage"
#: compensation/templates/compensation/detail/compensation/includes/controls.html:20 #: compensation/templates/compensation/detail/compensation/includes/controls.html:20
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:34 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:34
#: ema/templates/ema/detail/includes/controls.html:34 #: ema/templates/ema/detail/includes/controls.html:32
#: intervention/templates/intervention/detail/includes/controls.html:39 #: intervention/templates/intervention/detail/includes/controls.html:39
msgid "Edit" msgid "Edit"
msgstr "Bearbeiten" msgstr "Bearbeiten"
@@ -962,7 +968,7 @@ msgstr "Log anzeigen"
#: compensation/templates/compensation/detail/compensation/includes/controls.html:27 #: compensation/templates/compensation/detail/compensation/includes/controls.html:27
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:41 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:41
#: ema/templates/ema/detail/includes/controls.html:41 #: ema/templates/ema/detail/includes/controls.html:43
#: intervention/templates/intervention/detail/includes/controls.html:46 #: intervention/templates/intervention/detail/includes/controls.html:46
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
@@ -1154,7 +1160,7 @@ msgstr "Verzeichnet am"
#: compensation/templates/compensation/detail/compensation/view.html:107 #: compensation/templates/compensation/detail/compensation/view.html:107
#: compensation/templates/compensation/detail/eco_account/view.html:85 #: compensation/templates/compensation/detail/eco_account/view.html:85
#: compensation/templates/compensation/report/compensation/report.html:54 #: compensation/templates/compensation/report/compensation/report.html:54
#: compensation/templates/compensation/report/eco_account/report.html:47 #: compensation/templates/compensation/report/eco_account/report.html:75
#: ema/templates/ema/detail/view.html:71 #: ema/templates/ema/detail/view.html:71
#: ema/templates/ema/report/report.html:34 #: ema/templates/ema/report/report.html:34
#: intervention/templates/intervention/detail/view.html:113 #: intervention/templates/intervention/detail/view.html:113
@@ -1188,7 +1194,7 @@ msgid "other users"
msgstr "weitere Nutzer" msgstr "weitere Nutzer"
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:18 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:18
#: ema/templates/ema/detail/includes/controls.html:18 #: ema/templates/ema/detail/includes/controls.html:19
#: intervention/forms/modals/share.py:62 #: intervention/forms/modals/share.py:62
#: intervention/templates/intervention/detail/includes/controls.html:18 #: intervention/templates/intervention/detail/includes/controls.html:18
#: intervention/tests/unit/test_forms.py:150 #: intervention/tests/unit/test_forms.py:150
@@ -1258,11 +1264,11 @@ msgstr "Maßnahmenträger"
msgid "Report" msgid "Report"
msgstr "Bericht" msgstr "Bericht"
#: compensation/templates/compensation/report/eco_account/report.html:34 #: compensation/templates/compensation/report/eco_account/report.html:43
msgid "Deductions for" msgid "Deductions for"
msgstr "Abbuchungen für" msgstr "Abbuchungen für"
#: compensation/templates/compensation/report/eco_account/report.html:42 #: compensation/templates/compensation/report/eco_account/report.html:64
#: intervention/templates/intervention/report/report.html:53 #: intervention/templates/intervention/report/report.html:53
#: intervention/templates/intervention/report/report.html:66 #: intervention/templates/intervention/report/report.html:66
#: intervention/templates/intervention/report/report.html:76 #: intervention/templates/intervention/report/report.html:76
@@ -1292,40 +1298,44 @@ msgstr ""
msgid "Responsible data" msgid "Responsible data"
msgstr "Daten zu den verantwortlichen Stellen" msgstr "Daten zu den verantwortlichen Stellen"
#: compensation/views/compensation/compensation.py:52 #: compensation/views/compensation/compensation.py:53
msgid "Compensations - Overview" msgid "Compensations - Overview"
msgstr "Kompensationen - Übersicht" msgstr "Kompensationen - Übersicht"
#: compensation/views/compensation/compensation.py:167 #: compensation/views/compensation/compensation.py:203
#: compensation/views/compensation/compensation.py:261
#: compensation/views/eco_account/eco_account.py:169
#: compensation/views/eco_account/eco_account.py:224 ema/views/ema.py:175
#: ema/views/ema.py:229 intervention/views/intervention.py:176
#: intervention/views/intervention.py:230
msgid "Edit {}"
msgstr "Bearbeite {}"
#: compensation/views/compensation/compensation.py:242
#: konova/utils/message_templates.py:40 #: konova/utils/message_templates.py:40
msgid "Compensation {} edited" msgid "Compensation {} edited"
msgstr "Kompensation {} bearbeitet" msgstr "Kompensation {} bearbeitet"
#: compensation/views/compensation/compensation.py:190
#: compensation/views/eco_account/eco_account.py:168 ema/views/ema.py:173
#: intervention/views/intervention.py:175
msgid "Edit {}"
msgstr "Bearbeite {}"
#: compensation/views/compensation/report.py:35 #: compensation/views/compensation/report.py:35
#: compensation/views/eco_account/report.py:35 ema/views/report.py:35 #: compensation/views/eco_account/report.py:35 ema/views/report.py:35
#: intervention/views/report.py:36 #: intervention/views/report.py:36
msgid "Report {}" msgid "Report {}"
msgstr "Bericht {}" msgstr "Bericht {}"
#: compensation/views/eco_account/eco_account.py:49 #: compensation/views/eco_account/eco_account.py:51
msgid "Eco-account - Overview" msgid "Eco-account - Overview"
msgstr "Ökokonten - Übersicht" msgstr "Ökokonten - Übersicht"
#: compensation/views/eco_account/eco_account.py:82 #: compensation/views/eco_account/eco_account.py:108
msgid "Eco-Account {} added" msgid "Eco-Account {} added"
msgstr "Ökokonto {} hinzugefügt" msgstr "Ökokonto {} hinzugefügt"
#: compensation/views/eco_account/eco_account.py:145 #: compensation/views/eco_account/eco_account.py:205
msgid "Eco-Account {} edited" msgid "Eco-Account {} edited"
msgstr "Ökokonto {} bearbeitet" msgstr "Ökokonto {} bearbeitet"
#: ema/forms.py:42 ema/tests/unit/test_forms.py:27 ema/views/ema.py:107 #: ema/forms.py:42 ema/tests/unit/test_forms.py:27 ema/views/ema.py:79
#: ema/views/ema.py:129
msgid "New EMA" msgid "New EMA"
msgstr "Neue EMA hinzufügen" msgstr "Neue EMA hinzufügen"
@@ -1357,11 +1367,11 @@ msgstr "Ersatzzahlungsmaßnahme"
msgid "EMAs - Overview" msgid "EMAs - Overview"
msgstr "EMAs - Übersicht" msgstr "EMAs - Übersicht"
#: ema/views/ema.py:85 #: ema/views/ema.py:111
msgid "EMA {} added" msgid "EMA {} added"
msgstr "EMA {} hinzugefügt" msgstr "EMA {} hinzugefügt"
#: ema/views/ema.py:150 #: ema/views/ema.py:211
msgid "EMA {} edited" msgid "EMA {} edited"
msgstr "EMA {} bearbeitet" msgstr "EMA {} bearbeitet"
@@ -1425,7 +1435,7 @@ msgstr "Datum Bestandskraft bzw. Rechtskraft"
#: intervention/forms/intervention.py:216 #: intervention/forms/intervention.py:216
#: intervention/tests/unit/test_forms.py:36 #: intervention/tests/unit/test_forms.py:36
#: intervention/views/intervention.py:109 #: intervention/views/intervention.py:82 intervention/views/intervention.py:134
msgid "New intervention" msgid "New intervention"
msgstr "Neuer Eingriff" msgstr "Neuer Eingriff"
@@ -1661,15 +1671,15 @@ msgstr ""
msgid "Check performed" msgid "Check performed"
msgstr "Prüfung durchgeführt" msgstr "Prüfung durchgeführt"
#: intervention/views/intervention.py:53 #: intervention/views/intervention.py:56
msgid "Interventions - Overview" msgid "Interventions - Overview"
msgstr "Eingriffe - Übersicht" msgstr "Eingriffe - Übersicht"
#: intervention/views/intervention.py:86 #: intervention/views/intervention.py:114
msgid "Intervention {} added" msgid "Intervention {} added"
msgstr "Eingriff {} hinzugefügt" msgstr "Eingriff {} hinzugefügt"
#: intervention/views/intervention.py:150 #: intervention/views/intervention.py:212
msgid "Intervention {} edited" msgid "Intervention {} edited"
msgstr "Eingriff {} bearbeitet" msgstr "Eingriff {} bearbeitet"
@@ -1797,16 +1807,11 @@ msgstr "Speichern"
msgid "Not editable" msgid "Not editable"
msgstr "Nicht editierbar" msgstr "Nicht editierbar"
#: konova/forms/geometry_form.py:31 konova/utils/quality.py:44 #: konova/forms/geometry_form.py:30 konova/utils/quality.py:44
#: konova/utils/quality.py:46 templates/form/collapsable/form.html:45 #: konova/utils/quality.py:46 templates/form/collapsable/form.html:45
msgid "Geometry" msgid "Geometry"
msgstr "Geometrie" msgstr "Geometrie"
#: konova/forms/geometry_form.py:105
msgid "Only surfaces allowed. Points or lines must be buffered."
msgstr ""
"Nur Flächen erlaubt. Punkte oder Linien müssen zu Flächen gepuffert werden."
#: konova/forms/modals/document_form.py:37 #: konova/forms/modals/document_form.py:37
msgid "When has this file been created? Important for photos." msgid "When has this file been created? Important for photos."
msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?" msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
@@ -1961,6 +1966,7 @@ msgstr "Raumreferenz"
#: konova/templates/konova/includes/parcels/parcels.html:28 #: konova/templates/konova/includes/parcels/parcels.html:28
msgid "No geometry entry found on database. Please contact an admin!" msgid "No geometry entry found on database. Please contact an admin!"
msgstr "" msgstr ""
"Keine Geometrie in Datenbank gefunden. Kontaktieren Sie einen Administrator!"
#: konova/templates/konova/includes/quickstart/compensations.html:20 #: konova/templates/konova/includes/quickstart/compensations.html:20
#: konova/templates/konova/includes/quickstart/ecoaccounts.html:20 #: konova/templates/konova/includes/quickstart/ecoaccounts.html:20
@@ -2006,39 +2012,52 @@ msgstr "In Zwischenablage kopiert"
msgid "Search" msgid "Search"
msgstr "Suchen" msgstr "Suchen"
#: konova/utils/mailer.py:69 konova/utils/mailer.py:146 #: konova/utils/geometry/geometry_validator.py:311
msgid ""
"This feature does not hold valid EPSG:25832 coordinates:\n"
" {}"
msgstr ""
"Dieses Feature enthält keine validen EPSG:25832 Koordinaten:\n"
" {}"
#: konova/utils/geometry/geometry_validator.py:319
msgid "Only surfaces allowed. Points or lines must be buffered."
msgstr ""
"Nur Flächen erlaubt. Punkte oder Linien müssen zu Flächen gepuffert werden."
#: konova/utils/mailer.py:82 konova/utils/mailer.py:159
msgid "{} - Shared access removed" msgid "{} - Shared access removed"
msgstr "{} - Zugriff entzogen" msgstr "{} - Zugriff entzogen"
#: konova/utils/mailer.py:94 konova/utils/mailer.py:120 #: konova/utils/mailer.py:107 konova/utils/mailer.py:133
msgid "{} - Shared access given" msgid "{} - Shared access given"
msgstr "{} - Zugriff freigegeben" msgstr "{} - Zugriff freigegeben"
#: konova/utils/mailer.py:172 konova/utils/mailer.py:325 #: konova/utils/mailer.py:185 konova/utils/mailer.py:338
msgid "{} - Shared data unrecorded" msgid "{} - Shared data unrecorded"
msgstr "{} - Freigegebene Daten entzeichnet" msgstr "{} - Freigegebene Daten entzeichnet"
#: konova/utils/mailer.py:198 konova/utils/mailer.py:300 #: konova/utils/mailer.py:211 konova/utils/mailer.py:313
msgid "{} - Shared data recorded" msgid "{} - Shared data recorded"
msgstr "{} - Freigegebene Daten verzeichnet" msgstr "{} - Freigegebene Daten verzeichnet"
#: konova/utils/mailer.py:224 konova/utils/mailer.py:375 #: konova/utils/mailer.py:237 konova/utils/mailer.py:388
msgid "{} - Shared data checked" msgid "{} - Shared data checked"
msgstr "{} - Freigegebene Daten geprüft" msgstr "{} - Freigegebene Daten geprüft"
#: konova/utils/mailer.py:249 konova/utils/mailer.py:401 #: konova/utils/mailer.py:262 konova/utils/mailer.py:414
msgid "{} - Deduction changed" msgid "{} - Deduction changed"
msgstr "{} - Abbuchung geändert" msgstr "{} - Abbuchung geändert"
#: konova/utils/mailer.py:275 konova/utils/mailer.py:350 #: konova/utils/mailer.py:288 konova/utils/mailer.py:363
msgid "{} - Shared data deleted" msgid "{} - Shared data deleted"
msgstr "{} - Freigegebene Daten gelöscht" msgstr "{} - Freigegebene Daten gelöscht"
#: konova/utils/mailer.py:422 templates/email/api/verify_token.html:4 #: konova/utils/mailer.py:435 templates/email/api/verify_token.html:4
msgid "Request for new API token" msgid "Request for new API token"
msgstr "Anfrage für neuen API Token" msgstr "Anfrage für neuen API Token"
#: konova/utils/mailer.py:447 #: konova/utils/mailer.py:460
msgid "Resubmission - {}" msgid "Resubmission - {}"
msgstr "Wiedervorlage - {}" msgstr "Wiedervorlage - {}"
@@ -2289,11 +2308,11 @@ msgstr "Neuer Token generiert. Administratoren sind informiert."
msgid "missing" msgid "missing"
msgstr "fehlend" msgstr "fehlend"
#: konova/utils/tables.py:222 #: konova/utils/tables.py:224
msgid "Full access granted" msgid "Full access granted"
msgstr "Für Sie freigegeben - Datensatz kann bearbeitet werden" msgstr "Für Sie freigegeben - Datensatz kann bearbeitet werden"
#: konova/utils/tables.py:222 #: konova/utils/tables.py:224
msgid "Access not granted" msgid "Access not granted"
msgstr "Nicht freigegeben - Datensatz nur lesbar" msgstr "Nicht freigegeben - Datensatz nur lesbar"
@@ -2303,7 +2322,7 @@ msgstr ""
"Dieses Datum ist unrealistisch. Geben Sie bitte das korrekte Datum ein " "Dieses Datum ist unrealistisch. Geben Sie bitte das korrekte Datum ein "
"(>1950)." "(>1950)."
#: konova/views/home.py:75 templates/navbars/navbar.html:16 #: konova/views/home.py:76 templates/navbars/navbar.html:16
msgid "Home" msgid "Home"
msgstr "Home" msgstr "Home"
@@ -2323,7 +2342,7 @@ msgstr "{} verzeichnet"
msgid "Errors found:" msgid "Errors found:"
msgstr "Fehler gefunden:" msgstr "Fehler gefunden:"
#: konova/views/remove.py:35 #: konova/views/remove.py:34
msgid "{} removed" msgid "{} removed"
msgstr "{} entfernt" msgstr "{} entfernt"
+25
View File
@@ -0,0 +1,25 @@
server {
listen 80;
client_max_body_size 25M;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_redirect off;
proxy_cache_bypass $http_upgrade;
}
location /static/ {
alias /konova/static/;
access_log /var/log/nginx/access.log;
autoindex off;
types {
text/css css;
application/javascript js;
}
}
error_log /var/log/nginx/error.log;
}