From 3ef62a0570055da710328937e7f65dbb2c027c62 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 12 Aug 2002 06:17:09 +0000 Subject: import rt 2.0.14 --- rt/webrt/Admin/Elements/CreateQueueCalled | 3 + rt/webrt/Admin/Elements/CreateUserCalled | 3 + rt/webrt/Admin/Elements/EditUserComments | 9 ++ rt/webrt/Admin/Elements/GrantQueueRightsTo | 30 ++++++ rt/webrt/Admin/Elements/GroupTabs | 18 ++++ rt/webrt/Admin/Elements/Header | 5 + rt/webrt/Admin/Elements/ListGlobalKeywordSelects | 15 +++ rt/webrt/Admin/Elements/ListGlobalScrips | 10 ++ rt/webrt/Admin/Elements/ModifyKeyword | 95 +++++++++++++++++ rt/webrt/Admin/Elements/ModifyKeywordSelect | 120 ++++++++++++++++++++++ rt/webrt/Admin/Elements/ModifyQueue | 56 ++++++++++ rt/webrt/Admin/Elements/ModifyTemplate | 78 ++++++++++++++ rt/webrt/Admin/Elements/ModifyUser | 77 ++++++++++++++ rt/webrt/Admin/Elements/QueueRightsForUser | 17 +++ rt/webrt/Admin/Elements/QueueTabs | 36 +++++++ rt/webrt/Admin/Elements/SelectKeywordSelect | 22 ++++ rt/webrt/Admin/Elements/SelectModifyGroup | 10 ++ rt/webrt/Admin/Elements/SelectModifyKeyword | 13 +++ rt/webrt/Admin/Elements/SelectModifyKeywordSelect | 13 +++ rt/webrt/Admin/Elements/SelectModifyQueue | 10 ++ rt/webrt/Admin/Elements/SelectModifyUser | 26 +++++ rt/webrt/Admin/Elements/SelectQueueRights | 29 ++++++ rt/webrt/Admin/Elements/SelectRights | 58 +++++++++++ rt/webrt/Admin/Elements/SelectScrip | 25 +++++ rt/webrt/Admin/Elements/SelectScripAction | 25 +++++ rt/webrt/Admin/Elements/SelectScripCondition | 25 +++++ rt/webrt/Admin/Elements/SelectSingleOrMultiple | 20 ++++ rt/webrt/Admin/Elements/SelectTemplate | 37 +++++++ rt/webrt/Admin/Elements/SelectUsers | 17 +++ rt/webrt/Admin/Elements/SystemTabs | 31 ++++++ rt/webrt/Admin/Elements/Tabs | 31 ++++++ rt/webrt/Admin/Elements/UserTabs | 21 ++++ 32 files changed, 985 insertions(+) create mode 100755 rt/webrt/Admin/Elements/CreateQueueCalled create mode 100755 rt/webrt/Admin/Elements/CreateUserCalled create mode 100755 rt/webrt/Admin/Elements/EditUserComments create mode 100755 rt/webrt/Admin/Elements/GrantQueueRightsTo create mode 100755 rt/webrt/Admin/Elements/GroupTabs create mode 100755 rt/webrt/Admin/Elements/Header create mode 100644 rt/webrt/Admin/Elements/ListGlobalKeywordSelects create mode 100755 rt/webrt/Admin/Elements/ListGlobalScrips create mode 100644 rt/webrt/Admin/Elements/ModifyKeyword create mode 100644 rt/webrt/Admin/Elements/ModifyKeywordSelect create mode 100755 rt/webrt/Admin/Elements/ModifyQueue create mode 100755 rt/webrt/Admin/Elements/ModifyTemplate create mode 100755 rt/webrt/Admin/Elements/ModifyUser create mode 100644 rt/webrt/Admin/Elements/QueueRightsForUser create mode 100755 rt/webrt/Admin/Elements/QueueTabs create mode 100644 rt/webrt/Admin/Elements/SelectKeywordSelect create mode 100644 rt/webrt/Admin/Elements/SelectModifyGroup create mode 100644 rt/webrt/Admin/Elements/SelectModifyKeyword create mode 100644 rt/webrt/Admin/Elements/SelectModifyKeywordSelect create mode 100755 rt/webrt/Admin/Elements/SelectModifyQueue create mode 100755 rt/webrt/Admin/Elements/SelectModifyUser create mode 100755 rt/webrt/Admin/Elements/SelectQueueRights create mode 100644 rt/webrt/Admin/Elements/SelectRights create mode 100755 rt/webrt/Admin/Elements/SelectScrip create mode 100644 rt/webrt/Admin/Elements/SelectScripAction create mode 100644 rt/webrt/Admin/Elements/SelectScripCondition create mode 100644 rt/webrt/Admin/Elements/SelectSingleOrMultiple create mode 100755 rt/webrt/Admin/Elements/SelectTemplate create mode 100644 rt/webrt/Admin/Elements/SelectUsers create mode 100755 rt/webrt/Admin/Elements/SystemTabs create mode 100755 rt/webrt/Admin/Elements/Tabs create mode 100755 rt/webrt/Admin/Elements/UserTabs (limited to 'rt/webrt/Admin/Elements') diff --git a/rt/webrt/Admin/Elements/CreateQueueCalled b/rt/webrt/Admin/Elements/CreateQueueCalled new file mode 100755 index 000000000..aeed6e786 --- /dev/null +++ b/rt/webrt/Admin/Elements/CreateQueueCalled @@ -0,0 +1,3 @@ +
+Create a queue called +
diff --git a/rt/webrt/Admin/Elements/CreateUserCalled b/rt/webrt/Admin/Elements/CreateUserCalled new file mode 100755 index 000000000..7e4bb7554 --- /dev/null +++ b/rt/webrt/Admin/Elements/CreateUserCalled @@ -0,0 +1,3 @@ +
+New user called +
diff --git a/rt/webrt/Admin/Elements/EditUserComments b/rt/webrt/Admin/Elements/EditUserComments new file mode 100755 index 000000000..1ac7e187f --- /dev/null +++ b/rt/webrt/Admin/Elements/EditUserComments @@ -0,0 +1,9 @@ +<& /Elements/Header, Title => "Comments about $name" &> +These comments aren't generally visible to the user:
+ + + + +<%ARGS> +$UserObj => undef + diff --git a/rt/webrt/Admin/Elements/GrantQueueRightsTo b/rt/webrt/Admin/Elements/GrantQueueRightsTo new file mode 100755 index 000000000..3850a18f2 --- /dev/null +++ b/rt/webrt/Admin/Elements/GrantQueueRightsTo @@ -0,0 +1,30 @@ +
+ +% if ($msg) { +<%$msg%> +% } elsif ($Users) { + +% } + +<%INIT> +my ($msg, $Users); +if (!$ARGS{'UserString'}) { +$msg = "No users selected."; + } +else { + $Users = new RT::Users($session{'CurrentUser'}); + $Users->Limit(FIELD => $ARGS{'UserField'}, + VALUE => $ARGS{'UserString'}, + OPERATOR => $ARGS{'UserOp'}); + } + + +<%ARGS> +$UserField => 'Name' +$UserOp => '=' +$UserString => undef + diff --git a/rt/webrt/Admin/Elements/GroupTabs b/rt/webrt/Admin/Elements/GroupTabs new file mode 100755 index 000000000..261bef1e2 --- /dev/null +++ b/rt/webrt/Admin/Elements/GroupTabs @@ -0,0 +1,18 @@ +<& /Admin/Elements/Tabs, subtabs => $subtabs, current_tab => 'Admin/Groups/' &> +
+<%INIT> +my $subtabs = { + Basics => { title => 'Basics', + path => "Admin/Groups/Modify.html?id=". $GroupObj->id + } + }; + +unless ($GroupObj->Pseudo) { +$subtabs->{'Members'} = { title => 'Members', + path => "Admin/Groups/Members.html?id=".$GroupObj->id }; +} + + +<%ARGS> +$GroupObj => undef + diff --git a/rt/webrt/Admin/Elements/Header b/rt/webrt/Admin/Elements/Header new file mode 100755 index 000000000..95acdac7e --- /dev/null +++ b/rt/webrt/Admin/Elements/Header @@ -0,0 +1,5 @@ +<& /Elements/Header, Title => $Title &> + +<%ARGS> +$Title => undef + diff --git a/rt/webrt/Admin/Elements/ListGlobalKeywordSelects b/rt/webrt/Admin/Elements/ListGlobalKeywordSelects new file mode 100644 index 000000000..b24d68989 --- /dev/null +++ b/rt/webrt/Admin/Elements/ListGlobalKeywordSelects @@ -0,0 +1,15 @@ +% while (my $KeywordSelect = $KeywordSelects->Next()) { + +<%$KeywordSelect->Name %>: +<% $KeywordSelect->Single ? 'Single' : 'Multiple' %> +children of +<% $KeywordSelect->KeywordObj->Path %> +% if ($KeywordSelect->Depth) { + up to <%$KeywordSelect->Depth%> levels deep +% } +
+%} +<%INIT> +my $KeywordSelects = RT::KeywordSelects->new($session{'CurrentUser'}); +$KeywordSelects->LimitToGlobals(); + diff --git a/rt/webrt/Admin/Elements/ListGlobalScrips b/rt/webrt/Admin/Elements/ListGlobalScrips new file mode 100755 index 000000000..2f044bf52 --- /dev/null +++ b/rt/webrt/Admin/Elements/ListGlobalScrips @@ -0,0 +1,10 @@ +% while (my $scrip = $Scrips->Next ) { +<% $scrip->ConditionObj->Name %> +<% $scrip->ActionObj->Name %> +with template <% $scrip->TemplateObj->Name %> +
+% } +<%init> +my $Scrips = new RT::Scrips ($session{'CurrentUser'}); +$Scrips->LimitToGlobal(); + diff --git a/rt/webrt/Admin/Elements/ModifyKeyword b/rt/webrt/Admin/Elements/ModifyKeyword new file mode 100644 index 000000000..4b01c3692 --- /dev/null +++ b/rt/webrt/Admin/Elements/ModifyKeyword @@ -0,0 +1,95 @@ +
+[<%$title |n %>]
+ + +Keyword
+ +Parent + + +Kids (separate by +> +line or +> +whitespace)
+ + +
+ +<& /Elements/Submit, Label => $submit &> +
+ +<%INIT> + +my $Keyword = new RT::Keyword($session{CurrentUser}); +my ($title, $submit, %kids, $kid); + +if ( $Create ) { + $title = "Create a new Keyword"; + $submit = "Create"; + $id = "new"; + %kids = (); + $Parent = ''; #silence +} elsif ( $id eq 'new' ) { + $id = $Keyword->Create( Name => $Name, Parent => $Parent ) + or Abort("can't create keyword Name=>$Name, Parent=>$Parent"); +} else { + $Keyword->Load($id) || Abort("Can't load keyword id $id"); + #foreach my $field ( grep eval "defined(\$$_)", qw( Name Parent )) { + # eval "\$Keyword->Set(\$field=>\$$field); #sigh + #} + $Keyword->SetName($Name) if defined($Name); + $Keyword->SetParent($Parent) if defined($Parent); +} + +$title = "Modify the Keyword ". $Keyword->Name. ""; +$submit = "Modify"; + +my $kids = new RT::Keywords($session{CurrentUser}); +$kids->Limit( FIELD => 'Parent', VALUE => $id, OPERATOR => '=' ); +$kids{$kid->Name} = $kid while $kid = $kids->Next; + +if ( defined($Kids) ) { + my %newkids; + if ( $delim eq 'n' ) { + %newkids = map { $_=>1 } split(/\n/, $Kids); + } elsif ( $delim eq 's' ) { + %newkids = map { $_=>1 } split(' ', $Kids); + } else { + Abort("'$delim' isn't a valid keyword delimiter."); + } + foreach ( grep { ! defined($newkids{$_}) } keys %kids ) { + $kids{$_}->Delete; + delete $kids{$_}; + } + foreach ( grep { ! defined($kids{$_}) } keys %newkids ) { + $kids{$_} = new RT::Keyword($session{CurrentUser}); + $kids{$_}->Create( Name => $_, Parent => $id ) + or Abort("can't create keyword Name=>$_, Parent=>$id"); + } + +} + + +my $parent; +my $parents = new RT::Keywords($session{CurrentUser}); +$parents->UnLimit; + +$delim = ( grep /\s/, keys %kids ) ? 'n' : 's'; +my $kidstring = join("\n", keys %kids); + + + +<%ARGS> +$id => undef +$Create => undef +$Name => undef +$Parent => undef +$Kids => undef +$delim => undef + diff --git a/rt/webrt/Admin/Elements/ModifyKeywordSelect b/rt/webrt/Admin/Elements/ModifyKeywordSelect new file mode 100644 index 000000000..470e62929 --- /dev/null +++ b/rt/webrt/Admin/Elements/ModifyKeywordSelect @@ -0,0 +1,120 @@ +
+ + [<%$title |n %>] +
+ + + Keyword + +
+ Object + +
+ + + + Limit to +
+ + Single ? ' CHECKED' : '' %>>Allow single selection only
+ Limit to generations (0 = no limit)
+ <& /Elements/Submit, Label => $submit &> + +
+ +<%INIT> + + +my $KeywordSelect = new RT::KeywordSelect($session{CurrentUser}); + +my($title, $submit); + +if ( $Create ) { + $title = "Create a new KeywordSelect"; + $submit = "Create"; + $id = "new"; +} else { + if ( $id eq 'new' ) { + $id = $KeywordSelect->Create ( + Parent => $Parent, + ObjectType => $ObjectType, + ObjectField => $ObjectField, + ObjectValue => $ObjectValue, + Single => $Single, + Generations => $Generations, + ) or Abort "can't create KeywordSelect"; + } else { + $KeywordSelect->Load($id) || Abort("Can't load keyword id $id"); + #false laziness + $KeywordSelect->SetParent($Parent) if defined($Parent); + $KeywordSelect->SetObjectType($ObjectType) if defined($ObjectType); + $KeywordSelect->SetObjectField($ObjectField) if defined($ObjectField); + $KeywordSelect->SetObjectValue($ObjectValue) if defined($ObjectValue); + $KeywordSelect->SetSingle($Single) if defined($SingleMagic); + $KeywordSelect->SetGenerations($Generations) if defined($Generations); + } + $title = "Modify the KeywordSelect ". $KeywordSelect->KeywordObj->Name. ""; + $submit = "Modify"; + +} + + my $parents = new RT::Keywords($session{CurrentUser}); + $parents->UnLimit; + my $parent; + +my $queues = new RT::Queues($session{CurrentUser}); +$queues->UnLimit; + +my %queues; +my $queue; +$queues{$queue->id} = $queue->Name while $queue = $queues->Next; + + + +<%ARGS> +$id => undef +$Create => undef +$Parent => undef +$ObjectType => undef +$ObjectField => undef +$ObjectValue => undef +$Single => undef +$SingleMagic => undef +$Generations => undef + + diff --git a/rt/webrt/Admin/Elements/ModifyQueue b/rt/webrt/Admin/Elements/ModifyQueue new file mode 100755 index 000000000..a641c81af --- /dev/null +++ b/rt/webrt/Admin/Elements/ModifyQueue @@ -0,0 +1,56 @@ + +<& /Elements/TitleBoxStart, title => 'Editing Configuration for queue '.$QueueObj->Id &> + +
+ + + + + + + + + + + + + + + + + +
+Queue Name: +
+Description:
+Correspondence Address: + + + + +Comment Address: + +
+Priority starts at: + + +Over time, priority moves toward: + +
+Requests should be due in: + + days. +
+<& /Elements/Submit &> +
+<& /Elements/TitleBoxEnd &> + +<%INIT> + + + +<%ARGS> + + +$QueueObj => undef + diff --git a/rt/webrt/Admin/Elements/ModifyTemplate b/rt/webrt/Admin/Elements/ModifyTemplate new file mode 100755 index 000000000..6e4f8a379 --- /dev/null +++ b/rt/webrt/Admin/Elements/ModifyTemplate @@ -0,0 +1,78 @@ + +<& /Elements/TitleBoxStart, title => 'Editing Configuration for user '.$UserObj->Name &> + +
+ + +Name: +
+New Password:
+Retype Password:
+ +Comments: + +
+Signature: +
+EmailAddress: +
+FreeformContactInfo: +
+Organization: +
+RealName: +
+NickName: +
+Lang: +
+EmailEncoding: +
+WebEncoding: +
+ExternalContactInfoId: +
+ContactInfoSystem: +
+Gecos: +
+ExternalAuthId: +
+AuthSystem: +
+HomePhone: +
+WorkPhone: +
+MobilePhone: +
+PagerPhone: +
+Address1: +
+Address2: +
+City: +
+State: +
+Zip: +
+Country: +
+ + +
+<& /Elements/TitleBoxEnd &> + +<%INIT> + + + +<%ARGS> + + +$UserObj => undef + diff --git a/rt/webrt/Admin/Elements/ModifyUser b/rt/webrt/Admin/Elements/ModifyUser new file mode 100755 index 000000000..53aa027c0 --- /dev/null +++ b/rt/webrt/Admin/Elements/ModifyUser @@ -0,0 +1,77 @@ + +<& /Elements/TitleBoxStart, title => 'Editing Configuration for user '.$UserObj->Name &> + +
+ + +Name: +
+New Password:
+Retype Password:
+ +Comments: + +
+Signature: +
+EmailAddress: +
+FreeformContactInfo: +
+Organization: +
+RealName: +
+NickName: +
+Lang: +
+EmailEncoding: +
+WebEncoding: +
+ExternalContactInfoId: +
+ContactInfoSystem: +
+Gecos: +
+ExternalAuthId: +
+AuthSystem: +
+HomePhone: +
+WorkPhone: +
+MobilePhone: +
+PagerPhone: +
+Address1: +
+Address2: +
+City: +
+State: +
+Zip: +
+Country: +
+<& /Elements/Submit &> +
+<& /Elements/TitleBoxEnd &> + +<%INIT> + + + +<%ARGS> + + +$UserObj => undef + diff --git a/rt/webrt/Admin/Elements/QueueRightsForUser b/rt/webrt/Admin/Elements/QueueRightsForUser new file mode 100644 index 000000000..e62a124ce --- /dev/null +++ b/rt/webrt/Admin/Elements/QueueRightsForUser @@ -0,0 +1,17 @@ + + +<%INIT> +my $ACL = new RT::ACL($session{'CurrentUser'}); +$ACL->LimitToQueue($QueueObj->id); +$ACL->LimitPrincipalToUser($PrincipalId); + +<%ARGS> +$PrincipalId => undef +$QueueObj => undef + diff --git a/rt/webrt/Admin/Elements/QueueTabs b/rt/webrt/Admin/Elements/QueueTabs new file mode 100755 index 000000000..b7da7e007 --- /dev/null +++ b/rt/webrt/Admin/Elements/QueueTabs @@ -0,0 +1,36 @@ +<& /Admin/Elements/Tabs, subtabs => $subtabs, current_tab => 'Admin/Queues/' &> +
+<%INIT> + my $subtabs = { + A => { title => 'Basics', + path => "Admin/Queues/Modify.html?id=".$id, + }, + B => { title => 'Watchers', + path => "Admin/Queues/People.html?id=".$id, + }, + + C => { title => 'Scrips', + path => "Admin/Queues/Scrips.html?id=".$id, + }, + D => { title => 'Templates', + path => "Admin/Queues/Templates.html?id=".$id, + }, + E => { title => 'Keyword Selections', + path => "Admin/Queues/Keywords.html?id=".$id, + }, + F => { title => 'Group Rights', + path => "Admin/Queues/GroupRights.html?id=".$id, + }, + G => { title => 'User Rights', + path => "Admin/Queues/UserRights.html?id=".$id, + }, + + + +}; + + + +<%ARGS> +$id => undef + diff --git a/rt/webrt/Admin/Elements/SelectKeywordSelect b/rt/webrt/Admin/Elements/SelectKeywordSelect new file mode 100644 index 000000000..f5a8d77cd --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectKeywordSelect @@ -0,0 +1,22 @@ +: +<& /Admin/Elements/SelectSingleOrMultiple, + Name => $NamePrefix.'-Single', + Default => $KeywordSelect->Single &> + +children of +<& /Elements/SelectKeyword, Root => '0', + Name => $NamePrefix.'-Keyword', + Default => $KeywordSelect->KeywordObj->Id &> + up to levels deep. +<%INIT> +unless ($NamePrefix) { + $NamePrefix = $KeywordSelect->Id; +} +$NamePrefix = "KeywordSelect-$NamePrefix"; + + + +<%ARGS> +$KeywordSelect => undef +$NamePrefix => undef + \ No newline at end of file diff --git a/rt/webrt/Admin/Elements/SelectModifyGroup b/rt/webrt/Admin/Elements/SelectModifyGroup new file mode 100644 index 000000000..45d437f41 --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectModifyGroup @@ -0,0 +1,10 @@ +%while ( $Group = $Groups->Next) { +<%$Group->id%>: <%$Group->Name%>
+%} +<%INIT> +my ($Group); +my $Groups = new RT::Groups($session{'CurrentUser'}); +$Groups->UnLimit; + +<%ARGS> + diff --git a/rt/webrt/Admin/Elements/SelectModifyKeyword b/rt/webrt/Admin/Elements/SelectModifyKeyword new file mode 100644 index 000000000..6af223229 --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectModifyKeyword @@ -0,0 +1,13 @@ +%while ( $keyword = $keywords->Next ) { +<%$keyword->id%>: <%$keyword->Name%>
+%} + +<%INIT> + +use RT::Keywords; + +my $keyword; +my $keywords = new RT::Keywords $session{CurrentUser}; +$keywords->UnLimit; + + diff --git a/rt/webrt/Admin/Elements/SelectModifyKeywordSelect b/rt/webrt/Admin/Elements/SelectModifyKeywordSelect new file mode 100644 index 000000000..c91eb6cfe --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectModifyKeywordSelect @@ -0,0 +1,13 @@ +%while ( $keywordselect = $keywordselects->Next ) { +<%$keywordselect->id%>: ( <%$keywordselect->Parent%>: <%$keywordselect->KeywordObj->Name%> )
+%} + +<%INIT> + +use RT::KeywordSelects; + +my $keywordselect; +my $keywordselects = new RT::KeywordSelects $session{CurrentUser}; +$keywordselects->UnLimit; + + diff --git a/rt/webrt/Admin/Elements/SelectModifyQueue b/rt/webrt/Admin/Elements/SelectModifyQueue new file mode 100755 index 000000000..1c6cd7d5e --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectModifyQueue @@ -0,0 +1,10 @@ +%while ( $queue = $queues->Next) { +<%$queue->id%>: <%$queue->Name%>
+%} +<%INIT> +my ($queue); +my $queues = new RT::Queues($session{'CurrentUser'}); +$queues->UnLimit; + +<%ARGS> + diff --git a/rt/webrt/Admin/Elements/SelectModifyUser b/rt/webrt/Admin/Elements/SelectModifyUser new file mode 100755 index 000000000..da49212e4 --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectModifyUser @@ -0,0 +1,26 @@ +%while ( $user = $users->Next) { +<%$user->id%>: <%$user->Name%>
+%} +<%INIT> +my ($user); +my $users = new RT::Users($session{'CurrentUser'}); +$users->Limit(FIELD => 'id', + VALUE => $RT::SystemUser->id, + OPERATOR => '!=' ); + +if (defined $IdLike) { +$users->Limit(FIELD => 'Name', + VALUE => $IdLike, + OPERATOR => 'LIKE' ); +} +if (defined $EmailLike) { +$users->Limit(FIELD => 'EmailAddress', + VALUE => $EmailLike, + OPERATOR => 'LIKE'); + +} + +<%ARGS> +$IdLike => undef +$EmailLike => undef + diff --git a/rt/webrt/Admin/Elements/SelectQueueRights b/rt/webrt/Admin/Elements/SelectQueueRights new file mode 100755 index 000000000..6861d40c6 --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectQueueRights @@ -0,0 +1,29 @@ +%# $Header: /home/cvs/cvsroot/freeside/rt/webrt/Admin/Elements/Attic/SelectQueueRights,v 1.1 2002-08-12 06:17:08 ivan Exp $ + + +<%ONCE> + +use RT::ACE; +my $ACE = new RT::ACE($session{'CurrentUser'}); +my %QueueRights = $ACE->QueueRights; +my %TicketRights = $ACE->TicketRights; + +my ($key, $right, @rights); + +foreach $key (sort keys %QueueRights) { +push (@rights, $QueueRights{$key} . " ($key)"); +} +foreach $key (sort keys %TicketRights) { +push (@rights, $TicketRights{$key} . " ($key)"); +} + +<%ARGS> +$Name => undef +$Default => undef + + diff --git a/rt/webrt/Admin/Elements/SelectRights b/rt/webrt/Admin/Elements/SelectRights new file mode 100644 index 000000000..0ac774985 --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectRights @@ -0,0 +1,58 @@ + + + + + + +
+

New rights

+ +
+

Current rights

+(Check box to revoke right)
+% while (my $right = $ACLObj->Next()) { +% if ($right->RightName) { + <%$right->RightName%>
+% } +% } +
+<%INIT> + my ($right, $ACLDesc, $AppliesTo, %Rights); + + + my $ACLObj = new RT::ACL($session{'CurrentUser'}); + my $ACE = new RT::ACE($session{'CurrentUser'}); + + if ($Scope eq 'Queue') { + $AppliesTo = $QueueObj->Id; + $ACLObj->LimitToQueue($AppliesTo); + %Rights = $ACE->QueueRights(); + } + elsif ($Scope eq 'System') { + $AppliesTo = 0; + $ACLObj->LimitToSystem(); + %Rights = ( $ACE->SystemRights , $ACE->QueueRights()); + } + + if ($PrincipalType eq 'Group') { + $ACLObj->LimitPrincipalToGroup($PrincipalObj->Id); + } + elsif ($PrincipalType eq 'User') { + $ACLObj->LimitPrincipalToUser($PrincipalObj->Id); + } + + $ACLDesc = "$PrincipalType-".$PrincipalObj->Id."-$Scope-$AppliesTo"; + + +<%ARGS> +$PrincipalType => undef +$PrincipalObj => undef +$Scope => undef +$QueueObj => undef + diff --git a/rt/webrt/Admin/Elements/SelectScrip b/rt/webrt/Admin/Elements/SelectScrip new file mode 100755 index 000000000..4ae15d8c3 --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectScrip @@ -0,0 +1,25 @@ + + +<%INIT> +my $Scrips = RT::Scrips->new($session{'CurrentUser'}); +$Scrips->UnLimit; + + + + +<%ARGS> + +$Default => undef +$Name => 'Scrip' + + diff --git a/rt/webrt/Admin/Elements/SelectScripAction b/rt/webrt/Admin/Elements/SelectScripAction new file mode 100644 index 000000000..08a173493 --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectScripAction @@ -0,0 +1,25 @@ + + +<%INIT> +my $ScripActions = RT::ScripActions->new($session{'CurrentUser'}); +$ScripActions->UnLimit; + + + + +<%ARGS> + +$Default => undef +$Name => 'ScripAction' + + diff --git a/rt/webrt/Admin/Elements/SelectScripCondition b/rt/webrt/Admin/Elements/SelectScripCondition new file mode 100644 index 000000000..434f0c4ae --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectScripCondition @@ -0,0 +1,25 @@ + + +<%INIT> +my $ScripConditions = RT::ScripConditions->new($session{'CurrentUser'}); +$ScripConditions->UnLimit; + + + + +<%ARGS> + +$Default => undef +$Name => 'ScripCondition' + + diff --git a/rt/webrt/Admin/Elements/SelectSingleOrMultiple b/rt/webrt/Admin/Elements/SelectSingleOrMultiple new file mode 100644 index 000000000..307b0211c --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectSingleOrMultiple @@ -0,0 +1,20 @@ + + + +<%INIT> +my ($SingleDefault, $MultipleDefault); +if ($Default == 1) { + $SingleDefault = "SELECTED"; +} +elsif ($Default == 0 ) { + $MultipleDefault = "SELECTED"; +} + + +<%ARGS> +$Name => 'Single' +$Default => 1 + diff --git a/rt/webrt/Admin/Elements/SelectTemplate b/rt/webrt/Admin/Elements/SelectTemplate new file mode 100755 index 000000000..76550dc4e --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectTemplate @@ -0,0 +1,37 @@ + + +<%INIT> + + +my $PrimaryTemplates = RT::Templates->new($session{'CurrentUser'}); +if ($DefaultQueue != 0) { +$PrimaryTemplates->LimitToQueue($DefaultQueue); +} + +my $OtherTemplates = RT::Templates->new($session{'CurrentUser'}); +$OtherTemplates->LimitToGlobal($DefaultQueue); + + +<%ARGS> + +$Default => 'none' +$DefaultQueue => undef +$Name => 'Template' + + diff --git a/rt/webrt/Admin/Elements/SelectUsers b/rt/webrt/Admin/Elements/SelectUsers new file mode 100644 index 000000000..af51c60f9 --- /dev/null +++ b/rt/webrt/Admin/Elements/SelectUsers @@ -0,0 +1,17 @@ + + +<%INIT> +my $users = new RT::Users($session{'CurrentUser'}); + +$users->Limit(FIELD => 'id', VALUE => $RT::SystemUser->id, OPERATOR => '!=' ); +$users->Limit(FIELD => 'id', VALUE => $RT::Nobody->id, OPERATOR => '!=' ); +$users->LimitToPrivileged(); + + +<%ARGS> +$Name => 'Users' + diff --git a/rt/webrt/Admin/Elements/SystemTabs b/rt/webrt/Admin/Elements/SystemTabs new file mode 100755 index 000000000..f8b23128b --- /dev/null +++ b/rt/webrt/Admin/Elements/SystemTabs @@ -0,0 +1,31 @@ +<& /Admin/Elements/Tabs, subtabs => $subtabs, current_tab => 'Admin/Global/', current_subtab => $current_subtab &> +
+<%INIT> + my $subtabs = { + + A => { title => 'Scrips', + path => 'Admin/Global/Scrips.html', + }, + Ba => { title => 'Keyword Selections', + path => 'Admin/Global/Keywords.html', + }, + + B => { title => 'Templates', + path => 'Admin/Global/Templates.html', + }, + C => { title => 'Group Rights', + path => 'Admin/Global/GroupRights.html', + }, + D => { title => 'User Rights', + path => 'Admin/Global/UserRights.html', + } + + +}; + + + +<%ARGS> +$id => undef +$current_subtab => undef + diff --git a/rt/webrt/Admin/Elements/Tabs b/rt/webrt/Admin/Elements/Tabs new file mode 100755 index 000000000..ee6d82b58 --- /dev/null +++ b/rt/webrt/Admin/Elements/Tabs @@ -0,0 +1,31 @@ +<& /Elements/Tabs, tabs => $tabs, subtabs => $subtabs, current_toptab => 'Admin/', current_tab => $current_tab, current_subtab => $current_subtab&> + +
+ +<%INIT> + my $tabs = { Users => { title => 'Users', + path => 'Admin/Users/', + }, + Groups => { title => 'Groups', + path => 'Admin/Groups/', + }, + Queues => { title => 'Queues', + path => 'Admin/Queues/', + }, + System => { 'title' => 'Global', + path => 'Admin/Global/', + }, + Keywords => { title => 'Keywords', + path => 'Admin/Keywords/', + }, + + + }; + + + +<%ARGS> +$subtabs => undef +$current_tab => undef +$current_subtab => undef + diff --git a/rt/webrt/Admin/Elements/UserTabs b/rt/webrt/Admin/Elements/UserTabs new file mode 100755 index 000000000..bbf17314d --- /dev/null +++ b/rt/webrt/Admin/Elements/UserTabs @@ -0,0 +1,21 @@ +<& /Admin/Elements/Tabs, subtabs => $subtabs, + current_tab => 'Admin/Users/', + current_subtab => $current_subtab &> +
+<%INIT> +my $subtabs = { + Queues => { title => 'Basics', + path => "Admin/Users/Modify.html?id=".$id + }, +# Scrips => { title => 'Rights', +# path => "Admin/Users/Rights.html?id=".$id +# } + + }; + + + +<%ARGS> +$id => undef +$current_subtab => undef + -- cgit v1.2.1