[Rt-commit] rt branch, 4.4/disabled-user-in-single-custom-role, created. rt-4.4.2-226-g72fcc41ed

? sunnavy sunnavy at bestpractical.com
Tue Apr 24 17:29:03 EDT 2018


The branch, 4.4/disabled-user-in-single-custom-role has been created
        at  72fcc41ed3580106c7f06bd7b4eb3ae659c5122a (commit)

- Log -----------------------------------------------------------------
commit 6d15ecf9581f1bd8a1bee4100b783d484ae9f539
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Wed Apr 25 04:48:38 2018 +0800

    Show the user in single member custom roles even if the user is disabled
    
    It feels more correct to make it behave like Owner field.
    
    The previous behavior had 2 issues:
    
    * Web UI shows Nobody, which is kinda misleading.
    
    * Page dies if you try to change it, the error is like:
    
        Can't call method "PrincipalId" on an undefined value

diff --git a/lib/RT/Ticket.pm b/lib/RT/Ticket.pm
index e8046c446..3335a1c00 100644
--- a/lib/RT/Ticket.pm
+++ b/lib/RT/Ticket.pm
@@ -658,6 +658,7 @@ sub AddWatcher {
     my $group = $self->RoleGroup( $args{Type} );
     if ($group->id && $group->SingleMemberRoleGroup) {
         my $users = $group->UserMembersObj( Recursively => 0 );
+        $users->{find_disabled_rows} = 1;
         $original_user = $users->First;
         if ($original_user->PrincipalId == $principal->Id) {
             return 1;
diff --git a/share/html/Elements/SingleUserRoleInput b/share/html/Elements/SingleUserRoleInput
index f3ca51531..f86e2ec88 100644
--- a/share/html/Elements/SingleUserRoleInput
+++ b/share/html/Elements/SingleUserRoleInput
@@ -61,6 +61,7 @@ if (!defined($Default)) {
     if (!$User && $Ticket) {
          my $group = $Ticket->RoleGroup($role->GroupType);
          my $users = $group->UserMembersObj( Recursively => 0 );
+         $users->{find_disabled_rows} = 1;
          $User = $users->First;
     }
     $Default = (!$User || $User->Id == RT->Nobody->id ? "" : $User->Name);
diff --git a/share/html/Ticket/Elements/ShowPeople b/share/html/Ticket/Elements/ShowPeople
index edcdb6d6f..5e5a8cc95 100644
--- a/share/html/Ticket/Elements/ShowPeople
+++ b/share/html/Ticket/Elements/ShowPeople
@@ -60,6 +60,7 @@
 % while (my $role = $single_roles->Next) {
 %     my $group = $Ticket->RoleGroup($role->GroupType);
 %     my $users = $group->UserMembersObj( Recursively => 0 );
+%     $users->{find_disabled_rows} = 1;
 
 %# $users can be empty for tickets created before the custom role is added to the queue,
 %# so fall back to nobody

commit 72fcc41ed3580106c7f06bd7b4eb3ae659c5122a
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Wed Apr 25 04:58:35 2018 +0800

    Indent fix

diff --git a/share/html/Elements/SingleUserRoleInput b/share/html/Elements/SingleUserRoleInput
index f86e2ec88..4afa6bf93 100644
--- a/share/html/Elements/SingleUserRoleInput
+++ b/share/html/Elements/SingleUserRoleInput
@@ -59,10 +59,10 @@
 <%INIT>
 if (!defined($Default)) {
     if (!$User && $Ticket) {
-         my $group = $Ticket->RoleGroup($role->GroupType);
-         my $users = $group->UserMembersObj( Recursively => 0 );
-         $users->{find_disabled_rows} = 1;
-         $User = $users->First;
+        my $group = $Ticket->RoleGroup($role->GroupType);
+        my $users = $group->UserMembersObj( Recursively => 0 );
+        $users->{find_disabled_rows} = 1;
+        $User = $users->First;
     }
     $Default = (!$User || $User->Id == RT->Nobody->id ? "" : $User->Name);
 }

-----------------------------------------------------------------------


More information about the rt-commit mailing list