コード例 #1
0
 public function actionAdd($id = 0)
 {
     if (!empty($id)) {
         $Custom = Custom::model()->findByPk($id);
         if (!Yii::app()->user->checkAccess('admin') && ((Yii::app()->getUser()->getProfile()->modules->head != UserModules::DIRECTOR_COMPANY || Yii::app()->user->getProfile()->company_id != $Custom->user->company_id) && (Yii::app()->getUser()->getProfile()->modules->customs != '1' || $Custom->user_id != Yii::app()->user->id) || Yii::app()->getUser()->getProfile()->company->active == '0')) {
             throw new CHttpException(403);
         }
         $ContentManager = null;
     } else {
         if (Yii::app()->user->getProfile()->content_manager == '0') {
             if (!Yii::app()->user->checkAccess('admin') && (Yii::app()->getUser()->getProfile()->modules->head != UserModules::DIRECTOR_COMPANY && Yii::app()->getUser()->getProfile()->modules->customs != '1' || Yii::app()->getUser()->getProfile()->company->active == '0')) {
                 throw new CHttpException(403);
             } elseif (!Yii::app()->getUser()->getProfile()->company->validate) {
                 $this->redirect('/complete');
             }
             $ContentManager = null;
         } else {
             $ContentManager = new ContentManager();
         }
         $Custom = new Custom();
     }
     $contacts = User::getContact();
     if (!empty($_POST)) {
         if (!empty($_POST['Custom']['custom_id'])) {
             $Custom = Custom::model()->findByPk($_POST['Custom']['custom_id']);
         } else {
             $Custom = new Custom();
         }
         $Custom->setAttributes($_POST['Custom'], false);
         if (Yii::app()->user->getProfile()->content_manager == '1' && $id == 0) {
             $ContentManager->setAttributes($_POST['ContentManager'], false);
         }
         if (!$Custom->validate()) {
             Yii::import('bootstrap.widgets.TbActiveForm');
             if ($ContentManager) {
                 echo TbActiveForm::validate(array($Custom, $ContentManager));
             } else {
                 echo TbActiveForm::validate(array($Custom));
             }
             Yii::app()->end();
         } else {
             if (Yii::app()->user->getProfile()->content_manager == '1' && $id == 0) {
                 $Custom->user_id = User::createFakeUser($ContentManager);
                 $Custom->contact_id = $Custom->user_id;
             }
             $Custom->save();
             $Custom->setPacking($Custom->custom_id, $_POST['Custom']['packing_id']);
             $Custom->autosearch();
             echo CJSON::encode(array('status' => '500', 'redirect' => '/customsaddsuccess/' . $Custom->custom_id));
             Yii::app()->end();
         }
     }
     $this->render('add', ['Custom' => $Custom, 'contacts' => $contacts, 'ContentManager' => $ContentManager]);
 }