Example #1
0
 public function editAction()
 {
     try {
         //$admins = new Application_Model_Admins;
         $couponsMapper = new Application_Model_CouponsMapper();
         $request = $this->getRequest();
         $coupon_form = new Application_Form_CouponForm();
         $elements = $coupon_form->getElements();
         $this->view->form = $coupon_form;
         $coupon_id = $request->getParam("id");
         $secure = new My_Secure();
         $id = $secure->decode($coupon_id);
         $coupon = $couponsMapper->getCouponById($id);
         $this->view->coupon = $coupon;
         foreach ($elements as $element) {
             $element->setValue($coupon->__get($element->getName()));
         }
         if ($request->isPost()) {
             $request_type = $request->getParam("request_type", false);
             if ($request_type) {
                 if ($request_type == "edit") {
                     $params = $request->getParams();
                     if ($coupon_form->isValid($params)) {
                         foreach ($params as $param => $value) {
                             $coupon->__set($param, $value);
                         }
                         if ($couponsMapper->updateCoupon($coupon)) {
                             $this->view->message = "Coupon 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";
                         }
                     } else {
                         $this->view->message = "Error occured while updating. Please fill form correctly";
                         $this->view->hasMessage = true;
                         $this->view->messageType = "danger";
                     }
                 }
             }
         }
         $this->authorised = true;
     } catch (Exception $ex) {
         $this->authorised = false;
         $this->view->hasMessage = true;
         $this->view->messageType = "danger";
         $this->view->message = $ex->getMessage();
     }
 }
Example #2
0
 public function couponAction()
 {
     $request = $this->getRequest();
     $couponsMapper = new Application_Model_CouponsMapper();
     $code = $request->getParam("coupon");
     $total_price = $request->getParam("total");
     $coupon = $couponsMapper->getCouponByCouponCode($code);
     if (!$coupon) {
         $meta = array("code" => "404", "message" => "Coupon Not Found");
         $arr = array("meta" => $meta);
     } elseif ($total_price < 200) {
         $meta = array("code" => "400", "message" => "Coupon Not Applicable");
         $arr = array("meta" => $meta);
     } else {
         $disc_price = 0;
         $type = $coupon->__get("coupon_type");
         switch ($type) {
             case "flat":
                 $disc_price = $coupon->__get("coupon_value");
                 break;
             case "percentage":
                 $disc_price = $coupon->__get("coupon_value") / 100 * $total_price;
                 break;
             default:
                 $disc_price = 0;
                 break;
         }
         $revised_price = $total_price - $disc_price;
         if ($revised_price < 0) {
             $revised_price = 0;
         }
         $data = array("discount_price" => $disc_price, "revised_price" => $revised_price);
         $meta = array("code" => "200", "message" => "Success");
         $arr = array("meta" => $meta, "data" => $data);
     }
     $json = json_encode($arr);
     echo $json;
 }
Example #3
0
 private function isCouponAllowedToUse($userId, $couponId)
 {
     $response = array("allowed" => false, "message" => "");
     $CouponsMapperModel = new Application_Model_CouponsMapper();
     $couponData = $CouponsMapperModel->getCouponById($couponId);
     if (strtotime($couponData->__get("coupon_last_date")) > strtotime(date("Y-m-d")) && $couponData->__get("coupon_status") == 1) {
         $orderMapper = new Application_Model_OrdersMapper();
         $orderCount = $orderMapper->getOrders(array("user_id" => $userId, "coupon_id" => $couponId, "order_count" => true));
         if ($orderCount < $couponData->__get("coupon_occourence")) {
             $response['allowed'] = true;
         } else {
             $response['message'] = "Coupon max limit exceed";
         }
     } else {
         $response['message'] = "Coupon expired";
     }
     return (object) $response;
 }