diff options
Diffstat (limited to 'rt/html/User')
-rw-r--r-- | rt/html/User/Delegation.html | 83 | ||||
-rw-r--r-- | rt/html/User/Elements/DelegateRights | 85 | ||||
-rw-r--r-- | rt/html/User/Elements/GroupTabs | 60 | ||||
-rw-r--r-- | rt/html/User/Elements/Tabs | 56 | ||||
-rw-r--r-- | rt/html/User/Groups/Members.html | 136 | ||||
-rw-r--r-- | rt/html/User/Groups/Modify.html | 133 | ||||
-rw-r--r-- | rt/html/User/Groups/index.html | 43 | ||||
-rw-r--r-- | rt/html/User/Prefs.html | 256 |
8 files changed, 0 insertions, 852 deletions
diff --git a/rt/html/User/Delegation.html b/rt/html/User/Delegation.html deleted file mode 100644 index c036f78ec..000000000 --- a/rt/html/User/Delegation.html +++ /dev/null @@ -1,83 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/Header, Title => loc("Delegate rights") &> -<& /User/Elements/Tabs, - current_tab => 'User/Delegation.html', - Title => loc("Delegate rights") &> - -<& /Elements/ListActions, actions => \@results &> - -<form method="post"> -<& Elements/DelegateRights, personalgroups => $personalgroups, objects => $objects, ObjectType => 'RT::System' &> -<& Elements/DelegateRights, personalgroups => $personalgroups, objects => $objects, ObjectType => 'RT::Queue' &> -<& Elements/DelegateRights, personalgroups => $personalgroups, objects => $objects, ObjectType => 'RT::Group' &> - -<& /Elements/Submit &> -</form> -<%INIT> - -my (@results, $arg); -foreach $arg (keys %ARGS) { - next unless ($arg =~ /^Delegate-Existing-ACE-(\d+)-to-(\d+)-as-(\d+)$/); - my $parent = $1; - my $principal = $2; - my $delegation = $3; - unless ($ARGS{"Delegate-ACE-$1-to-$2"}) { - my $ace_to_del = RT::ACE->new($session{'CurrentUser'}); - $ace_to_del->Load($delegation); - my ($delval, $delmsg) = $ace_to_del->Delete(); - push (@results, $delmsg); - } -} - -foreach $arg (keys %ARGS) { - next unless ($arg =~ /^Delegate-ACE-(\d+)-to-(\d+)$/); - my $parent = $1; - my $principal = $2; - # if we already delegate it, we just don't care - next if (grep /^Delegate-Existing-ACE-$parent-to-$principal-/, keys %ARGS); - my $ace = RT::ACE->new($session{'CurrentUser'}); - $ace->Load($1); - unless ($ace->Id) { - push (@results, loc('Right not found')); - next; - } - my ($delid, $delmsg) = $ace->Delegate(PrincipalId => $principal); - push (@results, $delmsg); -} - -my $personalgroups = RT::Groups->new($session{'CurrentUser'}); -$personalgroups->LimitToPersonalGroupsFor($session{'CurrentUser'}->PrincipalId); - -my $objects; -my $acl = RT::ACL->new ($session{'CurrentUser'}); -$acl->ExcludeDelegatedRights(); -$acl->LimitToPrincipal(Id => $session{'CurrentUser'}->PrincipalId, - IncludeGroupMembership => 1 - ); - -while(my $right = $acl->Next) { - push @{$objects->{$right->ObjectType}{$right->ObjectId}},$right; -} -</%INIT> diff --git a/rt/html/User/Elements/DelegateRights b/rt/html/User/Elements/DelegateRights deleted file mode 100644 index 7ff83280f..000000000 --- a/rt/html/User/Elements/DelegateRights +++ /dev/null @@ -1,85 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<h2><%$sectionheading%></h2> -<%perl> - -foreach my $object (keys %{$objects->{$ObjectType}}) { -unless ($ObjectType eq 'RT::System') { -my $object_obj = @{$objects->{$ObjectType}{$object}}[0]->Object; - -</%perl> -<h3><% $object_obj->Name %></h3> -% } -<table width="100%" border="0" cellspacing="0" cellpadding="3"> -<tr> - <th width=15%><&|/l&>Personal groups:</&></th> -% while (my $pg = $personalgroups->Next) { -<th><%$pg->Name%></th> -% } -</tr> -<%perl> -my $i; -foreach my $right (@{$objects->{$ObjectType}{$object}}) { -my $delegations = RT::ACL->new($session{'CurrentUser'}); -$delegations->DelegatedBy( Id => $session{'CurrentUser'}->PrincipalId); -$delegations->DelegatedFrom ( Id => $right->Id); - -my $del_hash = {}; -while ( my $delegation = $delegations->Next) { - $del_hash->{$delegation->PrincipalId} = $delegation; -} -</%perl> -% $i++; -% -<tr class="<%($i%2) && 'oddline'%>"> -<td> -<% loc($right->RightName) %><br> -<div align=right><font size="-2" color="#999999"><&|/l, $right->PrincipalObj->Object->SelfDescription &>as granted to [_1]</&></font></div> - </td> -% while (my $pg = $personalgroups->Next) { -<td align=center> - <input name="Delegate-ACE-<% $right->Id %>-to-<% $pg->PrincipalId%>" type=checkbox <%$ del_hash->{$pg->PrincipalId} && 'CHECKED' %>> -% if ( $del_hash->{$pg->PrincipalId}) { -<input type=hidden name="Delegate-Existing-ACE-<% $right->Id %>-to-<% $pg->PrincipalId%>-as-<%$del_hash->{$pg->PrincipalId}->Id%>"> -% } -</td> -% } -<td> </td> -</tr> -%} -</table> -% } -<%init> - -my $sectionheading = loc("[_1] rights", loc($ObjectType =~ /^RT::(.*)$/)); -# 'System' # loc -# 'Group' # loc -# 'Queue' # loc - -</%init> -<%args> -$ObjectType => undef -$objects => undef -$personalgroups => undef -</%args> diff --git a/rt/html/User/Elements/GroupTabs b/rt/html/User/Elements/GroupTabs deleted file mode 100644 index 89d7125b9..000000000 --- a/rt/html/User/Elements/GroupTabs +++ /dev/null @@ -1,60 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /User/Elements/Tabs, - subtabs => $tabs, - current_tab => 'User/Groups/', - current_subtab => $current_subtab, - Title => $Title &> - -<%INIT> -my $tabs; -if ( $GroupObj and $GroupObj->id ) { - $tabs->{"this"} = { - title => $GroupObj->Name, - path => "User/Groups/Modify.html?id=" . $GroupObj->id, - subtabs => { - Basics => { title => loc('Basics'), - path => "User/Groups/Modify.html?id=" . $GroupObj->id - }, - - Members => { title => loc('Members'), - path => "User/Groups/Members.html?id=" . $GroupObj->id - }, - - } }; - $tabs->{'this'}->{'current_subtab'} = $current_subtab; - $current_subtab = "User/Groups/Modify.html?id=" . $GroupObj->id, -} -$tabs->{"A"} = { title => loc('Select group'), - path => "User/Groups/index.html" }; -$tabs->{"B"} = { title => loc('New group'), - path => "User/Groups/Modify.html?Create=1", - separator => 1 }; - -</%INIT> -<%ARGS> -$GroupObj => undef -$current_subtab => undef -$Title => undef -</%ARGS> diff --git a/rt/html/User/Elements/Tabs b/rt/html/User/Elements/Tabs deleted file mode 100644 index 195cf1c60..000000000 --- a/rt/html/User/Elements/Tabs +++ /dev/null @@ -1,56 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/Tabs, - tabs => $tabs, - current_toptab => 'User/Prefs.html', - current_tab => $current_tab, - Title => $Title &> - -<%INIT> - my $tabs = { a => { title => loc('About me'), - path => 'User/Prefs.html', - }, - g => { title => loc('Personal Groups'), - path => 'User/Groups/', - }, - h => { title => loc('Delegation'), - path => 'User/Delegation.html', - }, - }; - - foreach my $tab (sort keys %{$tabs}) { - if ($tabs->{$tab}->{'path'} eq $current_tab) { - $tabs->{$tab}->{"subtabs"} = $subtabs; - $tabs->{$tab}->{"current_subtab"} = $current_subtab; - } - } -</%INIT> - - -<%ARGS> -$subtabs => undef -$current_tab => undef -$current_subtab => undef -$Title => undef -</%ARGS> diff --git a/rt/html/User/Groups/Members.html b/rt/html/User/Groups/Members.html deleted file mode 100644 index db83b8c0f..000000000 --- a/rt/html/User/Groups/Members.html +++ /dev/null @@ -1,136 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/Header, Title => $title &> -<& /User/Elements/GroupTabs, - GroupObj => $Group, - current_subtab => "User/Groups/Members.html?id=".$Group->id, - Title => $title &> -<& /Elements/ListActions, actions => \@results &> - - - -<FORM ACTION="<%$RT::WebPath%>/User/Groups/Members.html" METHOD="POST"> -<INPUT TYPE=HIDDEN NAME=id VALUE="<%$Group->Id%>"> -<TABLE WIDTH="100%"> -<TR> -<TD> -<&|/l&>Add members</&> -</TD> -<TD> -<&|/l&>Current members</&> -</TD> -</TR> - -<TR> -<TD VALIGN=TOP> -<& /Admin/Elements/SelectNewGroupMembers, Name => "AddMembers", Group => $Group &> -</TD> -<TD VALIGN=TOP> - -% if ($Group->MembersObj->Count == 0 ) { -<i><&|/l&>(No members)</&></i> -% } else { -<i><&|/l&>(Check box to delete)</&></i> -<br> -<br> -<&|/l&>Users</&> -% my $UserMembers = $Group->MembersObj; -% $UserMembers->LimitToUsers(); -<UL> -% while (my $member = $UserMembers->Next()) { -<LI><INPUT TYPE=CHECKBOX Name="DeleteMember-<%$member->MemberId%>"> -<%$member->MemberObj->Object->Name%> (<%$member->MemberObj->Object->RealName%>) -% } -</ul> -<&|/l&>Groups</&> -<ul> -% my $GroupMembers = $Group->MembersObj; -% $GroupMembers->LimitToGroups(); -% while (my $member = $GroupMembers->Next()) { -<LI><INPUT TYPE=CHECKBOX Name="DeleteMember-<%$member->MemberId%>"> -<%$member->MemberObj->Object->Name%> -% } -% } -</UL> -</TD> -</TR> -</TABLE> -<& /Elements/Submit &> -</form> - - -<%INIT> - -my $Group = new RT::Group($session{'CurrentUser'}); -$Group->Load($id) ; - -unless ($Group->id) { - Abort(loc('Could not load group')); -} - -my (@results); - -foreach my $key (keys %ARGS) { - -if ($key =~ /^DeleteMember-(\d+)$/) { - my $mem_id = $1; - my ($val,$msg) = $Group->DeleteMember($mem_id); - push (@results, $msg); -} -} - -# Make sure AddMembers is always an array -my @AddMembersUsers = (ref $AddMembersUsers eq 'ARRAY') ? @{$AddMembersUsers} : ($AddMembersUsers); -my @AddMembersGroups = (ref $AddMembersGroups eq 'ARRAY') ? @{$AddMembersGroups} : ($AddMembersGroups); - -foreach my $member (@AddMembersUsers, @AddMembersGroups) { - next unless ($member); - - my $principal; - - if ($member =~ /^Group-(\d+)$/) { - $principal = RT::Group->new($session{'CurrentUser'}); - $principal->Load($1); - } elsif ($member =~ /^User-(\d+)$/) { - $principal = RT::User->new($session{'CurrentUser'}); - $principal->Load($1); - } else { - next; - } - - - my ($val, $msg) = $Group->AddMember($principal->PrincipalId); - push (@results, $msg); -} - - -my $title = loc('Editing membership for personal group [_1]', $Group->Name); - -</%INIT> - -<%ARGS> -$AddMembersUsers => undef -$AddMembersGroups => undef -$id => undef -</%ARGS> diff --git a/rt/html/User/Groups/Modify.html b/rt/html/User/Groups/Modify.html deleted file mode 100644 index f731e1a82..000000000 --- a/rt/html/User/Groups/Modify.html +++ /dev/null @@ -1,133 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/Header, Title => $title &> - -<& /User/Elements/GroupTabs, - GroupObj => $Group, - current_subtab => $current_tab, - Title => $title &> - -<& /Elements/ListActions, actions => \@results &> - - -<FORM ACTION="<%$RT::WebPath%>/User/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> -<&|/l&>Name</&>: -</TD> -<TD><INPUT name="Name" value="<%$Group->Name%>"></TD> -</TR><TR> -<TD ALIGN=RIGHT> -<&|/l&>Description</&>:</TD><TD COLSPAN=3><INPUT name="Description" value="<%$Group->Description%>" size=60></TD> -</TR><TR> -<TD COLSPAN=2> -<INPUT TYPE=HIDDEN NAME="SetEnabled" VALUE="1"> -<INPUT TYPE=CHECKBOX NAME="Enabled" VALUE="1" <%$EnabledChecked%>> <&|/l&>Enabled (Unchecking this box disables this group)</&><BR> -</TR> -</TABLE> -<& /Elements/Submit, Caption => loc("Be sure to save your changes"), Reset => 1 &> -</form> -<%INIT> - -my $current_tab; -my ($title, @results, $Disabled, $EnabledChecked); - -my $Group = RT::Group->new($session{'CurrentUser'}); - -if ($Create) { - $current_tab = 'User/Groups/Modify.html?Create=1'; - $title = loc("Create a new personal group"); -} -else { - if ( $id eq 'new' ) { - - my ( $id, $msg ) = $Group->CreatePersonalGroup( - Name => "$Name", - PrincipalId => $session{'CurrentUser'}->PrincipalId - ); - unless ($id) { - Abort( loc("Could not create group") ); - } - $id = $Group->Id; - } - else { - $Group->Load($id) || Abort( loc('Could not load group') ); - } - - if ($id) { - $title = loc( "Modify the group [_1]", $Group->Name ); - - } - - # If the create failed - else { - $title = loc("Create a new personal group"); - $Create = 1; - } - - $current_tab = 'User/Groups/Modify.html?id=' . $Group->Id; -} - -if ($id) { - - my @fields = qw(Description Name ); - my @fieldresults = UpdateRecordObject ( AttributesRef => \@fields, - Object => $Group, - ARGSRef => \%ARGS ); - push (@results,@fieldresults); -} - -#we're asking about enabled on the web page but really care about disabled. -if ($Enabled == 1) { - $Disabled = 0; -} -else { - $Disabled = 1; -} -if ( ($SetEnabled) and ( $Disabled != $Group->Disabled) ) { - my ($code, $msg) = $Group->SetDisabled($Disabled); - push @results, loc('Enabled status [_1]', loc_fuzzy($msg)); -} - -unless ($Group->Disabled()) { - $EnabledChecked ="CHECKED"; -} - -</%INIT> - - -<%ARGS> -$Create => undef -$Name => undef -$Description => undef -$SetEnabled => undef -$Enabled => undef -$id => undef -</%ARGS> diff --git a/rt/html/User/Groups/index.html b/rt/html/User/Groups/index.html deleted file mode 100644 index 12b43b409..000000000 --- a/rt/html/User/Groups/index.html +++ /dev/null @@ -1,43 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/Header, Title => $title &> -<& /User/Elements/GroupTabs, - current_subtab => 'User/Groups/index.html', - Title => $title &> - -<&|/l&>Personal groups</&>:<BR> -<UL> -%while ( my $Group = $Groups->Next) { -<LI><A HREF="Modify.html?id=<%$Group->id%>"><%$Group->Name || loc('(empty)')%></a><BR> -%} -</UL> - -<%INIT> -my $Groups = RT::Groups->new($session{'CurrentUser'}); -$Groups->LimitToPersonalGroupsFor($session{'CurrentUser'}->PrincipalId()); -my $title = loc('Personal groups'); - -</%INIT> -<%ARGS> -</%ARGS> diff --git a/rt/html/User/Prefs.html b/rt/html/User/Prefs.html deleted file mode 100644 index c2746a38c..000000000 --- a/rt/html/User/Prefs.html +++ /dev/null @@ -1,256 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/Header, Title=>loc("Preferences") &> -<& /User/Elements/Tabs, - current_tab => 'User/Prefs.html', - Title=>loc("Preferences") &> - -<& /Elements/ListActions, actions => \@results &> - -<FORM ACTION="<%$RT::WebPath%>/User/Prefs.html" METHOD=POST> -<INPUT TYPE=HIDDEN NAME=id VALUE="<%$UserObj->Id%>"> - -<TABLE WIDTH=100% BORDER=0> -<TR> - -<TD VALIGN=TOP ROWSPAN=2> -<& /Elements/TitleBoxStart, title => loc('Identity') &> - -<input type=hidden name="Name" value="<%$UserObj->Name%>"> -<table callspacing=0 cellpadding=0> - <tr> - <td class=label><&|/l&>Email</&>: </td> - <td class=value><input name="EmailAddress" value="<%$UserObj->EmailAddress%>"></td> - </tr> - <tr> - <td class=label><&|/l&>Real Name</&>:</td> - <td class=value><input name="RealName" value="<%$UserObj->RealName%>"></td> </tr> - <tr> - <td class=label><&|/l&>Nickname</&>:</td> - <td class=value><input name="NickName" value="<%$UserObj->NickName%>"></td> - </tr> - <tr> - <td class=label><&|/l&>Language</&>:</td> - <td class=value><& /Elements/SelectLang, Name => 'Lang', Default => $UserObj->Lang &></td> - </tr> -</table> -<& /Elements/TitleBoxEnd &> -<br> -<& /Elements/TitleBoxStart, title => loc('Phone numbers') &> -<table callspacing=0 cellpadding=0> - <tr> - <td class=label><&|/l&>Residence</&>:</td> - <td class=value><input name="HomePhone" value="<%$UserObj->HomePhone%>" size=13></td> - </tr> - <tr> - <td class=label><&|/l&>Work</&>:</td> - <td class=value><input name="WorkPhone" value="<%$UserObj->WorkPhone%>" size=13></td> - </tr> - <tr> - <td class=label><&|/l&>Mobile</&>:</td> - <td class=value><input name="MobilePhone" value="<%$UserObj->MobilePhone%>" size=13></td> - </tr> - <tr> - <td class=label><&|/l&>Pager</&>:</td> - <td class=value><input name="PagerPhone" value="<%$UserObj->PagerPhone%>" size=13></td> - </tr> -</table> -<& /Elements/TitleBoxEnd &> -</TD> -<TD VALIGN=TOP> -% unless ($RT::WebExternalAuth and !$RT::WebFallbackToInternalAuth) { -<& /Elements/TitleBoxStart, title => loc('Password') &> -<TABLE> -<TR> -<TD class=label> -<&|/l&>New Password</&>: -</TD> -<TD class=value> -<input type=password name="Pass1"> -</TD> -</TR> -<TR><TD class=label> -<&|/l&>Retype Password</&>: -</TD> -<TD class=value> -<input type=password name="Pass2"> -</TD> -</TR> -</TABLE> -<& /Elements/TitleBoxEnd &> -% } -</TD> -<TR> - -<TD VALIGN=TOP> -<& /Elements/TitleBoxStart, title => loc('Location') &> -<table callspacing=0 cellpadding=0> - <tr> - <td class=label><&|/l&>Organization</&>:</td> - <td class=value><input name="Organization" value="<%$UserObj->Organization%>"></td> - </tr> - <tr> - <td class=label><&|/l&>Address1</&>:</td> - <td class=value><input name="Address1" value="<%$UserObj->Address1%>"></td> - </tr> - <tr> - <td class=label><&|/l&>Address2</&>:</td> - <td class=value><input name="Address2" value="<%$UserObj->Address2%>"></td> - </tr> - <tr> - <td class=label><&|/l&>City</&>:</td> - <td><input name="City" value="<%$UserObj->City%>" size=14></td> - </tr> - <tr> - <td class=label><&|/l&>State</&>:</td> - <td class=value><input name="State" value="<%$UserObj->State%>" size=3></td> - </tr> - <tr> - <td class=label><&|/l&>Zip</&>:</td> - <td class=value><input name="Zip" value="<%$UserObj->Zip%>" size=9></td> - </tr> - <tr> - <td class=label><&|/l&>Country</&>:</td> - <td class=value><input name="Country" value="<%$UserObj->Country%>"></td> - </tr> -</table> -<& /Elements/TitleBoxEnd &> -</TD> -</TR> -<TR> - - - -<TD COLSPAN=2 VALIGN=TOP> -%if ($UserObj->Privileged) { -<BR> -<& /Elements/TitleBoxStart, title => loc('Signature') &> -<TEXTAREA COLS=80 ROWS=5 name="Signature" WRAP=HARD> -<%$UserObj->Signature%></TEXTAREA> -<& /Elements/TitleBoxEnd &> -% } - -</TD> - -</TR> -</TABLE> - - -<& /Elements/Submit &> -</form> - - -<%INIT> - -my $UserObj = new RT::User($session{'CurrentUser'}); -my ($title, $PrivilegedChecked, $EnabledChecked, $Disabled, $result, @results); - -my ($val, $msg); - - - $UserObj->Load($id) || $UserObj->Load($Name) || Abort("Couldn't load user '$Name'"); - $val = $UserObj->Id(); - - - - - - -# If we have a user to modify, lets try. -if ($UserObj->Id) { - - my @fields = qw(Name 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 Lang - ); - - my @fieldresults = UpdateRecordObject ( AttributesRef => \@fields, - Object => $UserObj, - ARGSRef => \%ARGS ); - $session{'CurrentUser'}->LanguageHandle($Lang) if $Lang; - push (@results,@fieldresults); - - -# {{{ Deal with special fields: Privileged, Enabled and Password -if ( ($SetPrivileged) and ( $Privileged != $UserObj->Privileged) ) { -my ($code, $msg) = $UserObj->SetPrivileged($Privileged); - push @results, loc('Privileged status: [_1]', loc_fuzzy($msg)); -} - - - -#TODO: make this report errors properly -if ((defined $Pass1) and ($Pass1 ne '') and ($Pass1 eq $Pass2) and (!$UserObj->IsPassword($Pass1))) { - my ($code, $msg); - ($code, $msg) = $UserObj->SetPassword($Pass1); - push @results, loc('Password: [_1]', loc_fuzzy($msg)); -} elsif ( $Pass1 && ($Pass1 ne $Pass2)) { - push @results, loc("Passwords do not match. Your password has not been changed"); -} - -# }}} -} - - -</%INIT> - - -<%ARGS> -$id => $session{'CurrentUser'}->Id -$Name => undef -$Comments => undef -$Signature => undef -$EmailAddress => undef -$FreeformContactInfo => undef -$Organization => undef -$RealName => undef -$NickName => undef -$Privileged => undef -$SetPrivileged => undef -$Enabled => undef -$SetEnabled => undef -$Lang => undef -$EmailEncoding => undef -$WebEncoding => undef -$ExternalContactInfoId => undef -$ContactInfoSystem => undef -$Gecos => undef -$ExternalAuthId => undef -$AuthSystem => undef -$HomePhone => undef -$WorkPhone => undef -$MobilePhone => undef -$PagerPhone => undef -$Address1 => undef -$Address2 => undef -$City => undef -$State => undef -$Zip => undef -$Country => undef -$Pass1 => undef -$Pass2=> undef -$Create=> undef -</%ARGS> |