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']);
|
// 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" (
|
CREATE TABLE "users" (
|
||||||
"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
|
"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
"member_id" integer NULL,
|
||||||
"username" text NOT NULL,
|
"username" text NOT NULL,
|
||||||
"password" text NOT NULL,
|
"password" text NOT NULL,
|
||||||
"name" 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");
|
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