diff options
Diffstat (limited to 'extensions')
9 files changed, 42 insertions, 347 deletions
diff --git a/extensions/BugModal/template/en/default/bug_modal/edit.html.tmpl b/extensions/BugModal/template/en/default/bug_modal/edit.html.tmpl index 4e740e35d..5d38d8340 100644 --- a/extensions/BugModal/template/en/default/bug_modal/edit.html.tmpl +++ b/extensions/BugModal/template/en/default/bug_modal/edit.html.tmpl @@ -463,17 +463,18 @@ container = 1 hide_on_view = bug.priority == "--" && bug.bug_severity == "normal" help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#priority" - label_for = "priority" %] [% INCLUDE bug_modal/field.html.tmpl field = bug_fields.priority field_type = constants.FIELD_TYPE_SINGLE_SELECT + aria_label = bug_fields.priority.description no_indent = 1 inline = 1 %] [% INCLUDE bug_modal/field.html.tmpl field = bug_fields.bug_severity field_type = constants.FIELD_TYPE_SINGLE_SELECT + aria_label = bug_fields.bug_severity.description inline = 1 %] [% UNLESS cf_hidden_in_product('cf_rank', bug.product, bug.component, bug) %] @@ -497,7 +498,6 @@ label = "Status" hide_on_edit = 1 help = "https://wiki.mozilla.org/BMO/UserGuide/BugStatuses" - label_for = "bug_status" %] [% bug.bug_status FILTER html %] [%+ bug.resolution FILTER html IF bug.resolution %] @@ -549,6 +549,7 @@ prefix = prefix field = bug_fields.bug_status field_type = constants.FIELD_TYPE_SINGLE_SELECT + aria_label = bug_fields.bug_status.description editable = bug.choices.bug_status.size > 1 values = bug.choices.bug_status inline = 1 @@ -559,6 +560,7 @@ prefix = prefix field = bug_fields.resolution field_type = constants.FIELD_TYPE_SINGLE_SELECT + aria_label = bug_fields.resolution.description editable = bug.choices.resolution.size > (bug.resolution == "" ? 0 : 1) values = bug.choices.resolution inline = 1 @@ -838,17 +840,18 @@ hide_on_view = (bug.rep_platform == 'All' && bug.op_sys == 'All') || (bug.rep_platform == 'Unspecified' && bug.op_sys == 'Unspecified') help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#rep_platform" - label_for = "rep_platform" %] [% INCLUDE bug_modal/field.html.tmpl field = bug_fields.rep_platform field_type = constants.FIELD_TYPE_SINGLE_SELECT + aria_label = bug_fields.rep_platform.description inline = 1 no_indent = 1 %] [% INCLUDE bug_modal/field.html.tmpl field = bug_fields.op_sys field_type = constants.FIELD_TYPE_SINGLE_SELECT + aria_label = bug_fields.op_sys.description inline = 1 %] [% WRAPPER bug_modal/field.html.tmpl diff --git a/extensions/BugModal/template/en/default/bug_modal/field.html.tmpl b/extensions/BugModal/template/en/default/bug_modal/field.html.tmpl index 38bde1d01..6726df409 100644 --- a/extensions/BugModal/template/en/default/bug_modal/field.html.tmpl +++ b/extensions/BugModal/template/en/default/bug_modal/field.html.tmpl @@ -11,6 +11,7 @@ # field_type: (const) constants.FIELD_TYPE_* # no_label: (boolean) don't output label # label: (string) field label text (default: field_descs.${$field.name} + # aria_label: (string) invisible aria-label attribute # view_only: (boolean) don't allow editing (default: determined from bug.check_can_change_field) # edit_only: (boolean) always render the edit ui # container: (boolean) output just a label and the content (eg. for multiple fields next to one label) @@ -34,7 +35,6 @@ # class: (string) optional button class # caption: (string) button caption # hidden: (boolean) don't show the button (default: false) - # label_for: (string) optional label for identifier #%] [% @@ -109,19 +109,17 @@ END; [% aria_labelledby_id = "${name}-help-link" %] [% aria_labelledby_html = BLOCK %]aria-labelledby="[% aria_labelledby_id FILTER html %]"[% END %] [% END %] - [%~ IF label_for %] - <label for="[% label_for FILTER html %]"> - [% END %] [%~ label _ ":" FILTER html IF label %] - [%~ IF label_for %] - </label> - [% END ~%] [%~ IF help.defined %] </a> [% END %] </div> [% END %] + [% IF aria_label.defined %] + [% aria_labelledby_html = BLOCK %]aria-label="[% aria_label FILTER html %]"[% END %] + [% END %] + [%# read-only html %] [% UNLESS edit_only %] <div class="[% "value" IF !container %][% " edit-hide" IF editable %][% " container" IF container %]"> diff --git a/extensions/ComponentWatching/web/js/overlay.js b/extensions/ComponentWatching/web/js/overlay.js index c0c540257..622749852 100644 --- a/extensions/ComponentWatching/web/js/overlay.js +++ b/extensions/ComponentWatching/web/js/overlay.js @@ -22,7 +22,12 @@ Bugzilla.ComponentWatching = class ComponentWatching { constructor() { this.buttons = document.querySelectorAll('button.component-watching'); - this.init(); + // Check if the user is logged in and the API key is available. If not, remove the Watch buttons. + if (BUGZILLA.api_token) { + this.init(); + } else { + this.buttons.forEach($button => $button.remove()); + } } /** diff --git a/extensions/OpenGraph/template/en/default/hook/robots-end.txt.tmpl b/extensions/OpenGraph/template/en/default/hook/robots-end.txt.tmpl new file mode 100644 index 000000000..217924001 --- /dev/null +++ b/extensions/OpenGraph/template/en/default/hook/robots-end.txt.tmpl @@ -0,0 +1,4 @@ +[%# comment lines are required to produce line breaks %] +# +Allow: /extensions/OpenGraph/web/ +# diff --git a/extensions/PhabBugz/lib/User.pm b/extensions/PhabBugz/lib/User.pm index 1bf1a842d..da573be37 100644 --- a/extensions/PhabBugz/lib/User.pm +++ b/extensions/PhabBugz/lib/User.pm @@ -135,9 +135,9 @@ sub match { my $phab_users = []; my $result; do { - $result = request( 'user.search', $data ); - if ( exists $result->{result}{data} && @{ $result->{result}{data} } ) { - foreach my $user ( @{ $result->{result}{data} } ) { + $result = request( 'user.search', $data )->{result}; + if ( exists $result->{data} && @{ $result->{data} } ) { + foreach my $user ( @{ $result->{data} } ) { push @$phab_users, $class->new($user); } } diff --git a/extensions/PhabBugz/lib/Util.pm b/extensions/PhabBugz/lib/Util.pm index 091475718..5ad8a5207 100644 --- a/extensions/PhabBugz/lib/Util.pm +++ b/extensions/PhabBugz/lib/Util.pm @@ -267,15 +267,27 @@ sub get_needs_review { }, constraints => { reviewerPHIDs => [$phab_user->phid], - statuses => [qw( needs-review )], + statuses => ["open()"], }, - order => 'newest', + order => 'newest', } ); ThrowCodeError('phabricator_api_error', { reason => 'Malformed Response' }) unless exists $diffs->{result}{data}; - return $diffs->{result}{data}; + my @revisions; + foreach my $revision ( @{ $diffs->{result}{data} } ) { + foreach my $reviewer ( @{ $revision->{attachments}->{reviewers}->{reviewers} } ) { + if ( $reviewer->{reviewerPHID} eq $phab_user->phid + && $reviewer->{status} =~ /^(?:added|blocking)$/ ) + { + push @revisions, $revision; + last; + } + } + } + + return \@revisions; } 1; diff --git a/extensions/REMO/template/en/default/bug/create/comment-remo-it.txt.tmpl b/extensions/REMO/template/en/default/bug/create/comment-remo-it.txt.tmpl deleted file mode 100644 index b95e05184..000000000 --- a/extensions/REMO/template/en/default/bug/create/comment-remo-it.txt.tmpl +++ /dev/null @@ -1,67 +0,0 @@ -[%# 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. - #%] - -[% USE Bugzilla %] -[% cgi = Bugzilla.cgi %] - -Name: -[%+ cgi.param('name') %] - -Mozillians.org Profile: -[%+ cgi.param('mozillian') %] - -Reps Profile: -[%+ cgi.param('reps') || "-" %] - -Community Name: -[%+ cgi.param('community') %] - -[% FOREACH item = cgi.param('items') %] -[% IF item == "apps_email" || item == "domain" || item == "ssl" %] -[% IF item == "apps_email" %] -[% domain_title = domain_title _ ":: Google Apps Emails\n" %] -[% END %] -[% IF item == "domain" %] -[% domain_title = domain_title _ ":: Domain Name\n" %] -[% END %] -[% IF item == "ssl" %] -[% domain_title = domain_title _ ":: SSL\n" %] -[% END %] -[% END %] -[% END %] - -[% FOREACH item = cgi.param('items') %] -[% IF item == "hosting" %] -:: Hosting - -Expected visits per month: -[%+ cgi.param('hosting_visits') %] - -What will run on the hosting: -[%+ cgi.param('hosting_running') %] - -Hosting data: -[%+ cgi.param('hosting_data') || "-" %] - -[% ELSIF (item == "apps_email" || item == "domain" || item == "ssl") - && domain_title %] -[% domain_title FILTER html %] -[% domain_title = "" %] -Domain Name: -[%+ cgi.param('domain_name') %] - -[% ELSIF item == "other" %] -:: Other - -[%+ cgi.param('other_value') %] - -[% END %] -[% END %] - -Comments: -[%+ cgi.param('comments') || "-" %] diff --git a/extensions/REMO/template/en/default/bug/create/create-remo-it.html.tmpl b/extensions/REMO/template/en/default/bug/create/create-remo-it.html.tmpl deleted file mode 100644 index af3db60bc..000000000 --- a/extensions/REMO/template/en/default/bug/create/create-remo-it.html.tmpl +++ /dev/null @@ -1,263 +0,0 @@ -[%# 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. - #%] - -[% PROCESS global/variables.none.tmpl %] - -[% PROCESS global/header.html.tmpl - onload = "init()" - title = "Community IT Request" - style_urls = [ "extensions/REMO/web/styles/moz_reps.css" ] -%] - -[% USE Bugzilla %] -[% mandatory = '<span class="mandatory" title="Required">*</span>' %] - -<script [% script_nonce FILTER none %]> -var Dom = YAHOO.util.Dom; - -function mandatory(elements) { - result = true; - for (i in elements) { - element = elements[i]; - - if (typeof(element) == "object") { - missing = true; - for (j = 0; j < element.length; j++) { - if (element[j].checked) { - missing = false; - break; - } - } - - if (missing) { - Dom.addClass(element[0].name, 'missing'); - } else { - Dom.removeClass(element[0].name, 'missing'); - } - } else { - el = Dom.get(element); - value = el.value.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); - el.value = value; - - if (value == '') { - Dom.addClass(element, 'missing'); - result = false; - } else { - Dom.removeClass(element, 'missing'); - } - } - } - return result; -} - -function submitForm() { - fields = [ 'name', 'mozillian', 'community', document.forms.f.items ]; - if (Dom.get('item_hosting').checked) { - fields.push('hosting_visits'); - fields.push('hosting_running'); - } - if (Dom.get('item_domain').checked - || Dom.get('item_apps_email').checked - || Dom.get('item_ssl').checked - ) { - fields.push('domain_name'); - } - if (Dom.get('item_other').checked) { - fields.push('other_value'); - } - - if (!mandatory(fields)) { - alert('Please enter all the required fields.'); - return false; - } - - Dom.get('short_desc').value = - "IT Request: " + Dom.get('community').value + ' (' + Dom.get('name').value + ')'; - return true; -} - -function setItemVisibility() { - if (Dom.get('item_hosting').checked) { - Dom.removeClass('hosting', 'bz_default_hidden'); - } else { - Dom.addClass('hosting', 'bz_default_hidden'); - } - if (Dom.get('item_domain').checked - || Dom.get('item_apps_email').checked - || Dom.get('item_ssl').checked - ) { - var title = []; - if (Dom.get('item_apps_email').checked) - title.push('Google Apps Email'); - if (Dom.get('item_domain').checked) - title.push('Domain'); - if (Dom.get('item_ssl').checked) - title.push('SSL'); - Dom.get('domain_title').innerHTML = title.join(', '); - Dom.removeClass('domain', 'bz_default_hidden'); - } else { - Dom.addClass('domain', 'bz_default_hidden'); - } - if (Dom.get('item_other').checked) { - Dom.removeClass('other', 'bz_default_hidden'); - } else { - Dom.addClass('other', 'bz_default_hidden'); - } -} - -function init() { - items = document.forms.f.items; - for (i = 0; i < items.length; i++) { - YAHOO.util.Event.on(items[i], 'click', setItemVisibility); - } - setItemVisibility(); -} - -</script> - -<noscript> -<h1>Javascript is required to use this form.</h1> -</noscript> - -<h1>Community IT Request</h1> - -<form method="post" action="post_bug.cgi" id="tmRequestForm" name="f"> -<input type="hidden" name="product" value="Mozilla Reps"> -<input type="hidden" name="component" value="Community IT Requests"> -<input type="hidden" name="bug_severity" value="normal"> -<input type="hidden" name="rep_platform" value="All"> -<input type="hidden" name="priority" value="--"> -<input type="hidden" name="op_sys" value="Other"> -<input type="hidden" name="version" value="unspecified"> -<input type="hidden" name="groups" value="mozilla-reps"> -<input type="hidden" name="format" value="[% format FILTER html %]"> -<input type="hidden" name="comment" id="comment" value=""> -<input type="hidden" name="short_desc" id="short_desc" value=""> -<input type="hidden" name="token" value="[% token FILTER html %]"> - -<table id="reps-form"> - -<tr class="odd"> - <th>Your Name:[% mandatory FILTER none %]</th> - <td><input id="name" name="name" size="40" value="[% user.name FILTER html %]"></td> -</tr> - -<tr class="even"> - <th>Mozillians.org Profile:[% mandatory FILTER none %]</th> - <td><input id="mozillian" name="mozillian" size="40"></td> -</tr> - -<tr class="odd"> - <th>Reps Profile (if applicable):</th> - <td><input id="reps" name="reps" size="40"></td> -</tr> - -<tr class="even"> - <th>Your Community's Name:[% mandatory FILTER none %]</th> - <td><input id="community" name="community" size="40"></td> -</tr> - -<tr class="odd"> - <th> - Items Requesting:[% mandatory FILTER none %] - </th> - <td> - <div id="items"> - <div> - <input type="checkbox" name="items" value="hosting" id="item_hosting"> - <label for="item_hosting">Hosting</label> - </div> - <div> - <input type="checkbox" name="items" value="apps_email" id="item_apps_email"> - <label for="item_apps_email">Google Apps Emails</label> - </div> - <div> - <input type="checkbox" name="items" value="domain" id="item_domain"> - <label for="item_domain">Domain</label> - </div> - <div> - <input type="checkbox" name="items" value="ssl" id="item_ssl"> - <label for="item_ssl">SSL</label> - </div> - <div> - <input type="checkbox" name="items" value="other" id="item_other"> - <label for="item_other">Other</label> - </div> - </div> - </td> -</tr> - -<tbody id="hosting"> -<tr class="even"> - <th colspan="2">Hosting</th> -</tr> -<tr class="odd"> - <th>Expected visits per month:[% mandatory FILTER none %]</th> - <td><input id="hosting_visits" name="hosting_visits" size="40"></td> -</tr> -<tr class="odd"> - <th>What will run on the hosting?:[% mandatory FILTER none %]</th> - <td><textarea id="hosting_running" name="hosting_running" class="small"></textarea></td> -</tr> -<tr class="odd"> - <th>Data:</td> - <td> - Any data we can use to help choose the best solution (traffic graphs etc).<br> - <textarea id="hosting_data" name="hosting_data" class="small"></textarea> - </td> -</tr> -</tbody> - -<tbody id="domain"> -<tr class="even"> - <th colspan="2" id="domain_title">Domain</th> -</tr> -<tr class="odd"> - <th>Domain Name:[% mandatory FILTER none %]</th> - <td><input id="domain_name" name="domain_name" size="40"></td> -</tr> -</tbody> - -<tbody id="other"> -<tr class="even"> - <th colspan="2">Other Item</th> -</tr> -<tr class="odd"> - <th>Other:[% mandatory FILTER none %]</th> - <td><input id="other_value" name="other_value" size="40"></td> -</tr> -</tbody> - -<tr class="even"> - <th colspan="2"> - Other Comments - </th> -</tr> -<tr class="even"> - <td colspan="2"> - Please explain why you'd like the hosting, and anything else this form does not include.<br> - <textarea id="comments" name="comments" rows="4"></textarea> - </td> -</tr> - -<tr class="even"> - <td colspan="2"> - <input id="submit" type="submit" value="Submit" onclick="return submitForm()"> - </td> -</tr> - -<tr class="even"> - <td width="35%"> </td> - <td width="65%"> </td> -</tr> - -</table> - -</form> - -[% PROCESS global/footer.html.tmpl %] diff --git a/extensions/SiteMapIndex/template/en/default/hook/robots-end.txt.tmpl b/extensions/SiteMapIndex/template/en/default/hook/robots-end.txt.tmpl index 818afb151..8805de0aa 100644 --- a/extensions/SiteMapIndex/template/en/default/hook/robots-end.txt.tmpl +++ b/extensions/SiteMapIndex/template/en/default/hook/robots-end.txt.tmpl @@ -1,2 +1,5 @@ +[%# comment lines are required to produce line breaks %] +# Allow: /data/SiteMapIndex/sitemap*.xml.gz Sitemap: [% SITEMAP_URL %] +# |