public function actionAjaxGetItemCombinado() { $combinado = array(); if (Yii::app()->request->isPostRequest) { if (!empty($_POST['combinado'])) { $itemcombinado = ItemCombinado::model()->findAllByAttributes(array('combinado_id' => $_POST['combinado'])); $combinado = $itemcombinado[0]->combinados; $array = array(); foreach ($itemcombinado as $item) { $array[] = $item->produtos; } } else { $array = Produto::model()->ativos()->lanches()->findAll(); } echo CJSON::encode(array('item_combinados' => $array, 'combinado' => $combinado)); } else { throw new CHttpException(400); } }
public function actionDelete($id) { $model = $this->loadModel($id); $model->excluido = 1; $modelPendentes = ""; $conditions = 'combinado_id = ' . $model->id; $itemCombinado = ItemCombinado::model()->find($conditions); // Deleta todos os registros dependentes if (!empty($itemCombinado)) { $modelPendentes = ItemCombinado::model()->updateAll(array('excluido' => 1), $conditions); } if (empty($modelPendentes)) { $model->delete(); } else { $model->save(); } // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser if (!isset($_GET['ajax'])) { $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index')); } }
public function afterSave() { $return = parent::afterSave(); // Atualizar ItemCombinado::model()->updateAll(array('ativo' => 0), 'combinado_id = ' . $this->id); foreach ($this->_produtoCombinado as $item) { $criteria = new CDbCriteria(); $criteria->compare('produto_id', $item); $criteria->addCondition('combinado_id = ' . $this->id); $modelItemPromocao = ItemCombinado::model()->find($criteria); if (empty($modelItemPromocao)) { $modelItemPromocao = new ItemCombinado(); $modelItemPromocao->produto_id = $item; $modelItemPromocao->combinado_id = $this->id; } $modelItemPromocao->ativo = 1; $modelItemPromocao->save(); } return $return; }