Merge lp:~cjohnston/summit/remove-lp-info-url into lp:summit

Proposed by Chris Johnston
Status: Merged
Approved by: Chris Johnston
Approved revision: 547
Merged at revision: 546
Proposed branch: lp:~cjohnston/summit/remove-lp-info-url
Merge into: lp:summit
Diff against target: 177 lines (+65/-19)
6 files modified
summit/common/views.py (+0/-5)
summit/schedule/templates/schedule/summit_info.html (+2/-1)
summit/schedule/tests/summit_model.py (+47/-0)
summit/schedule/tests/virtual.py (+5/-5)
summit/schedule/views.py (+9/-6)
summit/urls.py (+2/-2)
To merge this branch: bzr merge lp:~cjohnston/summit/remove-lp-info-url
Reviewer Review Type Date Requested Status
Joe Talbott Approve
Chris Johnston Needs Resubmitting
Review via email: mp+163219@code.launchpad.net

Commit message

Removes Launchpad information link if there is no import_url

To post a comment you must log in.
543. By Adnane Belmadiaf

[r=cjohnston] Removed the twitter feed due to deprecated api

544. By Chris Johnston <email address hidden>

[r=joetalbott] Removes the landing page and does an automatic redirect to the next summit

545. By Chris Johnston <email address hidden>

[r=joetalbott] Creates a page that lists all meetings for an event

Revision history for this message
Joe Talbott (joetalbott) wrote :

For L18 and L175 I'd recommend using:

lp_link = SummitSprint.objects.filter(summit=summit).exists()

L93 you can put this sort of logic in setUp() and it'll get called for all tests. Maybe not what you want but it's an option to avoid the code duplication of calling create_summit() in a bunch of places.

546. By Chris Johnston <email address hidden>

Fix per review

Revision history for this message
Chris Johnston (cjohnston) :
review: Needs Resubmitting
547. By Chris Johnston <email address hidden>

One last fix

Revision history for this message
Joe Talbott (joetalbott) wrote :

Looks good to me.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'summit/common/views.py'
2--- summit/common/views.py 2013-05-10 02:14:42 +0000
3+++ summit/common/views.py 2013-05-10 15:06:16 +0000
4@@ -45,11 +45,6 @@
5 ),
6 )
7 except IndexError:
8- #summit = Summit(name='no-summit', title='No Summit')
9-
10- #context = {
11- #'summit': summit,
12- # }
13 return render_to_response("common/no_summit.html")
14
15
16
17=== modified file 'summit/schedule/templates/schedule/summit_info.html'
18--- summit/schedule/templates/schedule/summit_info.html 2012-07-12 13:30:22 +0000
19+++ summit/schedule/templates/schedule/summit_info.html 2013-05-10 15:06:16 +0000
20@@ -6,4 +6,5 @@
21 <strong>Ends:</strong> {{ summit.end|strftime:"%a, %d %b %Y %H:%M:%S %Z" }}</p>
22 {% endif %}
23 <p class="description">{{ summit.description|markdown:'safe' }}</p>
24-<p><a class="launchpad" href="http://launchpad.net/sprints/{{ summit.name }}"><img src="/media/img/gem-sm.png" alt="Launchpad" />Launchpad Information &rsaquo;</a></p>
25+{% if lp_link %}
26+<p><a class="launchpad" href="http://launchpad.net/sprints/{{ summit.name }}"><img src="/media/img/gem-sm.png" alt="Launchpad" />Launchpad information &rsaquo;</a></p>{% endif %}
27
28=== modified file 'summit/schedule/tests/summit_model.py'
29--- summit/schedule/tests/summit_model.py 2013-04-02 19:05:36 +0000
30+++ summit/schedule/tests/summit_model.py 2013-05-10 15:06:16 +0000
31@@ -21,6 +21,8 @@
32 from model_mommy import mommy as factory
33 from summit.schedule.fields import NameField
34 from django.contrib.auth.models import User
35+from django.core.urlresolvers import reverse
36+from django.test.client import Client
37
38 from summit.schedule.models import (
39 Summit,
40@@ -44,6 +46,8 @@
41
42 class SummitModelTestCase(djangotest.TestCase):
43
44+ c = Client()
45+
46 def get_basic_launchpad_response(self):
47 elem = LaunchpadExportNode()
48 elem.add_child("attendees", LaunchpadExportNode())
49@@ -595,3 +599,46 @@
50 attendee.end_utc.replace(second=0, microsecond=0),
51 end_summit.replace(second=0, microsecond=0),
52 )
53+
54+ def load_summit_page(self, summit):
55+ rev_args = [summit.name, ]
56+ response = self.c.get(
57+ reverse(
58+ 'summit.schedule.views.summit',
59+ args=rev_args,
60+ )
61+ )
62+ self.assertEqual(response.status_code, 200)
63+
64+ return response
65+
66+ def create_summit(self):
67+ summit = factory.make_one(
68+ Summit,
69+ name="uds-test",
70+ date_start="2013-05-09",
71+ date_end="2013-05-10",
72+ )
73+
74+ return summit
75+
76+ def test_summit_page_displays_lp_link(self):
77+ """
78+ Tests that the summit main page displays the Launchpad link when
79+ one an import_url exists
80+ """
81+ summit = self.create_summit()
82+ import_url = "http://launchpad"
83+ factory.make_one(SummitSprint, summit=summit, import_url=import_url)
84+ self.assertEqual([import_url], summit.launchpad_sprint_import_urls())
85+ response = self.load_summit_page(summit)
86+ self.assertContains(response, "Launchpad information")
87+
88+ def test_summit_page_does_not_index_displays_lp_link(self):
89+ """
90+ Tests that the summit main page does not display the Launchpad link
91+ when one an import_url does not exist
92+ """
93+ summit = self.create_summit()
94+ response = self.load_summit_page(summit)
95+ self.assertNotContains(response, "Launchpad information")
96
97=== modified file 'summit/schedule/tests/virtual.py'
98--- summit/schedule/tests/virtual.py 2013-02-27 03:05:03 +0000
99+++ summit/schedule/tests/virtual.py 2013-05-10 15:06:16 +0000
100@@ -158,13 +158,13 @@
101 post,
102 redirect_url,
103 )
104- redirect_responseonse = self.c.get(redirect_url)
105+ redirect_response = self.c.get(redirect_url)
106
107 # Verify that the new data appears on the meeting page
108- self.assertEqual(redirect_responseonse.status_code, 200)
109- self.assertIn(broadcast_url, redirect_responseonse.content)
110- self.assertIn(hangout_url, redirect_responseonse.content)
111- self.assertIn('Join the Hangout on Air', redirect_responseonse.content)
112+ self.assertEqual(redirect_response.status_code, 200)
113+ self.assertIn(broadcast_url, redirect_response.content)
114+ self.assertIn(hangout_url, redirect_response.content)
115+ self.assertIn('Join the Hangout on Air', redirect_response.content)
116
117 def view_virtual_meeting_page(self):
118 rev_args = [self.summit.name, self.meeting1.id, self.meeting1.name]
119
120=== modified file 'summit/schedule/views.py'
121--- summit/schedule/views.py 2013-05-08 19:37:12 +0000
122+++ summit/schedule/views.py 2013-05-10 15:06:16 +0000
123@@ -39,7 +39,8 @@
124 Meeting,
125 Track,
126 Room,
127- Participant
128+ Participant,
129+ SummitSprint,
130 )
131
132 from summit.schedule.render import schedule_factory, Schedule
133@@ -68,15 +69,17 @@
134 @summit_required
135 def summit(request, summit, attendee):
136 edit = False
137- if (summit.state != 'public'
138- and 'readonly' not in request.GET) \
139- or 'edit' in request.GET:
140- if request.user.is_authenticated() \
141- and summit.is_organizer(attendee):
142+ if (
143+ summit.state != 'public' and 'readonly' not in request.GET
144+ ) or 'edit' in request.GET:
145+ if request.user.is_authenticated() and summit.is_organizer(attendee):
146 edit = True
147 tracks = summit.track_set.all()
148
149+ lp_link = SummitSprint.objects.filter(summit=summit).exists()
150+
151 context = {
152+ 'lp_link': lp_link,
153 'summit': summit,
154 'attendee': attendee,
155 'edit': edit,
156
157=== modified file 'summit/urls.py'
158--- summit/urls.py 2013-05-08 19:37:12 +0000
159+++ summit/urls.py 2013-05-10 15:06:16 +0000
160@@ -25,7 +25,7 @@
161
162 urlpatterns = patterns(
163 '',
164- (r'^$', 'summit.common.views.index'),
165+ url(r'^$', 'summit.common.views.index', name="index"),
166 (r'^admin/', admin.site.urls),
167 (r'^api/', include('services.urls')),
168 )
169@@ -65,7 +65,7 @@
170 url(r'^today/(?P<summit_name>[\w-]+)/$', 'today_view', name='today'),
171 url(r'^past/', 'past', name='past'),
172 url(r'^logout$', 'logout_view', name='logout'),
173- (r'^(?P<summit_name>[\w-]+)/$', 'summit'),
174+ url(r'^(?P<summit_name>[\w-]+)/$', 'summit', name='summit'),
175 (r'^(?P<summit_name>[\w-]+)/mobile/$', 'mobile'),
176 (r'^(?P<summit_name>[\w-]+)/search/$', 'search'),
177 url(

Subscribers

People subscribed via source and target branches