Initial import
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
Yii::$app->controller->pageTitle = 'CMS администратори';
|
||||
|
||||
use app\models\UserAdminCms;
|
||||
use app\widgets\FormWidget;
|
||||
use app\widgets\TableWidget;
|
||||
|
||||
TableWidget::widget([
|
||||
'top' => [
|
||||
'title' => 'CMS администратори',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin-global' => 'Потребители'
|
||||
]
|
||||
],
|
||||
'actions' => [
|
||||
//'new' => 'Нов CMS админ',
|
||||
'edit' => 'Редакция на CMS админ',
|
||||
'delete' => 'Изтриване на CMS админ'
|
||||
],
|
||||
'th' => [
|
||||
'№' => 'c1 text-right',
|
||||
'Ел. поща' => '',
|
||||
'Име' => '',
|
||||
'Активен' => 'c0 ct'
|
||||
],
|
||||
'data' => UserAdminCms::find()->orderBy(['id' => SORT_DESC])->loop([
|
||||
'id',
|
||||
'email_login',
|
||||
'fullName',
|
||||
function (UserAdminCms $model) {
|
||||
return $model->statusSwitch('is_active');
|
||||
}
|
||||
], $_GET['p'] ?? 1, 30)
|
||||
]);
|
||||
FormWidget::widget([
|
||||
'top' => [
|
||||
'title' => 'Нов CMS администратор',
|
||||
'title_edit' => 'Редакция на CMS администратор',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin-cms' => 'CMS администратори'
|
||||
]
|
||||
],
|
||||
'writeView' => 'user/write/admin-cms_w',
|
||||
'model' => UserAdminCms::class,
|
||||
'validation' => function ($p) {
|
||||
if (isset($p->profile_update)) {
|
||||
if (empty($p->{'email_login'}))
|
||||
return ['email_login' => 'Моля, въведете ел. поща'];
|
||||
if (!filter_var($p->{'email_login'}, FILTER_VALIDATE_EMAIL))
|
||||
return ['email_login' => 'Моля, въведете валиден имейл адрес'];
|
||||
if (UserAdminCms::recordExists('email_login', $p->{'email_login'}))
|
||||
return ['email_login' => 'Този имейл адрес вече се ползва от друг cms администратор'];
|
||||
//if (empty($p->{'role_id'}))
|
||||
// return ['role_id' => 'Моля, изберете роля / група'];
|
||||
}
|
||||
if (isset($p->password_change) || empty($_GET['id'])) {
|
||||
if (empty($p->{'password'}))
|
||||
return ['password' => 'Моля, въведете парола'];
|
||||
|
||||
if (strlen($p->{'password'}) < 6)
|
||||
return ['password' => 'Моля, въведете парола от поне 6 символа'];
|
||||
|
||||
if ($p->{'cPassword'} != $p->{'password'})
|
||||
return ['cPassword' => 'Повторното въвеждане на паролата не съвпада с първата'];
|
||||
}
|
||||
},
|
||||
'postService' => function ($p, UserAdminCms $model) {
|
||||
$model->setPostDataToModel();
|
||||
$model->save();
|
||||
if (!isset($p->{'rights'}))
|
||||
$p->{'rights'} = [];
|
||||
$model->updateRights($p->{'rights'});
|
||||
Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно');
|
||||
$model->smartRedirect();
|
||||
}
|
||||
]);
|
||||
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
use app\models\UserAdminGlobal;
|
||||
use app\services\Auth;
|
||||
use app\widgets\FormWidget;
|
||||
use app\widgets\TableWidget;
|
||||
|
||||
$u = Auth::userAdminGlobal();
|
||||
|
||||
$filter = ['IS NOT', 'open_id', NULL];
|
||||
|
||||
TableWidget::widget([
|
||||
'filter' => [
|
||||
['email_login' => ['Ел. поща', 'c3']]
|
||||
],
|
||||
'top' => [
|
||||
'title' => 'Глобални администратори',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin-global' => 'Потребители'
|
||||
]
|
||||
],
|
||||
'actions' => [
|
||||
//'new' => 'Нов глобален администратор',
|
||||
'edit' => 'Редакция на глобален администратор',
|
||||
//'delete' => 'Изтриване глобален администратор',
|
||||
'export' => 'Експорт (csv)'
|
||||
],
|
||||
'th' => [
|
||||
'№' => 'c1 text-right',
|
||||
'Ел. поща' => '',
|
||||
'Име' => '',
|
||||
'Активен' => 'c0 ct'
|
||||
],
|
||||
'data' => UserAdminGlobal::find()->where($filter)->andWhere(Yii::$app->getFilterData())->orderBy(['first_name' => SORT_ASC])->loop([
|
||||
'id',
|
||||
'email_login',
|
||||
function (UserAdminGlobal $model) {
|
||||
return $model->getFullName();
|
||||
},
|
||||
function (UserAdminGlobal $model) use ($u) {
|
||||
$disabled = $model->id == $u->id ? 'disabled' : null;
|
||||
return $model->statusSwitch('is_active', null, null, $disabled);
|
||||
},
|
||||
], $_GET['p'] ?? 1, 30),
|
||||
'ignoreIds' => [$u->id],
|
||||
'exportData' => function () {
|
||||
return [
|
||||
'header' => [
|
||||
'ID' => ['integer', 10],
|
||||
'E-mail' => ['string', 50],
|
||||
'Име' => ['string', 20],
|
||||
'Фамилия' => ['string', 20]
|
||||
],
|
||||
'data' => UserAdminGlobal::find()->where(Yii::$app->getFilterData())->orderBy(['first_name' => SORT_ASC])->loop([
|
||||
'id',
|
||||
'email_login',
|
||||
'first_name',
|
||||
'last_name'
|
||||
]),
|
||||
'file_name' => 'Глобални_администратори_' . date('Y_m_d_H_i')
|
||||
];
|
||||
}
|
||||
]);
|
||||
FormWidget::widget([
|
||||
'top' => [
|
||||
'title' => 'Нов глобален администратор',
|
||||
'title_edit' => 'Редакция на глобален администратор',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin-global' => 'Глобални администратори'
|
||||
]
|
||||
],
|
||||
'writeView' => 'user/write/admin-global_w',
|
||||
'model' => UserAdminGlobal::class,
|
||||
'validation' => function ($p) {
|
||||
if (isset($p->profile_update)) {
|
||||
if (empty($p->{'email_login'}))
|
||||
return ['email_login' => 'Моля, въведете ел. поща'];
|
||||
if (!filter_var($p->{'email_login'}, FILTER_VALIDATE_EMAIL))
|
||||
return ['email_login' => 'Моля, въведете валиден имейл адрес'];
|
||||
if (UserAdminGlobal::recordExists('email_login', $p->{'email_login'}))
|
||||
return ['email_login' => 'Този имейл адрес вече се ползва от друг глобален администратор'];
|
||||
}
|
||||
if (isset($p->password_change) || empty($_GET['id'])) {
|
||||
if (empty($p->{'password'}))
|
||||
return ['password' => 'Моля, въведете парола'];
|
||||
|
||||
if (strlen($p->{'password'}) < 6)
|
||||
return ['password' => 'Моля, въведете парола от поне 6 символа'];
|
||||
|
||||
if ($p->{'cPassword'} != $p->{'password'})
|
||||
return ['cPassword' => 'Повторното въвеждане на паролата не съвпада с първата'];
|
||||
}
|
||||
},
|
||||
'postService' => function ($p, UserAdminGlobal $model) {
|
||||
Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно');
|
||||
$model->setPostDataToModel();
|
||||
$model->save();
|
||||
$model->smartRedirect();
|
||||
}
|
||||
]);
|
||||
@@ -0,0 +1 @@
|
||||
<?php
|
||||
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
|
||||
use app\models\register\Partner;
|
||||
use app\widgets\FormWidget;
|
||||
use app\widgets\TableWidget;
|
||||
|
||||
TableWidget::widget([
|
||||
'filter' => [
|
||||
['name' => ['Наименование', 'c3']]
|
||||
],
|
||||
'top' => [
|
||||
'title' => 'Партньори',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin' => 'Потребители'
|
||||
]
|
||||
],
|
||||
'actions' => [
|
||||
//'new' => 'Нов парньор',
|
||||
'edit' => 'Редакция на партньор',
|
||||
//'delete' => 'Изтриване на партньор'
|
||||
],
|
||||
'th' => [
|
||||
'№' => 'c1 text-right',
|
||||
'logo' => '',
|
||||
'Име на партньор' => '',
|
||||
'Активен' => 'ct'
|
||||
],
|
||||
'data' => Partner::find()->where(Yii::$app->getFilterData('or'))->orderBy(['id' => SORT_DESC])->loop([
|
||||
'id',
|
||||
function (Partner $model) {
|
||||
return '<img src="' . $model->getSrcOfSingleImage('partner_logo_image', '1:1') . '" style="width:80px">';
|
||||
},
|
||||
function (Partner $model) {
|
||||
return '<a href="?o=w&id=' . $model->id . '">' . $model->name . '</a>';
|
||||
},
|
||||
function (Partner $model) {
|
||||
return $model->statusSwitch('active', null, ['Партньора е активен', 'Партньора е деактивиран']);
|
||||
}
|
||||
], $_GET['p'] ?? 1, 30)
|
||||
]);
|
||||
FormWidget::widget([
|
||||
'top' => [
|
||||
'title' => 'Нов партньор',
|
||||
'title_edit' => 'Редакция на партньор',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin' => 'Потребители',
|
||||
'user/partner-org' => 'Партньори'
|
||||
]
|
||||
],
|
||||
'writeView' => 'user/write/partner_org_w',
|
||||
'model' => Partner::class,
|
||||
'validation' => function ($p) {
|
||||
},
|
||||
'postService' => function ($p, Partner $model) {
|
||||
$model->setPostDataToModel();
|
||||
$model->save();
|
||||
Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно');
|
||||
$model->smartRedirect();
|
||||
}
|
||||
]);
|
||||
@@ -0,0 +1,169 @@
|
||||
<?php
|
||||
|
||||
use app\models\CmsRoles;
|
||||
use app\models\History;
|
||||
use app\models\register\Partner;
|
||||
use app\models\UserPartner;
|
||||
use app\services\Auth;
|
||||
use app\widgets\FormWidget;
|
||||
use app\widgets\TableWidget;
|
||||
|
||||
TableWidget::widget([
|
||||
'filter' => [
|
||||
[
|
||||
'first_name' => ['Име', 'c1'],
|
||||
'last_name' => ['Фамилия', 'c1'],
|
||||
'partner_id' => ['Организация', 'c3', Partner::partnerList()],
|
||||
'role_id' => ['Роля/група', 'c2', CmsRoles::roleList()],
|
||||
'is_active' => ['Статус', 'c1', [1 => 'Активен', 'null' => 'Не активен']]
|
||||
],
|
||||
],
|
||||
'top' => [
|
||||
'title' => 'Потребители на партньор',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin-global' => 'Потребители'
|
||||
]
|
||||
],
|
||||
'actions' => [
|
||||
//'new' => 'Нов потребител',
|
||||
'edit' => 'Редакция на потребител',
|
||||
//'delete' => 'Изтриване на потребител',
|
||||
'export' => 'Експорт (csv)'
|
||||
],
|
||||
'th' => [
|
||||
'№' => 'c1 text-right',
|
||||
'Ел. поща' => '',
|
||||
'Име' => '',
|
||||
'Организация' => '',
|
||||
'Група / роля ' => '',
|
||||
'Бр. права' => 'c1',
|
||||
'История' => 'c0 ct',
|
||||
'Активен' => 'c0 ct'
|
||||
],
|
||||
'data' => UserPartner::find()->where(Yii::$app->getFilterData())->orderBy(['id' => SORT_DESC])->loop([
|
||||
'id',
|
||||
function (UserPartner $model) {
|
||||
return '<a href="?o=w&id=' . $model->id . '">' . $model->email_login . '</a>';
|
||||
},
|
||||
'fullName',
|
||||
function (UserPartner $model) {
|
||||
if ($model->partner)
|
||||
return $model->partner->name;
|
||||
},
|
||||
function (UserPartner $model) {
|
||||
if ($model->cmsRole)
|
||||
return $model->cmsRole->name;
|
||||
},
|
||||
function (UserPartner $model) {
|
||||
if ($model->getRightsIds())
|
||||
return sizeof($model->getRightsIds());
|
||||
},
|
||||
function (UserPartner $model) {
|
||||
return '<i data-table="user_partner" data-id="' . $model->id . '" class="la la-history historyButton"></i>';
|
||||
},
|
||||
function (UserPartner $model) {
|
||||
return $model->statusSwitch('is_active');
|
||||
}
|
||||
], $_GET['p'] ?? 1, 30),
|
||||
'exportData' => function () {
|
||||
return [
|
||||
'header' => [
|
||||
'ID' => ['integer', 10],
|
||||
'E-mail' => ['string', 50],
|
||||
'Име' => ['string', 20],
|
||||
'Фамилия' => ['string', 20],
|
||||
'Организация' => ['string', 50],
|
||||
'Група / роля' => ['string', 30]
|
||||
],
|
||||
'data' => UserPartner::find()->where(Yii::$app->getFilterData())->orderBy(['first_name' => SORT_ASC])->loop([
|
||||
'id',
|
||||
'email_login',
|
||||
'first_name',
|
||||
'last_name',
|
||||
function (UserPartner $userPartner) {
|
||||
return $userPartner->partner->name;
|
||||
},
|
||||
function (UserPartner $userPartner) {
|
||||
if ($userPartner->cmsRole)
|
||||
return $userPartner->cmsRole->name;
|
||||
}
|
||||
]),
|
||||
'file_name' => 'Партньори_' . date('Y_m_d_H_i')
|
||||
];
|
||||
}
|
||||
]);
|
||||
FormWidget::widget([
|
||||
'top' => [
|
||||
'title' => 'Нов партньор',
|
||||
'title_edit' => 'Редакция на партньор',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin-global' => 'Потребители',
|
||||
'user/partner' => 'Партньори',
|
||||
]
|
||||
],
|
||||
'writeView' => 'user/write/partner_w',
|
||||
'model' => UserPartner::class,
|
||||
'validation' => function ($p, $f) {
|
||||
if (isset($p->profile_update)) {
|
||||
if (empty($p->{'email_login'}))
|
||||
return ['email_login' => 'Моля, въведете ел. поща'];
|
||||
|
||||
if (!filter_var($p->{'email_login'}, FILTER_VALIDATE_EMAIL))
|
||||
return ['email_login' => 'Моля, въведете валиден имейл адрес'];
|
||||
|
||||
if (UserPartner::recordExists('email_login', $p->{'email_login'}))
|
||||
return ['email_login' => 'Този имейл адрес вече се ползва от друг потребител на партньор'];
|
||||
|
||||
/*if (empty($_GET['id'])) {
|
||||
if (empty($p->{'password'}))
|
||||
return ['password' => 'Моля, въведете парола'];
|
||||
}
|
||||
if (!empty($p->{'password'})) {
|
||||
if (strlen($p->{'password'}) < 6)
|
||||
return ['password' => 'Моля, въведете парола от поне 6 символа'];
|
||||
if ($p->{'cPassword'} != $p->{'password'})
|
||||
return ['cPassword' => 'Повторното въвеждане на паролата не съвпада с първата'];
|
||||
}
|
||||
if (empty($p->{'first_name'}))
|
||||
return ['first_name' => 'Моля, попълнете име'];
|
||||
if (empty($p->{'middle_name'}))
|
||||
return ['middle_name' => 'Моля, попълнете презиме'];
|
||||
if (empty($p->{'last_name'}))
|
||||
return ['last_name' => 'Моля, попълнете фамилия'];
|
||||
*/
|
||||
if (empty($p->{'first_name'}))
|
||||
return ['first_name' => 'Моля, попълнете име'];
|
||||
if (empty($p->{'last_name'}))
|
||||
return ['last_name' => 'Моля, попълнете фамилия'];
|
||||
if (empty($p->{'partner_id'}))
|
||||
return ['partner_id' => 'Моля, изберете организация'];
|
||||
if (empty($p->{'role_id'}))
|
||||
return ['role_id' => 'Моля, изберете роля / група'];
|
||||
}
|
||||
if (isset($p->password_change) && !empty($_GET['id'])) {
|
||||
if (empty($p->{'password'}))
|
||||
return ['password' => 'Моля, въведете парола'];
|
||||
if (strlen($p->{'password'}) < 6)
|
||||
return ['password' => 'Моля, въведете парола от поне 6 символа'];
|
||||
if ($p->{'cPassword'} != $p->{'password'})
|
||||
return ['cPassword' => 'Повторното въвеждане на паролата не съвпада с първата'];
|
||||
}
|
||||
return null;
|
||||
},
|
||||
'postService' => function ($p, UserPartner $model) {
|
||||
$model->setPostDataToModel();
|
||||
$model->uploadSingleImage('upload_image', 'user/partner');
|
||||
$model->save();
|
||||
if (!isset($p->{'rights'}))
|
||||
$p->{'rights'} = [];
|
||||
$model->updateRights($p->{'rights'});
|
||||
|
||||
History::addNew($model->id, 'user_partner', Auth::userAdminGlobal()->getFullName() . ' - Глобален администратор', !empty($_GET['id']));
|
||||
|
||||
Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно');
|
||||
Yii::$app->setRefresh();
|
||||
$model->smartRedirect();
|
||||
}
|
||||
]);
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
use app\models\UserAdminGlobal;
|
||||
use app\services\Auth;
|
||||
use app\widgets\FormWidget;
|
||||
|
||||
$u = Auth::userAdminGlobal();
|
||||
$_GET['o'] = 'w';
|
||||
$_GET['id'] = $u->id;
|
||||
|
||||
FormWidget::widget([
|
||||
'top' => [
|
||||
'title' => 'Профил',
|
||||
'title_edit' => 'Профил',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало'
|
||||
]
|
||||
],
|
||||
'writeView' => 'user/write/profile_w',
|
||||
'model' => UserAdminGlobal::class,
|
||||
'validation' => function ($p) {
|
||||
if (isset($p->profile_update)) {
|
||||
if (empty($p->{'email_login'}))
|
||||
return ['email_login' => 'Моля, въведете ел. поща'];
|
||||
if (!filter_var($p->{'email_login'}, FILTER_VALIDATE_EMAIL))
|
||||
return ['email_login' => 'Моля, въведете валиден имейл адрес'];
|
||||
if (UserAdminGlobal::recordExists('email_login', $p->{'email_login'}))
|
||||
return ['email_login' => 'Този имейл адрес вече се ползва от друг глобален администратор'];
|
||||
}
|
||||
if (isset($p->password_change) || empty($_GET['id'])) {
|
||||
if (empty($p->{'password'}))
|
||||
return ['password' => 'Моля, въведете парола'];
|
||||
|
||||
if (strlen($p->{'password'}) < 6)
|
||||
return ['password' => 'Моля, въведете парола от поне 6 символа'];
|
||||
|
||||
if ($p->{'cPassword'} != $p->{'password'})
|
||||
return ['cPassword' => 'Повторното въвеждане на паролата не съвпада с първата'];
|
||||
}
|
||||
},
|
||||
'postService' => function ($p, UserAdminGlobal $model) {
|
||||
Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно');
|
||||
$model->setPostDataToModel();
|
||||
$model->save();
|
||||
$model->redirectTo('user/profile', true);
|
||||
}
|
||||
]);
|
||||
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
use app\models\UserAdminGlobal;
|
||||
use app\models\UserPublic;
|
||||
use app\services\Auth;
|
||||
use app\widgets\FormWidget;
|
||||
use app\widgets\TableWidget;
|
||||
|
||||
$filter = [];
|
||||
|
||||
$u = Auth::userAdminGlobal();
|
||||
|
||||
TableWidget::widget([
|
||||
'filter' => [
|
||||
['email' => ['Ел. поща', 'c3']]
|
||||
],
|
||||
'top' => [
|
||||
'title' => 'Потребители публичен портал',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/public' => 'Управление на потребители публичен портал'
|
||||
]
|
||||
],
|
||||
'actions' => [
|
||||
//'new' => 'Нов потребител',
|
||||
//'edit' => 'Редакция потребител',
|
||||
//'delete' => 'Изтриване потребител',
|
||||
'export' => 'Експорт (csv)'
|
||||
],
|
||||
'th' => [
|
||||
'№' => 'c0 text-right',
|
||||
'Ел. поща' => 'c3',
|
||||
'Име' => '',
|
||||
'Клубна карта' => 'c1 ct',
|
||||
'Активен' => 'c02 ct'
|
||||
],
|
||||
'data' => UserPublic::find()->where($filter)->andWhere(Yii::$app->getFilterData())->orderBy(['id' => SORT_DESC])->loop([
|
||||
'id',
|
||||
'email',
|
||||
'full_name',
|
||||
/*function (UserPublic $model) use ($u) {
|
||||
$disabled = $model->id == $u->id ? 'disabled' : null;
|
||||
return $model->statusSwitch('is_active', null, null, $disabled);
|
||||
},*/
|
||||
function (UserPublic $model) {
|
||||
return $model->club_card ? '<span style="color: green">да</span>' : '<span style="color: darkred">не</span>';
|
||||
},
|
||||
function (UserPublic $model) {
|
||||
return $model->statusSwitch('is_active', null, ['Потребителя е активиран', 'Потребителя е деактивиран']);
|
||||
}
|
||||
], $_GET['p'] ?? 1, 30),
|
||||
//'ignoreIds' => [$u->id],
|
||||
'exportData' => function () {
|
||||
return [
|
||||
'header' => [
|
||||
'ID' => ['integer', 10],
|
||||
'E-mail' => ['string', 50],
|
||||
'Име и фамилия' => ['string', 50],
|
||||
],
|
||||
'data' => UserPublic::find()->where(Yii::$app->getFilterData())->orderBy(['full_name' => SORT_ASC])->loop([
|
||||
'id',
|
||||
'full_name',
|
||||
'email',
|
||||
]),
|
||||
'file_name' => 'Потребители_публичен_портал' . date('Y_m_d_H_i')
|
||||
];
|
||||
}
|
||||
]);
|
||||
FormWidget::widget([
|
||||
'top' => [
|
||||
'title' => 'Нов глобален администратор',
|
||||
'title_edit' => 'Редакция на глобален администратор',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/public' => 'Управление на потребители публичен портал'
|
||||
]
|
||||
],
|
||||
'writeView' => 'user/write/public-user_w',
|
||||
'model' => UserPublic::class,
|
||||
'validation' => function ($p) {
|
||||
if (isset($p->profile_update)) {
|
||||
if (empty($p->{'email'}))
|
||||
return ['email' => 'Моля, въведете ел. поща'];
|
||||
if (!filter_var($p->{'email'}, FILTER_VALIDATE_EMAIL))
|
||||
return ['email' => 'Моля, въведете валиден имейл адрес'];
|
||||
if (UserPublic::recordExists('email', $p->{'email'}))
|
||||
return ['email' => 'Този имейл адрес вече се ползва от потребител в публичен портал'];
|
||||
}
|
||||
if (isset($p->password_change) || empty($_GET['id'])) {
|
||||
if (empty($p->{'password'}))
|
||||
return ['password' => 'Моля, въведете парола'];
|
||||
|
||||
if (strlen($p->{'password'}) < 6)
|
||||
return ['password' => 'Моля, въведете парола от поне 6 символа'];
|
||||
|
||||
if ($p->{'cPassword'} != $p->{'password'})
|
||||
return ['cPassword' => 'Повторното въвеждане на паролата не съвпада с първата'];
|
||||
}
|
||||
},
|
||||
'postService' => function ($p, UserPublic $model) {
|
||||
Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно');
|
||||
$model->setPostDataToModel();
|
||||
$model->save();
|
||||
$model->smartRedirect();
|
||||
}
|
||||
]);
|
||||
@@ -0,0 +1 @@
|
||||
<?php
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
Yii::$app->controller->pageTitle = 'Права';
|
||||
|
||||
use app\models\CmsRights;
|
||||
use app\widgets\FormWidget;
|
||||
use app\widgets\TableWidget;
|
||||
|
||||
TableWidget::widget([
|
||||
'filter' => [
|
||||
['name' => ['Наименование', 'c3']]
|
||||
],
|
||||
'top' => [
|
||||
'title' => 'Права',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin' => 'Потребители'
|
||||
]
|
||||
],
|
||||
'actions' => [
|
||||
'new' => 'Ново право',
|
||||
'edit' => 'Редакция на право',
|
||||
//'delete' => 'Изтриване на право'
|
||||
],
|
||||
'th' => [
|
||||
'№' => 'c1 text-right',
|
||||
'Наименование на потребителското правото' => '',
|
||||
'Активен' => ''
|
||||
],
|
||||
'data' => CmsRights::find()->where(Yii::$app->getFilterData())->orderBy(['id' => SORT_DESC])->loop([
|
||||
'id',
|
||||
'name',
|
||||
function(CmsRights $model) {
|
||||
return $model->statusSwitch('is_active', null, ['Правото е активирано', 'Правото е деактивирано']);
|
||||
}
|
||||
], $_GET['p'] ?? 1, 30)
|
||||
]);
|
||||
FormWidget::widget([
|
||||
'top' => [
|
||||
'title' => 'Ново право',
|
||||
'title_edit' => 'Редакция на право',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin' => 'Потребители',
|
||||
'user/rights' => 'Права'
|
||||
]
|
||||
],
|
||||
'writeView' => 'user/write/rights_w',
|
||||
'model' => CmsRights::class,
|
||||
'validation' => function ($p) {
|
||||
if (empty($p->{'name'}))
|
||||
return ['name' => 'Моля, въведете наименование на правото'];
|
||||
if (CmsRights::recordExists('name', $p->{'name'}))
|
||||
return ['name' => 'Това право вече е въведено, моля използвайте друго наименование'];
|
||||
},
|
||||
'postService' => function ($p, CmsRights $model) {
|
||||
$model->setPostDataToModel();
|
||||
$model->save();
|
||||
Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно');
|
||||
$model->smartRedirect();
|
||||
}
|
||||
]);
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
Yii::$app->controller->pageTitle = 'Роли / групи';
|
||||
|
||||
use app\models\CmsRoles;
|
||||
use app\widgets\FormWidget;
|
||||
use app\widgets\TableWidget;
|
||||
|
||||
TableWidget::widget([
|
||||
'top' => [
|
||||
'title' => 'Роли / групи',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin' => 'Потребители'
|
||||
]
|
||||
],
|
||||
'actions' => [
|
||||
'new' => 'Нова роля',
|
||||
'edit' => 'Редакция на роля',
|
||||
'delete' => 'Изтриване на роля'
|
||||
],
|
||||
'th' => [
|
||||
'№' => 'c1 text-right',
|
||||
'Наименование на роля' => 'c3',
|
||||
'Описание на роля' => '',
|
||||
'Бр. зададени права' => ''
|
||||
],
|
||||
'data' => CmsRoles::find()->loop([
|
||||
'id',
|
||||
function (CmsRoles $model) {
|
||||
return '<a href="?o=w&id=' . $model->id . '">' . $model->name . '</a>';
|
||||
},
|
||||
'description',
|
||||
function (CmsRoles $model) {
|
||||
return sizeof($model->getRightsIds());
|
||||
}
|
||||
], $_GET['p'] ?? 1, 20)
|
||||
]);
|
||||
FormWidget::widget([
|
||||
'top' => [
|
||||
'title' => 'Нова роля/група',
|
||||
'title_edit' => 'Редакция на роля/група',
|
||||
'data' => [
|
||||
'index/dashboard' => 'Начало',
|
||||
'user/admin' => 'Потребители',
|
||||
'user/roles' => 'Роли / групи'
|
||||
]
|
||||
],
|
||||
'writeView' => 'user/write/roles_w',
|
||||
'model' => CmsRoles::class,
|
||||
'validation' => function ($p) {
|
||||
if (empty($p->{'user_type_id'}))
|
||||
return ['user_type_id' => 'Моля, изберете тип потребител'];
|
||||
if (empty($p->{'name'}))
|
||||
return ['name' => 'Моля, въведете наименование на ролята'];
|
||||
if (CmsRoles::recordExists('name', $p->{'name'}))
|
||||
return ['name' => 'Тази роля вече е ваведена, моля използвайте друго наименование'];
|
||||
},
|
||||
'postService' => function ($p, CmsRoles $model) {
|
||||
$model->setPostDataToModel();
|
||||
$model->save();
|
||||
if (!isset($p->{'rights'}))
|
||||
$p->{'rights'} = [];
|
||||
$model->updateRights($p->{'rights'});
|
||||
Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно');
|
||||
$model->smartRedirect();
|
||||
}
|
||||
|
||||
]);
|
||||
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
use app\models\CmsRoles;
|
||||
use app\models\UserAdminCms;
|
||||
|
||||
/**
|
||||
* @var UserAdminCms $model
|
||||
*/
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
|
||||
<?php if (!empty($_GET['id'])): ?>
|
||||
<form autocomplete="off">
|
||||
<input name="password_change" type="hidden" value="1">
|
||||
<div class="row c7 top15">
|
||||
<div class="top-title">Смяна на парола</div>
|
||||
</div>
|
||||
<div class="c7 flex top15 top-page-panel">
|
||||
<div class="row c6 right10">
|
||||
<label class="require"><?= $model->password ? 'Нова парола' : 'Парола' ?></label>
|
||||
<input type="password" name="password"
|
||||
placeholder="<?= $model->password ? 'Смени паролата за логиин' : 'Въведи парола за логин в системата' ?> "
|
||||
value=""/>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<label class="require">Повтори паролата</label>
|
||||
<input type="password" name="cPassword" placeholder="Повторете паролата" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<button class="btn btn-default"><i class="la la-lock"></i> Смени паролата</button>
|
||||
</div>
|
||||
</form>
|
||||
<?php endif ?>
|
||||
|
||||
<form autocomplete="off" class="top15">
|
||||
<input name="profile_update" type="hidden" value="1">
|
||||
<div class="row c7">
|
||||
<div class="top-title">Данни на потребителя</div>
|
||||
</div>
|
||||
<div class="row c7 flex top15">
|
||||
<div class="right10 c6">
|
||||
<label class="require">Потребител (ел. поща)</label>
|
||||
<input name="email_login" placeholder="Въведи ел. поща за логин в системата"
|
||||
value="<?= $model->email_login ?>"/>
|
||||
</div>
|
||||
<div class="c6">
|
||||
<label>Телефон</label>
|
||||
<input name="phone" placeholder="Въведи телефон"
|
||||
value="<?= $model->phone ?>"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<div class="right10 c6">
|
||||
<label>Име</label>
|
||||
<input name="first_name" placeholder="Име" value="<?= $model->first_name ?>">
|
||||
</div>
|
||||
<div class="c6">
|
||||
<label>Фамилия</label>
|
||||
<input name="last_name" placeholder="Фамилия" value="<?= $model->last_name ?>">
|
||||
</div>
|
||||
</div>
|
||||
<?php if (empty($_GET['id'])): ?>
|
||||
<div class="c7 flex top15">
|
||||
<div class="row c6 right10">
|
||||
<label class="require"><?= $model->password ? 'Нова парола' : 'Парола' ?></label>
|
||||
<input type="password" name="password"
|
||||
placeholder="<?= $model->password ? 'Смени паролата за логиин' : 'Въведи парола за логин в системата' ?> "
|
||||
value=""/>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<label class="require">Повтори паролата</label>
|
||||
<input type="password" name="cPassword" placeholder="Повторете паролата" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="row c7 top15 flex">
|
||||
<?=\app\widgets\services\Includes::formButtons('user/admin-cms')?>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function updateCheckListByRole(e) {
|
||||
if(e.value) {
|
||||
request({
|
||||
url: e.dataset.update + '?role_id=' + e.value,
|
||||
done: r => {
|
||||
if(r.rights) {
|
||||
all('.check-list input', e => {
|
||||
e.checked = false;
|
||||
});
|
||||
r.rights.forEach(e => {
|
||||
console.log(e)
|
||||
const inputRight = one('.check-list input[value="'+ e +'"]');
|
||||
inputRight.checked = true;
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
use app\models\UserAdminGlobal;
|
||||
use app\widgets\services\Includes;
|
||||
/**
|
||||
* @var UserAdminGlobal $model
|
||||
*/
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<?php if (!empty($_GET['id'])): ?>
|
||||
<!--
|
||||
<form autocomplete="off">
|
||||
<input name="password_change" type="hidden" value="1">
|
||||
<div class="row c7 top15">
|
||||
<div class="top-title">Смяна на парола</div>
|
||||
</div>
|
||||
<div class="c7 flex top15 top-page-panel">
|
||||
<div class="row c6 right10">
|
||||
<label class="require"><?= $model->password ? 'Нова парола' : 'Парола' ?></label>
|
||||
<input type="password" name="password"
|
||||
placeholder="<?= $model->password ? 'Смени паролата за логиин' : 'Въведи парола за логин в системата' ?> "
|
||||
value=""/>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<label class="require">Повтори паролата</label>
|
||||
<input type="password" name="cPassword" placeholder="Повторете паролата" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<button class="btn btn-default"><i class="la la-lock"></i> Смени паролата</button>
|
||||
</div>
|
||||
</form>
|
||||
-->
|
||||
<?php endif ?>
|
||||
<form autocomplete="off" class="top15">
|
||||
<input name="profile_update" type="hidden" value="1">
|
||||
<div class="row c7">
|
||||
<div class="top-title">Данни на потребителя</div>
|
||||
</div>
|
||||
<div class="row c7 flex top15">
|
||||
<div class="right10 c6">
|
||||
<label class="require">Потребител (ел. поща)</label>
|
||||
<input readonly name="email_login" placeholder="Въведи ел. поща за логин в системата"
|
||||
value="<?= $model->email_login ?>"/>
|
||||
</div>
|
||||
<div class="c6">
|
||||
<label>Телефон</label>
|
||||
<input name="phone" placeholder="Въведи телефон"
|
||||
value="<?= $model->phone ?>"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<div class="right10 c6">
|
||||
<label>Име</label>
|
||||
<input name="first_name" placeholder="Име" value="<?= $model->first_name ?>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if (empty($_GET['id'])): ?>
|
||||
<div class="c7 flex top15">
|
||||
<div class="row c6 right10">
|
||||
<label class="require"><?= $model->password ? 'Нова парола' : 'Парола' ?></label>
|
||||
<input type="password" name="password"
|
||||
placeholder="<?= $model->password ? 'Смени паролата за логиин' : 'Въведи парола за логин в системата' ?> "
|
||||
value=""/>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<label class="require">Повтори паролата</label>
|
||||
<input type="password" name="cPassword" placeholder="Повторете паролата" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="row c7 top15 flex">
|
||||
<?= Includes::formButtons('user/admin-global'); ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,148 @@
|
||||
<?php
|
||||
|
||||
use app\widgets\FileWidget;
|
||||
|
||||
/**
|
||||
* @var \app\models\register\Partner $model
|
||||
*/
|
||||
$media_key = $model->getMediaKey();
|
||||
?>
|
||||
<div class="inner-content p20">
|
||||
<div class="row top15">
|
||||
<a style="width: 200px; text-align: center"
|
||||
href="<?= Yii::$app->goTo('user/partner-org') ?><?= isset($_GET['p']) ? '?p=' . $_GET['p'] : '' ?>"
|
||||
class="btn btn-default right10"><i class="la la-undo"></i> Обратно в списъка</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c5">
|
||||
<h2><?= $model->name ?></h2>
|
||||
</div>
|
||||
<div class="row top30" style="width: 350px">
|
||||
<label>Лого</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'partner_logo_image',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне',
|
||||
'edit' => 'Редакция',
|
||||
'delete' => 'Премахване'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<div class="row top15" style="width: 350px">
|
||||
<label>Хедър изображение за страницата на партньор</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'partner_header_image',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне',
|
||||
'edit' => 'Редакция',
|
||||
'delete' => 'Премахване'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['21:5'],
|
||||
'max_file_size' => 4,
|
||||
'error_message' => 'Файловете по-големи от 4МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<div class="row top15 c5">
|
||||
<label>Описание</label>
|
||||
<p><?= $model->description ?></p>
|
||||
</div>
|
||||
<div class="row top15 c5">
|
||||
<label>Уебсайт</label>
|
||||
<p><?= $model->website ?></p>
|
||||
</div>
|
||||
<div class="row top15 c5">
|
||||
<label>Телефон</label>
|
||||
<p><?= $model->phone ?></p>
|
||||
</div>
|
||||
<div class="row top15 c5">
|
||||
<label>E-mail</label>
|
||||
<p><?= $model->email ?></p>
|
||||
</div>
|
||||
<div class="row c15 top15 top-page-panel">
|
||||
<label>Ауторизирани публични потребители</label>
|
||||
<p class="upload-info">* изберете потребители, които да бъдат ауторизирани да проверяват направените
|
||||
резервации в деня и часа на дадено събитие, публикувано партньора.</p>
|
||||
<div class="flex">
|
||||
<div style="width: 700px">
|
||||
<select id="auth_users" style="display:none;" class="search-select-box" multiple
|
||||
name="user_list[]">
|
||||
<option disabled value="">-- избери потребител --</option>
|
||||
<?php foreach ($model->userPublicList() as $item): ?>
|
||||
<option <?= $item['selected'] ?>
|
||||
value="<?= $item['id'] ?>"><?= $item['name'] ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<div onclick="updateQrValidators()" id="update_qr_validators" class="btn btn-default"
|
||||
style="width: 200px; text-align: center; height: 10px; line-height: 10px; margin-left: 10px">
|
||||
Актуализирай
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="upload-info">Партньорът ще бъде визоализиран на сайта, след като има качено и обработено лого
|
||||
изображение за него във формат 1:1</p>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
<script src="/_public/assets/js/search-box.js"></script>
|
||||
|
||||
<script>
|
||||
all('.search-select-box').forEach(el => {
|
||||
var s = new SearchBox(el)
|
||||
})
|
||||
|
||||
|
||||
function updateQrValidators() {
|
||||
|
||||
const selectEl = document.getElementById("auth_users");
|
||||
const selectedOptions = [];
|
||||
|
||||
for (let i = 0; i < selectEl.options.length; i++) {
|
||||
if (selectEl.options[i].selected) {
|
||||
selectedOptions.push(selectEl.options[i].value);
|
||||
}
|
||||
}
|
||||
console.log(selectedOptions)
|
||||
|
||||
request({
|
||||
url: '/remote/update-qr-validators/',
|
||||
post: {
|
||||
validators: selectedOptions,
|
||||
partner_id: '<?= $model->id ?>'
|
||||
},
|
||||
done: (r) => {
|
||||
console.log(r)
|
||||
if(r && r.success) {
|
||||
flash.success('Списъка с потребители е актуализиран успешно', false)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
<?php if ($model->id && !$model->media_key): ?>
|
||||
<script>
|
||||
const media_key = '<?= $media_key ?>';
|
||||
request({
|
||||
url: window.location.href + '&media_key_update=1',
|
||||
post: {media_key: media_key}
|
||||
})
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
|
||||
use app\models\CmsRoles;
|
||||
use app\models\register\Partner;
|
||||
use app\models\UserPartner;
|
||||
use app\services\JWT;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var \app\models\UserPartner $model
|
||||
*/
|
||||
?>
|
||||
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<input name="profile_update" type="hidden" value="1">
|
||||
<div class="row c7 top15">
|
||||
<div class="top-title">Данни на потребителя</div>
|
||||
</div>
|
||||
<div class="row c7 top15">
|
||||
<div class="c6">
|
||||
<label>Снимка</label>
|
||||
<div class="image-upload cursor-default">
|
||||
<div class="actions"
|
||||
data-image-name="upload_image"
|
||||
data-add="Добави снимка"
|
||||
data-edit="Смени снимката"
|
||||
data-remove="Премахни снимката"
|
||||
data-remove-msg="Искате ли снимката да бъде премахната?"
|
||||
data-remove-ready="Снимката е премахната"
|
||||
data-warning="Снимката ще се актуализира след запазване на цялата форма"
|
||||
data-default="la la-user"
|
||||
data-src="<?= $model->getSingleImageSrc('user/partner') ?>"
|
||||
></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<div class="right10 c6">
|
||||
<label class="require">Служебен имейл</label>
|
||||
<input name="email_login" placeholder="Въведи ел. поща за логин в системата" value="<?= $model->email_login?>"/>
|
||||
</div>
|
||||
<div class="right10 c6">
|
||||
<label class="require">Име</label>
|
||||
<input name="first_name" placeholder="Име" value="<?= $model->first_name ?>">
|
||||
</div>
|
||||
<div class="c6">
|
||||
<label class="require">Фамилия</label>
|
||||
<input name="last_name" placeholder="Фамилия" value="<?= $model->last_name ?>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<div class="c6 right10">
|
||||
<label>Организация</label>
|
||||
<select style="pointer-events: none; appearance: none; border: 0; width: calc(100% - 10px); font-weight: bold; color: #1e6ab3; background: #f1f1f1" readonly="" name="partner_id">
|
||||
<option disabled selected>-- Избери организация --</option>
|
||||
<?php foreach (Partner::partnerList() as $id => $name): ?>
|
||||
<option <?= $model->partner_id == $id ? 'selected' : '' ?>
|
||||
value="<?= $id ?>"><?= $name ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15">
|
||||
<div class="c8">
|
||||
<label>Представяне</label>
|
||||
<textarea name="presentation"><?= $model->presentation ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15">
|
||||
<div class="c8">
|
||||
<label class="require">Роля / група</label>
|
||||
<select name="role_id" data-update="<?= Yii::$app->goTo('role-rights') ?>"
|
||||
onchange="updateCheckListByRole(this)">
|
||||
<option disabled selected>-- Избери роля / група --</option>
|
||||
<?php foreach (CmsRoles::roleList() as $id => $name): ?>
|
||||
<option <?= $model->role_id == $id ? 'selected' : '' ?> value="<?= $id ?>"><?= $name ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 flex top15">
|
||||
<div class="row c8">
|
||||
<label>Добавяне на права</label>
|
||||
<div class="p10 border-default">
|
||||
<input onkeyup="searchInCheckList(this)" placeholder="Филтър на права">
|
||||
<div class="check-list p10 border-default top5" style="width: calc(100% - 20px)">
|
||||
<?= UserPartner::getRightList($model) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<?= Includes::formButtons('user/partner') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
<script>
|
||||
function updateCheckListByRole(e) {
|
||||
if (e.value) {
|
||||
request({
|
||||
url: e.dataset.update + '?role_id=' + e.value,
|
||||
done: r => {
|
||||
if (r.rights) {
|
||||
all('.check-list input', e => {
|
||||
e.checked = false;
|
||||
});
|
||||
r.rights.forEach(e => {
|
||||
console.log(e)
|
||||
const inputRight = one('.check-list input[value="' + e + '"]');
|
||||
inputRight.checked = true;
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
use app\models\UserAdminGlobal;
|
||||
|
||||
/**
|
||||
* @var UserAdminGlobal $model
|
||||
*/
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
|
||||
<?php if (!empty($_GET['id'])): ?>
|
||||
<?php if(!$model->open_id): ?>
|
||||
<form autocomplete="off">
|
||||
<input name="password_change" type="hidden" value="1">
|
||||
<div class="row c7 top15">
|
||||
<div class="top-title">Смяна на парола</div>
|
||||
</div>
|
||||
<div class="c7 flex top15 top-page-panel">
|
||||
<div class="row c6 right10">
|
||||
<label class="require"><?= $model->password ? 'Нова парола' : 'Парола' ?></label>
|
||||
<input type="password" name="password"
|
||||
placeholder="<?= $model->password ? 'Смени паролата за логиин' : 'Въведи парола за логин в системата' ?> "
|
||||
value=""/>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<label class="require">Повтори паролата</label>
|
||||
<input type="password" name="cPassword" placeholder="Повторете паролата" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<button class="btn btn-default"><i class="la la-save"></i> Смяна на парола</button>
|
||||
</div>
|
||||
</form>
|
||||
<?php endif; ?>
|
||||
<?php endif ?>
|
||||
<form autocomplete="off" class="top15">
|
||||
<div class="row c7 top15">
|
||||
<div class="top-title">Данни на потребителя</div>
|
||||
</div>
|
||||
<input name="profile_update" type="hidden" value="1">
|
||||
<div class="c7 top15">
|
||||
<div class="row flex">
|
||||
<div class="right10 c6">
|
||||
<label class="require">Потребител (ел. поща)</label>
|
||||
<input name="email_login" placeholder="Въведи ел. поща за логин в системата"
|
||||
value="<?= $model->email_login ?>"/>
|
||||
</div>
|
||||
<div class="c6">
|
||||
<label>Телефон</label>
|
||||
<input name="phone" placeholder="Въведи телефон"
|
||||
value="<?= $model->phone ?>"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row top15 flex">
|
||||
<div class="right10 c6">
|
||||
<label>Име</label>
|
||||
<input name="first_name" placeholder="Име" value="<?= $model->first_name ?>">
|
||||
</div>
|
||||
<div class="c6">
|
||||
<label>Фамилия</label>
|
||||
<input name="last_name" placeholder="Фамилия" value="<?= $model->last_name ?>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<button class="btn btn-default"><i class="la la-save"></i> Актуализирай</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
use app\models\UserAdminGlobal;
|
||||
use app\widgets\services\Includes;
|
||||
exit;
|
||||
/**
|
||||
* @var \app\models\UserPublic $model
|
||||
*/
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<?php if (!empty($_GET['id'])): ?>
|
||||
<form autocomplete="off">
|
||||
<input name="password_change" type="hidden" value="1">
|
||||
<div class="row c7 top15">
|
||||
<div class="top-title">Смяна на парола</div>
|
||||
</div>
|
||||
<div class="c7 flex top15 top-page-panel">
|
||||
<div class="row c6 right10">
|
||||
<label class="require"><?= $model->password ? 'Нова парола' : 'Парола' ?></label>
|
||||
<input type="password" name="password"
|
||||
placeholder="<?= $model->password ? 'Смени паролата за логиин' : 'Въведи парола за логин в системата' ?> "
|
||||
value=""/>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<label class="require">Повтори паролата</label>
|
||||
<input type="password" name="cPassword" placeholder="Повторете паролата" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<button class="btn btn-default"><i class="la la-lock"></i> Смени паролата</button>
|
||||
</div>
|
||||
</form>
|
||||
<?php endif ?>
|
||||
<form autocomplete="off" class="top15">
|
||||
<input name="profile_update" type="hidden" value="1">
|
||||
<div class="row c7">
|
||||
<div class="top-title">Данни на потребителя</div>
|
||||
</div>
|
||||
<div class="row c7 flex top15">
|
||||
<div class="right10 c6">
|
||||
<label class="require">Потребител (ел. поща)</label>
|
||||
<input name="email" placeholder="Въведи ел. поща за логин в системата"
|
||||
value="<?= $model->email ?>"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<div class="right10 c6">
|
||||
<label>Име и фамилия</label>
|
||||
<input name="full_name" placeholder="Име" value="<?= $model->full_name ?>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if (empty($_GET['id'])): ?>
|
||||
<div class="c7 flex top15">
|
||||
<div class="row c6 right10">
|
||||
<label class="require"><?= $model->password ? 'Нова парола' : 'Парола' ?></label>
|
||||
<input type="password" name="password"
|
||||
placeholder="<?= $model->password ? 'Смени паролата за логиин' : 'Въведи парола за логин в системата' ?> "
|
||||
value=""/>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<label class="require">Повтори паролата</label>
|
||||
<input type="password" name="cPassword" placeholder="Повторете паролата" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="row c7 top15 flex">
|
||||
<?= Includes::formButtons('user/public'); ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use app\models\CmsRights;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var CmsRights $model
|
||||
*/
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c5">
|
||||
<label class="require">Наименование на право</label>
|
||||
<input name="name" placeholder="Въведи наименование потребителското право" value="<?= $model->name ?>"/>
|
||||
</div>
|
||||
<div class="row c5 top15 flex">
|
||||
<?= Includes::formButtons('user/rights') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
use app\models\CmsRights;
|
||||
use app\models\CmsRoles;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var CmsRoles $model
|
||||
*/
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c5">
|
||||
<label class="require">Тип потребител</label>
|
||||
<select name="user_type_id">
|
||||
<option disabled selected>-- Избери тип потребител --</option>
|
||||
<?php foreach (CmsRoles::roleUserTypes() as $id => $roleUserType): ?>
|
||||
<option <?= $model->user_type_id == $id ? 'selected' : '' ?> value="<?= $id ?>"><?=$roleUserType?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="row c5 top15">
|
||||
<label class="require">Наименование на роля / група</label>
|
||||
<input name="name" placeholder="Въведи наименование на ролята / групата" value="<?= $model->name ?>"/>
|
||||
</div>
|
||||
<div class="row c5 top15">
|
||||
<label>Описание на роля / група</label>
|
||||
<input name="description" placeholder="Въведи кратко описание на ролята / групата"
|
||||
value="<?= $model->description ?>"/>
|
||||
</div>
|
||||
<div class="row c5 top15">
|
||||
<label>Добавяне на права</label>
|
||||
<div class="p10 border-default">
|
||||
<input onkeyup="searchInCheckList(this)" placeholder="Филтър на права">
|
||||
<div class="check-list p10 border-default top5" style="width: calc(100% - 20px)">
|
||||
<?= CmsRights::getHtmlList($model) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c5 top15 flex">
|
||||
<?= Includes::formButtons('user/roles') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
Reference in New Issue
Block a user