예제 #1
0
 public function actionDelete($id = null)
 {
     if ($id) {
         $workflow = BpmWorkflow::findOne(['id' => $id]);
         if ($workflow) {
             $domain = Domain::findOne(['name' => $workflow->domain]);
             if ($domain) {
                 if (self::can('workflow/delete', $domain->name)) {
                     if (BpmWorkflow::findOne(['id' => $id])->active == 0) {
                         BpmWorkflow::deleteAll(['id' => $id]);
                     } else {
                         BpmWorkflow::disable($id);
                         BpmWorkflow::deleteAll(['id' => $id]);
                     }
                 } else {
                     Yii::$app->getSession()->setFlash('warning', Yii::t("bpm", 'You are not allowed to delete in domain {domain}', ['domain' => BpmWorkflow::findOne(['id' => $id])->getDomain()->one()->name]));
                 }
             }
         }
     }
     if (!self::can("workflow/read")) {
         return $this->goHome();
     } else {
         return $this->redirect(array('/bpm/workflow/index'));
     }
 }