From 8e3631a346dbdd7e9cbc874a4da2d251a44d9a1b Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Tue, 18 Apr 2023 11:32:22 +0200 Subject: [PATCH] manager: highlight Today button on today's page (#75009) --- chrono/manager/static/css/style.scss | 5 +++++ .../manager_agenda_view_buttons_fragment.html | 3 ++- ...anager_resource_view_buttons_fragment.html | 3 ++- tests/manager/test_all.py | 19 ++++++++++++++++++ tests/manager/test_resource.py | 20 +++++++++++++++++++ 5 files changed, 48 insertions(+), 2 deletions(-) diff --git a/chrono/manager/static/css/style.scss b/chrono/manager/static/css/style.scss index a7480327..b173945c 100644 --- a/chrono/manager/static/css/style.scss +++ b/chrono/manager/static/css/style.scss @@ -595,3 +595,8 @@ span.togglable { .extra-user-block { padding-left: 2em; } + +div#appbar a.active { + background: #386ede; + color: white; +} diff --git a/chrono/manager/templates/chrono/manager_agenda_view_buttons_fragment.html b/chrono/manager/templates/chrono/manager_agenda_view_buttons_fragment.html index a94e4283..73693e85 100644 --- a/chrono/manager/templates/chrono/manager_agenda_view_buttons_fragment.html +++ b/chrono/manager/templates/chrono/manager_agenda_view_buttons_fragment.html @@ -2,11 +2,12 @@ {% now "Y" as today_year %} {% now "m" as today_month %} {% now "j" as today_day %} +{% now "Ymj" as today %} {% if not no_opened and agenda.kind == 'events' %} {% trans 'Open events' %} {% endif %} {% if not no_today %} - {% trans 'Today' %} + {% trans 'Today' %} {% endif %} {% trans 'Day' %} diff --git a/chrono/manager/templates/chrono/manager_resource_view_buttons_fragment.html b/chrono/manager/templates/chrono/manager_resource_view_buttons_fragment.html index 16b64496..061b0335 100644 --- a/chrono/manager/templates/chrono/manager_resource_view_buttons_fragment.html +++ b/chrono/manager/templates/chrono/manager_resource_view_buttons_fragment.html @@ -2,8 +2,9 @@ {% now "Y" as today_year %} {% now "m" as today_month %} {% now "j" as today_day %} +{% now "Ymj" as today %} {% if not no_today %} - {% trans 'Today' %} + {% trans 'Today' %} {% endif %} {% trans 'Day' %} diff --git a/tests/manager/test_all.py b/tests/manager/test_all.py index 139b7ee9..d0837487 100644 --- a/tests/manager/test_all.py +++ b/tests/manager/test_all.py @@ -3964,3 +3964,22 @@ def test_agenda_date_time_period_hide_weekend(app, admin_user, kind): resp = app.get('/manage/agendas/%s/week/%s/%s/%s/' % (agenda.pk, today.year, today.month, today.day)) assert 'Sunday' in resp.text assert 'Saturday' in resp.text + + +@freezegun.freeze_time('2020-10-01') +def test_agenda_today_button(app, admin_user): + agenda = Agenda.objects.create(label='Events', kind='events') + today = datetime.date.today() + + login(app) + resp = app.get('/manage/agendas/%s/day/%s/%s/%s/' % (agenda.pk, today.year, today.month, today.day)) + assert 'Today' in resp.pyquery('a.active').text() + + resp = resp.click('Next day') + assert 'Today' not in resp.pyquery('a.active').text() + + resp = resp.click('Today') + assert 'Today' in resp.pyquery('a.active').text() + + resp = app.get('/manage/agendas/%s/week/%s/%s/%s/' % (agenda.pk, today.year, today.month, today.day)) + assert 'Today' not in resp.pyquery('a.active').text() diff --git a/tests/manager/test_resource.py b/tests/manager/test_resource.py index 70756746..d7b6150f 100644 --- a/tests/manager/test_resource.py +++ b/tests/manager/test_resource.py @@ -1008,3 +1008,23 @@ def test_resource_access_permission(app, manager_user): assert resp.click('Day') assert app.get('/manage/resource/%s/' % resource2.pk, status=403) + + +@freezegun.freeze_time('2020-10-01') +def test_resource_today_button(app, admin_user): + agenda = Agenda.objects.create(label='Foo Bar', kind='meetings') + resource = Resource.objects.create(label='Resource 1', agenda=agenda) + today = datetime.date.today() + + login(app) + resp = app.get('/manage/resource/%s/day/%s/%s/%s/' % (resource.pk, today.year, today.month, today.day)) + assert 'Today' in resp.pyquery('a.active').text() + + resp = resp.click('Next day') + assert 'Today' not in resp.pyquery('a.active').text() + + resp = resp.click('Today') + assert 'Today' in resp.pyquery('a.active').text() + + resp = app.get('/manage/resource/%s/week/%s/%s/%s/' % (resource.pk, today.year, today.month, today.day)) + assert 'Today' not in resp.pyquery('a.active').text()