From f3f8239ff36c892c0437fc8054a68e07d7ca0020 Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Mon, 7 Apr 2014 14:42:08 +0000 Subject: Bug 990982 - backport bug 539894 to bmo (Use to group products into classifications in the product drop-down on show_bug.cgi) r=glob --- template/en/default/admin/flag-type/edit.html.tmpl | 13 ++-- template/en/default/admin/flag-type/list.html.tmpl | 15 ++-- template/en/default/bug/edit.html.tmpl | 18 +++-- .../en/default/global/product-select.html.tmpl | 85 ++++++++++++++++++++++ template/en/default/list/edit-multiple.html.tmpl | 8 +- template/en/default/reports/duplicates.html.tmpl | 12 ++- template/en/default/reports/old-charts.html.tmpl | 11 ++- template/en/default/request/queue.html.tmpl | 28 ++----- .../en/default/search/search-instant.html.tmpl | 28 ++----- .../en/default/search/search-specific.html.tmpl | 29 ++------ 10 files changed, 143 insertions(+), 104 deletions(-) create mode 100644 template/en/default/global/product-select.html.tmpl (limited to 'template/en/default') diff --git a/template/en/default/admin/flag-type/edit.html.tmpl b/template/en/default/admin/flag-type/edit.html.tmpl index 69dc05bd3..9043db96d 100644 --- a/template/en/default/admin/flag-type/edit.html.tmpl +++ b/template/en/default/admin/flag-type/edit.html.tmpl @@ -108,12 +108,13 @@ Product/Component:
-
+ [% INCLUDE "global/product-select.html.tmpl" + id => "product" + name => "product" + add => "__Any__" + onchange => "selectProduct(this, this.form.component, null, null, '__Any__');" + products => products + %]
- - [% FOREACH prod = products %] - - [% END %] - + [% INCLUDE "global/product-select.html.tmpl" + id => "product" + name => "product" + add => "__Any__" + onchange => "selectProduct(this, this.form.component, null, null, '__Any__');" + products => products + %] diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl index fe6b27bc7..5ea34cc59 100644 --- a/template/en/default/bug/edit.html.tmpl +++ b/template/en/default/bug/edit.html.tmpl @@ -303,11 +303,19 @@ [%# PRODUCT #%] [%#############%] - [% INCLUDE bug/field.html.tmpl - bug = bug, field = bug_fields.product, - override_legal_values = bug.choices.product - desc_url = 'describecomponents.cgi', value = bug.product - editable = bug.check_can_change_field('product', 0, 1) %] + [% PROCESS "bug/field-label.html.tmpl" + field = bug_fields.product + desc_url = 'describecomponents.cgi' + %] + + [% INCLUDE "global/product-select.html.tmpl" + id => "product" + name => "product" + value => bug.product + products => bug.choices.product + isselect => bug.check_can_change_field('product', 0, 1) + %] + [%# Classification is here so that it can be used in value controllers diff --git a/template/en/default/global/product-select.html.tmpl b/template/en/default/global/product-select.html.tmpl new file mode 100644 index 000000000..fb07b7cd4 --- /dev/null +++ b/template/en/default/global/product-select.html.tmpl @@ -0,0 +1,85 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # name: mandatory; field name + # id: optional; field id + # value: optional; default field value/selection + # classes: optional; an array of classes to be added + # onchange: optional; onchange attribute value + # disabled: optional; if true, the field is disabled + # accesskey: optional; accesskey attribute value + # add: optional; prepend menu option for value specified to start of select + # dontchange: optional; prepend menu option for "dontchange" to start of select + # multiple: optional; do multiselect box, value is size (height) of box + # title: optional; extra information to display as a tooltip + # products: optional; an array of custom product names + # isselect: optional; whether the product list should be displayed as a + [% IF add %] + + [% END %] + [% IF dontchange %] + + [% END %] + + [% IF Param('useclassification') %] + [% product_ids = {} %] + [% IF products %] + [% FOREACH p = products %] + [% key = p.id -%] + [% product_ids.$key = p.id -%] + [% END %] + [% END %] + [% FOREACH c = user.get_selectable_classifications %] + [% class_products = [] %] + [% FOREACH p = user.get_selectable_products(c.id) %] + [% NEXT IF (products && !product_ids.exists(p.id)) %] + [% class_products.push(p) %] + [% END %] + [% NEXT UNLESS class_products.size > 0 %] + + [% FOREACH p = class_products %] + + [% END %] + + [% END %] + [% ELSE %] + [% products = user.get_selectable_products UNLESS products %] + [% FOREACH p = products %] + + [% END %] + [% END %] + +[% ELSE %] + [% value.join(', ') FILTER html %] +[% END %] diff --git a/template/en/default/list/edit-multiple.html.tmpl b/template/en/default/list/edit-multiple.html.tmpl index 6a3269dff..d560a9d57 100644 --- a/template/en/default/list/edit-multiple.html.tmpl +++ b/template/en/default/list/edit-multiple.html.tmpl @@ -61,9 +61,11 @@ - [% PROCESS selectmenu menuname = "product" - menuitems = products - property = "name" %] + [% INCLUDE "global/product-select.html.tmpl" + id => "product" + name => "product" + dontchange => dontchange + %] diff --git a/template/en/default/reports/duplicates.html.tmpl b/template/en/default/reports/duplicates.html.tmpl index ff1c271fe..d17e1a094 100644 --- a/template/en/default/reports/duplicates.html.tmpl +++ b/template/en/default/reports/duplicates.html.tmpl @@ -82,13 +82,11 @@ Restrict to products: - + [% INCLUDE "global/product-select.html.tmpl" + id => "product" + name => "product" + multiple => 5 + %] diff --git a/template/en/default/reports/old-charts.html.tmpl b/template/en/default/reports/old-charts.html.tmpl index 4bdc0cffa..2f50b31c6 100644 --- a/template/en/default/reports/old-charts.html.tmpl +++ b/template/en/default/reports/old-charts.html.tmpl @@ -14,7 +14,6 @@ #%] [%# INTERFACE: - # products: an array of product names the user is allowed to view. # datasets: an array of hashes with available statuses and resolutions. # url_image: URL of the generated graph. #%] @@ -37,11 +36,11 @@ Product: - + [% INCLUDE "global/product-select.html.tmpl" + id => "product" + name => "product" + add => "-All-" + %] diff --git a/template/en/default/request/queue.html.tmpl b/template/en/default/request/queue.html.tmpl index 261db0438..9ba8cbc45 100644 --- a/template/en/default/request/queue.html.tmpl +++ b/template/en/default/request/queue.html.tmpl @@ -81,28 +81,12 @@ to some group are shown by default. Product: - + [% INCLUDE "global/product-select.html.tmpl" + id => "product" + name => "product" + add => "Any" + onchange => "selectProduct(this, this.form.component, null, null, 'Any');" + %] Flag: diff --git a/template/en/default/search/search-instant.html.tmpl b/template/en/default/search/search-instant.html.tmpl index 5d75d1996..94cb619d0 100644 --- a/template/en/default/search/search-instant.html.tmpl +++ b/template/en/default/search/search-instant.html.tmpl @@ -41,29 +41,11 @@ YAHOO.bugzilla.instantSearch.setLabels( { - + [% INCLUDE "global/product-select.html.tmpl" + id => "product" + name => "product" + value => default.product.0 + %] diff --git a/template/en/default/search/search-specific.html.tmpl b/template/en/default/search/search-specific.html.tmpl index 7e5de2c4a..ea522a877 100644 --- a/template/en/default/search/search-specific.html.tmpl +++ b/template/en/default/search/search-specific.html.tmpl @@ -67,30 +67,11 @@ for "crash secure SSL flash". - + [% INCLUDE "global/product-select.html.tmpl" + id => "product" + name => "product" + add => "All" + %] -- cgit v1.2.3-24-g4f1b