[Rt-commit] rt branch 5.0/fix-default-catalog-on-asset-creation created. rt-5.0.5-163-gbb751418b5

BPS Git Server git at git.bestpractical.com
Mon Mar 11 21:06:27 UTC 2024


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".

The branch, 5.0/fix-default-catalog-on-asset-creation has been created
        at  bb751418b557c7caa19f32b7de29e2e72859dcd7 (commit)

- Log -----------------------------------------------------------------
commit bb751418b557c7caa19f32b7de29e2e72859dcd7
Author: Ronaldo Richieri <ronaldo at bestpractical.com>
Date:   Mon Mar 11 18:00:46 2024 -0300

    Display first accessible catalog when default unset
    
    Users were wrongly receiving a permission denied error when no default
    catalog was set on their account or if the default catalog of the system
    was one that they did not have access to, or even if there was not default
    catalog set on the system.
    
    This change will show the first available catalog for the user when no
    default catalog is set based on the catalogs that the user has access to
    create assets in.

diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index e47fa96069..cfb8c29317 100644
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -4634,8 +4634,11 @@ sub LoadDefaultCatalog {
         # If no catalog, default to the first active catalog
         my $catalogs = RT::Catalogs->new($session{CurrentUser});
         $catalogs->UnLimit;
-        my $candidate = $catalogs->First;
-        $catalog_obj = $candidate if $candidate;
+        while ( my $catalog = $catalogs->Next ) {
+            next unless $catalog->CurrentUserHasRight('CreateAsset');
+            $catalog_obj = $catalog;
+            last;
+        }
         RT::Logger->error("No active catalogs.")
             unless $catalog_obj and $catalog_obj->Id;
     }

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


hooks/post-receive
-- 
rt


More information about the rt-commit mailing list