Skip to content
Snippets Groups Projects
Commit c542ac80 authored by Julian's avatar Julian
Browse files

Put filter form in a model and display the number of applied filters

parent 26a4d506
No related branches found
No related tags found
1 merge request!111Resolve "[Person overview] Implement multiple selection for marking absences as excused or for deleting"
...@@ -66,4 +66,11 @@ td.material-icons { ...@@ -66,4 +66,11 @@ td.material-icons {
top: 50%; top: 50%;
left: 50%; left: 50%;
transform: translate(-50%, 50%); transform: translate(-50%, 50%);
}
.medium-high-right {
position: relative;
top: 50%;
right: 0;
transform: translate(0%, 50%);
} }
\ No newline at end of file
...@@ -63,18 +63,47 @@ ...@@ -63,18 +63,47 @@
<div class="col s12" id="overview"> <div class="col s12" id="overview">
<h5>{% trans "Relevant personal notes" %}</h5> <h5>{% trans "Relevant personal notes" %}</h5>
<form action="" method="post" class="row"> <form class="modal" id="filter-modal">
{% csrf_token %} <div class="modal-content">
<div class="col s11 m8 l6 xl5"> <h4>{% trans "Filter personal notes" %}</h4>
{% form form=action_form %}{% endform %} {% form form=personal_note_filter_form %}{% endform %}
</div> </div>
<div class="col s1"> <div class="modal-footer">
<button type="submit" class="btn waves-effect waves-light medium-high"> <button type="button" class="btn-flat secondary-color-text waves-effect waves-ripple" id="remove-filters">
Run <i class="material-icons right">send</i> <i class="material-icons left">clear</i>{% trans "Clear all filters" %}
</button>
<button type="button" class="modal-close btn-flat red-text waves-effect waves-ripple waves-red">
<i class="material-icons left">cancel</i>{% trans "Close" %}
</button>
<button type="submit" class="modal-close btn-flat primary-color-text waves-effect waves-ripple waves-light">
{% trans "Filter" %} <i class="material-icons left">filter_alt</i>
</button> </button>
</div> </div>
{% render_table personal_notes_table %}
</form> </form>
<div class="row">
<div class="col s12 m3 l5 push-m9 push-l7">
<button
class="modal-trigger right btn primary-color waves-effect waves-light medium-high-right"
data-target="filter-modal"
type="button">
Filter results ({{ num_filters }})<i class="material-icons right">filter_alt</i>
</button>
</div>
<form action="" method="post" class="">
{% csrf_token %}
<div class="col s12 m9 l7 pull-m3 pull-l5 row">
<div class="col s12 m10">
{% form form=action_form %}{% endform %}
</div>
<div class="col s10 m2">
<button type="submit" class="btn waves-effect waves-light medium-high">
Run <i class="material-icons right">send</i>
</button>
</div>
</div>
{% render_table personal_notes_table %}
</form>
</div>
</div> </div>
</div> </div>
......
...@@ -812,6 +812,8 @@ def overview_person(request: HttpRequest, id_: Optional[int] = None) -> HttpResp ...@@ -812,6 +812,8 @@ def overview_person(request: HttpRequest, id_: Optional[int] = None) -> HttpResp
personal_note_filter_object = PersonalNoteFilter(request.GET, queryset=personal_notes) personal_note_filter_object = PersonalNoteFilter(request.GET, queryset=personal_notes)
filtered_personal_notes = personal_note_filter_object.qs filtered_personal_notes = personal_note_filter_object.qs
context["personal_note_filter_form"] = personal_note_filter_object.form context["personal_note_filter_form"] = personal_note_filter_object.form
used_filters = list(personal_note_filter_object.data.values())
context["num_filters"] = len(used_filters) - used_filters.count("") - used_filters.count("unknown")
personal_notes_list = [] personal_notes_list = []
for note in personal_notes: for note in personal_notes:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment