From f956eff03fceb5e2a192f41e30d8d73c94f16e16 Mon Sep 17 00:00:00 2001 From: Tobias Juelg <tobias@juelg.net> Date: Sun, 15 Nov 2020 22:18:55 +0100 Subject: [PATCH] small fixes in session settings, added datetime picker in session settings, small ui fix in sessions view --- management/forms.py | 10 ++++++++-- management/templates/management/session.html | 3 ++- .../templates/management/session_settings.html | 13 ++++++++++--- management/views.py | 2 ++ 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/management/forms.py b/management/forms.py index 361fc24..2991618 100644 --- a/management/forms.py +++ b/management/forms.py @@ -153,9 +153,14 @@ class SessionSettingsForm(AddSessionForm): # will be set by html 'invite_text': '' } + widgets = { + 'start_date': forms.TextInput(attrs={'placeholder': 'e.g. 2020-05-12 13:00:00', 'type': 'datetime'}) + } def clean_add_election_manager(self): value = self.data['add_election_manager'] + if not value: + return value if not ElectionManager.objects.filter(username=value).exists(): raise forms.ValidationError(f'Cannot find election manager with username {value}') @@ -164,8 +169,9 @@ class SessionSettingsForm(AddSessionForm): def _save_m2m(self): super()._save_m2m() - self.cleaned_data['add_election_manager'].sessions.add(self.instance) - self.cleaned_data['add_election_manager'].save() + if self.cleaned_data['add_election_manager']: + self.cleaned_data['add_election_manager'].sessions.add(self.instance) + self.cleaned_data['add_election_manager'].save() def save(self, commit=True): self.instance = super().save(commit=False) diff --git a/management/templates/management/session.html b/management/templates/management/session.html index 418c73a..96daa9a 100644 --- a/management/templates/management/session.html +++ b/management/templates/management/session.html @@ -30,7 +30,8 @@ <small>Meeting on <a href="{{ session.meeting_link }}">{{ session.meeting_link }}</a></small> {% endif %} {% if session.start_date %} - <small>- {{ session.start_date }}</small> + <br/> + <small>Starts on {{ session.start_date }}</small> {% endif %} </div> <div class="card-body"> diff --git a/management/templates/management/session_settings.html b/management/templates/management/session_settings.html index 35301ef..95affad 100644 --- a/management/templates/management/session_settings.html +++ b/management/templates/management/session_settings.html @@ -2,6 +2,10 @@ {% load static %} {% load crispy_forms_filters %} +{% block head %} + <link rel="stylesheet" href="{% static "management/css/DateTimePicker.css" %}"/> +{% endblock %} + {% block content %} <div class="row justify-content-center"> <div class="col-12"> @@ -86,14 +90,17 @@ </div> <br> - <button type="submit" id="id_btn_start" class="btn btn-success">Save</button> + <button type="submit" id="id_btn_start" class="btn btn-success">Update</button> + <div id="dtBox"></div> </form> </div> </div> </div> </div> - <script src="{% static "js/jquery-3.5.1.slim.min.js" %}" - integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"></script> + <script src="{% static "js/jquery-3.5.1.min.js" %}" + integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="></script> <script src="{% static "bootstrap-4.5.3-dist/js/bootstrap.min.js" %}" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s"></script> + <script src="{% static "management/js/DateTimePicker.js" %}"></script> + <script src="{% static "management/js/datetime.js" %}"></script> {% endblock %} diff --git a/management/views.py b/management/views.py index 35c0d2f..123d541 100644 --- a/management/views.py +++ b/management/views.py @@ -115,6 +115,8 @@ def session_settings(request, pk=None): ) else: form.save() + messages.add_message(request, messages.INFO, 'Session updated successfully!') + return redirect('management:session', session.id) context = { 'session': session, -- GitLab