public function actionComplaintAdd() { if (Yii::app()->request->isPostRequest) { $model = Yii::app()->request->getPost('model'); $external_id = Yii::app()->request->getPost('external_id'); $store = $model::model()->findByPk($external_id); $profile = Yii::app()->user->getProfile(); $Company = $profile->company; // if ($Company->id == $store->user->company->id ) { // throw new CHttpException(403); // } $complaint = new Complaint(); $complaint->from_company_id = $Company->id; $complaint->user_id = Yii::app()->user->id; $complaint->to_company_id = $store->user->company->id; $complaint->model = $model; $complaint->record_id = $external_id; if ($complaint->validate()) { $complaint->save(); echo CJSON::encode(['status' => 'success', 'data' => '/cabinet/complaint/success']); } else { echo CJSON::encode(['status' => 'error', 'data' => print_r($complaint->getErrors(), true)]); } } }