summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorByron Jones <glob@mozilla.com>2015-08-10 15:21:05 +0200
committerByron Jones <glob@mozilla.com>2015-08-10 15:21:05 +0200
commit7e41532fd90edd907bffc283b39f1c1d3397ab4a (patch)
treed55ffdf88eccbd4a20fb17b0567f8c3553d8ef6a
parent2c5c3580b800128be213964311b4f6c3becb7523 (diff)
downloadbugzilla-7e41532fd90edd907bffc283b39f1c1d3397ab4a.tar.gz
bugzilla-7e41532fd90edd907bffc283b39f1c1d3397ab4a.tar.xz
Bug 1153108 - add page allowing users to grant canconfirm rights onto themselves
-rw-r--r--.htaccess1
-rw-r--r--extensions/BMO/Extension.pm15
-rw-r--r--extensions/BMO/template/en/default/pages/triage_request.html.tmpl76
3 files changed, 92 insertions, 0 deletions
diff --git a/.htaccess b/.htaccess
index 0ebc36584..ab9b053da 100644
--- a/.htaccess
+++ b/.htaccess
@@ -86,6 +86,7 @@ RewriteRule ^form[\.:]webops[\.\-:]request$ enter_bug.cgi?product=Infrastructure
RewriteRule ^form[\.:]data[\.\-:]compliance$ enter_bug.cgi?product=Data+Compliance&format=data-compliance [QSA]
RewriteRule ^form[\.:]third[\.\-:]party$ enter_bug.cgi?product=Marketing&format=third-party-apps [QSA]
RewriteRule ^form[\.:]fsa[\.:]budget$ enter_bug.cgi?product=FSA&format=fsa-budget [QSA]
+RewriteRule ^form[\.:]triage[\.\-]request$ page.cgi?id=triage_request.html [QSA]
RewriteRule ^rest/(.*)$ rest.cgi/$1 [NE]
RewriteRule ^(?:latest|1\.2|1\.3)/(.*)$ extensions/BzAPI/bin/rest.cgi/$1 [NE]
RewriteRule ^bzapi/(.*)$ extensions/BzAPI/bin/rest.cgi/$1 [NE]
diff --git a/extensions/BMO/Extension.pm b/extensions/BMO/Extension.pm
index 34e346a24..a72cc3cab 100644
--- a/extensions/BMO/Extension.pm
+++ b/extensions/BMO/Extension.pm
@@ -227,6 +227,9 @@ sub page_before_template {
elsif ($page eq 'attachment_bounty_form.html') {
bounty_attachment($vars);
}
+ elsif ($page eq 'triage_request.html') {
+ triage_request($vars);
+ }
}
sub bounty_attachment {
@@ -355,6 +358,18 @@ sub parse_bounty_attachment_description {
};
}
+sub triage_request {
+ my ($vars) = @_;
+ my $user = Bugzilla->login(LOGIN_REQUIRED);
+ if (Bugzilla->input_params->{update}) {
+ Bugzilla->set_user(Bugzilla::User->super_user);
+ $user->set_groups({ add => [ 'canconfirm' ] });
+ Bugzilla->set_user($user);
+ $user->update();
+ $vars->{updated} = 1;
+ }
+}
+
sub _get_field_values_sort_key {
my ($field) = @_;
my $dbh = Bugzilla->dbh;
diff --git a/extensions/BMO/template/en/default/pages/triage_request.html.tmpl b/extensions/BMO/template/en/default/pages/triage_request.html.tmpl
new file mode 100644
index 000000000..954ad5a06
--- /dev/null
+++ b/extensions/BMO/template/en/default/pages/triage_request.html.tmpl
@@ -0,0 +1,76 @@
+[%# 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.
+ #%]
+
+[% inline_style = BLOCK %]
+#triage-request {
+ padding: 0 6px;
+}
+#blurb {
+ background: #fff;
+ color: #000;
+ border-radius: 10px;
+ padding: 10px 20px 20px 20px;
+ max-width: 800px;
+}
+[% END %]
+
+[% inline_javascript = BLOCK %]
+[% END %]
+
+[% PROCESS global/header.html.tmpl
+ title = terms.Bug _ " Triage Request"
+ style = inline_style
+ javascript = inline_javascript
+%]
+
+<div id="triage-request">
+
+ <h1>[% terms.Bug %] Triage Request</h1>
+
+ <div id="blurb">
+
+ [% IF user.in_group('canconfirm') %]
+
+ [% UNLESS updated %]
+ <h3>Awesome - You can already triage [% terms.bugs %]</h3>
+ [% END %]
+
+ <p>
+ Thank you.
+ </p>
+ <p>
+ With your help sorting and triaging [% terms.bugs %] Mozilla will be able
+ to ship a better product to hundreds of millions of users that much
+ faster.
+ </p>
+
+ [% ELSE %]
+
+ <p>
+ Triage is the first step in a [% terms.bug %]'s road to resolution; having
+ 'canconfirm' rights gives you the access you'll need to help move that [%
+ terms.bug %] it into the right component, narrow it down and confirm it as
+ "new". This helps Mozilla's engineers learn about it sooner and fix it
+ faster.
+ </p>
+
+ <p>
+ Would you like to add "canconfirm" permissions to your account?
+ </p>
+
+ <form method="post" action="page.cgi">
+ <input type="hidden" name="id" value="triage_request.html">
+ <input type="hidden" name="update" value="1">
+ <input type="submit" value="Yes, I want to help">
+ </form>
+
+ [% END %]
+
+</div>
+
+[% PROCESS global/footer.html.tmpl %]