Пример #1
0
 public function actionAddCall()
 {
     if (isset($_POST['RequestCall']) && !empty($_POST['RequestCall'])) {
         $cost = 0;
         if ($_POST['RequestCall']['type'] == RequestCall::TYPE_SIMPLE) {
             $cost = 300;
         } elseif ($_POST['RequestCall']['type'] == RequestCall::TYPE_DIFFICULT) {
             $cost = 500;
         } elseif ($_POST['RequestCall']['type'] == RequestCall::TYPE_VERY_DIFFICULT) {
             $cost = 1000;
         }
         $user = UserModel::model()->client()->findByPk(Yii::app()->user->id);
         if ($user) {
             if ($user->balance - $cost < 0) {
                 Yii::app()->user->setFlash('error', 'Недостаточно средств! пополните баланс и закажите звонок');
                 $this->refresh();
             } else {
                 Yii::app()->user->setFlash('success', 'Звонок заказан! с вашего счета снято ' . $cost . 'руб');
                 $user->balance = $user->balance - $cost;
                 $user->save(false);
             }
         }
         $model = new RequestCall();
         $model->setAttributes($_POST['RequestCall']);
         $model->user_id = Yii::app()->user->id;
         $model->status = 1;
         $model->save();
         $image = CUploadedFile::getInstance($model, 'file');
         if ($image) {
             if (!is_dir('uploads/phoneDocument/images')) {
                 mkdir('uploads/phoneDocument/images', 0777, true);
             }
             $ext = explode('.', $image->name);
             $model->file = Yii::app()->user->id . '_' . md5(time()) . '.' . $ext[1];
             $image->saveAs('uploads/phoneDocument/images/' . $model->file);
             $model->save(false);
         }
     }
     $jurist = UserModel::model()->jurist()->findByPk(Yii::app()->user->id);
     if (Yii::app()->user->isGuest) {
         Yii::app()->user->setFlash('error', 'Заказать звонок может только зарегестрированный пользователь');
         $this->redirect($this->createUrl('site/index'));
     }
     if ($jurist !== null) {
         Yii::app()->user->setFlash('error', 'Заказать звонок может только пользователь');
         $this->redirect($this->createUrl('cabinet/index'));
     }
     $this->render('newRequest', ['model' => new RequestCall()]);
 }