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(); } }
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; }