From: Kohei Yoshino Date: Wed, 21 Aug 2019 00:55:17 +0000 (-0400) Subject: Bug 1344091 - Reorganize the header and modules on modal bug UI X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26e2825844c6b73331b05211ddbf081f6f449a92;p=thirdparty%2Fbugzilla.git Bug 1344091 - Reorganize the header and modules on modal bug UI --- diff --git a/extensions/BMO/template/en/default/hook/bug_modal/edit-custom_field-cf_crash_signature.html.tmpl b/extensions/BMO/template/en/default/hook/bug_modal/edit-custom_field-cf_crash_signature.html.tmpl index 05ef1f980..dd81df395 100644 --- a/extensions/BMO/template/en/default/hook/bug_modal/edit-custom_field-cf_crash_signature.html.tmpl +++ b/extensions/BMO/template/en/default/hook/bug_modal/edit-custom_field-cf_crash_signature.html.tmpl @@ -9,9 +9,10 @@ [% rendered_custom_fields.push('cf_crash_signature'); WRAPPER bug_modal/field.html.tmpl - field = field - field_type = field.type - hide_on_view = bug.${field.name} == "" || bug.${field.name} == "---"; + label = "Signature" + field = bug_fields.cf_crash_signature + field_type = bug_fields.cf_crash_signature.type + hide_on_view = bug.cf_crash_signature == "" || bug.cf_crash_signature == "---"; %] [% IF split_cf_crash_signature.size %] [% FOREACH sig IN split_cf_crash_signature %] diff --git a/extensions/BMO/web/js/edituser_menu.js b/extensions/BMO/web/js/edituser_menu.js index 30d0a5884..ce37615af 100644 --- a/extensions/BMO/web/js/edituser_menu.js +++ b/extensions/BMO/web/js/edituser_menu.js @@ -24,7 +24,7 @@ function show_usermenu(id, email, show_edit, hide_profile) { } ]; if (!hide_profile) { - items.push({ + items.unshift({ name: "Profile", callback: function () { var href = `${BUGZILLA.config.basepath}user_profile?user_id=${id}`; diff --git a/extensions/BMO/web/js/firefox-crash-table.js b/extensions/BMO/web/js/firefox-crash-table.js index b178bfd3b..a9fc85e7c 100644 --- a/extensions/BMO/web/js/firefox-crash-table.js +++ b/extensions/BMO/web/js/firefox-crash-table.js @@ -108,7 +108,7 @@ window.addEventListener('DOMContentLoaded', () => { } let oldWay = false; - let container = document.getElementById("module-details-content"); + let container = document.getElementById("module-crash-data-content"); if (!container) { container = document.getElementById("field_label_cf_crash_signature"); oldWay = true; @@ -331,7 +331,8 @@ window.addEventListener('DOMContentLoaded', () => { divButton.setAttribute("style", "display:none;"); button.setAttribute("type", "button"); button.setAttribute("style", "position:absolute;right:0;top:0"); - button.innerText = "Update status flags"; + button.classList.add("minor"); + button.innerText = "Update Status Flags"; button.addEventListener("click", updateStatusFlags, false); divButton.append(button); rightDiv.append(divButton); @@ -391,7 +392,7 @@ window.addEventListener('DOMContentLoaded', () => { mainDiv.setAttribute("class", "field"); const leftDiv = document.createElement("div"); leftDiv.setAttribute("class", "name"); - leftDiv.innerText = "Crash Data:"; + leftDiv.innerText = "Stats:"; mainDiv.append(leftDiv, rightDiv); container.append(mainDiv); } diff --git a/extensions/BMO/web/styles/bug_modal.css b/extensions/BMO/web/styles/bug_modal.css index c96f37868..6f481d889 100644 --- a/extensions/BMO/web/styles/bug_modal.css +++ b/extensions/BMO/web/styles/bug_modal.css @@ -21,7 +21,8 @@ } .attachment-warning { - padding-left: 4px; + flex: none; + padding: 4px; } .attachment-warning img { diff --git a/extensions/BugModal/template/en/default/bug_modal/activity_stream.html.tmpl b/extensions/BugModal/template/en/default/bug_modal/activity_stream.html.tmpl index 29824419f..715f58c58 100644 --- a/extensions/BugModal/template/en/default/bug_modal/activity_stream.html.tmpl +++ b/extensions/BugModal/template/en/default/bug_modal/activity_stream.html.tmpl @@ -22,8 +22,8 @@ [% END %] + [%# version %] + [% INCLUDE bug_modal/field.html.tmpl + field = bug_fields.version + field_type = constants.FIELD_TYPE_SINGLE_SELECT + hide_on_view = bug.version == "---" || bug.version.lower == "unspecified" + || bug.version.lower == "trunk" || bug.version.lower == "other" + help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#version" + %] + + [%# platform %] + [% WRAPPER bug_modal/field.html.tmpl + container = 1 + label = "Platform" + 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" + %] + [% 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 + container = 1 + inline = 1 + %] + [% Hook.process("after_op_sys", 'bug/edit.html.tmpl') %] + [% END %] + [% END %] + + [% END %] + [% WRAPPER fields_rhs %] + [%# type %] [% WRAPPER bug_modal/field.html.tmpl field = bug_fields.bug_type @@ -474,23 +473,32 @@ [%# importance %] [% WRAPPER bug_modal/field.html.tmpl - label = "Importance" + name = "importance" + label = "Priority" container = 1 - hide_on_view = bug.priority == "--" && bug.bug_severity == "normal" help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#priority" %] - [% INCLUDE bug_modal/field.html.tmpl + [% WRAPPER 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 %] + [% IF bug.priority == "--" %] + Not set + [% ELSE %] + [% bug.priority FILTER html %] + [% END %] + [% END %] [% 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 + label = "Severity" + hide_on_view = bug.bug_severity == "normal" + help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#bug_severity" %] [% UNLESS cf_hidden_in_product('cf_rank', bug.product, bug.component, bug) %] [% rendered_custom_fields.push('cf_rank') %] @@ -501,10 +509,40 @@ label = "Rank" hide_on_view = bug.cf_rank == "" hide_on_edit = !user.in_group('rank-setters') + help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#rank" %] [% END %] [% END %] + [%# points %] + [% UNLESS cf_hidden_in_product('cf_fx_points', bug.product, bug.component, bug) %] + [% rendered_custom_fields.push('cf_fx_points') %] + [% INCLUDE bug_modal/field.html.tmpl + field = bug_fields.cf_fx_points + field_type = bug_fields.cf_fx_points.type + hide_on_view = bug.cf_fx_points == "---" + %] + [% END %] + + [% END %] +[% END %] + +[%# === tracking === %] + +[% IF readable_bug_status_json %] + [% readable_bug_status_span = BLOCK -%] + [%- %] + [% END %] + [% sub = [{ unfiltered = readable_bug_status_span }] %] +[% ELSE %] + [% sub = [firefox_flags_subtitle] %] +[% END %] +[% WRAPPER bug_modal/module.html.tmpl + title = "Tracking" + subtitle = sub +%] + [% WRAPPER fields_lhs %] + [%# status, resolution %] [% IF bug.assigned_to.id != user.id %] [% WRAPPER bug_modal/field.html.tmpl @@ -522,40 +560,89 @@ [% END %] [% END %] - [% END %] - [% WRAPPER fields_rhs %] - - [%# creation time %] + [%# status/resolution knob %] [% WRAPPER bug_modal/field.html.tmpl - field = bug_fields.creation_ts - label = "Opened" - view_only = 1 - help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#creation_ts" + name = "status-edit" + container = 1 + label = "Status" + hide_on_view = bug.assigned_to.id != user.id + help = "https://wiki.mozilla.org/BMO/UserGuide/BugStatuses" %] - [% INCLUDE bug_modal/rel_time.html.tmpl ts=bug.creation_ts %] + [% INCLUDE status_block %] [% END %] - [%# last modified %] - [% WRAPPER bug_modal/field.html.tmpl - field = bug_fields.delta_ts - label = "Updated" - view_only = 1 - help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#delta_ts" + [%# milestone %] + [% INCLUDE bug_modal/field.html.tmpl + field = bug_fields.target_milestone + field_type = constants.FIELD_TYPE_SINGLE_SELECT + label = "Milestone" + hide_on_view = bug.target_milestone == "---" + help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#target_milestone" %] - [% INCLUDE bug_modal/rel_time.html.tmpl ts=bug.delta_ts %] + + [%# iteration %] + [% UNLESS cf_hidden_in_product('cf_fx_iteration', bug.product, bug.component, bug) %] + [% rendered_custom_fields.push('cf_fx_iteration') %] + [% INCLUDE bug_modal/field.html.tmpl + field = bug_fields.cf_fx_iteration + field_type = bug_fields.cf_fx_iteration.type + hide_on_view = bug.cf_fx_iteration == "---" + %] + [% END %] + + [% UNLESS cf_hidden_in_product('cf_due_date', bug.product, bug.component, bug) %] + [% rendered_custom_fields.push('cf_due_date') %] + [% INCLUDE bug_modal/field.html.tmpl + field = bug_fields.cf_due_date + field_type = bug_fields.cf_due_date.type + hide_on_view = bug.cf_due_date == "" + %] + [% END %] + + [% IF project_flags_has %] + [%# project flags %] + [% WRAPPER bug_modal/field.html.tmpl + container = 1 + label = "Project Flags" + hide_on_view = !project_flags_set + help = "https://wiki.mozilla.org/BMO/UserGuide#Tracking_Flags" + %] + [% INCLUDE bug_modal/tracking_flags.html.tmpl + type = "project" + %] + [% END %] [% END %] [% END %] + [% WRAPPER fields_rhs %] + + [% IF tracking_flags_has %] + [%# tracking flags %] + [% WRAPPER bug_modal/field.html.tmpl + container = 1 + label = "Tracking Flags" + hide_on_view = !tracking_flags_set + help = "https://wiki.mozilla.org/BMO/UserGuide#Tracking_Flags" + %] + [% INCLUDE bug_modal/tracking_flags.html.tmpl + type = "tracking" + %] + [% END %] + [% END %] + + [% IF blocking_flags_has %] + [%# blocking flags %] + [% WRAPPER bug_modal/field.html.tmpl + container = 1 + label = "Blocking Flags" + hide_on_view = !blocking_flags_set + %] + [% INCLUDE bug_modal/tracking_flags.html.tmpl + type = "blocking" + %] + [% END %] + [% END %] - [%# status/resolution knob %] - [% WRAPPER bug_modal/field.html.tmpl - name = "status-edit" - container = 1 - label = "Status" - hide_on_view = bug.assigned_to.id != user.id - help = "https://wiki.mozilla.org/BMO/UserGuide/BugStatuses" - %] - [% INCLUDE status_block %] [% END %] [% END %] @@ -581,25 +668,29 @@ inline = 1 edit_only = 1 %] - [% UNLESS prefix %] - - [% END %] [% IF bug.choices.resolution.only("name", "DUPLICATE").size %]
of
-
- -
[% END %] +
+ [% IF bug.choices.resolution.only("name", "DUPLICATE").size %] +
+ +
+ [% END %] + [% UNLESS prefix %] + + [% END %] +
[% END %] [%# === people === %] @@ -632,10 +723,10 @@ [% IF unassigned %] Unassigned [% IF bug.check_can_change_field("assigned_to", 0, 1) %] - + [% END %] [% ELSE %] - [% INCLUDE bug_modal/user.html.tmpl u=bug.assigned_to %] + [% INCLUDE bug_modal/user.html.tmpl u=bug.assigned_to nick_only=1 gravatar_size=20 %] [% END %] [% END %] [% WRAPPER bug_modal/field.html.tmpl @@ -671,7 +762,7 @@ [% IF bug.mentors.size; FOREACH mentor IN bug.mentors; - INCLUDE bug_modal/user.html.tmpl u=mentor; + INCLUDE bug_modal/user.html.tmpl u=mentor nick_only=1 gravatar_size=20; END; ELSE; "---"; @@ -687,7 +778,7 @@ hide_on_edit = 1 help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#qa_contact" %] - [% INCLUDE bug_modal/user.html.tmpl u=bug.qa_contact %] + [% INCLUDE bug_modal/user.html.tmpl u=bug.qa_contact nick_only=1 gravatar_size=20 %] [% END %] [% WRAPPER bug_modal/field.html.tmpl field = bug_fields.qa_contact @@ -712,6 +803,7 @@ field = bug_fields.reporter field_type = constants.FIELD_TYPE_USER view_only = 1 + hide_on_edit = 1 help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#reporter" %] @@ -721,6 +813,8 @@ field_type = constants.FIELD_TYPE_USER value = bug.component_obj.triage_owner view_only = 1 + hide_on_view = bug.triage_owner == "" + hide_on_edit = 1 help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#triage_owner" %] @@ -799,160 +893,41 @@ [% END %] [% END %] -[%# === tracking === %] - -[% - col = - (bug.version.lower == "unspecified" || bug.version.lower == "other" || bug.version == "---") - && bug.target_milestone == "---" - && !has_bug_flags - && !project_flags_set - && !tracking_flags_set - && !blocking_flags_set; - sub = []; - open_deps = bug.depends_on_obj.only("resolution", "").size; - IF open_deps; - sub.push("Depends on " _ open_deps _ " bug" _ (open_deps == 1 ? "" : "s")); - END; - open_deps = bug.blocks_obj.only("resolution", "").size; - IF open_deps; - sub.push("Blocks " _ open_deps _ " bug" _ (open_deps == 1 ? "" : "s")); - END; - IF bug.regressed_by.size; - sub.push("Regression"); - END; - open_regs = bug.regresses_obj.only("resolution", "").size; - IF open_regs; - sub.push("Regressed " _ open_regs _ " bug" _ (open_regs == 1 ? "" : "s")); - END; - IF bug.keyword_objects.size; - IF bug.keyword_objects.size <= 3; - sub.push("{" _ bug.keyword_objects.pluck("name").join(", ") _ "}"); - ELSE; - sub.push(bug.keyword_objects.size _ " keywords"); - END; - END; -%] -[% WRAPPER bug_modal/module.html.tmpl - title = "Tracking" - subtitle = sub - collapsed = col -%] - [% WRAPPER fields_lhs %] - - [%# version %] - [% INCLUDE bug_modal/field.html.tmpl - field = bug_fields.version - field_type = constants.FIELD_TYPE_SINGLE_SELECT - help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#version" - %] - - [%# milestone %] - [% INCLUDE bug_modal/field.html.tmpl - field = bug_fields.target_milestone - field_type = constants.FIELD_TYPE_SINGLE_SELECT - label = "Target" - help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#target_milestone" - %] - - [%# platform, op-sys %] - [% WRAPPER bug_modal/field.html.tmpl - container = 1 - label = "Platform" - 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" - %] - [% 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 - container = 1 - inline = 1 - %] - [% Hook.process("after_op_sys", 'bug/edit.html.tmpl') %] - [% END %] - [% END %] - - [%# keywords %] - [% WRAPPER bug_modal/field.html.tmpl - field = bug_fields.keywords - field_type = constants.FIELD_TYPE_KEYWORDS - hide_on_view = bug.keyword_objects.size == 0 - help = basepath _ "describekeywords.cgi" - %] - [% IF bug.keyword_objects.size %] - [% FOREACH keyword IN bug.keyword_objects.pluck("name") %] - - [%~ keyword FILTER html %][% ", " UNLESS loop.last %] - [% END %] - [% ELSE %] - [% "---" FILTER html %] - [% END %] - [% END %] - - [% UNLESS cf_hidden_in_product('cf_fx_iteration', bug.product, bug.component, bug) %] - [% rendered_custom_fields.push('cf_fx_iteration') %] - [% INCLUDE bug_modal/field.html.tmpl - field = bug_fields.cf_fx_iteration - field_type = bug_fields.cf_fx_iteration.type - hide_on_view = bug.cf_iteration == "" - %] - [% END %] - - [% UNLESS cf_hidden_in_product('cf_fx_points', bug.product, bug.component, bug) %] - [% rendered_custom_fields.push('cf_fx_points') %] - [% INCLUDE bug_modal/field.html.tmpl - field = bug_fields.cf_fx_points - field_type = bug_fields.cf_fx_points.type - hide_on_view = bug.cf_fx_points == "" - %] - [% END %] - - [% UNLESS cf_hidden_in_product('cf_cab_review', bug.product, bug.component, bug) %] - [% rendered_custom_fields.push('cf_cab_review') %] - [% IF bug.cf_cab_review == "---" %] - [% WRAPPER bug_modal/field.html.tmpl - field = bug_fields.cf_cab_review - field_type = bug_fields.cf_cab_review.type - container = 1 - hide_on_view = 1 - %] - - ServiceNow Change Request - - - - [% END %] - [% ELSE %] - [% INCLUDE bug_modal/field.html.tmpl - field = bug_fields.cf_cab_review - field_type = bug_fields.cf_cab_review.type - %] - [% END %] - [% END %] - - [% END %] - [% WRAPPER fields_rhs %] +[%# === references === %] - [%# depends on %] +[% + sub = []; + open_deps = bug.depends_on_obj.only("resolution", "").size; + IF open_deps; + sub.push("Depends on " _ open_deps _ " open bug" _ (open_deps == 1 ? "" : "s")); + END; + open_deps = bug.blocks_obj.only("resolution", "").size; + IF open_deps; + sub.push("Blocks " _ open_deps _ " open bug" _ (open_deps == 1 ? "" : "s")); + END; + open_regs = bug.regresses_obj.only("resolution", "").size; + IF open_regs; + sub.push("Regressed " _ open_regs _ " open bug" _ (open_regs == 1 ? "" : "s")); + END; + IF bug.regressed_by.size; + sub.push("Regression"); + END; + IF bug.bug_file_loc != ""; + loc_html = INCLUDE bug_url_link link_text="URL"; + sub.push({ unfiltered => loc_html }); + END; +%] +[% WRAPPER bug_modal/module.html.tmpl + title = "References" + subtitle = sub + collapsed = 1 + hide_on_view = !bug.dependson.size && !bug.blocked.size + && !bug.regresses.size && !bug.regressed_by.size + && !bug.duplicates.size && !bug.bug_file_loc && !bug.see_also.size; +%] + [% WRAPPER fields_lhs %] + + [%# dependencies %] [% INCLUDE bug_modal/field.html.tmpl field = bug_fields.dependson field_type = constants.FIELD_TYPE_BUG_LIST @@ -960,8 +935,6 @@ hide_on_view = bug.dependson.size == 0 help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#dependson" %] - - [%# blocks %] [% INCLUDE bug_modal/field.html.tmpl field = bug_fields.blocked field_type = constants.FIELD_TYPE_BUG_LIST @@ -969,7 +942,6 @@ hide_on_view = bug.blocked.size == 0 help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#blocks" %] - [% IF bug.dependson.size + bug.blocked.size > 0 %] [% WRAPPER bug_modal/field.html.tmpl name = "dependencytree" @@ -1007,106 +979,51 @@ field_type = constants.FIELD_TYPE_BUG_LIST label = "Duplicates" values = bug.duplicates - hide_on_edit = 1 + view_only = 1 help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#duplicates" %] [% END %] - [%# flags %] - [% WRAPPER bug_modal/field.html.tmpl - name = "bug_flags" - container = 1 - label = terms.Bug _ " Flags" - hide_on_view = !has_bug_flags - %] - [% INCLUDE bug_modal/flags.html.tmpl - types = bug.flag_types.skip("name", "needinfo") - %] - [% END %] - [% END %] -[% END %] - -[% IF tracking_flags.size %] - - [%# === tracking flags === %] - - [% WRAPPER bug_modal/module.html.tmpl - title = tracking_flags_title - collapsed = 1 - subtitle = firefox_flags_subtitle - %] - [% WRAPPER fields_lhs %] - - [% UNLESS tracking_flags_set || project_flags_set || blocking_flags_set %] -

- This [% terms.bug %] is not currently tracked. -

- [% END %] - - [% IF tracking_flags_has %] - [%# tracking flags %] - [% WRAPPER bug_modal/field.html.tmpl - container = 1 - label = "Tracking Flags" - hide_on_view = !tracking_flags_set - help = "https://wiki.mozilla.org/BMO/UserGuide#Tracking_Flags" - %] - [% INCLUDE bug_modal/tracking_flags.html.tmpl - type = "tracking" - %] - [% END %] - [% END %] + [% WRAPPER fields_rhs %] + [%# url %] + [% WRAPPER bug_modal/field.html.tmpl + field = bug_fields.bug_file_loc + field_type = constants.FIELD_TYPE_FREETEXT + hide_on_view = bug.bug_file_loc == "" + default = "https://" + help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#bug_file_loc" + %] + [% INCLUDE bug_url_link %] [% END %] - [% WRAPPER fields_rhs %] - - [% IF blocking_flags_has %] - [%# blocking flags %] - [% WRAPPER bug_modal/field.html.tmpl - container = 1 - label = "Blocking Flags" - hide_on_view = !blocking_flags_set - %] - [% INCLUDE bug_modal/tracking_flags.html.tmpl - type = "blocking" - %] - [% END %] - [% END %] - [% IF project_flags_has %] - [%# project flags %] - [% WRAPPER bug_modal/field.html.tmpl - container = 1 - label = "Project Flags" - hide_on_view = !project_flags_set - help = "https://wiki.mozilla.org/BMO/UserGuide#Tracking_Flags" - %] - [% INCLUDE bug_modal/tracking_flags.html.tmpl - type = "project" - %] - [% END %] - [% END %] + [%# see also %] + [% INCLUDE bug_modal/field.html.tmpl + field = bug_fields.see_also + field_type = constants.FIELD_TYPE_BUG_URLS + values = bug.see_also + hide_on_view = bug.see_also.size == 0 + help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#see_also" + %] - [% END %] [% END %] - [% END %] [%# === details === %] [% sub = []; + IF bug.keyword_objects.size; + IF bug.keyword_objects.size <= 3; + sub.push("Keywords: " _ bug.keyword_objects.pluck("name").join(", ")); + ELSE; + sub.push(bug.keyword_objects.size _ " keywords"); + END; + END; IF bug.status_whiteboard != ""; sub.push("Whiteboard: " _ bug.status_whiteboard.truncate(256, '…')); END; - IF bug.cf_crash_signature != ""; - sub.push("crash signature"); - END; - IF bug.bug_file_loc != ""; - loc_html = INCLUDE bug_url_link link_text="URL"; - sub.push({ unfiltered => loc_html }); - END; %] [% WRAPPER bug_modal/module.html.tmpl title = "Details" @@ -1115,30 +1032,78 @@ %] [% WRAPPER fields_lhs %] - [%# whiteboard %] + [%# alias %] + [% INCLUDE bug_modal/field.html.tmpl + field = bug_fields.alias + field_type = constants.FIELD_TYPE_FREETEXT + hide_on_view = 1 + short_width = 1 + help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#alias" + %] + + [%# keywords %] + [% WRAPPER bug_modal/field.html.tmpl + field = bug_fields.keywords + field_type = constants.FIELD_TYPE_KEYWORDS + hide_on_view = bug.keyword_objects.size == 0 + help = basepath _ "describekeywords.cgi" + %] + [% IF bug.keyword_objects.size %] + [% FOREACH keyword IN bug.keyword_objects.pluck("name") %] + + [%~ keyword FILTER html %][% ", " UNLESS loop.last %] + [% END %] + [% ELSE %] + [% "---" FILTER html %] + [% END %] + [% END %] + + [%# whiteboards %] [% WRAPPER bug_modal/field.html.tmpl field = bug_fields.status_whiteboard field_type = constants.FIELD_TYPE_FREETEXT + hide_on_view = bug.status_whiteboard == "" help = "https://wiki.mozilla.org/BMO/UserGuide/Whiteboard" %] [% bug.status_whiteboard == "" ? "---" : bug.status_whiteboard FILTER html %] [% END %] - - [%# votes %] - [% IF bug.product_obj.votesperuser %] - [% WRAPPER bug_modal/field.html.tmpl - container = 1 - label = "Votes" - name = "votes" - help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#votes" + [% UNLESS cf_hidden_in_product('cf_qa_whiteboard', bug.product, bug.component, bug) %] + [% rendered_custom_fields.push('cf_qa_whiteboard') %] + [% INCLUDE bug_modal/field.html.tmpl + field = bug_fields.cf_qa_whiteboard + field_type = bug_fields.cf_qa_whiteboard.type + hide_on_view = bug.cf_qa_whiteboard == "" %] - [% bug.votes FILTER html %] - vote[% "s" IF bug.votes != 1 %] - [% IF user.id %] - + [% END %] + + [%# cab review %] + [% UNLESS cf_hidden_in_product('cf_cab_review', bug.product, bug.component, bug) %] + [% rendered_custom_fields.push('cf_cab_review') %] + [% IF bug.cf_cab_review == "---" %] + [% WRAPPER bug_modal/field.html.tmpl + field = bug_fields.cf_cab_review + field_type = bug_fields.cf_cab_review.type + container = 1 + hide_on_view = 1 + %] + + ServiceNow Change Request + + + [% END %] + [% ELSE %] + [% INCLUDE bug_modal/field.html.tmpl + field = bug_fields.cf_cab_review + field_type = bug_fields.cf_cab_review.type + %] [% END %] [% END %] @@ -1163,30 +1128,39 @@ END; %] + [%# votes %] + [% IF bug.product_obj.votesperuser %] + [% WRAPPER bug_modal/field.html.tmpl + container = 1 + label = "Votes" + name = "votes" + help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#votes" + %] + [% bug.votes FILTER html %] + [% IF user.id %] + + [% END %] + [% END %] + [% END %] + [% Hook.process('details_lhs') %] [% END %] [% WRAPPER fields_rhs %] - [%# url %] + [%# flags %] [% WRAPPER bug_modal/field.html.tmpl - field = bug_fields.bug_file_loc - field_type = constants.FIELD_TYPE_FREETEXT - hide_on_view = bug.bug_file_loc == "" - default = "https://" - help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#bug_file_loc" + name = "bug_flags" + container = 1 + label = terms.Bug _ " Flags" + hide_on_view = !has_bug_flags %] - [% INCLUDE bug_url_link %] + [% INCLUDE bug_modal/flags.html.tmpl + types = bug.flag_types.skip("name", "needinfo") + %] [% END %] - [%# see also %] - [% INCLUDE bug_modal/field.html.tmpl - field = bug_fields.see_also - field_type = constants.FIELD_TYPE_BUG_URLS - values = bug.see_also - hide_on_view = bug.see_also.size == 0 - help = "https://wiki.mozilla.org/BMO/UserGuide/BugFields#see_also" - %] - [% Hook.process('details_rhs') %] [% END %] @@ -1194,6 +1168,7 @@ [% FOREACH field IN custom_fields; NEXT IF field.type != constants.FIELD_TYPE_TEXTAREA; + NEXT IF field.name == "cf_crash_signature"; # Rendered below Hook.process('custom_field-' _ field.name); NEXT IF rendered_custom_fields.exists(field.name); INCLUDE bug_modal/field.html.tmpl @@ -1204,6 +1179,16 @@ %] [% END %] +[%# === Crash === %] + +[% WRAPPER bug_modal/module.html.tmpl + title = "Crash Data" + collapsed = 1 + hide_on_view = bug.cf_crash_signature == "" +%] + [% Hook.process('custom_field-cf_crash_signature'); %] +[% END %] + [%# === groups === %] [% WRAPPER bug_modal/module.html.tmpl @@ -1343,20 +1328,22 @@ [%# === attachments === %] -[% IF active_attachments || obsolete_attachments %] +[% IF active_attachments || obsolete_attachments || user.id %] [% sub = []; + IF active_attachments + obsolete_attachments == 0; + sub.push("No files"); + END; IF active_attachments; - sub.push(active_attachments _ " attachment" _ (active_attachments == 1 ? "" : "s")); + sub.push(active_attachments _ " file" _ (active_attachments == 1 ? "" : "s")); END; IF obsolete_attachments; - sub.push(obsolete_attachments _ " obsolete attachment" _ (obsolete_attachments == 1 ? "" : "s")); + sub.push(obsolete_attachments _ " obsolete file" _ (obsolete_attachments == 1 ? "" : "s")); END; %] [% WRAPPER bug_modal/module.html.tmpl title = "Attachments" subtitle = sub - collapsed = active_attachments == 0 %] [% INCLUDE bug_modal/attachments.html.tmpl active_attachments = active_attachments @@ -1375,9 +1362,8 @@ [% IF user.id %]
- Attach File [%+ Hook.process('top_actions') %] - +
[% END %] @@ -1400,66 +1386,6 @@
- - [% IF user.id %] - - [% END %]
@@ -1490,7 +1416,7 @@ [%# === comment actions === %] [% IF user.id %]
- +
[% IF bug.resolution == ""; 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 fcaa08f23..ca64bfc09 100644 --- a/extensions/BugModal/template/en/default/bug_modal/field.html.tmpl +++ b/extensions/BugModal/template/en/default/bug_modal/field.html.tmpl @@ -138,7 +138,7 @@ END; [% CASE constants.FIELD_TYPE_USER %] [%# users %] - [% INCLUDE bug_modal/user.html.tmpl u=value %] + [% INCLUDE bug_modal/user.html.tmpl u=value nick_only=1 gravatar_size=20 %] [% CASE constants.FIELD_TYPE_BUG_URLS %] [%# see also %] diff --git a/extensions/BugModal/template/en/default/bug_modal/navigate.html.tmpl b/extensions/BugModal/template/en/default/bug_modal/navigate.html.tmpl index df021631b..4cf8ec4ee 100644 --- a/extensions/BugModal/template/en/default/bug_modal/navigate.html.tmpl +++ b/extensions/BugModal/template/en/default/bug_modal/navigate.html.tmpl @@ -15,7 +15,7 @@ %] [% BLOCK nav_link %] diff --git a/extensions/BugModal/web/bug_modal.css b/extensions/BugModal/web/bug_modal.css index 81d43ecd9..b0041760d 100644 --- a/extensions/BugModal/web/bug_modal.css +++ b/extensions/BugModal/web/bug_modal.css @@ -25,9 +25,11 @@ .inline { display: table-cell !important; width: auto !important; + vertical-align: middle !important; } .gravatar { + margin-right: 4px; border-radius: 4px; vertical-align: middle; } @@ -130,26 +132,25 @@ a.activity-ref { opacity: 0; } -.module .fields-lhs { - display: table-cell; - min-width: 450px; - vertical-align: top; -} - +.module .fields-lhs, .module .fields-rhs { - display: table-cell; + flex: none; + width: 50%; min-width: 450px; - width: 100%; + display: table-cell; vertical-align: top; } .module-content { - padding: 4px; + display: flex; + flex-wrap: wrap; + padding: 5px; } .module .field { display: table; - margin: 4px; + box-sizing: border-box; + margin: 4px 0; width: 100%; vertical-align: top; } @@ -176,6 +177,7 @@ a.activity-ref { } .module .indent { + padding-right: 10px; padding-left: 10px; } @@ -239,11 +241,12 @@ input[type="number"] { */ #field-value-bug_id { + margin-left: 8px; font-size: var(--font-size-large); } #field-value-bug_id a { - color: inherit; + color: var(--primary-label-color); } #field-value-short_desc { @@ -252,25 +255,57 @@ input[type="number"] { } #field-status_summary { - padding-top: 6px; - padding-bottom: 4px; + padding-top: 4px; + padding-bottom: 8px; color: var(--secondary-label-color); } -#status-assignee, -#status-assignee .vcard, -#status-needinfo, -#status-needinfo .vcard { - display: inline; +#field-status_summary .bug-status-label { + border-radius: 4px; + padding: 2px 8px; + color: #FFF; + font-weight: bold; +} + +#field-status_summary .bug-status-label[data-status="open"] { + background-color: var(--bug-status-color-open); } -#field-status_summary .bug-type-label { - margin-right: 8px; +#field-status_summary .bug-status-label[data-status="closed"] { + background-color: var(--bug-status-color-closed); } -#status-assignee, -#status-needinfo { +#field-status_summary .bug-time-label { margin-left: 8px; + color: var(--secondary-label-color); +} + +#field-status_summary .bug-time-label span { + text-transform: lowercase; +} + +#field-importance .name { + vertical-align: middle; +} + +#field-importance .container { + display: flex; +} + +#field-bug_severity[style="display:none"] { + display: none !important; /* Override `inline` */ +} + +#field-resolution { + padding: 0; +} + +#status-action-buttons, +#duplicate-container { + display: inline-flex; + align-items: center; + vertical-align: top; + white-space: nowrap; } #duplicate-container, @@ -287,6 +322,11 @@ input[type="number"] { margin-left: 4px; } +#mark-as-assigned-btn, +#mark-as-dup-btn { + white-space: nowrap; +} + #resolve-as, #bottom-status { display: inline; @@ -341,6 +381,11 @@ input[type="number"] { color: var(--secondary-label-color); } +#cc-latch, +#cc-summary { + cursor: default; +} + #cc-list { overflow-y: auto; clear: both; @@ -421,10 +466,14 @@ input[type="number"] { #bottom-right-actions, .edit-textarea-set-btn { float: right; + margin-left: 8px; +} + +#new-comment-actions { + float: left; } #bottom-actions { - margin-top: 8px; margin-bottom: 50px; max-width: 1024px; } @@ -493,6 +542,17 @@ input[type="number"] { display: inline; } +#attachments-footer { + display: flex; + align-items: center; + padding: 4px; +} + +#attachments-actions { + flex: auto; + display: flex; +} + #attachments-actions button { margin: 2px; } @@ -1004,8 +1064,8 @@ h3.change-name a { #mode-container { display: table-cell; margin: 5px; - border-left: 5px solid transparent; - padding: 5px; + border-left: 10px solid transparent; + padding: 10px 5px; text-align: right; white-space: nowrap; } @@ -1028,8 +1088,7 @@ h3.change-name a { } #mode-container .button-row { - margin-top: 4px; - border-left: 5px solid transparent; + margin: 4px 0; } /** @@ -1037,7 +1096,7 @@ h3.change-name a { */ #main-inner { - margin: 15px auto; + margin: 8px auto; max-width: 1024px; min-width: 800px; } @@ -1213,9 +1272,8 @@ a.lightbox-icon.markdown { */ #search-nav { - padding: 4px 8px; - color: var(--secondary-label-color); - background: var(--primary-region-header-background-color); + flex: auto; + margin: 4px; } #search-nav-label { @@ -1227,10 +1285,6 @@ a.lightbox-icon.markdown { margin-left: 4px; } -#search-nav-reget { - margin-left: 8px; -} - .search-nav-disabled { color: var(--disabled-control-foreground-color); } @@ -1266,11 +1320,6 @@ a.lightbox-icon.markdown { width: auto !important; } - .module .fields-lhs, - .module .fields-rhs { - min-width: 380px; - } - #main-inner { min-width: auto; } diff --git a/extensions/BugModal/web/bug_modal.js b/extensions/BugModal/web/bug_modal.js index 71a9b7271..0d77b1b29 100644 --- a/extensions/BugModal/web/bug_modal.js +++ b/extensions/BugModal/web/bug_modal.js @@ -169,7 +169,7 @@ $(function() { $('#attachments-obsolete-btn') .click(function(event) { event.preventDefault(); - $(event.target).text(($('#attachments tr:hidden').length ? 'Hide' : 'Show') + ' Obsolete Attachments'); + $(event.target).text(($('#attachments tr:hidden').length ? 'Hide Obsolete' : 'Show Obsolete')); $('#attachments tr.attach-obsolete').toggle(); }); diff --git a/qa/t/test_target_milestones.t b/qa/t/test_target_milestones.t index 609b3380f..408a2e705 100644 --- a/qa/t/test_target_milestones.t +++ b/qa/t/test_target_milestones.t @@ -40,7 +40,7 @@ $sel->title_is("Milestone Created"); # Edit the milestone of test_bug_1. go_to_bug($sel, $test_bug_1); -$sel->is_text_present_ok("Target:"); +$sel->is_text_present_ok("Milestone:"); $sel->select_ok("target_milestone", "label=TM1"); $sel->click_ok("bottom-save-btn"); $sel->wait_for_page_to_load(WAIT_TIME); diff --git a/qa/t/test_votes.t b/qa/t/test_votes.t index e2c5bdc68..a565ba019 100644 --- a/qa/t/test_votes.t +++ b/qa/t/test_votes.t @@ -215,7 +215,7 @@ $sel->is_text_present_ok( go_to_bug($sel, $bug2_id); $text = trim($sel->get_text("field-value-votes")); -ok($text =~ /4 votes/, "4 votes remaining"); +ok($text =~ /\b4\b/, "4 votes remaining"); # Decrease the number per user. Bugs should keep at least one vote, # i.e. not all votes are removed (which was the old behavior). @@ -236,7 +236,7 @@ $sel->is_text_present_ok("removed votes for bug"); go_to_bug($sel, $bug3_id); $text = trim($sel->get_text("field-value-votes")); -ok($text =~ /2 votes/, "2 votes remaining"); +ok($text =~ /\b2\b/, "2 votes remaining"); # Now disable UNCONFIRMED. diff --git a/skins/standard/global.css b/skins/standard/global.css index 7c4641908..e2bce700b 100644 --- a/skins/standard/global.css +++ b/skins/standard/global.css @@ -1413,6 +1413,21 @@ input[type="radio"]:checked { } } +/** + * Page toolbar + */ + +#page-toolbar { + display: flex; + align-items: center; + justify-content: flex-end; + color: var(--secondary-label-color); +} + +#page-toolbar .buttons { + flex: none; +} + /** * Link lists */ @@ -1939,7 +1954,7 @@ table.tabs .clickable_area { position: absolute; top: calc(100% + 4px); right: 0; - z-index: 1; + z-index: 10; margin: 0; border-width: 1px; border-style: solid; @@ -2021,7 +2036,7 @@ table.tabs .clickable_area { .dropdown-content li > div { display: block; box-sizing: border-box; - padding: 4px 8px 4px 24px; + padding: 4px 24px; width: 100%; color: inherit; background: none transparent; @@ -2752,7 +2767,7 @@ pre.comment-text { */ :root { - --bug-status-color-open: #229921; + --bug-status-color-open: #188716; --bug-status-color-closed: #1B6AB8; --bug-type-color-defect: #EA3C3D; --bug-type-color-enhancement: #2ABA27;