Merge lp:~salgado/launchpad/person-three-o into lp:launchpad
- person-three-o
- Merge into devel
Status: | Merged |
---|---|
Approved by: | Curtis Hovey |
Approved revision: | no longer in the source branch. |
Merged at revision: | not available |
Proposed branch: | lp:~salgado/launchpad/person-three-o |
Merge into: | lp:launchpad |
Diff against target: | None lines |
To merge this branch: | bzr merge lp:~salgado/launchpad/person-three-o |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Curtis Hovey (community) | code | Approve | |
Review via email: mp+11817@code.launchpad.net |
Commit message
Description of the change
Guilherme Salgado (salgado) wrote : | # |
Curtis Hovey (sinzui) wrote : | # |
Hi Salgado.
This branch is great. I think we need to add a lot of links to the info section
and because of this I have not marked this branch approved. We already discussed
adding the oauth link on IRC, as well as moving content out of the heading slot.
> === modified file 'lib/lp/
> --- lib/lp/
> +++ lib/lp/
...
> @@ -5670,6 +5654,17 @@
> return 'Contact this user'
>
>
> +class IPersonIndexMen
> + """A marker interface for the +index navigation menu."""
> +
> +
> +class PersonIndexMenu
> + usedfor = IPersonIndexMenu
> + facet = 'overview'
> + title = 'Change person'
> + links = ('edit', 'administer')
Add Change password to this. Any edit form we cannot work into the
page should be in here. Change branding too. I think we can inline all
others
> === modified file 'lib/lp/
> --- lib/lp/
> +++ lib/lp/
...
> +<div metal:fill-
> + tal:condition=
> + <div
> + class="description"
> + tal:condition=
> + tal:content=
> + />
I wonder if we should put a link to edit the homepage content? No I think
not, I expect this link to be off of the edit page...near where I set
the description.
> + <ul class="horizontal">
> + <li
> + tal:define="link context/
> + tal:condition=
> + tal:content=
> + <li
> + tal:define="link context/
> + tal:condition=
> + tal:content=
> + <li
> + tal:define="link context/
> + tal:condition=
> + tal:content=
> + </ul>
Please add a link for the user to manage his oauth-tokens. This will fix
Bug #316731: [provide a link to the +oauth-tokens page on users page]
> +</div>
> +
> +<div metal:fill-
> tal:define=
...
The heading-slot is deprecated since barry has solved the header issue. We
want to remove it. I don't think it should be reused for non-heading content.
Move the person/team narrative and list of links here, as the first
content in the main slot, above the first <div class="yui-g">
+ <div class="yui-g">
+ <div tal:content=
+ </div>
+
+ <div tal:content=
+
+ <div class="yui-g">
+ <!-- First portlet column. -->
+ <div class="first yui-u">
+ <div tal:content=
+ <div tal:content=
+ </div>
+ <div class="yui-u">
+ <div tal:content=
Guilherme Salgado (salgado) wrote : | # |
On Tue, 2009-09-15 at 20:45 +0000, Curtis Hovey wrote:
> Review: Needs Fixing code
> Hi Salgado.
>
> This branch is great. I think we need to add a lot of links to the info section
> and because of this I have not marked this branch approved. We already discussed
> adding the oauth link on IRC, as well as moving content out of the heading slot.
>
> > === modified file 'lib/lp/
> > --- lib/lp/
> > +++ lib/lp/
>
>
> ...
>
>
> > @@ -5670,6 +5654,17 @@
> > return 'Contact this user'
> >
> >
> > +class IPersonIndexMen
> > + """A marker interface for the +index navigation menu."""
> > +
> > +
> > +class PersonIndexMenu
> > + usedfor = IPersonIndexMenu
> > + facet = 'overview'
> > + title = 'Change person'
> > + links = ('edit', 'administer')
>
>
> Add Change password to this. Any edit form we cannot work into the
> page should be in here. Change branding too. I think we can inline all
> others
Good catch. Both added.
>
>
> > === modified file 'lib/lp/
> > --- lib/lp/
> > +++ lib/lp/
> > +<div metal:fill-
> > + tal:condition=
> > + <div
> > + class="description"
> > + tal:condition=
> > + tal:content=
> > + />
>
> I wonder if we should put a link to edit the homepage content? No I think
> not, I expect this link to be off of the edit page...near where I set
> the description.
Actually, the homepage content can be edited from the +edit page, which
makes +edithomepage redundant: <https:/
>
> > + <ul class="horizontal">
> > + <li
> > + tal:define="link context/
> > + tal:condition=
> > + tal:content=
> > + <li
> > + tal:define="link context/
> > + tal:condition=
> > + tal:content=
> > + <li
> > + tal:define="link context/
> > + tal:condition=
> > + tal:content=
> > + </ul>
>
> Please add a link for the user to manage his oauth-tokens. This will fix
> Bug #316731: [provide a link to the +oauth-tokens page on users page]
Added. Shown only when the user has launchpad.Edit and there are any
claimed/unclaimed tokens for the context.
>
>
> > +</div>
> > +
> > +<div metal:fill-
> > tal:define=
>
> ...
>
>
> The heading-slot is deprecated since barry has solved the header issue. We
> want to remove it. I don't think it should be reused for non-heading content.
>
> Move the person/team narrative and list of links here, as the first
> content in the main slot, above the first <div class="yui-g">
Right, I did tha...
Curtis Hovey (sinzui) wrote : | # |
This looks great. I have a minor qualm regarding the multiple irc nicks. I think the presentation may be better if each was a <dd> instead of making each a <div> in a single <dd>.
This is good enough to land. We need to see this with production data, and I do not expect many issues, so please land this.
Preview Diff
1 | === modified file 'lib/canonical/launchpad/pagetitles.py' |
2 | --- lib/canonical/launchpad/pagetitles.py 2009-09-15 05:45:10 +0000 |
3 | +++ lib/canonical/launchpad/pagetitles.py 2009-09-15 14:32:37 +0000 |
4 | @@ -681,13 +681,6 @@ |
5 | |
6 | person_images = ContextDisplayName(smartquote("%s's hackergotchi and emblem")) |
7 | |
8 | -def person_index(context, view): |
9 | - """Return the page title to the person index page.""" |
10 | - if context.is_valid_person_or_team: |
11 | - return '%s in Launchpad' % context.displayname |
12 | - else: |
13 | - return "%s does not use Launchpad" % context.displayname |
14 | - |
15 | person_karma = ContextDisplayName(smartquote("%s's karma in Launchpad")) |
16 | |
17 | person_mentoringoffers = ContextTitle('Mentoring offered by %s') |
18 | |
19 | === modified file 'lib/lp/registry/browser/configure.zcml' |
20 | --- lib/lp/registry/browser/configure.zcml 2009-09-15 05:45:10 +0000 |
21 | +++ lib/lp/registry/browser/configure.zcml 2009-09-15 14:32:37 +0000 |
22 | @@ -741,8 +741,8 @@ |
23 | PersonBugsMenu |
24 | PersonEditNavigationMenu |
25 | PersonFacets |
26 | + PersonIndexMenu |
27 | PersonOverviewMenu |
28 | - PersonOverviewNavigationMenu |
29 | PersonRelatedSoftwareNavigationMenu |
30 | PersonSetActionNavigationMenu |
31 | PersonSetContextMenu |
32 | @@ -862,8 +862,8 @@ |
33 | name="+portlet-emails" |
34 | template="../templates/person-portlet-emails.pt"/> |
35 | <browser:page |
36 | - name="+portlet-details" |
37 | - template="../templates/person-portlet-details.pt"/> |
38 | + name="+portlet-involvement" |
39 | + template="../templates/person-portlet-involvement.pt"/> |
40 | <browser:page |
41 | name="+portlet-contact-details" |
42 | template="../templates/person-portlet-contact-details.pt"/> |
43 | |
44 | === modified file 'lib/lp/registry/browser/person.py' |
45 | --- lib/lp/registry/browser/person.py 2009-09-15 01:13:15 +0000 |
46 | +++ lib/lp/registry/browser/person.py 2009-09-15 14:32:37 +0000 |
47 | @@ -37,13 +37,13 @@ |
48 | 'PersonEditWikiNamesView', |
49 | 'PersonFacets', |
50 | 'PersonGPGView', |
51 | + 'PersonIndexMenu', |
52 | 'PersonIndexView', |
53 | 'PersonKarmaView', |
54 | 'PersonLanguagesView', |
55 | 'PersonLatestQuestionsView', |
56 | 'PersonNavigation', |
57 | 'PersonOAuthTokensView', |
58 | - 'PersonOverviewNavigationMenu', |
59 | 'PersonOverviewMenu', |
60 | 'PersonRdfContentsView', |
61 | 'PersonRdfView', |
62 | @@ -899,7 +899,22 @@ |
63 | return Link(target, text, icon='info') |
64 | |
65 | |
66 | -class PersonOverviewMenu(ApplicationMenu, CommonMenuLinks): |
67 | +class PersonMenuMixin(CommonMenuLinks): |
68 | + |
69 | + @enabled_with_permission('launchpad.Edit') |
70 | + def edit(self): |
71 | + target = '+edit' |
72 | + text = 'Change details' |
73 | + return Link(target, text, icon='edit') |
74 | + |
75 | + @enabled_with_permission('launchpad.Admin') |
76 | + def administer(self): |
77 | + target = '+review' |
78 | + text = 'Administer' |
79 | + return Link(target, text, icon='edit') |
80 | + |
81 | + |
82 | +class PersonOverviewMenu(ApplicationMenu, PersonMenuMixin): |
83 | |
84 | usedfor = IPerson |
85 | facet = 'overview' |
86 | @@ -909,13 +924,7 @@ |
87 | 'editsshkeys', 'editpgpkeys', 'editlocation', 'memberships', |
88 | 'mentoringoffers', 'codesofconduct', 'karma', |
89 | 'administer', 'projects', 'activate_ppa', 'maintained', |
90 | - 'view_ppa_subscriptions'] |
91 | - |
92 | - @enabled_with_permission('launchpad.Edit') |
93 | - def edit(self): |
94 | - target = '+edit' |
95 | - text = 'Change details' |
96 | - return Link(target, text, icon='edit') |
97 | + 'view_ppa_subscriptions', 'ppa'] |
98 | |
99 | @enabled_with_permission('launchpad.Edit') |
100 | def branding(self): |
101 | @@ -1011,12 +1020,6 @@ |
102 | 'Agreements to abide by the rules of a distribution or project') |
103 | return Link(target, text, summary, icon='edit') |
104 | |
105 | - @enabled_with_permission('launchpad.Admin') |
106 | - def administer(self): |
107 | - target = '+review' |
108 | - text = 'Administer' |
109 | - return Link(target, text, icon='edit') |
110 | - |
111 | @enabled_with_permission('launchpad.Edit') |
112 | def view_ppa_subscriptions(self): |
113 | target = "+archivesubscriptions" |
114 | @@ -1054,33 +1057,6 @@ |
115 | return Link(target, text, enabled=enabled) |
116 | |
117 | |
118 | -class PersonOverviewNavigationMenu(NavigationMenu, PPANavigationMenuMixIn): |
119 | - """The top-level menu of actions a Person may take.""" |
120 | - |
121 | - usedfor = IPerson |
122 | - facet = 'overview' |
123 | - links = ('profile', 'related_software', 'karma', 'ppas') |
124 | - |
125 | - def __init__(self, context): |
126 | - context = IPerson(context) |
127 | - super(PersonOverviewNavigationMenu, self).__init__(context) |
128 | - |
129 | - def profile(self): |
130 | - target = '' |
131 | - text = 'Profile' |
132 | - return Link(target, text, menu=IPersonEditMenu) |
133 | - |
134 | - def related_software(self): |
135 | - target = '+related-software' |
136 | - text = 'Related software' |
137 | - return Link(target, text, menu=IPersonRelatedSoftwareMenu) |
138 | - |
139 | - def karma(self): |
140 | - target = '+karma' |
141 | - text = 'Karma' |
142 | - return Link(target, text) |
143 | - |
144 | - |
145 | class PersonRelatedSoftwareNavigationMenu(NavigationMenu, CommonMenuLinks): |
146 | |
147 | usedfor = IPersonRelatedSoftwareMenu |
148 | @@ -3054,6 +3030,14 @@ |
149 | if self.request.method == "POST": |
150 | self.processForm() |
151 | |
152 | + @property |
153 | + def page_title(self): |
154 | + context = self.context |
155 | + if context.is_valid_person_or_team: |
156 | + return '%s in Launchpad' % context.displayname |
157 | + else: |
158 | + return "%s does not use Launchpad" % context.displayname |
159 | + |
160 | @cachedproperty |
161 | def enable_xrds_discovery(self): |
162 | """Only enable discovery if person is OpenID enabled.""" |
163 | @@ -5670,6 +5654,17 @@ |
164 | return 'Contact this user' |
165 | |
166 | |
167 | +class IPersonIndexMenu(Interface): |
168 | + """A marker interface for the +index navigation menu.""" |
169 | + |
170 | + |
171 | +class PersonIndexMenu(NavigationMenu, PersonMenuMixin): |
172 | + usedfor = IPersonIndexMenu |
173 | + facet = 'overview' |
174 | + title = 'Change person' |
175 | + links = ('edit', 'administer') |
176 | + |
177 | + |
178 | class ITeamIndexMenu(Interface): |
179 | """A marker interface for the +index navigation menu.""" |
180 | |
181 | @@ -5707,3 +5702,4 @@ |
182 | |
183 | classImplements(TeamIndexView, ITeamIndexMenu) |
184 | classImplements(TeamEditView, ITeamEditMenu) |
185 | +classImplements(PersonIndexView, IPersonIndexMenu) |
186 | |
187 | === modified file 'lib/lp/registry/templates/person-index.pt' |
188 | --- lib/lp/registry/templates/person-index.pt 2009-07-20 15:27:26 +0000 |
189 | +++ lib/lp/registry/templates/person-index.pt 2009-09-15 18:02:40 +0000 |
190 | @@ -3,10 +3,7 @@ |
191 | xmlns:tal="http://xml.zope.org/namespaces/tal" |
192 | xmlns:metal="http://xml.zope.org/namespaces/metal" |
193 | xmlns:i18n="http://xml.zope.org/namespaces/i18n" |
194 | - xml:lang="en" |
195 | - lang="en" |
196 | - dir="ltr" |
197 | - metal:use-macro="view/macro:page/onecolumn" |
198 | + metal:use-macro="view/macro:page/main_side" |
199 | i18n:domain="launchpad" |
200 | > |
201 | |
202 | @@ -45,46 +42,97 @@ |
203 | |
204 | <body> |
205 | |
206 | -<div metal:fill-slot="main" class="pillar" |
207 | +<div metal:fill-slot="side" tal:define="overview_menu context/menu:overview"> |
208 | + <tal:menu replace="structure view/@@+global-actions" /> |
209 | + |
210 | + <div class="portlet" |
211 | + tal:condition="view/can_contact"> |
212 | + <a href="+contactuser" class="sprite mail" |
213 | + tal:attributes="title view/contact_link_title" |
214 | + tal:content="view/specific_contact_text">Contact |
215 | + this person</a> |
216 | + </div> |
217 | + |
218 | + <div id="participation" class="portlet involvement" |
219 | + tal:condition="context/is_valid_person"> |
220 | + <h2>Participation</h2> |
221 | + |
222 | + <ul> |
223 | + <li> |
224 | + <a class="sprite bugs" |
225 | + tal:attributes="href context/fmt:url:bugs">Bugs</a> |
226 | + </li> |
227 | + <li> |
228 | + <a class="sprite answers" |
229 | + tal:attributes="href context/fmt:url:answers">Answers</a> |
230 | + </li> |
231 | + <li> |
232 | + <a class="sprite translations" |
233 | + tal:attributes="href context/fmt:url:translations">Translations</a> |
234 | + </li> |
235 | + <li> |
236 | + <a class="sprite blueprints" |
237 | + tal:attributes="href context/fmt:url:code">Code</a> |
238 | + </li> |
239 | + <li> |
240 | + <a class="sprite blueprints" |
241 | + tal:attributes="href context/fmt:url:blueprints">Blueprints</a> |
242 | + </li> |
243 | + </ul> |
244 | + </div> |
245 | +</div> |
246 | + |
247 | +<div metal:fill-slot="heading" |
248 | + tal:condition="context/is_valid_person_or_team"> |
249 | + <div |
250 | + class="description" |
251 | + tal:condition="context/homepage_content" |
252 | + tal:content="structure context/homepage_content/fmt:text-to-html" |
253 | + /> |
254 | + <ul class="horizontal"> |
255 | + <li |
256 | + tal:define="link context/menu:overview/projects" |
257 | + tal:condition="link/enabled" |
258 | + tal:content="structure link/fmt:link" /> |
259 | + <li |
260 | + tal:define="link context/menu:overview/maintained" |
261 | + tal:condition="link/enabled" |
262 | + tal:content="structure link/fmt:link" /> |
263 | + <li |
264 | + tal:define="link context/menu:overview/ppa" |
265 | + tal:condition="link/enabled" |
266 | + tal:content="structure link/fmt:link" /> |
267 | + </ul> |
268 | +</div> |
269 | + |
270 | +<div metal:fill-slot="main" |
271 | tal:define="overview_menu context/menu:overview"> |
272 | - <div class="actions" style="float:right;"> |
273 | - <tal:is-person condition="not: context/is_team"> |
274 | - <tal:administer |
275 | - replace="structure overview_menu/administer/fmt:link-icon" /> |
276 | - </tal:is-person> |
277 | - <tal:edit |
278 | - replace="structure overview_menu/edit/fmt:link-icon" /> |
279 | - </div> |
280 | - |
281 | <tal:is-valid-person tal:condition="context/is_valid_person"> |
282 | - <tal:mugshot replace="structure context/image:mugshot" /> |
283 | - |
284 | - <h1 tal:content="context/displayname">Some Person</h1> |
285 | - |
286 | - <div |
287 | - class="description" |
288 | - tal:condition="context/homepage_content" |
289 | - tal:content="structure context/homepage_content/fmt:text-to-html" |
290 | - /> |
291 | - |
292 | - <div tal:replace="structure context/@@+portlet-contact-details"/> |
293 | - <div tal:replace="structure context/@@+portlet-map" /> |
294 | - <div tal:replace="structure context/@@+portlet-contributions"/> |
295 | - <div tal:condition="view/should_show_ppa_section" |
296 | - tal:replace="structure context/@@+portlet-ppas"/> |
297 | - <div tal:replace="structure context/@@+portlet-currentfocus"/> |
298 | - <div tal:replace="structure context/@@+portlet-memberships"/> |
299 | - <div tal:replace="structure context/@@+portlet-details"/> |
300 | - |
301 | + |
302 | + <div class="yui-g"> |
303 | + <div tal:content="structure context/@@+portlet-contact-details"/> |
304 | + </div> |
305 | + |
306 | + <div tal:content="structure context/@@+portlet-currentfocus"/> |
307 | + |
308 | + <div class="yui-g"> |
309 | + <!-- First portlet column. --> |
310 | + <div class="first yui-u"> |
311 | + <div tal:content="structure context/@@+portlet-ppas"/> |
312 | + <div tal:content="structure context/@@+portlet-memberships"/> |
313 | + </div> |
314 | + <div class="yui-u"> |
315 | + <div tal:content="structure context/@@+portlet-contributions"/> |
316 | + |
317 | + </div> |
318 | + </div> |
319 | + |
320 | + <div tal:content="structure context/@@+portlet-map" /> |
321 | </tal:is-valid-person> |
322 | |
323 | <div id="not-lp-user-or-team" |
324 | tal:condition="not: context/is_valid_person_or_team"> |
325 | |
326 | - <tal:mugshot replace="structure context/image:mugshot" /> |
327 | - |
328 | - <h1 tal:content="context/displayname">Some Person</h1> |
329 | - |
330 | <tal:noaccount tal:condition="context/account_status/enumvalue:NOACCOUNT"> |
331 | <p><span tal:replace="context/displayname" /> does not use Launchpad. |
332 | <tal:block condition="context/creation_comment"> |
333 | |
334 | === modified file 'lib/lp/registry/templates/person-portlet-contact-details.pt' |
335 | --- lib/lp/registry/templates/person-portlet-contact-details.pt 2009-07-17 17:59:07 +0000 |
336 | +++ lib/lp/registry/templates/person-portlet-contact-details.pt 2009-09-15 18:02:40 +0000 |
337 | @@ -5,160 +5,190 @@ |
338 | omit-tag=""> |
339 | |
340 | <div class="portlet" id="contact-details" |
341 | - tal:define="overview_menu context/menu:overview"> |
342 | - <div class="portletContent portletBody"> |
343 | - |
344 | - <table> |
345 | - <tbody> |
346 | - |
347 | - <tr> |
348 | - |
349 | - <th>Email:</th> |
350 | - |
351 | - <td |
352 | - tal:attributes="title view/visible_email_address_description"> |
353 | - <tal:not_logged_in |
354 | - condition="view/email_address_visibility/is_login_required"> |
355 | - <a href="+login">Log in</a> for email information. |
356 | - </tal:not_logged_in> |
357 | - |
358 | - <tal:no_preferredemail |
359 | - condition="view/email_address_visibility/are_none_available"> |
360 | - <tal:comment replace="nothing"> |
361 | - The user is not valid; this portlet is not used. |
362 | - </tal:comment> |
363 | - </tal:no_preferredemail> |
364 | - |
365 | - <tal:cant-view-hidden-emails |
366 | - condition="view/email_address_visibility/are_hidden"> |
367 | - No public address provided. |
368 | - <metal:define metal:define-macro="contact"> |
369 | - <tal:can-contact condition="view/can_contact"> |
370 | - (<a href="+contactuser" |
371 | - tal:attributes="title view/contact_link_title" |
372 | - tal:content="view/specific_contact_text">Contact |
373 | - this person</a>) |
374 | - <tal:no_preferredemail |
375 | - condition="view/email_address_visibility/are_none_available"> |
376 | - <br /><small>(Launchpad notifications are sent to all |
377 | - team members)</small> |
378 | - </tal:no_preferredemail> |
379 | - </tal:can-contact> |
380 | - </metal:define> |
381 | - </tal:cant-view-hidden-emails> |
382 | - |
383 | - <tal:emails |
384 | - repeat="email view/visible_email_addresses"> |
385 | - <span style="white-space: nowrap"> |
386 | - <img src="/@@/private" alt="" |
387 | - tal:condition="view/email_address_visibility/are_allowed"/> |
388 | - <img src="/@@/mail" alt="" |
389 | - tal:condition="view/email_address_visibility/are_public"/> |
390 | - <tal:email replace="email">foo2@bar.com</tal:email> |
391 | - <tal:contact condition="repeat/email/start"> |
392 | - <tal:contact metal:use-macro="template/macros/contact" /> |
393 | - </tal:contact> |
394 | - <br tal:omit-tag="repeat/email/end" /> |
395 | - </span> |
396 | - </tal:emails> |
397 | - </td> |
398 | - </tr> |
399 | - |
400 | - <tr tal:condition="context/icon"> |
401 | - <th>Icon:</th> |
402 | - <td><tal:icon replace="structure context/image:icon" /></td> |
403 | - </tr> |
404 | - <tal:XXX condition="nothing"> |
405 | - # XXX: salgado, 2008-11-25 bug=296739: We should use |
406 | - # context/wiki_names/is_empty here, but we can't do that because |
407 | - # there's a bug preventing us from updating our version of storm |
408 | - # to trunk. |
409 | - </tal:XXX> |
410 | - <tr tal:condition="context/wiki_names/any"> |
411 | - <th>Wiki:</th> |
412 | - <td> |
413 | - <span tal:repeat="wiki context/wiki_names"> |
414 | - <a tal:content="wiki/url" |
415 | - tal:attributes="href wiki/url" |
416 | - >WikiName</a><tal:block condition="not: repeat/wiki/end">, |
417 | - </tal:block> |
418 | - </span> |
419 | - </td> |
420 | - </tr> |
421 | - <tr tal:repeat="ircnick context/ircnicknames"> |
422 | - <th>IRC:</th> |
423 | - <td><code style="font-size: 120%" |
424 | - tal:content="ircnick/nickname"/> |
425 | - on network <code style="font-size: 120%" |
426 | - tal:content="ircnick/network" /> |
427 | - </td> |
428 | - </tr> |
429 | - <tr tal:condition="context/jabberids"> |
430 | - <th>Jabber:</th> |
431 | - <td> |
432 | - <tal:block repeat="jabberid context/jabberids"> |
433 | - <span tal:replace="jabberid/jabberid/fmt:obfuscate-email" |
434 | - /><span tal:condition="not: repeat/jabberid/end">,</span> |
435 | - </tal:block> |
436 | - </td> |
437 | - </tr> |
438 | - <tr tal:condition="context/gpgkeys"> |
439 | - <th>OpenPGP keys:</th> |
440 | - <td> |
441 | - <tal:keys repeat="key context/gpgkeys"> |
442 | - <a tal:attributes="href key/keyserverURL" |
443 | - tal:omit-tag="not: request/lp:person"> |
444 | - <tal:keyid replace="key/keyid" |
445 | - /></a><span tal:condition="not: repeat/key/end">,</span> |
446 | - </tal:keys> |
447 | - </td> |
448 | - </tr> |
449 | - |
450 | - <tr id="sshkeys"> |
451 | - <th>SSH Keys:</th> |
452 | - <td tal:define="sshkeys context/sshkeys"> |
453 | - <tal:no_keys condition="not: sshkeys"> |
454 | - <tal:is_user condition="view/viewing_own_page"> |
455 | - <a tal:replace="structure overview_menu/editsshkeys/fmt:icon-link" /> |
456 | - </tal:is_user> |
457 | - <tal:other_user condition="not: view/viewing_own_page"> |
458 | - No keys registered |
459 | - </tal:other_user> |
460 | - </tal:no_keys> |
461 | - |
462 | - <tal:has_keys condition="sshkeys"> |
463 | - <tal:keys repeat="sshkey sshkeys"> |
464 | - <a href="+sshkeys"><tal:key replace="sshkey/comment" /></a> |
465 | - <tal:first condition="repeat/sshkey/start"> |
466 | - <a tal:replace="structure overview_menu/editsshkeys/fmt:icon" /> |
467 | - </tal:first> |
468 | - <br /> |
469 | - </tal:keys> |
470 | - </tal:has_keys> |
471 | - </td> |
472 | - </tr> |
473 | - |
474 | - <tr tal:condition="view/viewing_own_page" id="openid-info"> |
475 | - <th>OpenID login:</th> |
476 | - <td> |
477 | - <img src="/@@/private" alt="" /> |
478 | - <tal:openid-login content="view/openid_identity_url" /> |
479 | - <a target="help" href="/+help/openid.html" |
480 | - >(What’s this?)</a> |
481 | - </td> |
482 | - </tr> |
483 | - <tr id="languages"> |
484 | - <th>Languages:</th> |
485 | - <td> |
486 | - <tal:languages content="view/languages"> |
487 | - English |
488 | - </tal:languages> |
489 | - <a tal:replace="structure overview_menu/editlanguages/fmt:icon" /> |
490 | - </td> |
491 | - </tr> |
492 | - </tbody> |
493 | - </table> |
494 | - |
495 | + tal:define="overview_menu context/menu:overview"> |
496 | + |
497 | + <h2>User information</h2> |
498 | + |
499 | + <div class="first yui-u"> |
500 | + <dl> |
501 | + <dt>Email:</dt> |
502 | + <dd |
503 | + tal:attributes="title view/visible_email_address_description"> |
504 | + <tal:not_logged_in |
505 | + condition="view/email_address_visibility/is_login_required"> |
506 | + <a href="+login">Log in</a> for email information. |
507 | + </tal:not_logged_in> |
508 | + |
509 | + <tal:no_preferredemail |
510 | + condition="view/email_address_visibility/are_none_available"> |
511 | + <tal:comment replace="nothing"> |
512 | + The user is not valid; this portlet is not used. |
513 | + </tal:comment> |
514 | + </tal:no_preferredemail> |
515 | + |
516 | + <tal:cant-view-hidden-emails |
517 | + condition="view/email_address_visibility/are_hidden"> |
518 | + No public address provided. |
519 | + </tal:cant-view-hidden-emails> |
520 | + |
521 | + <tal:emails |
522 | + repeat="email view/visible_email_addresses"> |
523 | + <span style="white-space: nowrap"> |
524 | + <img src="/@@/private" alt="" |
525 | + tal:condition="view/email_address_visibility/are_allowed"/> |
526 | + <img src="/@@/mail" alt="" |
527 | + tal:condition="view/email_address_visibility/are_public"/> |
528 | + <tal:email replace="email">foo2@bar.com</tal:email> |
529 | + <br tal:omit-tag="repeat/email/end" /> |
530 | + </span> |
531 | + </tal:emails> |
532 | + </dd> |
533 | + </dl> |
534 | + |
535 | + <dl tal:condition="context/jabberids"> |
536 | + <dt>Jabber:</dt> |
537 | + <dd> |
538 | + <tal:block repeat="jabberid context/jabberids"> |
539 | + <span tal:replace="jabberid/jabberid/fmt:obfuscate-email" |
540 | + /><span tal:condition="not: repeat/jabberid/end">,</span> |
541 | + </tal:block> |
542 | + </dd> |
543 | + </dl> |
544 | + |
545 | + <dl tal:condition="view/viewing_own_page" id="openid-info"> |
546 | + <dt>OpenID login:</dt> |
547 | + <dd> |
548 | + <img src="/@@/private" alt="" /> |
549 | + <tal:openid-login content="view/openid_identity_url" /> |
550 | + <a target="help" href="/+help/openid.html" |
551 | + >(What’s this?)</a> |
552 | + </dd> |
553 | + </dl> |
554 | + |
555 | + <dl> |
556 | + <dt>Member since:</dt> |
557 | + <dd id="member-since" |
558 | + tal:content="context/datecreated/fmt:date" /> |
559 | + </dl> |
560 | + |
561 | + <div id="teams_with_icons" |
562 | + tal:condition="context/@@+restricted-membership/teams_with_icons"> |
563 | + <a tal:repeat="team context/@@+restricted-membership/teams_with_icons" |
564 | + tal:attributes="href team/fmt:url" |
565 | + ><img tal:attributes="src team/icon/getURL; |
566 | + title string:Icon of ${team/name}" |
567 | + /></a> |
568 | + </div> |
569 | + |
570 | + <dl tal:condition="context/is_ubuntu_coc_signer"> |
571 | + <dt>Signed Ubuntu Code of Conduct:</dt> |
572 | + <dd> |
573 | + <a |
574 | + id="ubuntu_coc_signer" |
575 | + tal:condition="context/required:launchpad.Edit" |
576 | + tal:attributes="href overview_menu/codesofconduct/url" |
577 | + >Yes</a> |
578 | + <span |
579 | + id="ubuntu_coc_signer" |
580 | + tal:condition="not: context/required:launchpad.Edit">Yes</span> |
581 | + </dd> |
582 | + </dl> |
583 | + |
584 | + <tal:not-ubuntu_coc_signer condition="not: context/is_ubuntu_coc_signer"> |
585 | + <tal:is_request_person condition="view/viewing_own_page"> |
586 | + <dl> |
587 | + <dt>Signed Ubuntu Code of Conduct:</dt> |
588 | + <dd> |
589 | + <span id="ubuntu_coc_signer">No</span> |
590 | + <a href="/codeofconduct" |
591 | + ><img src="/@@/edit" alt="Sign the Ubuntu Code of Conduct" /></a> |
592 | + </dd> |
593 | + </dl> |
594 | + </tal:is_request_person> |
595 | + </tal:not-ubuntu_coc_signer> |
596 | + </div> |
597 | + |
598 | + <div class="yui-u two-column-list"> |
599 | + <dl tal:condition="not: context/wiki_names/is_empty"> |
600 | + <dt>Wiki:</dt> |
601 | + <dd> |
602 | + <span tal:repeat="wiki context/wiki_names"> |
603 | + <a tal:content="wiki/url" |
604 | + tal:attributes="href wiki/url" |
605 | + >WikiName</a><tal:block condition="not: repeat/wiki/end">, |
606 | + </tal:block> |
607 | + </span> |
608 | + </dd> |
609 | + </dl> |
610 | + <dl tal:condition="context/ircnicknames"> |
611 | + <dt>IRC:</dt> |
612 | + <dd> |
613 | + <div tal:repeat="ircnick context/ircnicknames"> |
614 | + <strong tal:content="ircnick/nickname"/> |
615 | + <span class="discreet">on network</span> |
616 | + <strong tal:content="ircnick/network" /> |
617 | + </div> |
618 | + </dd> |
619 | + </dl> |
620 | + |
621 | + <dl tal:condition="context/gpgkeys"> |
622 | + <dt>OpenPGP keys:</dt> |
623 | + <dd> |
624 | + <tal:keys repeat="key context/gpgkeys"> |
625 | + <a tal:attributes="href key/keyserverURL" |
626 | + tal:omit-tag="not: request/lp:person"> |
627 | + <tal:keyid replace="key/keyid" |
628 | + /></a><span tal:condition="not: repeat/key/end">,</span> |
629 | + </tal:keys> |
630 | + </dd> |
631 | + </dl> |
632 | + |
633 | + <dl id="sshkeys"> |
634 | + <dt>SSH Keys:</dt> |
635 | + <dd tal:define="sshkeys context/sshkeys"> |
636 | + <tal:no_keys condition="not: sshkeys"> |
637 | + <tal:is_user condition="view/viewing_own_page"> |
638 | + <a tal:replace="structure overview_menu/editsshkeys/fmt:icon-link" /> |
639 | + </tal:is_user> |
640 | + <tal:other_user condition="not: view/viewing_own_page"> |
641 | + No keys registered |
642 | + </tal:other_user> |
643 | + </tal:no_keys> |
644 | + |
645 | + <tal:has_keys condition="sshkeys"> |
646 | + <tal:keys repeat="sshkey sshkeys"> |
647 | + <a href="+sshkeys"><tal:key replace="sshkey/comment" /></a> |
648 | + <tal:first condition="repeat/sshkey/start"> |
649 | + <a tal:replace="structure overview_menu/editsshkeys/fmt:icon" /> |
650 | + </tal:first> |
651 | + <br /> |
652 | + </tal:keys> |
653 | + </tal:has_keys> |
654 | + </dd> |
655 | + </dl> |
656 | + |
657 | + <dl id="languages"> |
658 | + <dt>Languages:</dt> |
659 | + <dd> |
660 | + <tal:languages content="view/languages"> |
661 | + English |
662 | + </tal:languages> |
663 | + <a tal:replace="structure overview_menu/editlanguages/fmt:icon" /> |
664 | + </dd> |
665 | + </dl> |
666 | + |
667 | + <dl tal:condition="context/time_zone"> |
668 | + <dt>Time zone:</dt> |
669 | + <dd tal:content="context/time_zone">UTC</dd> |
670 | + </dl> |
671 | + |
672 | + <dl id="karma"> |
673 | + <dt>Karma:</dt> |
674 | + <dd><a id="karma-total" |
675 | + tal:attributes="href overview_menu/karma/url" |
676 | + tal:content="context/karma">342</a> |
677 | + </dd> |
678 | + </dl> |
679 | </div> |
680 | |
681 | </div> |
682 | |
683 | === modified file 'lib/lp/registry/templates/person-portlet-contributions.pt' |
684 | --- lib/lp/registry/templates/person-portlet-contributions.pt 2009-07-17 17:59:07 +0000 |
685 | +++ lib/lp/registry/templates/person-portlet-contributions.pt 2009-09-11 19:59:54 +0000 |
686 | @@ -7,7 +7,14 @@ |
687 | class="portlet" |
688 | tal:define="contributions view/contributions" |
689 | tal:condition="contributions"> |
690 | - <h2>Most active in</h2> |
691 | + <h2> |
692 | + <span class="see-all"> |
693 | + <a tal:attributes="href context/menu:overview/karma/url"> |
694 | + All activities |
695 | + </a> |
696 | + </span> |
697 | + Most active in |
698 | + </h2> |
699 | <table class="contributions" id="contributions"> |
700 | <tbody> |
701 | <tal:contributions repeat="contribution contributions"> |
702 | |
703 | === modified file 'lib/lp/registry/templates/person-portlet-currentfocus.pt' |
704 | --- lib/lp/registry/templates/person-portlet-currentfocus.pt 2009-07-17 17:59:07 +0000 |
705 | +++ lib/lp/registry/templates/person-portlet-currentfocus.pt 2009-09-11 19:59:54 +0000 |
706 | @@ -3,36 +3,35 @@ |
707 | xmlns:metal="http://xml.zope.org/namespaces/metal" |
708 | xmlns:i18n="http://xml.zope.org/namespaces/i18n" |
709 | omit-tag=""> |
710 | - <div id="working-on" |
711 | + <div id="working-on" class="yui-g" |
712 | tal:define="bugtasks view/assigned_bugs_in_progress; |
713 | - specs view/assigned_specs_in_progress" |
714 | - tal:condition="view/has_assigned_bugs_or_specs_in_progress"> |
715 | - <div class="section"> |
716 | - <div class="portlet"> |
717 | - <h2>Working on</h2> |
718 | - <tal:has-bugtasks condition="bugtasks"> |
719 | - <table> |
720 | - <tr tal:repeat="bugtask bugtasks"> |
721 | - <tal:define-vars define="hide_extra_details string:true"> |
722 | - <tal:task tal:replace="structure bugtask/@@+listing-detailed" /> |
723 | - </tal:define-vars> |
724 | - </tr> |
725 | - </table> |
726 | - <div> |
727 | + specs view/assigned_specs_in_progress"> |
728 | + <div class="yui-u first"> |
729 | + <div class="portlet" |
730 | + tal:condition="bugtasks"> |
731 | + <h2> |
732 | + <span class="see-all"> |
733 | <a tal:attributes="href view/getURLToAssignedBugsInProgress"> |
734 | - » Show all bugs in progress |
735 | + All bugs in progress |
736 | </a> |
737 | - </div> |
738 | - </tal:has-bugtasks> |
739 | + </span> |
740 | + Assigned bugs |
741 | + </h2> |
742 | + |
743 | + <table> |
744 | + <tr tal:repeat="bugtask bugtasks"> |
745 | + <tal:define-vars define="hide_extra_details string:true"> |
746 | + <tal:task tal:replace="structure bugtask/@@+listing-detailed" /> |
747 | + </tal:define-vars> |
748 | + </tr> |
749 | + </table> |
750 | </div> |
751 | </div> |
752 | - <div class="section" tal:condition="specs"> |
753 | - <div class="portlet"> |
754 | - <table> |
755 | - <tr tal:repeat="spec specs" |
756 | - tal:replace="structure spec/@@+listing-simple" /> |
757 | - </table> |
758 | - <div> |
759 | + |
760 | + <div class="yui-u"> |
761 | + <div class="portlet" |
762 | + tal:condition="specs"> |
763 | + <h2> |
764 | <tal:XXX condition="nothing"> |
765 | # XXX: Guilherme Salgado 2007-02-12: |
766 | # This link should point to a list of the in-progress specs |
767 | @@ -40,11 +39,18 @@ |
768 | # right now, so we'll have to list all incomplete specs assigned |
769 | # to the person. |
770 | </tal:XXX> |
771 | - <a |
772 | - tal:attributes="href string:${context/fmt:url}/+specs?role=assignee"> |
773 | - » Show all assigned blueprints |
774 | - </a> |
775 | - </div> |
776 | + <span class="see-all"> |
777 | + <a tal:attributes="href string:${context/fmt:url}/+specs?role=assignee"> |
778 | + All assigned blueprints |
779 | + </a> |
780 | + </span> |
781 | + Assigned blueprints |
782 | + </h2> |
783 | + |
784 | + <table> |
785 | + <tr tal:repeat="spec specs" |
786 | + tal:replace="structure spec/@@+listing-simple" /> |
787 | + </table> |
788 | </div> |
789 | </div> |
790 | </div> |
791 | |
792 | === removed file 'lib/lp/registry/templates/person-portlet-details.pt' |
793 | --- lib/lp/registry/templates/person-portlet-details.pt 2009-08-13 15:12:16 +0000 |
794 | +++ lib/lp/registry/templates/person-portlet-details.pt 1970-01-01 00:00:00 +0000 |
795 | @@ -1,113 +0,0 @@ |
796 | -<tal:root |
797 | - xmlns:tal="http://xml.zope.org/namespaces/tal" |
798 | - xmlns:metal="http://xml.zope.org/namespaces/metal" |
799 | - xmlns:i18n="http://xml.zope.org/namespaces/i18n" |
800 | - omit-tag=""> |
801 | - |
802 | -<div class="portlet" id="portlet-details" |
803 | - tal:define="overview_menu context/menu:overview"> |
804 | - |
805 | - <h2 tal:condition="not: context/is_team">Bragging rights</h2> |
806 | - <h2 tal:condition="context/is_team">Summary</h2> |
807 | - |
808 | - <div class="portletBody portletContent"> |
809 | - |
810 | - <tal:valid_person condition="context/is_valid_person"> |
811 | - |
812 | - <b>Member since:</b> |
813 | - <span |
814 | - id="member-since" |
815 | - tal:content="context/datecreated/fmt:date" /><br /> |
816 | - |
817 | - <div id="teams_with_icons" |
818 | - tal:condition="context/@@+restricted-membership/teams_with_icons"> |
819 | - <a tal:repeat="team context/@@+restricted-membership/teams_with_icons" |
820 | - tal:attributes="href team/fmt:url" |
821 | - ><img tal:attributes="src team/icon/getURL; |
822 | - title string:Icon of ${team/name}" |
823 | - /></a> |
824 | - </div> |
825 | - |
826 | - <b>Karma:</b> |
827 | - <a |
828 | - id="karma-total" |
829 | - tal:attributes="href overview_menu/karma/url" |
830 | - tal:content="context/karma">342</a><br /> |
831 | - |
832 | - <tal:ubuntu_coc_signer |
833 | - condition="context/is_ubuntu_coc_signer"> |
834 | - <b>Signed Ubuntu Code of Conduct:</b> |
835 | - <a |
836 | - id="ubuntu_coc_signer" |
837 | - tal:condition="context/required:launchpad.Edit" |
838 | - tal:attributes="href overview_menu/codesofconduct/url" |
839 | - >Yes</a> |
840 | - <span |
841 | - id="ubuntu_coc_signer" |
842 | - tal:condition="not: context/required:launchpad.Edit">Yes</span> |
843 | - <br /> |
844 | - </tal:ubuntu_coc_signer> |
845 | - |
846 | - <tal:not-ubuntu_coc_signer condition="not: context/is_ubuntu_coc_signer"> |
847 | - <tal:is_request_person condition="view/viewing_own_page"> |
848 | - <b>Signed Ubuntu Code of Conduct:</b> |
849 | - <span id="ubuntu_coc_signer">No</span> |
850 | - <a href="/codeofconduct" |
851 | - ><img src="/@@/edit" alt="Sign the Ubuntu Code of Conduct" /></a> |
852 | - <br /> |
853 | - </tal:is_request_person> |
854 | - </tal:not-ubuntu_coc_signer> |
855 | - </tal:valid_person> |
856 | - |
857 | - <tal:is_team condition="context/is_team"> |
858 | - |
859 | - <b>Team owner:</b> |
860 | - <a |
861 | - tal:attributes="href context/teamowner/fmt:url" |
862 | - tal:content="context/teamowner/displayname" |
863 | - >mark</a> |
864 | - <br /> |
865 | - |
866 | - <b>Created on:</b> |
867 | - <span id="created-date" |
868 | - tal:content="context/datecreated/fmt:date" /><br /> |
869 | - |
870 | - <strong id="subscription-policy" |
871 | - tal:content="context/subscriptionpolicy/title"> |
872 | - Moderated Team |
873 | - </strong>: |
874 | - <tal:description replace="context/subscriptionpolicy/description" /> |
875 | - |
876 | - <div class="slimpadding" id="membership-summary" style="margin-top: 1em" |
877 | - tal:define="can_view_membership context/@@+restricted-membership/userCanViewMembership" |
878 | - > |
879 | - <strong>Membership:</strong><br /> |
880 | - <tal:private_membership condition="not: can_view_membership"> |
881 | - This team's membership list is private. |
882 | - </tal:private_membership> |
883 | - <tal:private_membership condition="can_view_membership"> |
884 | - <tal:active content="context/all_member_count" /> |
885 | - active members<br /> |
886 | - <tal:proposed define="proposed_member_count context/proposed_member_count" |
887 | - condition="proposed_member_count"> |
888 | - <tal:proposed_count content="proposed_member_count" /> |
889 | - proposed members<br /> |
890 | - </tal:proposed> |
891 | - <tal:invited define="invited_member_count context/invited_member_count" |
892 | - condition="invited_member_count"> |
893 | - <tal:invited_count content="context/invited_member_count" /> |
894 | - invited members<br /> |
895 | - </tal:invited> |
896 | - <tal:inactive define="inactive_member_count context/inactive_member_count" |
897 | - condition="inactive_member_count"> |
898 | - <tal:inactive_count content="context/inactive_member_count" /> |
899 | - inactive members<br /> |
900 | - </tal:inactive> |
901 | - </tal:private_membership> |
902 | - </div> |
903 | - </tal:is_team> |
904 | - |
905 | - </div> |
906 | - |
907 | -</div> |
908 | -</tal:root> |
909 | |
910 | === modified file 'lib/lp/registry/templates/person-portlet-memberships.pt' |
911 | --- lib/lp/registry/templates/person-portlet-memberships.pt 2009-08-21 14:42:54 +0000 |
912 | +++ lib/lp/registry/templates/person-portlet-memberships.pt 2009-09-11 19:59:54 +0000 |
913 | @@ -5,7 +5,14 @@ |
914 | omit-tag=""> |
915 | <div class="portlet" |
916 | tal:define="memberships context/@@+restricted-membership/getLatestApprovedMembershipsForPerson"> |
917 | - <h2>Latest memberships</h2> |
918 | + <h2> |
919 | + <span class="see-all" tal:condition="memberships"> |
920 | + <a tal:attributes="href context/menu:overview/memberships/url"> |
921 | + All memberships |
922 | + </a> |
923 | + </span> |
924 | + Latest memberships |
925 | + </h2> |
926 | |
927 | <tal:memberships condition="memberships"> |
928 | <table id="participation"> |
929 | @@ -13,12 +20,6 @@ |
930 | tal:replace="structure membership/@@+listing-simple" /> |
931 | </table> |
932 | |
933 | - <p> |
934 | - <a href="+participation"> |
935 | - » See all teams in which |
936 | - <tal:name replace="context/title">Foo Bar</tal:name> participates |
937 | - </a> |
938 | - </p> |
939 | </tal:memberships> |
940 | |
941 | <p tal:condition="not: memberships"> |
942 | |
943 | === modified file 'lib/lp/registry/templates/team-members.pt' |
944 | --- lib/lp/registry/templates/team-members.pt 2009-07-17 17:59:07 +0000 |
945 | +++ lib/lp/registry/templates/team-members.pt 2009-09-11 17:13:09 +0000 |
946 | @@ -12,10 +12,6 @@ |
947 | |
948 | <body> |
949 | |
950 | -<metal:portlets fill-slot="portlets"> |
951 | - <div tal:replace="structure context/@@+portlet-details" /> |
952 | -</metal:portlets> |
953 | - |
954 | <div metal:fill-slot="main" |
955 | tal:define="user_can_edit_memberships context/required:launchpad.Edit; |
956 | active_member_count context/active_member_count"> |
957 | |
958 | === modified file 'lib/lp/registry/templates/teammembership-index.pt' |
959 | --- lib/lp/registry/templates/teammembership-index.pt 2009-07-17 17:59:07 +0000 |
960 | +++ lib/lp/registry/templates/teammembership-index.pt 2009-09-11 17:13:09 +0000 |
961 | @@ -40,10 +40,6 @@ |
962 | </script> |
963 | </metal:block> |
964 | |
965 | -<metal:portlets fill-slot="portlets"> |
966 | - <div tal:replace="structure context/team/@@+portlet-details" /> |
967 | -</metal:portlets> |
968 | - |
969 | <metal:macros fill-slot="bogus"> |
970 | <metal:macro define-macro="person"> |
971 | <a tal:attributes="href context/person/fmt:url" |
972 | |
973 | === modified file 'lib/lp/registry/templates/teammembership-listing-simple.pt' |
974 | --- lib/lp/registry/templates/teammembership-listing-simple.pt 2009-07-17 17:59:07 +0000 |
975 | +++ lib/lp/registry/templates/teammembership-listing-simple.pt 2009-09-11 17:13:09 +0000 |
976 | @@ -9,7 +9,7 @@ |
977 | <div> |
978 | <a tal:replace="structure context/team/fmt:link">Team name</a> |
979 | </div> |
980 | - <div> |
981 | + <div class="extra-discreet"> |
982 | Joined |
983 | <span |
984 | tal:attributes="title context/datejoined/fmt:datetime" |
985 | |
986 | === modified file 'lib/lp/soyuz/templates/person-portlet-ppas.pt' |
987 | --- lib/lp/soyuz/templates/person-portlet-ppas.pt 2009-09-09 18:50:13 +0000 |
988 | +++ lib/lp/soyuz/templates/person-portlet-ppas.pt 2009-09-11 17:13:09 +0000 |
989 | @@ -3,26 +3,22 @@ |
990 | xmlns:metal="http://xml.zope.org/namespaces/metal" |
991 | xmlns:i18n="http://xml.zope.org/namespaces/i18n" |
992 | omit-tag=""> |
993 | - <div id="ppas"> |
994 | - <div class="section"> |
995 | - <div class="portlet"> |
996 | - <h2>Personal package archives</h2> |
997 | - |
998 | - <div tal:replace="structure context/@@+ppas-list"/> |
999 | - |
1000 | - <ul class="horizontal"> |
1001 | - <li tal:define="link context/menu:overview/activate_ppa" |
1002 | - tal:condition="link/enabled" |
1003 | - tal:content="structure link/fmt:icon-link" /> |
1004 | - |
1005 | - <tal:is-person condition="not: context/is_team"> |
1006 | - <li tal:define="link context/menu:overview/view_ppa_subscriptions" |
1007 | - tal:condition="link/enabled" |
1008 | - tal:replace="structure link/fmt:icon-link" /> |
1009 | - </tal:is-person> |
1010 | - |
1011 | - </ul> |
1012 | - </div> |
1013 | - </div> |
1014 | + <div id="ppas" class="portlet" tal:condition="view/should_show_ppa_section"> |
1015 | + <h2>Personal package archives</h2> |
1016 | + |
1017 | + <div tal:replace="structure context/@@+ppas-list"/> |
1018 | + |
1019 | + <ul class="horizontal"> |
1020 | + <li tal:define="link context/menu:overview/activate_ppa" |
1021 | + tal:condition="link/enabled" |
1022 | + tal:content="structure link/fmt:icon-link" /> |
1023 | + |
1024 | + <tal:is-person condition="not: context/is_team"> |
1025 | + <li tal:define="link context/menu:overview/view_ppa_subscriptions" |
1026 | + tal:condition="link/enabled" |
1027 | + tal:replace="structure link/fmt:icon-link" /> |
1028 | + </tal:is-person> |
1029 | + |
1030 | + </ul> |
1031 | </div> |
1032 | </tal:root> |
1033 |
= Summary =
Convert person-index.pt to UI 3.0
Some screenshots:
http:// people. canonical. com/~salgado/ person1. png people. canonical. com/~salgado/ person2. png people. canonical. com/~salgado/ person3. png
http://
http://
= Launchpad lint =
Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.
Linting changed files: registry/ templates/ person- portlet- contributions. pt registry/ browser/ configure. zcml /launchpad/ pagetitles. py registry/ templates/ person- portlet- memberships. pt registry/ templates/ person- portlet- contact- details. pt registry/ templates/ person- portlet- currentfocus. pt registry/ templates/ team-members. pt registry/ templates/ teammembership- listing- simple. pt registry/ templates/ teammembership- index.pt registry/ templates/ person- index.pt registry/ browser/ person. py soyuz/templates /person- portlet- ppas.pt
lib/lp/
lib/lp/
lib/canonical
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
== Pylint notices ==
lib/lp/ registry/ browser/ person. py interface' (No module
119: [F0401] Unable to import 'lazr.delegates' (No module named
delegates)
120: [F0401] Unable to import 'lazr.config' (No module named config)
121: [F0401] Unable to import 'lazr.restful.
named restful)