]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 302293: Editing a flag type should tell me which changes have been made
authorFrédéric Buclin <LpSolit@gmail.com>
Fri, 22 Oct 2010 14:01:20 +0000 (16:01 +0200)
committerFrédéric Buclin <LpSolit@gmail.com>
Fri, 22 Oct 2010 14:01:20 +0000 (16:01 +0200)
a=LpSolit (module owner)

editflagtypes.cgi
template/en/default/global/messages.html.tmpl

index 20a4fc0f6200f0f282321462096b3fdecbfca4d9..e2b8ba12c9cc0bff1ec66ab8d4b6937d68804c57 100755 (executable)
@@ -306,12 +306,13 @@ if ($action eq 'update') {
     $flagtype->set_grant_group($grant_group);
     $flagtype->set_request_group($request_group);
     $flagtype->set_clusions({ inclusions => \@inclusions, exclusions => \@exclusions});
-    $flagtype->update();
+    my $changes = $flagtype->update();
 
     delete_token($token);
 
-    $vars->{'name'} = $flagtype->name;
-    $vars->{'message'} = "flag_type_changes_saved";
+    $vars->{'flagtype'} = $flagtype;
+    $vars->{'changes'} = $changes;
+    $vars->{'message'} = 'flag_type_updated';
 
     my @flagtypes = Bugzilla::FlagType->get_all;
     $vars->{'bug_types'} = [grep { $_->target_type eq 'bug' } @flagtypes];
index 5ffec40812426ee84cc376ae4f00dd5941783089..a4b6cdef390a96f414007e5928caa2f6f1f1d6ba 100644 (file)
     [% title = BLOCK %]Flag Type '[% name FILTER html %]' Created[% END %]
     The flag type <em>[% name FILTER html %]</em> has been created.
 
-  [% ELSIF message_tag == "flag_type_changes_saved" %]
-    [% title = BLOCK %]Flag Type '[% name FILTER html %]' Changes Saved[% END %]
-    Your changes to the flag type <em>[% name FILTER html %]</em>
-    have been saved.
+  [% ELSIF message_tag == "flag_type_updated" %]
+    [% title = BLOCK %]Flag Type '[% flagtype.name FILTER html %]' Updated[% END %]
+    [% IF changes.size %]
+      Changes to the flag type <em>[% flagtype.name FILTER html %]</em>
+      have been saved:
+      <ul>
+        [% IF changes.is_active.defined %]
+          <li>Flag type is now [% flagtype.is_active ? "active" : "inactive" %]</li>
+        [% END %]
+        [% IF changes.name.defined %]
+          <li>Flag type renamed to <em>[% flagtype.name FILTER html %]</em></li>
+        [% END %]
+        [% IF changes.description.defined %]
+          <li>Description updated to <em>[% flagtype.description FILTER html %]</em></li>
+        [% END %]
+        [% IF changes.cc_list.defined %]
+          [% IF flagtype.cc_list %]
+            <li>CC list updated to <em>[% flagtype.cc_list FILTER html %]</em></li>
+          [% ELSE %]
+            <li>CC list is now empty</li>
+          [% END %]
+        [% END %]
+        [% IF changes.sortkey.defined %]
+          <li>Sortkey updated to <em>[% flagtype.sortkey FILTER html %]</em></li>
+        [% END %]
+        [% IF changes.is_requestable.defined %]
+          <li>Flag type is [% "no longer" UNLESS flagtype.is_requestable %] requestable</li>
+        [% END %]
+        [% IF changes.is_requesteeble.defined AND flagtype.is_requestable %]
+          <li>
+            Flag type is [% "no longer" UNLESS flagtype.is_requesteeble %]
+            specifically requestable
+          </li>
+        [% END %]
+        [% IF changes.is_multiplicable.defined %]
+          <li>Flag type is [% "no longer" UNLESS flagtype.is_multiplicable %] multiplicable</li>
+        [% END %]
+        [% IF changes.grant_group_id.defined %]
+          [% IF flagtype.grant_group_id %]
+            <li>Grant group updated to <em>[% flagtype.grant_group.name FILTER html %]</em></li>
+          [% ELSE %]
+            <li>Grant group deleted</li>
+          [% END %]
+        [% END %]
+        [% IF changes.request_group_id.defined %]
+          [% IF flagtype.request_group_id %]
+            <li>Request group updated to <em>[% flagtype.request_group.name FILTER html %]</em></li>
+          [% ELSE %]
+            <li>Request group deleted</li>
+          [% END %]
+        [% END %]
+     </ul>
+    [% ELSE %]
+      No changes made to file type <em>[% flagtype.name FILTER html %]</em>.
+    [% END %]
 
   [% ELSIF message_tag == "flag_type_deleted" %]
     [% title = BLOCK %]Flag Type '[% name FILTER html %]' Deleted[% END %]