Merge lp:~sinzui/launchpad/registry-templates into lp:launchpad

Proposed by Curtis Hovey
Status: Merged
Merged at revision: not available
Proposed branch: lp:~sinzui/launchpad/registry-templates
Merge into: lp:launchpad
Diff against target: None lines
To merge this branch: bzr merge lp:~sinzui/launchpad/registry-templates
Reviewer Review Type Date Requested Status
Eleanor Berger (community) Approve
Review via email: mp+10222@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Curtis Hovey (sinzui) wrote :
Download full text (5.7 KiB)

This is my branch to update miscellaneous registry pages to UI 3.0.

    lp:~sinzui/launchpad/registry-templates
    Diff size: 651
    Launchpad bug: https://bugs.launchpad.net/bugs/414566
                   https://bugs.launchpad.net/bugs/414567
    Test command: ./bin/test -vvt "(karmaaction|projectgroupsecuritycontact|sourcepackage)-views"
    Pre-implementation: no one
    Target release: 2.2.8

= Update miscellaneous registry pages to UI 3.0 =

Bug 414566 [ProjectSet +review is pointless]
    The +review page shows the same list as +all. The template should be
    removed and the link to do a review can be added to the +all page.
    The xx-projectset.txt is redundant with projectgroup-views.txt and
    can be removed. The bad test is just verify permissions.

Bug 414567 [Update ungrouped registry templates to UI 3.0]
    Update these ungrouped templates to UI 3.0

      lib/lp/registry/templates/mailinglists-review.pt
      lib/lp/registry/templates/karmaaction-edit.pt
      lib/lp/registry/templates/securitycontact-edit.pt
      lib/lp/registry/templates/sourcepackage-edit-packaging.pt

    The ones using LaunchpadFormView need a page_title and cancel_url

== Rules ==

    * Remove unneeded tests and templates
    * Update views to support page_title.
    * Add labels and cancel_urls as needed.

== QA ==

As an admin or member of registry-experts
    * visit https://edge.launchpad.net/+projectgroups
      * Choose the list all link
      * Verify there is a link to review each project.

As an admin
    * https://staging.launchpad.net/karmaaction
    * Choose any action
    * Verify that the page title and heading are the same.
    * Verify there is a cancel link

As an owner of a project or an admin
    * Visit the bugs tab of any project or distribution
    * Choose the change the security contact
    * Verify that the page title and heading are the same.
    * Verify there is a cancel link

As a login user on staging
    * Visit any source package in a distroseries
    * Choose the update link
    * Verify that the page title and heading are the same.
    * Verify there is a cancel link
    * Set a product/series, and Change
    * Verify there is a notification confirming that the packaging changed.

As a launchpad developer
    * Visit https://edge.launchpad.net/+mailinglists
    * Verify the page has the 3.0 header.

== Lint ==

Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.

Linting changed files:
  lib/canonical/launchpad/pagetitles.py
  lib/lp/registry/browser/configure.zcml
  lib/lp/registry/browser/karma.py
  lib/lp/registry/browser/mailinglists.py
  lib/lp/registry/browser/project.py
  lib/lp/registry/browser/securitycontact.py
  lib/lp/registry/browser/sourcepackage.py
  lib/lp/registry/browser/tests/karmaaction-views.txt
  lib/lp/registry/browser/tests/projectgroup-views.txt
  lib/lp/registry/browser/tests/securitycontact-views.txt
  lib/lp/registry/browser/tests/sourcepackage-views.txt
  lib/lp/registry/templates/mailinglists-review.pt
  lib/lp/registry/templates/project-listing-detailed.pt
  lib/lp/registry/templates/securitycontact-...

Read more...

Revision history for this message
Eleanor Berger (intellectronica) wrote :

nicely done!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/canonical/launchpad/pagetitles.py'
2--- lib/canonical/launchpad/pagetitles.py 2009-08-13 00:39:47 +0000
3+++ lib/canonical/launchpad/pagetitles.py 2009-08-16 21:14:53 +0000
4@@ -634,8 +634,6 @@
5
6 karmaaction_index = 'Karma actions'
7
8-karmaaction_edit = 'Edit karma action'
9-
10 karmacontext_topcontributors = ContextTitle('Top %s Contributors')
11
12 language_index = ContextDisplayName("%s in Launchpad")
13@@ -735,8 +733,6 @@
14
15 logintoken_validateteamemail = 'Confirm e-mail address'
16
17-mailinglists_review = 'Pending mailing lists requests'
18-
19 # main_template has the code to insert one of these titles.
20
21 malone_about = 'About Launchpad Bugs'
22@@ -1175,8 +1171,6 @@
23
24 projects_all = 'Project groups registered in Launchpad'
25
26-registry_review = 'Review Launchpad items'
27-
28 related_bounties = ContextDisplayName('Bounties for %s')
29
30 remotebug_index = ContextTitle('%s')
31@@ -1242,8 +1236,6 @@
32
33 questiontarget_manage_answercontacts = ContextTitle("Answer contact for %s")
34
35-securitycontact_edit = ContextDisplayName("Edit %s security contact")
36-
37 series_bug_nominations = ContextDisplayName('Bugs nominated for %s')
38
39 shipit_adminrequest = 'ShipIt admin request'
40@@ -1312,8 +1304,6 @@
41 """Return the page title for a source package in a distroseries."""
42 return '%s source packages' % context.distroseries.title
43
44-sourcepackage_edit_packaging = ContextTitle('Define upstream link for %s')
45-
46 sourcepackage_translate = ContextTitle('Help translate %s')
47
48 sourcepackagenames_index = 'Source package name set'
49
50=== modified file 'lib/lp/registry/browser/configure.zcml'
51--- lib/lp/registry/browser/configure.zcml 2009-08-14 00:52:28 +0000
52+++ lib/lp/registry/browser/configure.zcml 2009-08-16 21:14:53 +0000
53@@ -454,15 +454,6 @@
54 facet="overview"
55 permission="launchpad.ProjectReview"
56 template="../templates/project-add.pt"/>
57- <browser:pages
58- for="lp.registry.interfaces.project.IProjectSet"
59- facet="overview"
60- class="lp.registry.browser.project.ProjectSetView"
61- permission="launchpad.ProjectReview">
62- <browser:page
63- name="+review"
64- template="../templates/registry-review.pt"/>
65- </browser:pages>
66 <browser:url
67 for="lp.registry.interfaces.project.IProjectSeries"
68 path_expression="string:+series/${name}"
69@@ -580,7 +571,7 @@
70 for="lp.registry.interfaces.karma.IKarmaAction"
71 class="lp.registry.browser.karma.KarmaActionEditView"
72 permission="launchpad.Admin"
73- template="../templates/karmaaction-edit.pt"/>
74+ template="../../app/templates/generic-edit.pt"/>
75 <browser:url
76 for="lp.registry.interfaces.karma.IKarmaActionSet"
77 path_expression="string:karmaaction"
78
79=== modified file 'lib/lp/registry/browser/karma.py'
80--- lib/lp/registry/browser/karma.py 2009-06-25 04:06:00 +0000
81+++ lib/lp/registry/browser/karma.py 2009-08-16 17:02:13 +0000
82@@ -37,13 +37,27 @@
83 class KarmaActionEditView(LaunchpadEditFormView):
84
85 schema = IKarmaAction
86- label = "Edit karma action"
87 field_names = ["name", "category", "points", "title", "summary"]
88
89+ @property
90+ def label(self):
91+ """See `LaunchpadFormView`."""
92+ return 'Edit %s karma action' % self.context.title
93+
94+ @property
95+ def page_title(self):
96+ """The page title."""
97+ return self.label
98+
99+ @property
100+ def cancel_url(self):
101+ """See `LaunchpadFormView`."""
102+ return canonical_url(getUtility(IKarmaActionSet))
103+
104 @action(_("Change"), name="change")
105 def change_action(self, action, data):
106 self.updateContextFromData(data)
107- self.next_url = canonical_url(getUtility(IKarmaActionSet))
108+ self.next_url = self.cancel_url
109
110
111 class KarmaContextContributor:
112
113=== modified file 'lib/lp/registry/browser/mailinglists.py'
114--- lib/lp/registry/browser/mailinglists.py 2009-06-25 04:06:00 +0000
115+++ lib/lp/registry/browser/mailinglists.py 2009-08-16 17:21:54 +0000
116@@ -40,6 +40,7 @@
117 """Present review page for mailing list creation requests."""
118
119 schema = ReviewForm
120+ page_title = 'Pending mailing lists requests'
121
122 @cachedproperty
123 def registered_lists(self):
124
125=== modified file 'lib/lp/registry/browser/project.py'
126--- lib/lp/registry/browser/project.py 2009-08-13 18:10:15 +0000
127+++ lib/lp/registry/browser/project.py 2009-08-16 21:14:53 +0000
128@@ -478,6 +478,7 @@
129 class ProjectSetView(LaunchpadView):
130
131 header = "Project groups registered in Launchpad"
132+ page_title = header
133
134 def __init__(self, context, request):
135 super(ProjectSetView, self).__init__(context, request)
136
137=== modified file 'lib/lp/registry/browser/securitycontact.py'
138--- lib/lp/registry/browser/securitycontact.py 2009-07-17 00:26:05 +0000
139+++ lib/lp/registry/browser/securitycontact.py 2009-08-16 21:16:51 +0000
140@@ -21,6 +21,16 @@
141 field_names = ['security_contact']
142
143 @property
144+ def label(self):
145+ """See `LaunchpadFormView`."""
146+ return 'Edit %s security contact' % self.context.displayname
147+
148+ @property
149+ def page_title(self):
150+ """The page title."""
151+ return self.label
152+
153+ @property
154 def initial_values(self):
155 return {
156 'security_contact': self.context.security_contact}
157@@ -42,7 +52,8 @@
158 # The security contact doesn't have a preferred email address,
159 # so it must be a team.
160 assert security_contact.isTeam(), (
161- "Expected security contact with no email address to be a team.")
162+ "Expected security contact with no email address "
163+ "to be a team.")
164 security_contact_display_value = security_contact.displayname
165
166 self.request.response.addNotification(
167@@ -55,3 +66,5 @@
168 @property
169 def next_url(self):
170 return canonical_url(self.context)
171+
172+ cancel_url = next_url
173
174=== modified file 'lib/lp/registry/browser/sourcepackage.py'
175--- lib/lp/registry/browser/sourcepackage.py 2009-07-27 20:18:30 +0000
176+++ lib/lp/registry/browser/sourcepackage.py 2009-08-16 19:42:08 +0000
177@@ -116,15 +116,26 @@
178 field_names = ['productseries']
179
180 @property
181+ def label(self):
182+ """See `LaunchpadFormView`."""
183+ return 'Define upstream link for %s' % self.context.title
184+
185+ @property
186+ def page_title(self):
187+ """The page title."""
188+ return self.label
189+
190+ @property
191 def cancel_url(self):
192 return canonical_url(self.context)
193
194 @action(_("Change"), name="change")
195 def change(self, action, data):
196 self.context.setPackaging(data['productseries'], self.user)
197- self.status_message = 'Upstream link updated, thank you!'
198+ self.request.response.addNotification('Upstream link updated.')
199 self.next_url = canonical_url(self.context)
200
201+
202 class SourcePackageView(BuildRecordsView):
203
204 def initialize(self):
205
206=== added file 'lib/lp/registry/browser/tests/karmaaction-views.txt'
207--- lib/lp/registry/browser/tests/karmaaction-views.txt 1970-01-01 00:00:00 +0000
208+++ lib/lp/registry/browser/tests/karmaaction-views.txt 2009-08-16 17:02:13 +0000
209@@ -0,0 +1,43 @@
210+KarmaAction views
211+=================
212+
213+ >>> from lp.registry.interfaces.karma import IKarmaActionSet
214+
215+ >>> karmaactionset = getUtility(IKarmaActionSet)
216+ >>> action = karmaactionset.getByName('branchcreated')
217+
218+The karma action +edit view allow an admin to edit a karma action. The
219+view provides a label, page_title and a cancel_url
220+
221+ >>> view = create_initialized_view(action, '+index')
222+ >>> print view.label
223+ Edit New branch registered karma action
224+
225+ >>> print view.page_title
226+ Edit New branch registered karma action
227+
228+ >>> print view.cancel_url
229+ http://launchpad.dev/karmaaction
230+
231+The admin can edit the karma action's fields.
232+
233+ >>> view.field_names
234+ ['name', 'category', 'points', 'title', 'summary']
235+
236+ >>> action.points
237+ 1
238+
239+ >>> login('admin@canonical.com')
240+ >>> form = {
241+ ... 'field.points': '2',
242+ ... 'field.actions.change': 'Change',
243+ ... }
244+ >>> view = create_initialized_view(action, '+index', form=form)
245+ >>> view.errors
246+ []
247+
248+ >>> print view.next_url
249+ http://launchpad.dev/karmaaction
250+
251+ >>> action.points
252+ 2
253
254=== modified file 'lib/lp/registry/browser/tests/projectgroup-views.txt'
255--- lib/lp/registry/browser/tests/projectgroup-views.txt 2009-07-13 23:46:24 +0000
256+++ lib/lp/registry/browser/tests/projectgroup-views.txt 2009-08-16 21:14:53 +0000
257@@ -23,6 +23,11 @@
258 >>> check_permission('launchpad.ProjectReview', view)
259 True
260
261+The view provides a page_title.
262+
263+ >>> print view.page_title
264+ Project groups registered in Launchpad
265+
266 A regular user cannot access the view.
267
268 >>> user = factory.makePerson()
269@@ -58,28 +63,10 @@
270 >>> check_permission('launchpad.ProjectReview', view)
271 True
272
273-A regular user cannot access the view.
274-
275- >>> login_person(user)
276- >>> check_permission('launchpad.ProjectReview', view)
277- False
278-
279-A member of the registry team has permission.
280-
281- >>> login_person(registry_member)
282- >>> check_permission('launchpad.ProjectReview', view)
283- True
284-
285-
286-Accessing the +review view
287---------------------------
288-
289-A Launchpad admin has permission to access the +review view.
290-
291- >>> view = create_view(project_set, name='+review')
292- >>> login('foo.bar@canonical.com')
293- >>> check_permission('launchpad.ProjectReview', view)
294- True
295+The view provides a page_title.
296+
297+ >>> print view.page_title
298+ Project groups registered in Launchpad
299
300 A regular user cannot access the view.
301
302
303=== added file 'lib/lp/registry/browser/tests/securitycontact-views.txt'
304--- lib/lp/registry/browser/tests/securitycontact-views.txt 1970-01-01 00:00:00 +0000
305+++ lib/lp/registry/browser/tests/securitycontact-views.txt 2009-08-16 17:58:52 +0000
306@@ -0,0 +1,40 @@
307+HasSecurityContect
308+==================
309+
310+The +edit view allows the project owner and admin to change the security
311+contact or the project. The view provides a label, page_title and cancel_url.
312+
313+ >>> product = factory.makeProduct(name='bonkers', displayname='Bonkers')
314+ >>> view = create_view(product, name='+securitycontact')
315+ >>> print view.label
316+ Edit Bonkers security contact
317+
318+ >>> print view.page_title
319+ Edit Bonkers security contact
320+
321+ >>> print view.cancel_url
322+ http://launchpad.dev/bonkers
323+
324+The view allows the owner or admin to change the security_contact field.
325+
326+ >>> view.field_names
327+ ['security_contact']
328+
329+ >>> print product.security_contact
330+ None
331+
332+ >>> login_person(product.owner)
333+ >>> form = {
334+ ... 'field.security_contact': 'no-priv',
335+ ... 'field.actions.change': 'Change',
336+ ... }
337+ >>> view = create_initialized_view(
338+ ... product, name='+securitycontact', form=form)
339+ >>> view.errors
340+ []
341+
342+ >>> print view.next_url
343+ http://launchpad.dev/bonkers
344+
345+ >>> print product.security_contact.name
346+ no-priv
347
348=== added file 'lib/lp/registry/browser/tests/sourcepackage-views.txt'
349--- lib/lp/registry/browser/tests/sourcepackage-views.txt 1970-01-01 00:00:00 +0000
350+++ lib/lp/registry/browser/tests/sourcepackage-views.txt 2009-08-16 19:42:08 +0000
351@@ -0,0 +1,53 @@
352+SourcePackage views
353+===================
354+
355+
356+ >>> product = factory.makeProduct(name='bonkers', displayname='Bonkers')
357+ >>> productseries = factory.makeProductSeries(
358+ ... name='crazy', product=product)
359+ >>> distribution = factory.makeDistribution(
360+ ... name='youbuntu', displayname='Youbuntu')
361+ >>> distroseries = factory.makeDistroRelease(name='busy',
362+ ... distribution=distribution)
363+ >>> sourcepackagename = factory.makeSourcePackageName(name='bonkers')
364+ >>> package = factory.makeSourcePackage(
365+ ... sourcepackagename=sourcepackagename, distroseries=distroseries)
366+
367+ >>> view = create_view(package, name='+edit-packaging')
368+ >>> print view.label
369+ Define upstream link for bonkers in Youbuntu Busy
370+
371+ >>> print view.page_title
372+ Define upstream link for bonkers in Youbuntu Busy
373+
374+ >>> print view.cancel_url
375+ http://launchpad.dev/youbuntu/busy/+source/bonkers
376+
377+The view allows the owner or admin to change productseries field.
378+
379+ >>> view.field_names
380+ ['productseries']
381+
382+ >>> print package.productseries
383+ None
384+
385+ >>> login_person(product.owner)
386+ >>> form = {
387+ ... 'field.productseries': 'bonkers/crazy',
388+ ... 'field.actions.change': 'Change',
389+ ... }
390+ >>> view = create_initialized_view(
391+ ... package, name='+edit-packaging', form=form,
392+ ... principal=product.owner)
393+ >>> view.errors
394+ []
395+
396+ >>> print view.next_url
397+ http://launchpad.dev/youbuntu/busy/+source/bonkers
398+
399+ >>> for notification in view.request.response.notifications:
400+ ... print notification.message
401+ Upstream link updated.
402+
403+ >>> print package.productseries.name
404+ crazy
405
406=== removed file 'lib/lp/registry/stories/project/xx-projectset.txt'
407--- lib/lp/registry/stories/project/xx-projectset.txt 2009-07-13 18:07:00 +0000
408+++ lib/lp/registry/stories/project/xx-projectset.txt 1970-01-01 00:00:00 +0000
409@@ -1,66 +0,0 @@
410-= Project Set Page =
411-
412-Under "/projectgroups" there are several pages for various administration tasks.
413-
414-The pages are "+review", "+new", and "+all".
415-
416-A logged in, unprivileged person cannot see any of these pages.
417-
418- >>> user_browser.open('http://launchpad.dev/projectgroups/+review')
419- Traceback (most recent call last):
420- ...
421- Unauthorized:...
422-
423- >>> user_browser.open('http://launchpad.dev/projectgroups/+all')
424- Traceback (most recent call last):
425- ...
426- Unauthorized:...
427-
428- >>> user_browser.open('http://launchpad.dev/projectgroups/+new')
429- Traceback (most recent call last):
430- ...
431- Unauthorized:...
432-
433-An administrator may successfully access all of these pages.
434-
435- >>> admin_browser.open('http://launchpad.dev/projectgroups/+review')
436- >>> admin_browser.title
437- 'Review Launchpad items'
438-
439- >>> admin_browser.open('http://launchpad.dev/projectgroups/+all')
440- >>> admin_browser.title
441- 'Project groups registered in Launchpad'
442-
443- >>> admin_browser.open('http://launchpad.dev/projectgroups/+new')
444- >>> admin_browser.title
445- 'Register a project group with Launchpad'
446-
447-A member of the registry admins team my access all of these pages, too.
448-
449- >>> from zope.component import getUtility
450- >>> from canonical.launchpad.interfaces.launchpad import (
451- ... ILaunchpadCelebrities)
452- >>> login('foo.bar@canonical.com')
453- >>> registry_member = factory.makePerson(
454- ... name='reggie', email='reggie@example.com', password='test')
455- >>> celebs = getUtility(ILaunchpadCelebrities)
456- >>> registry = celebs.registry_experts
457- >>> registry.addMember(registry_member, registry.teamowner)
458- >>> logout()
459-
460- >>> registry_browser = setupBrowser(
461- ... auth='Basic reggie@example.com:test')
462-
463- >>> registry_browser.open('http://launchpad.dev/projectgroups/+review')
464- >>> registry_browser.title
465- 'Review Launchpad items'
466-
467- >>> registry_browser.open('http://launchpad.dev/projectgroups/+all')
468- >>> registry_browser.title
469- 'Project groups registered in Launchpad'
470-
471- >>> registry_browser.open('http://launchpad.dev/projectgroups/+new')
472- >>> registry_browser.title
473- 'Register a project group with Launchpad'
474-
475- registry_member.leave(registry)
476
477=== removed file 'lib/lp/registry/templates/karmaaction-edit.pt'
478--- lib/lp/registry/templates/karmaaction-edit.pt 2009-07-17 17:59:07 +0000
479+++ lib/lp/registry/templates/karmaaction-edit.pt 1970-01-01 00:00:00 +0000
480@@ -1,25 +0,0 @@
481-<html
482- xmlns="http://www.w3.org/1999/xhtml"
483- xmlns:tal="http://xml.zope.org/namespaces/tal"
484- xmlns:metal="http://xml.zope.org/namespaces/metal"
485- xmlns:i18n="http://xml.zope.org/namespaces/i18n"
486- xml:lang="en"
487- lang="en"
488- dir="ltr"
489- metal:use-macro="context/@@main_template/master"
490- i18n:domain="launchpad"
491->
492- <body>
493- <div metal:fill-slot="main">
494-
495- <div><a href="../">Actions that give people karma</a>:</div>
496-
497- <div metal:use-macro="context/@@launchpad_form/form">
498-
499-
500- </div>
501-
502- </div>
503-
504- </body>
505-</html>
506
507=== modified file 'lib/lp/registry/templates/mailinglists-review.pt'
508--- lib/lp/registry/templates/mailinglists-review.pt 2009-07-17 17:59:07 +0000
509+++ lib/lp/registry/templates/mailinglists-review.pt 2009-08-16 17:21:54 +0000
510@@ -3,18 +3,13 @@
511 xmlns:tal="http://xml.zope.org/namespaces/tal"
512 xmlns:metal="http://xml.zope.org/namespaces/metal"
513 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
514- xml:lang="en"
515- lang="en"
516- dir="ltr"
517- metal:use-macro="context/@@main_template/master"
518+ metal:use-macro="view/macro:page/main_only"
519 i18n:domain="launchpad"
520 >
521
522 <body>
523- <metal:portlets fill-slot="portlets"/>
524-
525 <div metal:fill-slot="main">
526- <h1>Creation requests</h1>
527+ <h1 tal:content="view/page_title" />
528 <div tal:condition="view/registered_lists">
529 <metal:form use-macro="context/@@launchpad_form/form">
530 <p metal:fill-slot="extra_top">These team administrators have
531
532=== modified file 'lib/lp/registry/templates/project-listing-detailed.pt'
533--- lib/lp/registry/templates/project-listing-detailed.pt 2009-07-17 17:59:07 +0000
534+++ lib/lp/registry/templates/project-listing-detailed.pt 2009-08-16 21:14:53 +0000
535@@ -4,9 +4,11 @@
536 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
537 omit-tag="">
538
539-<img src="/@@/product" />
540-<a tal:attributes="href context/fmt:url"
541- tal:content="context/title">Project Title Here</a>
542+<a tal:replace="structure context/fmt:link" />
543+<tal:review tal:condition="context/required:launchpad.ProjectReview">
544+ (<a tal:attributes="href context/fmt:url/+review">Review</a>)
545+</tal:review>
546+
547 <div style="font-size: 80%; margin-left: 25px;">
548 <div class="discreet"
549 tal:content="context/summary" tal:condition="context/summary">
550
551=== removed file 'lib/lp/registry/templates/registry-review.pt'
552--- lib/lp/registry/templates/registry-review.pt 2009-07-17 17:59:07 +0000
553+++ lib/lp/registry/templates/registry-review.pt 1970-01-01 00:00:00 +0000
554@@ -1,36 +0,0 @@
555-<html
556- xmlns="http://www.w3.org/1999/xhtml"
557- xmlns:tal="http://xml.zope.org/namespaces/tal"
558- xmlns:metal="http://xml.zope.org/namespaces/metal"
559- xmlns:i18n="http://xml.zope.org/namespaces/i18n"
560- xml:lang="en"
561- lang="en"
562- dir="ltr"
563- metal:use-macro="context/@@main_template/master"
564- i18n:domain="launchpad"
565->
566-
567-<body>
568-
569-<div metal:fill-slot="main">
570-
571- <h1>Registry items for review</h1>
572-
573- <p>Please review these items.</p>
574- <dl>
575- <tal:item repeat="item context/forReview">
576- <dt>
577- <a
578- tal:attributes="href string:${item/name}"
579- tal:content="item/title"
580- >Name of the item</a>
581- (<a tal:attributes="href string:${item/name}/+review">Review</a>)
582- </dt>
583- <dd>
584- <p tal:content="item/summary">summary</p>
585- </dd>
586- </tal:item>
587- </dl>
588- </div>
589- </body>
590-</html>
591
592=== modified file 'lib/lp/registry/templates/securitycontact-edit.pt'
593--- lib/lp/registry/templates/securitycontact-edit.pt 2009-07-17 17:59:07 +0000
594+++ lib/lp/registry/templates/securitycontact-edit.pt 2009-08-16 17:58:52 +0000
595@@ -3,22 +3,12 @@
596 xmlns:tal="http://xml.zope.org/namespaces/tal"
597 xmlns:metal="http://xml.zope.org/namespaces/metal"
598 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
599- xml:lang="en"
600- lang="en"
601- dir="ltr"
602- metal:use-macro="context/@@main_template/master"
603+ metal:use-macro="view/macro:page/main_only"
604 i18n:domain="launchpad"
605 >
606
607 <body>
608
609-<metal:leftportlets fill-slot="portlets_one">
610-</metal:leftportlets>
611-
612-<metal:heading fill-slot="pageheading">
613- <h1>Change security contact</h1>
614-</metal:heading>
615-
616 <div metal:fill-slot="main">
617 <div metal:use-macro="context/@@launchpad_form/form">
618
619
620=== modified file 'lib/lp/registry/templates/sourcepackage-edit-packaging.pt'
621--- lib/lp/registry/templates/sourcepackage-edit-packaging.pt 2009-07-23 21:38:32 +0000
622+++ lib/lp/registry/templates/sourcepackage-edit-packaging.pt 2009-08-16 19:42:08 +0000
623@@ -2,31 +2,19 @@
624 xmlns="http://www.w3.org/1999/xhtml"
625 xmlns:tal="http://xml.zope.org/namespaces/tal"
626 xmlns:metal="http://xml.zope.org/namespaces/metal"
627- xml:lang="en"
628- lang="en"
629- dir="ltr"
630- metal:use-macro="context/@@main_template/master"
631+ metal:use-macro="view/macro:page/main_only"
632 >
633
634 <body>
635
636-<metal:leftportlets fill-slot="portlets_one">
637-</metal:leftportlets>
638-
639-<metal:rightportlets fill-slot="portlets_two">
640- <div tal:replace="structure context/@@+portlet-upstream" />
641-</metal:rightportlets>
642-
643-
644 <div metal:fill-slot="main">
645
646- <h1>Package upstream link</h1>
647-
648- <p>Links from distribution packages to upstream project series let
649- distribution and upstream maintainers share bugs, patches, and translations
650- efficiently.</p>
651-
652 <div metal:use-macro="context/@@launchpad_form/form">
653+ <p metal:fill-slot="extra_info">
654+ Links from distribution packages to upstream project series let
655+ distribution and upstream maintainers share bugs, patches, and
656+ translations efficiently.
657+ </p>
658 </div>
659
660 </div>
661