Skip to content

Commit

Permalink
✨ paperless: list to-be-added documents in last form step
Browse files Browse the repository at this point in the history
  • Loading branch information
krmax44 committed Oct 25, 2024
1 parent f69b7f4 commit d5d86d3
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 7 deletions.
2 changes: 1 addition & 1 deletion fragdenstaat_de/fds_paperless/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ def __init__(self, *args, **kwargs):
paperless_docs = kwargs.pop("paperless_docs")
super().__init__(*args, **kwargs)
self.fields["paperless_ids"].choices = [
(doc["id"], doc["id"]) for doc in paperless_docs
(doc["id"], doc["title"]) for doc in paperless_docs
]

def clean(self):
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1,26 @@
{% extends "foirequest/upload_postal_message.html" %}
{% extends "base.html" %}
{% load i18n %}
{% load form_helper %}
{% load frontendbuild %}
{% block app_body %}
<h1>{% trans "Add the documents to the request" %}</h1>
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
<fieldset>
{% render_form form horizontal=False %}
</fieldset>
<div>
<strong>{% trans "The following documents will be added to the request:" %}</strong>
<ul>
{% for document in documents %}<li>{{ document.title }}</li>{% endfor %}
</ul>
</div>
<p class="text-end">
<button type="submit" class="btn btn-primary">{% trans "Add letter" %}</button>
</p>
</form>
{% endblock app_body %}
{% block scripts %}
{{ block.super }}
{% addfrontendbuild "publicbody.js" %}
{% endblock scripts %}
15 changes: 10 additions & 5 deletions fragdenstaat_de/fds_paperless/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ def add_postal_message(request, foirequest):
):
return render_403(request)

context = {"object": foirequest}

paperless_docs = list_documents()
if request.method == "POST":
form = PaperlessPostalReplyForm(
Expand All @@ -46,19 +48,22 @@ def add_postal_message(request, foirequest):
add_tag_to_documents(form.cleaned_data["paperless_ids"])
return redirect(message)
else:
selected_documents = request.GET.getlist("paperless_ids")
form = PaperlessPostalReplyForm(
foirequest=foirequest,
paperless_docs=paperless_docs,
initial={"paperless_ids": request.GET.getlist("paperless_ids")},
initial={"paperless_ids": selected_documents},
)
context["documents"] = filter(
lambda doc: str(doc["id"]) in selected_documents, paperless_docs
)

context["form"] = form

return render(
request,
"fds_paperless/add_postal_message.html",
{
"object": foirequest,
"form": form,
},
context,
)


Expand Down

0 comments on commit d5d86d3

Please sign in to comment.