Added a floorplan view function, and urls to go with it.

- Legacy-Id: 11543
This commit is contained in:
Henrik Levkowetz 2016-07-07 12:39:46 +00:00
parent 1d5e0ec41a
commit 8fee031802
2 changed files with 17 additions and 3 deletions

View file

@ -52,7 +52,7 @@ type_ietf_only_patterns = [
]
type_ietf_only_patterns_id_optional = [
url(r'^agenda(-utc)?(?P<ext>.html)?/?$', views.agenda),
url(r'^agenda(?P<utc>-utc)?(?P<ext>.html)?/?$', views.agenda),
url(r'^agenda(?P<ext>.txt)$', views.agenda),
url(r'^agenda(?P<ext>.csv)$', views.agenda),
url(r'^agenda/edit$', views.edit_agenda),
@ -61,6 +61,8 @@ type_ietf_only_patterns_id_optional = [
url(r'^agenda.ics$', views.ical_agenda),
url(r'^agenda/week-view(?:.html)?/?$', views.week_view),
url(r'^agenda/room-view(?:.html)?/?$', views.room_view),
url(r'^agenda/floor-plan/?$', views.floor_plan),
url(r'^agenda/floor-plan/(?P<floor>[-a-z0-9_]+)/?$', views.floor_plan),
url(r'^week-view(?:.html)?/?$', views.week_view),
url(r'^room-view(?:.html)?/$', views.room_view),
url(r'^materials(?:.html)?/$', views.materials),

View file

@ -32,7 +32,7 @@ from ietf.doc.models import Document, State, DocEvent
from ietf.group.models import Group
from ietf.group.utils import can_manage_materials
from ietf.ietfauth.utils import role_required, has_role
from ietf.meeting.models import Meeting, Session, Schedule, Room
from ietf.meeting.models import Meeting, Session, Schedule, Room, FloorPlan
from ietf.meeting.helpers import get_areas, get_person_by_email, get_schedule_by_name
from ietf.meeting.helpers import build_all_agenda_slices, get_wg_name_list
from ietf.meeting.helpers import get_all_assignments_from_schedule
@ -393,7 +393,7 @@ def list_agendas(request, num=None ):
})
@ensure_csrf_cookie
def agenda(request, num=None, name=None, base=None, ext=None, owner=None):
def agenda(request, num=None, name=None, base=None, ext=None, owner=None, utc=""):
base = base if base else 'agenda'
ext = ext if ext else '.html'
mimetype = {
@ -1424,3 +1424,15 @@ def upcoming_ical(request):
response['Content-Disposition'] = 'attachment; filename="upcoming.ics"'
return response
def floor_plan(request, num=None, floor=None, ):
meeting = get_meetings(num).first()
schedule = meeting.agenda
floors = FloorPlan.objects.filter(meeting=meeting).order_by('order')
if floor:
floors = floors.filter(name=floor)
return render(request, 'meeting/floor-plan.html', {
"schedule": schedule,
"number": num,
"floors": floors,
})