Merged in [18654] from jennifer@painless-security.com:

Do not require redundant meeting number for session materials view.
 - Legacy-Id: 18661
Note: SVN reference [18654] has been migrated to Git commit acbfbf53a3
This commit is contained in:
Henrik Levkowetz 2020-11-08 12:27:04 +00:00
commit 9da87c59e1
5 changed files with 10 additions and 15 deletions

View file

@ -159,8 +159,7 @@ class MeetingTests(TestCase):
self.assertIn(registration_text, agenda_content)
# Make sure there's a frame for the session agenda and it points to the right place
assignment_url = urlreverse('ietf.meeting.views.session_materials',
kwargs=dict(num=meeting.number, session_id=session.pk))
assignment_url = urlreverse('ietf.meeting.views.session_materials', kwargs=dict(session_id=session.pk))
self.assertTrue(
any(
[assignment_url in x.attrib["data-src"]
@ -851,8 +850,7 @@ class MeetingTests(TestCase):
meeting = make_meeting_test_data()
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
url = urlreverse('ietf.meeting.views.session_materials',
kwargs=dict(num=meeting.number, session_id=session.pk))
url = urlreverse('ietf.meeting.views.session_materials', kwargs=dict(session_id=session.pk))
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)

View file

@ -21,7 +21,6 @@ safe_for_all_meeting_types = [
url(r'^session/(?P<session_id>\d+)/doc/%(name)s/remove$' % settings.URL_REGEXPS, views.remove_sessionpresentation),
url(r'^session/(?P<session_id>\d+)\.ics$', views.agenda_ical),
url(r'^sessions/(?P<acronym>[-a-z0-9]+)\.ics$', views.agenda_ical),
url(r'^session/(?P<session_id>\d+)/agenda_materials$', views.session_materials),
url(r'^slidesubmission/(?P<slidesubmission_id>\d+)$', views.approve_proposed_slides)
]
@ -125,6 +124,7 @@ urlpatterns = [
url(r'^upcoming/?$', views.upcoming),
url(r'^upcoming\.ics/?$', views.upcoming_ical),
url(r'^upcoming\.json/?$', views.upcoming_json),
url(r'^session/(?P<session_id>\d+)/agenda_materials$', views.session_materials),
# Then patterns from more specific to less
url(r'^(?P<num>interim-[a-z0-9-]+)/', include(type_interim_patterns)),
url(r'^(?P<num>\d+)/requests.html$', RedirectView.as_view(url='/meeting/%(num)s/requests', permanent=True)),

View file

@ -1300,16 +1300,13 @@ def diff_schedules(request, num):
})
@ensure_csrf_cookie
def session_materials(request, num, session_id):
def session_materials(request, session_id):
"""Session details for agenda page pop-up"""
meeting = get_object_or_404(Meeting, number=num)
schedule = meeting.schedule
assignments = schedule.assignments.filter(session__id=int(session_id))
session = get_object_or_404(Session, id=session_id)
assignments = SchedTimeSessAssignment.objects.filter(session=session)
if len(assignments) == 0:
raise Http404('No such session in this schedule')
assert len(assignments) == 1
meeting = assignments[0].timeslot.meeting # timeslot is guaranteed to be non-null
assignments = preprocess_assignments_for_agenda(assignments, meeting)
raise Http404('No such scheduled session')
assignments = preprocess_assignments_for_agenda(assignments, session.meeting)
assignment = assignments[0]
return render(request, 'meeting/session_materials.html', dict(item=assignment))

View file

@ -16,7 +16,7 @@
</div>
<div class="modal-body">
<div class="session-materials"
data-src="{% url 'ietf.meeting.views.session_materials' num=meeting.number session_id=session.pk %}">
data-src="{% url 'ietf.meeting.views.session_materials' session_id=session.pk %}">
</div>
</div>
<div class="modal-footer">

View file

@ -8,7 +8,7 @@
<span id="session-buttons-{{session.pk}}" class="text-nowrap">
{% with acronym=session.historic_group.acronym %}
{% if session.agenda and show_agenda %}
{% include "meeting/session_agenda_include.html" %}
{% include "meeting/session_agenda_include.html" with slug=slug session=session timeslot=timeslot only %}
<!-- agenda pop-up button -->
<a class="" data-toggle="modal" data-target="#modal-{{slug}}" title="Show meeting materials"><span class="fa fa-fw fa-arrows-alt"></span></a>
<!-- materials tar file -->