%# BEGIN LICENSE BLOCK
%#
%# Copyright (c) 1996-2002 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
<& /Admin/Elements/Header, Title => $title &>
<& /Admin/Elements/QueueTabs, id => $Queue,
QueueObj => $WorkflowObj->QueueObj,
current_tab => 'Admin/Queues/Workflows.html?id='.$Queue,
current_subtab => $current_subtab,
subtabs => $subtabs,
Title => $title &>
<& /Elements/ListActions, actions => \@results &>
<FORM METHOD=POST ACTION="Workflow.html">
%if ($create ) {
<INPUT TYPE=HIDDEN NAME="Workflow" VALUE="new">
% } else {
<INPUT TYPE=HIDDEN NAME="Workflow" VALUE="<%$WorkflowObj->Id%>">
% }
%# hang onto the queue id
<INPUT TYPE=HIDDEN name="Queue" value="<%$Queue%>">
<& /Admin/Elements/ModifyWorkflow, URL => '/Admin/Queues/Workflow.html', %ARGS &>
<& /Elements/Submit, Caption => loc("Be sure to save your changes"), Reset => 1 &>
</FORM>
<%INIT>
my $WorkflowObj = new RT::Template($session{'CurrentUser'});
my ($title, @results, $current_subtab);
my $subtabs = {
A => { title => loc('Select workflow'),
path => "Admin/Queues/Workflows.html?id=$Queue"
},
B => { title => loc('New workflow'),
path => "Admin/Queues/Workflow.html?create=1&Queue=$Queue",
separator => 1,
}
};
if ($create) {
$title = loc("Create a workflow");
$current_subtab = "Admin/Queues/Workflow.html?create=1&Queue=".$Queue;
}
else {
if ($Workflow eq 'new') {
my ($val, $msg) = $WorkflowObj->create(Queue => $Queue, Name => $Name);
Abort(loc("Could not create workflow: [_1]", $msg)) unless ($val);
push @results, $msg;
}
else {
$WorkflowObj->Load($Workflow) || Abort(loc('No Workflow'));
}
$title = loc('Modify workflow [_1]', loc($WorkflowObj->Name()));
}
if ($WorkflowObj->Id()) {
$Queue = $WorkflowObj->Queue;
my @attribs = qw( Description Content Queue Name);
my @aresults = UpdateRecordObject( AttributesRef => \@attribs,
Object => $WorkflowObj,
ARGSRef => \%ARGS);
$current_subtab = "Admin/Queues/Workflow.html?Queue=$Queue&Workflow=".$WorkflowObj->Id();
$subtabs->{"C"} = { title => loc('Workflow #[_1]', $WorkflowObj->Id()),
path => "Admin/Queues/Workflow.html?Queue=$Queue&Workflow=".$WorkflowObj->Id(),
};
push @results, @aresults;
}
</%INIT>
<%ARGS>
$Queue => undef
$Workflow => undef
$create => undef
$Name => undef
</%ARGS>