X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Flib%2FRT%2FDashboard.pm;h=6d9eeb6bae5422329f1907e5441037f8d2c55fb1;hp=2e2bbc489a2bec283f0f50e4f0bdb409e3a9172d;hb=9aee669886202be7035e6c6049fc71bc99dd3013;hpb=aa38c070977cf63365a4d26a3e4a7e5049ad70d0 diff --git a/rt/lib/RT/Dashboard.pm b/rt/lib/RT/Dashboard.pm index 2e2bbc489..6d9eeb6ba 100644 --- a/rt/lib/RT/Dashboard.pm +++ b/rt/lib/RT/Dashboard.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -67,41 +67,26 @@ package RT::Dashboard; -use RT::SavedSearch; - use strict; use warnings; use base qw/RT::SharedSetting/; +use RT::SavedSearch; + use RT::System; -RT::System::AddRights( - SubscribeDashboard => 'Subscribe to dashboards', #loc_pair - - SeeDashboard => 'View system dashboards', #loc_pair - CreateDashboard => 'Create system dashboards', #loc_pair - ModifyDashboard => 'Modify system dashboards', #loc_pair - DeleteDashboard => 'Delete system dashboards', #loc_pair - - SeeOwnDashboard => 'View personal dashboards', #loc_pair - CreateOwnDashboard => 'Create personal dashboards', #loc_pair - ModifyOwnDashboard => 'Modify personal dashboards', #loc_pair - DeleteOwnDashboard => 'Delete personal dashboards', #loc_pair -); - -RT::System::AddRightCategories( - SubscribeDashboard => 'Staff', - - SeeDashboard => 'General', - CreateDashboard => 'Admin', - ModifyDashboard => 'Admin', - DeleteDashboard => 'Admin', - - SeeOwnDashboard => 'Staff', - CreateOwnDashboard => 'Staff', - ModifyOwnDashboard => 'Staff', - DeleteOwnDashboard => 'Staff', -); +'RT::System'->AddRight( Staff => SubscribeDashboard => 'Subscribe to dashboards'); # loc + +'RT::System'->AddRight( General => SeeDashboard => 'View system dashboards'); # loc +'RT::System'->AddRight( Admin => CreateDashboard => 'Create system dashboards'); # loc +'RT::System'->AddRight( Admin => ModifyDashboard => 'Modify system dashboards'); # loc +'RT::System'->AddRight( Admin => DeleteDashboard => 'Delete system dashboards'); # loc + +'RT::System'->AddRight( Staff => SeeOwnDashboard => 'View personal dashboards'); # loc +'RT::System'->AddRight( Staff => CreateOwnDashboard => 'Create personal dashboards'); # loc +'RT::System'->AddRight( Staff => ModifyOwnDashboard => 'Modify personal dashboards'); # loc +'RT::System'->AddRight( Staff => DeleteOwnDashboard => 'Delete personal dashboards'); # loc + =head2 ObjectName @@ -109,7 +94,7 @@ An object of this class is called "dashboard" =cut -sub ObjectName { "dashboard" } +sub ObjectName { "dashboard" } # loc sub SaveAttribute { my $self = shift; @@ -270,8 +255,7 @@ sub _PrivacyObjects { my $groups = RT::Groups->new($CurrentUser); $groups->LimitToUserDefinedGroups; - $groups->WithMember( PrincipalId => $CurrentUser->Id, - Recursively => 1 ); + $groups->WithCurrentUser; push @objects, @{ $groups->ItemsArrayRef }; push @objects, RT::System->new($CurrentUser); @@ -401,10 +385,7 @@ sub ObjectsForLoading { Right => 'SeeGroupDashboard', IncludeSuperusers => $args{IncludeSuperuserGroups}, ); - $groups->WithMember( - Recursively => 1, - PrincipalId => $CurrentUser->UserObj->PrincipalId - ); + $groups->WithCurrentUser; my $attrs = $groups->Join( ALIAS1 => 'main', FIELD1 => 'id',