%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC
%# <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
%#
%# END BPS TAGGED BLOCK }}}
<& /Admin/Elements/Header, Title => $title &>
-<& /Admin/Elements/UserTabs,
- id => $id,
- UserObj => $UserObj,
- current_tab => $current_tab,
- Title => $title &>
+<& /Elements/Tabs &>
<& /Elements/ListActions, actions => \@results &>
<tr><td align="right">
<&|/l&>Username</&>:
</td><td>
-<input name="Name" value="<%$UserObj->Name||''%>" /> <strong><&|/l&>(required)</&></strong>
+<input name="Name" value="<%$UserObj->Name||$Name||''%>" /> <strong><&|/l&>(required)</&></strong>
</td></tr>
<tr><td align="right">
<&|/l&>Email</&>:
</td><td>
-<input name="EmailAddress" value="<%$UserObj->EmailAddress||''%>" />
+<input name="EmailAddress" value="<%$UserObj->EmailAddress||$EmailAddress||''%>" />
</td></tr>
<tr><td align="right">
<&|/l&>Real Name</&>:
</td><td>
-<input name="RealName" value="<%$UserObj->RealName||''%>" />
+<input name="RealName" value="<%$UserObj->RealName||$RealName||''%>" />
</td></tr>
<tr><td align="right">
<&|/l&>Nickname</&>:
</td><td>
-<input name="NickName" value="<%$UserObj->NickName||''%>" />
+<input name="NickName" value="<%$UserObj->NickName||$NickName||''%>" />
</td></tr>
<tr><td align="right">
<&|/l&>Unix login</&>:
</td><td>
-<input name="Gecos" value="<%$UserObj->Gecos||''%>" />
+<input name="Gecos" value="<%$UserObj->Gecos||$Gecos||''%>" />
</td></tr>
<tr><td align="right">
<&|/l&>Language</&>:
</td><td>
-<& /Elements/SelectLang, Name => 'Lang', Default => $UserObj->Lang &>
+<& /Elements/SelectLang, Name => 'Lang', Default => $UserObj->Lang||$Lang &>
</td></tr>
<tr><td align="right">
<&|/l&>Extra info</&>:
</td><td>
-<textarea name="FreeformContactInfo" cols="20" rows="5"><%$UserObj->FreeformContactInfo||''%></textarea>
+<textarea name="FreeformContactInfo" cols="20" rows="5"><%$UserObj->FreeformContactInfo||$FreeformContactInfo||''%></textarea>
</td></tr>
</table>
</&>
<&| /Widgets/TitleBox, title => loc('Access control') &>
<input type="hidden" class="hidden" name="SetEnabled" value="1" />
-<input type="checkbox" class="checkbox" name="Enabled" value="1" <%$EnabledChecked%> />
+<input type="checkbox" class="checkbox" name="Enabled" value="1" <%$EnabledChecked||''%> />
<&|/l&>Let this user access RT</&><br />
<tr><td align="right">
<&|/l&>Organization</&>:
</td><td>
-<input name="Organization" value="<%$UserObj->Organization||''%>" />
+<input name="Organization" value="<%$UserObj->Organization||$Organization||''%>" />
</td></tr>
<tr><td align="right">
<&|/l&>Address1</&>:
</td><td>
-<input name="Address1" value="<%$UserObj->Address1||''%>" />
+<input name="Address1" value="<%$UserObj->Address1||$Address1||''%>" />
</td></tr>
<tr><td align="right">
<&|/l&>Address2</&>:
</td><td>
-<input name="Address2" value="<%$UserObj->Address2||''%>" />
+<input name="Address2" value="<%$UserObj->Address2||$Address2||''%>" />
</td></tr>
<tr><td align="right">
<&|/l&>City</&>:
</td><td>
-<input name="City" value="<%$UserObj->City||''%>" size="14" />
+<input name="City" value="<%$UserObj->City||$City||''%>" size="14" />
</td></tr>
<tr><td align="right">
<&|/l&>State</&>:
</td><td>
-<input name="State" value="<%$UserObj->State||''%>" size="3" />
+<input name="State" value="<%$UserObj->State||$State||''%>" size="3" />
</td></tr>
<tr><td align="right">
<&|/l&>Zip</&>:
</td><td>
-<input name="Zip" value="<%$UserObj->Zip||''%>" size="9" />
+<input name="Zip" value="<%$UserObj->Zip||$Zip||''%>" size="9" />
</td></tr>
<tr><td align="right">
<&|/l&>Country</&>:
</td><td>
-<input name="Country" value="<%$UserObj->Country||''%>" />
+<input name="Country" value="<%$UserObj->Country||$Country||''%>" />
</td></tr>
</table>
</&>
<tr><td align="right">
<&|/l&>Residence</&>:
</td><td>
-<input name="HomePhone" value="<%$UserObj->HomePhone||''%>" size="13" /><br />
+<input name="HomePhone" value="<%$UserObj->HomePhone||$HomePhone||''%>" size="13" /><br />
</td></tr>
<tr><td align="right">
<&|/l&>Work</&>:
</td><td>
-<input name="WorkPhone" value="<%$UserObj->WorkPhone||''%>" size="13" /><br />
+<input name="WorkPhone" value="<%$UserObj->WorkPhone||$WorkPhone||''%>" size="13" /><br />
</td></tr>
<tr><td align="right">
<&|/l&>Mobile</&>:
</td><td>
-<input name="MobilePhone" value="<%$UserObj->MobilePhone||''%>" size="13" /><br />
+<input name="MobilePhone" value="<%$UserObj->MobilePhone||$MobilePhone||''%>" size="13" /><br />
</td></tr>
<tr><td align="right">
<&|/l&>Pager</&>:
</td><td>
-<input name="PagerPhone" value="<%$UserObj->PagerPhone||''%>" size="13" /><br />
+<input name="PagerPhone" value="<%$UserObj->PagerPhone||$PagerPhone||''%>" size="13" /><br />
</td>
</tr>
</table>
% if ($UserObj->id) {
<& /Elements/EditCustomField, %ARGS, Object => $UserObj, CustomField => $CF &>
% } else {
-<& /Elements/EditCustomField, %ARGS, NamePrefix => 'Object-RT::User-new-CustomField-', CustomField => $CF &>
+<& /Elements/EditCustomField, %ARGS, NamePrefix => 'Object-RT::User--CustomField-', CustomField => $CF &>
% }
</td></tr>
% }
<tr>
<td colspan="2">
<&| /Widgets/TitleBox, title => loc('Comments about this user') &>
-<textarea class="comments" name="Comments" cols="80" rows="5" wrap="virtual"><%$UserObj->Comments||''%></textarea>
+<textarea class="comments" name="Comments" cols="80" rows="5" wrap="virtual"><%$UserObj->Comments||$Comments||''%></textarea>
</&>
%if (!$Create && $UserObj->Privileged) {
<br />
<&| /Widgets/TitleBox, title => loc('Signature') &>
-<textarea class="signature" cols="80" rows="5" name="Signature" wrap="hard"><%$UserObj->Signature||''%></textarea>
+<textarea class="signature" cols="80" rows="5" name="Signature" wrap="hard"><%$UserObj->Signature||$Signature||''%></textarea>
</&>
% }
<%INIT>
-my $current_tab;
-my $UserObj = new RT::User($session{'CurrentUser'});
+my $UserObj = RT::User->new($session{'CurrentUser'});
my ($title, $PrivilegedChecked, $EnabledChecked, $Disabled, $result, @results);
my ($val, $msg);
if ($Create) {
- $current_tab = 'Admin/Users/Modify.html?Create=1';
$title = loc("Create a new user");
}
else {
- $current_tab = 'Admin/Users/Modify.html?id='.$id if $id;
-
if ( defined $id && $id eq 'new') {
( $val, $msg ) = $UserObj->Create(
Name => $Name,
if ($val) {
push @results, $msg;
- foreach my $key ( keys %ARGS) {
- # Convert custom fields on the "new" object to custom fields on the one we've just created
- if ($key =~ /^Object-RT::User-new-CustomField-(.*)$/) {
- $ARGS{'Object-RT::User-'.$val.'-CustomField-'.$1} = delete $ARGS{$key};
- }
- }
push @results, ProcessObjectCustomFieldUpdates( ARGSRef => \%ARGS, Object => $UserObj );
} else {
push @results, loc('User could not be created: [_1]', $msg);
}
+$m->callback( %ARGS, CallbackName => 'BeforeUpdate', User => $UserObj, ARGSRef => \%ARGS, Results => \@results );
# If we have a user to modify, lets try.
}
- # }}}
}
$EnabledChecked = 'checked="checked"';
}
-if (!$Create && $UserObj->Privileged()) {
+if ((!$Create && $UserObj->Privileged()) or (!$UserObj->Id and $Privileged)) {
$PrivilegedChecked = 'checked="checked"';
}
-# set the id, so the the menu will have the right info, this needs to
-# be done here to avoid creating and then modifying a user
-$id = $UserObj->Id;
+# This code does automatic redirection if any updates happen.
+MaybeRedirectForResults(
+ Actions => \@results,
+ Arguments => { id => $UserObj->Id },
+) if $UserObj->Id;
</%INIT>