backend\models\RejectApplyForm::reject PHP Метод

reject() публичный Метод

public reject ( $runValidation = true ) : boolean
Результат boolean
    public function reject($runValidation = true)
    {
        if ($runValidation && !$this->validate()) {
            return false;
        }
        $transaction = Yii::$app->db->beginTransaction();
        try {
            $this->_apply->status = Apply::STATUS_REJECTED;
            if (!$this->_apply->save(false)) {
                throw new \Exception('保存失败!');
            }
            $modelApplyLog = new ApplyLog();
            $modelApplyLog->apply_id = $this->_apply->id;
            $modelApplyLog->remark = '申请被驳回,原因:' . $this->remark;
            if (!$modelApplyLog->save(false)) {
                throw new \Exception('申请日志记录失败!');
            }
            $transaction->commit();
            return true;
        } catch (\Exception $e) {
            $transaction->rollBack();
            return false;
        }
    }

Usage Example

Пример #1
0
 public function actionReject($id)
 {
     try {
         $rejectApplyForm = new RejectApplyForm($id);
     } catch (InvalidParamException $e) {
         throw new BadRequestHttpException($e->getMessage());
     }
     if ($rejectApplyForm->load(Yii::$app->request->post()) && $rejectApplyForm->reject()) {
         if (!empty($rejectApplyForm->apply->store->cellphone)) {
             Yii::$app->smser->send($rejectApplyForm->apply->store->cellphone, "亲爱的店长,很抱歉您的采购订单{$rejectApplyForm->apply->apply_sn}申请失败,原因:{$rejectApplyForm->remark}");
         }
         Yii::$app->session->setFlash('success', '驳回成功!');
     } else {
         Yii::$app->session->setFlash('danger', '驳回失败!');
     }
     return $this->redirect(['view', 'id' => $id]);
 }