public function actionBookingTableActivate() { $field = isset($_GET['field']) ? $_GET['field'] : 'active'; if (Yii::app()->request->getParam('id') && Yii::app()->request->getParam('value') != null) { $this->scenario = 'update_status'; $action = Yii::app()->request->getParam('value', null); $id = Yii::app()->request->getParam('id', null); $availableStatuses = Bookingtable::getAllStatuses(); if (!array_key_exists($action, $availableStatuses)) { $action = 0; } } if (!(!$id && $action === null)) { $model = $this->loadModelUserBookingTable($id); if ($this->scenario) { $model->scenario = $this->scenario; } if ($model) { $model->{$field} = $action; $model->save(false); if (issetModule('bookingcalendar')) { if ($field == 'active' && $action == Bookingtable::STATUS_CONFIRM) { $modelBookingCalendar = new Bookingcalendar(); $modelBookingCalendar->date_start = $model->date_start; $modelBookingCalendar->date_end = $model->date_end; $modelBookingCalendar->status = Bookingcalendar::STATUS_BUSY; $modelBookingCalendar->apartment_id = $model->apartment_id; $modelBookingCalendar->save(false); } } } } echo CHtml::link($availableStatuses[$action]); }