| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- Lib::loadClass('RouteBase');
- Lib::loadClass('TypespecialVariable');
- Lib::loadClass('Request');
- Lib::loadClass('Response');
- class Route_UrlAction_ProjektyProNetMediaRequestApproveZam extends RouteBase {// TODO: UrlActionBase @see Route_UrlAction
- public function handleAuth() {
- if (!User::logged()) {
- User::authByRequest();
- }
- }
- public function defaultAction() {
- SE_Layout::gora();
- if (1 != V::get('_print', '', $_GET)) SE_Layout::menu();
- try {
- $data = array();
- $data['id_order'] = V::get('ID_ORDER', 0, $_REQUEST, 'int');
- if (!$data['id_order']) throw new Exception("Error: Brak nr zamówienia!");
- $data = $this->setProps($data);
- $this->approveFormView($data);
- } catch (Exception $e) {
- SE_Layout::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
- }
- SE_Layout::dol();
- }
- public function setProps($data) {
- $idOrder = V::get('id_order', 0, $data, 'int');
- if (!$idOrder) throw new Exception("Error: Brak nr zamówienia!");
- $data['id_order'] = $idOrder;
- $data['zamowienie_label'] = '';
- $data['orderRaw'] = DB::getPDO()->fetchAll("
- select r.ID
- , r.ORDER_LABEL
- , r.ID_PROJECT
- , sum(o.OFFER_PRICE_PER_UNIT * o.OFFER_QUANTITY) as SUM_NETTO
- , p.M_DIST_DESC
- from CRM_LISTA_ZASOBOW_ORDERS r
- join IN7_MK_BAZA_DYSTRYBUCJI p on(p.ID = r.ID_PROJECT)
- left join CRM_LISTA_ZASOBOW_OFFERS o on(
- o.ID_ORDER = r.ID
- and (o.A_STATUS is null or o.A_STATUS not in('DELETED'))
- )
- where (r.A_STATUS is null or r.A_STATUS not in('DELETED'))
- and r.ID = {$idOrder}
- ");
- if (empty($data['orderRaw'])) throw new Exception("Error: Brak danych dla zamówienia {$idOrder}!");
- $data['orderRaw'] = $data['orderRaw'][0];
- $data['zamowienie_label'] = $data['orderRaw']['ORDER_LABEL'];
- $data['zamowienie_suma'] = number_format($data['orderRaw']['SUM_NETTO'], 2, ',', ' ');
- $data['id_project'] = $data['orderRaw']['ID_PROJECT'];
- $data['project_label'] = $data['orderRaw']['M_DIST_DESC'];
- return $data;
- }
- public function approveFormView($data) {
- ?>
- <div class="container">
- <h1>Zamówienie: <?php echo $data['zamowienie_label']; ?>
- <br><small>Dotyczy projektu: <?php echo $data['project_label']; ?></small>
- </h1>
- <?php echo SE_Layout::alert('info', "Suma netto zamówienia: <b>{$data['zamowienie_suma']}</b>"); ?>
- <form style="text-align:center">
- <input type="hidden" name="_route" value="UrlAction_ProjektyProNetMediaRequestApproveZam">
- <button onClick="return approveOrder(this);" class="btn btn-lg btn-primary">Zatwierdzam</button>
- <button onClick="return rejectOrder(this);" class="btn btn-lg btn-danger" style="margin-left:30px">Nie zatwierdzam</button>
- </form>
- <hr>
- <?php Router::getRoute('UrlAction_ProjektyProNetMediaZamZlec')->previewOrder($data['id_order']); ?>
- </div>
- <script>
- function approveOrder(fld) {
- var frm = fld.form;
- frm['_task'].value='approveOrder';
- }
- function rejectOrder(fld) {
- var frm = fld.form;
- frm['_task'].value='rejectOrder';
- }
- </script>
- <?php
- DBG::_(true, true, 'data', $data, __CLASS__, __FUNCTION__, __LINE__);
- }
- }
|