コード例 #1
0
 protected function savePresentation($model, $user, $service, $proserv)
 {
     if ($model && $user && $service && $proserv) {
         $activity = Activities::loadActivity($user->id, 'presentation');
         if ($activity->save()) {
             $offer = Offers::loadOffer($activity->id);
             if ($offer->save()) {
                 $model->activity_id = $activity->id;
                 $model->offer_id = $offer->id;
                 $model->provider_service_id = $proserv->id;
                 $model->provider_id = $proserv->provider_id;
                 $model->service_id = $service->id;
                 $model->object_id = $service->object_id;
                 $model->price = 0;
                 $model->loc_id = 1;
                 $model->status = 'draft';
                 $model->save();
                 return true;
                 /*if($model->save()){
                                         // Presentation Object Models
                                         if($object_model){
                                             foreach($object_model as $ob_model){
                                                 $model_object_models = new \common\models\PresentationObjectModels();
                                                 $model_object_models->presentation_id = $model->id;
                                                 $model_object_models->object_model_id = $ob_model;
                                                 $model_object_models->save();
                                             }
                                         }                        
                 
                                         return true; 
                                     } else {
                                         echo '<pre>';
                                         print_r($model); die();
                                     }*/
             }
         }
     }
     return false;
 }
コード例 #2
0
 /**
  * Creates a new Orders model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $industry = Yii::$app->request->get('industry');
     $process = Yii::$app->request->get('process');
     if (Yii::$app->session['cart'] != null && ($industry != null || $process != null)) {
         foreach (Yii::$app->session['cart']['industry'] as $key => $ind) {
             if ($key == $industry) {
                 $cart[$key] = $ind;
             }
         }
         $service = \common\models\CsServices::findOne($cart[$industry]['data'][1]['service']);
         $objects = $this->getObjectModels($cart[$industry]['data'][1]['object_models']);
         $user = !Yii::$app->user->isGuest ? \common\models\User::findOne(Yii::$app->user->id) : null;
         // orderer
         $model = new Orders();
         $model->service = $service;
         // skill model
         $model_skill = $this->loadServiceSkills($service);
         $location = new Locations();
         $location->control = $service->location;
         $location->userControl = Yii::$app->user->isGuest ? 0 : 1;
         $location_end = new Locations();
         $new_user = $user == null ? Yii::createObject(RegistrationProviderForm::className()) : null;
         // register provider
         $returning_user = $user == null ? Yii::createObject(LoginForm::className()) : null;
         // login existing user
         if ($model->load(Yii::$app->request->post())) {
             if (Yii::$app->user->isGuest) {
                 // register $ login user
                 if ($new_user->load(Yii::$app->request->post())) {
                     if ($user = $new_user->signup()) {
                         if (!Yii::$app->getUser()->login($user)) {
                             return $this->goBack();
                         }
                     }
                 }
                 // login user
                 if ($returning_user->load(Yii::$app->request->post())) {
                     if (!$returning_user->login()) {
                         return $this->goBack();
                     }
                 }
             }
             // continue
             $activity = Activities::loadActivity(Yii::$app->user->id);
             if ($activity->save()) {
                 // new activity saved
                 $model->activity_id = $activity->id;
                 $this->saveOrderLocation($model, $location, $service);
                 $this->saveOrderEndLocation($model, $location_end, $service);
                 if ($model->save()) {
                     $this->saveOrderSkills($model, $cart, $service);
                     $this->saveOrderServices($model, $activity, $cart, $service);
                     $this->eraseSessionData($industry);
                     // izbaci snimljene usluge iz korpe
                     return $this->redirect('/order/' . $model->id);
                 }
             } else {
                 return $this->redirect('/services');
             }
             return $this->redirect('/services');
         } else {
             return $this->render('create', ['service' => $service, 'model' => $model, 'model_skills' => $model_skill, 'location' => $location, 'location_end' => $location_end, 'objects' => $objects, 'new_user' => $new_user, 'returning_user' => $returning_user]);
         }
     } else {
         return $this->redirect('/services');
     }
 }