示例#1
0
 /**
  * Set default values for the form.
  */
 public function setDefaultValues()
 {
     $defaults = parent::setDefaultValues();
     if ($this->_id) {
         $params = array('id' => $this->_id);
         CRM_Contribute_BAO_ManagePremiums::retrieve($params, $tempDefaults);
         $imageUrl = isset($tempDefaults['image']) ? $tempDefaults['image'] : "";
         if (isset($tempDefaults['image']) && isset($tempDefaults['thumbnail'])) {
             $defaults['imageUrl'] = $tempDefaults['image'];
             $defaults['thumbnailUrl'] = $tempDefaults['thumbnail'];
             $defaults['imageOption'] = 'thumbnail';
             // assign thumbnailUrl to template so we can display current image in update mode
             $this->assign('thumbnailUrl', $defaults['thumbnailUrl']);
         } else {
             $defaults['imageOption'] = 'noImage';
         }
         if (isset($tempDefaults['thumbnail']) && isset($tempDefaults['image'])) {
             $this->assign('thumbURL', $tempDefaults['thumbnail']);
             $this->assign('imageURL', $tempDefaults['image']);
         }
         if (isset($tempDefaults['period_type'])) {
             $this->assign('showSubscriptions', TRUE);
         }
     }
     return $defaults;
 }
 /**
  * This function sets the default values for the form. Manage Premiums that in edit/view mode
  * the default values are retrieved from the database
  * 
  * @access public
  * @return None
  */
 function setDefaultValues()
 {
     require_once 'CRM/Utils/Rule.php';
     $defaults = parent::setDefaultValues();
     if ($this->_id) {
         $params = array('id' => $this->_id);
         CRM_Contribute_BAO_ManagePremiums::retrieve($params, $tempDefaults);
         $imageUrl = $tempDefaults['image'];
         if ($tempDefaults['image'] && $tempDefaults['thumbnail']) {
             $defaults['imageUrl'] = $tempDefaults['image'];
             $defaults['thumbnailUrl'] = $tempDefaults['thumbnail'];
             $defaults['imageOption'] = 'thumbnail';
             // assign thumbnailUrl to template so we can display current image in update mode
             $this->assign('thumbnailUrl', $defaults['thumbnailUrl']);
         } else {
             $defaults['imageOption'] = 'noImage';
         }
         if ($tempDefaults['thumbnail'] && $tempDefaults['image']) {
             $this->assign('thumbURL', $tempDefaults['thumbnail']);
             $this->assign('imageURL', $tempDefaults['image']);
         }
         if ($tempDefaults['period_type']) {
             $this->assign("showSubscriptions", true);
         }
     }
     return $defaults;
 }
 /**
  * Check method del( )
  */
 public function testDel()
 {
     $ids = array();
     $params = array('name' => 'Test Product', 'sku' => 'TP-10', 'imageOption' => 'noImage', 'price' => 12, 'cost' => 5, 'min_contribution' => 5, 'is_active' => 1);
     $product = CRM_Contribute_BAO_ManagePremiums::add($params, $ids);
     CRM_Contribute_BAO_ManagePremiums::del($product->id);
     $params = array('id' => $product->id);
     $default = array();
     $result = CRM_Contribute_BAO_ManagePremiums::retrieve($params, $defaults);
     $this->assertEquals(empty($result), TRUE, 'Verify product record deletion.');
 }
 /**
  * create financial transaction for premium
  *
  * @access public
  * @static
  */
 static function createPremiumTrxn($params)
 {
     if ((empty($params['financial_type_id']) || empty($params['contributionId'])) && empty($params['oldPremium'])) {
         return;
     }
     if (!empty($params['cost'])) {
         $contributionStatuses = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name');
         $financialAccountType = CRM_Contribute_PseudoConstant::financialAccountType($params['financial_type_id']);
         $accountRelationship = CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND label IN ('Premiums Inventory Account is', 'Cost of Sales Account is')");
         $toFinancialAccount = !empty($params['isDeleted']) ? 'Premiums Inventory Account is' : 'Cost of Sales Account is';
         $fromFinancialAccount = !empty($params['isDeleted']) ? 'Cost of Sales Account is' : 'Premiums Inventory Account is';
         $accountRelationship = array_flip($accountRelationship);
         $financialtrxn = array('to_financial_account_id' => $financialAccountType[$accountRelationship[$toFinancialAccount]], 'from_financial_account_id' => $financialAccountType[$accountRelationship[$fromFinancialAccount]], 'trxn_date' => date('YmdHis'), 'total_amount' => CRM_Utils_Array::value('cost', $params) ? $params['cost'] : 0, 'currency' => CRM_Utils_Array::value('currency', $params), 'status_id' => array_search('Completed', $contributionStatuses));
         $trxnEntityTable['entity_table'] = 'civicrm_contribution';
         $trxnEntityTable['entity_id'] = $params['contributionId'];
         CRM_Core_BAO_FinancialTrxn::create($financialtrxn, $trxnEntityTable);
     }
     if (!empty($params['oldPremium'])) {
         $premiumParams = array('id' => $params['oldPremium']['product_id']);
         $productDetails = array();
         CRM_Contribute_BAO_ManagePremiums::retrieve($premiumParams, $productDetails);
         $params = array('cost' => CRM_Utils_Array::value('cost', $productDetails), 'currency' => CRM_Utils_Array::value('currency', $productDetails), 'financial_type_id' => CRM_Utils_Array::value('financial_type_id', $productDetails), 'contributionId' => $params['oldPremium']['contribution_id'], 'isDeleted' => TRUE);
         CRM_Core_BAO_FinancialTrxn::createPremiumTrxn($params);
     }
 }
 /**
  * Process the Premium Information.
  *
  * @param array $params
  * @param int $contributionID
  * @param int $premiumID
  * @param array $options
  */
 public static function processPremium($params, $contributionID, $premiumID = NULL, $options = array())
 {
     $selectedProductID = $params['product_name'][0];
     $selectedProductOptionID = CRM_Utils_Array::value(1, $params['product_name']);
     $dao = new CRM_Contribute_DAO_ContributionProduct();
     $dao->contribution_id = $contributionID;
     $dao->product_id = $selectedProductID;
     $dao->fulfilled_date = CRM_Utils_Date::processDate($params['fulfilled_date'], NULL, TRUE);
     $isDeleted = FALSE;
     //CRM-11106
     $premiumParams = array('id' => $selectedProductID);
     $productDetails = array();
     CRM_Contribute_BAO_ManagePremiums::retrieve($premiumParams, $productDetails);
     $dao->financial_type_id = CRM_Utils_Array::value('financial_type_id', $productDetails);
     if (!empty($options[$selectedProductID])) {
         $dao->product_option = $options[$selectedProductID][$selectedProductOptionID];
     }
     if ($premiumID) {
         $ContributionProduct = new CRM_Contribute_DAO_ContributionProduct();
         $ContributionProduct->id = $premiumID;
         $ContributionProduct->find(TRUE);
         if ($ContributionProduct->product_id == $selectedProductID) {
             $dao->id = $premiumID;
         } else {
             $ContributionProduct->delete();
             $isDeleted = TRUE;
         }
     }
     $dao->save();
     //CRM-11106
     if ($premiumID == NULL || $isDeleted) {
         $premiumParams = array('cost' => CRM_Utils_Array::value('cost', $productDetails), 'currency' => CRM_Utils_Array::value('currency', $productDetails), 'financial_type_id' => CRM_Utils_Array::value('financial_type_id', $productDetails), 'contributionId' => $contributionID);
         if ($isDeleted) {
             $premiumParams['oldPremium']['product_id'] = $ContributionProduct->product_id;
             $premiumParams['oldPremium']['contribution_id'] = $ContributionProduct->contribution_id;
         }
         CRM_Core_BAO_FinancialTrxn::createPremiumTrxn($premiumParams);
     }
 }
示例#6
0
 /**
  * Function to process the Premium Information
  *
  * @access public
  *
  * @return None
  */
 static function processPremium(&$params, $contributionID, $premiumID = NULL, &$options = NULL)
 {
     $dao = new CRM_Contribute_DAO_ContributionProduct();
     $dao->contribution_id = $contributionID;
     $dao->product_id = $params['product_name'][0];
     $dao->fulfilled_date = CRM_Utils_Date::processDate($params['fulfilled_date'], NULL, TRUE);
     $isDeleted = False;
     //CRM-11106
     $premiumParams = array('id' => $params['product_name'][0]);
     $productDetails = array();
     CRM_Contribute_BAO_ManagePremiums::retrieve($premiumParams, $productDetails);
     $dao->financial_type_id = CRM_Utils_Array::value('financial_type_id', $productDetails);
     if (CRM_Utils_Array::value($params['product_name'][0], $options)) {
         $dao->product_option = $options[$params['product_name'][0]][$params['product_name'][1]];
     }
     if ($premiumID) {
         $premoumDAO = new CRM_Contribute_DAO_ContributionProduct();
         $premoumDAO->id = $premiumID;
         $premoumDAO->find(TRUE);
         if ($premoumDAO->product_id == $params['product_name'][0]) {
             $dao->id = $premiumID;
             $premium = $dao->save();
         } else {
             $premoumDAO->delete();
             $isDeleted = TRUE;
             $premium = $dao->save();
         }
     } else {
         $premium = $dao->save();
     }
     //CRM-11106
     if ($premiumID == NULL || $isDeleted) {
         $params = array('cost' => CRM_Utils_Array::value('cost', $productDetails), 'currency' => CRM_Utils_Array::value('currency', $productDetails), 'financial_type_id' => CRM_Utils_Array::value('financial_type_id', $productDetails), 'contributionId' => $contributionID);
         if ($isDeleted) {
             $params['oldPremium']['product_id'] = $premoumDAO->product_id;
             $params['oldPremium']['contribution_id'] = $premoumDAO->contribution_id;
         }
         CRM_Core_BAO_FinancialTrxn::createPremiumTrxn($params);
     }
 }