From 33beebf4cb42eba3e1dd868ad5e0af102de961da Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Sat, 29 Sep 2012 16:36:46 -0700 Subject: update address standardization for cust_location changes --- rt/share/html/Admin/Queues/Modify.html | 79 +++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 30 deletions(-) (limited to 'rt/share/html/Admin/Queues/Modify.html') diff --git a/rt/share/html/Admin/Queues/Modify.html b/rt/share/html/Admin/Queues/Modify.html index 5dd7bf00c..85cd62f16 100755 --- a/rt/share/html/Admin/Queues/Modify.html +++ b/rt/share/html/Admin/Queues/Modify.html @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -46,25 +46,31 @@ %# %# END BPS TAGGED BLOCK }}} <& /Admin/Elements/Header, Title => $title &> -<& /Admin/Elements/QueueTabs, id => $QueueObj->id, - QueueObj => $QueueObj, - current_tab => $current_tab, - Title => $title &> +<& /Elements/Tabs &> <& /Elements/ListActions, actions => \@results &> -
+ - + - + + + + + @@ -72,27 +78,27 @@ - - + Default => $Create? 0: $QueueObj->FinalPriority || $FinalPriority, +&>
<&|/l&>requires running rt-crontool - + % my $CFs = $QueueObj->CustomFields; @@ -154,33 +160,28 @@ <%INIT> -my ($title, $current_tab, @results, $Disabled, $EnabledChecked); +my ($title, @results, @no_redirect_results, $Disabled, $EnabledChecked); my $QueueObj = RT::Queue->new( $session{'CurrentUser'} ); $QueueObj->Load( $id ) if !$id || $id eq 'new'; $EnabledChecked = 'checked="checked"'; -if ($Create) { - $current_tab = 'Admin/Queues/Modify.html?Create=1'; - $title = loc("Create a queue"); -} else { +unless ($Create) { if ( defined $id && $id eq 'new' ) { my ($val, $msg) = $QueueObj->Create( Name => $Name ); - Abort("$msg") unless $val; - delete $session{'create_in_queues'}; - push @results, $msg; - } - else { + if (!$val) { + $Create = 1; # Create failed, so bring us back to step 1 + } + push @results, $msg; + } else { $QueueObj->Load($id) || $QueueObj->Load($Name) || Abort(loc("Couldn't load queue '[_1]'", $Name)); } - $title = loc('Editing Configuration for queue [_1]', $QueueObj->Name); - - $current_tab = 'Admin/Queues/Modify.html?id='.$QueueObj->id; } + if ( $QueueObj->Id ) { - delete $session{'create_in_queues'}; + $title = loc('Configuration for queue [_1]', $QueueObj->Name ); my @attribs= qw(Description CorrespondAddress CommentAddress Name - InitialPriority FinalPriority DefaultDueIn Sign Encrypt SubjectTag Disabled); + InitialPriority FinalPriority DefaultDueIn Sign Encrypt Lifecycle SubjectTag Disabled); # we're asking about enabled on the web page but really care about disabled if ( $SetEnabled ) { @@ -189,6 +190,14 @@ if ( $QueueObj->Id ) { qw(Sign Encrypt Disabled); } + $m->callback( + CallbackName => 'BeforeUpdate', + Queue => $QueueObj, + AttributesRef => \@attribs, + ARGSRef => \%ARGS, + ); + + $ARGS{'Lifecycle'} = undef if defined $ARGS{'Lifecycle'} and $ARGS{'Lifecycle'} eq "default"; push @results, UpdateRecordObject( AttributesRef => \@attribs, Object => $QueueObj, @@ -212,10 +221,20 @@ if ( $QueueObj->Id ) { foreach my $address ( $QueueObj->CorrespondAddress, $QueueObj->CommentAddress ) { next unless defined $address && length $address; next if RT::EmailParser->IsRTAddress( $address ); - push @results, loc("RTAddressRegexp option in the config doesn't match [_1]", $address ); + push @no_redirect_results, loc("RTAddressRegexp option in the config doesn't match [_1]", $address ); } } +} else { + $title = loc("Create a queue"); } + +# This code does automatic redirection if any updates happen. +MaybeRedirectForResults( + Actions => \@results, + Arguments => { id => $QueueObj->Id }, +) if $QueueObj->id; + +push @results, @no_redirect_results; -- cgit v1.2.1
<&|/l&>Queue Name:Name %>" />Name || $Name %>" />
<&|/l&>Description:Description %>" size="60" />Description || $Description || '' %>" size="60" />
<&|/l&>Lifecycle:<& /Widgets/Form/Select:InputOnly, + Name => 'Lifecycle', + Values => [ sort { loc($a) cmp loc($b) } RT::Lifecycle->List ], + CurrentValue => $Create ? "default" : $QueueObj->Lifecycle || $ARGS{'Lifecycle'}, + Default => 0, +&>
<&|/l&>Subject Tag:
<&|/l&>Reply Address:CorrespondAddress %>" /> +CorrespondAddress || $CorrespondAddress || '' %>" />
<&|/l , RT->Config->Get('CorrespondAddress')&>(If left blank, will default to [_1])
<&|/l&>Comment Address:CommentAddress %>" /> +CommentAddress || $CommentAddress || '' %>" />
<&|/l , RT->Config->Get('CommentAddress')&>(If left blank, will default to [_1])
<&|/l&>Priority starts at: <& /Elements/SelectPriority, Name => "InitialPriority", - Default => $Create? 0: $QueueObj->InitialPriority, + Default => $Create? 0: $QueueObj->InitialPriority || $InitialPriority, &> <&|/l&>Over time, priority moves toward: <& /Elements/SelectPriority, Name => "FinalPriority", - Default => $Create? 0: $QueueObj->FinalPriority, -&>
<&|/l&>Requests should be due in:DefaultDueIn%>" /> <&|/l&>days.DefaultDueIn || $DefaultDueIn || "" %>" /> <&|/l&>days.