/** * @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; }
public function increaseUseCount(Pap_Contexts_Action $context) { if ($context->getDoCommissionsSave() == false) { $context->debug('Coupon increase usecount: commissions were not saved. stopping'); return; } $transaction = $context->getTransaction(); $couponId = $transaction->getCouponID(); if ($couponId == null || $couponId == '') { $context->debug('Coupon increase usecount: coupon is not used for this commission. stopping'); return; } $coupon = new Pap_Db_Coupon(); $coupon->setId($couponId); try { $coupon->load(); $coupon->increaseUseCount(); $context->debug('Coupon increase usecount: usecount for coupon '.$couponId.' is increased.'); } catch (Gpf_Exception $e) { $context->debug('Coupon increase usecount: loading coupon: '.$couponId.' exception: ' . $e->getMessage()); } }
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()); }