Nastavovani IDcka clena u obsluhy.

This commit is contained in:
severak 2020-05-24 15:46:38 +02:00
parent 93364d9996
commit 8456881f3c
1 changed files with 16 additions and 3 deletions

19
app.php
View File

@ -618,7 +618,7 @@ route('GET', '/obsluha/', function ($req){
if (!user()) return redirect('/login/');
/** @var severak\database\rows $rows */
$rows = di('rows');
$items = $rows->page('users', [], ['name'=>'asc', 'is_active'=>'desc']);
$items = $rows->page('users', [], ['is_active'=>'desc', 'name'=>'asc']);
return render('users', ['users'=>$items]);
});
@ -695,7 +695,7 @@ route('', '/obsluha/upravit/{id}/', function ($req, $params){
$form->field('password', ['type'=>'password', 'label'=>'Heslo']);
$form->field('password_again', ['type'=>'password', 'label'=>'Heslo znovu']);
$form->field('name', ['required'=>true, 'type'=>'text', 'label'=>'Jméno']);
$form->field('member_id', ['label'=>'ID člena']); // TODO - toto přes kartičku
$form->field('card_id', ['type'=>'number', 'label'=>'Číslo členské karty', 'id'=>'qrcode']);
$form->field('is_active', ['type'=>'checkbox', 'label'=>'Aktivní?']);
$form->field('is_superuser', ['type'=>'checkbox', 'label'=>'Je admin?']);
$form->field('note', ['type'=>'textarea', 'label'=>'Poznámka']);
@ -719,11 +719,16 @@ route('', '/obsluha/upravit/{id}/', function ($req, $params){
if ($form->isValid) {
$update = $form->values; // TODO tohle je prasárna
unset($update['id'], $update['password'], $update['password_again'], $update['_sbt']);
unset($update['id'], $update['password'], $update['password_again'], $update['card_id'], $update['_sbt']);
if ($form->values['password'] && $form->values['password']!=$form->values['password_again']) {
$update['password'] = password_hash($form->values['password'], PASSWORD_DEFAULT);
}
if ($form->values['card_id']) {
$card = $rows->one('cards', ['id'=>$form->values['card_id'], 'is_active'=>1]);
$update['member_id'] = $card['member_id'];
}
$rows->update('users', $update, $id);
flash('Uživatel upraven.', 'success');
@ -734,6 +739,14 @@ route('', '/obsluha/upravit/{id}/', function ($req, $params){
$editedUser = $rows->one('users', $id);
unset($editedUser['password']);
if ($editedUser['member_id']) {
$card = $rows->one('cards', ['member_id'=>$editedUser['member_id'], 'is_active'=>1]);
if ($card) {
$editedUser['card_id'] = $card['id'];
}
}
$form->fill($editedUser);
}