Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bestpractical/rt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'share/html/Search/Elements/PickCustomRoles')
-rw-r--r--share/html/Search/Elements/PickCustomRoles31
1 files changed, 23 insertions, 8 deletions
diff --git a/share/html/Search/Elements/PickCustomRoles b/share/html/Search/Elements/PickCustomRoles
index b24956e6fb..ab86e39f04 100644
--- a/share/html/Search/Elements/PickCustomRoles
+++ b/share/html/Search/Elements/PickCustomRoles
@@ -47,20 +47,35 @@
%# END BPS TAGGED BLOCK }}}
<%ARGS>
%queues => ()
+%catalogs => ()
</%ARGS>
<%INIT>
RT->Deprecated( Message => '/Search/Elements/PickCustomRoles is obsolete', Remove => '5.2' );
my $CustomRoles = RT::CustomRoles->new( $session{'CurrentUser'});
-foreach my $id (keys %queues) {
- # Gotta load up the $queue object, since queues get stored by name now.
- my $queue = RT::Queue->new($session{'CurrentUser'});
- $queue->Load($id);
- next unless $queue->Id;
- $CustomRoles->LimitToObjectId($queue->Id);
+if ( %queues ) {
+ foreach my $id (keys %queues) {
+ # Gotta load up the $queue object, since queues get stored by name now.
+ my $queue = RT::Queue->new($session{'CurrentUser'});
+ $queue->Load($id);
+ next unless $queue->Id;
+ $CustomRoles->LimitToObjectId($queue->Id);
+ }
+ # If there are no referenced queues, do not limit LookupType to return 0 custom roles.
+ $CustomRoles->LimitToLookupType( RT::Ticket->CustomFieldLookupType ) if $CustomRoles->_isLimited;
}
-# If there are no referenced queues, do not limit LookupType to return 0 custom roles.
-$CustomRoles->LimitToLookupType( RT::Ticket->CustomFieldLookupType ) if $CustomRoles->_isLimited;
+elsif ( %catalogs ) {
+ foreach my $id (keys %catalogs) {
+ # Gotta load up the $catalog object, since catalogs get stored by name now.
+ my $catalog = RT::Catalog->new($session{'CurrentUser'});
+ $catalog->Load($id);
+ next unless $catalog->Id;
+ $CustomRoles->LimitToObjectId($catalog->Id);
+ }
+ # If there are no referenced catalogs, do not limit LookupType to return 0 custom roles.
+ $CustomRoles->LimitToLookupType( RT::Asset->CustomFieldLookupType ) if $CustomRoles->_isLimited;
+}
+
$m->callback(
CallbackName => 'MassageCustomRoles',
CustomRoles => $CustomRoles,