#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
This commit is contained in:
2021-10-25 08:51:06 +02:00
parent 6a528a1085
commit 5e00e8cc1b
6 changed files with 55 additions and 8 deletions

View File

@@ -17,7 +17,7 @@ from konova.forms import RemoveModalForm, NewDocumentForm, SimpleGeomForm, Recor
from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP
from konova.utils.documents import get_document, remove_document
from konova.utils.generators import generate_qr_code
from konova.utils.message_templates import IDENTIFIER_REPLACED, FORM_INVALID
from konova.utils.message_templates import IDENTIFIER_REPLACED, FORM_INVALID, DATA_UNSHARED, DATA_UNSHARED_EXPLANATION
from konova.utils.user_checks import in_group
@@ -136,6 +136,9 @@ def detail_view(request: HttpRequest, id: str):
sum_after_states = after_states.aggregate(Sum("surface"))["surface__sum"] or 0
diff_states = abs(sum_before_states - sum_after_states)
if not is_data_shared:
messages.info(request, DATA_UNSHARED_EXPLANATION)
context = {
"obj": ema,
"geom_form": geom_form,
@@ -343,6 +346,15 @@ def get_document_view(request: HttpRequest, doc_id: str):
"""
doc = get_object_or_404(EmaDocument, id=doc_id)
user = request.user
instance = doc.instance
# File download only possible if related instance is shared with user
if not instance.users.filter(id=user.id):
messages.info(
request,
DATA_UNSHARED
)
return redirect("ema:detail", id=instance.id)
return get_document(doc)