[Bps-public-commit] rt-extension-changemanagement branch master updated. 2929c6ab07407813478bd65aa140f3bc5cd342a3

BPS Git Server git at git.bestpractical.com
Mon Feb 28 19:06:39 UTC 2022


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "rt-extension-changemanagement".

The branch, master has been updated
       via  2929c6ab07407813478bd65aa140f3bc5cd342a3 (commit)
      from  e9cd00e3c032b5bf2be0ac34ad85616ce72b4f30 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2929c6ab07407813478bd65aa140f3bc5cd342a3
Author: Jim Brandt <jbrandt at bestpractical.com>
Date:   Mon Feb 28 14:04:38 2022 -0500

    Grant custom rights to corresponding change roles
    
    Grant the custom change process rights to their respective
    roles by default. Also update the names of the rights to
    reflect what they allow the user to do rather than naming them
    like the roles they correspond to.

diff --git a/README b/README
index 8e981fa..e58c244 100644
--- a/README
+++ b/README
@@ -5,9 +5,9 @@ RT VERSION
     Works with RT 5.
 
 INSTALLATION
-    "perl Makefile.PL"
-    "make"
-    "make install"
+    perl Makefile.PL
+    make
+    make install
         May need root permissions
 
     Edit your /opt/rt5/etc/RT_SiteConfig.pm
@@ -15,7 +15,7 @@ INSTALLATION
 
             Plugin('RT::Extension::ChangeManagement');
 
-    "make initdb"
+    make initdb
         Only run this the first time you install this module. If you run
         this twice, you may end up with duplicate data in your database.
 
@@ -42,7 +42,7 @@ DESCRIPTION
     stages of the process, you can install
     RT::Extension::MandatoryOnTransition. An example configuration is
     provided in the sample configuration file in
-    "etc/ChangeManagement_Config.pm".
+    etc/ChangeManagement_Config.pm.
 
     We've provided a walkthrough video <https://youtu.be/uQEEf7SGlkg> to
     demonstrate some of the functionality available in the change management
@@ -55,6 +55,23 @@ DESCRIPTION
     also want to assign an RT email address, like *changes at example.com* or
     *crb at example.com* (Change Review Team) to create tickets in this queue.
 
+   Rights
+    By default, Everyone can see the queue, create tickets, and view
+    tickets. All users can also set custom fields on create, but only then.
+    You can grant more rights if your change requestors need to update
+    custom fields after the ticket is created.
+
+    The Change Management group has more rights to work on change tickets
+    including taking ownership and approving or rejecting requests.
+
+    Some custom rights are available if you go to Admin > Queues, click on
+    Change Management, then click Group Rights. The "Status changes" tab has
+    specific rights to allow users to "Approve Requests" and "Implement
+    Changes". By default, the Change Reviewer role can "Approve Requests"
+    and the Change Implementor role can "Implement Changes". If this is too
+    restrictive for your workflow, you can grant these to more users,
+    possibly via a group.
+
   Custom Roles
     The roles below are allow you to assign different users to parts of the
     change management process. In addition to clearly identifying who is
diff --git a/etc/ChangeManagement_Config.pm b/etc/ChangeManagement_Config.pm
index 35b3f95..4b481d7 100644
--- a/etc/ChangeManagement_Config.pm
+++ b/etc/ChangeManagement_Config.pm
@@ -34,12 +34,12 @@ Set(%Lifecycles,
             rejected             => [ qw( approved deployed failed cancelled deleted ), 'in progress', 'partially deployed' ],
         },
         rights => {
-            'requested -> approved'             => 'Change Reviewer',
-            'requested -> rejected'             => 'Change Reviewer',
-            'approved -> in progress'           => 'Change Implementor',
-            'in progress -> deployed'           => 'Change Implementor',
-            'in progress -> partially deployed' => 'Change Implementor',
-            'in progress -> failed'             => 'Change Implementor',
+            'requested -> approved'             => 'Approve Requests',
+            'requested -> rejected'             => 'Approve Requests',
+            'approved -> in progress'           => 'Implement Changes',
+            'in progress -> deployed'           => 'Implement Changes',
+            'in progress -> partially deployed' => 'Implement Changes',
+            'in progress -> failed'             => 'Implement Changes',
         },
         actions => [
             '* -> requested' => {
diff --git a/etc/initialdata b/etc/initialdata
index cde91a0..b703ed6 100644
--- a/etc/initialdata
+++ b/etc/initialdata
@@ -173,6 +173,20 @@ push @ACL, map {
     }
 } @ChangeManagementRights;
 
+push @ACL,
+    {
+        Right       => 'Approve Requests',
+        Queue       => 'Change Management',
+        GroupDomain => 'RT::Queue-Role',
+        CustomRole  => 'Change Reviewer',
+    },
+    {
+        Right       => 'Implement Changes',
+        Queue       => 'Change Management',
+        GroupDomain => 'RT::Queue-Role',
+        CustomRole  => 'Change Implementor',
+    };
+
 our @Attributes = (
     { Name => 'Search - Changes Scheduled, Next 7 Days',
       Description => 'Change management requests due in the next 7 days', # loc
diff --git a/lib/RT/Extension/ChangeManagement.pm b/lib/RT/Extension/ChangeManagement.pm
index 7eef226..a3229ce 100644
--- a/lib/RT/Extension/ChangeManagement.pm
+++ b/lib/RT/Extension/ChangeManagement.pm
@@ -72,6 +72,23 @@ after installing. In a typical configuration, you will also want to assign an RT
 email address, like I<changes at example.com> or I<crb at example.com> (Change Review Team)
 to create tickets in this queue.
 
+=head3 Rights
+
+By default, Everyone can see the queue, create tickets, and view tickets. All
+users can also set custom fields on create, but only then. You can grant more
+rights if your change requestors need to update custom fields after the
+ticket is created.
+
+The Change Management group has more rights to work on change tickets including
+taking ownership and approving or rejecting requests.
+
+Some custom rights are available if you go to Admin > Queues, click on
+Change Management, then click Group Rights. The "Status changes" tab has
+specific rights to allow users to "Approve Requests" and "Implement Changes".
+By default, the Change Reviewer role can "Approve Requests" and the
+Change Implementor role can "Implement Changes". If this is too restrictive
+for your workflow, you can grant these to more users, possibly via a group.
+
 =head2 Custom Roles
 
 The roles below are allow you to assign different users to parts of the change
-----------------------------------------------------------------------

Summary of changes:
 README                               | 27 ++++++++++++++++++++++-----
 etc/ChangeManagement_Config.pm       | 12 ++++++------
 etc/initialdata                      | 14 ++++++++++++++
 lib/RT/Extension/ChangeManagement.pm | 17 +++++++++++++++++
 4 files changed, 59 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
rt-extension-changemanagement


More information about the Bps-public-commit mailing list