From 784a3f18305b4386ccbc86178e2b3f0acdc0c7a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laur=C3=A9line=20Gu=C3=A9rin?= Date: Tue, 10 Jan 2023 10:01:45 +0100 Subject: [PATCH 1/3] manager: move "new" buttons in corresponding settings tabs (#68217) --- .../manager_meetings_agenda_settings.html | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/chrono/manager/templates/chrono/manager_meetings_agenda_settings.html b/chrono/manager/templates/chrono/manager_meetings_agenda_settings.html index c06389d1..acb984c1 100644 --- a/chrono/manager/templates/chrono/manager_meetings_agenda_settings.html +++ b/chrono/manager/templates/chrono/manager_meetings_agenda_settings.html @@ -12,12 +12,6 @@ {% endif %} {% endblock %} -{% block agenda-extra-management-actions %} - {% if has_resources %}{% trans 'Add resource' %}{% endif %} - {% trans 'New Meeting Type' %} - {% trans 'New Desk' %} -{% endblock %} - {% block agenda-extra-menu-actions %} {% if object.desk_simple_management %}
  • {% trans 'Switch to invididual desk management' %}
  • @@ -66,11 +60,14 @@ {% else %}
    {% blocktrans trimmed %} - This agenda doesn't have any meeting type yet. Click on the "New Meeting Type" button in - the top right of the page to add a first one. + This agenda doesn't have any meeting type yet. Click on the "New Meeting Type" button to add a first one. {% endblocktrans %}
    {% endif %} +
    + {% trans 'New Meeting Type' %} +
    + {% if object.desk_simple_management %} @@ -83,6 +80,9 @@ {% endfor %} +
    + {% trans 'New Desk' %} +
    {% endif %} @@ -139,11 +139,15 @@ {% else %}
    {% blocktrans trimmed %} - This agenda doesn't have any desk yet. Click on the "New Desk" button in - the top right of the page to add a first one. + This agenda doesn't have any desk yet. Click on the "New Desk" button to add a first one. {% endblocktrans %}
    {% endif %} + {% if not object.desk_simple_management %} +
    + {% trans 'New Desk' %} +
    + {% endif %} {% if has_resources %} @@ -164,12 +168,14 @@ {% else %}
    {% blocktrans trimmed %} - This agenda doesn't have any resource yet. Click on the "Add resource" button in - the top right of the page to add a first one. + This agenda doesn't have any resource yet. Click on the "Add resource" button to add a first one. {% endblocktrans %}
    {% endif %} {% endwith %} +
    + {% trans 'Add resource' %} +
    {% endif %} -- 2.39.2 From 790528ae768774c2e75dd3b5258b3fae968771bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laur=C3=A9line=20Gu=C3=A9rin?= Date: Tue, 10 Jan 2023 10:02:29 +0100 Subject: [PATCH 2/3] manager: no delete button if only one desks (#68217) --- .../templates/chrono/manager_meetings_agenda_settings.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrono/manager/templates/chrono/manager_meetings_agenda_settings.html b/chrono/manager/templates/chrono/manager_meetings_agenda_settings.html index acb984c1..113ea5bb 100644 --- a/chrono/manager/templates/chrono/manager_meetings_agenda_settings.html +++ b/chrono/manager/templates/chrono/manager_meetings_agenda_settings.html @@ -76,7 +76,7 @@ {% for desk in object.prefetched_desks %}
  • {{ desk.label }} - {% trans "remove" %} + {% if object.prefetched_desks|length > 1 %}{% trans "remove" %}{% endif %}
  • {% endfor %} -- 2.39.2 From 662785c072698f6552b24b3de517b47f420a7ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laur=C3=A9line=20Gu=C3=A9rin?= Date: Tue, 10 Jan 2023 10:03:04 +0100 Subject: [PATCH 3/3] manager: fix simple desk management & tab redirection (#68217) --- chrono/manager/views.py | 13 ++++++++++--- tests/manager/test_meetings_agenda_options.py | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/chrono/manager/views.py b/chrono/manager/views.py index 55dd2102..271be14c 100644 --- a/chrono/manager/views.py +++ b/chrono/manager/views.py @@ -3046,7 +3046,14 @@ class AgendaDateTimePeriodListView(ManagedDeskMixin, ListView): agenda_date_time_period_list = AgendaDateTimePeriodListView.as_view() -class AgendaAddDesk(ManagedAgendaMixin, CreateView): +class AgendaDeskMixin: + def get_success_url(self): + if not self.object.agenda.desk_simple_management: + self.tab_anchor = 'time-periods' + return super().get_success_url() + + +class AgendaAddDesk(AgendaDeskMixin, ManagedAgendaMixin, CreateView): template_name = 'chrono/manager_desk_form.html' model = Desk form_class = NewDeskForm @@ -3060,7 +3067,7 @@ class AgendaAddDesk(ManagedAgendaMixin, CreateView): agenda_add_desk = AgendaAddDesk.as_view() -class DeskEditView(ManagedAgendaSubobjectMixin, UpdateView): +class DeskEditView(AgendaDeskMixin, ManagedAgendaSubobjectMixin, UpdateView): template_name = 'chrono/manager_desk_form.html' model = Desk form_class = DeskForm @@ -3073,7 +3080,7 @@ class DeskEditView(ManagedAgendaSubobjectMixin, UpdateView): desk_edit = DeskEditView.as_view() -class DeskDeleteView(ManagedAgendaSubobjectMixin, DeleteView): +class DeskDeleteView(AgendaDeskMixin, ManagedAgendaSubobjectMixin, DeleteView): template_name = 'chrono/manager_confirm_delete.html' model = Desk tab_anchor = 'desks' diff --git a/tests/manager/test_meetings_agenda_options.py b/tests/manager/test_meetings_agenda_options.py index bce94146..50dfb6af 100644 --- a/tests/manager/test_meetings_agenda_options.py +++ b/tests/manager/test_meetings_agenda_options.py @@ -380,7 +380,7 @@ def test_meetings_agenda_delete_desk(app, admin_user): resp = resp.click('Desk A') resp = resp.click('Delete') resp = resp.form.submit() - assert resp.location.endswith('/manage/agendas/%s/settings#open:desks' % agenda.pk) + assert resp.location.endswith('/manage/agendas/%s/settings#open:time-periods' % agenda.pk) assert Desk.objects.count() == 1 # only one desk -- 2.39.2