Editace nabidek.
This commit is contained in:
parent
2051cadbd6
commit
7e1574cc6a
49
app.php
49
app.php
|
@ -60,6 +60,7 @@ route('', '/heslo/', function (){
|
|||
// NABÍDKA
|
||||
|
||||
route('GET', '/nabidka/', function ($req){
|
||||
if (!user()) return redirect('/login/');
|
||||
/** @var severak\database\rows $rows */
|
||||
$rows = di('rows');
|
||||
$items = $rows->page('items', [], ['ord'=>'asc']);
|
||||
|
@ -67,11 +68,7 @@ route('GET', '/nabidka/', function ($req){
|
|||
return render('items', ['items'=>$items]);
|
||||
});
|
||||
|
||||
route('', '/nabidka/pridat/', function ($req){
|
||||
/** @var Psr\Http\Message\ServerRequestInterface $req */
|
||||
/** @var severak\database\rows $rows */
|
||||
$rows = di('rows');
|
||||
|
||||
$singletons['nabidka_form'] = function (){
|
||||
$form = new severak\forms\form(['method'=>'POST']);
|
||||
$form->field('name', ['required'=>true, 'label'=>'Název']);
|
||||
$form->field('price', ['type'=>'number', 'label'=>'Cena']);
|
||||
|
@ -83,6 +80,17 @@ route('', '/nabidka/pridat/', function ($req){
|
|||
return $f > 0 || $f < 0;
|
||||
}, 'Cena nemůže být nulová.');
|
||||
|
||||
return $form;
|
||||
};
|
||||
|
||||
route('', '/nabidka/pridat/', function ($req){
|
||||
if (!user()) return redirect('/login/');
|
||||
/** @var Psr\Http\Message\ServerRequestInterface $req */
|
||||
/** @var severak\database\rows $rows */
|
||||
$rows = di('rows');
|
||||
/** @var severak\forms\form $form */
|
||||
$form = di('nabidka_form');
|
||||
|
||||
if ($req->getMethod()=='POST') {
|
||||
$form->fill($req->getParsedBody());
|
||||
if ($form->validate()) {
|
||||
|
@ -99,8 +107,37 @@ route('', '/nabidka/pridat/', function ($req){
|
|||
return render('form', ['form'=>$form, 'title'=>'Přidat položku']);
|
||||
});
|
||||
|
||||
route('', '/nabidka/upravit/{id}/', function ($req, $params){
|
||||
if (!user()) return redirect('/login/');
|
||||
/** @var Psr\Http\Message\ServerRequestInterface $req */
|
||||
/** @var severak\database\rows $rows */
|
||||
$rows = di('rows');
|
||||
/** @var severak\forms\form $form */
|
||||
$form = di('nabidka_form');
|
||||
|
||||
$item = $rows->one('items', $params['id']);
|
||||
if (!$item) return notFound();
|
||||
$form->fill($item);
|
||||
|
||||
if ($req->getMethod()=='POST') {
|
||||
$form->fill($req->getParsedBody());
|
||||
if ($form->validate()) {
|
||||
$rows->update('items', [
|
||||
'name'=>$form->values['name'],
|
||||
'price'=>$form->values['price'],
|
||||
'note'=>$form->values['note'],
|
||||
'ord'=>$form->values['ord'],
|
||||
], $params['id']);
|
||||
return redirect('/nabidka/');
|
||||
}
|
||||
}
|
||||
|
||||
return render('form', ['form'=>$form, 'title'=>'Upravit položku']);
|
||||
});
|
||||
|
||||
// TODO - tohle nechceme přes GET
|
||||
route('', '/nabidka/smazat/{id}', function ($req, $params){
|
||||
route('', '/nabidka/smazat/{id}/', function ($req, $params){
|
||||
if (!user()) return redirect('/login/');
|
||||
/** @var severak\database\rows $rows */
|
||||
$rows = di('rows');
|
||||
$rows->delete('items', (int) $params['id']);
|
||||
|
|
|
@ -4,13 +4,14 @@
|
|||
|
||||
<?php if (count($items)) { ?>
|
||||
<table class="table">
|
||||
<tr><th>název</th><th>cena</th><th>pozn.</th><th></th></tr>
|
||||
<tr><th>název</th><th>cena</th><th>pozn.</th><th></th><th></th></tr>
|
||||
<?php foreach ($items as $item) { ?>
|
||||
<tr>
|
||||
<td><?=$item['name']; ?></td>
|
||||
<td><?=$item['price']; ?>,-</td>
|
||||
<td><?=$item['note']; ?></td>
|
||||
<td><a href="/nabidka/smazat/<?=$item['id']; ?>" class="button is-danger" onclick="return confirm('Opravdu chcete položku smazat?')">smazat</a> </td>
|
||||
<td><a href="/nabidka/upravit/<?=$item['id']; ?>/" class=""><span class="icon"><i class="fas fa-edit"></i></span></a> </td>
|
||||
<td><a href="/nabidka/smazat/<?=$item['id']; ?>/" class="delete" onclick="return confirm('Opravdu chcete položku smazat?')">smazat</a> </td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
|
|
Loading…
Reference in New Issue