X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FUser%2FPrefs.html;h=10c160e9b97059d1f5232dfcc9eb4b9b6ddb7c47;hp=c62d8737cdeb3d59fc0291287c8dbc63c887abda;hb=7322f2afedcc2f427e997d1535a503613a83f088;hpb=8c1852c540807f0f06e62984f13d71de929e9159 diff --git a/rt/share/html/User/Prefs.html b/rt/share/html/User/Prefs.html index c62d8737c..10c160e9b 100755 --- a/rt/share/html/User/Prefs.html +++ b/rt/share/html/User/Prefs.html @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2016 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -46,9 +46,7 @@ %# %# END BPS TAGGED BLOCK }}} <& /Elements/Header, Title=>loc("Ticketing Preferences") &> -<& /User/Elements/Tabs, - current_tab => 'User/Prefs.html', - Title => loc("Preferences") &> +<& /Elements/Tabs &> <& /Elements/ListActions, actions => \@results &> @@ -82,6 +80,7 @@ <&|/l&>Timezone: <& /Elements/SelectTimezone, Name => 'Timezone', Default => $UserObj->Timezone &> +<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Identity', InTable => 1 &> <&| /Widgets/TitleBox, title => loc('Phone numbers'), id => "user-prefs-phone" &> @@ -102,8 +101,17 @@ <&|/l&>Pager: +<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Phones', InTable => 1 &> + +%if ($UserObj->Privileged) { +<&| /Widgets/TitleBox, title => loc('Signature'), id => "user-prefs-signature" &> + + +% } + % $m->callback( %ARGS, UserObj => $UserObj, CallbackName => 'FormLeftColumn' ); @@ -113,6 +121,9 @@ User => $UserObj, Name => [qw(CurrentPass Pass1 Pass2)], &> + +<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Access control' &> + <&| /Widgets/TitleBox, title => loc('Location'), id => "user-prefs-location" &> @@ -145,51 +156,47 @@ <&|/l&>Country: +<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Location', InTable => 1 &> -<&| /Widgets/TitleBox, title => loc('Custom Fields') &> - -% my $CustomFields = $UserObj->CustomFields; -% while ( my $CF = $CustomFields->Next ) { - - - -% } -
<% loc( $CF->Name ) %>:<& /Elements/EditCustomField, - %ARGS, Object => $UserObj, CustomField => $CF -&>
- -% $m->callback( %ARGS, UserObj => $UserObj, CallbackName => 'FormRightColumn' ); - - +<& /Elements/EditCustomFieldCustomGroupings, Object => $UserObj &> - -%if ($UserObj->Privileged) { -
-<&| /Widgets/TitleBox, title => loc('Signature') &> - - -% } - - -<&| /Widgets/TitleBox, title => loc('Secret authentication token'), id => "user-prefs-feeds" &> -<&|/l&>

All iCal feeds embed a secret token which authorizes you. If the URL one of your iCal feeds got exposed to the outside world, you can get a new secret, breaking all existing iCal feeds below.

+<& /Elements/Submit, Label => loc('Save Preferences') &> + +<&| /Widgets/TitleBox, title => loc('Secret authentication token'), id => "user-prefs-feeds" &> -<& /Elements/Submit, Label => loc('Reset secret authentication token'), Name => "ResetAuthToken" &> +<&|/l&>All iCal feeds embed a secret token which authorizes you. If the URL for one of your iCal feeds was exposed to the outside world, you can get a new secret, breaking all existing iCal feeds, below. + + +<& /Elements/Submit, + Label => loc('Reset secret authentication token'), + Name => "ResetAuthToken", + id => "ResetAuthTokenContainer" &> + - + +% $m->callback( %ARGS, UserObj => $UserObj, CallbackName => 'FormRightColumn' ); + + % $m->callback( %ARGS, UserObj => $UserObj, CallbackName => 'FormEnd' ); -<& /Elements/Submit, Label => loc('Save Preferences') &> @@ -211,56 +218,57 @@ $id = $UserObj->id; my @results; -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 Timezone -); - -$m->callback( - CallbackName => 'UpdateLogic', - fields => \@fields, - results => \@results, - UserObj => $UserObj, - ARGSRef => \%ARGS, -); - -push @results, UpdateRecordObject ( - AttributesRef => \@fields, - Object => $UserObj, - ARGSRef => \%ARGS, -); - -push @results, ProcessObjectCustomFieldUpdates( ARGSRef => \%ARGS, Object => $UserObj ); - -if ( $Lang ) { - $session{'CurrentUser'}->LanguageHandle($Lang); - $session{'CurrentUser'} = $session{'CurrentUser'}; # force writeback +if ( $ARGS{'ResetAuthToken'} ) { + my ($status, $msg) = $UserObj->GenerateAuthToken; + push @results, $msg; } +else { + 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 Timezone + ); -# 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)); -} + $m->callback( + CallbackName => 'UpdateLogic', + fields => \@fields, + results => \@results, + UserObj => $UserObj, + ARGSRef => \%ARGS, + ); -my %password_cond = $UserObj->CurrentUserRequireToSetPassword; -if (defined $Pass1 && length $Pass1 ) { - my ($status, $msg) = $UserObj->SafeSetPassword( - Current => $CurrentPass, - New => $Pass1, - Confirmation => $Pass2, + push @results, UpdateRecordObject ( + AttributesRef => \@fields, + Object => $UserObj, + ARGSRef => \%ARGS, ); - push @results, loc("Password: [_1]", $msg); -} -if ( $ARGS{'ResetAuthToken'} ) { - my ($status, $msg) = $UserObj->GenerateAuthToken; - push @results, $msg; + push @results, ProcessObjectCustomFieldUpdates( ARGSRef => \%ARGS, Object => $UserObj ); + + # 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)); + } + + my %password_cond = $UserObj->CurrentUserRequireToSetPassword; + if (defined $Pass1 && length $Pass1 ) { + my ($status, $msg) = $UserObj->SafeSetPassword( + Current => $CurrentPass, + New => $Pass1, + Confirmation => $Pass2, + ); + push @results, loc("Password: [_1]", $msg); + } } + +MaybeRedirectForResults( + Actions => \@results, +); +