diff options
-rw-r--r-- | .htaccess | 1 | ||||
-rw-r--r-- | extensions/BMO/Extension.pm | 15 | ||||
-rw-r--r-- | extensions/BMO/template/en/default/pages/triage_request.html.tmpl | 76 |
3 files changed, 92 insertions, 0 deletions
@@ -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 %] |