'Nr wniosku o zaliczkę'
];
}
public function getProps($args) {
$idZaliczkaWniosek = V::get('idZaliczkaWniosek', 0, $_GET, 'int');
if ($idZaliczkaWniosek <= 0) throw new Exception("Missing param idZaliczkaWniosek");
$wniosekAcl = ACL::getStorageByNamespace('default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek');
$wniosek = $wniosekAcl->getItem($idZaliczkaWniosek);
if (!$wniosek) throw new Exception("Wniosek o numerze {$idZaliczkaWniosek} nie został odnaleziony w bazie danych");
$props = [
'idZaliczkaWniosek' => $idZaliczkaWniosek,
'wniosekAcl' => $wniosekAcl,
'wniosek' => $wniosek,
];
return $props;
}
public function cancelAction() {
UI::gora();
UI::menu();
UI::startContainer();
try {
$props = $this->getProps([
'idZaliczkaWniosek' => V::get('idZaliczkaWniosek', 0, $_GET, 'int')
]);
$affected = $props['wniosekAcl']->updateItem([
'id' => $props['idZaliczkaWniosek'],
'status' => "Anulowany"
]);
DBG::log(['msg'=>"update Wniosek(affected={$affected})", '$wniosek'=>$wniosek]);
UI::alert('success', "Wniosek o zaliczkę został anulowany");
echo $this->viewWniosek($props['wniosek']);
} catch (Exception $e) {
UI::alert('danger', $e->getMessage());
DBG::log($e);
}
UI::endContainer();
UI::dol();
}
public function defaultAction() {
UI::gora();
UI::menu();
UI::startContainer();
try {
$props = $this->getProps([
'idZaliczkaWniosek' => V::get('idZaliczkaWniosek', 0, $_GET, 'int')
]);
if (!$props['wniosek']) throw new Exception("Wniosek o numerze {$props['idZaliczkaWniosek']} nie został odnaleziony w bazie danych");
if ('Anulowany' == $props['wniosek']['status']) throw new Exception("Wniosek o numerze {$props['idZaliczkaWniosek']} został już anulowany wcześniej");
if ('Odrzucony' == $props['wniosek']['status']) throw new Exception("Wniosek o numerze {$props['idZaliczkaWniosek']} został odrzucony");
if ('Zatwierdzony' == $props['wniosek']['status']) throw new Exception("Wniosek o numerze {$props['idZaliczkaWniosek']} został zatwierdzony");
// if ('Oczekuje zatwierdzenia' !== $props['wniosek']['status']) throw new Exception("Wniosek o numerze {$props['idZaliczkaWniosek']} ma nieznany status");
echo UI::h('h1', [], "Wniosek o wypłatę zaliczki");
echo $this->viewWniosek($props['wniosek']);
echo UI::h('div', ['style' => "text-align:center; padding:32px"], [
UI::h('a', [
'href' => $this->getLink('cancel') . "&idZaliczkaWniosek={$props['idZaliczkaWniosek']}",
'class' => "btn btn-lg btn-danger",
'style' => "margin-left:24px"
], "Anuluj wniosek o zaliczkę"),
]);
echo UI::h('hr');
echo UI::h('h3', [], "Pozostałe wnioski pracownika {$props['wniosek']['workerLogin']}:");
Router::getRoute('UrlAction_UserProNetMediaZaliczka')->viewWidgetUserWnioski($props['wniosek']['workerID']);
} catch (Exception $e) {
UI::alert('danger', $e->getMessage());
DBG::log($e);
}
UI::endContainer();
UI::dol();
}
public function viewWniosek($wniosek) {
return UI::h('blockquote', [], [
UI::h('p', [], "Nr: {$wniosek['id']}"),
UI::h('p', [], "Autor: {$wniosek['workerLogin']}"),
UI::h('p', [], "Data zgłoszenia: {$wniosek['created']}"),
UI::h('p', [], "Kwota: " . UI::price($wniosek['kwota']) . ""),
UI::h('p', [], "Uwagi: {$wniosek['uwagi']}"),
]);
}
}