* @copyright Copyright (C) 2002-2005 Markus Westphal, * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, * 2010-2012 Uwe Steinmann * @version Release: @package_version@ */ /** * Include parent class */ require_once("class.Bootstrap.php"); /** * Class which outputs the html page for WorkspaceMgr view * * @category DMS * @package SeedDMS * @author Markus Westphal, Malcolm Cowe, Uwe Steinmann * @copyright Copyright (C) 2002-2005 Markus Westphal, * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, * 2010-2012 Uwe Steinmann * @version Release: @package_version@ */ class SeedDMS_View_WorkflowMgr extends SeedDMS_Bootstrap_Style { function js() { /* {{{ */ header('Content-Type: application/javascript; charset=UTF-8'); ?> function checkForm(num) { msg = new Array(); eval("var formObj = document.form" + num + ";"); if (formObj.name.value == "") msg.push(""); if (msg != "") { noty({ text: msg.join('
'), type: 'error', dismissQueue: true, layout: 'topRight', theme: 'defaultTheme', _timeout: 1500, }); return false; } else return true; } $(document).ready(function() { $('body').on('submit', '#form1', function(ev){ if(checkForm()) return; ev.preventDefault(); }); $( "#selector" ).change(function() { $('div.ajax').trigger('update', {workflowid: $(this).val()}); }); }); params['dms']; $user = $this->params['user']; $selworkflow = $this->params['selworkflow']; if($selworkflow) { ?>
params['dms']; $user = $this->params['user']; $workflows = $this->params['allworkflows']; $workflowstates = $this->params['allworkflowstates']; if($workflow) { $transitions = $workflow->getTransitions(); $initstate = $workflow->getInitState(); $hasinitstate = true; $hasreleased = true; $hasrejected = true; $missesug = false; if($transitions) { $hasinitstate = false; $hasreleased = false; $hasrejected = false; foreach($transitions as $transition) { $transusers = $transition->getUsers(); $transgroups = $transition->getGroups(); if(!$transusers && !$transgroups) { $missesug = true; } if($transition->getNextState()->getDocumentStatus() == S_RELEASED) $hasreleased = true; if($transition->getNextState()->getDocumentStatus() == S_REJECTED) $hasrejected = true; if($transition->getState()->getID() == $initstate->getID()) $hasinitstate = true; } } if($missesug) $this->errorMsg(getMLText('workflow_transition_without_user_group')); if(!$hasinitstate) $this->errorMsg(getMLText('workflow_no_initial_state')); if(!$hasreleased) $this->errorMsg(getMLText('workflow_no_doc_released_state')); if(!$hasrejected) $this->errorMsg(getMLText('workflow_no_doc_rejected_state')); if($workflow->isUsed()) { $this->infoMsg(getMLText('workflow_in_use')); } } ?>
isUsed()) { ?>
: ">
:
getAllWorkflowActions(); if($actions) { $transitions = $workflow->getTransitions(); echo ""; echo ""; if($transitions) { foreach($transitions as $transition) { $state = $transition->getState(); $nextstate = $transition->getNextState(); $action = $transition->getAction(); $transusers = $transition->getUsers(); $transgroups = $transition->getGroups(); echo ""; echo ""; echo ""; echo "\n"; } } echo "
".getMLText('state_and_next_state')."".getMLText('action')."".getMLText('users_and_groups')."
".' '.$state->getName()."
"; $docstatus = $nextstate->getDocumentStatus(); echo ' '.$nextstate->getName(); if($docstatus == S_RELEASED || $docstatus == S_REJECTED) { echo "
".getOverallStatusText($docstatus); } echo "
".$action->getName().""; foreach($transusers as $transuser) { $u = $transuser->getUser(); echo getMLText('user').": ".$u->getFullName(); echo "
"; } foreach($transgroups as $transgroup) { $g = $transgroup->getGroup(); echo getMLText('at_least_n_users_of_group', array("number_of_users" => $transgroup->getNumOfUsers(), "group" => $g->getName())); echo "
"; } echo "
"; ?>
"; echo "
"; ?>
"; echo ""; echo ""; echo "
"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
"; echo ""; echo ""; echo ""; ?> "> "; echo "\n"; echo ""; ?>
params['selworkflow']; $this->showWorkflowForm($selworkflow); } /* }}} */ function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; $selworkflow = $this->params['selworkflow']; $workflows = $this->params['allworkflows']; $workflowstates = $this->params['allworkflowstates']; $this->htmlStartPage(getMLText("admin_tools")); $this->globalNavigation(); $this->contentStart(); $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); $this->contentHeading(getMLText("workflow_management")); ?>
:
getID()."\"" : "") ?>>
getID()."\"" : "") ?>>
contentEnd(); $this->htmlEndPage(); } /* }}} */ } ?>