/**
     * @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;
    }
Пример #2
0
 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());
 }