From 0677733f0afbf6e4b5b414e8ae928dea34bff893 Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Fri, 22 May 2015 13:33:40 +0800 Subject: Bug 1135164: display a warning on show_bug when an unassigned bug has a patch attached --- extensions/BMO/Extension.pm | 19 +++++++++++++++++++ .../default/hook/attachment/list-warnings.html.tmpl | 18 ++++++++++++++++++ .../hook/bug_modal/attachments-warnings.html.tmpl | 16 ++++++++++++++++ extensions/BMO/web/styles/bug_modal.css | 8 ++++++++ extensions/BMO/web/styles/edit_bug.css | 8 ++++++++ .../en/default/bug_modal/attachments.html.tmpl | 3 +++ 6 files changed, 72 insertions(+) create mode 100644 extensions/BMO/template/en/default/hook/attachment/list-warnings.html.tmpl create mode 100644 extensions/BMO/template/en/default/hook/bug_modal/attachments-warnings.html.tmpl (limited to 'extensions') diff --git a/extensions/BMO/Extension.pm b/extensions/BMO/Extension.pm index 02824f471..1c25da749 100644 --- a/extensions/BMO/Extension.pm +++ b/extensions/BMO/Extension.pm @@ -65,6 +65,8 @@ our $VERSION = '0.1'; BEGIN { *Bugzilla::Bug::last_closed_date = \&_last_closed_date; *Bugzilla::Bug::reporters_hw_os = \&_bug_reporters_hw_os; + *Bugzilla::Bug::is_unassigned = \&_bug_is_unassigned; + *Bugzilla::Bug::has_patch = \&_bug_has_patch; *Bugzilla::Product::default_security_group = \&_default_security_group; *Bugzilla::Product::default_security_group_obj = \&_default_security_group_obj; *Bugzilla::Product::group_always_settable = \&_group_always_settable; @@ -761,6 +763,23 @@ sub _bug_reporters_hw_os { return $self->{ua_hw_os} = $hw_os; } +sub _bug_is_unassigned { + my ($self) = @_; + my $assignee = $self->assigned_to->login; + return $assignee eq 'nobody@mozilla.org' || $assignee =~ /\.bugs$/; +} + +sub _bug_has_patch { + my ($self) = @_; + foreach my $attachment (@{ $self->attachments }) { + return 1 if + $attachment->ispatch + || $attachment->contenttype eq 'text/x-github-pull-request' + || $attachment->contenttype eq 'text/x-review-board-request'; + } + return 0; +} + sub _product_default_platform_id { $_[0]->{default_platform_id} } sub _product_default_op_sys_id { $_[0]->{default_op_sys_id} } diff --git a/extensions/BMO/template/en/default/hook/attachment/list-warnings.html.tmpl b/extensions/BMO/template/en/default/hook/attachment/list-warnings.html.tmpl new file mode 100644 index 000000000..11998e12f --- /dev/null +++ b/extensions/BMO/template/en/default/hook/attachment/list-warnings.html.tmpl @@ -0,0 +1,18 @@ +[%# 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. + #%] + +[% + RETURN UNLESS user.in_group('editbugs'); + RETURN UNLESS bug.attachments.size && bug.is_unassigned && bug.has_patch; +%] + + + + Unassigned [% terms.bug %] with patches attached + + diff --git a/extensions/BMO/template/en/default/hook/bug_modal/attachments-warnings.html.tmpl b/extensions/BMO/template/en/default/hook/bug_modal/attachments-warnings.html.tmpl new file mode 100644 index 000000000..ca2a5a58c --- /dev/null +++ b/extensions/BMO/template/en/default/hook/bug_modal/attachments-warnings.html.tmpl @@ -0,0 +1,16 @@ +[%# 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. + #%] + +[% + RETURN UNLESS user.in_group('editbugs'); + RETURN UNLESS bug.attachments.size && bug.is_unassigned && bug.has_patch; +%] +
+ + Unassigned [% terms.bug %] with patches attached +
diff --git a/extensions/BMO/web/styles/bug_modal.css b/extensions/BMO/web/styles/bug_modal.css index 0c54ce64a..3de7bde8b 100644 --- a/extensions/BMO/web/styles/bug_modal.css +++ b/extensions/BMO/web/styles/bug_modal.css @@ -12,3 +12,11 @@ border: 1px solid #ddd; border-radius: 4px; } + +#unassigned_with_patches { + padding-left: 4px; +} + +#unassigned_with_patches img { + vertical-align: sub; +} diff --git a/extensions/BMO/web/styles/edit_bug.css b/extensions/BMO/web/styles/edit_bug.css index a5dc72d0c..7da05a126 100644 --- a/extensions/BMO/web/styles/edit_bug.css +++ b/extensions/BMO/web/styles/edit_bug.css @@ -39,3 +39,11 @@ input#cf_rank { text-align: right; width: 3em; } + +#unassigned_with_patches { + font-weight: normal; +} + +#unassigned_with_patches img { + vertical-align: sub; +} diff --git a/extensions/BugModal/template/en/default/bug_modal/attachments.html.tmpl b/extensions/BugModal/template/en/default/bug_modal/attachments.html.tmpl index e5fd7a82c..1658a0408 100644 --- a/extensions/BugModal/template/en/default/bug_modal/attachments.html.tmpl +++ b/extensions/BugModal/template/en/default/bug_modal/attachments.html.tmpl @@ -80,3 +80,6 @@ [% END %] + +[%# BMO - attachment related warnings %] +[% Hook.process("warnings") %] -- cgit v1.2.3-24-g4f1b