Esempio n. 1
0
 /**
  * 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));
 }