/** * Fill the users * * @param bool $sendToAllReceiverFlag * @param id $workflowslotUser * @param String $decission, skipped or waiting */ public function checkSendToAllReceiverAtOnce($sendToAllReceiverFlag, $workflowslotUser, $decission) { if($sendToAllReceiverFlag == 1) { $station = WorkflowSlotUserTable::instance()->getUserBySlotId($workflowslotUser->getWorkflowslotId())->toArray(); foreach($station as $item) { WorkflowProcessUserTable::instance()->deleteWorkflowProcessUserByWorkfloSlotUserId($item['id']); } WorkflowProcessTable::instance()->deleteWorkflowProcessByWorkflowSlotId($workflowslotUser->getWorkflowslotId()); foreach($station as $item) { $wfp = new WorkflowProcess(); $wfp->setWorkflowtemplateId($this->station->workflowtemplate_id); $wfp->setWorkflowversionId($this->station->version_id); $wfp->setWorkflowslotId($workflowslotUser->getWorkflowslotId()); $wfp->save(); $wfoId = $wfp->getId(); $wfpu = new WorkflowProcessUser(); $wfpu->setWorkflowprocessId($wfoId); $wfpu->setWorkflowslotuserId($item['id']); $wfpu->setUserId($item['user_id']); $wfpu->setInprogresssince(time()); $wfpu->setDecissionstate($decission); $wfpu->setResendet(0); $wfpu->save(); if($decission == 'WAITING') { $mail = new PrepareStationEmail($this->station->version_id, $this->station->workflowtemplate_id, $item['user_id'], $this->station->context, $this->station->serverUrl); } } } }