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

Proposed by Chris Johnston on 2012-03-31
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 2012-03-31 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 on 2012-04-05
330. By Chris Johnston on 2012-03-31

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

331. By Chris Johnston on 2012-03-31

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

332. By Chris Johnston on 2012-04-02

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

333. By Chris Johnston on 2012-04-02

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

334. By Chris Johnston on 2012-04-02

Version 1.0.9 release

335. By Chris Johnston on 2012-04-05

Moves mobile CSS out of template pages

336. By Chris Johnston on 2012-04-05

Further mobile changes

Unmerged revisions

336. By Chris Johnston on 2012-04-05

Further mobile changes

335. By Chris Johnston on 2012-04-05

Moves mobile CSS out of template pages

334. By Chris Johnston on 2012-04-02

Version 1.0.9 release

333. By Chris Johnston on 2012-04-02

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

332. By Chris Johnston on 2012-04-02

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

331. By Chris Johnston on 2012-03-31

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

330. By Chris Johnston on 2012-03-31

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

329. By Chris Johnston on 2012-03-31

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

328. By Chris Johnston on 2012-03-31

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

327. By Chris Johnston on 2012-03-31

[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