[Rt-commit] rt branch, 5.0/user-summary-assets, updated. rt-5.0.0alpha1-207-g41ee08213c

Jim Brandt jbrandt at bestpractical.com
Mon May 4 12:01:45 EDT 2020


The branch, 5.0/user-summary-assets has been updated
       via  41ee08213c2076b3634f0265ce453dcc7999e7b3 (commit)
       via  3bafa3717343532bb5adc2d5a7d410b7b8da842b (commit)
      from  f726997126b9295d882cf1bddeed39e22517b603 (commit)

Summary of changes:
 share/html/Group/Elements/AssetList            | 20 +++++++++-----------
 share/html/Group/Elements/Portlets/GroupAssets |  2 +-
 share/html/SelfService/Asset/index.html        |  2 +-
 share/html/User/Elements/AssetList             | 19 +++++++++----------
 share/html/User/Elements/Portlets/UserAssets   |  2 +-
 5 files changed, 21 insertions(+), 24 deletions(-)

- Log -----------------------------------------------------------------
commit 3bafa3717343532bb5adc2d5a7d410b7b8da842b
Author: Jim Brandt <jbrandt at bestpractical.com>
Date:   Mon May 4 11:41:19 2020 -0400

    Convert asset lists to FromSQL searches
    
    Also use the Roles arg to define the query rather than the
    hard-coded list previously. Roles can now be modified via
    callback.

diff --git a/share/html/Group/Elements/AssetList b/share/html/Group/Elements/AssetList
index d35b03e98e..ccdeeec0b8 100644
--- a/share/html/Group/Elements/AssetList
+++ b/share/html/Group/Elements/AssetList
@@ -47,14 +47,7 @@
 %# END BPS TAGGED BLOCK }}}
 <%INIT>
 my $assets = RT::Assets->new($session{CurrentUser});
-$m->callback( CallbackName => 'ModifyAssetSearch', %ARGS, Assets => $assets, Roles => \@Roles );
-for my $role (@Roles) {
-    $assets->RoleLimit(
-        TYPE        => $role,
-        VALUE       => $Group->PrincipalId,
-        SUBCLAUSE   => "Role$role",
-    );
-}
+
 my $Format = q[
     '<b><a href="__WebHomePath__/Asset/Display.html?id=__id__">__id__</a></b>/TITLE:#',
     '<b><a href="__WebHomePath__/Asset/Display.html?id=__id__">__Name__</a></b>/TITLE:Name',
@@ -63,16 +56,21 @@ my $Format = q[
 $m->callback( CallbackName => 'ModifyFormat', %ARGS, Format => \$Format );
 
 my %QueryProperties = (
-    Query      => join(' OR ', map { "$_.id = ".$Group->PrincipalId } ('HeldBy', 'Contact', 'Owner') ),
+    Query      => join(' OR ', map { "$_.id = ".$Group->PrincipalId } @Roles ),
     OrderBy    => 'id',
     Order      => 'ASC',
 );
-
 $m->callback( CallbackName => 'ModifyQueryProperties',
     %ARGS,
     QueryProperties => \%QueryProperties,
+    Roles => \@Roles,
 );
 
+my ($ok, $msg) = $assets->FromSQL($QueryProperties{Query});
+RT->Logger->error('Unable to parse asset query ' . $QueryProperties{Query} . ' : $msg')
+    unless $ok;
+$m->callback( CallbackName => 'ModifyAssetSearch', %ARGS, Assets => $assets, Roles => \@Roles );
+
 my $query_string = $m->comp('/Elements/QueryString',
     Class       => 'RT::Assets',
     Query       => $QueryProperties{Query},
@@ -110,6 +108,6 @@ my $bulk_update_url  =
 <%ARGS>
 $Group
 $Title
- at Roles
+ at Roles => ('HeldBy', 'Contact', 'Owner')
 $HasResults => undef
 </%ARGS>
diff --git a/share/html/Group/Elements/Portlets/GroupAssets b/share/html/Group/Elements/Portlets/GroupAssets
index 88aa7a2ee2..e4a4b563e7 100644
--- a/share/html/Group/Elements/Portlets/GroupAssets
+++ b/share/html/Group/Elements/Portlets/GroupAssets
@@ -46,7 +46,7 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 %# Roles => [''] triggers the magical RoleLimit behavior that matches any role
-<& /Group/Elements/AssetList, Group => $Group, Roles => [''], Title => loc('Assigned Assets') &>
+<& /Group/Elements/AssetList, Group => $Group, Title => loc('Assigned Assets') &>
 <%ARGS>
 $Group
 </%ARGS>
diff --git a/share/html/User/Elements/AssetList b/share/html/User/Elements/AssetList
index 061a3a4361..ffd4a15c6e 100644
--- a/share/html/User/Elements/AssetList
+++ b/share/html/User/Elements/AssetList
@@ -47,14 +47,7 @@
 %# END BPS TAGGED BLOCK }}}
 <%init>
 my $assets = RT::Assets->new($session{CurrentUser});
-$m->callback( CallbackName => 'ModifyAssetSearch', %ARGS, Assets => $assets, Roles => \@Roles );
-for my $role (@Roles) {
-    $assets->RoleLimit(
-        TYPE        => $role,
-        VALUE       => $User->PrincipalId,
-        SUBCLAUSE   => "Role$role",
-    );
-}
+
 my $Format = q[
     '<b><a href="__WebHomePath__/Asset/Display.html?id=__id__">__id__</a></b>/TITLE:#',
     '<b><a href="__WebHomePath__/Asset/Display.html?id=__id__">__Name__</a></b>/TITLE:Name',
@@ -63,7 +56,7 @@ my $Format = q[
 $m->callback( CallbackName => 'ModifyFormat', %ARGS, Format => \$Format );
 
 my %QueryProperties = (
-    Query      => join(' OR ', map { "$_.id = ".$User->Id } ('HeldBy', 'Contact', 'Owner') ),
+    Query      => join(' OR ', map { "$_.id = ".$User->Id } @Roles ),
     OrderBy    => 'id',
     Order      => 'ASC',
 );
@@ -71,8 +64,14 @@ my %QueryProperties = (
 $m->callback( CallbackName => 'ModifyQueryProperties',
     %ARGS,
     QueryProperties => \%QueryProperties,
+    Roles => \@Roles,
 );
 
+my ($ok, $msg) = $assets->FromSQL($QueryProperties{Query});
+RT->Logger->error('Unable to parse asset query ' . $QueryProperties{Query} . ' : $msg')
+    unless $ok;
+$m->callback( CallbackName => 'ModifyAssetSearch', %ARGS, Assets => $assets, Roles => \@Roles );
+
 my $query_string = $m->comp('/Elements/QueryString',
     Class       => 'RT::Assets',
     Query       => $QueryProperties{Query},
@@ -110,6 +109,6 @@ my $bulk_update_url  =
 <%args>
 $User
 $Title
- at Roles
+ at Roles => ('HeldBy', 'Contact', 'Owner')
 $HasResults => undef
 </%args>
diff --git a/share/html/User/Elements/Portlets/UserAssets b/share/html/User/Elements/Portlets/UserAssets
index e998fa01f0..54a03852ad 100644
--- a/share/html/User/Elements/Portlets/UserAssets
+++ b/share/html/User/Elements/Portlets/UserAssets
@@ -46,7 +46,7 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 %# Roles => [''] triggers the magical RoleLimit behavior that matches any role
-<& /User/Elements/AssetList, User => $User, Roles => [''], Title => loc('Assigned Assets') &>
+<& /User/Elements/AssetList, User => $User, Title => loc('Assigned Assets') &>
 <%ARGS>
 $User
 </%ARGS>

commit 41ee08213c2076b3634f0265ce453dcc7999e7b3
Author: Jim Brandt <jbrandt at bestpractical.com>
Date:   Mon May 4 11:46:16 2020 -0400

    Show HeldBy assets in self service view
    
    This is consistent with MyAsset for privileged users.

diff --git a/share/html/SelfService/Asset/index.html b/share/html/SelfService/Asset/index.html
index 9fd526f0e8..1bd1901087 100644
--- a/share/html/SelfService/Asset/index.html
+++ b/share/html/SelfService/Asset/index.html
@@ -46,4 +46,4 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <& /SelfService/Elements/Header, Title => loc("My Assets") &>
-<& /User/Elements/AssetList, User => $session{'CurrentUser'}->UserObj, Roles => [''], Title => loc('My Assets') &>
+<& /User/Elements/AssetList, User => $session{'CurrentUser'}->UserObj, Roles => [qw(HeldBy)], Title => loc('My Assets') &>

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


More information about the rt-commit mailing list