From 7f0ba708827dec5bb77222405009f1771e43655a Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Thu, 31 Jul 2008 02:47:25 +0000 Subject: Bug 313122: Implement Product->create, $product->update and $product->remove_from_db, and make editproducts.cgi use them - Patch by Frédéric Buclin r=mkanat a=LpSolit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/products/confirm-delete.html.tmpl | 28 ++----- .../en/default/admin/products/create.html.tmpl | 2 - template/en/default/admin/products/edit.html.tmpl | 5 +- .../en/default/admin/products/footer.html.tmpl | 4 +- template/en/default/admin/products/list.html.tmpl | 7 +- .../en/default/admin/products/updated.html.tmpl | 93 ++++++++-------------- 6 files changed, 44 insertions(+), 95 deletions(-) (limited to 'template/en/default/admin/products') diff --git a/template/en/default/admin/products/confirm-delete.html.tmpl b/template/en/default/admin/products/confirm-delete.html.tmpl index 7667d70e5..43ebf8a81 100644 --- a/template/en/default/admin/products/confirm-delete.html.tmpl +++ b/template/en/default/admin/products/confirm-delete.html.tmpl @@ -31,14 +31,6 @@ style_urls = ['skins/standard/admin.css'] %] -[% IF classification %] - [% classification_url_part = BLOCK %]&classification= - [%- classification.name FILTER url_quote %] - [%- END %] -[% ELSE %] - [% classification_url_part = "" %] -[% END %] - @@ -66,8 +58,7 @@ @@ -113,8 +104,7 @@
Field
Product: - + [% product.name FILTER html %]
[% IF product.components.size > 0 %] - Components: @@ -148,8 +138,7 @@
[% IF product.versions.size > 0 %] - + Versions: [% ELSE %] @@ -172,8 +161,7 @@
[% IF product.milestones.size > 0 %] - + Milestones: [% ELSE %] @@ -196,10 +184,8 @@ [% terms.Bugs %]: [% IF product.bug_count %] - + [% product.bug_count FILTER html %] [% ELSE %] @@ -264,8 +250,6 @@ - [% END %] diff --git a/template/en/default/admin/products/create.html.tmpl b/template/en/default/admin/products/create.html.tmpl index e1cd38140..49c4ca71f 100644 --- a/template/en/default/admin/products/create.html.tmpl +++ b/template/en/default/admin/products/create.html.tmpl @@ -53,8 +53,6 @@
- - + [%- product.name FILTER url_quote %]"> Edit Group Access Controls: @@ -139,8 +138,6 @@ versions: value="[% product.name FILTER html %]"> - diff --git a/template/en/default/admin/products/footer.html.tmpl b/template/en/default/admin/products/footer.html.tmpl index 4b8fe053b..c35551748 100644 --- a/template/en/default/admin/products/footer.html.tmpl +++ b/template/en/default/admin/products/footer.html.tmpl @@ -61,9 +61,7 @@ Edit product + href="editproducts.cgi?action=edit&product=[% product.name FILTER url_quote %]"> '[% product.name FILTER html %]'. [% END %] diff --git a/template/en/default/admin/products/list.html.tmpl b/template/en/default/admin/products/list.html.tmpl index 3f1576913..b82a6a5b0 100644 --- a/template/en/default/admin/products/list.html.tmpl +++ b/template/en/default/admin/products/list.html.tmpl @@ -39,14 +39,13 @@ [% edit_contentlink = BLOCK %] editproducts.cgi?action=edit&product=%%name%% - [%- classification_url_part %] [% END %] [% delete_contentlink = BLOCK %] editproducts.cgi?action=del&product=%%name%% - [%- classification_url_part %] [% END %] -[% bug_count_contentlink = BLOCK %]buglist.cgi?product=%%name%% - [%- classification_url_part %][% END %] +[% bug_count_contentlink = BLOCK %] + buglist.cgi?product=%%name%% +[% END %] [% columns = [ diff --git a/template/en/default/admin/products/updated.html.tmpl b/template/en/default/admin/products/updated.html.tmpl index 4d5f518ec..b04fa4663 100644 --- a/template/en/default/admin/products/updated.html.tmpl +++ b/template/en/default/admin/products/updated.html.tmpl @@ -16,38 +16,18 @@ # Rights Reserved. # # Contributor(s): Gavin Shelley + # Frédéric Buclin #%] [%# INTERFACE: - # - # old_product : Bugzilla::Product Object; old product. # product : Bugzilla::Product Object; new product. - # # classification: Bugzilla::Classification Object; The product classification (may be empty or missing) - # - # checkvotes: boolean; is true if vote related fields have changed. If so, - # then the following parameters will be specified: - # - # toomanyvotes: list of hashes, each one with an 'id' and a 'name' hash key - # detailing the bug id and the username of users who had too - # many votes for a bug - # - # toomanytotalvotes: list of hashes, each one with an 'id' and a 'name' hash key - # detailing the bug id and the username of users who had - # too many total votes - # - # confirmedbugs: list of bug ids, which were confirmed by votes - # - # changer: string; login of the user making the changes, used for mailing - # bug changes if necessary - # + # changes: hashref with all changes made to the product. Each key is an edited field, + # and its value is an arrayref of the form [old values, new values]. #%] [% IF classification %] - [% classification_url_part = BLOCK %]&classification= - [%- classification.name FILTER url_quote %] - [% END %] - [% classification_text = BLOCK %] + [% classification_text = BLOCK %] of classification '[% classification.name FILTER html %]' [% END %] [% END %] @@ -58,28 +38,24 @@ title = title style_urls = ['skins/standard/admin.css'] %] -[% updated = 0 %] -[% IF product.name != old_product.name %] +[% IF changes.name.defined %]

- Updated product name from '[% old_product.name FILTER html %]' to - [% product.name FILTER html %]. + Updated product name from '[% changes.name.0 FILTER html %]' to + '[% product.name FILTER html %]'.

- [% updated = 1 %] [% END %] -[% IF product.description != old_product.description %] +[% IF changes.description.defined %]

Updated description to:

[% product.description FILTER html_light %]

- [% updated = 1 %] [% END %] -[% IF product.disallow_new != old_product.disallow_new %] +[% IF changes.disallownew.defined %]

Product is now [% IF product.disallow_new %] @@ -89,15 +65,14 @@ [% END %] new [% terms.bugs %].

- [% updated = 1 %] [% END %] -[% IF product.milestone_url != old_product.milestone_url %] +[% IF changes.milestoneurl.defined %]

Updated milestone URL - [% IF old_product.milestone_url != '' %] - from
- [%- old_product.milestone_url FILTER html %] + [% IF changes.milestoneurl.0 != '' %] + from
+ [%- changes.milestoneurl.0 FILTER html %] [% END %] to [% IF product.milestone_url != '' %] @@ -107,45 +82,43 @@ be empty. [% END %]

- [% updated = 1 %] [% END %] -[% IF product.default_milestone != old_product.default_milestone %] +[% IF changes.defaultmilestone.defined %]

- Updated default milestone from '[% old_product.default_milestone FILTER html %]' to + Updated default milestone from '[% changes.defaultmilestone.0 FILTER html %]' to '[% product.default_milestone FILTER html %]'.

- [% updated = 1 %] [% END %] -[% IF product.votes_per_user != old_product.votes_per_user %] +[% IF changes.votesperuser.defined %]

Updated votes per user from - [%+ old_product.votes_per_user FILTER html %] to + [%+ changes.votesperuser.0 FILTER html %] to [%+ product.votes_per_user FILTER html %].

- [% updated = 1 %] + [% checkvotes = 1 %] [% END %] -[% IF product.max_votes_per_bug != old_product.max_votes_per_bug %] +[% IF changes.maxvotesperbug.defined %]

Updated maximum votes per [% terms.bug %] from - [%+ old_product.max_votes_per_bug FILTER html %] to + [%+ changes.maxvotesperbug.0 FILTER html %] to [%+ product.max_votes_per_bug FILTER html %].

- [% updated = 1 %] + [% checkvotes = 1 %] [% END %] -[% IF product.votes_to_confirm != old_product.votes_to_confirm %] +[% IF changes.votestoconfirm.defined %]

Updated number of votes needed to confirm a [% terms.bug %] from - [%+ old_product.votes_to_confirm FILTER html %] to + [%+ changes.votestoconfirm.0 FILTER html %] to [%+ product.votes_to_confirm FILTER html %].

- [% updated = 1 %] + [% checkvotes = 1 %] [% END %] -[% UNLESS updated %] +[% IF !changes.keys.size %]

Nothing changed for product '[% product.name FILTER html %]'.

[% END %] @@ -159,8 +132,8 @@

Checking existing votes in this product for anybody who now has too many votes for [% terms.abug %]...
- [% IF toomanyvotes.size > 0 %] - [% FOREACH detail = toomanyvotes %] + [% IF changes.too_many_votes.size %] + [% FOREACH detail = changes.too_many_votes %] →removed votes for [% terms.bug %] [%- detail.id FILTER html %] from [% detail.name FILTER html %]
@@ -172,8 +145,8 @@

Checking existing votes in this product for anybody who now has too many total votes...
- [% IF toomanytotalvotes.size > 0 %] - [% FOREACH detail = toomanytotalvotes %] + [% IF changes.too_many_total_votes.size %] + [% FOREACH detail = changes.too_many_total_votes %] →removed votes for [% terms.bug %] [%- detail.id FILTER html %] from [% detail.name FILTER html %]
@@ -185,14 +158,14 @@

Checking unconfirmed [% terms.bugs %] in this product for any which now have sufficient votes...
- [% IF confirmedbugs.size > 0 %] - [% FOREACH id = confirmedbugs %] + [% IF changes.confirmed_bugs.size %] + [% FOREACH id = changes.confirmed_bugs %] [%# This is INCLUDED instead of PROCESSED to avoid variables getting overwritten, which happens otherwise %] [% INCLUDE bug/process/results.html.tmpl type = 'votes' - mailrecipients = { 'changer' => changer } + mailrecipients = { 'changer' => user.login } header_done = 1 id = id %] -- cgit v1.2.3-24-g4f1b