public function actionUser() { $model = new ModelInstallation(); $model_user = new User(); $model_user->setScenario('reset'); $model->setScenario('username_installation'); if ($model->load(Yii::$app->request->post()) && $model_user->load(Yii::$app->request->post()) && Model::validateMultiple([$model, $model_user])) { $model->titleInstallation(); $role = Yii::$app->getModule("user")->model("Role"); $model_user->role_id = $role::ROLE_ADMIN; $model_user->status = User::STATUS_ACTIVE; $model_user->create_time = date('Y-m-d H:i:s'); $model_user->create_ip = Yii::$app->request->getUserHost(); $model_user->api_key = Yii::$app->security->generateRandomString(); $model_user->auth_key = Yii::$app->security->generateRandomString(); $model_user->save(); $profile_data = Yii::$app->getModule("user")->model("Profile"); $profile_data->user_id = $model_user->id; $profile_data->full_name = $model_user->username; $profile_data->create_time = date('Y-m-d H:i:s'); $profile_data->save(FALSE); return $this->refresh(); } return $this->render('username_installation', ['model' => $model, 'model_user' => $model_user, 'form_title' => 'System configuration', 'page_info' => '']); }
public function safeDown() { // drop tables in reverse order (for foreign key constraints) $this->dropTable(Profile::tableName()); $this->dropTable(UserKey::tableName()); $this->dropTable(User::tableName()); $this->dropTable(Role::tableName()); }
public function safeUp() { $tableOptions = null; if ($this->db->driverName === 'mysql') { $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'; } $this->createTable(UserAuth::tableName(), ['id' => Schema::TYPE_PK, 'user_id' => Schema::TYPE_INTEGER . ' not null', 'provider' => Schema::TYPE_STRING . ' not null', 'provider_id' => Schema::TYPE_STRING . ' not null', 'provider_attributes' => Schema::TYPE_TEXT . ' not null', 'create_time' => Schema::TYPE_TIMESTAMP . ' null default null', 'update_time' => Schema::TYPE_TIMESTAMP . ' null default null'], $tableOptions); // add indexes for performance optimization $this->createIndex(UserAuth::tableName() . "_provider_id", UserAuth::tableName(), "provider_id", false); // add foreign keys for data integrity $this->addForeignKey(UserAuth::tableName() . "_user_id", UserAuth::tableName(), "user_id", User::tableName(), "id"); }
/** * Updates an existing Company model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate() { $userid = Yii::$app->user->identity; // if(!$userid) return; $user = User::findOne($userid->id); $company = Company::findOne(['user_id' => $userid->id]); $tarievenDag = UserTarievenDag::findOne(['user_id' => $user->id, 'naam' => 'Dagdienst']); $tarievenNacht = UserTarievenNacht::findOne(['user_id' => $user->id, 'naam' => 'Nachtdienst']); $tarievenWeekend = UserTarievenWeekend::findOne(['user_id' => $user->id, 'naam' => 'Weekenddienst']); $tariefReizen = UserReistarief::findOne(['user_id' => $user->id]); $profile = Profile::findOne(['user_id' => $user->id]); $abonnement = UserAbonnement::findOne(['user_id' => $userid->id]); $userLoaded = $user->load(Yii::$app->request->post()); if ($userLoaded && $user->validate()) { if (Yii::$app->getModule("user")->emailChangeConfirmation && $user->checkAndPrepEmailChange()) { $userKey = Yii::$app->getModule("user")->model("UserKey"); $userKey = $userKey::generate($user->id, $userKey::TYPE_EMAIL_CHANGE); if (!($numSent = $user->sendEmailConfirmation($userKey))) { // handle email error Yii::$app->session->setFlash("Email-error", "Failed to send email"); return $this->refresh(); } } } if ($user->load(Yii::$app->request->post()) && $user->save() && $company->load(Yii::$app->request->post()) && $company->save() && $tarievenDag->load(Yii::$app->request->post()) && $tarievenDag->save() && $tarievenNacht->load(Yii::$app->request->post()) && $tarievenNacht->save() && $tarievenWeekend->load(Yii::$app->request->post()) && $tarievenWeekend->save() && $tariefReizen->load(Yii::$app->request->post()) && $tariefReizen->save() && $profile->load(Yii::$app->request->post()) && $profile->save() && $abonnement->load(Yii::$app->request->post()) && $abonnement->save()) { $this->updateZoHoContact($user); Yii::$app->session->setFlash("Account-success", Yii::t("user", "Account updated")); return $this->refresh(); //return $this->redirect(['update',]); } else { return $this->render('update', ['company' => $company, 'user' => $user, 'tarievenDag' => $tarievenDag, 'tarievenNacht' => $tarievenNacht, 'tarievenWeekend' => $tarievenWeekend, 'tariefReizen' => $tariefReizen, 'profile' => $profile, 'abonnement' => $abonnement]); } }
/** * @return \yii\db\ActiveQuery */ public function getUser() { return $this->hasOne(User::className(), ['id' => 'user_id']); }
/** * Process data after registration * * @param \amnah\yii2\user\models\User $user */ protected function afterRegister($user) { /** @var \amnah\yii2\user\models\UserKey $userKey */ // determine userKey type to see if we need to send email $userKey = Yii::$app->getModule("user")->model("UserKey"); if ($user->status == $user::STATUS_INACTIVE) { $userKeyType = $userKey::TYPE_EMAIL_ACTIVATE; } elseif ($user->status == $user::STATUS_UNCONFIRMED_EMAIL) { $userKeyType = $userKey::TYPE_EMAIL_CHANGE; } else { $userKeyType = null; } // check if we have a userKey type to process, or just log user in directly if ($userKeyType) { // generate userKey and send email $userKey = $userKey::generate($user->id, $userKeyType); //send email to admin $user->sendEmailWhenRegistered($userKey); if (!($numSent = $user->sendEmailConfirmation($userKey))) { // handle email error //Yii::$app->session->setFlash("Email-error", "Failed to send email"); } } else { Yii::$app->user->login($user, Yii::$app->getModule("user")->loginDuration); } }
private function checkUserInstallation() { if (User::find()->count() < 1) { // Set this action controller as unique on the system. // This way we enforce the system DB configuration Yii::$app->catchAll = ['installation/site/user']; Yii::$app->urlManager->enablePrettyUrl = TRUE; return FALSE; } return TRUE; }
/** * @inheritdoc */ public function attributes() { // add related fields to searchable attributes return array_merge(parent::attributes(), ['profile.full_name']); }
/** * Retrieves the Last Editor of the Static Page data * * @return \yii\db\ActiveQuery */ public function getLastEditor() { return $this->hasOne(User::className(), ['id' => 'last_editor_id']); }
/** * start de dialog om een contract aan te bieden **/ public function actionDialogContr() { $id = ArrayHelper::getValue($_POST, 'id'); $calenderevent = CalendarEvents::findOne(['id' => $id]); $start = substr($calenderevent->start, 0, 10); //Zie of er op die dag all contracten die zijn geaccepteerd. // $query = new Query(); $query->from('calendar_events'); $query->where(['start' => substr($calenderevent->start, 0, 10), 'user_id' => $calenderevent->user_id]); $query->andWhere(['like', 'code_title', 'Accep']); if ($query->count() > 0) { return $this->renderAjax('_dialogContrbezet', ['calenderevent' => $calenderevent]); } $usercv = UserCv::findOne(['user_id' => $calenderevent->user_id]); $user = User::findOne(['id' => $calenderevent->user_id]); $contractdeal = new ContractDeals(); $company = Company::findOne(['id' => $user->company_id]); $usercontactperson = Gebruikers::findOne(['id' => $calenderevent->user_id]); return $this->renderAjax('_dialogContr', ['calenderevent' => $calenderevent, 'company' => $company, 'usercv' => $usercv, 'contractdeal' => $contractdeal, 'user' => $user]); }
public function checkAbonnement($abonnementType, $company_id) { $maxEmployees = $abonnementType->restrictions; $countEmployee = User::find()->where(['company_id' => $company_id, 'role_id' => 5])->count(); //controleer of max employees is overschreden if ($maxEmployees != 0) { if ($countEmployee >= $maxEmployees) { throw new ForbiddenHttpException('<div class="panel-body"> <div class="panel panel-primary"> <div class="text-center"> <h4> <br>Uw huidige abonnement (' . $abonnementType->name . ') biedt u de mogelijkheid om maximaal ' . $maxEmployees . ' werknemers aan te maken!<br><br> U heeft er reeds ' . $countEmployee . ' aangemaakt. <br><br> <a href="http://werkmetspoor.nl/index.php/contact/" class="btn btn-danger" role="button">Neem contact met ons op over u abonnement</a> <br><br> </h4> <a href="https://rail4people-jaccos.c9.io/www/index.php/user-cv">terug</a> <br><br> </div> </div> </div> '); } } }
/** * @inheritdoc */ public function upManual() { // delete neo user that the migration automatically adds UserKey::deleteAll(['user_id' => 1]); UserAuth::deleteAll(['user_id' => 1]); Profile::deleteAll(['user_id' => 1]); User::deleteAll(['id' => 1]); }
echo Html::encode($this->title); ?> </h2> <?php //echo $this->render('_search', ['model' => $searchModel]); echo Collapse::widget(['items' => [['label' => 'Outras opções de filtro', 'content' => $this->render('_search', ['model' => $searchModel])]]]); ?> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'tableOptions' => ['class' => 'table table-striped table-hover'], 'emptyText' => '</br><p class="text-danger">Nenhuma solicitação encontrada!</p>', 'summary' => "<p class=\"text-primary \">Existem {totalCount} solicitações no sistema </p>", 'filterModel' => $searchModel, 'rowOptions' => function ($model) { if ($model->status_id == 98) { return ['class' => 'text-muted']; } }, 'columns' => [['attribute' => 'id', 'enableSorting' => true, 'contentOptions' => ['style' => 'width: 5%;text-align:left']], ['attribute' => 'created', 'enableSorting' => true, 'contentOptions' => ['style' => 'width: 4%;text-align:center'], 'format' => ['date', 'php:d/m/Y']], ['attribute' => 'location_id', 'enableSorting' => true, 'value' => function ($model) { return $model->location->nickname; }, 'filter' => ArrayHelper::map(Location::find()->orderBy('nickname')->asArray()->all(), 'id', 'nickname'), 'contentOptions' => ['style' => 'width: 4%;text-align:left']], ['attribute' => 'user_id', 'enableSorting' => true, 'value' => function ($model) { return $model->user->username; }, 'filter' => ArrayHelper::map(User::find()->orderBy('username')->asArray()->all(), 'id', 'username'), 'contentOptions' => ['style' => 'width: 14%;text-align:center']], ['attribute' => 'cpf_cnpj', 'contentOptions' => ['style' => 'width: 4%;text-align:right']], ['attribute' => 'typeperson_id', 'enableSorting' => true, 'value' => function ($model) { return $model->typeperson->name; }, 'filter' => ArrayHelper::map(Typeperson::find()->orderBy('name')->asArray()->all(), 'id', 'name'), 'contentOptions' => ['style' => 'width: 15%;text-align:left']], ['attribute' => 'typesolicitation_id', 'enableSorting' => true, 'value' => function ($model) { return $model->typesolicitation->name; }, 'filter' => ArrayHelper::map(Typesolicitation::find()->orderBy('name')->asArray()->all(), 'id', 'name'), 'contentOptions' => ['style' => 'width: 15%;text-align:left']], ['attribute' => 'status_id', 'format' => 'raw', 'enableSorting' => true, 'value' => function ($model) { //return $model->status->name; return '<span style="color:' . $model->status->color . '"><i class="fa fa-circle"></i> ' . $model->status->name . '</span>'; }, 'filter' => ArrayHelper::map(Status::find()->orderBy('name')->asArray()->all(), 'id', 'name'), 'contentOptions' => ['style' => 'width: 14%;text-align:left']], ['attribute' => 'analyst_id', 'format' => 'raw', 'enableSorting' => true, 'value' => function ($model) { return $model->analyst ? $model->analyst->username : '******'; }, 'contentOptions' => ['style' => 'width: 8%;text-align:left']], ['class' => 'yii\\grid\\ActionColumn', 'contentOptions' => ['style' => 'width: 6%;text-align:right'], 'template' => '{view} {update}']]]); ?> </div>
/** * Vervewijder alle werknemers die gelieerd zijn aan een company * **/ public function deleteDependentUsers($user) { $depUsers = Yii::$app->getModule("user")->model("User"); $depUsers = User::findAll(['company_id' => $user->company_id]); if ($depUsers) { foreach ($depUsers as $depUser) { //$reistarief = UserReistarief::findAll(['user_id'=>$depUser->id]); UserReistarief::deleteAll(['user_id' => $depUser->id]); //$tarief = UserTarieven::findAll(['user_id'=>$depUser->id]); UserTarieven::deleteAll(['user_id' => $depUser->id]); //$cv = UserCv::findAll(['user_id'=>$depUser->id]); UserCv::deleteAll(['user_id' => $depUser->id]); //$ce = CalendarEvents::find()->where(['user_id'=>$depUser->id])->all; CalendarEvents::deleteAll(['user_id' => $depUser->id]); //$cd = ContractDeals::find()->where(['user_id'=>$depUser->id])->all; ContractDeals::deleteAll(['user_id' => $depUser->id]); Profile::deleteAll(['user_id' => $depUser->id]); } } }
/** * Process data after registration * @param \amnah\yii2\user\models\User $user */ protected function afterRegister($user) { /** @var \amnah\yii2\user\models\UserToken $userToken */ $userToken = $this->module->model("UserToken"); // determine userToken type to see if we need to send email $userTokenType = null; if ($user->status == $user::STATUS_INACTIVE) { $userTokenType = $userToken::TYPE_EMAIL_ACTIVATE; } elseif ($user->status == $user::STATUS_UNCONFIRMED_EMAIL) { $userTokenType = $userToken::TYPE_EMAIL_CHANGE; } // check if we have a userToken type to process, or just log user in directly if ($userTokenType) { $userToken = $userToken::generate($user->id, $userTokenType); if (!($numSent = $user->sendEmailConfirmation($userToken))) { // handle email error //Yii::$app->session->setFlash("Email-error", "Failed to send email"); } } else { Yii::$app->user->login($user, $this->module->loginDuration); } }
/* @var $this yii\web\View */ /* @var $searchModel app\models\ReportSearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ ?> <div class="row"> <h2>Personalizado</h2> <hr/> <div class="col-xs-6 col-md-3"> <?php echo $this->render('_menu'); ?> </div> <div class="col-xs-12 col-sm-6 col-md-9"> <?php echo $this->render('_search', ['model' => $searchModel]); ?> <hr/> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'tableOptions' => ['class' => 'table table-condensed'], 'emptyText' => '</br><p class="text-danger">Nenhuma solicitação encontrada!</p>', 'summary' => "<p class=\"text-primary \">Quantidade de solicitações encontradas: <span class=\"badge\">{totalCount}</span></p><hr/>", 'columns' => [['attribute' => 'id', 'enableSorting' => true, 'contentOptions' => ['style' => 'width: 5%;text-align:left']], ['attribute' => 'created', 'enableSorting' => true, 'contentOptions' => ['style' => 'width: 4%;text-align:center'], 'format' => ['date', 'php:d/m/Y']], ['attribute' => 'user_id', 'enableSorting' => true, 'value' => function ($model) { return $model->user->username; }, 'filter' => ArrayHelper::map(User::find()->orderBy('username')->asArray()->all(), 'id', 'username'), 'contentOptions' => ['style' => 'width: 14%;text-align:center']], ['attribute' => 'status_id', 'format' => 'raw', 'enableSorting' => true, 'value' => function ($model) { return '<span style="color:' . $model->status->color . '"><i class="fa fa-circle"></i> ' . $model->status->name . '</span>'; }, 'filter' => ArrayHelper::map(Status::find()->orderBy('name')->asArray()->all(), 'id', 'name'), 'contentOptions' => ['style' => 'width: 14%;text-align:left']], ['attribute' => 'analyst_id', 'format' => 'raw', 'enableSorting' => true, 'value' => function ($model) { return $model->analyst ? $model->analyst->username : '******'; }, 'contentOptions' => ['style' => 'width: 8%;text-align:left']]]]); ?> </div> </div>
/** * Deletes an existing UserCv model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param integer $id * @return mixed */ public function actionDelete($id) { $model = $this->findModel($id); $user = User::findOne(['id' => $model->user_id]); $profile = Profile::findOne(['user_id' => $model->user_id]); $userabonnement = UserAbonnement::findOne(['user_id' => $model->user_id]); UserActivedays::deleteAll(['user_id' => $model->user_id]); $profile->delete(); $usertarieven = UserTarieven::deleteAll(['user_id' => $model->user_id]); UserReistarief::deleteAll(['user_id' => $model->user_id]); if ($userabonnement) { $userabonnement->delete(); } $model->delete(); $user->delete(); return $this->redirect(['index']); }
<div class="report-search"> <?php $form = ActiveForm::begin(['action' => ['index'], 'method' => 'get']); ?> <div class="row"> <div class="col-md-4"> <?php echo '<label class="control-label">Período</label>'; echo DatePicker::widget(['model' => $model, 'attribute' => 'start_date', 'attribute2' => 'end_date', 'language' => 'pt', 'type' => DatePicker::TYPE_RANGE, 'separator' => 'até', 'options' => ['placeholder' => ''], 'pluginOptions' => ['autoclose' => true, 'todayHighlight' => true, 'format' => 'yyyy-mm-dd']]); ?> </div> <div class="col-md-4"> <?php echo $form->field($model, 'user_id')->dropDownList(ArrayHelper::map(User::find()->where(['role_id' => 2])->orderBy("username ASC")->all(), 'id', 'username'), ['prompt' => 'Todos']); ?> </div> <div class="col-md-4"> <?php echo $form->field($model, 'location_id')->dropDownList(ArrayHelper::map(Location::find()->where(['is_active' => 1])->orderBy("fullname ASC")->all(), 'id', 'fullname'), ['prompt' => 'Todos']); ?> </div> </div> <div class="row"> <div class="col-md-4"> <?php echo $form->field($model, 'typeperson_id')->dropDownList(ArrayHelper::map(Typeperson::find()->orderBy("name ASC")->all(), 'id', 'name'), ['prompt' => 'Todos']); ?> </div> <div class="col-md-4">
use amnah\yii2\user\models\User; /* @var $this yii\web\View */ /* @var $model app\models\SolicitationSearch */ /* @var $form yii\widgets\ActiveForm */ ?> <div class="solicitation-search"> <?php $form = ActiveForm::begin(['action' => ['index'], 'method' => 'get']); ?> <div class="row"> <div class="col-sm-3"> <?php echo $form->field($model, 'user_id')->dropDownList(ArrayHelper::map(User::find()->where(['role_id' => 2])->orderBy("username ASC")->all(), 'id', 'username'), ['prompt' => '-- Selecione --', 'onchange' => 'this.form.submit()']); ?> </div> </div> <p class="small">Selecione o seu nome para exibir as suas solicitações</p> <!-- <div class="form-group"> <?php echo Html::submitButton('Filtrar', ['class' => 'btn btn-primary']); ?> </div> --> <?php ActiveForm::end(); ?>
/** * @inheritdoc */ public function attributes() { // add related fields to searchable attributes // return array_merge(parent::attributes(), ['profile.full_name','abonnement.abonnementprofiel.name','company.name']); return array_merge(parent::attributes(), ['profile.full_name', 'companyName', 'abonnementtypename']); }