コード例 #1
0
 public function summaryAction()
 {
     try {
         $request = $this->getRequest();
         $orderMapper = new Application_Model_OrdersMapper();
         if ($request->isPost()) {
             $request_type = $request->getParam("request_type", false);
             if ($request_type) {
                 if ($request_type == "filter") {
                     $user_email = $request->getParam("user_email");
                     $del_type = $request->getParam("delivery_type");
                     $service_id = $request->getParam("service_id");
                     $del_date = $request->getParam("delivery_date");
                     $pickup_date = $request->getParam("pickup_date");
                     $filter_orders = $orderMapper->filter($user_email, $del_type, $service_id, $del_date, $pickup_date);
                     if (!$filter_orders) {
                         $paginator = false;
                     } else {
                         $paginator = Zend_Paginator::factory($filter_orders);
                         $paginator->setItemCountPerPage('100');
                         $page = $request->getParam("page", 1);
                         if ($page) {
                             $paginator->setCurrentPageNumber($page);
                         }
                     }
                     $this->view->orders = $paginator;
                     $this->view->user_email = $user_email;
                     $this->view->del_type = $del_type;
                     $this->view->service_id = $service_id;
                     $this->view->del_date = $del_date;
                     $this->view->pickup_date = $pickup_date;
                 } elseif ($request_type == "cancel_filter") {
                     $this->view->orders = $orders;
                 } elseif ($request_type == "changestatus") {
                     $status = $request->getParam("status");
                     $order_ids = $request->getParam("order_ids");
                     $ids = explode(",", $order_ids);
                     foreach ($ids as $id) {
                         $order = $orderMapper->getOrderById($id);
                         $order->__set("order_status", $status);
                         if ($orderMapper->updateOrder($order)) {
                             $this->view->message = "Orders Updated successfully";
                             $this->view->hasMessage = true;
                             $this->view->messageType = "success";
                         } else {
                             $this->view->message = "Error occured while updating. Please try again";
                             $this->view->hasMessage = true;
                             $this->view->messageType = "danger";
                         }
                     }
                 } elseif ($request_type == "delete") {
                     $id = $request->getParam("id");
                     if ($orderMapper->deleteOrderById($id)) {
                         $this->view->hasMessage = true;
                         $this->view->messageType = "success";
                         $this->view->message = "Order deleted successfully.";
                     } else {
                         $this->view->hasMessage = true;
                         $this->view->messageType = "danger";
                         $this->view->message = "Error occured while deleting. Please try again.";
                     }
                 }
             }
         } else {
             $orders = $orderMapper->getAllOrders();
             if (!empty($orders)) {
                 $paginator = Zend_Paginator::factory($orders);
                 $paginator->setItemCountPerPage(100);
                 $page = $this->getRequest()->getParam("page", 1);
                 $paginator->setCurrentPageNumber($page);
             } else {
                 $paginator = array();
             }
             $this->view->orders = $paginator;
         }
     } catch (Exception $ex) {
         $this->authorised = false;
         $this->view->hasMessage = true;
         $this->view->messageType = "danger";
         $this->view->message = $ex->getMessage();
     }
 }