Pridavani obsluhy.
This commit is contained in:
parent
4b0ab4f105
commit
5cdfa702ca
60
app.php
60
app.php
|
@ -590,3 +590,63 @@ route('POST', '/bar/buy/', function ($req){
|
|||
// }
|
||||
// return render('form', ['form'=>$form, 'title'=>'Sklad']);
|
||||
//});
|
||||
|
||||
// OBSLUHA
|
||||
|
||||
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']);
|
||||
|
||||
return render('users', ['users'=>$items]);
|
||||
});
|
||||
|
||||
route('', '/obsluha/pridat/', function ($req){
|
||||
if (!user()) return redirect('/login/');
|
||||
$user = user();
|
||||
|
||||
/** @var Psr\Http\Message\ServerRequestInterface $req */
|
||||
/** @var severak\database\rows $rows */
|
||||
$rows = di('rows');
|
||||
|
||||
$form = new form(['method'=>'post']);
|
||||
$form->field('username', ['label'=>'Uživatelské jméno']);
|
||||
$form->field('password', ['required'=>true, 'type'=>'password', 'label'=>'Heslo']);
|
||||
$form->field('password_again', ['required'=>true, 'type'=>'password', 'label'=>'Heslo znovu']);
|
||||
$form->field('name', ['required'=>true, 'type'=>'text', 'label'=>'Jméno']);
|
||||
$form->field('card_id', ['type'=>'number', 'label'=>'Číslo členské karty', 'id'=>'qrcode']);
|
||||
$form->field('_sbt', ['label'=>'Přidat', 'type'=>'submit']);
|
||||
|
||||
$form->rule('password_again', function ($v, $o){
|
||||
return $v==$o['password'];
|
||||
}, 'Hesla se neshodují!');
|
||||
|
||||
if ($req->getMethod()=='POST' && $form->fill($req->getParsedBody()) && $form->validate()) {
|
||||
$duplicateUser = $rows->one('users', ['username'=>$form->values['username'] ]);
|
||||
if ($duplicateUser) {
|
||||
$form->error('username', 'Uživatel tohoto jména již v systému je.');
|
||||
}
|
||||
|
||||
$memberId = null;
|
||||
if ($form->values['card_id']) {
|
||||
$card = $rows->one('cards', ['id'=>$form->values['card_id'], 'is_active'=>1]);
|
||||
$memberId = $card['member_id'];
|
||||
}
|
||||
|
||||
if ($form->isValid) {
|
||||
$rows->insert('users', [
|
||||
'username' => $form->values['username'],
|
||||
'name' => $form->values['name'],
|
||||
'password' => password_hash($form->values['password'], PASSWORD_DEFAULT),
|
||||
'member_id'=> $memberId
|
||||
]);
|
||||
|
||||
flash('Uživatel přidán.', 'success');
|
||||
return redirect('/');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return render('form', ['form'=>$form, 'title'=>'Přidat obsluhu']);
|
||||
});
|
||||
|
|
|
@ -48,10 +48,13 @@ CREATE TABLE "members" (
|
|||
|
||||
CREATE TABLE "users" (
|
||||
"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
"member_id" integer NULL,
|
||||
"username" text NOT NULL,
|
||||
"password" text NOT NULL,
|
||||
"name" text NOT NULL,
|
||||
"note" text NOT NULL
|
||||
"note" text DEFAULT NULL,
|
||||
"is_active" integer NOT NULL DEFAULT '1',
|
||||
"is_superuser" integer NOT NULL DEFAULT '0'
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX "users_usename" ON "users" ("username");
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
<?=render('_header', ['title'=>'Obsluha']);?>
|
||||
|
||||
<h1>Obsluha</small></h1>
|
||||
|
||||
<?php if (count($users)) { ?>
|
||||
<table class="table">
|
||||
<tr><th>jméno</th><th></th></tr>
|
||||
<?php foreach ($users as $item) { ?>
|
||||
<tr>
|
||||
<td><?=$item['name']; ?><br><small><?=$item['note']; ?></small></td>
|
||||
<td><a href="/obsluha/upravit/<?=$item['id']; ?>/" class=""><span class="icon"><i class="fas fa-edit"></i></span></a> </td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
<?php } else {
|
||||
echo '<p>(nenalezeny žádné položky)</p><br>';
|
||||
} ?>
|
||||
|
||||
<a href="/obsluha/pridat/" class="button is-primary">Přidat obsluhu</a>
|
||||
|
||||
<?=render('_footer');?>
|
Loading…
Reference in New Issue