diff options
Diffstat (limited to 'rt/webrt/Admin/Groups')
-rw-r--r-- | rt/webrt/Admin/Groups/Members.html | 76 | ||||
-rw-r--r-- | rt/webrt/Admin/Groups/Modify.html | 83 | ||||
-rw-r--r-- | rt/webrt/Admin/Groups/Rights.html | 1 | ||||
-rw-r--r-- | rt/webrt/Admin/Groups/index.html | 33 |
4 files changed, 193 insertions, 0 deletions
diff --git a/rt/webrt/Admin/Groups/Members.html b/rt/webrt/Admin/Groups/Members.html new file mode 100644 index 000000000..4b0e0d04f --- /dev/null +++ b/rt/webrt/Admin/Groups/Members.html @@ -0,0 +1,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> diff --git a/rt/webrt/Admin/Groups/Modify.html b/rt/webrt/Admin/Groups/Modify.html new file mode 100644 index 000000000..7104a6937 --- /dev/null +++ b/rt/webrt/Admin/Groups/Modify.html @@ -0,0 +1,83 @@ +<& /Admin/Elements/Header, Title => $title &> + +<& /Admin/Elements/GroupTabs, GroupObj => $Group &> +<& /Elements/ListActions, actions => \@results &> + + +<& /Elements/TitleBoxStart, title => $title &> + +<FORM ACTION="<%$RT::WebPath%>/Admin/Groups/Modify.html" METHOD=POST> + +%unless ($Group->Id) { +<INPUT TYPE=HIDDEN NAME=id VALUE="new"> +% } else { +<INPUT TYPE=HIDDEN NAME=id VALUE="<%$Group->Id%>"> +% } +<TABLE> +<TR><TD ALIGN=RIGHT> +Name: +</TD> +<TD><INPUT name="Name" value="<%$Group->Name%>"></TD> +</TR><TR> +<TD ALIGN=RIGHT> +Description:</TD><TD COLSPAN=3><INPUT name="Description" value="<%$Group->Description%>" size=60></TD></TR> +</TABLE> +<& /Elements/TitleBoxEnd &> + +<& /Elements/Submit &> +</form> +<%INIT> + +my ($title); +my (@results); + +my $Group = new RT::Group($session{'CurrentUser'}); + +if ($Create) { + $title = "Create a new group"; +} + +else { + + if ($id eq 'new' ) { + + $Group->Create(Name => "$Name") || Abort ("Group could not be created."); + $id = $Group->Id; + } + else { + $Group->Load($id) || Abort('Could not load group'); + } + + + if ($id) { + $title = "Modify the group ". $Group->Name; + + } + + # If the create failed + else { + $title = "Create a new group"; + $Create = 1; + } + +} + +if ($id) { + + my @fields = qw(Description Name ); + my @fieldresults = UpdateRecordObject ( AttributesRef => \@fields, + Object => $Group, + ARGSRef => \%ARGS ); + push (@results,@fieldresults); +} + + +</%INIT> + + +<%ARGS> +$Create => undef +$Name => undef +$Description => undef +$id => undef +</%ARGS> diff --git a/rt/webrt/Admin/Groups/Rights.html b/rt/webrt/Admin/Groups/Rights.html new file mode 100644 index 000000000..5c842a301 --- /dev/null +++ b/rt/webrt/Admin/Groups/Rights.html @@ -0,0 +1 @@ +Not yet implemented.... diff --git a/rt/webrt/Admin/Groups/index.html b/rt/webrt/Admin/Groups/index.html new file mode 100644 index 000000000..d419e7f73 --- /dev/null +++ b/rt/webrt/Admin/Groups/index.html @@ -0,0 +1,33 @@ + +<& /Admin/Elements/Header, Title => 'Admin/Groups' &> +<& /Admin/Elements/Tabs, current_tab => 'Admin/Groups/' &> + +<& /Elements/TitleBoxStart, title => 'Select a group' &> + +Pseudogroups:<BR> +<UL> +%while ( $Group = $PseudoGroups->Next) { +<LI><A HREF="Modify.html?id=<%$Group->id%>"><%$Group->Name%></a><BR> +%} + +</UL> + +Groups:<BR> +<UL> +<LI><A HREF="Modify.html?Create=1">Create a new group</A><BR><BR></LI> +%while ( $Group = $Groups->Next) { +<LI><A HREF="Modify.html?id=<%$Group->id%>"><%$Group->Name%></a><BR> +%} +</UL> + +<& /Elements/TitleBoxEnd &> +<%INIT> +my ($Group); +my $PseudoGroups = new RT::Groups($session{'CurrentUser'}); +$PseudoGroups->LimitToPseudo; +my $Groups = new RT::Groups($session{'CurrentUser'}); +$Groups->LimitToReal; + +</%INIT> +<%ARGS> +</%ARGS> |