private function computeAvailableCoupons(Pap_Features_Coupon_Coupon $coupon, $couponsUsed) { $couponsCount = $coupon->getCouponsCount(); if ($couponsCount - $coupon->getData2() + $couponsUsed >= 0) { return $coupon->getData2() - $couponsUsed; } return $couponsCount; }
public function getBanner(Pap_Common_Banner_BannerRequest $bannerRequest) { if ($bannerRequest->getType() == Pap_Features_Coupon_Coupon::TYPE_COUPON) { $couponBanner = new Pap_Features_Coupon_Coupon(); $couponBanner->setData3(Pap_Features_Coupon_Coupon::DEFAULT_DESIGN); $bannerRequest->setBanner($couponBanner); } }
/** * @service coupon read * @param $fields * @return Gpf_Rpc_Form */ public function load(Gpf_Rpc_Params $params) { $form = new Gpf_Rpc_Form($params); $form->addField(Pap_Db_Table_Coupons::CODE, null); $coupon = new Pap_Db_Coupon(); $coupon->setId($form->getFieldValue(Gpf_View_FormService::ID)); $coupon->setCode($form->getFieldValue(Gpf_View_FormService::ID)); $banner = new Pap_Features_Coupon_Coupon(); $affiliate = new Pap_Affiliates_User(); try { $this->loadCoupon($coupon); if (!$coupon->isValid()) { return $form; } $banner->setPrimaryKeyValue($coupon->getBannerID()); $banner->load(); $affiliate->setPrimaryKeyValue($coupon->getUserID()); $affiliate->load(); $form->addField('couponid', $coupon->getId()); $form->addField('couponcode', $coupon->getCode()); $form->addField('name', $banner->getName()); $form->addField('description', $banner->getData1()); $this->fillFromUser($form, $affiliate); Gpf_Plugins_Engine::extensionPoint('PostAffiliate.OfflineSaleForm.load', $form); } catch (Gpf_Exception $e) { } return $form; }
private function replaceConstants(Gpf_Data_Record $row) { $coupon = new Pap_Db_Coupon(); $coupon->setId($row->get('id')); $coupon->setCode($row->get('code')); $coupon->setStatus($row->get('status')); $coupon->set(Pap_Db_Table_Coupons::MAX_USE_COUNT, $row->get('limit_use')); $coupon->set(Pap_Db_Table_Coupons::VALID_FROM, $row->get('valid_from')); $coupon->set(Pap_Db_Table_Coupons::VALID_TO, $row->get('valid_to')); $row->add('coupon', $this->banner->getCouponText($coupon)); $row->add('validity', $coupon->isValid()); }
/** * @throws Gpf_DbEngine_NoRowException * @param $bannerID * @return Pap_Features_Coupon_Coupon */ protected function getCouponBanner($bannerID) { $couponBanner = new Pap_Features_Coupon_Coupon(); $couponBanner->setId($bannerID); $couponBanner->load(); return $couponBanner; }