diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index b549bdd63..d3489744f 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -11,3 +11,6 @@ # Create your models here. + + +# Meeting models can be found under ../proceedings/ \ No newline at end of file diff --git a/ietf/meeting/urls.py b/ietf/meeting/urls.py index c9aea4068..b6c7c411e 100644 --- a/ietf/meeting/urls.py +++ b/ietf/meeting/urls.py @@ -6,6 +6,8 @@ from ietf.meeting import views urlpatterns = patterns('', (r'^(?P\d+)/materials.html$', views.show_html_materials), (r'^agenda/$', views.html_agenda), + (r'^agenda.html$', views.html_agenda), + (r'^agenda.txt$', views.text_agenda), (r'^(?P\d+)/agenda.html$', views.html_agenda), (r'^(?P\d+)/agenda.txt$', views.text_agenda), (r'^$', views.current_materials), diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 53adcb479..8be423d7d 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -10,6 +10,7 @@ from django.core.urlresolvers import reverse from django.db.models import Q from django.template import RequestContext from django.template.loader import render_to_string +from django.conf import settings import datetime def show_html_materials(request, meeting_num=None): @@ -43,7 +44,7 @@ def current_materials(request): def get_plenary_agenda(meeting_num, id): try: - plenary_agenda_file = "/a/www/ietf/proceedings/%s" % WgMeetingSession.objects.get(meeting=meeting_num,group_acronym_id=id).agenda_file() + plenary_agenda_file = settings.AGENDA_PATH + WgMeetingSession.objects.get(meeting=meeting_num,group_acronym_id=id).agenda_file() try: f = open(plenary_agenda_file) plenary_agenda = f.read() @@ -54,7 +55,7 @@ def get_plenary_agenda(meeting_num, id): except WgMeetingSession.DoesNotExist: return "The Plenary has not been scheduled" -def html_agenda(request, num=None): +def agenda_info(num=None): if not num: num = list(Meeting.objects.all())[-1].meeting_num timeslots = MeetingTime.objects.filter(meeting=num).order_by("day_id", "time_desc") @@ -67,22 +68,26 @@ def html_agenda(request, num=None): ads.sort(key=(lambda item: item.area.area_acronym.acronym)) plenaryw_agenda = get_plenary_agenda(num, -1) plenaryt_agenda = get_plenary_agenda(num, -2) - return render("meeting/agenda.html", - {"timeslots":timeslots, "update":update, "meeting":meeting, "venue":venue, "ads":ads, - "ops_plenary_agenda":plenaryw_agenda, "tech_plenary_agenda":plenaryt_agenda, }, - RequestContext(request)) -def text_agenda(request, num): - timeslots = MeetingTime.objects.filter(meeting=num).order_by("day_id", "time_desc") - update = get_object_or_404(Switches,id=1) - meeting=get_object_or_404(Meeting, meeting_num=num) - venue = get_object_or_404(MeetingVenue, meeting_num=num) - ads = list(IESGHistory.objects.filter(meeting=num)) - if not ads: - ads = list(IESGHistory.objects.filter(meeting=str(int(num)-1))) - ads.sort(key=(lambda item: item.area.area_acronym.acronym)) - plenaryw_agenda = " "+get_plenary_agenda(num, -1).strip().replace("\n", "\n ") - plenaryt_agenda = " "+get_plenary_agenda(num, -2).strip().replace("\n", "\n ") + return timeslots, update, meeting, venue, ads, plenaryw_agenda, plenaryt_agenda + +def html_agenda(request, num=None): + timeslots, update, meeting, venue, ads, plenaryw_agenda, plenaryt_agenda = agenda_info(num) + user_agent = request.META["HTTP_USER_AGENT"] + print user_agent + if "iPhone" in user_agent: + template = "meeting/m_agenda.html" + else: + template = "meeting/agenda.html" + return render(template, + {"timeslots":timeslots, "update":update, "meeting":meeting, "venue":venue, "ads":ads, + "plenaryw_agenda":plenaryw_agenda, "plenaryt_agenda":plenaryt_agenda, }, + RequestContext(request)) + +def text_agenda(request, num=None): + timeslots, update, meeting, venue, ads, plenaryw_agenda, plenaryt_agenda = agenda_info(num) + plenaryw_agenda = " "+plenaryw_agenda.strip().replace("\n", "\n ") + plenaryt_agenda = " "+plenaryt_agenda.strip().replace("\n", "\n ") return HttpResponse(render_to_string("meeting/agenda.txt", {"timeslots":timeslots, "update":update, "meeting":meeting, "venue":venue, "ads":ads, "plenaryw_agenda":plenaryw_agenda, "plenaryt_agenda":plenaryt_agenda, }, diff --git a/static/css/base.css b/static/css/base.css index d652771a4..ebb19b69b 100644 --- a/static/css/base.css +++ b/static/css/base.css @@ -177,8 +177,8 @@ body { /*XXX announcement tool additions - may need to be new-css-i-fied? */ input { - display: block - width: 95% + display: block; + width: 95%; } span.form-required {