summaryrefslogtreecommitdiff
path: root/rt/webrt/Admin/Groups/Members.html
blob: 4b0e0d04f1ee5bd3f074e12cad69d052cfe9ef67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<& /Admin/Elements/Header, Title => "RT/Admin/Edit the group ". $Group->Name &>
<& /Admin/Elements/GroupTabs, GroupObj => $Group &>
<& /Elements/ListActions, actions => \@results &>


<& /Elements/TitleBoxStart, title => 'Editing membership for group '.$Group->Name &>

<FORM ACTION="<%$RT::WebPath%>/Admin/Groups/Members.html" METHOD=POST>
<INPUT TYPE=HIDDEN NAME=id VALUE="<%$Group->Id%>">
<TABLE WIDTH="100%">
<TR>
<TD>
Add members
</TD>
<TD>
Current members
</TD>
</TR>

<TR>
<TD VALIGN=TOP>
<& /Admin/Elements/SelectUsers, Name => "AddMembers" &>
</TD>
<TD VALIGN=TOP>
% if ($Group->MembersObj->Count == 0 ) {
<i>(No members)</i>
% } else {
(Check box to delete group member)
<UL>
% while (my $member = $Group->MembersObj->Next()) {
<LI><INPUT TYPE=CHECKBOX Name="DeleteMember-<%$member->UserObj->id%>">
<%$member->UserObj->Name%> (<%$member->UserObj->RealName%>)
% }
% }
</UL>
</TD>
</TR>
</TABLE>
<& /Elements/TitleBoxEnd &>
<& /Elements/Submit &>
</form>


<%INIT>

my $Group = new RT::Group($session{'CurrentUser'});
$Group->Load($id) || Abort('Could not load group');

my (@results);

my $key;
foreach $key (keys %ARGS) {

if ($key =~ /^DeleteMember-(\d+)$/) {
    my $id = $1; 
    my ($val,$msg) = $Group->DeleteMember($id);
    push (@results, $msg);
}
}

# Make sure AddMembers is always an array
my @AddMembers = (ref $AddMembers eq 'ARRAY') ? @{$AddMembers} : ($AddMembers);

foreach my $member (@AddMembers) {
    next unless ($member);
    my ($val, $msg) = $Group->AddMember($member);
    push (@results, $msg);
}


</%INIT>

<%ARGS>
$AddMembers => undef
$id => undef
</%ARGS>