summaryrefslogtreecommitdiff
path: root/rt/share/html/Admin/Elements/SelectScripCondition
diff options
context:
space:
mode:
Diffstat (limited to 'rt/share/html/Admin/Elements/SelectScripCondition')
-rwxr-xr-xrt/share/html/Admin/Elements/SelectScripCondition16
1 files changed, 13 insertions, 3 deletions
diff --git a/rt/share/html/Admin/Elements/SelectScripCondition b/rt/share/html/Admin/Elements/SelectScripCondition
index 67438a72a..1023df6e0 100755
--- a/rt/share/html/Admin/Elements/SelectScripCondition
+++ b/rt/share/html/Admin/Elements/SelectScripCondition
@@ -2,7 +2,7 @@
%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC
%# <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
@@ -62,9 +62,19 @@ form.submit()">
<%INIT>
my $ScripConditions = RT::ScripConditions->new($session{'CurrentUser'});
-$ScripConditions->UnLimit;
-$ScripConditions->OrderBy(FIELD => 'Name');
+# hide user-defined if the user can't execute code
+if ($session{CurrentUser}->HasRight(Object => $RT::System, Right => 'ExecuteCode')) {
+ $ScripConditions->UnLimit;
+} else {
+ $ScripConditions->Limit(
+ FIELD => 'ExecModule',
+ OPERATOR => '!=',
+ VALUE => 'UserDefined',
+ );
+}
+
+$ScripConditions->OrderBy(FIELD => 'Name');
</%INIT>
<%ARGS>