|
From: Ruediger H. <hae...@us...> - 2005-08-10 02:44:19
|
Update of /cvsroot/pn-commerce/pn-commerce In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24328 Modified Files: pnadmin.php pnadminapi.php pninit.php pnuserapi.php Log Message: Add facility to store prices with VATs included (gross prices) Index: pninit.php =================================================================== RCS file: /cvsroot/pn-commerce/pn-commerce/pninit.php,v retrieving revision 1.84 retrieving revision 1.85 diff -C2 -d -r1.84 -r1.85 *** pninit.php 17 Mar 2005 13:52:03 -0000 1.84 --- pninit.php 8 Aug 2005 19:39:12 -0000 1.85 *************** *** 599,602 **** --- 599,605 ---- return false; } + case '0.95': + pnModSetVar ('pncommerce', 'VatIncluded', 'off'); + } } pnModSetVar( 'pncommerce', 'Version', '0.95' ); *************** *** 781,784 **** --- 784,788 ---- pnModDelVar ('pncommerce', 'MinimumOrderValue'); pnModDelVar ('pncommerce', 'JumpToCartviewAfterAdd'); + pnModDelVar ('pncommerce', 'VatIncluded'); pnModDelVar ('pncommerce', 'status'); *************** *** 787,790 **** --- 791,795 ---- pnModDelVar( 'pncommerce', 'PreOrderModifierSequence' ); pnModDelVar( 'pncommerce', 'PostOrderModifierSequence' ); + // Remove module hooks Index: pnadminapi.php =================================================================== RCS file: /cvsroot/pn-commerce/pn-commerce/pnadminapi.php,v retrieving revision 1.182 retrieving revision 1.183 diff -C2 -d -r1.182 -r1.183 *** pnadminapi.php 26 Jul 2005 09:32:49 -0000 1.182 --- pnadminapi.php 8 Aug 2005 19:39:11 -0000 1.183 *************** *** 425,428 **** --- 425,429 ---- * @param $args['MinimumOrderValue'] String optional * @param $args['JumpToCartviewAfterAdd'] String optional + * @param $args['VatIncluded'] String optional * @param $args['UseAuthKeys'] String optional */ *************** *** 516,519 **** --- 517,521 ---- } pnModSetVar('pncommerce', 'JumpToCartviewAfterAdd', $JumpToCartviewAfterAdd); + pnModSetVar('pncommerce', 'VatIncluded', $VatIncluded); pnModSetVar('pncommerce', 'UseAuthKeys', $UseAuthKeys); *************** *** 551,554 **** --- 553,557 ---- * @param $args['MinimumOrderValue'] String optional * @param $args['JumpToCartviewAfterAdd'] String optional + * @param $args['VatIncluded'] String optional * @param $args['UseAuthKeys'] String optional * @param $args['TaxNumber'] String optional *************** *** 589,592 **** --- 592,596 ---- $args['MinimumOrderValue'] = ' '; $args['JumpToCartviewAfterAdd'] = ' '; + $args['VatIncluded'] = ' '; $args['UseAuthKeys'] = ' '; $args['TaxNumber'] = ' '; Index: pnadmin.php =================================================================== RCS file: /cvsroot/pn-commerce/pn-commerce/pnadmin.php,v retrieving revision 1.265 retrieving revision 1.266 diff -C2 -d -r1.265 -r1.266 *** pnadmin.php 27 Jul 2005 06:08:34 -0000 1.265 --- pnadmin.php 8 Aug 2005 19:39:05 -0000 1.266 *************** *** 185,188 **** --- 185,189 ---- $supplier['MinimumOrderValue']=' '; $supplier['JumpToCartviewAfterAdd']=' '; + $supplier['VatIncluded']=' '; $supplier['UseAuthKeys']=' '; $supplier['TaxNumber']=' '; *************** *** 190,193 **** --- 191,195 ---- $supplier['CountryList']=split(",", _PNC_COUNTRIES); $supplier['JumpToCartviewAfterAddchecked'] = ( $supplier['JumpToCartviewAfterAdd'] ) ? " checked" : ""; + $supplier['VatIncludedChecked'] = ( $supplier['VatIncluded'] ) ? " checked" : ""; $supplier['useauthkeyschecked'] = ( $supplier['UseAuthKeys'] =='on' ) ? " checked" : ""; *************** *** 311,315 **** $TNIMPath, $TMGDPath, $TNWidth, $TNHeight, $ShowItems, $EnablePolicies, $StorePolicies, $AgreeToPolicies, $AcknowledgeLaw, $IndexTemplate, ! $DefaultTaxExempt,$WeightUnit, $MinimumOrderValue, $JumpToCartviewAfterAdd, $UseAuthKeys, $ItemImageReplacement, $ItemImageTNReplacement, $CategoryImageReplacement, $CategoryImageTNReplacement, $UseImageReplacements, $TaxNumber ) --- 313,317 ---- $TNIMPath, $TMGDPath, $TNWidth, $TNHeight, $ShowItems, $EnablePolicies, $StorePolicies, $AgreeToPolicies, $AcknowledgeLaw, $IndexTemplate, ! $DefaultTaxExempt,$WeightUnit, $MinimumOrderValue, $JumpToCartviewAfterAdd, $VatIncluded, $UseAuthKeys, $ItemImageReplacement, $ItemImageTNReplacement, $CategoryImageReplacement, $CategoryImageTNReplacement, $UseImageReplacements, $TaxNumber ) *************** *** 325,329 **** 'TNIMPath', 'TMGDPath', 'TNWidth', 'TNHeight', 'ShowItems', 'EnablePolicies', 'StorePolicies', 'AgreeToPolicies', 'AcknowledgeLaw', 'IndexTemplate', ! 'DefaultTaxExempt','WeightUnit', 'MinimumOrderValue', 'JumpToCartviewAfterAdd', 'UseAuthKeys', 'ItemImageReplacement', 'ItemImageTNReplacement', 'CategoryImageReplacement', 'CategoryImageTNReplacement', 'UseImageReplacements', 'TaxNumber' ); --- 327,331 ---- 'TNIMPath', 'TMGDPath', 'TNWidth', 'TNHeight', 'ShowItems', 'EnablePolicies', 'StorePolicies', 'AgreeToPolicies', 'AcknowledgeLaw', 'IndexTemplate', ! 'DefaultTaxExempt','WeightUnit', 'MinimumOrderValue', 'JumpToCartviewAfterAdd', 'VatIncluded', 'UseAuthKeys', 'ItemImageReplacement', 'ItemImageTNReplacement', 'CategoryImageReplacement', 'CategoryImageTNReplacement', 'UseImageReplacements', 'TaxNumber' ); *************** *** 380,383 **** --- 382,386 ---- $supplier['MinimumOrderValue']=$MinimumOrderValue; $supplier['JumpToCartviewAfterAdd']=$JumpToCartviewAfterAdd; + $supplier['VatIncluded']=$VatIncluded; $supplier['UseAuthKeys']=$UseAuthKeys; pnModAPIFunc('pncommerce','admin','setConfigSupplier',$supplier); Index: pnuserapi.php =================================================================== RCS file: /cvsroot/pn-commerce/pn-commerce/pnuserapi.php,v retrieving revision 1.270 retrieving revision 1.271 diff -C2 -d -r1.270 -r1.271 *** pnuserapi.php 30 Mar 2005 19:34:19 -0000 1.270 --- pnuserapi.php 8 Aug 2005 19:39:14 -0000 1.271 *************** *** 1707,1713 **** } ! //make sure that we have no ,/. problems in the numberformat if( $Item['VatID'] != 0 ) { $val = split ( "[.,]", pnModGetVar( 'pncommerce', 'VATID'.$Item['VatID'] ) ); $Item['TrueVatID'] = true; --- 1707,1714 ---- } ! // make sure that we have no ,/. problems in the numberformat if( $Item['VatID'] != 0 ) { + // VAT from Item $val = split ( "[.,]", pnModGetVar( 'pncommerce', 'VATID'.$Item['VatID'] ) ); $Item['TrueVatID'] = true; *************** *** 1715,1718 **** --- 1716,1720 ---- else { + // VAT not defined for Item, use VAT from hierarchy of categories instead. $val = split ( "[.,]", pnModAPIFunc( 'pncommerce', 'user', 'GetVATbyItemID', array( 'ItemID' => $Item['ID'], *************** *** 1722,1729 **** $Item['Vat'] = $val[0] + ( $val[1] / 10 ); // $val = split ( "[.,]", $Cost ); ! ! //Continue calculating ! $Item['VatAmount'] = round( ( ( $Item['Cost'] * $Item['Vat'] ) / 100), 2 ); ! $Item['CostLong'] = $Item['Cost'] + $Item['VatAmount']; if( $Item['TaxExempt'] == 'on' ) { --- 1724,1740 ---- $Item['Vat'] = $val[0] + ( $val[1] / 10 ); // $val = split ( "[.,]", $Cost ); ! if (pnModGetVar('pncommerce', 'VatIncluded') != 'on') ! { ! // price doesn't contain vat, like in the US ! $Item['VatAmount'] = round( ( ( $Item['Cost'] * $Item['Vat'] ) / 100), 2 ); ! $Item['CostLong'] = $Item['Cost'] + $Item['VatAmount']; ! } ! else ! { ! // price already contains the vat, like for end user shops in Germany ! $Item['VatAmount'] = $Item['Cost'] / (100 + $Item['Vat']) * ($Item['Vat']); ! $Item['CostLong'] = $Item['Cost']; ! $Item['Cost'] = $Item['CostLong'] - $Item['VatAmount']; ! } if( $Item['TaxExempt'] == 'on' ) { *************** *** 1823,1828 **** $newcartdataitem['ItemCost'] = $cartdataitem['ItemCost']; $newcartdataitem['ItemVAT'] = $cartdataitem['ItemVAT']; ! ! $newcartdataitem['ItemVATAmount'] = round( ( ( $newcartdataitem['ItemCost'] * $newcartdataitem['ItemVAT'] ) / 100), 2 ); $newcartdataitem['ItemVATAmountTotal'] = $newcartdataitem['ItemVATAmount'] * $newcartdataitem['ItemQuantity']; $newcartdataitem['ItemCostLong'] = $newcartdataitem['ItemCost'] + $newcartdataitem['ItemVATAmount']; --- 1834,1848 ---- $newcartdataitem['ItemCost'] = $cartdataitem['ItemCost']; $newcartdataitem['ItemVAT'] = $cartdataitem['ItemVAT']; ! ! if (pnModGetVar('pncommerce', 'VatIncluded') != 'on') ! { ! $newcartdataitem['ItemVATAmount'] = round( ( ( $newcartdataitem['ItemCost'] * $newcartdataitem['ItemVAT'] ) / 100), 2 ); ! } ! else ! { ! // rounding will result in rounding errors here ! // modifier pncShowAsPrice will to this for us anyway ! $newcartdataitem['ItemVATAmount'] = ( ( $newcartdataitem['ItemCost'] * $newcartdataitem['ItemVAT'] ) / 100); ! } $newcartdataitem['ItemVATAmountTotal'] = $newcartdataitem['ItemVATAmount'] * $newcartdataitem['ItemQuantity']; $newcartdataitem['ItemCostLong'] = $newcartdataitem['ItemCost'] + $newcartdataitem['ItemVATAmount']; |