ソースを参照

Ticket #259 - Single and Recurring prices in Manual Order processing.

AntonLV 10 年 前
親
コミット
b934976846

+ 2 - 1
modules/boonex/market/classes/BxMarketModule.php

@@ -169,7 +169,8 @@ class BxMarketModule extends BxBaseModTextModule
 				'title' => $aItem[$CNF['FIELD_TITLE']],
 				'description' => $aItem[$CNF['FIELD_TEXT']],
 				'url' => BX_DOL_URL_ROOT . BxDolPermalinks::getInstance()->permalink('page.php?i=view-product&id=' . $aItem[$CNF['FIELD_ID']]),
-				'price' => $aItem[$CNF['FIELD_PRICE_SINGLE']],
+				'price_single' => $aItem[$CNF['FIELD_PRICE_SINGLE']],
+            	'price_recurring' => $aItem[$CNF['FIELD_PRICE_RECURRING']],
            );
 
         return $aResult;

+ 1 - 1
modules/boonex/payment/classes/BxPaymentGridHistory.php

@@ -26,7 +26,7 @@ class BxPaymentGridHistory extends BxBaseModPaymentGridOrders
 		if(empty($this->_aQueryAppend['client_id']))
 			return array();
 
-		$this->_aOptions['source'] .= $this->_oModule->_oDb->prepare(" AND `tt`.`client_id`=?", $this->_aQueryAppend['client_id']);
+		$this->_aOptions['source'] .= $this->_oModule->_oDb->prepareAsString(" AND `tt`.`client_id`=?", $this->_aQueryAppend['client_id']);
 
         return parent::_getDataSql($sFilter, $sOrderField, $sOrderDir, $iStart, $iPerPage);
     }

+ 1 - 1
modules/boonex/payment/classes/BxPaymentGridPending.php

@@ -81,7 +81,7 @@ class BxPaymentGridPending extends BxBaseModPaymentGridOrders
     	if(empty($this->_aQueryAppend['seller_id']))
     		return array();
 
-		$this->_aOptions['source'] .= $this->_oModule->_oDb->prepare(" AND `tt`.`seller_id`=?", $this->_aQueryAppend['seller_id']);
+		$this->_aOptions['source'] .= $this->_oModule->_oDb->prepareAsString(" AND `tt`.`seller_id`=?", $this->_aQueryAppend['seller_id']);
 
         return parent::_getDataSql($sFilter, $sOrderField, $sOrderDir, $iStart, $iPerPage);
     }

+ 10 - 4
modules/boonex/payment/classes/BxPaymentGridProcessed.php

@@ -23,6 +23,7 @@ class BxPaymentGridProcessed extends BxBaseModPaymentGridOrders
 
     public function performActionAdd()
     {
+    	$sType = BX_PAYMENT_TYPE_SINGLE;
     	$sAction = 'add';
     	$sJsObject = $this->_oModule->_oConfig->getJsObject('processed');
 
@@ -52,7 +53,7 @@ class BxPaymentGridProcessed extends BxBaseModPaymentGridOrders
         foreach($aModules as $aModule)
            $oForm->aInputs['module_id']['values'][] = array('key' => $aModule['id'], 'value' => $aModule['title']);
 
-		$oForm->aInputs['items']['content'] = $this->_oModule->_oTemplate->displayItems();
+		$oForm->aInputs['items']['content'] = $this->_oModule->_oTemplate->displayItems($sType);
 
         $oForm->initChecker();
         if($oForm->isSubmittedAndValid()) {
@@ -63,6 +64,7 @@ class BxPaymentGridProcessed extends BxBaseModPaymentGridOrders
             	return echoJson(array('msg' => $this->_sLangsPrefix . 'err_empty_items'));
 
 			$aItems = array();
+			$sPriceKey = $this->_oModule->_oConfig->getKey('KEY_ARRAY_PRICE_SINGLE');
 			foreach($aItemIds as $iItemId) {
 	            $iItemId = (int)$iItemId;
 	            $fItemPrice = (float)$oForm->getSubmittedValue('item-price-' . $iItemId, $sFormMethod);
@@ -71,14 +73,18 @@ class BxPaymentGridProcessed extends BxBaseModPaymentGridOrders
 	            if($iItemQuantity <= 0)
 	                return echoJson(array('msg' => $this->_sLangsPrefix . 'err_wrong_quantity'));
 
-				$aItems[] = array('id' => $iItemId, 'price' => $fItemPrice, 'quantity' => $iItemQuantity);
+				$aItems[] = array(
+					'id' => $iItemId, 
+					 $sPriceKey => $fItemPrice, 
+					'quantity' => $iItemQuantity
+				);
 			}
 
         	$mixedResult = $this->_oModule->getObjectOrders()->addOrder(array(
         		'client_id' => $oForm->getCleanValue('client_id'),
         		'seller_id' => $oForm->getCleanValue('seller_id'),
         		'provider' => 'manual',
-        		'type' => BX_PAYMENT_TYPE_SINGLE,
+        		'type' => $sType,
         		'order' => $oForm->getCleanValue('order'),
         		'error_code' => 0,
         		'error_msg' => 'Manually processed',        		
@@ -116,7 +122,7 @@ class BxPaymentGridProcessed extends BxBaseModPaymentGridOrders
     	if(empty($this->_aQueryAppend['seller_id']))
     		return array();
 
-		$this->_aOptions['source'] .= $this->_oModule->_oDb->prepare(" AND `tt`.`seller_id`=?", $this->_aQueryAppend['seller_id']);
+		$this->_aOptions['source'] .= $this->_oModule->_oDb->prepareAsString(" AND `tt`.`seller_id`=?", $this->_aQueryAppend['seller_id']);
 
         return parent::_getDataSql($sFilter, $sOrderField, $sOrderDir, $iStart, $iPerPage);
     }

+ 2 - 2
modules/boonex/payment/classes/BxPaymentModule.php

@@ -111,14 +111,14 @@ class BxPaymentModule extends BxBaseModPaymentModule
         echoJson($aResult);
     }
 
-    public function actionGetItems($iModuleId)
+    public function actionGetItems($sType, $iModuleId)
     {
     	$iSellerId = $this->getProfileId();
         $aItems = $this->callGetCartItems((int)$iModuleId, array($iSellerId));
 
         $aResult = array('code' => 0);
         if(is_array($aItems) && !empty($aItems))
-            $aResult['data'] = $this->_oTemplate->displayItems($aItems);
+            $aResult['data'] = $this->_oTemplate->displayItems($sType, $aItems);
 
 		echoJson($aResult);
     }

+ 2 - 1
modules/boonex/payment/classes/BxPaymentProvider2Checkout.php

@@ -47,10 +47,11 @@ class BxPaymentProvider2Checkout extends BxBaseModPaymentProvider implements iBx
         );
 
         $iIndex = 0;
+        $sPriceKey = $this->_oModule->_oConfig->getKey('KEY_ARRAY_PRICE_SINGLE');
         foreach($aCartInfo['items'] as $aItem) {
         	$aFormData['li_' . $iIndex . '_type'] = 'product';
             $aFormData['li_' . $iIndex . '_name'] = $aItem['title'];
-            $aFormData['li_' . $iIndex . '_price'] = $aItem['price'];
+            $aFormData['li_' . $iIndex . '_price'] = $aItem[$sPriceKey];
             $aFormData['li_' . $iIndex . '_quantity'] = $aItem['quantity'];
             $aFormData['li_' . $iIndex . '_tangible'] = 'N';
 

+ 2 - 2
modules/boonex/payment/classes/BxPaymentTemplate.php

@@ -237,14 +237,14 @@ class BxPaymentTemplate extends BxBaseModPaymentTemplate
         return $this->parseHtmlByName('order_' . $sType . '.html', $aResult);
     }
 
-    public function displayItems($aItems = array())
+    public function displayItems($sType, $aItems = array())
     {
         $aTmplVarsItems = array();
 
         foreach($aItems as $aItem) {
             $aTmplVarsItems[] = array(
                 'id' => $aItem['id'],
-                'price' => $aItem['price'],
+                'price' => $this->_oConfig->getPrice($sType, $aItem),
                 'bx_if:link' => array(
                     'condition' => !empty($aItem['url']),
                     'content' => array(

+ 1 - 1
modules/boonex/payment/js/orders.js

@@ -38,7 +38,7 @@ BxPaymentOrders.prototype.paOnSelectModule = function(oSelect) {
     oPopup.bx_loading(true);
 
     $.get(
-        this._sActionsUrl + 'get_items/' + parseInt($(oSelect).val()) + '/',
+        this._sActionsUrl + 'get_items/single/' + parseInt($(oSelect).val()) + '/',
         {
             _t:oDate.getTime()
         },