Example #1
0
 /**
  * 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();
         }
     }
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 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]);
     }
 }