Compare commits

...

8 Commits
1.4.1 ... 1.4.3

Author SHA1 Message Date
fa86cc142f Merge pull request 'requirements_update' (#394) from requirements_update into master
Reviewed-on: SGD-Nord/konova#394
2024-04-12 08:08:00 +02:00
6523891703 # Itsdangerous update
* adds itsdangerous package update
2024-04-12 07:51:18 +02:00
18f590f4a6 # Requirements update
* updates requirements.txt
2024-04-12 07:51:17 +02:00
04dc7fcd30 # Admin backends
* disables certain admin backends
* adds proper ordering to server message admin overview
2024-04-03 08:29:19 +02:00
09546212b9 # Admin button
* adds button for easier admin backend access
2024-04-03 08:26:00 +02:00
b1cd7dee40 # JSON Decode error catch
* adds error catching on wfs parcel resolving
2024-03-15 09:10:06 +01:00
c772e1de06 Merge remote-tracking branch 'origin/master' 2024-03-12 10:32:17 +01:00
4332a750d1 # Message rendering
* adds icons to message danger, info and success rendering
2024-03-12 10:32:05 +01:00
10 changed files with 65 additions and 25 deletions

View File

@@ -148,7 +148,7 @@ class CompensationActionAdmin(admin.ModelAdmin):
admin.site.register(Compensation, CompensationAdmin)
admin.site.register(EcoAccount, EcoAccountAdmin)
admin.site.register(EcoAccountDeduction, EcoAccountDeductionAdmin)
#admin.site.register(EcoAccountDeduction, EcoAccountDeductionAdmin)
# For a more cleaner admin interface these rarely used admin views are not important for deployment
#admin.site.register(Payment, PaymentAdmin)

View File

@@ -16,4 +16,5 @@ class EmaAdmin(AbstractCompensationAdmin):
"teams",
]
admin.site.register(Ema, EmaAdmin)

View File

@@ -151,7 +151,7 @@ class ResubmissionAdmin(BaseResourceAdmin):
# Outcommented for a cleaner admin backend on production
admin.site.register(Geometry, GeometryAdmin)
#admin.site.register(Geometry, GeometryAdmin)
#admin.site.register(Parcel, ParcelAdmin)
#admin.site.register(District, DistrictAdmin)
#admin.site.register(Municipal, MunicipalAdmin)

View File

@@ -275,4 +275,7 @@ Similar to bootstraps 'shadow-lg'
}
.tree-label.badge{
font-size: 90%;
}
.alert{
margin-bottom: 0 !important;
}

View File

@@ -93,14 +93,23 @@ class ClientProxyParcelWFS(BaseClientProxyView):
auth = HTTPDigestAuth(CLIENT_PROXY_AUTH_USER, CLIENT_PROXY_AUTH_PASSWORD)
content, response_code = self.perform_url_call(url, auth=auth)
body = json.loads(content)
error_detected = response_code != 200
error_code = f"response code:{response_code}"
try:
body = json.loads(content)
except JSONDecodeError:
body = {}
error_code = "json invalid"
error_detected = True
body["crs"] = {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:EPSG::25832"
"name": "urn:ogc:def:crs:EPSG::25832",
}
}
if response_code != 200:
if error_detected:
body["crs"]["properties"]["msg"] = f"Error detected ({error_code})"
return JsonResponse({
"status_code": response_code,
"content": body,

View File

@@ -17,6 +17,9 @@ class ServerMessageAdmin(admin.ModelAdmin):
search_fields = [
"subject"
]
ordering = [
"-publish_on"
]
def save_model(self, request, obj, form, change):
obj.save(user=request.user)

View File

@@ -1,33 +1,34 @@
amqp==5.2.0
asgiref==3.7.2
asgiref==3.8.1
async-timeout==4.0.3
beautifulsoup4==4.12.3
beautifulsoup4==4.13.0b2
billiard==4.2.0
cached-property==1.5.2
celery==5.3.6
celery==5.4.0rc2
certifi==2024.2.2
chardet==5.2.0
charset-normalizer==3.3.2
click==8.1.7
click-didyoumean==0.3.0
click-didyoumean==0.3.1
click-plugins==1.1.1
click-repl==0.3.0
coverage==7.3.3
coverage==7.4.4
Deprecated==1.2.14
Django==5.0.3
Django==5.0.4
django-autocomplete-light==3.11.0
django-bootstrap-modal-forms==3.0.4
django-bootstrap4==24.1
django-debug-toolbar==4.2.0
django-filter==24.1
django-debug-toolbar==4.3.0
django-environ==0.11.2
django-filter==24.2
django-fontawesome-5==1.0.18
django-simple-sso==1.2.0
django-tables2==2.7.0
et-xmlfile==1.1.0
idna==3.6
importlib_metadata==7.0.2
itsdangerous==0.24
kombu==5.3.5
idna==3.7
importlib_metadata==7.1.0
itsdangerous==2.1.2
kombu==5.3.7
openpyxl==3.2.0b1
packaging==24.0
pika==1.3.2
@@ -41,17 +42,17 @@ python-dateutil==2.9.0.post0
pytz==2024.1
PyYAML==6.0.1
qrcode==7.3.1
redis==5.1.0a1
redis==5.1.0b4
requests==2.31.0
six==1.16.0
soupsieve==2.5
sqlparse==0.4.4
typing_extensions==4.10.0
typing_extensions==4.11.0
tzdata==2024.1
urllib3==2.2.1
vine==5.1.0
wcwidth==0.2.12
wcwidth==0.2.13
webservices==0.7
wrapt==1.16.0
xmltodict==0.13.0
zipp==3.17.0
zipp==3.18.1

View File

@@ -27,7 +27,18 @@
<div class="col">
{% for message in messages %}
<div class="row alert alert-{{ message.tags }}">
{{ message }}
<div>
<span class="mr-3">
{% if "danger" in message.tags %}
{% fa5_icon 'exclamation' %}
{% elif "info" in message.tags %}
{% fa5_icon 'info' %}
{% elif "success" in message.tags %}
{% fa5_icon 'check' %}
{% endif %}
</span>
{{ message }}
</div>
</div>
{% endfor %}
</div>

View File

@@ -53,6 +53,9 @@
{{ user.username }}
</div>
<div class="dropdown-menu dropdown-menu-right">
{% if user.is_staff or user.is_superuser %}
<a class="dropdown-item" target="_blank" href="{% url 'admin:index' %}">{% fa5_icon 'tools' %} {% trans 'Admin' %}</a>
{% endif %}
<a class="dropdown-item" href="{% url 'user:index' %}">{% fa5_icon 'cogs' %} {% trans 'Settings' %}</a>
<a class="dropdown-item" href="{% url 'logout' %}">{% fa5_icon 'sign-out-alt' %} {% trans 'Logout' %}</a>
</div>

View File

@@ -23,13 +23,22 @@
{% endblock %}
</header>
<div class="container-fluid mt-3 px-5">
<div class="">
{% for message in messages %}
<div class="row alert alert-{{ message.tags }}">
<div class="row alert alert-{{ message.tags }}">
<div>
<span class="mr-3">
{% if "danger" in message.tags %}
{% fa5_icon 'exclamation' %}
{% elif "info" in message.tags %}
{% fa5_icon 'info' %}
{% elif "success" in message.tags %}
{% fa5_icon 'check' %}
{% endif %}
</span>
{{ message }}
</div>
{% endfor %}
</div>
{% endfor %}
{% block body %}