From cc20ecfa1b8c151690e8d12c8ad5c544fa1a4a5a Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Thu, 18 Jul 2013 15:07:57 +0800 Subject: Bug 804708: Add a 'Review' extension to customise the review flag for Mozilla's workflow (make requestee/reviewer mandatory, provide review suggestions, etc) --- extensions/FlagDefaultRequestee/Extension.pm | 16 ++++++++++------ .../en/default/hook/global/user-error-errors.html.tmpl | 13 +++++++++++++ 2 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 extensions/FlagDefaultRequestee/template/en/default/hook/global/user-error-errors.html.tmpl (limited to 'extensions/FlagDefaultRequestee') diff --git a/extensions/FlagDefaultRequestee/Extension.pm b/extensions/FlagDefaultRequestee/Extension.pm index b444bce49..9c15f741a 100644 --- a/extensions/FlagDefaultRequestee/Extension.pm +++ b/extensions/FlagDefaultRequestee/Extension.pm @@ -10,6 +10,7 @@ package Bugzilla::Extension::FlagDefaultRequestee; use strict; use base qw(Bugzilla::Extension); +use Bugzilla::Error; use Bugzilla::FlagType; use Bugzilla::User; @@ -94,29 +95,32 @@ sub template_before_process { sub flagtype_end_of_create { my ($self, $args) = @_; - _set_default_requestee($args->{id}); + _set_default_requestee($args->{type}); } sub flagtype_end_of_update { my ($self, $args) = @_; - _set_default_requestee($args->{id}); + _set_default_requestee($args->{type}); } sub _set_default_requestee { - my $type_id = shift; - my $input = Bugzilla->input_params; - my $dbh = Bugzilla->dbh; + my $type = shift; + my $input = Bugzilla->input_params; + my $dbh = Bugzilla->dbh; my $requestee_login = $input->{'default_requestee'}; my $requestee_id = undef; if ($requestee_login) { + if ($type->name eq 'review') { + ThrowUserError("flag_default_requestee_review"); + } my $requestee = Bugzilla::User->check($requestee_login); $requestee_id = $requestee->id; } $dbh->do("UPDATE flagtypes SET default_requestee = ? WHERE id = ?", - undef, $requestee_id, $type_id); + undef, $requestee_id, $type->id); } ################## diff --git a/extensions/FlagDefaultRequestee/template/en/default/hook/global/user-error-errors.html.tmpl b/extensions/FlagDefaultRequestee/template/en/default/hook/global/user-error-errors.html.tmpl new file mode 100644 index 000000000..3fbd0458c --- /dev/null +++ b/extensions/FlagDefaultRequestee/template/en/default/hook/global/user-error-errors.html.tmpl @@ -0,0 +1,13 @@ +[%# 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. + #%] + +[% IF error == "flag_default_requestee_review" %] + [% title = "Review flag not supported" %] + You cannot use the 'Default Requestee' field for the review flag. + Instead set the 'Suggested Reviewers' on the Product or Component edit forms. +[% END %] -- cgit v1.2.3-24-g4f1b