manager: highlight Today button on today's page (#75009)
gitea/chrono/pipeline/head This commit looks good Details

This commit is contained in:
Valentin Deniaud 2023-04-18 11:32:22 +02:00
parent 9ed93daca8
commit 8e3631a346
5 changed files with 48 additions and 2 deletions

View File

@ -595,3 +595,8 @@ span.togglable {
.extra-user-block {
padding-left: 2em;
}
div#appbar a.active {
background: #386ede;
color: white;
}

View File

@ -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' %}
<a href="{% url 'chrono-manager-agenda-open-events-view' pk=agenda.pk %}">{% trans 'Open events' %}</a>
{% endif %}
{% if not no_today %}
<a href="{% url 'chrono-manager-agenda-day-view' pk=agenda.pk year=today_year month=today_month day=today_day %}">{% trans 'Today' %}</a>
<a {% if active == 'day' and view.date|date:"Ymj" == today %}class="active"{% endif%} href="{% url 'chrono-manager-agenda-day-view' pk=agenda.pk year=today_year month=today_month day=today_day %}">{% trans 'Today' %}</a>
{% endif %}
<span class="buttons-group">
<a {% if active == 'day' %}class="active"{% endif%} href="{% url 'chrono-manager-agenda-day-view' pk=agenda.pk year=view.date|date:"Y"|default:today_year|default:today_year month=view.date|date:"m"|default:today_month day=view.date|date:"d"|default:today_day %}">{% trans 'Day' %}</a>

View File

@ -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 %}
<a href="{% url 'chrono-manager-resource-day-view' pk=resource.pk year=today_year month=today_month day=today_day %}">{% trans 'Today' %}</a>
<a {% if active == 'day' and view.date|date:"Ymj" == today %}class="active"{% endif%} href="{% url 'chrono-manager-resource-day-view' pk=resource.pk year=today_year month=today_month day=today_day %}">{% trans 'Today' %}</a>
{% endif %}
<span class="buttons-group">
<a {% if active == 'day' %}class="active"{% endif%} href="{% url 'chrono-manager-resource-day-view' pk=resource.pk year=view.date|date:"Y"|default:today_year|default:today_year month=view.date|date:"m"|default:today_month day=view.date|date:"d"|default:today_day %}">{% trans 'Day' %}</a>

View File

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

View File

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