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()