Merge lp://staging/~allenap/launchpad/ui-convert-bug-tracker-3.0-bug-418155-pt2 into lp://staging/~allenap/launchpad/ui-convert-bug-tracker-3.0-bug-418155

Proposed by Gavin Panella
Status: Merged
Approved by: Gavin Panella
Approved revision: no longer in the source branch.
Merge reported by: Gavin Panella
Merged at revision: not available
Proposed branch: lp://staging/~allenap/launchpad/ui-convert-bug-tracker-3.0-bug-418155-pt2
Merge into: lp://staging/~allenap/launchpad/ui-convert-bug-tracker-3.0-bug-418155
Diff against target: None lines
To merge this branch: bzr merge lp://staging/~allenap/launchpad/ui-convert-bug-tracker-3.0-bug-418155-pt2
Reviewer Review Type Date Requested Status
Michael Nelson (community) ui Approve
Graham Binns (community) code Approve
Review via email: mp+10969@code.staging.launchpad.net
To post a comment you must log in.
Revision history for this message
Gavin Panella (allenap) wrote :

This branch converts the bug tracker edit page, the bug tracker
details and projects portlets, and the remote bug index pages to the
3.0 layout. It also makes some small adjustments to the bug tracker
index page.

*** The parent of this branch is:
*** lp:~allenap/launchpad/ui-convert-bug-tracker-3.0-bug-418155

./bin/test -vvt bug-?tracker

lib/canonical/launchpad/testing/pages.py

  Change the print_table() doctest helper function to only print rows
  if cells are found. I've checked that this does not affect
  print_table()'s use in other tests.

lib/lp/bugs/browser/bugtracker.py

  Add a cancel link to the bug tracker edit view.

lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt

  This test was printing whole pages and relying on ellipsis matching,
  so I've changed parts to use print_location(), print_table() and
  print_feedback_messages() instead.

lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt

  Show the presence of the cancel link from above, change the expected
  wording from the projects portlet, and change the expected
  capitalization from the details portlet. An addition section has
  been added to demonstrate how the contact details are not rendered
  at all if there are none recorded.

lib/lp/bugs/templates/bugtracker-edit.pt

  Conversion to main_side layout. I changed a <ul> to an <ol> because
  <ul>s have been castrated in the new style sheet. I imagine I'll
  have a UI review discussion about this :)

lib/lp/bugs/templates/bugtracker-index.pt

  Changed the layout here a bit, to better work with the new
  breadcrumbs. The <h1> on the page is now simply the bug tracker
  title, and the summary is now introduced with an <h2>.

lib/lp/bugs/templates/bugtracker-portlet-details.pt

  Convert this to use a <dl> instead of <b> and <br> tags (arg!). The
  contact details now only appear if there are some.

lib/lp/bugs/templates/bugtracker-portlet-projects.pt

  Convert this portlet to have the intro text within a <p> and the
  list of projects within a <ul>.

lib/lp/bugs/templates/remotebug-index.pt

  Convert to main_side layout. I've also changed the text on the page
  to, ya know, make sense :)

  I think this page is almost unused. It is not linked to from any
  page in Launchpad as far as I'm aware, and is really just a URL hack
  for use by external bug trackers linking back to Launchpad. Also,
  this page is only rendered if there are 2 or more Launchpad bugs
  watching the remote bug. In other words, for UI review especially,
  please don't agonize over appearance here.

  Having said that, I had a very quick go at adding a breadcrumb for
  this page. However, no breadcrumb was rendered and I couldn't fathom
  why. See <http://pastebin.ubuntu.com/263018/> for the diff if you're
  keen; maybe you can spot something I missed.

Revision history for this message
Graham Binns (gmb) :
review: Approve (code)
Revision history for this message
Gavin Panella (allenap) wrote :

To walk through the UI, try:

 * Go to the bug trackers page (for IBugTrackerSet) at
   <https://bugs.launchpad.dev/bugs/bugtrackers>,

 * There's nothing new in this page for this branch, so just click on
   "This Mozilla.prg Bug Tracker" to see its overview page,

 * Look at the portlets. The top portlet replicates some of the info
   that's in the page, but it is used elsewhere in Launchpad so it's
   useful to keep.

 * Click "Change details",

 * This is one place where the details portlet is useful.

 * Use the new cancel link to return to the previous page,

 * Notice the new h1 title and h2 "Summary" heading,

 * Append /42 to the URL and see the remote bug index page, including
   the h2 "Is watched by..." and the new text. I think the text is
   good, but the heading was a tough one. I'm simply still not sure
   exactly how to use the heading slot.

Revision history for this message
Michael Nelson (michael.nelson) wrote :

> To walk through the UI, try:

Thanks for providing these walk-throughs... much easier to review! I'll start doing that too.
And sorry for the two 'needs fixing' reviews! The pages really do look great (we initially tried to re-use our soyuz context portlets in the same way), but afaik, it's left-over from 1.0 (or maybe I'm confused at that point - I wasn't around then), but it's not meant to be in the 3.0 side-bar.

>
> * Go to the bug trackers page (for IBugTrackerSet) at
> <https://bugs.launchpad.dev/bugs/bugtrackers>,
>
> * There's nothing new in this page for this branch, so just click on
> "This Mozilla.prg Bug Tracker" to see its overview page,
>
> * Look at the portlets. The top portlet replicates some of the info
> that's in the page, but it is used elsewhere in Launchpad so it's
> useful to keep.

See comments on the first MP. I think it's really 1.0 templates trying to be forced into the 3.0 mold (I tried the same thing with some soyuz pages and got rejected ;) ).

>
> * Click "Change details",
>
> * This is one place where the details portlet is useful.

Well, not really - the only extra information presented in the portlet is not really relevant to the person editing the watch? Otherwise it's just duplicated info, and as mentioned in the previous MP, afaik, isn't the type of content that is meant to go in the side portlet. I'd recommend using main_only for this template, you might even be able to get rid of the template and use generic-edit.pt?

>
> * Use the new cancel link to return to the previous page,

Great!

>
> * Notice the new h1 title and h2 "Summary" heading,

Great! Note that both of these above two points will happen automatically with generic-edit.

>
> * Append /42 to the URL and see the remote bug index page, including
> the h2 "Is watched by..." and the new text. I think the text is
> good, but the heading was a tough one. I'm simply still not sure
> exactly how to use the heading slot.

Yeah, it's been confusing and could change again - but afaik, you've done the right thing for the current rules (ie. this is an +index page, so putting an <h1>context.title</h1> is correct).

I'm not so sure about "Is watched by...". I think this h2 shouldn't be a continuation of a sentance. In fact, I'm not even sure that the h2 is necessary. I know I'm looking at the Remote bug #42 for the Mozilla.org bug tracker, and your overview para tells me exactly what I need to know.

And again, I don't think we can put the context details portlet in the side-bar (it was requested for 1.0 and afaik meant to be removed for 2.0(?) and doesn't belong in the side-bar for 3.0).

review: Needs Fixing (ui)
Revision history for this message
Gavin Panella (allenap) wrote :
Download full text (3.8 KiB)

On Tue, 01 Sep 2009 11:43:19 -0000
Michael Nelson <email address hidden> wrote:

> Review: Needs Fixing ui
> > To walk through the UI, try:
>
> Thanks for providing these walk-throughs... much easier to review!
> I'll start doing that too. And sorry for the two 'needs fixing'
> reviews! The pages really do look great (we initially tried to
> re-use our soyuz context portlets in the same way), but afaik, it's
> left-over from 1.0 (or maybe I'm confused at that point - I wasn't
> around then), but it's not meant to be in the 3.0 side-bar.

No worries about the needs-fixing. They need fixing! :)

>
> >
> > * Go to the bug trackers page (for IBugTrackerSet) at
> > <https://bugs.launchpad.dev/bugs/bugtrackers>,
> >
> > * There's nothing new in this page for this branch, so just click on
> > "This Mozilla.prg Bug Tracker" to see its overview page,
> >
> > * Look at the portlets. The top portlet replicates some of the info
> > that's in the page, but it is used elsewhere in Launchpad so it's
> > useful to keep.
>
> See comments on the first MP. I think it's really 1.0 templates
> trying to be forced into the 3.0 mold (I tried the same thing with
> some soyuz pages and got rejected ;) ).

Yes, I've removed all the side portlets from all of the bug tracker
pages; they don't make sense anywhere. The navigation menu for the bug
tracker index page remains.

>
> >
> > * Click "Change details",
> >
> > * This is one place where the details portlet is useful.
>
> Well, not really - the only extra information presented in the
> portlet is not really relevant to the person editing the watch?
> Otherwise it's just duplicated info, and as mentioned in the
> previous MP, afaik, isn't the type of content that is meant to go in
> the side portlet. I'd recommend using main_only for this template,
> you might even be able to get rid of the template and use
> generic-edit.pt?

I'd not heard of generic-edit before; it'll be handy for the
future. However, I don't think it'll be suitable here because the edit
page has some blurb at the beginning, including an explanation of why
a particular bug tracker cannot be deleted (which is not static).

>
> >
> > * Use the new cancel link to return to the previous page,
>
> Great!
>
> >
> > * Notice the new h1 title and h2 "Summary" heading,
>
> Great! Note that both of these above two points will happen
> automatically with generic-edit.
>
> >
> > * Append /42 to the URL and see the remote bug index page, including
> > the h2 "Is watched by..." and the new text. I think the text is
> > good, but the heading was a tough one. I'm simply still not sure
> > exactly how to use the heading slot.
>
>
> Yeah, it's been confusing and could change again - but afaik, you've
> done the right thing for the current rules (ie. this is an +index
> page, so putting an <h1>context.title</h1> is correct).
>
> I'm not so sure about "Is watched by...". I think this h2 shouldn't
> be a continuation of a sentance. In fact, I'm not even sure that the
> h2 is necessary. I know I'm looking at the Remote bug #42 for the
> Mozilla.org bug tracker, and your overview para tells me exactly
> what I need to know.

I've rem...

Read more...

=== modified file 'lib/lp/bugs/browser/configure.zcml'
--- lib/lp/bugs/browser/configure.zcml 2009-08-28 12:57:41 +0000
+++ lib/lp/bugs/browser/configure.zcml 2009-09-01 14:31:18 +0000
@@ -740,6 +740,9 @@
740 <browser:page740 <browser:page
741 name="+portlet-projects"741 name="+portlet-projects"
742 template="../templates/bugtracker-portlet-projects.pt"/>742 template="../templates/bugtracker-portlet-projects.pt"/>
743 <browser:page
744 name="+portlet-watches"
745 template="../templates/bugtracker-portlet-watches.pt"/>
743 </browser:pages>746 </browser:pages>
744 <browser:page747 <browser:page
745 name="+edit"748 name="+edit"
746749
=== modified file 'lib/lp/bugs/stories/bugtracker/bugtrackers-index.txt'
--- lib/lp/bugs/stories/bugtracker/bugtrackers-index.txt 2009-08-28 12:57:41 +0000
+++ lib/lp/bugs/stories/bugtracker/bugtrackers-index.txt 2009-09-01 16:19:33 +0000
@@ -147,17 +147,3 @@
147 >>> user_browser.getLink("Register another bug tracker").click()147 >>> user_browser.getLink("Register another bug tracker").click()
148 >>> user_browser.url148 >>> user_browser.url
149 'http://bugs.launchpad.dev/bugs/bugtrackers/+newbugtracker'149 'http://bugs.launchpad.dev/bugs/bugtrackers/+newbugtracker'
150
151In fact, the link is there twice: once at the top of the page, once at
152the bottom.
153
154 >>> user_browser.open('http://launchpad.dev/bugs/bugtrackers')
155 >>> links = find_tags_by_class(
156 ... user_browser.contents, 'menu-link-newbugtracker')
157 >>> len(links)
158 2
159
160 >>> for link in links:
161 ... print extract_text(link)
162 Register another bug tracker
163 Register another bug tracker
164150
=== modified file 'lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt'
--- lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt 2009-08-28 15:43:29 +0000
+++ lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt 2009-09-01 16:47:37 +0000
@@ -24,9 +24,9 @@
24 * Answers - http://answers.launchpad.dev/24 * Answers - http://answers.launchpad.dev/
25 Main heading: Remote Bug #42 in The Mozilla.org Bug Tracker25 Main heading: Remote Bug #42 in The Mozilla.org Bug Tracker
2626
27 >>> print_table(find_tag_by_id(browser.contents, 'watchedbugs'))27 >>> print extract_text(find_tag_by_id(browser.contents, 'watchedbugs'))
28 #1: Firefox does not support SVG28 Bug #1: Firefox does not support SVG
29 #2: Blackhole Trash folder29 Bug #2: Blackhole Trash folder
3030
31If there is only a single bug watching the remote bug, then we skip31If there is only a single bug watching the remote bug, then we skip
32the list page and redirect the user directly to that bug's page:32the list page and redirect the user directly to that bug's page:
@@ -80,16 +80,16 @@
80 * Answers - http://answers.launchpad.dev/80 * Answers - http://answers.launchpad.dev/
81 Main heading: Remote Bug #42 in The Mozilla.org Bug Tracker81 Main heading: Remote Bug #42 in The Mozilla.org Bug Tracker
8282
83 >>> print_table(find_tag_by_id(anon_browser.contents, 'watchedbugs'))83 >>> print extract_text(find_tag_by_id(anon_browser.contents, 'watchedbugs'))
84 #1: Private bug84 Bug #1: (Private)
85 #2: Blackhole Trash folder85 Bug #2: Blackhole Trash folder
8686
87The bug title is still provided if the user can view the private bug:87The bug title is still provided if the user can view the private bug:
8888
89 >>> browser.open('http://launchpad.dev/bugs/bugtrackers/mozilla.org/42')89 >>> browser.open('http://launchpad.dev/bugs/bugtrackers/mozilla.org/42')
90 >>> print_table(find_tag_by_id(browser.contents, 'watchedbugs'))90 >>> print extract_text(find_tag_by_id(browser.contents, 'watchedbugs'))
91 #1: Firefox does not support SVG91 Bug #1: Firefox does not support SVG
92 #2: Blackhole Trash folder92 Bug #2: Blackhole Trash folder
9393
94For the case where the private bug is the only one watching the given94For the case where the private bug is the only one watching the given
95remote bug, we don't perform the redirect ahead of time:95remote bug, we don't perform the redirect ahead of time:
9696
=== modified file 'lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt'
--- lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt 2009-08-28 14:09:24 +0000
+++ lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt 2009-09-01 15:20:28 +0000
@@ -677,15 +677,13 @@
677677
678 >>> user_browser.open('http://launchpad.dev/bugs/bugtrackers/email')678 >>> user_browser.open('http://launchpad.dev/bugs/bugtrackers/email')
679 >>> print extract_text(find_portlet(679 >>> print extract_text(find_portlet(
680 ... user_browser.contents, 'Email bugtracker'))680 ... user_browser.contents, 'Details'))
681 Email bugtracker681 Details
682 Location:682 Location
683 mailto:bugs@example.com683 mailto:bugs@example.com
684 Tracker type:684 Tracker type
685 Email Address685 Email Address
686 Number of watches:686 Created by
687 1
688 Creator:
689 Foo Bar687 Foo Bar
690688
691If the user is not logged in, email addresses in the Location field689If the user is not logged in, email addresses in the Location field
@@ -693,9 +691,9 @@
693691
694 >>> anon_browser.open('http://launchpad.dev/bugs/bugtrackers/email')692 >>> anon_browser.open('http://launchpad.dev/bugs/bugtrackers/email')
695 >>> print extract_text(find_portlet(693 >>> print extract_text(find_portlet(
696 ... anon_browser.contents, 'Email bugtracker'))694 ... anon_browser.contents, 'Details'))
697 Email bugtracker695 Details
698 Location:696 Location
699 mailto:&lt;email address hidden&gt;697 mailto:&lt;email address hidden&gt;
700 ...698 ...
701699
@@ -704,15 +702,14 @@
704 >>> anon_browser.open(702 >>> anon_browser.open(
705 ... 'http://bugs.launchpad.dev/bugs/bugtrackers/gnome-bugzilla')703 ... 'http://bugs.launchpad.dev/bugs/bugtrackers/gnome-bugzilla')
706 >>> print extract_text(find_portlet(704 >>> print extract_text(find_portlet(
707 ... anon_browser.contents, 'GnomeGBug GTracker'))705 ... anon_browser.contents, 'Details'))
708 GnomeGBug GTracker706 Details
709 Location:707 Location
710 http://bugzilla.gnome.org/bugs708 http://bugzilla.gnome.org/bugs
711 Tracker type:709 http://alias.example.com/ (Alias)
710 Tracker type
712 Bugzilla711 Bugzilla
713 Number of watches:712 Contact details
714 2
715 Contact details:
716 Jeff Waugh, in his pants.713 Jeff Waugh, in his pants.
717 Creator:714 Created by
718 Foo Bar715 Foo Bar
719716
=== modified file 'lib/lp/bugs/templates/bugtracker-edit.pt'
--- lib/lp/bugs/templates/bugtracker-edit.pt 2009-08-28 13:47:50 +0000
+++ lib/lp/bugs/templates/bugtracker-edit.pt 2009-09-01 16:01:09 +0000
@@ -3,13 +3,9 @@
3 xmlns:tal="http://xml.zope.org/namespaces/tal"3 xmlns:tal="http://xml.zope.org/namespaces/tal"
4 xmlns:metal="http://xml.zope.org/namespaces/metal"4 xmlns:metal="http://xml.zope.org/namespaces/metal"
5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
6 metal:use-macro="view/macro:page/main_side"6 metal:use-macro="view/macro:page/main_only"
7 i18n:domain="malone">7 i18n:domain="malone">
88
9 <div metal:fill-slot="side">
10 <div tal:replace="structure context/@@+portlet-details" />
11 </div>
12
13 <div metal:fill-slot="main">9 <div metal:fill-slot="main">
14 <h1>Change bug tracker details</h1>10 <h1>Change bug tracker details</h1>
15 <div class="top-portlet">11 <div class="top-portlet">
1612
=== modified file 'lib/lp/bugs/templates/bugtracker-index.pt'
--- lib/lp/bugs/templates/bugtracker-index.pt 2009-08-28 13:42:10 +0000
+++ lib/lp/bugs/templates/bugtracker-index.pt 2009-09-01 16:07:16 +0000
@@ -12,104 +12,35 @@
1212
13 <metal:side fill-slot="side">13 <metal:side fill-slot="side">
14 <tal:menu replace="structure view/@@+global-actions" />14 <tal:menu replace="structure view/@@+global-actions" />
15 <div tal:replace="structure context/@@+portlet-details" />
16 <div tal:replace="structure context/@@+portlet-projects" />
17 </metal:side>15 </metal:side>
1816
19 <metal:macros fill-slot="bogus">
20 <metal:macro define-macro="watchlisting">
21 <table class="sortable listing" id="latestwatches">
22 <thead>
23 <tr>
24 <th>Launchpad bug</th>
25 <th>Remote bug</th>
26 <th>Status</th>
27 </tr>
28 </thead>
29 <tbody>
30 <tal:watches repeat="watch watches">
31 <tr tal:define="show watch/bug/required:launchpad.View">
32 <tal:hide-watch-details condition="not:show">
33 <td>
34 <img alt="" src="/@@/bug" />
35 #<span tal:replace="watch/bug/id">34</span>:
36 <em>(Private)</em>
37 </td>
38 <td><em>-</em></td>
39 <td></td>
40 </tal:hide-watch-details>
41 <tal:show-watch-details condition="show">
42 <td>
43 <img alt="" src="/@@/bug" />
44 <a href="#" tal:attributes="href watch/bug/fmt:url">
45 #<span tal:replace="watch/bug/id">34</span>:
46 <span tal:replace="watch/bug/title">
47 Launchpad Bug Title
48 </span>
49 </a>
50 </td>
51 <td>
52 <a tal:replace="structure watch/fmt:external-link-short">
53 1234
54 </a>
55 </td>
56 <td><tal:status tal:replace="watch/remotestatus"/></td>
57 </tal:show-watch-details>
58 </tr>
59 </tal:watches>
60 </tbody>
61 </table>
62 </metal:macro>
63 </metal:macros>
64
65 <div metal:fill-slot="main">17 <div metal:fill-slot="main">
66 <div class="top-portlet">18 <div class="top-portlet">
67 <h2>Summary</h2>19 <tal:summary condition="context/summary">
68 <p tal:content="context/summary">20 <h2>Summary</h2>
69 $BugTracker.summary goes here. This should be quite short,21 <p tal:content="context/summary">
70 just a single paragraph of text really, giving the BugTracker22 $BugTracker.summary goes here. This should be quite short,
71 highlights.23 just a single paragraph of text really, giving the BugTracker
72 </p>24 highlights.
25 </p>
26 </tal:summary>
73 <p tal:condition="not: context/active" id="inactive-message">27 <p tal:condition="not: context/active" id="inactive-message">
74 <strong>28 <strong>
75 Bug watch updates for <tal:bugtracker29 Bug watch updates for <tal:bugtracker
76 content="context/title" /> are disabled.30 content="context/title" /> are disabled.
77 </strong>31 </strong>
78 </p>32 </p>
7933 </div>
80 <h2>Location</h2>34 <div class="yui-g">
81 <ul id="bugtracker-urls">35 <div class="first yui-u">
82 <li>36 <div tal:replace="structure context/@@+portlet-details" />
83 <strong>37 </div>
84 <a tal:replace="structure context/fmt:external-link">38 <div class="yui-u">
85 http://bugs.example.com/39 <div tal:replace="structure context/@@+portlet-projects" />
86 </a>40 </div>
87 </strong>41 </div>
88 </li>42 <div class="yui-u" tal:condition="context/watches">
89 <li tal:repeat="alias context/fmt:aliases">43 <div tal:replace="structure context/@@+portlet-watches" />
90 <strong tal:content="alias" /> (Alias)
91 </li>
92 </ul>
93
94 <tal:contact-details condition="context/contactdetails">
95 <h2>Contact details</h2>
96 <div tal:condition="context/contactdetails"
97 tal:content="context/contactdetails" >
98 The contact details for the admins of this bug tracker go
99 here, so we can get to them in an emergency.
100 </div>
101 </tal:contact-details>
102
103 <tal:watches condition="context/watches">
104 <h2>Bug watches</h2>
105 <tal:navigation
106 replace="structure view/batchnav/@@+navigation-links-upper" />
107 <tal:block define="watches view/batchnav/batch" condition="watches">
108 <metal:watches use-macro="template/macros/watchlisting" />
109 </tal:block>
110 <tal:navigation
111 replace="structure view/batchnav/@@+navigation-links-lower" />
112 </tal:watches>
113 </div>44 </div>
114 </div>45 </div>
11546
11647
=== modified file 'lib/lp/bugs/templates/bugtracker-portlet-details.pt'
--- lib/lp/bugs/templates/bugtracker-portlet-details.pt 2009-08-28 14:00:23 +0000
+++ lib/lp/bugs/templates/bugtracker-portlet-details.pt 2009-09-01 15:14:51 +0000
@@ -1,27 +1,32 @@
1<div1<div
2 xmlns:tal="http://xml.zope.org/namespaces/tal"2 xmlns:tal="http://xml.zope.org/namespaces/tal"
3 xmlns:metal="http://xml.zope.org/namespaces/metal"3 xmlns:metal="http://xml.zope.org/namespaces/metal"
4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5 class="portlet" id="portlet-details">5 class="portlet" id="portlet-details">
66 <h2>Details</h2>
7 <h2 tal:content="context/title">bugtracker title</h2>
8
9 <dl>7 <dl>
10 <dt>Location:</dt>8 <dt>Location</dt>
11 <dd>9 <dd>
12 <img alt="" src="/@@/link" />10 <ul id="bugtracker-urls">
13 <a tal:replace="structure context/fmt:external-link" />11 <li>
12 <strong>
13 <a tal:replace="structure context/fmt:external-link">
14 http://bugs.example.com/
15 </a>
16 </strong>
17 </li>
18 <li tal:repeat="alias context/fmt:aliases">
19 <strong tal:content="alias" /> (Alias)
20 </li>
21 </ul>
14 </dd>22 </dd>
15 <dt>Tracker type:</dt>23 <dt>Tracker type</dt>
16 <dd tal:content="context/bugtrackertype/title" />24 <dd tal:content="context/bugtrackertype/title" />
17 <dt>Number of watches:</dt>
18 <dd tal:content="context/watches/count" />
19 <tal:contact-details condition="context/contactdetails">25 <tal:contact-details condition="context/contactdetails">
20 <dt>Contact details:</dt>26 <dt>Contact details</dt>
21 <dd tal:content="context/contactdetails" />27 <dd tal:content="context/contactdetails" />
22 </tal:contact-details>28 </tal:contact-details>
23 <dt>Creator:</dt>29 <dt>Created by</dt>
24 <dd tal:content="structure context/owner/fmt:link" />30 <dd tal:content="structure context/owner/fmt:link" />
25 </dl>31 </dl>
26
27</div>32</div>
2833
=== modified file 'lib/lp/bugs/templates/bugtracker-portlet-projects.pt'
--- lib/lp/bugs/templates/bugtracker-portlet-projects.pt 2009-08-28 13:51:06 +0000
+++ lib/lp/bugs/templates/bugtracker-portlet-projects.pt 2009-09-01 15:16:10 +0000
@@ -1,16 +1,13 @@
1<div1<div
2 xmlns:tal="http://xml.zope.org/namespaces/tal"2 xmlns:tal="http://xml.zope.org/namespaces/tal"
3 xmlns:metal="http://xml.zope.org/namespaces/metal"3 xmlns:metal="http://xml.zope.org/namespaces/metal"
4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5 class="portlet" id="portlet-projects">5 class="portlet" id="portlet-projects">
6
7 <h2>Related projects</h2>6 <h2>Related projects</h2>
8
9 <p>7 <p>
10 You can link a registered bug tracker with a <a8 You can link a registered bug tracker with a <a
11 href="/projects/">registered project</a> in Launchpad:9 href="/projects/">registered project</a> in Launchpad:
12 </p>10 </p>
13
14 <ul tal:define="related_projects view/related_projects">11 <ul tal:define="related_projects view/related_projects">
15 <li tal:repeat="project related_projects">12 <li tal:repeat="project related_projects">
16 <a tal:replace="structure project/fmt:link" />13 <a tal:replace="structure project/fmt:link" />
@@ -19,5 +16,4 @@
19 <i>There are no projects linked to this bug tracker.</i>16 <i>There are no projects linked to this bug tracker.</i>
20 </li>17 </li>
21 </ul>18 </ul>
22
23</div>19</div>
2420
=== added file 'lib/lp/bugs/templates/bugtracker-portlet-watches.pt'
--- lib/lp/bugs/templates/bugtracker-portlet-watches.pt 1970-01-01 00:00:00 +0000
+++ lib/lp/bugs/templates/bugtracker-portlet-watches.pt 2009-09-01 15:15:00 +0000
@@ -0,0 +1,54 @@
1<div
2 xmlns:tal="http://xml.zope.org/namespaces/tal"
3 xmlns:metal="http://xml.zope.org/namespaces/metal"
4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5 class="portlet" id="portlet-watches">
6 <h2>Bug watches</h2>
7 <tal:navigation
8 replace="structure view/batchnav/@@+navigation-links-upper" />
9 <tal:block define="watches view/batchnav/batch">
10 <table class="sortable listing" id="latestwatches">
11 <thead>
12 <tr>
13 <th>Launchpad bug</th>
14 <th>Remote bug</th>
15 <th>Status</th>
16 </tr>
17 </thead>
18 <tbody>
19 <tal:watches repeat="watch watches">
20 <tr tal:define="show watch/bug/required:launchpad.View">
21 <tal:hide-watch-details condition="not:show">
22 <td>
23 <img alt="" src="/@@/bug" />
24 #<span tal:replace="watch/bug/id">34</span>:
25 <em>(Private)</em>
26 </td>
27 <td><em>-</em></td>
28 <td></td>
29 </tal:hide-watch-details>
30 <tal:show-watch-details condition="show">
31 <td>
32 <img alt="" src="/@@/bug" />
33 <a href="#" tal:attributes="href watch/bug/fmt:url">
34 #<span tal:replace="watch/bug/id">34</span>:
35 <span tal:replace="watch/bug/title">
36 Launchpad Bug Title
37 </span>
38 </a>
39 </td>
40 <td>
41 <a tal:replace="structure watch/fmt:external-link-short">
42 1234
43 </a>
44 </td>
45 <td><tal:status tal:replace="watch/remotestatus"/></td>
46 </tal:show-watch-details>
47 </tr>
48 </tal:watches>
49 </tbody>
50 </table>
51 </tal:block>
52 <tal:navigation
53 replace="structure view/batchnav/@@+navigation-links-lower" />
54</div>
055
=== modified file 'lib/lp/bugs/templates/bugtrackers-index.pt'
--- lib/lp/bugs/templates/bugtrackers-index.pt 2009-09-01 09:53:09 +0000
+++ lib/lp/bugs/templates/bugtrackers-index.pt 2009-09-01 16:23:56 +0000
@@ -69,11 +69,6 @@
69 shown in Launchpad, and Launchpad subscribers are notified when69 shown in Launchpad, and Launchpad subscribers are notified when
70 the external status changes.70 the external status changes.
71 </p>71 </p>
72 <p tal:define="link context/menu:context/newbugtracker"
73 tal:content="structure link/render"
74 tal:condition="link/enabled">
75 Add a new bug tracker
76 </p>
77 <tal:table define="id string:trackers;72 <tal:table define="id string:trackers;
78 trackers view/active_bug_trackers">73 trackers view/active_bug_trackers">
79 <metal:table use-macro="template/macros/tracker-table" />74 <metal:table use-macro="template/macros/tracker-table" />
8075
=== modified file 'lib/lp/bugs/templates/remotebug-index.pt'
--- lib/lp/bugs/templates/remotebug-index.pt 2009-08-28 15:43:29 +0000
+++ lib/lp/bugs/templates/remotebug-index.pt 2009-09-01 16:45:43 +0000
@@ -3,7 +3,7 @@
3 xmlns:tal="http://xml.zope.org/namespaces/tal"3 xmlns:tal="http://xml.zope.org/namespaces/tal"
4 xmlns:metal="http://xml.zope.org/namespaces/metal"4 xmlns:metal="http://xml.zope.org/namespaces/metal"
5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
6 metal:use-macro="view/macro:page/main_side"6 metal:use-macro="view/macro:page/main_only"
7 i18n:domain="launchpad">7 i18n:domain="launchpad">
88
9 <metal:heading fill-slot="heading">9 <metal:heading fill-slot="heading">
@@ -16,7 +16,6 @@
1616
17 <div metal:fill-slot="main">17 <div metal:fill-slot="main">
18 <div class="top-portlet">18 <div class="top-portlet">
19 <h2>Is watched by...</h2>
20 <p>19 <p>
21 The following bugs in Launchpad are watching bug #<span20 The following bugs in Launchpad are watching bug #<span
22 tal:replace="context/remotebug">1234</span> in <span21 tal:replace="context/remotebug">1234</span> in <span
@@ -25,26 +24,20 @@
25 using &ldquo;Also affects project&rdquo; or &ldquo;Also24 using &ldquo;Also affects project&rdquo; or &ldquo;Also
26 affects distribution&rdquo; on the bug page.25 affects distribution&rdquo; on the bug page.
27 </p>26 </p>
28 <table class="listing" id="watchedbugs">27 <ul id="watchedbugs">
29 <thead>28 <tal:bugs repeat="bug context/bugs">
30 <tr>29 <li tal:define="visible bug/required:launchpad.View">
31 <th>Bug</th>30 <tal:visible condition="visible">
32 </tr>31 <a tal:replace="structure bug/fmt:link" />
33 </thead>32 </tal:visible>
34 <tbody>33 <tal:hidden condition="not:visible">
35 <tal:bugs tal:repeat="bug context/bugs">34 <span class="sprite bug">
36 <tr tal:define="visible bug/required:launchpad.View">35 Bug #<span tal:replace="bug/id" />: <em>(Private)</em>
37 <td tal:condition="visible">36 </span>
38 <a class="sprite bug"37 </tal:hidden>
39 tal:attributes="href bug/fmt:url"38 </li>
40 tal:content="string:#${bug/id}: ${bug/title}" />39 </tal:bugs>
41 </td>40 </ul>
42 <td tal:condition="not:visible"
43 tal:content="string:#${bug/id}: Private bug" />
44 </tr>
45 </tal:bugs>
46 </tbody>
47 </table>
48 </div>41 </div>
49 </div>42 </div>
5043
Revision history for this message
Michael Nelson (michael.nelson) wrote :
Download full text (4.4 KiB)

> On Tue, 01 Sep 2009 11:43:19 -0000
> Michael Nelson <email address hidden> wrote:
>
> > Review: Needs Fixing ui
> > > To walk through the UI, try:
> >
> > Thanks for providing these walk-throughs... much easier to review!
> > I'll start doing that too. And sorry for the two 'needs fixing'
> > reviews! The pages really do look great (we initially tried to
> > re-use our soyuz context portlets in the same way), but afaik, it's
> > left-over from 1.0 (or maybe I'm confused at that point - I wasn't
> > around then), but it's not meant to be in the 3.0 side-bar.
>
> No worries about the needs-fixing. They need fixing! :)
>
> >
> > >
> > > * Go to the bug trackers page (for IBugTrackerSet) at
> > > <https://bugs.launchpad.dev/bugs/bugtrackers>,
> > >
> > > * There's nothing new in this page for this branch, so just click on
> > > "This Mozilla.prg Bug Tracker" to see its overview page,
> > >
> > > * Look at the portlets. The top portlet replicates some of the info
> > > that's in the page, but it is used elsewhere in Launchpad so it's
> > > useful to keep.
> >
> > See comments on the first MP. I think it's really 1.0 templates
> > trying to be forced into the 3.0 mold (I tried the same thing with
> > some soyuz pages and got rejected ;) ).
>
> Yes, I've removed all the side portlets from all of the bug tracker
> pages; they don't make sense anywhere. The navigation menu for the bug
> tracker index page remains.

Looks good. I just noticed that you removed the colons from the dt's in the details portlet. I have no idea what is correct, but I usually just do what registry has done (ie. https://launchpad.dev/firefox ). Up to you.

>
> >
> > >
> > > * Click "Change details",
> > >
> > > * This is one place where the details portlet is useful.
> >
> > Well, not really - the only extra information presented in the
> > portlet is not really relevant to the person editing the watch?
> > Otherwise it's just duplicated info, and as mentioned in the
> > previous MP, afaik, isn't the type of content that is meant to go in
> > the side portlet. I'd recommend using main_only for this template,
> > you might even be able to get rid of the template and use
> > generic-edit.pt?
>
> I'd not heard of generic-edit before; it'll be handy for the
> future. However, I don't think it'll be suitable here because the edit
> page has some blurb at the beginning, including an explanation of why
> a particular bug tracker cannot be deleted (which is not static).

Sure - I don't mind either way, but just note that there is an extra_info slot on launchpad-form.pt (that is used by generic-edit.pt).

>
> >
> > >
> > > * Use the new cancel link to return to the previous page,
> >
> > Great!
> >
> > >
> > > * Notice the new h1 title and h2 "Summary" heading,
> >
> > Great! Note that both of these above two points will happen
> > automatically with generic-edit.
> >
> > >
> > > * Append /42 to the URL and see the remote bug index page, including
> > > the h2 "Is watched by..." and the new text. I think the text is
> > > good, but the heading was a tough one. I'm simply still not sure
> > > exactly how to use the heading slot.
> >
> >
> ...

Read more...

review: Approve (ui)
Revision history for this message
Gavin Panella (allenap) wrote :

On Wed, 02 Sep 2009 07:30:40 -0000
Michael Nelson <email address hidden> wrote:

...
> I just noticed that you removed the colons from the dt's in the
> details portlet. I have no idea what is correct, but I usually just
> do what registry has done (ie. https://launchpad.dev/firefox ). Up
> to you.

Heh, I thought I was being clever! I've added them back in.

...
> > I'd not heard of generic-edit before; it'll be handy for the
> > future. However, I don't think it'll be suitable here because the edit
> > page has some blurb at the beginning, including an explanation of why
> > a particular bug tracker cannot be deleted (which is not static).
>
> Sure - I don't mind either way, but just note that there is an
> extra_info slot on launchpad-form.pt (that is used by
> generic-edit.pt).

Is there a way to define a slot without requiring a template for this
view anyway?

Revision history for this message
Michael Nelson (michael.nelson) wrote :

> On Wed, 02 Sep 2009 07:30:40 -0000
> Michael Nelson <email address hidden> wrote:
>
> ...
> > I just noticed that you removed the colons from the dt's in the
> > details portlet. I have no idea what is correct, but I usually just
> > do what registry has done (ie. https://launchpad.dev/firefox ). Up
> > to you.
>
> Heh, I thought I was being clever! I've added them back in.
>
> ...
> > > I'd not heard of generic-edit before; it'll be handy for the
> > > future. However, I don't think it'll be suitable here because the edit
> > > page has some blurb at the beginning, including an explanation of why
> > > a particular bug tracker cannot be deleted (which is not static).
> >
> > Sure - I don't mind either way, but just note that there is an
> > extra_info slot on launchpad-form.pt (that is used by
> > generic-edit.pt).
>
> Is there a way to define a slot without requiring a template for this
> view anyway?

Erm, good point. I was getting confused - so what I've seen others doing is creating a template that is basically like generic edit, but just fills that slot. For example, look at lp/registry/templates/milestone-edit.pt (ignoring the head_epilogue section there).

Again, I think what you've done is fine - it was just something to be aware of.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'lib/canonical/launchpad/testing/pages.py'
--- lib/canonical/launchpad/testing/pages.py 2009-08-27 19:55:58 +0000
+++ lib/canonical/launchpad/testing/pages.py 2009-09-01 09:54:54 +0000
@@ -258,7 +258,8 @@
258 for col_num, item in enumerate(row.findAll('td')):258 for col_num, item in enumerate(row.findAll('td')):
259 if columns is None or col_num in columns:259 if columns is None or col_num in columns:
260 row_content.append(extract_text(item))260 row_content.append(extract_text(item))
261 print sep.join(row_content)261 if len(row_content) > 0:
262 print sep.join(row_content)
262263
263def print_radio_button_field(content, name):264def print_radio_button_field(content, name):
264 """Find the input called field.name, and print a friendly representation.265 """Find the input called field.name, and print a friendly representation.
265266
=== modified file 'lib/lp/bugs/browser/bugtracker.py'
--- lib/lp/bugs/browser/bugtracker.py 2009-08-25 16:40:03 +0000
+++ lib/lp/bugs/browser/bugtracker.py 2009-08-28 14:09:24 +0000
@@ -353,6 +353,10 @@
353 # Go back to the bug tracker listing.353 # Go back to the bug tracker listing.
354 self.next_url = canonical_url(getUtility(IBugTrackerSet))354 self.next_url = canonical_url(getUtility(IBugTrackerSet))
355355
356 @property
357 def cancel_url(self):
358 return canonical_url(self.context)
359
356360
357class BugTrackerNavigation(Navigation):361class BugTrackerNavigation(Navigation):
358362
359363
=== modified file 'lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt'
--- lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt 2009-08-12 13:34:48 +0000
+++ lib/lp/bugs/stories/bugtracker/xx-bugtracker-remote-bug.txt 2009-08-28 15:43:29 +0000
@@ -12,17 +12,21 @@
12then a list of the relevant Launchpad bugs:12then a list of the relevant Launchpad bugs:
1313
14 >>> browser.open('http://launchpad.dev/bugs/bugtrackers/mozilla.org/42')14 >>> browser.open('http://launchpad.dev/bugs/bugtrackers/mozilla.org/42')
15 >>> print browser.contents15
16 <!DOCTYPE...16 >>> print_location(browser.contents)
17 <title>Remote Bug #42 in The Mozilla.org Bug Tracker</title>17 Hierarchy: Bug trackers > The Mozilla.org Bug Tracker
18 ...18 Tabs:
19 <h1>Remote Bug #42 in The Mozilla.org Bug Tracker</h1>19 * Launchpad Home - http://launchpad.dev/
20 ...20 * Code - http://code.launchpad.dev/
21 <a href=".../bugs/1">#1: Firefox does not support SVG</a>21 * Bugs (selected) - http://bugs.launchpad.dev/
22 ...22 * Blueprints - http://blueprints.launchpad.dev/
23 <a href=".../bugs/2">#2: Blackhole Trash folder</a>23 * Translations - http://translations.launchpad.dev/
24 ...24 * Answers - http://answers.launchpad.dev/
2525 Main heading: Remote Bug #42 in The Mozilla.org Bug Tracker
26
27 >>> print_table(find_tag_by_id(browser.contents, 'watchedbugs'))
28 #1: Firefox does not support SVG
29 #2: Blackhole Trash folder
2630
27If there is only a single bug watching the remote bug, then we skip31If there is only a single bug watching the remote bug, then we skip
28the list page and redirect the user directly to that bug's page:32the list page and redirect the user directly to that bug's page:
@@ -60,46 +64,41 @@
60 >>> browser.url64 >>> browser.url
61 'http://bugs.launchpad.dev/firefox/+bug/1'65 'http://bugs.launchpad.dev/firefox/+bug/1'
6266
63
64List Launchpad bugs watching Mozilla bug 42:67List Launchpad bugs watching Mozilla bug 42:
6568
66 >>> anon_browser.open('http://launchpad.dev/bugs/bugtrackers/mozilla.org/42')69 >>> anon_browser.open(
67 >>> print anon_browser.contents70 ... 'http://launchpad.dev/bugs/bugtrackers/mozilla.org/42')
68 <!DOCTYPE...71
69 ...72 >>> print_location(anon_browser.contents)
70 <title>Remote Bug #42 in The Mozilla.org Bug Tracker</title>73 Hierarchy: Bug trackers > The Mozilla.org Bug Tracker
71 ...74 Tabs:
72 <a href=".../bugs/1">#1: Private Bug</a>75 * Launchpad Home - http://launchpad.dev/
73 ...76 * Code - http://code.launchpad.dev/
74 <a href=".../bugs/2">#2: Blackhole Trash folder</a>77 * Bugs (selected) - http://bugs.launchpad.dev/
75 ...78 * Blueprints - http://blueprints.launchpad.dev/
7679 * Translations - http://translations.launchpad.dev/
80 * Answers - http://answers.launchpad.dev/
81 Main heading: Remote Bug #42 in The Mozilla.org Bug Tracker
82
83 >>> print_table(find_tag_by_id(anon_browser.contents, 'watchedbugs'))
84 #1: Private bug
85 #2: Blackhole Trash folder
7786
78The bug title is still provided if the user can view the private bug:87The bug title is still provided if the user can view the private bug:
7988
80 >>> browser.open('http://launchpad.dev/bugs/bugtrackers/mozilla.org/42')89 >>> browser.open('http://launchpad.dev/bugs/bugtrackers/mozilla.org/42')
81 >>> print browser.contents90 >>> print_table(find_tag_by_id(browser.contents, 'watchedbugs'))
82 <!DOCTYPE...91 #1: Firefox does not support SVG
83 ...92 #2: Blackhole Trash folder
84 <title>Remote Bug #42 in The Mozilla.org Bug Tracker</title>
85 ...
86 <a href=".../bugs/1">#1: Firefox does not support SVG</a>
87 ...
88 <a href=".../bugs/2">#2: Blackhole Trash folder</a>
89 ...
90
9193
92For the case where the private bug is the only one watching the given94For the case where the private bug is the only one watching the given
93remote bug, we don't perform the redirect ahead of time:95remote bug, we don't perform the redirect ahead of time:
9496
95 >>> anon_browser.handleErrors = True97 >>> anon_browser.handleErrors = True
96 >>> anon_browser.open('http://bugs.launchpad.dev/bugs/bugtrackers/mozilla.org/2000')98 >>> anon_browser.open(
97 >>> print anon_browser.contents99 ... 'http://bugs.launchpad.dev/bugs/bugtrackers/mozilla.org/2000')
98 <!DOCTYPE...100 >>> print_feedback_messages(anon_browser.contents)
99 ...To continue, you must log in to Launchpad...101 To continue, you must log in to Launchpad.
100 ...<input type="hidden" name="redirection_url"
101 value="http://bugs.launchpad.dev/bugs/1" />...
102
103102
104Set the bug back to public:103Set the bug back to public:
105104
106105
=== modified file 'lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt'
--- lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt 2009-08-25 15:59:44 +0000
+++ lib/lp/bugs/stories/bugtracker/xx-bugtracker.txt 2009-08-28 14:09:24 +0000
@@ -184,6 +184,11 @@
184 >>> user_browser.getControl(184 >>> user_browser.getControl(
185 ... 'Summary').value = 'This is used to be a test TRAC bug tracker.'185 ... 'Summary').value = 'This is used to be a test TRAC bug tracker.'
186186
187There is a cancel link if we change our mind:
188
189 >>> user_browser.getLink('Cancel').url
190 'http://bugs.launchpad.dev/bugs/bugtrackers/testmantis'
191
187It's not possible to change the base URL to something that another bug192It's not possible to change the base URL to something that another bug
188tracker uses.193tracker uses.
189194
@@ -661,8 +666,8 @@
661 Related projects666 Related projects
662 You can link a registered bug tracker with a registered project in667 You can link a registered bug tracker with a registered project in
663 Launchpad:668 Launchpad:
664 The Mozilla Project669 the Mozilla Project
665 Jokosher Audio Editor670 Jokosher (Unspecified)
666671
667672
668== Info portlet ==673== Info portlet ==
@@ -676,11 +681,10 @@
676 Email bugtracker681 Email bugtracker
677 Location:682 Location:
678 mailto:bugs@example.com683 mailto:bugs@example.com
679 Tracker Type:684 Tracker type:
680 Email Address685 Email Address
681 Number of watches:686 Number of watches:
682 1687 1
683 Contact Details:
684 Creator:688 Creator:
685 Foo Bar689 Foo Bar
686690
@@ -694,3 +698,21 @@
694 Location:698 Location:
695 mailto:&lt;email address hidden&gt;699 mailto:&lt;email address hidden&gt;
696 ...700 ...
701
702If the bug tracker has contact details, they will be shown:
703
704 >>> anon_browser.open(
705 ... 'http://bugs.launchpad.dev/bugs/bugtrackers/gnome-bugzilla')
706 >>> print extract_text(find_portlet(
707 ... anon_browser.contents, 'GnomeGBug GTracker'))
708 GnomeGBug GTracker
709 Location:
710 http://bugzilla.gnome.org/bugs
711 Tracker type:
712 Bugzilla
713 Number of watches:
714 2
715 Contact details:
716 Jeff Waugh, in his pants.
717 Creator:
718 Foo Bar
697719
=== modified file 'lib/lp/bugs/templates/bugtracker-edit.pt'
--- lib/lp/bugs/templates/bugtracker-edit.pt 2009-07-17 17:59:07 +0000
+++ lib/lp/bugs/templates/bugtracker-edit.pt 2009-08-28 13:47:50 +0000
@@ -1,48 +1,35 @@
1<html1<bug-tracker-edit
2 xmlns="http://www.w3.org/1999/xhtml"2 xmlns="http://www.w3.org/1999/xhtml"
3 xmlns:tal="http://xml.zope.org/namespaces/tal"3 xmlns:tal="http://xml.zope.org/namespaces/tal"
4 xmlns:metal="http://xml.zope.org/namespaces/metal"4 xmlns:metal="http://xml.zope.org/namespaces/metal"
5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
6 xml:lang="en"6 metal:use-macro="view/macro:page/main_side"
7 lang="en"7 i18n:domain="malone">
8 dir="ltr"
9 metal:use-macro="context/@@main_template/master"
10 i18n:domain="malone"
11>
12<tal:tag condition="view/update"/>
13 <body>
14 <metal:heading fill-slot="pageheading">
15 <h1>Change bug tracker details</h1>
16 </metal:heading>
178
18<metal:leftportlets fill-slot="portlets_one">9 <div metal:fill-slot="side">
19 <div tal:replace="structure context/@@+portlet-details" />10 <div tal:replace="structure context/@@+portlet-details" />
20</metal:leftportlets>11 </div>
2112
22 <div metal:fill-slot="main">13 <div metal:fill-slot="main">
2314 <h1>Change bug tracker details</h1>
24 <div metal:use-macro="context/@@launchpad_form/form">15 <div class="top-portlet">
25
26 <metal:extra-info fill-slot="extra_info">
27 <div id="bugtracker-delete-not-possible-reasons"16 <div id="bugtracker-delete-not-possible-reasons"
28 tal:define="reasons view/delete_not_possible_reasons"17 tal:define="reasons view/delete_not_possible_reasons"
29 tal:condition="reasons">18 tal:condition="reasons">
30 <p>19 <p>
31 Please note, this bug tracker cannot be deleted because:20 Please note, this bug tracker cannot be deleted because:
32 </p>21 </p>
33 <ul>22 <ol>
34 <li tal:repeat="reason reasons" tal:content="reason" />23 <li tal:repeat="reason reasons" tal:content="reason" />
35 </ul>24 </ol>
36 </div>25 </div>
37
38 <p>26 <p>
39 If you need to change the type of bug tracker, please ask for27 If you need to change the type of bug tracker, please ask for
40 admin support on #launchpad (see the bottom of the page for details).28 admin support on #launchpad (see the bottom of the page for
29 details).
41 </p>30 </p>
42 </metal:extra-info>31 <div metal:use-macro="context/@@launchpad_form/form" />
4332 </div>
44 </div>33 </div>
4534
46</div>35</bug-tracker-edit>
47</body>
48</html>
4936
=== modified file 'lib/lp/bugs/templates/bugtracker-index.pt'
--- lib/lp/bugs/templates/bugtracker-index.pt 2009-08-28 12:57:41 +0000
+++ lib/lp/bugs/templates/bugtracker-index.pt 2009-08-28 13:42:10 +0000
@@ -7,10 +7,7 @@
7 i18n:domain="malone">7 i18n:domain="malone">
88
9 <metal:heading fill-slot="heading">9 <metal:heading fill-slot="heading">
10 <h1>10 <h1 tal:content="context/title" />
11 <tal:tracker replace="context/title">Gnome Bugzilla</tal:tracker>
12 overview
13 </h1>
14 </metal:heading>11 </metal:heading>
1512
16 <metal:side fill-slot="side">13 <metal:side fill-slot="side">
@@ -67,6 +64,12 @@
6764
68 <div metal:fill-slot="main">65 <div metal:fill-slot="main">
69 <div class="top-portlet">66 <div class="top-portlet">
67 <h2>Summary</h2>
68 <p tal:content="context/summary">
69 $BugTracker.summary goes here. This should be quite short,
70 just a single paragraph of text really, giving the BugTracker
71 highlights.
72 </p>
70 <p tal:condition="not: context/active" id="inactive-message">73 <p tal:condition="not: context/active" id="inactive-message">
71 <strong>74 <strong>
72 Bug watch updates for <tal:bugtracker75 Bug watch updates for <tal:bugtracker
@@ -74,12 +77,6 @@
74 </strong>77 </strong>
75 </p>78 </p>
7679
77 <p tal:content="context/summary">
78 $BugTracker.summary goes here. This should be quite short,
79 just a single paragraph of text really, giving the BugTracker
80 highlights.
81 </p>
82
83 <h2>Location</h2>80 <h2>Location</h2>
84 <ul id="bugtracker-urls">81 <ul id="bugtracker-urls">
85 <li>82 <li>
8683
=== modified file 'lib/lp/bugs/templates/bugtracker-portlet-details.pt'
--- lib/lp/bugs/templates/bugtracker-portlet-details.pt 2009-07-17 17:59:07 +0000
+++ lib/lp/bugs/templates/bugtracker-portlet-details.pt 2009-08-28 14:00:23 +0000
@@ -3,29 +3,25 @@
3 xmlns:metal="http://xml.zope.org/namespaces/metal"3 xmlns:metal="http://xml.zope.org/namespaces/metal"
4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"4 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5 class="portlet" id="portlet-details">5 class="portlet" id="portlet-details">
6 <h2 tal:content="context/title">bugtracker title</h2>6
77 <h2 tal:content="context/title">bugtracker title</h2>
8 <div class="portletBody">8
9 <div class="portletContent">9 <dl>
1010 <dt>Location:</dt>
11 <b>Location:</b><br />11 <dd>
12 <img alt="" src="/@@/link" />12 <img alt="" src="/@@/link" />
13 <a tal:replace="structure context/fmt:external-link" /><br />13 <a tal:replace="structure context/fmt:external-link" />
1414 </dd>
15 <b>Tracker Type:</b>15 <dt>Tracker type:</dt>
16 <span tal:replace="context/bugtrackertype/title">BugZilla</span>16 <dd tal:content="context/bugtrackertype/title" />
17 <br />17 <dt>Number of watches:</dt>
1818 <dd tal:content="context/watches/count" />
19 <b>Number of watches:</b>19 <tal:contact-details condition="context/contactdetails">
20 <span tal:replace="context/watches/count" /><br />20 <dt>Contact details:</dt>
2121 <dd tal:content="context/contactdetails" />
22 <b>Contact Details:</b><br />22 </tal:contact-details>
23 <span tal:replace="context/contactdetails">contact details go here23 <dt>Creator:</dt>
24 in a long mess</span><br />24 <dd tal:content="structure context/owner/fmt:link" />
2525 </dl>
26 <b>Creator:</b>26
27 <a tal:replace="structure context/owner/fmt:link">ownername</a><br />
28
29 </div>
30 </div>
31</div>27</div>
3228
=== modified file 'lib/lp/bugs/templates/bugtracker-portlet-projects.pt'
--- lib/lp/bugs/templates/bugtracker-portlet-projects.pt 2009-07-17 17:59:07 +0000
+++ lib/lp/bugs/templates/bugtracker-portlet-projects.pt 2009-08-28 13:51:06 +0000
@@ -6,21 +6,18 @@
66
7 <h2>Related projects</h2>7 <h2>Related projects</h2>
88
9 <div class="portletBody portletContent">9 <p>
1010 You can link a registered bug tracker with a <a
11 You can link a registered bug tracker with a11 href="/projects/">registered project</a> in Launchpad:
12 <a href="/projects/">registered project</a> in Launchpad:12 </p>
1313
14 <ul tal:define="related_projects view/related_projects">14 <ul tal:define="related_projects view/related_projects">
15 <li tal:repeat="project related_projects"15 <li tal:repeat="project related_projects">
16 class="info">16 <a tal:replace="structure project/fmt:link" />
17 <a tal:attributes="href project/fmt:url"17 </li>
18 tal:content="project/title">The Mozilla Project</a>18 <li tal:condition="not: related_projects">
19 </li>19 <i>There are no projects linked to this bug tracker.</i>
20 <li tal:condition="not: related_projects">20 </li>
21 <i>There are no projects linked to this bug tracker.</i>21 </ul>
22 </li>
23 </ul>
24 </div>
2522
26</div>23</div>
2724
=== modified file 'lib/lp/bugs/templates/remotebug-index.pt'
--- lib/lp/bugs/templates/remotebug-index.pt 2009-07-17 17:59:07 +0000
+++ lib/lp/bugs/templates/remotebug-index.pt 2009-08-28 15:43:29 +0000
@@ -1,57 +1,51 @@
1<html1<bug-tracker-remote-bug-index
2 xmlns="http://www.w3.org/1999/xhtml"2 xmlns="http://www.w3.org/1999/xhtml"
3 xmlns:tal="http://xml.zope.org/namespaces/tal"3 xmlns:tal="http://xml.zope.org/namespaces/tal"
4 xmlns:metal="http://xml.zope.org/namespaces/metal"4 xmlns:metal="http://xml.zope.org/namespaces/metal"
5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
6 xml:lang="en"6 metal:use-macro="view/macro:page/main_side"
7 lang="en"7 i18n:domain="launchpad">
8 dir="ltr"8
9 metal:use-macro="context/@@main_template/master"9 <metal:heading fill-slot="heading">
10 i18n:domain="launchpad"10 <h1 tal:content="context/title" />
11>11 </metal:heading>
12 <body>12
13 <metal:heading fill-slot="pageheading">13 <metal:leftportlets fill-slot="side">
14 <h1 tal:content="context/title">Bug #123 in bugzilla.gnome.org</h1>
15 </metal:heading>
16
17<metal:leftportlets fill-slot="portlets_one">
18 <div tal:replace="structure context/bugtracker/@@+portlet-details" />14 <div tal:replace="structure context/bugtracker/@@+portlet-details" />
19</metal:leftportlets>15 </metal:leftportlets>
2016
21<div metal:fill-slot="main">17 <div metal:fill-slot="main">
2218 <div class="top-portlet">
23 <p>These bugs in Launchpad are watching19 <h2>Is watched by...</h2>
24 bug #<span tal:replace="context/remotebug">1234</span>20 <p>
25 in <span tal:replace="context/bugtracker/title">some bugtracker</span>.21 The following bugs in Launchpad are watching bug #<span
26 You can make other Launchpad bugs watch this remote bug using the22 tal:replace="context/remotebug">1234</span> in <span
27 "Link to other bugtracker" link.</p>23 tal:replace="context/bugtracker/title">some bugtracker</span>.
2824 You can make other Launchpad bugs watch this remote bug by
29 <table class="listing" id="watchedbugs">25 using &ldquo;Also affects project&rdquo; or &ldquo;Also
30 <thead>26 affects distribution&rdquo; on the bug page.
31 <tr>27 </p>
32 <th>Bug</th>28 <table class="listing" id="watchedbugs">
33 </tr>29 <thead>
34 </thead>30 <tr>
35 <tbody>31 <th>Bug</th>
36 <tr tal:repeat="bug context/bugs">32 </tr>
37 <td>33 </thead>
38 <img alt="" src="/@@/bug" />34 <tbody>
39 <a href="#" tal:attributes="href bug/fmt:url"35 <tal:bugs tal:repeat="bug context/bugs">
40 ><span tal:replace="string:#${bug/id}: ${bug/title}"36 <tr tal:define="visible bug/required:launchpad.View">
41 tal:condition="bug/required:launchpad.View">37 <td tal:condition="visible">
42 #42: Bug Title38 <a class="sprite bug"
43 </span39 tal:attributes="href bug/fmt:url"
44 ><span tal:replace="string:#${bug/id}: Private Bug"40 tal:content="string:#${bug/id}: ${bug/title}" />
45 tal:condition="not:bug/required:launchpad.View">41 </td>
46 #42: Private Bug42 <td tal:condition="not:visible"
47 </span></a>43 tal:content="string:#${bug/id}: Private bug" />
48 </td>44 </tr>
49 </tr>45 </tal:bugs>
50 </tbody>46 </tbody>
51 </table>47 </table>
5248 </div>
53</div>49 </div>
5450
55</body>51</bug-tracker-remote-bug-index>
56</html>
57

Subscribers

People subscribed via source and target branches

to all changes: