import of rt 3.0.9
[freeside.git] / rt / html / Ticket / Elements / AddWatchers
1 %# BEGIN LICENSE BLOCK
2 %# 
3 %# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
4 %# 
5 %# (Except where explictly superceded by other copyright notices)
6 %# 
7 %# This work is made available to you under the terms of Version 2 of
8 %# the GNU General Public License. A copy of that license should have
9 %# been provided with this software, but in any event can be snarfed
10 %# from www.gnu.org.
11 %# 
12 %# This work is distributed in the hope that it will be useful, but
13 %# WITHOUT ANY WARRANTY; without even the implied warranty of
14 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 %# General Public License for more details.
16 %# 
17 %# Unless otherwise specified, all modifications, corrections or
18 %# extensions to this work which alter its source code become the
19 %# property of Best Practical Solutions, LLC when submitted for
20 %# inclusion in the work.
21 %# 
22 %# 
23 %# END LICENSE BLOCK
24 <BR>
25 <%$msg%><br>
26
27 <&|/l&>Add new watchers</&>:<br>
28
29 <table>
30 % if ($Users and $Users->Count) {
31 <tr><td>
32 <&|/l&>Type</&>
33 </td><td>
34 <&|/l&>Username</&>
35 </td></tr>
36 % while (my $u = $Users->Next ) {
37 <tr><td><&/Elements/SelectWatcherType, Name => "Ticket-AddWatcher-Principal-".$u->PrincipalId &></td><td><%$u->Name%> (<%$u->RealName%>)</td></tr>
38 % }
39 % }
40
41 % if ($Groups and $Groups->Count) {
42 <tr><td>
43 <&|/l&>Type</&>
44 </td><td>
45 <&|/l&>Group</&>
46 </td></tr>
47 % while (my $g = $Groups->Next ) {
48 <tr><td><&/Elements/SelectWatcherType, Name => "Ticket-AddWatcher-Principal-".$g->PrincipalId, Scope => 'queue' &></td><td><%$g->Name%> (<%$g->Description%>)</td></tr>
49 % }
50 % }
51
52 <tr><td>
53 <&|/l&>Type</&>
54 </td><td>
55 <&|/l&>Email</&>
56 </td></tr>
57 <tr><td>
58 <&/Elements/SelectWatcherType, Name => "WatcherTypeEmail1" &>
59 </td><td>
60 <input name="WatcherAddressEmail1" size=15>
61 </td></tr>
62 <tr><td>
63 <&/Elements/SelectWatcherType, Name => "WatcherTypeEmail2" &> 
64 </td><td>
65 <input name="WatcherAddressEmail2" size=15>
66 </td></tr>
67 <tr><td>
68 <&/Elements/SelectWatcherType, Name => "WatcherTypeEmail3" &>
69 </td><td>
70 <input name="WatcherAddressEmail3" size=15>
71 </td></tr>
72 </table>
73
74 <%INIT>
75 my ($msg, $Users, $Groups);
76
77 if ($UserString) {
78     $Users = RT::Users->new($session{'CurrentUser'});
79     $Users->Limit(FIELD => $UserField, VALUE => $UserString, OPERATOR => $UserOp);
80     $Users->LimitToPrivileged if $PrivilegedOnly;
81      }
82
83 if ($GroupString) {
84     $Groups = RT::Groups->new($session{'CurrentUser'});
85     $Groups->Limit(FIELD => 'Domain', OPERATOR => '=', VALUE => 'UserDefined');
86     $Groups->Limit(FIELD => $GroupField, VALUE => $GroupString, OPERATOR => $GroupOp);
87      }
88
89 </%INIT>
90
91 <%ARGS>
92 $UserField => 'Name'
93 $UserOp => '='
94 $UserString => undef
95 $GroupField => 'Name'
96 $GroupOp => '='
97 $GroupString => undef
98 $PrivilegedOnly => undef
99 </%ARGS>