refactor users module to domain/controller and release 0.253 update package

This commit is contained in:
2026-02-12 21:44:40 +01:00
parent 336891276d
commit 2ecc4fd9be
24 changed files with 1452 additions and 453 deletions

View File

@@ -1,90 +1,2 @@
<?php
global $gdb, $config;
<?= \Tpl::view('components/form-edit', ['form' => $this->form]); ?>
$this -> user['id'] ? $password_param = 'optional' : $password_param = 'require';
$grid = new \gridEdit;
$grid -> gdb_opt = $gdb;
$grid -> include_plugins = true;
$grid -> title = 'Zapisz użytkownika';
$grid -> fields = [
[
'db' => 'id',
'type' => 'hidden',
'value' => $this -> user['id']
],
[
'db' => 'admin',
'type' => 'hidden',
'value' => '1'
],
[
'name' => 'Login',
'db' => 'login',
'type' => 'text',
'value' => $this -> user['login'],
'params' => [ 'class' => 'require', 'function' => 'check_login' ]
],
[
'name' => 'Aktywny',
'db' => 'status',
'type' => 'input_switch',
'checked' => $this -> user['status'] ? true : false
], [
'db' => 'twofa_enabled',
'name' => 'Dwustopniowe uwierzytelnianie (2FA)',
'type' => 'input_switch',
'checked' => $this -> user['twofa_enabled'] ? true : false,
], [
'db' => 'twofa_email',
'name' => 'E-mail do 2FA',
'type' => 'text',
'value' => $this -> user['twofa_email'],
], [
'name' => 'Hasło',
'db' => 'password',
'type' => 'text',
'params' => [ 'class' => $password_param, 'min' => 5 ]
],
[
'name' => 'Hasło - powtórz',
'db' => 'password_re',
'type' => 'text',
'params' => [ 'class' => $password_param, 'min' => 5, 'equal' => 'password', 'error_txt' => 'Podane hasła są różne' ]
]
];
$grid -> actions = [
'save' => [ 'url' => '/admin/users/user_save/', 'back_url' => '/admin/users/view_list/' ],
'cancel' => [ 'url' => '/admin/users/view_list/' ]
];
echo $grid -> draw();
?>
<script type="text/javascript">
$( function()
{
disable_menu();
});
function check_login()
{
var response = null;
$.ajax({
type: 'POST',
cache: false,
async: false,
url: '/admin/ajax.php',
data:
{
a: 'check_login',
login: $.trim( $( '#login' ).val() ),
user_id: <?= (int)$this -> user['id'];?>
},
success: function( data )
{
response = $.parseJSON( data );
}
});
return response;
}
</script>

View File

@@ -1,47 +1,2 @@
<?php
global $gdb;
<?= \Tpl::view('components/table-list', ['list' => $this->viewModel]); ?>
$grid = new \grid( 'pp_users' );
$grid -> gdb_opt = $gdb;
$grid -> order = [ 'column' => 'login', 'type' => 'ASC' ];
$grid -> where = [ 'id[!]' => 1 ];
$grid -> search = [
[ 'name' => 'Login', 'db' => 'login', 'type' => 'text' ],
[ 'name' => 'Aktywny', 'db' => 'status', 'type' => 'select', 'replace' => [ 'array' => [ 0 => 'nie', 1 => 'tak' ] ] ]
];
$grid -> columns_view = [
[
'name' => 'Lp.',
'th' => [ 'class' => 'g-lp' ],
'td' => [ 'class' => 'g-center' ],
'autoincrement' => true
],
[
'name' => 'Aktywny',
'db' => 'status',
'replace' => [ 'array' => [ 0 => '<span style="color: #FF0000;">nie</span>', 1 => 'tak' ] ],
'th' => [ 'class' => 'g-center', 'style' => 'width: 150px;' ],
'td' => [ 'class' => 'g-center' ]
],
[
'name' => 'Login',
'db' => 'login',
'sort' => true
],
[
'name' => 'Edytuj',
'action' => [ 'type' => 'edit', 'url' => '/admin/users/user_edit/id=[id]' ],
'th' => [ 'class' => 'g-center', 'style' => 'width: 50px;' ],
'td' => [ 'class' => 'g-center' ]
],
[
'name' => 'Usuń',
'action' => [ 'type' => 'delete', 'url' => '/admin/users/user_delete/id=[id]' ],
'th' => [ 'class' => 'g-center', 'style' => 'width: 50px;' ],
'td' => [ 'class' => 'g-center' ]
]
];
$grid -> buttons = [
[ 'label' => 'Dodaj użytkownika', 'url' => '/admin/users/user_edit/', 'icon' => 'fa-plus-circle', 'class' => 'btn-success' ]
];
echo $grid -> draw();