manager: hide timesheet links if agenda has no subscription (#68479)
This commit is contained in:
parent
fa6f5dcfe7
commit
95ccebb3cb
|
@ -9,10 +9,12 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block actions %}
|
||||
{% if agenda.subscriptions.exists %}
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
<ul class="extra-actions-menu">
|
||||
<li><a href="{% url 'chrono-manager-events-timesheet' pk=agenda.pk %}">{% trans 'Timesheet' %}</a></li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
{{ block.super }}
|
||||
<a href="{% url 'chrono-manager-agenda-month-redirect-view' pk=agenda.pk %}">{% trans 'Month view' %}</a>
|
||||
{% endblock %}
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
{% if event.agenda.booking_form_url %}
|
||||
<li><a href="{{ event.get_booking_form_url }}&ReturnURL={{ request.build_absolute_uri }}">{% trans "Booking form" %}</a></li>
|
||||
{% endif %}
|
||||
{% if not event.cancelled %}
|
||||
{% if not event.cancelled and agenda.subscriptions.exists %}
|
||||
<li><a href="{% url 'chrono-manager-event-timesheet' pk=agenda.pk event_pk=event.pk %}">{% trans "Timesheet" %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
|
|
@ -2,10 +2,12 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block actions %}
|
||||
{% if agenda.subscriptions.exists %}
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
<ul class="extra-actions-menu">
|
||||
<li><a href="{% url 'chrono-manager-events-timesheet' pk=agenda.pk %}">{% trans 'Timesheet' %}</a></li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
{{ block.super }}
|
||||
<a href="{% url 'chrono-manager-agenda-open-events-view' pk=agenda.pk %}">{% trans 'Open events' %}</a>
|
||||
<a href="{% url 'chrono-manager-agenda-month-view' pk=agenda.pk year=view.date|date:"Y" month=view.date|date:"n" %}">{% trans 'Month view' %}</a>
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
<a class="extra-actions-menu-opener"></a>
|
||||
<ul class="extra-actions-menu">
|
||||
<li><a href="{% url 'chrono-manager-event-cancellation-report-list' pk=agenda.pk %}">{% trans 'Cancellation error reports' %}</a></li>
|
||||
{% if agenda.subscriptions.exists %}
|
||||
<li><a href="{% url 'chrono-manager-events-timesheet' pk=agenda.pk %}">{% trans 'Timesheet' %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{{ block.super }}
|
||||
<a href="{% url 'chrono-manager-agenda-open-events-view' pk=agenda.pk %}">{% trans 'Open events' %}</a>
|
||||
|
|
|
@ -1103,7 +1103,7 @@ def test_agenda_events_day_view(app, admin_user):
|
|||
|
||||
with CaptureQueriesContext(connection) as ctx:
|
||||
resp = app.get('/manage/agendas/%s/2020/11/11/' % agenda.pk)
|
||||
assert len(ctx.captured_queries) == 4
|
||||
assert len(ctx.captured_queries) == 5
|
||||
|
||||
assert len(resp.pyquery.find('.event-info')) == 2
|
||||
assert 'abc' in resp.pyquery.find('.event-info')[0].text
|
||||
|
@ -1172,7 +1172,7 @@ def test_agenda_events_month_view(app, admin_user):
|
|||
|
||||
with CaptureQueriesContext(connection) as ctx:
|
||||
resp = app.get('/manage/agendas/%s/%s/%s/' % (agenda.id, 2020, 11))
|
||||
assert len(ctx.captured_queries) == 7
|
||||
assert len(ctx.captured_queries) == 8
|
||||
assert len(resp.pyquery.find('.event-info')) == 5
|
||||
assert 'abc' in resp.pyquery.find('.event-info')[0].text
|
||||
assert 'abc' in resp.pyquery.find('.event-info')[1].text
|
||||
|
@ -1188,9 +1188,9 @@ def test_agenda_events_month_view(app, admin_user):
|
|||
agenda.update_event_recurrences()
|
||||
resp = app.get('/manage/agendas/%s/%s/%s/' % (agenda.id, 2020, 11))
|
||||
assert len(resp.pyquery.find('.event-info')) == 4
|
||||
assert 'abc' in resp.pyquery.find('li')[5].text_content()
|
||||
assert 'Exception: 11/10/2020' in resp.pyquery.find('li')[6].text_content()
|
||||
assert 'xyz' in resp.pyquery.find('li')[7].text_content()
|
||||
assert 'abc' in resp.pyquery.find('li')[4].text_content()
|
||||
assert 'Exception: 11/10/2020' in resp.pyquery.find('li')[5].text_content()
|
||||
assert 'xyz' in resp.pyquery.find('li')[6].text_content()
|
||||
|
||||
# 12/2020 has 5 Wednesday
|
||||
resp = app.get('/manage/agendas/%s/%s/%s/' % (agenda.id, 2020, 12))
|
||||
|
|
|
@ -12,6 +12,40 @@ from tests.utils import login
|
|||
pytestmark = pytest.mark.django_db
|
||||
|
||||
|
||||
def test_events_timesheet_link(app, admin_user):
|
||||
agenda = Agenda.objects.create(label='Events', kind='events')
|
||||
event = Event.objects.create(label='event', start_datetime=now(), places=10, agenda=agenda)
|
||||
login(app)
|
||||
|
||||
# agenda without subscription
|
||||
resp = app.get('/manage/agendas/%s/month/' % agenda.pk).follow()
|
||||
assert '/manage/agendas/%s/events/timesheet' % agenda.pk not in resp
|
||||
resp = app.get('/manage/agendas/%s/day/' % agenda.pk).follow()
|
||||
assert '/manage/agendas/%s/events/timesheet' % agenda.pk not in resp
|
||||
resp = app.get('/manage/agendas/%s/events/open/' % agenda.pk)
|
||||
assert '/manage/agendas/%s/events/timesheet' % agenda.pk not in resp
|
||||
resp = app.get('/manage/agendas/%s/events/%s/' % (agenda.pk, event.pk))
|
||||
assert '/manage/agendas/%s/events/%s/timesheet' % (agenda.pk, event.pk) not in resp
|
||||
|
||||
# agenda with subscription
|
||||
Subscription.objects.create(
|
||||
agenda=agenda,
|
||||
user_external_id='user:1',
|
||||
user_first_name='Subscription',
|
||||
user_last_name='42',
|
||||
date_start=now(),
|
||||
date_end=now(),
|
||||
)
|
||||
resp = app.get('/manage/agendas/%s/month/' % agenda.pk).follow()
|
||||
assert '/manage/agendas/%s/events/timesheet' % agenda.pk in resp
|
||||
resp = app.get('/manage/agendas/%s/day/' % agenda.pk).follow()
|
||||
assert '/manage/agendas/%s/events/timesheet' % agenda.pk in resp
|
||||
resp = app.get('/manage/agendas/%s/events/open/' % agenda.pk)
|
||||
assert '/manage/agendas/%s/events/timesheet' % agenda.pk in resp
|
||||
resp = app.get('/manage/agendas/%s/events/%s/' % (agenda.pk, event.pk))
|
||||
assert '/manage/agendas/%s/events/%s/timesheet' % (agenda.pk, event.pk) in resp
|
||||
|
||||
|
||||
def test_events_timesheet_wrong_kind(app, admin_user):
|
||||
agenda = Agenda.objects.create(label='Foo bar', kind='meetings')
|
||||
|
||||
|
|
Loading…
Reference in New Issue