diff options
author | Andrea Lepori <alepori@student.ethz.ch> | 2020-06-21 15:38:44 +0200 |
---|---|---|
committer | Andrea Lepori <alepori@student.ethz.ch> | 2020-06-21 15:38:44 +0200 |
commit | 0dfed66987e704d757725257d4b2a5e55b72ee5e (patch) | |
tree | 123320fe1f1c5809d34586754d162f57c02fb09c /server/views.py | |
parent | Pdf download, filter on doc type (diff) | |
download | scout-subs-0dfed66987e704d757725257d4b2a5e55b72ee5e.tar.gz scout-subs-0dfed66987e704d757725257d4b2a5e55b72ee5e.zip |
Filter improve, missing chips and date
Diffstat (limited to 'server/views.py')
-rw-r--r-- | server/views.py | 49 |
1 files changed, 43 insertions, 6 deletions
diff --git a/server/views.py b/server/views.py index f29cb00..9ab4cde 100644 --- a/server/views.py +++ b/server/views.py @@ -352,15 +352,24 @@ def doclist(request): if request.user.is_staff: error = False error_text = "" + + hidden = False + wait = True + selfsign = True + ok = True + + hidden_check = 'checked="checked"' + wait_check = 'checked="checked"' + selfsign_check = 'checked="checked"' + ok_check = 'checked="checked"' + newer = "" + older = "" + if request.method == "POST": selected = [] for i in request.POST.keys(): - if i == "csrfmiddlewaretoken": - continue - if i == "action": - continue - - selected.append(Document.objects.get(id=i)) + if i.isdigit(): + selected.append(Document.objects.get(id=i)) for i in selected: if request.POST["action"] == 'delete': @@ -382,11 +391,30 @@ def doclist(request): else: error = True error_text = "Non puoi dearchiviare un documento non archiviato" + + hidden = "filter_hidden" in request.POST + wait = "filter_wait" in request.POST + selfsign = "filter_selfsign" in request.POST + ok = "filter_ok" in request.POST parent_group = request.user.groups.values_list('name', flat=True)[ 0] group = Group.objects.get(name=parent_group) documents = Document.objects.filter(group=group) + + if not hidden: + documents = documents.filter(~Q(status="archive")) + hidden_check = "" + if not wait: + documents = documents.filter(~Q(status="wait")) + wait_check = "" + if not selfsign: + documents = documents.filter(~Q(status="autosign")) + selfsign_check = "" + if not ok: + documents = documents.filter(~Q(status="ok")) + ok_check = "" + out = [] for i in documents: personal = None @@ -397,8 +425,17 @@ def doclist(request): medical = i.medical_data.__dict__.values() out.append([i, KeyVal.objects.filter(container=i), personal, medical]) + + types = DocumentType.objects.filter(Q(group_private=False) | Q(group=group)) + users = User.objects.filter(groups__name=parent_group) context = { + "types": types, + "users": users, "docs": out, + "hidden_check": hidden_check, + "wait_check": wait_check, + "selfsign_check": selfsign_check, + "ok_check": ok_check, 'error': error, 'error_text': error_text, } |