/** * 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]); } }