X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FAdmin%2FQueues%2FModify.html;h=c2cf09422fc0cedafdf3c4a66fd8170dec16357b;hb=431c9ca4fab151862bd24322bf8a1f9252fb38fc;hp=5dd7bf00c03743e154854db699b011bde9598c8f;hpb=fc6209f398899f0211cfcedeb81a3cd65e04a941;p=freeside.git diff --git a/rt/share/html/Admin/Queues/Modify.html b/rt/share/html/Admin/Queues/Modify.html index 5dd7bf00c..c2cf09422 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; @@ -113,6 +119,8 @@ + + % } @@ -154,41 +162,44 @@ <%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 SignAuto Encrypt Lifecycle SubjectTag Disabled); # we're asking about enabled on the web page but really care about disabled if ( $SetEnabled ) { $Disabled = $ARGS{'Disabled'} = $Enabled? 0: 1; $ARGS{$_} = 0 foreach grep !defined $ARGS{$_} || !length $ARGS{$_}, - qw(Sign Encrypt Disabled); + qw(Sign SignAuto 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 +223,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;
<&|/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.
Encrypt? 'checked="checked"': '' |n%> /> <&|/l&>Encrypt by default
SignAuto? 'checked="checked"': '' |n%> /><&|/l_unsafe, "","","",""&>Sign all auto-generated mail. [_1]Caution[_2]: Enabling this option alters the signature from providing [_3]authentication[_4] to providing [_3]integrity[_4].
/>