The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
%# 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>