Untitled
unknown
plain_text
2 years ago
5.2 kB
9
Indexable
/**
* When form is updated
*/
$oldValues = $model->getOriginal();
$model->previous_status = $oldValues['status'];
if ($model->previous_status == $model->getDefaultDraftStatus()) {
if ($user->isAuthorized() || $model->isUserAllowed() || $model->isUserOwner()) {
if (in_array($model->status, [
$model->getDefaultDraftStatus(),
$model->getDefaultSubmittedStatus(),
$model->getDefaultPendingStatus(),
$model->getDefaultPendingApprovalStatus(),
])) {
if ($model->status == $model->getDefaultDraftStatus()) {
$model->status = $model->getDefaultDraftStatus();
} else {
$model = $model->setDefaultStatus();
}
} else {
throw new Exception(__('Invalid action, The operation has failed'));
}
} else {
throw new Exception(__('Invalid action, The operation has failed'));
}
} elseif ($model->previous_status == $model->getDefaultPendingApprovalStatus()) {
if ($user->isAuthorized() || $model->isUserAllowed()) {
if (in_array($model->status, [
$model->getDefaultApprovedStatus(),
$model->getDefaultRejectedStatus(),
])) {
if ($model->status == $model->getDefaultApprovedStatus()) {
$model->status = $model->getDefaultPendingStatus();
$model->approved_date = $date;
$model->approved_by = $user->id;
} else if ($model->status == $model->getDefaultRejectedStatus()) {
$model->rejected_date = $date;
$model->rejected_by = $user->id;
}
} else {
throw new Exception(__('Invalid action, The operation has failed'));
}
} else {
throw new Exception(__('Invalid action, The operation has failed'));
}
} elseif ($model->previous_status == $model->getDefaultPendingStatus()) {
if ($user->isAuthorized()) {
if (in_array($model->status, [
$model->getDefaultDoneStatus(),
$model->getDefaultClosedStatus(),
$model->getDefaultVoidedStatus(),
])) {
if ($model->status == $model->getDefaultClosedStatus()) {
$model->closed_date = $date;
$model->closed_by = $user->id;
} else if ($model->status == $model->getDefaultVoidedStatus()) {
$model->voided_date = $date;
$model->voided_by = $user->id;
}
} else {
throw new Exception(__('Invalid action, The operation has failed'));
}
} else {
throw new Exception(__('Invalid action, The operation has failed'));
}
} elseif (in_array($model->status, [
$model->getDefaultPendingStatus(),
$model->getDefaultPartiallyDoneStatus(),
$model->getDefaultDoneStatus()])) {
if ($user->isAuthorized()) {
if (in_array($model->status, [
$model->getDefaultDoneStatus(),
$model->getDefaultClosedStatus(),
$model->getDefaultVoidedStatus(),
])) {
if ($model->status == $model->getDefaultClosedStatus()) {
$model->closed_date = $date;
$model->closed_by = $user->id;
} else if ($model->status == $model->getDefaultVoidedStatus()) {
$model->voided_date = $date;
$model->voided_by = $user->id;
}
} else {
throw new Exception(__('Invalid action, The operation has failed'));
}
} else {
throw new Exception(__('Invalid action, The operation has failed'));
}
} else {
throw new Exception(__('Invalid action, The operation has failed'));
}
}Editor is loading...
Leave a Comment