/** * Deletes an existing Grupavid model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param integer $id * @return mixed */ public function actionDelete($id) { if (Yii::$app->request->isAjax) { $id_grupa = $this->findModel($id)->id_grupa; $grupavid_main = $this->findModel($id)->grupavid_main; $countmatvids = Grupavid::find()->andWhere(['id_grupa' => $id_grupa])->count(); if ($grupavid_main == '1' && $countmatvids > 1) { throw new \yii\web\HttpException(500, 'Ошибка удаления. Данный вид материальной ценности является основным в группе.'); } else { echo $this->findModel($id)->delete(); } } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Grupavid::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $query->joinWith(['idmatvid']); $this->load($params); $this->id_grupa = $params['id']; if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['grupavid_id' => $this->grupavid_id, 'grupavid_main' => $this->grupavid_main, 'id_grupa' => $this->id_grupa, 'id_matvid' => $this->id_matvid]); $query->andFilterWhere(['LIKE', 'idmatvid.matvid_name', $this->getAttribute('idmatvid.matvid_name')]); Proc::AssignRelatedAttributes($dataProvider, ['idmatvid.matvid_name']); return $dataProvider; }
public function actionUpdate($id) { $model = $this->findModel($id); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(Proc::GetPreviousURLBreadcrumbsFromSession()); } else { if (Grupavid::find()->andWhere(['id_grupa' => $model->primaryKey])->count() == 1) { $Grupavid = Grupavid::find()->andWhere(['id_grupa' => $model->primaryKey])->one(); if ($Grupavid->grupavid_main == 0) { $Grupavid->grupavid_main = 1; $Grupavid->save(false); } } $searchModel = new GrupavidSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('update', ['model' => $model, 'searchModel' => $searchModel, 'dataProvider' => $dataProvider]); } }