/** * Updates a particular model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id the ID of the model to be updated */ public function actionUpdate($id) { $model = $this->loadModel($id); $model->equipment_type_id = $model->modelo->equipment_type_id; $model->brand_id = $model->modelo->brand_id; $modelFailureDescription = FailureDescription::model()->find('order_id =' . $model->id); if (!empty($modelFailureDescription)) { $model->_failureDescription = $modelFailureDescription->description; } $modelEquipment_status = EquipmentStatus::model()->find('order_id =' . $model->id); if (!empty($modelEquipment_status)) { $model->_equipmentStatus = $modelEquipment_status->description; } $modelServiceOrder = ServiceOrder::model()->find('order_id=' . $model->id); if (!empty($modelServiceOrder)) { $model->service = $modelServiceOrder->service_id; } $modelAccesoryOrder = AccesoryOrder::model()->findAll('order_id =' . $model->id); if (!empty($modelAccesoryOrder)) { $model->accesory = array(); foreach ($modelAccesoryOrder as $accesoryOrder) { $model->accesory[] = $accesoryOrder->accesory_id; } } // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Order'])) { $model->observation = $_POST['Order']['observation']; $model->attributes = $_POST['Order']; if ($model->save()) { if (!empty($modelAccesoryOrder)) { AccesoryOrder::model()->deleteAll('order_id=' . $model->id); } if (isset($_POST['Order']['accesory'])) { $accessories = $_POST['Order']['accesory']; foreach ($accessories as $accesory) { $modelAccesoryOrder = new AccesoryOrder(); $modelAccesoryOrder->order_id = $model->id; $modelAccesoryOrder->accesory_id = $accesory; $modelAccesoryOrder->save(); } } if (empty($modelFailureDescription)) { $modelFailureDescription = new FailureDescription(); $modelFailureDescription->order_id = $model->id; $modelFailureDescription->description = $_POST['Order']['_failureDescription']; $modelFailureDescription->save(); } else { $modelFailureDescription->description = $_POST['Order']['_failureDescription']; $modelFailureDescription->save(); } if (empty($modelEquipment_status)) { $modelEquipment_status = new EquipmentStatus(); $modelFailureDescription->order_id = $model->id; $modelEquipment_status->description = $_POST['Order']['_equipmentStatus']; $modelEquipment_status->save(); } else { $modelEquipment_status->description = $_POST['Order']['_equipmentStatus']; $modelEquipment_status->save(); } if (empty($modelServiceOrder)) { $modelServiceOrder = new ServiceOrder(); $modelServiceOrder->order_id = $model->id; $modelServiceOrder->service_id = $_POST['Order']['service']; $modelServiceOrder->date = date('Y-m-d H:i:s'); $service = Service::model()->findByPk($modelServiceOrder->service_id); $modelServiceOrder->price = $service->price; $modelServiceOrder->save(); } else { $modelServiceOrder->service_id = $_POST['Order']['service']; $modelServiceOrder->save(); } $log = new BlogOrder(); $log->order_id = $model->id; $log->activity = "Se modificó la orden con ID: " . $model->id; $log->detailed_activity = $this->renderPartial('view', array('model' => $model), true); $log->user_technical_id = Yii::app()->user->id; $log->date_hour = date('Y-m-d H:i:s'); $log->save(); $this->redirect(array('view', 'id' => $model->id)); } } $this->render('update', array('model' => $model, 'modelAccesoryOrder' => $modelAccesoryOrder, 'modelEquipment_status' => $modelEquipment_status, 'modelFailureDescription' => $modelFailureDescription, 'modelServiceOrder' => $modelServiceOrder)); }
public function getServiceOrder() { return ServiceOrder::model()->find(array('condition' => 'order_id = :order_id', 'order' => 'date DESC', 'params' => array(':order_id' => $this->id))); }