Merge lp:~cjohnston/summit/mobile-display into lp:~sil/summit/redo-mobile-summit

Proposed by Chris Johnston
Status: Needs review
Proposed branch: lp:~cjohnston/summit/mobile-display
Merge into: lp:~sil/summit/redo-mobile-summit
Diff against target: 1627 lines (+523/-464)
39 files modified
.bzrignore (+0/-2)
setup.py (+1/-1)
summit/common/templates/base.html (+10/-25)
summit/common/templates/common/index.html (+1/-22)
summit/media/css/layout.css (+0/-3)
summit/media/css/mobile.css (+31/-0)
summit/media/css/site.css (+132/-0)
summit/media/css/style.css (+0/-68)
summit/schedule/admin/agendaadmin.py (+1/-1)
summit/schedule/admin/meetingadmin.py (+1/-1)
summit/schedule/admin/summitadmin.py (+1/-1)
summit/schedule/forms.py (+6/-68)
summit/schedule/render.py (+1/-1)
summit/schedule/templates/schedule/actions.html (+3/-0)
summit/schedule/templates/schedule/create_meeting.html (+1/-1)
summit/schedule/templates/schedule/daily.html (+100/-163)
summit/schedule/templates/schedule/edit_meeting.html (+2/-3)
summit/schedule/templates/schedule/meeting.html (+7/-4)
summit/schedule/templates/schedule/meeting_review.html (+2/-2)
summit/schedule/templates/schedule/mine.html (+113/-0)
summit/schedule/templates/schedule/nextsession.html (+1/-1)
summit/schedule/templates/schedule/nosession.html (+1/-1)
summit/schedule/templates/schedule/org_edit_meeting.html (+2/-2)
summit/schedule/templates/schedule/past_summit.html (+1/-3)
summit/schedule/templates/schedule/propose_meeting.html (+2/-2)
summit/schedule/templates/schedule/review.html (+1/-1)
summit/schedule/templates/schedule/schedule.html (+23/-3)
summit/schedule/templates/schedule/schedule_list.html (+1/-1)
summit/schedule/templates/schedule/summit.html (+13/-70)
summit/schedule/templates/schedule/summit_info.html (+1/-1)
summit/schedule/views.py (+50/-1)
summit/settings.py (+5/-5)
summit/sponsor/templates/sponsor/nonlaunchpadstep0.html (+1/-1)
summit/sponsor/templates/sponsor/nonlaunchpadstep1.html (+1/-1)
summit/sponsor/templates/sponsor/suggeststep0.html (+1/-1)
summit/sponsor/templates/sponsor/suggeststep1.html (+1/-1)
summit/ubuntu_settings.py (+1/-1)
summit/urls.py (+2/-0)
summit/version (+2/-2)
To merge this branch: bzr merge lp:~cjohnston/summit/mobile-display
Reviewer Review Type Date Requested Status
Stuart Langridge Pending
Review via email: mp+100308@code.launchpad.net

Description of the change

Makes some changes to make some things work... Removes the logo, removes the header text.. Moves CSS/JS to the closure block at the bottom of the page.

To post a comment you must log in.
lp:~cjohnston/summit/mobile-display updated
330. By Chris Johnston

[r=chrisjohnston] Updates the revno for the Ubuntu theme again

331. By Chris Johnston

[r=chrisjohnston] Makes the table look a little better on the main Summit page

332. By Chris Johnston

[r=chrisjohnston] Makes changes to what is displayed in the admin view area

333. By Chris Johnston

[r=chrisjohnston] Fixes the traceback we are getting via email

334. By Chris Johnston

Version 1.0.9 release

335. By Chris Johnston

Moves mobile CSS out of template pages

336. By Chris Johnston

Further mobile changes

Unmerged revisions

336. By Chris Johnston

Further mobile changes

335. By Chris Johnston

Moves mobile CSS out of template pages

334. By Chris Johnston

Version 1.0.9 release

333. By Chris Johnston

[r=chrisjohnston] Fixes the traceback we are getting via email

332. By Chris Johnston

[r=chrisjohnston] Makes changes to what is displayed in the admin view area

331. By Chris Johnston

[r=chrisjohnston] Makes the table look a little better on the main Summit page

330. By Chris Johnston

[r=chrisjohnston] Updates the revno for the Ubuntu theme again

329. By Chris Johnston

[r=chrisjohnston] Fixes a couple of HTML issues that need to be cleaned up.

328. By Chris Johnston

[r=chrisjohnston] Allows a meeting to be copied and create a second duplicate meeting.

327. By Chris Johnston

[r=chrisjohnston] Updates Django version in setup.py

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2012-03-13 18:44:45 +0000
3+++ .bzrignore 2012-04-05 23:27:19 +0000
4@@ -10,5 +10,3 @@
5 www
6 README
7 env
8-ubuntu_settings.py
9-django.wsgi
10
11=== modified file 'setup.py'
12--- setup.py 2011-05-13 07:46:55 +0000
13+++ setup.py 2012-04-05 23:27:19 +0000
14@@ -41,7 +41,7 @@
15 packages = packages,
16 zip_safe = False,
17 install_requires = [
18- "Django==1.1.1",
19+ "Django==1.3.1",
20 "psycopg2>=2.0.9",
21 "pytz",
22 "BeautifulSoup",
23
24=== modified file 'summit/common/templates/base.html'
25--- summit/common/templates/base.html 2012-03-23 16:28:03 +0000
26+++ summit/common/templates/base.html 2012-04-05 23:27:19 +0000
27@@ -6,26 +6,11 @@
28 Developer Summit
29 {% endblock %}
30
31-{% block extrahead %}
32- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
33+{% block extrastyles %}
34 <link rel="stylesheet" type="text/css" media="screen" href="/media/css/layout.css" />
35- <link rel="stylesheet" type="text/css" media="screen" href="/media/css/style.css" />
36- <link rel="stylesheet" type="text/css" media="screen" href="/media/css/twidenash.css" />
37- {% block 960css %}<!--<link rel="stylesheet" type="text/css" href="{{ubuntu_website_media}}/css/960.css" />-->{% endblock %}
38-{% block head %}
39- <script type="text/javascript">
40- var _gaq = _gaq || [];
41- _gaq.push(['_setAccount', 'UA-26810861-1']);
42- _gaq.push(['_trackPageview']);
43-
44- (function() {
45- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
46- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
47- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
48- })();
49- </script>
50-{% endblock %}
51-
52+ <link rel="stylesheet" type="text/css" media="screen" href="/media/css/twidenash.css" />
53+ <link rel="stylesheet" type="text/css" media="screen" href="/media/css/site.css" />
54+ <link rel="stylesheet" type="text/css" media="handheld" href="/media/css/mobile.css" />
55 {% endblock %}
56
57 {% block top_nav_login_links %}
58@@ -47,7 +32,7 @@
59 {% menu main_menu %}
60 <ul class="clearfix">
61 {% for item in menuitems %}
62- <li{% if item.current %} class='active'{% endif %}><a class="main-nav-item" href="{{ item.url }}" title="{{ item.title|escape }}">{{ item.title }}</a></li>
63+ <li{% if item.current %} class='active'{% endif %} id="main-nav"><a class="main-nav-item" href="{{ item.url }}" title="{{ item.title|escape }}">{{ item.title }}</a></li>
64 {% endfor %}
65 </ul>
66 {% endblock %}
67@@ -59,11 +44,11 @@
68
69
70 {% block messages %}
71- {% if messages %}
72- {% for message in messages %}
73- <div class = 'message' ><div class = 'content-shim' >{{ message }}</div></div>
74- {% endfor %}
75- {% endif %}
76+ {% if messages %}
77+ {% for message in messages %}
78+ <div class = 'message' ><div class = 'content-shim' >{{ message }}</div></div>
79+ {% endfor %}
80+ {% endif %}
81 {% endblock %}
82
83 {% block content %}
84
85=== modified file 'summit/common/templates/common/index.html'
86--- summit/common/templates/common/index.html 2012-03-23 23:51:49 +0000
87+++ summit/common/templates/common/index.html 2012-04-05 23:27:19 +0000
88@@ -2,26 +2,7 @@
89 {% load datetime %}
90
91 {% block page_name %}Home{%endblock %}
92-{% block head %}
93-<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
94-{{ block.super }}
95-<style>
96-/* Mobile-friendly styles */
97-@media screen and (max-width: 481px) {
98- aside#top-nav, header#page-header, aside#page-related, footer#page-footer, section#main-section .container, article.main-content, .container, #main-nav, .minor-content, #page-footer div.container, .wrapper, .inner-wrapper {
99- width: auto;
100- margin: 0; padding: 0;
101- }
102- #page-header { text-align: center; }
103- #page-header a { height: 24px; line-height: 1; float: none; display: inline; }
104- #top-logo { display: none; }
105- .minor-content {
106- text-align: center;
107- }
108-}
109-
110-</style>
111-{% endblock %}
112+{% block extrahead %}{{ block.super }}{% endblock %}
113
114 {% block sub_nav %}{% endblock %}
115
116@@ -30,9 +11,7 @@
117 <article class="span-12">
118 {% if summit %}
119 <h1><a href="/{{ summit.name }}">{{ summit.title }} &rsaquo;</a></h1>
120- <p>
121 {% include "schedule/summit_info.html" %}
122- </p>
123 {% else %}
124 <p>No summits registered.</p>
125 {% endif %}
126
127=== modified file 'summit/media/css/layout.css'
128--- summit/media/css/layout.css 2012-03-02 22:03:57 +0000
129+++ summit/media/css/layout.css 2012-04-05 23:27:19 +0000
130@@ -32,6 +32,3 @@
131 float: left;
132 list-style-type: none;
133 }
134-
135-
136-
137
138=== added file 'summit/media/css/mobile.css'
139--- summit/media/css/mobile.css 1970-01-01 00:00:00 +0000
140+++ summit/media/css/mobile.css 2012-04-05 23:27:19 +0000
141@@ -0,0 +1,31 @@
142+ aside#top-nav, header#page-header, aside#page-related, article.main-content, .wrapper, .inner-wrapper article {
143+ width: 100%;
144+ margin: 0; padding: 0; margin-left: 3px; margin-right: 3px;
145+ }
146+ .span-4, footer, #main-nav, footer .logo-ubuntu, .nav-secondary { display: none; }
147+ #page-header { text-align: center; }
148+ #page-header a { height: 24px; line-height: 1; float: none; display: inline; }
149+ .span-8, .span-9, .span-3, .span-12 { width: 100%; }
150+ table.schedule { width: 100%; margin: 0; padding: 0; border-width: 0; }
151+ table.column { width: 100%; margin: 0; padding: 0; border-width: 0; }
152+ table.column td { display: block; width: 100%; margin: 0; padding: 0; border-width: 0; }
153+ table.column td ul {
154+ width: 100%;
155+ margin: 0;
156+ padding: 0;
157+ }
158+ table.column td ul li {
159+ background: #efefef;
160+ border-bottom: 1px solid black;
161+ list-style: none;
162+ text-align: center;
163+ font-size: 24px;
164+ line-height: 24px;
165+ min-height: 24px;
166+ width: 100%;
167+ display: block;
168+ padding: 4px 0;
169+ margin: 0;
170+ }
171+ #fb-root * { width: auto; }
172+
173
174=== added file 'summit/media/css/site.css'
175--- summit/media/css/site.css 1970-01-01 00:00:00 +0000
176+++ summit/media/css/site.css 2012-04-05 23:27:19 +0000
177@@ -0,0 +1,132 @@
178+TABLE img.icon {
179+ vertical-align: bottom;
180+ width: 16px;
181+ height: 16px;
182+}
183+
184+table.basic span.main-agenda-item-tracks {
185+ font-size: 0.8em;
186+}
187+
188+table.schedule td {
189+ border: 0;
190+}
191+
192+table.schedule li {
193+ margin-bottom: .2em;
194+}
195+
196+div.agenda-details {
197+ display: none;
198+ padding: 5px;
199+ position: absolute;
200+ margin-left: 20px;
201+ font-size: 0.9em;
202+ color: #FFFFFF;
203+ background-color: #101010;
204+ border: #000000 1px solid;
205+ border-radius: 5px;
206+ min-width: 200px;
207+ max-width: 500px;
208+ z-index: 100;
209+}
210+
211+div.meeting-description {
212+ white-space: pre-wrap;
213+}
214+
215+div.agenda-details LI {
216+ font-size: 1.0em;
217+}
218+
219+div.schedule-head {
220+ position: relative;
221+ overflow: visible;
222+ z-index: 10;
223+}
224+
225+div.schedule-head .schedule-qrcode {
226+ height: 63px;
227+ vertical-align: top;
228+ margin-left: -3px;
229+ margin-top: -3px;
230+}
231+
232+div.schedule-head .schedule-date {
233+ font-weight: normal;
234+ font-size: 36px;
235+ margin-left: 5px;
236+}
237+
238+div.schedule-head .schedule-crew, .last-updated {
239+ font-size: 0.7pc;
240+}
241+
242+/* System messages */
243+ul.messagelist {
244+ margin-left: -30px;
245+ font-size: 130%;
246+
247+ list-style: none;
248+ padding-left: 0;
249+
250+ color: #c00000;
251+}
252+
253+
254+/* Error list inside a table data */
255+td ul.errorlist {
256+ border: 1px solid #c00000;
257+ background-color: #ffc0c0;
258+ padding: 4px;
259+ padding-left: 2em;
260+ margin-left: 0;
261+ margin-bottom: 0;
262+ font-size: 70%;
263+}
264+
265+
266+/* Don't make the first page list look like a list */
267+ul.summit_list {
268+ list-style: none;
269+ padding-left: 0;
270+ margin-left: 0;
271+}
272+
273+/* Pad and bottom-align formsets */
274+table.formset th {
275+ padding: 4px;
276+ vertical-align: bottom;
277+}
278+table.formset td {
279+ padding: 4px;
280+ vertical-align: bottom;
281+}
282+
283+
284+/* Launchpad links have no decoration, and a cute image which we don't
285+ * border. */
286+a.launchpad {
287+ text-decoration: none;
288+}
289+a.launchpad img {
290+ border: 0;
291+}
292+
293+.double-side-content {
294+ float: left;
295+ margin: 5px 10px;
296+ padding: 10px;
297+ width: 600px;
298+}
299+
300+.summit-columns { -webkit-box-shadow: 0px 1px 1px #CCC; -moz-box-shadow:0 1px 1px #CCC; }
301+.summit-columns { clear: both; background-color: #F7F7F7; padding: 5px; margin-bottom: -3px; }
302+.summit-columns h2 { color: #444; font-weight: normal; border-bottom: 1px solid #EDEDED; text-indent: 10px; margin-bottom: 0; }
303+.summit-columns ul { list-style: none; margin: 0; border-top: 1px solid #FFF; }
304+.summit-columns ul li { width: 23%; float: left; padding-left: 10px; }
305+.summit-columns ul li h3,
306+.summit-columns ul li h3 a { color: #DD4814; text-decoration: none; margin-bottom: 0; margin-top: 5px; }
307+.summit-columns ul li h3 a:hover { text-decoration: underline; }
308+.summit-columns ul li img { padding: 10px 0 5px; }
309+.summit-columns p { margin-bottom: 5px; }
310
311=== removed file 'summit/media/css/style.css'
312--- summit/media/css/style.css 2012-01-22 18:36:40 +0000
313+++ summit/media/css/style.css 1970-01-01 00:00:00 +0000
314@@ -1,68 +0,0 @@
315-/* System messages */
316-ul.messagelist {
317- margin-left: -30px;
318- font-size: 130%;
319-
320- list-style: none;
321- padding-left: 0;
322-
323- color: #c00000;
324-}
325-
326-
327-/* Error list inside a table data */
328-td ul.errorlist {
329- border: 1px solid #c00000;
330- background-color: #ffc0c0;
331- padding: 4px;
332- padding-left: 2em;
333- margin-left: 0;
334- margin-bottom: 0;
335- font-size: 70%;
336-}
337-
338-
339-/* Don't make the first page list look like a list */
340-ul.summit_list {
341- list-style: none;
342- padding-left: 0;
343- margin-left: 0;
344-}
345-
346-/* Pad and bottom-align formsets */
347-table.formset th {
348- padding: 4px;
349- vertical-align: bottom;
350-}
351-table.formset td {
352- padding: 4px;
353- vertical-align: bottom;
354-}
355-
356-
357-/* Launchpad links have no decoration, and a cute image which we don't
358- * border. */
359-a.launchpad {
360- text-decoration: none;
361-}
362-a.launchpad img {
363- border: 0;
364-}
365-
366-.double-side-content {
367- float: left;
368- margin: 5px 10px;
369- padding: 10px;
370- width: 600px;
371-}
372-
373-.summit-columns { -webkit-box-shadow: 0px 1px 1px #CCC; -moz-box-shadow:0 1px 1px #CCC; }
374-.summit-columns { clear: both; background-color: #F7F7F7; padding: 5px; margin-bottom: -3px; }
375-.summit-columns h2 { color: #444; font-weight: normal; border-bottom: 1px solid #EDEDED; text-indent: 10px; margin-bottom: 0; }
376-.summit-columns ul { list-style: none; margin: 0; border-top: 1px solid #FFF; }
377-.summit-columns ul li { width: 23%; float: left; padding-left: 10px; }
378-.summit-columns ul li h3,
379-.summit-columns ul li h3 a { color: #DD4814; text-decoration: none; margin-bottom: 0; margin-top: 5px; }
380-.summit-columns ul li h3 a:hover { text-decoration: underline; }
381-.summit-columns ul li img { padding: 10px 0 5px; }
382-.summit-columns p { margin-bottom: 5px; }
383
384=== added file 'summit/media/js/site.js'
385=== modified file 'summit/schedule/admin/agendaadmin.py'
386--- summit/schedule/admin/agendaadmin.py 2012-01-23 01:18:55 +0000
387+++ summit/schedule/admin/agendaadmin.py 2012-04-05 23:27:19 +0000
388@@ -22,7 +22,7 @@
389
390
391 class AgendaAdmin(admin.ModelAdmin):
392- list_display = ('slot', 'room', 'meeting')
393+ list_display = ('slot', 'room', 'meeting', 'auto')
394 list_display_links = ('meeting', )
395 list_filter = ('room', )
396 search_fields = ('meeting__name', 'meeting__title')
397
398=== modified file 'summit/schedule/admin/meetingadmin.py'
399--- summit/schedule/admin/meetingadmin.py 2012-03-22 17:32:01 +0000
400+++ summit/schedule/admin/meetingadmin.py 2012-04-05 23:27:19 +0000
401@@ -132,7 +132,7 @@
402 share.short_description = "Share Meetings (Private only)"
403
404 class MeetingAdmin(admin.ModelAdmin):
405- list_display = ('summit', 'name', 'title', 'type', 'approved')
406+ list_display = ('summit', 'slots', 'name', 'title', 'type', 'approved')
407 list_display_links = ('name', 'title')
408 list_filter = ('summit', 'type', 'tracks', 'topics', 'slots', 'private',
409 'status', 'priority')
410
411=== modified file 'summit/schedule/admin/summitadmin.py'
412--- summit/schedule/admin/summitadmin.py 2012-03-19 16:06:37 +0000
413+++ summit/schedule/admin/summitadmin.py 2012-04-05 23:27:19 +0000
414@@ -71,7 +71,7 @@
415
416
417 class SummitAdmin(admin.ModelAdmin):
418- list_display = ('name', 'title', 'location')
419+ list_display = ('name', 'title', 'location', 'state')
420 search_fields = ('name', 'title', 'location')
421
422 inlines = (TrackInline, TopicInline, SprintInline)
423
424=== modified file 'summit/schedule/forms.py'
425--- summit/schedule/forms.py 2012-03-23 14:20:31 +0000
426+++ summit/schedule/forms.py 2012-04-05 23:27:19 +0000
427@@ -65,67 +65,7 @@
428 for attendee in kwargs['instance'].participants.all()]
429
430 super(MeetingFormBase, self).__init__(*args, **kwargs)
431-
432- summit = self.instance.summit
433- self.fields['participants'].queryset = Attendee.objects.filter(
434- summit=summit).order_by('user__first_name',
435- 'user__last_name',
436- 'user__username')
437-
438- def save(self, commit=True):
439- instance = super(MeetingFormBase, self).save(commit)
440-
441- # Prepare a 'save_m2m' method for the form,
442- if 'save_m2m' in dir(self):
443- old_save_m2m = self.save_m2m
444- else:
445- old_save_m2m = None
446- def save_m2m():
447- if old_save_m2m is not None:
448- old_save_m2m()
449- # This is where we actually link the pizza with toppings
450- instance.participants.clear()
451- for participant in self.cleaned_data['participants']:
452- record = Participant(meeting=instance, attendee=participant,
453- required=True)
454- record.save()
455- self.save_m2m = save_m2m
456-
457- # Do we need to save all changes now?
458- if commit:
459- instance.save()
460- self.save_m2m()
461-
462- return instance
463-
464-class MeetingFormBase(forms.ModelForm):
465- participants = MultipleAttendeeField(
466- queryset=Attendee.objects.all,
467- widget=forms.CheckboxSelectMultiple,
468- label='Participants',
469- required=False)
470-
471- class Media:
472- css = {'all': (
473- '/media/css/colortip-1.0-jquery.css',
474- )}
475- js = (
476- '/media/js/colortip-1.0-jquery.js',
477- )
478-
479- def __init__(self, *args, **kwargs):
480- if 'instance' in kwargs:
481- if kwargs['instance'].pk is not None:
482- # We get the 'initial' keyword argument or initialize it
483- # as a dict if it didn't exist.
484- initial = kwargs.setdefault('initial', {})
485- # The widget for a ModelMultipleChoiceField expects
486- # a list of primary key for the selected data.
487- initial['participants'] = [
488- attendee.pk
489- for attendee in kwargs['instance'].participants.all()]
490-
491- super(MeetingFormBase, self).__init__(*args, **kwargs)
492+ self.fields['tracks'].queryset = self.instance.summit.track_set.all()
493
494 summit = self.instance.summit
495 self.fields['participants'].queryset = Attendee.objects.filter(
496@@ -162,28 +102,26 @@
497 class CreateMeeting(MeetingFormBase, RenderableMixin):
498 class Meta:
499 model = Meeting
500- fields = ('title', 'description', 'tracks', 'type', 'spec_url', 'wiki_url',
501- 'pad_url', 'requires_dial_in', 'private')
502+ fields = ('title', 'description', 'tracks', 'type', 'spec_url', 'wiki_url', 'pad_url',
503+ 'requires_dial_in', 'private', 'slots', 'approved', 'video')
504
505
506 class OrganizerEditMeeting(MeetingFormBase, RenderableMixin):
507 class Meta:
508 model = Meeting
509 fields = ('title', 'description', 'tracks', 'type', 'spec_url', 'wiki_url', 'pad_url',
510- 'requires_dial_in', 'private', 'slots', 'approved', 'video', )
511+ 'requires_dial_in', 'private', 'slots', 'approved', 'video')
512
513 class ProposeMeeting(MeetingFormBase, RenderableMixin):
514 class Meta:
515 model = Meeting
516- fields = ('title', 'description', 'tracks', 'spec_url', 'wiki_url',
517- 'pad_url', 'requires_dial_in')
518+ fields = ('title', 'description', 'tracks', 'spec_url', 'wiki_url', 'pad_url')
519
520
521 class EditMeeting(MeetingFormBase, RenderableMixin):
522 class Meta:
523 model = Meeting
524- fields = ('title', 'description', 'tracks', 'spec_url', 'wiki_url', 'pad_url',
525- 'requires_dial_in')
526+ fields = ('title', 'description', 'tracks', 'spec_url', 'wiki_url', 'pad_url')
527
528 class MeetingReview(forms.ModelForm, RenderableMixin):
529 class Meta:
530
531=== modified file 'summit/schedule/render.py'
532--- summit/schedule/render.py 2012-02-02 15:04:05 +0000
533+++ summit/schedule/render.py 2012-04-05 23:27:19 +0000
534@@ -1024,7 +1024,7 @@
535 END:VEVENT
536 ''' % {'id':meeting.id, 'dtstart':dtstart, 'dtend':dtend, 'category':categories,
537 'eventname':meeting.title, 'eventplace': room.title, 'type': meeting.type,
538- 'roomname':room.name, 'description': meeting.description.replace('\r', '').replace('\n', '\N'),
539+ 'roomname':room.name, 'description': getattr(meeting, 'description', '').replace('\r', '').replace('\n', '\N'),
540 'meeting_url':meeting.meeting_page_url,
541 'base_url':getattr(settings, 'SITE_ROOT', 'http://summit.ubuntu.com')}
542 ical += 'END:VCALENDAR'
543
544=== modified file 'summit/schedule/templates/schedule/actions.html'
545--- summit/schedule/templates/schedule/actions.html 2012-03-23 16:28:03 +0000
546+++ summit/schedule/templates/schedule/actions.html 2012-04-05 23:27:19 +0000
547@@ -35,6 +35,9 @@
548 {% else %}
549 <li><a href="/{{ summit.name }}/propose_meeting">Propose a meeting</a></li>
550 {% endif %}
551+ {% if attendee %}
552+ <li><a href="{% url summit.schedule.views.created_meetings summit.name attendee.user.username %}">My proposed meetings</a></li>
553+ {% endif %}
554 </ul>
555 </div>
556 {% endifequal %}
557
558=== modified file 'summit/schedule/templates/schedule/create_meeting.html'
559--- summit/schedule/templates/schedule/create_meeting.html 2012-03-21 16:50:31 +0000
560+++ summit/schedule/templates/schedule/create_meeting.html 2012-04-05 23:27:19 +0000
561@@ -8,7 +8,7 @@
562 <link rel="stylesheet" type="text/css" href="{{MEDIA_URL}}css/colortip-1.0-jquery.css"/>
563 {% endblock %}
564
565-{% block extrafooter %}
566+{% block closure %}
567 <script type="text/javascript"><!--
568 $(document).ready(function(){
569 $('span[rel*=help]').colorTip({color:'orange'});
570
571=== modified file 'summit/schedule/templates/schedule/daily.html'
572--- summit/schedule/templates/schedule/daily.html 2012-03-23 23:51:49 +0000
573+++ summit/schedule/templates/schedule/daily.html 2012-04-05 23:27:19 +0000
574@@ -5,180 +5,28 @@
575 {{ viewdate|strftime:"%Y-%m-%d" }} Schedule - {{ summit.title }}
576 {% endblock %}
577
578-{% block head %}
579-<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
580-{% if linaro %}
581- <base target="_blank" />
582-{% endif %}
583-{{ block.super }}
584-<script language="JavaScript">
585-
586-function show_agenda_details(agenda_id, index_id) {
587- var elem_id = 'agenda-'+agenda_id+'-'+index_id+'-details'
588- var details = document.getElementById(elem_id)
589- details.style.display='block';
590-}
591-
592-function hide_agenda_details(agenda_id, index_id) {
593- var elem_id = 'agenda-'+agenda_id+'-'+index_id+'-details'
594- var details = document.getElementById(elem_id)
595- details.style.display='none';
596-}
597-
598-</script>
599-<style>
600-TABLE img.icon {
601- vertical-align: bottom;
602- width: 16px;
603- height: 16px;
604-}
605-
606-table.basic span.main-agenda-item-tracks {
607- font-size: 0.8em;
608-}
609-
610-div.agenda-details {
611- display: none;
612- padding: 5px;
613- position: absolute;
614- margin-left: 20px;
615- font-size: 0.9em;
616- color: #FFFFFF;
617- background-color: #101010;
618- border: #000000 1px solid;
619- border-radius: 5px;
620- min-width: 200px;
621- max-width: 500px;
622- z-index: 100;
623-}
624-
625-div.meeting-description {
626- white-space: pre-wrap;
627-}
628-
629-div.agenda-details LI {
630- font-size: 1.0em;
631-}
632-
633-div.schedule-head {
634- position: relative;
635- overflow: visible;
636- z-index: 10;
637-}
638-
639-div.schedule-head .schedule-qrcode {
640- height: 63px;
641- vertical-align: top;
642- margin-left: -3px;
643- margin-top: -3px;
644-}
645-
646-div.schedule-head .schedule-date {
647- font-weight: normal;
648- font-size: 36px;
649- margin-left: 5px;
650-}
651-
652-div.schedule-head .schedule-crew, .last-updated {
653- font-size: 0.7pc;
654-}
655-
656-/* Mobile view */
657-@media screen and (max-width: 481px) {
658- /* turn off a bunch of stuff */
659- nav#top-related, header#page-header, aside#page-related, footer#page-footer { display: none; }
660- section#main-section .container, article.main-content, aside#top-nav, aside#top-nav .container, .wrapper, .inner-wrapper, .span-9 {
661- width: auto;
662- margin: 0; padding: 0;
663- }
664- #top-login { display: block; }
665- aside#top-nav {
666- display: block;
667- text-align: center;
668- font-size: 16px;
669- min-height: 24px;
670- }
671- .schedule-head > a { display: none; } /* qr code */
672- div.schedule-head .schedule-date {
673- display: block;
674- overflow: auto;
675- font-size: 16px;
676- text-align: center;
677- margin: 0;
678- }
679- div.schedule-head .schedule-qrcode { display: none; }
680- div.schedule-head .schedule-date a {
681- display: block;
682- float: right;
683- background: #eee;
684- width: 33%;
685- text-align: center;
686- }
687- div.schedule-head .schedule-date a:nth-child(1) {
688- float: left;
689- }
690- table.basic {
691- margin-top: 0;
692- width: 100%;
693- }
694- table.basic span.main-agenda-item-tracks {
695- display: none;
696- }
697- div.agenda-details {
698- background-color: #eee;
699- border-width: 0;
700- color: black;
701- font-size: 1em;
702- position: static;
703- max-width: 100%;
704- min-width: 100%;
705- width: 100%;
706- padding: 5px;
707- margin: 0;
708- border-radius: 0;
709- }
710- div.agenda-details ul {
711- background: #101010;
712- padding-left: 4px;
713- }
714- .main-agenda-item-name {
715- display: block;
716- min-height: 24px;
717- }
718- .main-agenda-item-name img.icon {
719- height: 24px;
720- width: 24px;
721- float: left;
722- margin-right: 4px;
723- }
724-
725- header a.logo-ubuntu img { display: none; }
726-
727-}
728-
729-</style>
730-{% endblock %}
731+{% block extrahead %}{% if linaro %}<base target="_blank" />{% endif %}{{ block.super }}{% endblock %}
732
733 {% block sub_nav_links %}
734 {% if ical %}
735 <li><a class="sub-nav-item" href="{{ ical }}">iCal Feed</a></li>
736 {% endif %}
737 <li><a class="sub-nav-item" href="{% url mobile %}">Mobile</a></li>
738-<li><a class="sub-nav-item" href="display">Wide Display</a></li>
739+<li><a class="sub-nav-item" href="display">Wide display</a></li>
740 {% endblock %}
741
742 {% block content %}
743 <div class="row">
744-<article class="span-9">
745+<article class="span-8">
746
747 <div class="schedule-head">
748 {% if summit.qr %}
749-<img class="schedule-qrcode" src="{{summit.qr}}" />
750+<img class="schedule-qrcode" src="{{summit.qr}}" alt="QR" />
751 {% endif %}
752 <span class="schedule-date"><a href="{% url summit.schedule.views.daily_schedule summit.name previousday|date:"Y-m-d" %}{% if is_popup %}?_popup=1{% endif %}" target="_self">&lt;</a> {{ viewdate.date|strftime:"%A" }} <a href="{% url summit.schedule.views.daily_schedule summit.name nextday|date:"Y-m-d" %}{% if is_popup %}?_popup=1{% endif %}" target="_self">&gt;</a></span>
753
754 {% if schedule.crew %}
755-<span class="schedule-crew">Crew: {% for c in crew %}<a href="https://launchpad.net/~{{crew.attendee.user}}">{{c.attendee.name}}</a>{% if forloop.last %}{% else %}, {% endif %}{% endfor %}
756+<span class="schedule-crew">Crew: {% for c in crew %}<a href="https://launchpad.net/~{{crew.attendee.user.username}}">{{c.attendee.name}}</a>{% if forloop.last %}{% else %}, {% endif %}{% endfor %}
757 </span>
758 {% endif %}
759 </div>
760@@ -200,9 +48,9 @@
761 <span onMouseOver="show_agenda_details({{agenda.id}}, {{slot.id}});" onMouseOut="hide_agenda_details({{agenda.id}}, {{slot.id}});">
762 <a href="{{agenda.meeting.meeting_page_url}}" style="color: #000000;" class="main-agenda-item-name">
763 {% if attendee in agenda.meeting.attendees %}
764- <img class="icon" src="/media/img/attending.png">
765+ <img class="icon" src="/media/img/attending.png" alt="Attending">
766 {% else %}
767- <img class="icon" src="/media/img/not_attending.png">
768+ <img class="icon" src="/media/img/not_attending.png" alt="Not Attending">
769 {% endif %}
770 {{agenda.meeting.title}}
771 </a>
772@@ -220,7 +68,7 @@
773 {% if participant.required %}
774 <img class="icon" src="/media/img/required.png" title="required" alt="(required)">
775 {% else %}
776- <img class="icon" src="/media/img/attending.png">
777+ <img class="icon" src="/media/img/attending.png" alt="attending">
778 {% endif %}{{ participant.attendee.user }}</div>
779 {% endfor %}</div>
780 {% endif %}
781@@ -236,7 +84,7 @@
782 <td width="25%">
783 {{agenda.room.title}}
784 {% if agenda.room.icecast_url %}
785- <a href="{{agenda.room.icecast_url}}"><img class="icon" src="/media/img/audio.png" title="Audio Feed", alt="(Audio Feed)"></a>
786+ <a href="{{agenda.room.icecast_url}}"><img class="icon" src="/media/img/audio.png" title="Audio Feed" alt="(Audio Feed)"></a>
787 {% endif %}
788 {% if agenda.room.irc_channel %}
789 <a href="irc://irc.freenode.net:6667/#{{agenda.room.irc_channel}}"><img class="icon" src="/media/img/chat.png" title="IRC Channel" alt="(IRC Channel)" /></a>
790@@ -250,10 +98,100 @@
791 {% endfor %}
792
793 </article>
794-<article class="span-3 last">
795+<article class="span-4 last">
796 {% include "schedule/actions.html" %}
797 </article>
798 </div>
799+{% endblock %}
800+{% block closure %}
801+<script language="JavaScript">
802+
803+function show_agenda_details(agenda_id, index_id) {
804+ var elem_id = 'agenda-'+agenda_id+'-'+index_id+'-details'
805+ var details = document.getElementById(elem_id)
806+ details.style.display='block';
807+}
808+
809+function hide_agenda_details(agenda_id, index_id) {
810+ var elem_id = 'agenda-'+agenda_id+'-'+index_id+'-details'
811+ var details = document.getElementById(elem_id)
812+ details.style.display='none';
813+}
814+
815+</script>
816+<script>
817+/* Mobile view */
818+@media screen and (max-width: 481px) {
819+ /* turn off a bunch of stuff */
820+ footer { display: none; }
821+ section#main-section .container, article.main-content, aside#top-nav, aside#top-nav .container, .wrapper, .inner-wrapper, .span-9 {
822+ width: auto;
823+ margin: 0; padding: 0;
824+ }
825+ #top-login { display: block; }
826+ .header-text { display: none; }
827+ aside#top-nav {
828+ display: block;
829+ text-align: center;
830+ font-size: 16px;
831+ min-height: 24px;
832+ }
833+ .schedule-head > a { display: none; } /* qr code */
834+ div.schedule-head .schedule-date {
835+ display: block;
836+ overflow: auto;
837+ font-size: 16px;
838+ text-align: center;
839+ margin: 0;
840+ }
841+ div.schedule-head .schedule-qrcode { display: none; }
842+ div.schedule-head .schedule-date a {
843+ display: block;
844+ float: right;
845+ background: #eee;
846+ width: 33%;
847+ text-align: center;
848+ }
849+ div.schedule-head .schedule-date a:nth-child(1) {
850+ float: left;
851+ }
852+ table.basic {
853+ margin-top: 0;
854+ width: 100%;
855+ }
856+ table.basic span.main-agenda-item-tracks {
857+ display: none;
858+ }
859+ div.agenda-details {
860+ background-color: #eee;
861+ border-width: 0;
862+ color: black;
863+ font-size: 1em;
864+ position: static;
865+ max-width: 100%;
866+ min-width: 100%;
867+ width: 100%;
868+ padding: 5px;
869+ margin: 0;
870+ border-radius: 0;
871+ }
872+ div.agenda-details ul {
873+ background: #101010;
874+ padding-left: 4px;
875+ }
876+ .main-agenda-item-name {
877+ display: block;
878+ min-height: 24px;
879+ }
880+ .main-agenda-item-name img.icon {
881+ height: 24px;
882+ width: 24px;
883+ float: left;
884+ margin-right: 4px;
885+ }
886+ header a.logo-ubuntu img { display: none; }
887+}
888+</style>
889 <script>
890 /* Mobile handler for clicking a link */
891 /* put at the bottom of the page so that the relevant elements exist */
892@@ -295,5 +233,4 @@
893 };
894
895 </script>
896-
897 {% endblock %}
898
899=== modified file 'summit/schedule/templates/schedule/edit_meeting.html'
900--- summit/schedule/templates/schedule/edit_meeting.html 2012-03-23 20:44:55 +0000
901+++ summit/schedule/templates/schedule/edit_meeting.html 2012-04-05 23:27:19 +0000
902@@ -8,7 +8,7 @@
903 <link rel="stylesheet" type="text/css" href="{{MEDIA_URL}}css/colortip-1.0-jquery.css"/>
904 {% endblock %}
905
906-{% block extrafooter %}
907+{% block closure %}
908 <script type="text/javascript"><!--
909 $(document).ready(function(){
910 $('span[rel*=help]').colorTip({color:'orange'});
911@@ -35,12 +35,11 @@
912
913 <form action="{{ request.path_info }}" method="POST">
914 <fieldset>
915- <legend>Edit Meeting</legend>
916+ <h3>Edit Meeting</h3>
917 {{ form.as_template }}
918 </fieldset>
919 {% if is_popup %}<input type="hidden" name="_popup" value="1">{% endif %}
920 <input type="submit" name="submit" value="Save" class="submit-button" />
921 </form>
922 </article>
923-</span>
924 {% endblock %}
925
926=== modified file 'summit/schedule/templates/schedule/meeting.html'
927--- summit/schedule/templates/schedule/meeting.html 2012-03-23 17:56:14 +0000
928+++ summit/schedule/templates/schedule/meeting.html 2012-04-05 23:27:19 +0000
929@@ -26,17 +26,17 @@
930 {% if meeting.private_key and meeting.private_key != '' %}
931 <li><a class="sub-nav-item" href="{% url summit.schedule.views.private_meeting meeting.summit.name, meeting.private_key, meeting.name|default:'-' %}">Shared URL</a></li>
932 {% else %}
933- <li><a class="sub-nav-item" href="{% url summit.schedule.views.meeting meeting.summit.name, meeting.id, meeting.name|default:'-' %}+share">Share Meeting</a></li>
934+ <li><a class="sub-nav-item" href="{% url summit.schedule.views.meeting meeting.summit.name, meeting.id, meeting.name|default:'-' %}+share">Share meeting</a></li>
935 {% endif %}
936 {% endif %}
937
938 {% if meeting.spec_url %}
939 {% else %}
940 {% if summit_organizer %}
941- <li><a class="sub-nav-item" href="{% url summit.schedule.views.organizer_edit_meeting summit.name, meeting.id, meeting.name|default:'-' %}">Edit Meeting</a></li>
942+ <li><a class="sub-nav-item" href="{% url summit.schedule.views.organizer_edit_meeting summit.name, meeting.id, meeting.name|default:'-' %}">Edit meeting</a></li>
943 {% else %}
944 {% if drafter %}
945- <li><a class="sub-nav-item" href="{% url summit.schedule.views.edit_meeting summit.name, meeting.id, meeting.name|default:'-' %}">Edit Meeting</a></li>
946+ <li><a class="sub-nav-item" href="{% url summit.schedule.views.edit_meeting summit.name, meeting.id, meeting.name|default:'-' %}">Edit meeting</a></li>
947 {% endif %}
948 {% endif %}
949 {% endif %}
950@@ -47,7 +47,7 @@
951 {% endif %}
952 {% else %}
953 {% if meeting.spec_url %}
954- <li><a class="sub-nav-item" href="{{ meeting.spec_url }}/+subscribe">Subscribe to Blueprint</a></li>
955+ <li><a class="sub-nav-item" href="{{ meeting.spec_url }}/+subscribe">Subscribe to blueprint</a></li>
956 {% endif %}
957 <li><a class="sub-nav-item" href="{% url summit.schedule.views.register meeting.summit.name, meeting.id, meeting.name|default:'-' %}">Attend this meeting</a></li>
958 {% endif %}
959@@ -55,6 +55,9 @@
960 {% if meeting.spec_url %}
961 <li><a class="sub-nav-item" href="{{ meeting.spec_url }}">Blueprint</a></li>
962 {% endif %}
963+ {% if scheduler %}
964+ <li><a class="sub-nav-item" href="{% url summit.schedule.views.meeting_copy meeting.summit.name, meeting.id, meeting.name|default:'-' %}">Copy meeting</a></li>
965+ {% endif %}
966 {% endblock %}
967
968 {% block content %}
969
970=== modified file 'summit/schedule/templates/schedule/meeting_review.html'
971--- summit/schedule/templates/schedule/meeting_review.html 2012-03-23 20:44:55 +0000
972+++ summit/schedule/templates/schedule/meeting_review.html 2012-04-05 23:27:19 +0000
973@@ -8,7 +8,7 @@
974 <link rel="stylesheet" type="text/css" href="{{MEDIA_URL}}css/colortip-1.0-jquery.css"/>
975 {% endblock %}
976
977-{% block extrafooter %}
978+{% block closure %}
979 <script type="text/javascript"><!--
980 $(document).ready(function(){
981 $('span[rel*=help]').colorTip({color:'orange'});
982@@ -28,7 +28,7 @@
983
984 <form action="{{ request.path_info }}" method="POST">
985 <fieldset>
986- <legend>Review Meeting</legend>
987+ <h3>Review Meeting</h3>
988 {{ form.as_template }}
989 </fieldset>
990 {% if is_popup %}<input type="hidden" name="_popup" value="1">{% endif %}
991
992=== added file 'summit/schedule/templates/schedule/mine.html'
993--- summit/schedule/templates/schedule/mine.html 1970-01-01 00:00:00 +0000
994+++ summit/schedule/templates/schedule/mine.html 2012-04-05 23:27:19 +0000
995@@ -0,0 +1,113 @@
996+{% extends "base.html" %}
997+
998+{% block page_name %}
999+Review Proposed Meetings - {{ summit.title }}
1000+{% endblock %}
1001+
1002+{% block head %}
1003+{% if linaro %}
1004+ <base target="_blank" />
1005+{% endif %}
1006+{{ block.super }}
1007+<script language="JavaScript">
1008+
1009+function show_agenda_details(agenda_id, index_id) {
1010+ var elem_id = 'agenda-'+agenda_id+'-'+index_id+'-details'
1011+ var details = document.getElementById(elem_id)
1012+ details.style.display='block';
1013+}
1014+
1015+function hide_agenda_details(agenda_id, index_id) {
1016+ var elem_id = 'agenda-'+agenda_id+'-'+index_id+'-details'
1017+ var details = document.getElementById(elem_id)
1018+ details.style.display='none';
1019+}
1020+
1021+</script>
1022+<style>
1023+TABLE img.icon {
1024+ vertical-align: bottom;
1025+ width: 16px;
1026+ height: 16px;
1027+}
1028+
1029+table.basic span.main-agenda-item-tracks {
1030+ font-size: 0.8em;
1031+}
1032+
1033+div.agenda-details {
1034+ display: none;
1035+ padding: 5px;
1036+ position: absolute;
1037+ margin-left: 20px;
1038+ font-size: 0.9em;
1039+ color: #FFFFFF;
1040+ background-color: #101010;
1041+ border: #000000 1px solid;
1042+ border-radius: 5px;
1043+ min-width: 200px;
1044+ max-width: 500px;
1045+ z-index: 100;
1046+}
1047+
1048+div.meeting-description {
1049+ white-space: pre-wrap;
1050+}
1051+
1052+div.agenda-details LI {
1053+ font-size: 1.0em;
1054+}
1055+
1056+div.schedule-head {
1057+ position: relative;
1058+ overflow: visible;
1059+ z-index: 10;
1060+}
1061+
1062+div.schedule-head .schedule-qrcode {
1063+ height: 63px;
1064+ vertical-align: top;
1065+ margin-left: -3px;
1066+ margin-top: -3px;
1067+}
1068+
1069+div.schedule-head .schedule-date {
1070+ font-weight: normal;
1071+ font-size: 36px;
1072+ margin-left: 5px;
1073+}
1074+
1075+div.schedule-head .schedule-crew, .last-updated {
1076+ font-size: 0.7pc;
1077+}
1078+
1079+</style>
1080+{% endblock %}
1081+
1082+{% block sub_nav %}
1083+{% endblock %}
1084+
1085+{% block content %}
1086+<div class="row">
1087+<article class="span-12">
1088+
1089+<div class="schedule-head">
1090+ <h2>Meetings created by {{ drafter.name }}</h2>
1091+</div>
1092+<table class="basic">
1093+{% for meeting in meetings %}
1094+<tr style="background-color: {{ meeting.track_color }}; {% if meeting.private %}border: 1px; border-style: solid; border-color: #FF0000;{% endif %}">
1095+<td width="75%">
1096+ <a href="{{ meeting.meeting_page_url }}" style="color: #000000;" class="main-agenda-item-name">
1097+ {{ meeting.title }}
1098+ </a>
1099+</td>
1100+<td width="25%">
1101+Status: {{ meeting.get_approved_display }}
1102+</td>
1103+</tr>
1104+{% endfor %}
1105+</table>
1106+</article>
1107+</div>
1108+{% endblock %}
1109
1110=== modified file 'summit/schedule/templates/schedule/nextsession.html'
1111--- summit/schedule/templates/schedule/nextsession.html 2011-11-01 18:00:44 +0000
1112+++ summit/schedule/templates/schedule/nextsession.html 2012-04-05 23:27:19 +0000
1113@@ -3,7 +3,7 @@
1114
1115 <head>
1116 <meta http-equiv="refresh" content="60">
1117-{% block head %}
1118+{% block extrahead %}
1119
1120 {% endblock %}
1121 <style type="text/css">
1122
1123=== modified file 'summit/schedule/templates/schedule/nosession.html'
1124--- summit/schedule/templates/schedule/nosession.html 2012-03-18 19:53:58 +0000
1125+++ summit/schedule/templates/schedule/nosession.html 2012-04-05 23:27:19 +0000
1126@@ -1,6 +1,6 @@
1127 {% extends "base.html" %}
1128
1129-{% block head %}
1130+{% block extrahead %}
1131 {{ block.super }}
1132 <script language="JavaScript">
1133
1134
1135=== modified file 'summit/schedule/templates/schedule/org_edit_meeting.html'
1136--- summit/schedule/templates/schedule/org_edit_meeting.html 2012-03-23 20:44:55 +0000
1137+++ summit/schedule/templates/schedule/org_edit_meeting.html 2012-04-05 23:27:19 +0000
1138@@ -8,7 +8,7 @@
1139 <link rel="stylesheet" type="text/css" href="{{MEDIA_URL}}css/colortip-1.0-jquery.css"/>
1140 {% endblock %}
1141
1142-{% block extrafooter %}
1143+{% block closure %}
1144 <script type="text/javascript"><!--
1145 $(document).ready(function(){
1146 $('span[rel*=help]').colorTip({color:'orange'});
1147@@ -35,7 +35,7 @@
1148
1149 <form action="{{ request.path_info }}" method="POST">
1150 <fieldset>
1151- <legend>Edit Meeting</legend>
1152+ <h3>Edit Meeting</h3>
1153 {{ form.as_template }}
1154 </fieldset>
1155 {% if is_popup %}<input type="hidden" name="_popup" value="1">{% endif %}
1156
1157=== modified file 'summit/schedule/templates/schedule/past_summit.html'
1158--- summit/schedule/templates/schedule/past_summit.html 2012-03-17 19:39:42 +0000
1159+++ summit/schedule/templates/schedule/past_summit.html 2012-04-05 23:27:19 +0000
1160@@ -4,7 +4,7 @@
1161 {% block page_name %}Previous Summits{%endblock %}
1162
1163 {% block sub_nav_links %}
1164- <li><a class="sub-nav-item" href="{% url summit.schedule.views.summit next_summit.name %}">Current Summit</a></li>
1165+ <li><a class="sub-nav-item" href="{% url summit.schedule.views.summit next_summit.name %}">Current summit</a></li>
1166 {% endblock %}
1167
1168 {% block content %}
1169@@ -13,9 +13,7 @@
1170 <div class="row">
1171 <article class="span-12">
1172 <h1><a href="{% url summit.schedule.views.summit summit.name %} ">{{ summit.title }} &rsaquo;</a></h1>
1173- <p>
1174 {% include "schedule/summit_info.html" %}
1175- </p>
1176 </article>
1177 </div>
1178 {% endfor %}
1179
1180=== modified file 'summit/schedule/templates/schedule/propose_meeting.html'
1181--- summit/schedule/templates/schedule/propose_meeting.html 2012-03-23 20:44:55 +0000
1182+++ summit/schedule/templates/schedule/propose_meeting.html 2012-04-05 23:27:19 +0000
1183@@ -8,7 +8,7 @@
1184 <link rel="stylesheet" type="text/css" href="{{MEDIA_URL}}css/colortip-1.0-jquery.css"/>
1185 {% endblock %}
1186
1187-{% block extrafooter %}
1188+{% block closure %}
1189 <script type="text/javascript"><!--
1190 $(document).ready(function(){
1191 $('span[rel*=help]').colorTip({color:'orange'});
1192@@ -35,7 +35,7 @@
1193
1194 <form action="{{ request.path_info }}" method="POST">
1195 <fieldset>
1196- <legend>Propose a Meeting</legend>
1197+ <h3>Propose a Meeting</h3>
1198 {{ form.as_template }}
1199 </fieldset>
1200 {% if is_popup %}<input type="hidden" name="_popup" value="1">{% endif %}
1201
1202=== modified file 'summit/schedule/templates/schedule/review.html'
1203--- summit/schedule/templates/schedule/review.html 2012-03-21 00:41:17 +0000
1204+++ summit/schedule/templates/schedule/review.html 2012-04-05 23:27:19 +0000
1205@@ -4,7 +4,7 @@
1206 Review Proposed Meetings - {{ summit.title }}
1207 {% endblock %}
1208
1209-{% block head %}
1210+{% block extrahead %}
1211 {% if linaro %}
1212 <base target="_blank" />
1213 {% endif %}
1214
1215=== modified file 'summit/schedule/templates/schedule/schedule.html'
1216--- summit/schedule/templates/schedule/schedule.html 2012-03-23 17:56:14 +0000
1217+++ summit/schedule/templates/schedule/schedule.html 2012-04-05 23:27:19 +0000
1218@@ -7,7 +7,7 @@
1219 {% if schedule.room %}{{ schedule.room.title }}{% endif %}
1220 {% endblock %}
1221
1222-{% block head %}
1223+{% block extrahead %}
1224 {{ block.super }}
1225 <link rel="stylesheet" type="text/css" media="screen" href="/media/css/schedule.css" />
1226 {% if schedule.edit %}
1227@@ -38,19 +38,39 @@
1228 }
1229 window.addEventListener('load', starttimer());
1230 </script>
1231+
1232+<style>
1233+ div.wrapper, div.inner-wrapper {
1234+ width: auto;
1235+ }
1236+
1237+ div.wrapper {
1238+ padding: 0px 0px;
1239+ clear: both;
1240+ display: inline;
1241+ float: left;
1242+ border: 0;
1243+ margin: 0;
1244+ }
1245+
1246+ #top-nav, header {
1247+ width: auto;
1248+ }
1249+</style>
1250+
1251 {% endblock %}
1252 {% block 960css %}{% endblock %}
1253
1254 {% block sub_nav_links %}
1255 {% if schedule.edit %}
1256- <li><a class="sub-nav-item" href="{{ request.url }}?">Read Only</a></li>
1257+ <li><a class="sub-nav-item" href="{{ request.url }}?">Read only</a></li>
1258 {% else %}
1259 {% if can_change_agenda %}
1260 <li><a class="sub-nav-item" href="{{ request.url }}?edit">Edit</a></li>
1261 {% endif %}
1262 {% endif %}
1263 {% if ical %}
1264-<li><a class="sub-nav-item" href="{{ ical }}">iCal Feed</a></li>
1265+<li><a class="sub-nav-item" href="{{ ical }}">iCal feed</a></li>
1266 {% endif %}
1267 <li><a class="sub-nav-item" href="{% url mobile %}">Mobile</a></li>
1268 {% endblock %}
1269
1270=== modified file 'summit/schedule/templates/schedule/schedule_list.html'
1271--- summit/schedule/templates/schedule/schedule_list.html 2012-01-25 18:32:06 +0000
1272+++ summit/schedule/templates/schedule/schedule_list.html 2012-04-05 23:27:19 +0000
1273@@ -1,7 +1,7 @@
1274 {% load datetime %}
1275
1276 <h2>Schedule</h2>
1277-<table class="column">
1278+<table class="column schedule">
1279 <tr>
1280 <td>
1281 By date:
1282
1283=== modified file 'summit/schedule/templates/schedule/summit.html'
1284--- summit/schedule/templates/schedule/summit.html 2012-03-23 23:51:49 +0000
1285+++ summit/schedule/templates/schedule/summit.html 2012-04-05 23:27:19 +0000
1286@@ -3,20 +3,9 @@
1287
1288 {% block page_name %}{{ summit.title }} {{ summit.date_start|strftime:"%d %b" }} - {{ summit.date_end|strftime:"%d %b %Y" }} {%endblock %}
1289
1290-{% block extrahead %}
1291-<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
1292+{% block extrahead %}{{ block.super }}{% endblock %}
1293
1294-{{ block.super }}
1295- <script type="text/javascript" src="{{MEDIA_URL}}jquery/jquery.js"></script>
1296- <script type="text/javascript" src="{{MEDIA_URL}}js/twidenash/jquery-twidenash.js"></script>
1297- <script type="text/javascript">
1298- //<![CDATA[
1299- $(function() {
1300- $('.twidenash').twidenash();
1301- });
1302- //]]>
1303- </script>
1304- <meta property="fb:app_id" content="310260202349342" />
1305+ {% block extrameta %}<meta property="fb:app_id" content="310260202349342" />
1306 <meta property="og:title" content="{{ summit.title }} {{ summit.date_start|strftime:"%d" }} - {{ summit.date_end|strftime:"%d, %b. %Y" }}" />
1307 {% if summit.description %}
1308 <meta property="og:description" content="{{ summit.description|safe }}" />
1309@@ -26,52 +15,7 @@
1310 <meta property="og:site_name" content="The Summit Scheduler"/>
1311 <meta property="og:type" content="summit-scheduler:meeting"/>
1312 <meta itemprop="name" content="{{ summit.title }} {{ summit.date_start|strftime:"%d" }} - {{ summit.date_end|strftime:"%d, %b. %Y" }}" />
1313- <meta itemprop="description" content="{{ summit.description|linebreaks|striptags }}" />
1314-
1315-<style>
1316-/* Mobile-friendly styles */
1317-@media screen and (max-width: 481px) {
1318- aside#top-nav, header#page-header, aside#page-related, footer#page-footer, section#main-section .container, article.main-content, .container, #main-nav, .double-side-content, #page-footer div.container, #sub-nav-container, .side-content, .wrapper, .inner-wrapper, .span-9, article {
1319- width: 100%;
1320- margin: 0; padding: 0;
1321- }
1322- #page-header { text-align: center; }
1323- #page-header a { height: 24px; line-height: 1; float: none; display: inline; }
1324- #top-logo { display: none; }
1325- table.column { width: 100%; margin: 0; padding: 0; border-width: 0; }
1326- table.column td { display: block; width: 100%; margin: 0; padding: 0; border-width: 0; }
1327- table.column td ul {
1328- width: 100%;
1329- margin: 0;
1330- padding: 0;
1331- }
1332- article.main-content { width: 100%; }
1333- table.column td ul li {
1334- background: #efefef;
1335- border-bottom: 1px solid black;
1336- list-style: none;
1337- text-align: center;
1338- font-size: 24px;
1339- line-height: 24px;
1340- min-height: 24px;
1341- width: 100%;
1342- display: block;
1343- padding: 4px 0;
1344- margin: 0;
1345- }
1346- .double-side-content {
1347- text-align: center;
1348- }
1349- .side-content { display: none; }
1350- #fb-root * { width: auto; }
1351- header h2 a {
1352- max-width: 85px;
1353- margin-top: -10px;
1354- }
1355-}
1356-</style>
1357-{% endblock %}
1358-
1359+ <meta itemprop="description" content="{{ summit.description|linebreaks|striptags }}" />{% endblock %}
1360 {% block sub_nav_links %}
1361 <li><a class="sub-nav-item" href="/{{ summit.name }}/tracks" title="Tracks">Tracks</a></li>
1362 <li><a class="sub-nav-item" href="/{{ summit.name }}.ical">All sessions (iCal)</a></li>
1363@@ -84,19 +28,17 @@
1364 {% block content %}
1365
1366 <div class="row">
1367- <section class="span-9">
1368+ <section class="span-8">
1369 <h1>{{ summit.title }}</h1>
1370- <p>
1371 {% include "schedule/summit_info.html" %}
1372- </p>
1373 </section>
1374- <article class="span-3 last">
1375+ <article class="span-4 last actions">
1376 {% include "schedule/actions.html" %}
1377 </article>
1378 </div>
1379
1380 <div class="row">
1381- <section class="span-9">
1382+ <section class="span-8">
1383 {% if attendee %}
1384 <p>You are attending, you can update the days and times of your attendance <ins></ins>
1385 <a class="launchpad" href="http://launchpad.net/sprints/{{ summit.name }}/+attend"><img src="/media/img/gem-sm.png" /> Launchpad</a>.
1386@@ -117,9 +59,9 @@
1387 {% endif %}
1388 {% endif %}
1389 </section>
1390- <article class="span-3 last">
1391+ <article class="span-4 last">
1392 <div class="share alone">
1393- <a href="http://www.reddit.com/submit" onclick="window.location = 'http://www.reddit.com/submit?url=' + encodeURIComponent(window.location); return false"> <img style="padding-bottom: 4px;"src="http://www.reddit.com/static/spreddit7.gif" alt="submit to reddit" border="0" /></a><br />
1394+ <a href="http://www.reddit.com/submit" onclick="window.location = 'http://www.reddit.com/submit?url=' + encodeURIComponent(window.location); return false"> <img style="padding-bottom: 4px; border: 0;" src="http://www.reddit.com/static/spreddit7.gif" alt="submit to reddit" /></a><br />
1395 <div id="fb-root"></div>
1396 <script>(function(d, s, id) {
1397 var js, fjs = d.getElementsByTagName(s)[0];
1398@@ -138,12 +80,10 @@
1399 </article>
1400 </div>
1401 <div class="row">
1402- <article class="span-9 last">
1403- <p>
1404+ <article class="span-8">
1405 {% include "schedule/schedule_list.html" %}
1406- </p>
1407 </article>
1408- <article class="span-3">
1409+ <article class="span-4 last">
1410 {% if summit.hashtag %}
1411 <div class="share alone">
1412 <h4>Latest Tweets</h4>
1413@@ -155,3 +95,6 @@
1414 </article>
1415 </div>
1416 {% endblock %}
1417+
1418+{% block closure %}<script type="text/javascript" src="/media/js/twidenash/jquery-twidenash.js"></script>{% endblock %}
1419+
1420
1421=== modified file 'summit/schedule/templates/schedule/summit_info.html'
1422--- summit/schedule/templates/schedule/summit_info.html 2012-03-12 21:00:10 +0000
1423+++ summit/schedule/templates/schedule/summit_info.html 2012-04-05 23:27:19 +0000
1424@@ -6,4 +6,4 @@
1425 <strong>Ends:</strong> {{ summit.end|strftime:"%a, %d %b %Y %H:%M:%S %Z" }}</p>
1426 {% endif %}
1427 <p class="description">{{ summit.description|safe }}</p>
1428-<p><a class="launchpad" href="http://launchpad.net/sprints/{{ summit.name }}"><img src="/media/img/gem-sm.png" /> {{ summit.title }} in Launchpad &rsaquo;</a></p>
1429+<p><a class="launchpad" href="http://launchpad.net/sprints/{{ summit.name }}"><img src="/media/img/gem-sm.png" alt="Launchpad" /> {{ summit.title }} in Launchpad &rsaquo;</a></p>
1430
1431=== modified file 'summit/schedule/views.py'
1432--- summit/schedule/views.py 2012-03-23 20:44:55 +0000
1433+++ summit/schedule/views.py 2012-04-05 23:27:19 +0000
1434@@ -285,6 +285,7 @@
1435 'tracks':tracks,
1436 'ETHERPAD_HOST': summit.etherpad,
1437 'summit_organizer': summit.is_organizer(attendee),
1438+ 'scheduler': summit.can_change_agenda(attendee),
1439 'drafter': drafter,
1440 }
1441 #import pdb; pdb.set_trace()
1442@@ -399,7 +400,7 @@
1443 return render_to_response("schedule/mobile.html", {}, RequestContext(request))
1444
1445 def past(request):
1446- pastsummit = Summit.on_site.filter(date_end__lte=datetime.date.today()).order_by('-date_start')
1447+ pastsummit = Summit.on_site.filter(date_end__lte=datetime.date.today())
1448 context = {
1449 'past_summit': pastsummit,
1450 }
1451@@ -516,6 +517,7 @@
1452 return render_to_response("schedule/review.html", context,
1453 context_instance=RequestContext(request))
1454
1455+@summit_required
1456 def meeting_review(request, summit, attendee, meeting_id):
1457 meeting = get_object_or_404(summit.meeting_set, id=meeting_id)
1458
1459@@ -539,3 +541,50 @@
1460 return render_to_response('schedule/meeting_review.html',
1461 context, RequestContext(request))
1462
1463+@summit_required
1464+def created_meetings(request, summit, attendee, username):
1465+
1466+ drafter = get_object_or_404(Attendee, summit=summit, user__username=username)
1467+ if attendee.id != drafter.id:
1468+ meetings = summit.meeting_set.filter(drafter=drafter).exclude(private=True)
1469+ else:
1470+ meetings = summit.meeting_set.filter(drafter=drafter)
1471+
1472+ context = {
1473+ 'summit': summit,
1474+ 'meetings': meetings,
1475+ 'drafter': drafter,
1476+ 'attendee': attendee,
1477+ }
1478+ return render_to_response("schedule/mine.html", context,
1479+ context_instance=RequestContext(request))
1480+
1481+@summit_required
1482+def meeting_copy(request, summit, attendee, meeting_id, meeting_slug):
1483+ meeting = get_object_or_404(summit.meeting_set, id=meeting_id)
1484+
1485+ if not summit.can_change_agenda(attendee):
1486+ return HttpResponseRedirect(reverse('summit.schedule.views.summit', args=(summit.name,)))
1487+ else:
1488+ if request.method == 'POST':
1489+ form = CreateMeeting(instance=meeting, data=request.POST)
1490+ meeting.id = meeting.pk = None
1491+ meeting.approver = attendee
1492+ meeting.drafter = attendee
1493+ meeting.approved = 'APPROVED'
1494+
1495+ if form.is_valid():
1496+ meeting = form.save()
1497+ meeting_id = meeting.id
1498+ return HttpResponseRedirect(meeting.meeting_page_url)
1499+
1500+ else:
1501+ form = CreateMeeting(instance=meeting)
1502+
1503+ context = {
1504+ 'summit': summit,
1505+ 'form': form,
1506+ }
1507+
1508+ return render_to_response('schedule/create_meeting.html',
1509+ context, RequestContext(request))
1510
1511=== modified file 'summit/settings.py'
1512--- summit/settings.py 2012-03-08 21:54:53 +0000
1513+++ summit/settings.py 2012-04-05 23:27:19 +0000
1514@@ -172,14 +172,14 @@
1515
1516 BZR_APPS = {
1517 ## ubuntu-django-foundations app management
1518- 'bzr_apps': ('http://code.launchpad.net/~django-foundations-dev/ubuntu-django-foundations/bzr_apps', '7'),
1519+ 'bzr_apps': ('http://bazaar.launchpad.net/~django-foundations-dev/ubuntu-django-foundations/bzr_apps', '7'),
1520
1521 ## ubuntu-website supplied templates and styles
1522- 'ubuntu_website': ('http://bazaar.launchpad.net/~ubuntu-community-webthemes/ubuntu-community-webthemes/light-django-theme', '38'),
1523-
1524+ 'ubuntu_website': ('http://bazaar.launchpad.net/~ubuntu-community-webthemes/ubuntu-community-webthemes/light-django-theme', '41'),
1525+
1526 ## linaro-website supplied templates and styles
1527- 'linaro_website': ('http://bazaar.launchpad.net/~linaro-infrastructure/ubuntu-community-webthemes/light-django-linaro-theme', '41'),
1528-
1529+ 'linaro_website': ('http://bazaar.launchpad.net/~linaro-infrastructure/ubuntu-community-webthemes/light-django-linaro-theme', '43'),
1530+
1531 ## twidenash supplied microblog embedding javascript
1532 'media/js/twidenash': ('http://bazaar.launchpad.net/~django-foundations-dev/twidenash/2.0/', '3'),
1533 }
1534
1535=== modified file 'summit/sponsor/templates/sponsor/nonlaunchpadstep0.html'
1536--- summit/sponsor/templates/sponsor/nonlaunchpadstep0.html 2012-01-23 01:18:55 +0000
1537+++ summit/sponsor/templates/sponsor/nonlaunchpadstep0.html 2012-04-05 23:27:19 +0000
1538@@ -2,7 +2,7 @@
1539
1540 {% block page_name %}Suggest Sponsorship{%endblock %}
1541
1542-{% block head %}
1543+{% block extrahead %}
1544 {{ form.media }}
1545 {% endblock %}
1546
1547
1548=== modified file 'summit/sponsor/templates/sponsor/nonlaunchpadstep1.html'
1549--- summit/sponsor/templates/sponsor/nonlaunchpadstep1.html 2012-01-23 01:18:55 +0000
1550+++ summit/sponsor/templates/sponsor/nonlaunchpadstep1.html 2012-04-05 23:27:19 +0000
1551@@ -2,7 +2,7 @@
1552
1553 {% block page_name %}Suggest Sponsorship{%endblock %}
1554
1555-{% block head %}
1556+{% block extrahead %}
1557 {{ form.media }}
1558 {% endblock %}
1559
1560
1561=== modified file 'summit/sponsor/templates/sponsor/suggeststep0.html'
1562--- summit/sponsor/templates/sponsor/suggeststep0.html 2012-01-23 01:18:55 +0000
1563+++ summit/sponsor/templates/sponsor/suggeststep0.html 2012-04-05 23:27:19 +0000
1564@@ -2,7 +2,7 @@
1565
1566 {% block page_name %}Suggest Sponsorship{%endblock %}
1567
1568-{% block head %}
1569+{% block extrahead %}
1570 {{ form.media }}
1571 {% endblock %}
1572
1573
1574=== modified file 'summit/sponsor/templates/sponsor/suggeststep1.html'
1575--- summit/sponsor/templates/sponsor/suggeststep1.html 2012-01-23 01:18:55 +0000
1576+++ summit/sponsor/templates/sponsor/suggeststep1.html 2012-04-05 23:27:19 +0000
1577@@ -2,7 +2,7 @@
1578
1579 {% block page_name %}Suggest Sponsorship{%endblock %}
1580
1581-{% block head %}
1582+{% block extrahead %}
1583 {{ form.media }}
1584 {% endblock %}
1585
1586
1587=== modified file 'summit/ubuntu_settings.py'
1588--- summit/ubuntu_settings.py 2012-03-13 18:44:45 +0000
1589+++ summit/ubuntu_settings.py 2012-04-05 23:27:19 +0000
1590@@ -3,7 +3,7 @@
1591
1592 from settings import *
1593
1594-SITE_ROOT = 'http://summit.chrisjohnston.org'
1595+SITE_ROOT = 'http://summit.ubuntu.com'
1596
1597
1598 SITE_ID = 1
1599
1600=== modified file 'summit/urls.py'
1601--- summit/urls.py 2012-03-23 14:20:31 +0000
1602+++ summit/urls.py 2012-04-05 23:27:19 +0000
1603@@ -75,6 +75,7 @@
1604 (r'^(?P<summit_name>[\w-]+)/edit_mtg/(?P<meeting_id>\d+)/(?P<meeting_slug>[%+\.\w-]+)/$', 'organizer_edit_meeting'),
1605 (r'^(?P<summit_name>[\w-]+)/tracks$', 'tracks'),
1606 (r'^(?P<summit_name>[\w-]+)/next$', 'next_session'),
1607+ (r'^(?P<summit_name>[\w-]+)/(?P<username>[%+\.\w-]+)/meetings$', 'created_meetings'),
1608 (r'^(?P<summit_name>[\w-]+)/(?P<date>[\d-]+)/$', 'daily_schedule'),
1609 (r'^(?P<summit_name>[\w-]+)/(?P<date>[\d-]+)/display$', 'by_date'),
1610 (r'^(?P<summit_name>[\w-]+)/(?P<room_name>[%+\.\w-]+)/$', 'by_room'),
1611@@ -84,6 +85,7 @@
1612 (r'^(?P<summit_name>[\w-]+)/meeting/(?P<meeting_id>\d+)/(?P<meeting_slug>[%+\.\w-]+)/\+unregister', 'unregister'),
1613 (r'^(?P<summit_name>[\w-]+)/meeting/(?P<meeting_id>\d+)/(?P<meeting_slug>[%+\.\w-]+)/$', 'meeting'),
1614 (r'^(?P<summit_name>[\w-]+)/private/(?P<private_key>[0-9a-f]{32})/(?P<meeting_slug>[%+\.\w-]+)/$', 'private_meeting'),
1615+ (r'^(?P<summit_name>[\w-]+)/meeting/(?P<meeting_id>\d+)/(?P<meeting_slug>[%+\.\w-]+)/copy/$', 'meeting_copy'),
1616 (r'^(?P<summit_name>[\w-]+)\.csv$', 'csv'),
1617 (r'^(?P<summit_name>[\w-]+)\.ical$', 'ical'),
1618 (r'^(?P<summit_name>[\w-]+)/participant/my_schedule_(?P<secret_key>[0-9a-f]{32})\.ical$', 'user_private_ical'),
1619
1620=== modified file 'summit/version'
1621--- summit/version 2012-03-08 18:04:36 +0000
1622+++ summit/version 2012-04-05 23:27:19 +0000
1623@@ -1,2 +1,2 @@
1624-version: 1.0.7
1625-revno: 308
1626+version: 1.0.9
1627+revno: 334

Subscribers

People subscribed via source and target branches