function delete($id) { global $cfg; $item = new WorkflowItem(); $item->loadByPrimaryKey($id); $pos = $item->get("position"); $idworkflow = $item->get("idworkflow"); $oDb = new DB_Contenido(); $this->select("position > {$pos} AND idworkflow = '" . Contenido_Security::escapeDB($idworkflow, $oDb) . "'"); while ($obj = $this->next()) { $obj->setPosition($obj->get("position") - 1); $obj->store(); } $aUserSequencesDelete = array(); $sSql = 'SELECT idusersequence FROM ' . $cfg["tab"]["workflow_user_sequences"] . ' WHERE idworkflowitem = ' . $id . ';'; $oDb->query($sSql); while ($oDb->next_record()) { array_push($aUserSequencesDelete, Contenido_Security::escapeDB($oDb->f('idusersequence'), $oDb)); } $sSql = 'DELETE FROM ' . $cfg["tab"]["workflow_actions"] . ' WHERE idworkflowitem = ' . Contenido_Security::escapeDB($id, $oDb) . ';'; $oDb->query($sSql); $this->updateArtAllocation($id, 1); if (count($aUserSequencesDelete) > 0) { $sSql = 'DELETE FROM ' . $cfg["tab"]["workflow_user_sequences"] . ' WHERE idusersequence in (' . implode(',', $aUserSequencesDelete) . ');'; $oDb->query($sSql); } }
function editWorkflowStep($idworkflowitem) { global $area, $idworkflow, $idworkflowitem, $frame, $availableWorkflowActions; global $notification; $workflowitem = new WorkflowItem(); if ($workflowitem->loadByPrimaryKey($idworkflowitem) == false) { return " "; } $workflowactions = new WorkflowActions(); $stepname = $workflowitem->get("name"); $stepdescription = $workflowitem->get("description"); $id = $workflowitem->get("idworkflowitem"); $task = $workflowitem->get("idtask"); $form = new UI_Table_Form("workflow_edit"); $form->setVar("area", $area); $form->setVar("action", "workflow_save_step"); $form->setVar("idworkflow", $idworkflow); $form->setVar("idworkflowitem", $idworkflowitem); $form->setVar("frame", $frame); $form->addHeader(i18n("Edit workflow step", "workflow")); $form->add(i18n("Step name", "workflow"), formGenerateField("text", "wfstepname", $stepname, 40, 255)); $form->add(i18n("Step description", "workflow"), formGenerateField("textbox", "wfstepdescription", $stepdescription, 60, 10)); foreach ($availableWorkflowActions as $key => $value) { $actions .= formGenerateCheckbox("wfactions[" . $key . "]", "1", $workflowactions->get($id, $key)) . '<label for="wfactions[' . $key . ']1">' . $value . '</label>' . "<br>"; } $form->add(i18n("Actions", "workflow"), $actions); $form->add(i18n("Assigned users", "workflow"), getWorkflowUsers($idworkflowitem)); return $form->render(true); }