commit
c9baee8d5a
@ -69,7 +69,7 @@ return [
|
||||
'enablePrettyUrl' => true,
|
||||
'showScriptName' => false,
|
||||
'rules' => [
|
||||
'' => '/card/user-card'
|
||||
'' => '/card/user-card',
|
||||
],
|
||||
],
|
||||
|
||||
|
@ -5,6 +5,7 @@ namespace backend\modules\card\controllers;
|
||||
use common\classes\Debug;
|
||||
use common\models\AdditionalFields;
|
||||
use common\models\CardSkill;
|
||||
use common\models\User;
|
||||
use common\models\FieldsValue;
|
||||
use common\models\FieldsValueNew;
|
||||
use common\models\Status;
|
||||
@ -71,10 +72,14 @@ class UserCardController extends Controller
|
||||
|
||||
$skills = CardSkill::find()->where(['card_id' => $id])->with('skill')->all();
|
||||
|
||||
$id_current_user = $this->findModel($id)->id_user;
|
||||
|
||||
return $this->render('view', [
|
||||
'model' => $this->findModel($id),
|
||||
'modelFildValue' => $dataProvider,
|
||||
'skills' => $skills,
|
||||
// 'userData' => $userData,
|
||||
'userData' => User::findOne($id_current_user),
|
||||
]);
|
||||
}
|
||||
|
||||
@ -88,6 +93,8 @@ class UserCardController extends Controller
|
||||
$model = new UserCard();
|
||||
|
||||
if ($model->load(Yii::$app->request->post()) && $model->save()) {
|
||||
UserCard::generateUserForUserCard($model->id);
|
||||
|
||||
return $this->redirect(['view', 'id' => $model->id]);
|
||||
}
|
||||
|
||||
@ -134,6 +141,17 @@ class UserCardController extends Controller
|
||||
return $this->redirect(['index']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Lists all UserCard models.
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionGenerate()
|
||||
{
|
||||
$massage = UserCard::generateUserForUserCard();
|
||||
return $this->render('generate', ['massage' => $massage]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Finds the UserCard model based on its primary key value.
|
||||
* If the model is not found, a 404 HTTP exception will be thrown.
|
||||
|
@ -2,9 +2,11 @@
|
||||
|
||||
namespace backend\modules\card\models;
|
||||
|
||||
use Yii;
|
||||
use backend\modules\settings\models\Skill;
|
||||
use common\classes\Debug;
|
||||
use common\models\CardSkill;
|
||||
use common\models\User;
|
||||
use common\models\FieldsValue;
|
||||
use common\models\FieldsValueNew;
|
||||
use yii\helpers\ArrayHelper;
|
||||
@ -22,21 +24,25 @@ class UserCard extends \common\models\UserCard
|
||||
[
|
||||
'item_id' => \Yii::$app->request->get('id'),
|
||||
'item_type' => FieldsValueNew::TYPE_PROFILE,
|
||||
])
|
||||
]
|
||||
)
|
||||
->all();
|
||||
$array = [];
|
||||
if (!empty($fieldValue)) {
|
||||
foreach ($fieldValue as $item) {
|
||||
array_push($array,
|
||||
['field_id' => $item->field_id,
|
||||
array_push(
|
||||
$array,
|
||||
[
|
||||
'field_id' => $item->field_id,
|
||||
'value' => $item->value,
|
||||
'order' => $item->order,
|
||||
'type_file' => $item->type_file,
|
||||
'field_name' => $item->field->name]);
|
||||
'field_name' => $item->field->name
|
||||
]
|
||||
);
|
||||
}
|
||||
$this->fields = $array;
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
$this->fields = [
|
||||
[
|
||||
'field_id' => null,
|
||||
@ -48,14 +54,14 @@ class UserCard extends \common\models\UserCard
|
||||
];
|
||||
}
|
||||
|
||||
$skill = ArrayHelper::getColumn(CardSkill::find()->where(['card_id' => \Yii::$app->request->get('id')])->all(),
|
||||
'skill_id');
|
||||
$skill = ArrayHelper::getColumn(
|
||||
CardSkill::find()->where(['card_id' => \Yii::$app->request->get('id')])->all(),
|
||||
'skill_id'
|
||||
);
|
||||
|
||||
if (!empty($skill)) {
|
||||
$this->skill = $skill;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function afterSave($insert, $changedAttributes)
|
||||
@ -95,4 +101,59 @@ class UserCard extends \common\models\UserCard
|
||||
|
||||
parent::afterSave($insert, $changedAttributes); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
public function generateUser($email, $status)
|
||||
{
|
||||
$user = new User();
|
||||
$auth_key = Yii::$app->security->generateRandomString();
|
||||
$password = Yii::$app->security->generateRandomString(12);
|
||||
$password_hash = Yii::$app->security->generatePasswordHash($password);
|
||||
|
||||
$user->username = $email;
|
||||
$user->auth_key = $auth_key;
|
||||
$user->password_hash = $password_hash;
|
||||
$user->email = $email;
|
||||
if ($status == 1) $user->status = 10;
|
||||
|
||||
$user->save();
|
||||
|
||||
$log = "Логин: " . $email . " Пароль: " . $password . " | ";
|
||||
file_put_contents("log.txt", $log, FILE_APPEND | LOCK_EX);
|
||||
|
||||
return $user->id;
|
||||
}
|
||||
|
||||
public function genereateLinlkOnUser($user_card, $user_id)
|
||||
{
|
||||
$user_card->id_user = $user_id;
|
||||
$user_card->save();
|
||||
}
|
||||
|
||||
public function generateUserForUserCard($card_id = null)
|
||||
{
|
||||
$userCardQuery = UserCard::find();
|
||||
$card_id ? $userCardQuery->where(['id' => $card_id]) : $userCardQuery->where(['id_user' => NULL]);
|
||||
$user_card_array = $userCardQuery->all();
|
||||
$user_array = User::find()->select(['id', 'email'])->all();
|
||||
|
||||
foreach ($user_card_array as $user_card_value) {
|
||||
|
||||
foreach ($user_array as $user_value)
|
||||
if ($user_card_value->email == $user_value->email) {
|
||||
$user_id = $user_value->id;
|
||||
break;
|
||||
} else $user_id = NULL;
|
||||
|
||||
if ($user_id) {
|
||||
UserCard::genereateLinlkOnUser($user_card_value, $user_id);
|
||||
} else {
|
||||
|
||||
$user_id = UserCard::generateUser($user_card_value->email, $user_card_value->status);
|
||||
UserCard::genereateLinlkOnUser($user_card_value, $user_id);
|
||||
}
|
||||
}
|
||||
|
||||
if ($user_card_array) return "Данные успешно сгенерированы";
|
||||
else return "Нет данных для генерации";
|
||||
}
|
||||
}
|
@ -73,26 +73,31 @@ use yii\widgets\ActiveForm;
|
||||
</div>
|
||||
|
||||
<div class="col-xs-6">
|
||||
<?= $form->field($model, 'gender')->dropDownList($model->genders,
|
||||
<?= $form->field($model, 'gender')->dropDownList(
|
||||
$model->genders,
|
||||
[
|
||||
'prompt' => 'Выберите'
|
||||
]) ?>
|
||||
]
|
||||
) ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<?= $form->field($model, 'dob')->input('date',
|
||||
<?= $form->field($model, 'dob')->input(
|
||||
'date',
|
||||
[
|
||||
'placeholder' => 'Zadejte svůj Datum narození',
|
||||
'language' => 'en',
|
||||
"data-format" => "DD MMMM YYYY",
|
||||
|
||||
]) ?>
|
||||
]
|
||||
) ?>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<?= $form->field($model, 'status')
|
||||
->dropDownList(\common\models\Status::getStatusesArray(\common\models\UseStatus::USE_PROFILE),
|
||||
->dropDownList(
|
||||
\common\models\Status::getStatusesArray(\common\models\UseStatus::USE_PROFILE),
|
||||
[
|
||||
'prompt' => 'Выберите'
|
||||
]
|
||||
@ -116,7 +121,8 @@ use yii\widgets\ActiveForm;
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<?= $form->field($model, 'skill')->widget(Select2::class,
|
||||
<?= $form->field($model, 'skill')->widget(
|
||||
Select2::class,
|
||||
[
|
||||
'data' => \yii\helpers\ArrayHelper::map(\common\models\Skill::find()->all(), 'id', 'name'),
|
||||
'options' => ['placeholder' => '...', 'class' => 'form-control', 'multiple' => true],
|
||||
@ -138,11 +144,14 @@ use yii\widgets\ActiveForm;
|
||||
'type' => 'dropDownList',
|
||||
'title' => 'Поле',
|
||||
'defaultValue' => null,
|
||||
'items' => \yii\helpers\ArrayHelper::map(\backend\modules\settings\models\AdditionalFields::find()
|
||||
'items' => \yii\helpers\ArrayHelper::map(
|
||||
\backend\modules\settings\models\AdditionalFields::find()
|
||||
->joinWith('useFields')
|
||||
->where(['`use_field`.`use`' => \common\models\UseStatus::USE_PROFILE])
|
||||
->all(),
|
||||
'id', 'name'),
|
||||
'id',
|
||||
'name'
|
||||
),
|
||||
'options' => ['prompt' => 'Выберите']
|
||||
],
|
||||
[
|
||||
|
3
backend/modules/card/views/user-card/generate.php
Normal file
3
backend/modules/card/views/user-card/generate.php
Normal file
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
echo $massage;
|
@ -16,6 +16,7 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
|
||||
<p>
|
||||
<?= Html::a('Добавить', ['create'], ['class' => 'btn btn-success']) ?>
|
||||
<?= Html::a('Сгенерировать пользователей', ['generate'], ['class' => 'btn btn-success']) ?>
|
||||
</p>
|
||||
|
||||
<?= GridView::widget([
|
||||
@ -62,8 +63,7 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
'format' => 'raw',
|
||||
'value' => function ($model) {
|
||||
$str = '';
|
||||
foreach ($model->skillValues as $item)
|
||||
{
|
||||
foreach ($model->skillValues as $item) {
|
||||
$str .= $item->skill->name . ', ';
|
||||
}
|
||||
$str = substr($str, 0, -2);
|
||||
|
@ -6,6 +6,7 @@ use yii\widgets\DetailView;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model backend\modules\card\models\UserCard */
|
||||
/* @var $userData common\models\User */
|
||||
/* @var $skills \common\models\CardSkill */
|
||||
/* @var $skill \common\models\Skill */
|
||||
|
||||
@ -84,4 +85,5 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
],
|
||||
],
|
||||
]); ?>
|
||||
|
||||
</div>
|
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
|
||||
/* @var $this \yii\web\View */
|
||||
@ -20,20 +21,22 @@ use yii\helpers\Html;
|
||||
<ul class="nav navbar-nav">
|
||||
|
||||
<!-- Messages: style can be found in dropdown.less-->
|
||||
<li class="dropdown messages-menu">
|
||||
<!-- <li class="dropdown messages-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-envelope-o"></i>
|
||||
<span class="label label-success">4</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
</a> -->
|
||||
<!-- <ul class="dropdown-menu">
|
||||
<li class="header">You have 4 messages</li>
|
||||
<li>
|
||||
<li> -->
|
||||
<!-- inner menu: contains the actual data -->
|
||||
<ul class="menu">
|
||||
<li><!-- start message -->
|
||||
<a href="#">
|
||||
<!-- <ul class="menu">
|
||||
<li> -->
|
||||
<!-- start message -->
|
||||
<!-- <a href="#">
|
||||
<div class="pull-left">
|
||||
<img src="<?= $directoryAsset ?>/img/user2-160x160.jpg" class="img-circle"
|
||||
<img src="<? //= $directoryAsset
|
||||
?>/img/user2-160x160.jpg" class="img-circle"
|
||||
alt="User Image"/>
|
||||
</div>
|
||||
<h4>
|
||||
@ -42,12 +45,13 @@ use yii\helpers\Html;
|
||||
</h4>
|
||||
<p>Why not buy a new awesome theme?</p>
|
||||
</a>
|
||||
</li>
|
||||
</li> -->
|
||||
<!-- end message -->
|
||||
<li>
|
||||
<!-- <li>
|
||||
<a href="#">
|
||||
<div class="pull-left">
|
||||
<img src="<?= $directoryAsset ?>/img/user3-128x128.jpg" class="img-circle"
|
||||
<img src="<? //= $directoryAsset
|
||||
?>/img/user3-128x128.jpg" class="img-circle"
|
||||
alt="user image"/>
|
||||
</div>
|
||||
<h4>
|
||||
@ -60,7 +64,8 @@ use yii\helpers\Html;
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="pull-left">
|
||||
<img src="<?= $directoryAsset ?>/img/user4-128x128.jpg" class="img-circle"
|
||||
<img src="<? //= $directoryAsset
|
||||
?>/img/user4-128x128.jpg" class="img-circle"
|
||||
alt="user image"/>
|
||||
</div>
|
||||
<h4>
|
||||
@ -73,7 +78,8 @@ use yii\helpers\Html;
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="pull-left">
|
||||
<img src="<?= $directoryAsset ?>/img/user3-128x128.jpg" class="img-circle"
|
||||
<img src="<? //= $directoryAsset
|
||||
?>/img/user3-128x128.jpg" class="img-circle"
|
||||
alt="user image"/>
|
||||
</div>
|
||||
<h4>
|
||||
@ -86,7 +92,8 @@ use yii\helpers\Html;
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="pull-left">
|
||||
<img src="<?= $directoryAsset ?>/img/user4-128x128.jpg" class="img-circle"
|
||||
<img src="<? //= $directoryAsset
|
||||
?>/img/user4-128x128.jpg" class="img-circle"
|
||||
alt="user image"/>
|
||||
</div>
|
||||
<h4>
|
||||
@ -96,21 +103,21 @@ use yii\helpers\Html;
|
||||
<p>Why not buy a new awesome theme?</p>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul> -->
|
||||
<!-- </li>
|
||||
<li class="footer"><a href="#">See All Messages</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown notifications-menu">
|
||||
</ul> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li class="dropdown notifications-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-bell-o"></i>
|
||||
<span class="label label-warning">10</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="header">You have 10 notifications</li>
|
||||
<li>
|
||||
<li> -->
|
||||
<!-- inner menu: contains the actual data -->
|
||||
<ul class="menu">
|
||||
<!-- <ul class="menu">
|
||||
<li>
|
||||
<a href="#">
|
||||
<i class="fa fa-users text-aqua"></i> 5 new members joined today
|
||||
@ -142,104 +149,100 @@ use yii\helpers\Html;
|
||||
</li>
|
||||
<li class="footer"><a href="#">View all</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</li> -->
|
||||
<!-- Tasks: style can be found in dropdown.less -->
|
||||
<li class="dropdown tasks-menu">
|
||||
<!-- <li class="dropdown tasks-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-flag-o"></i>
|
||||
<span class="label label-danger">9</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="header">You have 9 tasks</li>
|
||||
<li>
|
||||
<!-->
|
||||
<!-- inner menu: contains the actual data -->
|
||||
<ul class="menu">
|
||||
<li><!-- Task item -->
|
||||
<a href="#">
|
||||
<!-- <ul class="menu">
|
||||
<li> -->
|
||||
<!-- Task item -->
|
||||
<!-- <a href="#">
|
||||
<h3>
|
||||
Design some buttons
|
||||
<small class="pull-right">20%</small>
|
||||
</h3>
|
||||
<div class="progress xs">
|
||||
<div class="progress-bar progress-bar-aqua" style="width: 20%"
|
||||
role="progressbar" aria-valuenow="20" aria-valuemin="0"
|
||||
aria-valuemax="100">
|
||||
<div class="progress-bar progress-bar-aqua" style="width: 20%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
|
||||
<span class="sr-only">20% Complete</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</li> -->
|
||||
<!-- end task item -->
|
||||
<li><!-- Task item -->
|
||||
<a href="#">
|
||||
<!-- <li> -->
|
||||
<!-- Task item -->
|
||||
<!-- <a href="#">
|
||||
<h3>
|
||||
Create a nice theme
|
||||
<small class="pull-right">40%</small>
|
||||
</h3>
|
||||
<div class="progress xs">
|
||||
<div class="progress-bar progress-bar-green" style="width: 40%"
|
||||
role="progressbar" aria-valuenow="20" aria-valuemin="0"
|
||||
aria-valuemax="100">
|
||||
<div class="progress-bar progress-bar-green" style="width: 40%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
|
||||
<span class="sr-only">40% Complete</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</a> -->
|
||||
|
||||
<!-- end task item -->
|
||||
<li><!-- Task item -->
|
||||
<a href="#">
|
||||
<!-- <li> -->
|
||||
<!-- Task item -->
|
||||
<!-- <a href="#">
|
||||
<h3>
|
||||
Some task I need to do
|
||||
<small class="pull-right">60%</small>
|
||||
</h3>
|
||||
<div class="progress xs">
|
||||
<div class="progress-bar progress-bar-red" style="width: 60%"
|
||||
role="progressbar" aria-valuenow="20" aria-valuemin="0"
|
||||
aria-valuemax="100">
|
||||
<div class="progress-bar progress-bar-red" style="width: 60%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
|
||||
<span class="sr-only">60% Complete</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</a> -->
|
||||
|
||||
<!-- end task item -->
|
||||
<li><!-- Task item -->
|
||||
<a href="#">
|
||||
<!-- <li> -->
|
||||
<!-- Task item -->
|
||||
<!-- <a href="#">
|
||||
<h3>
|
||||
Make beautiful transitions
|
||||
<small class="pull-right">80%</small>
|
||||
</h3>
|
||||
<div class="progress xs">
|
||||
<div class="progress-bar progress-bar-yellow" style="width: 80%"
|
||||
role="progressbar" aria-valuenow="20" aria-valuemin="0"
|
||||
aria-valuemax="100">
|
||||
<div class="progress-bar progress-bar-yellow" style="width: 80%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
|
||||
<span class="sr-only">80% Complete</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</a> -->
|
||||
|
||||
<!-- end task item -->
|
||||
</ul>
|
||||
</li>
|
||||
<li class="footer">
|
||||
<!-- </ul> -->
|
||||
|
||||
<!-- <li class="footer">
|
||||
<a href="#">View all tasks</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</li> -->
|
||||
|
||||
<!-- User Account: style can be found in dropdown.less -->
|
||||
|
||||
<li class="dropdown user user-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<img src="<?= $directoryAsset ?>/img/user2-160x160.jpg" class="user-image" alt="User Image" />
|
||||
<span class="hidden-xs">Alexander Pierce</span>
|
||||
<span class="hidden-xs"><?= Yii::$app->user->identity->username ?></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<!-- User image -->
|
||||
<li class="user-header">
|
||||
<img src="<?= $directoryAsset ?>/img/user2-160x160.jpg" class="img-circle"
|
||||
alt="User Image"/>
|
||||
<img src="<?= $directoryAsset ?>/img/user2-160x160.jpg" class="img-circle" alt="User Image" />
|
||||
|
||||
<p>
|
||||
Alexander Pierce - Web Developer
|
||||
<?= Yii::$app->user->identity->username ?> - Web Developer
|
||||
<small>Member since Nov. 2012</small>
|
||||
</p>
|
||||
</li>
|
||||
|
@ -1,6 +1,7 @@
|
||||
<aside class="main-sidebar">
|
||||
<section class="sidebar">
|
||||
<?php
|
||||
|
||||
$userStatuses = \common\models\Status::getStatusesArray(\common\models\UseStatus::USE_PROFILE);
|
||||
$menuItems = [['label' => 'Все', 'icon' => 'user', 'url' => ['/card/user-card']]];
|
||||
foreach ($userStatuses as $key => $status) {
|
||||
@ -20,30 +21,31 @@
|
||||
[
|
||||
'label' => 'Настройки', 'icon' => 'gears', 'url' => '#',
|
||||
'items' => [
|
||||
['label' => 'Статусы', 'icon' => 'anchor', 'url' => ['/settings/status']],
|
||||
['label' => 'Доп. поля', 'icon' => 'file-text-o', 'url' => ['/settings/additional-fields']],
|
||||
['label' => 'Должность', 'icon' => 'spotify', 'url' => ['/settings/position']],
|
||||
['label' => 'Навыки', 'icon' => 'flask', 'url' => ['/settings/skill']],
|
||||
['label' => 'Статусы', 'icon' => 'anchor', 'url' => ['/settings/status'], 'active' => \Yii::$app->controller->id == 'status'],
|
||||
['label' => 'Доп. поля', 'icon' => 'file-text-o', 'url' => ['/settings/additional-fields'], 'active' => \Yii::$app->controller->id == 'additional-fields'],
|
||||
['label' => 'Должность', 'icon' => 'spotify', 'url' => ['/settings/position'], 'active' => \Yii::$app->controller->id == 'position'],
|
||||
['label' => 'Навыки', 'icon' => 'flask', 'url' => ['/settings/skill'], 'active' => \Yii::$app->controller->id == 'skill'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'label' => 'Профили', 'icon' => 'users', 'url' => '#',
|
||||
'label' => 'Профили', 'icon' => 'users', 'url' => '#', 'active' => \Yii::$app->controller->id == 'user-card',
|
||||
'items' => $menuItems,
|
||||
],
|
||||
[ 'label' => 'Проекты', 'icon' => 'files-o', 'url' => ['#'],
|
||||
[
|
||||
'label' => 'Проекты', 'icon' => 'files-o', 'url' => ['#'], 'active' => \Yii::$app->controller->id == 'project',
|
||||
'items' => $projectItems,
|
||||
],
|
||||
['label' => 'Компании', 'icon' => 'files-o', 'url' => ['/company/company']],
|
||||
[
|
||||
'label' => 'Hh.ru', 'icon' => 'user-circle', 'url' => '#',
|
||||
'items' => [
|
||||
['label' => 'Компании', 'icon' => 'building', 'url' => ['/hh/hh']],
|
||||
['label' => 'Вакансии', 'icon' => 'user-md', 'url' => ['/hh/hh-job']],
|
||||
['label' => 'Компании', 'icon' => 'building', 'url' => ['/hh/hh'], 'active' => \Yii::$app->controller->id == 'hh'],
|
||||
['label' => 'Вакансии', 'icon' => 'user-md', 'url' => ['/hh/hh-job'], 'active' => \Yii::$app->controller->id == 'hh-job'],
|
||||
],
|
||||
],
|
||||
['label' => 'Баланс', 'icon' => 'dollar', 'url' => ['/balance/balance']],
|
||||
['label' => 'Отпуска', 'icon' => 'plane', 'url' => ['/holiday/holiday']],
|
||||
['label' => 'Доступы', 'icon' => '', 'url' => ['/accesses/accesses']],
|
||||
['label' => 'Баланс', 'icon' => 'dollar', 'url' => ['/balance/balance'], 'active' => \Yii::$app->controller->id == 'balance'],
|
||||
['label' => 'Отпуска', 'icon' => 'plane', 'url' => ['/holiday/holiday'], 'active' => \Yii::$app->controller->id == 'holiday'],
|
||||
['label' => 'Доступы', 'icon' => '', 'url' => ['/accesses/accesses'], 'active' => \Yii::$app->controller->id == 'accesses'],
|
||||
|
||||
/*['label' => 'Gii', 'icon' => 'file-code-o', 'url' => ['/gii']],
|
||||
['label' => 'Debug', 'icon' => 'dashboard', 'url' => ['/debug']],
|
||||
|
1
backend/web/.gitignore
vendored
1
backend/web/.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/index.php
|
||||
/index-test.php
|
||||
/robots.txt
|
||||
/log.txt
|
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
namespace common\models;
|
||||
|
||||
use Yii;
|
||||
@ -26,7 +27,6 @@ class User extends ActiveRecord implements IdentityInterface
|
||||
const STATUS_DELETED = 0;
|
||||
const STATUS_ACTIVE = 10;
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
@ -12,6 +12,7 @@ use yii\helpers\ArrayHelper;
|
||||
* This is the model class for table "user_card".
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $id_user
|
||||
* @property string $fio
|
||||
* @property string $passport
|
||||
* @property string $photo
|
||||
@ -63,7 +64,7 @@ class UserCard extends \yii\db\ActiveRecord
|
||||
{
|
||||
return [
|
||||
[['fio', 'status', 'gender'], 'required'],
|
||||
[['gender', 'status', 'position_id'], 'integer'],
|
||||
[['gender', 'status', 'position_id', 'id_user'], 'integer'],
|
||||
[['dob', 'created_at', 'updated_at', 'deleted_at'], 'safe'],
|
||||
[['fio', 'passport', 'photo', 'email', 'resume'], 'string', 'max' => 255],
|
||||
[['salary'], 'string', 'max' => 100],
|
||||
@ -79,6 +80,7 @@ class UserCard extends \yii\db\ActiveRecord
|
||||
{
|
||||
return [
|
||||
'id' => 'ID',
|
||||
'id_user' => 'ID пользователя',
|
||||
'fio' => 'ФИО',
|
||||
'passport' => 'Паспорт',
|
||||
'photo' => 'Фото',
|
||||
|
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
use yii\db\Migration;
|
||||
|
||||
/**
|
||||
* Handles adding columns to table `{{%user_card}}`.
|
||||
* Has foreign keys to the tables:
|
||||
*
|
||||
* - `{{%user}}`
|
||||
*/
|
||||
class m191114_124130_add_id_user_column_to_user_card_table extends Migration
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function safeUp()
|
||||
{
|
||||
$this->addColumn('{{%user_card}}', 'id_user', $this->integer());
|
||||
|
||||
// creates index for column `id_user`
|
||||
$this->createIndex(
|
||||
'{{%idx-user_card-id_user}}',
|
||||
'{{%user_card}}',
|
||||
'id_user'
|
||||
);
|
||||
|
||||
// add foreign key for table `{{%user}}`
|
||||
$this->addForeignKey(
|
||||
'{{%fk-user_card-id_user}}',
|
||||
'{{%user_card}}',
|
||||
'id_user',
|
||||
'{{%user}}',
|
||||
'id',
|
||||
'CASCADE'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function safeDown()
|
||||
{
|
||||
// drops foreign key for table `{{%user}}`
|
||||
$this->dropForeignKey(
|
||||
'{{%fk-user_card-id_user}}',
|
||||
'{{%user_card}}'
|
||||
);
|
||||
|
||||
// drops index for column `id_user`
|
||||
$this->dropIndex(
|
||||
'{{%idx-user_card-id_user}}',
|
||||
'{{%user_card}}'
|
||||
);
|
||||
|
||||
$this->dropColumn('{{%user_card}}', 'id_user');
|
||||
}
|
||||
}
|
@ -11,6 +11,13 @@ return [
|
||||
'basePath' => dirname(__DIR__),
|
||||
'bootstrap' => ['log'],
|
||||
'controllerNamespace' => 'frontend\controllers',
|
||||
|
||||
'modules' => [
|
||||
'access' => [
|
||||
'class' => 'frontend\modules\access\Access',
|
||||
],
|
||||
],
|
||||
|
||||
'components' => [
|
||||
'request' => [
|
||||
'csrfParam' => '_csrf-frontend',
|
||||
@ -41,8 +48,7 @@ return [
|
||||
'urlManager' => [
|
||||
'enablePrettyUrl' => true,
|
||||
'showScriptName' => false,
|
||||
'rules' => [
|
||||
],
|
||||
'rules' => [],
|
||||
],
|
||||
|
||||
],
|
||||
|
24
frontend/modules/access/Access.php
Normal file
24
frontend/modules/access/Access.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace frontend\modules\access;
|
||||
|
||||
/**
|
||||
* access module definition class
|
||||
*/
|
||||
class Access extends \yii\base\Module
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public $controllerNamespace = 'frontend\modules\access\controllers';
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
// custom initialization code goes here
|
||||
}
|
||||
}
|
31
frontend/modules/access/controllers/AccessController.php
Normal file
31
frontend/modules/access/controllers/AccessController.php
Normal file
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace frontend\modules\access\controllers;
|
||||
|
||||
use common\classes\Debug;
|
||||
use common\models\Accesses;
|
||||
use Yii;
|
||||
use yii\web\Controller;
|
||||
use yii\data\ActiveDataProvider;
|
||||
|
||||
class AccessController extends Controller
|
||||
{
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionIndex()
|
||||
{
|
||||
$id_user = Yii::$app->user->id;
|
||||
$query = "SELECT accesses.name, accesses.access FROM `accesses`, `user_card`, `user_card_accesses` WHERE user_card.id_user =" . $id_user . " AND user_card_accesses.user_card_id = user_card.id AND accesses.id = user_card_accesses.accesses_id ";
|
||||
$access = Accesses::findBySql($query);
|
||||
|
||||
$dataProvider = new ActiveDataProvider([
|
||||
'query' => $access,
|
||||
'pagination' => [
|
||||
'pageSize' => 200,
|
||||
],
|
||||
]);
|
||||
|
||||
return $this->render('index', compact('dataProvider', $dataProvider));
|
||||
}
|
||||
}
|
20
frontend/modules/access/controllers/DefaultController.php
Normal file
20
frontend/modules/access/controllers/DefaultController.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace frontend\modules\access\controllers;
|
||||
|
||||
use yii\web\Controller;
|
||||
|
||||
/**
|
||||
* Default controller for the `access` module
|
||||
*/
|
||||
class DefaultController extends Controller
|
||||
{
|
||||
/**
|
||||
* Renders the index view for the module
|
||||
* @return string
|
||||
*/
|
||||
public function actionIndex()
|
||||
{
|
||||
return $this->render('index');
|
||||
}
|
||||
}
|
13
frontend/modules/access/views/access/index.php
Normal file
13
frontend/modules/access/views/access/index.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use yii\grid\GridView;
|
||||
use yii\widgets\DetailView;
|
||||
|
||||
echo GridView::widget([
|
||||
'dataProvider' => $dataProvider,
|
||||
'columns' => [
|
||||
['class' => 'yii\grid\SerialColumn'],
|
||||
'name',
|
||||
'access',
|
||||
],
|
||||
]);
|
12
frontend/modules/access/views/default/index.php
Normal file
12
frontend/modules/access/views/default/index.php
Normal file
@ -0,0 +1,12 @@
|
||||
<div class="access-default-index">
|
||||
<h1><?= $this->context->action->uniqueId ?></h1>
|
||||
<p>
|
||||
This is the view content for action "<?= $this->context->action->id ?>".
|
||||
The action belongs to the controller "<?= get_class($this->context) ?>"
|
||||
in the "<?= $this->context->module->id ?>" module.
|
||||
</p>
|
||||
<p>
|
||||
You may customize this page by editing the following file:<br>
|
||||
<code><?= __FILE__ ?></code>
|
||||
</p>
|
||||
</div>
|
@ -15,6 +15,7 @@ AppAsset::register($this);
|
||||
<?php $this->beginPage() ?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="<?= Yii::$app->language ?>">
|
||||
|
||||
<head>
|
||||
<meta charset="<?= Yii::$app->charset ?>">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
@ -23,6 +24,7 @@ AppAsset::register($this);
|
||||
<title><?= Html::encode($this->title) ?></title>
|
||||
<?php $this->head() ?>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<?php $this->beginBody() ?>
|
||||
|
||||
@ -44,6 +46,7 @@ AppAsset::register($this);
|
||||
$menuItems[] = ['label' => 'Signup', 'url' => ['/site/signup']];
|
||||
$menuItems[] = ['label' => 'Login', 'url' => ['/site/login']];
|
||||
} else {
|
||||
$menuItems[] = ['label' => 'Access', 'url' => ['/access/access/index']];
|
||||
$menuItems[] = '<li>'
|
||||
. Html::beginForm(['/site/logout'], 'post')
|
||||
. Html::submitButton(
|
||||
@ -79,5 +82,6 @@ AppAsset::register($this);
|
||||
|
||||
<?php $this->endBody() ?>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<?php $this->endPage() ?>
|
Loading…
Reference in New Issue
Block a user