UserProNetMediaZaliczkaWniosekRemove.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. Lib::loadClass('RouteBase');
  3. Lib::loadClass('DBG');
  4. Lib::loadClass('UI');
  5. Lib::loadClass('User');
  6. class Route_UrlAction_UserProNetMediaZaliczkaWniosekRemove extends RouteBase {
  7. public function handleAuth() {
  8. if (!User::logged()) {
  9. User::authByRequest();
  10. }
  11. }
  12. public function getActionLabel() { return "Anuluj Wniosek"; }
  13. public function getActionDescription() { return "Anuluj Wniosek o Zaliczkę"; }
  14. public function getActionArgs() {
  15. return [
  16. 'idZaliczkaWniosek' => 'Nr wniosku o zaliczkę'
  17. ];
  18. }
  19. public function defaultAction() {
  20. UI::gora();
  21. UI::menu();
  22. UI::startContainer();
  23. try {
  24. $idZaliczkaWniosek = V::get('idZaliczkaWniosek', 0, $_GET, 'int');
  25. if ($idZaliczkaWniosek <= 0) throw new Exception("Missing param idZaliczkaWniosek");
  26. $wniosekAcl = ACL::getAclByNamespace('default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek');
  27. $wniosek = $wniosekAcl->getItem($idZaliczkaWniosek);
  28. if (!$wniosek) throw new Exception("Wniosek o numerze {$idZaliczkaWniosek} nie został odnaleziony w bazie danych");
  29. if ('Anulowany' == $wniosek['status']) throw new Exception("Wniosek o numerze {$idZaliczkaWniosek} został już anulowany wcześniej");
  30. if ('Odrzucony' == $wniosek['status']) throw new Exception("Wniosek o numerze {$idZaliczkaWniosek} został odrzucony");
  31. if ('Zatwierdzony' == $wniosek['status']) throw new Exception("Wniosek o numerze {$idZaliczkaWniosek} został zatwierdzony");
  32. // if ('Oczekuje zatwierdzenia' !== $wniosek['status']) throw new Exception("Wniosek o numerze {$idZaliczkaWniosek} ma nieznany status");
  33. $wniosekAcl->updateItem([
  34. 'id' => $idZaliczkaWniosek,
  35. 'status' => "Anulowany"
  36. ]);
  37. UI::alert('success', "Wniosek anulowany");
  38. } catch (Exception $e) {
  39. UI::alert('danger', $e->getMessage());
  40. DBG::log($e);
  41. }
  42. UI::endContainer();
  43. UI::dol();
  44. }
  45. public function reinstallAction() {
  46. }
  47. }