Merged in [12326] from housley@vigilsec.com:
Allow WG Chairs to manage the meeting materials when starting from the old WG Chair Dashboard in ietf.secr.proceedings
- Legacy-Id: 12370
Note: SVN reference [12326] has been migrated to Git commit a37f41823c
This commit is contained in:
commit
0a15bf9bb6
|
@ -285,6 +285,21 @@ class MeetingTests(TestCase):
|
|||
# FIXME: missing tests of .pdf/.tar generation (some code can
|
||||
# probably be lifted from similar tests in iesg/tests.py)
|
||||
|
||||
def test_materials_editable_groups(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
||||
self.client.login(username="marschairman", password="marschairman+password")
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.materials_editable_groups", kwargs={'num':meeting.number}))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(meeting.number in unicontent(r))
|
||||
self.assertTrue("mars" in unicontent(r))
|
||||
|
||||
self.client.login(username="plain",password="plain+password")
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.materials_editable_groups", kwargs={'num':meeting.number}))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(meeting.number in unicontent(r))
|
||||
self.assertTrue("You cannot manage the meeting materials for any groups" in unicontent(r))
|
||||
|
||||
def test_proceedings(self):
|
||||
meeting = make_meeting_test_data()
|
||||
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
|
||||
|
|
|
@ -75,6 +75,7 @@ type_ietf_only_patterns_id_optional = [
|
|||
url(r'^week-view(?:.html)?/?$', views.week_view),
|
||||
url(r'^room-view(?:.html)?/?$', views.room_view),
|
||||
url(r'^materials(?:.html)?/?$', views.materials),
|
||||
url(r'^materials/editable-groups/?$', views.materials_editable_groups),
|
||||
url(r'^proceedings(?:.html)?/?$', views.proceedings),
|
||||
url(r'^proceedings(?:.html)?/finalize/?$', views.finalize_proceedings),
|
||||
url(r'^proceedings/acknowledgements/$', views.proceedings_acknowledgements),
|
||||
|
|
|
@ -20,6 +20,7 @@ from django import forms
|
|||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.core.urlresolvers import reverse,reverse_lazy
|
||||
from django.db.models import Min, Max, Q
|
||||
from django.conf import settings
|
||||
|
@ -140,6 +141,12 @@ def current_materials(request):
|
|||
else:
|
||||
raise Http404
|
||||
|
||||
@login_required
|
||||
def materials_editable_groups(request, num=None):
|
||||
meeting = get_meeting(num)
|
||||
return render(request, "meeting/materials_editable_groups.html", {
|
||||
'meeting_num': meeting.number})
|
||||
|
||||
def ascii_alphanumeric(string):
|
||||
return re.match(r'^[a-zA-Z0-9]*$', string)
|
||||
|
||||
|
|
|
@ -397,7 +397,7 @@ def select(request, meeting_num):
|
|||
'''
|
||||
|
||||
if not has_role(request.user,'Secretariat'):
|
||||
return HttpResponseRedirect(reverse('ietf.meeting.views.materials', kwargs={'num':meeting_num}))
|
||||
return HttpResponseRedirect(reverse('ietf.meeting.views.materials_editable_groups', kwargs={'num':meeting_num}))
|
||||
|
||||
meeting = get_object_or_404(Meeting, number=meeting_num)
|
||||
proceedings_url = get_proceedings_url(meeting)
|
||||
|
|
17
ietf/templates/meeting/materials_editable_groups.html
Normal file
17
ietf/templates/meeting/materials_editable_groups.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2016, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load ietf_filters managed_groups %}
|
||||
|
||||
{% block content %}
|
||||
<h1>IETF {{ meeting_num }} meeting materials that you can edit</h1>
|
||||
|
||||
{% if user and user.is_authenticated and user|managed_groups %}
|
||||
{% for g in user|managed_groups %}
|
||||
<p><a href="{% url 'ietf.meeting.views.session_details' num=meeting_num acronym=g.acronym %}">{{ g.acronym }}</a></p>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<p>You cannot manage the meeting materials for any groups.</p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
# --- Add entries at the top ---
|
||||
|
||||
/personal/housley/6.37.2.dev0@12326
|
||||
/personal/adam/6.37.2.dev0@12340
|
||||
|
||||
/personal/housley/6.27.1.dev0@11663
|
||||
|
|
Loading…
Reference in a new issue