/** * Creates a new CodeBankCampaign model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate($step = null) { $model = new CodeBankCampaign(); $model->loadDefaultValues(); $model->scenario = 'step1'; $codes = Yii::$app->user->identity->availableCodes; $codes = ArrayHelper::merge($codes, Yii::$app->user->identity->availableGroupCodes); $request = Yii::$app->request; foreach ($codes as $key => $value) { if (Yii::$app->user->can('createCampaign', ['code' => $value])) { $allCodes[$value] = $value; } } if ($model->load($request->post()) && isset($step) && $model->validate()) { switch ($model->modelClass) { case 'Video': return $this->run('/video/load-video', ['codeBankCampaign' => $model]); break; case 'Review': return $this->run('/review/load-review', ['codeBankCampaign' => $model]); break; case 'Contest': return $this->run('/question/load-review', ['codeBankCampaign' => $model]); break; default: } return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model, 'codes' => $allCodes]); } }
public function actionConfirmed() { $codeBankCampaign = new CodeBankCampaign(); $codeBankCampaign->loadDefaultValues(); $review = new Review(); $review->loadDefaultValues(); $request = Yii::$app->request; if ($request->isPost && $codeBankCampaign->load($request->post()) && $review->load($request->post())) { $isValid = $codeBankCampaign->validate(); $isValid = $review->validate() && $isValid; if ($isValid) { if ($review->save()) { $codeBankCampaign->objectId = $review->id; $codeBankCampaign->save(); return $this->redirect(['/campaign/index']); } } } return $this->render('step', ['model' => $review, 'codeBankCampaign' => $codeBankCampaign]); }