Exemplo n.º 1
0
 /**
  * Creates a new UserCv model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $userCp = Yii::$app->getModule("user")->model("User");
     $userCp = $userCp::findOne(Yii::$app->user->userid);
     $abonnementType = Abonnement::findOne(['id' => $userCp->abonnement->abonnement_id]);
     $userCp->abonnement->checkAbonnement($abonnementType, $userCp->company_id);
     $userCv = new UserCv();
     $user = new User();
     // contactpersoon user
     $profile = new Profile();
     $contactpersonuser_id = Yii::$app->user->id;
     $tarievenDag = UserTarievenDag::findOne(['user_id' => $contactpersonuser_id, 'naam' => 'Dagdienst']);
     $tarievenNacht = UserTarievenNacht::findOne(['user_id' => $contactpersonuser_id, 'naam' => 'Nachtdienst']);
     $tarievenWeekend = UserTarievenWeekend::findOne(['user_id' => $contactpersonuser_id, 'naam' => 'Weekenddienst']);
     $reisTarief = UserReistarief::findOne(['user_id' => $contactpersonuser_id]);
     $uploadMdl = null;
     //$userCv->branch_discipline       = explode(',',$model->branch_discipline);
     //$userCv->branch_specialisatie    = explode(',',$model->branch_specialisatie);
     if ($userCv->load(Yii::$app->request->post())) {
         $user->role_id = 5;
         //werknemer
         $user->company_id = Company::findOne(['user_id' => Yii::$app->user->id])->id;
         $contactpersonMdl = User::findOne(['id' => Yii::$app->user->id]);
         $user->status = 1;
         $user->email = Yii::$app->security->generateRandomString() . '_' . $contactpersonMdl->email;
         $user->username = Yii::$app->security->generateRandomString() . '_' . $contactpersonMdl->username;
         $user->password = $user->randomPassword();
         $user->activated_date = time();
         $user->create_time = time();
         if ($user->save(false)) {
             if (2 == 1) {
                 if ($userCv->documentfile) {
                     $documentfile = UploadedFile::getInstance($userCv, 'documentfile');
                     $userCv->document_naam = $documentfile->name;
                     $ext = end(explode(".", $documentfile->name));
                     $userCv->document_encryp = Yii::$app->security->generateRandomString() . ".{$ext}";
                     $path = Yii::$app->params['uploadPath'] . $userCv->document_encryp;
                 }
             }
             $userCv->user_id = $user->id;
             // convert array's to string comma seperated
             $userCv->branch_discipline = implode(',', $userCv->branch_discipline);
             $userCv->branch_specialisatie = implode(',', $userCv->branch_specialisatie);
             $userCv->zoek = $userCv->branch_discipline . ',' . $userCv->branch_specialisatie . ',' . $userCv->voornaam . ',' . $userCv->achternaam;
             if ($userCv->save(false)) {
                 if (isset($userCv->documentfile)) {
                     $documentfile->saveAs($path);
                 }
                 $profile->user_id = $user->id;
                 $profile->full_name = $userCv->volledige_naam;
                 $profile->save(false);
                 $this->saveTarieven(Yii::$app->request->post(), $user->id);
                 $uad = new UserActivedays();
                 $uad->status = "aktief";
                 $uad->user_id = $user->id;
                 // zet user_id
                 $uad->activated_date = date("Y-m-d H:i:s");
                 $uad->paused_date = '0000-00-00 00:00:00';
                 $uad->create_time = date("Y-m-d H:i:s");
                 $uad->save(false);
             }
         }
         return $this->redirect('update?id=' . $userCv->id . '#collapseTwo');
     } else {
         return $this->render('create', ['model' => $userCv, 'company' => Company::findOne(['user_id' => Yii::$app->user->id]), 'disciplines' => BranchDisciplines::allOmschrijvingen(), 'specialisaties' => BranchSpecialisaties::allOmschrijvingen(), 'tarievenDag' => $tarievenDag, 'tarievenNacht' => $tarievenNacht, 'tarievenWeekend' => $tarievenWeekend, 'reisTarief' => $reisTarief, 'uploadMdl' => $uploadMdl]);
     }
 }