Advertisement
centerax

Ecomdev Checkitout compatibility with SagePay SUITE

Aug 6th, 2012
490
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 3.95 KB | None | 0 0
  1. diff --git app/design/frontend/base/default/layout/sagepaysuite_checkout_review.xml app/design/frontend/base/default/layout/sagepaysuite_checkout_review.xml
  2. index 9d1451e..35e7e0e 100644
  3. --- app/design/frontend/base/default/layout/sagepaysuite_checkout_review.xml
  4. +++ app/design/frontend/base/default/layout/sagepaysuite_checkout_review.xml
  5. @@ -1,12 +1,12 @@
  6.  <?xml version="1.0"?>
  7.  <layout version="0.1.0">
  8.  
  9. -   <checkout_onepage_review>
  10. +<!--   <checkout_onepage_review>
  11.         <reference name="root">
  12.             <action method="setTemplate">
  13.                 <template>sagepaysuite/checkout/review/info.phtml</template>
  14.             </action>
  15.         </reference>
  16.     </checkout_onepage_review>
  17. -
  18. +-->
  19.  </layout>
  20. \ No newline at end of file
  21. diff --git skin/frontend/base/default/sagepaysuite/js/sagePaySuite_Checkout.js skin/frontend/base/default/sagepaysuite/js/sagePaySuite_Checkout.js
  22. index df15efb..9a6260c 100644
  23. --- skin/frontend/base/default/sagepaysuite/js/sagePaySuite_Checkout.js
  24. +++ skin/frontend/base/default/sagepaysuite/js/sagePaySuite_Checkout.js
  25. @@ -624,8 +624,9 @@ try{
  26.     $(document.body).insert(new Element('a', { 'id': 'sagepaydirectpro-dummy-link', 'href': '#', 'style':'display:none' }).update('&nbsp;'));
  27.  
  28.     var msCont = $('suite_ms_payment_method');
  29. -
  30. -       if( !msCont && (SuiteConfig.getConfig('global', 'ajax_review') == '2') && ((typeof window.review) != 'undefined') ){
  31. +    // Is OnePageCheckout flag
  32. +    var isOpc = !msCont && typeof checkout !== 'undefined' && typeof billing !== 'undefined' && typeof payment !== 'undefined';
  33. +       if(isOpc &&  (SuiteConfig.getConfig('global', 'ajax_review') == '2') && ((typeof window.review) != 'undefined') ){
  34.             var SageServer = new EbizmartsSagePaySuite.Checkout(
  35.                     {
  36.                             'checkout':             window.checkout,
  37. @@ -635,7 +636,31 @@ try{
  38.                             'accordion':            window.accordion
  39.                     }
  40.             );
  41. -        }else if(!msCont && ($$('div.shopping-cart-totals').length != 1) && $('onestepcheckout-form')){
  42. +        } else if (isOpc && ((typeof window.review) === 'undefined')) {
  43. +            // This condition performs check for review object that is loaded within AJAX call
  44. +            // instead of window on load
  45. +            var ServerCreator = {
  46. +                review: false,
  47. +                onCreate: function() {
  48. +                   this.review = window.review; // Retrieves current review object
  49. +                },
  50. +                onComplete: function () {
  51. +                    if (this.review !== window.review) {
  52. +                        // Compares current review object to window object
  53. +                        // and creates instance of SagePaySuite checkout if they different
  54. +                        window.SageServer = new EbizmartsSagePaySuite.Checkout({
  55. +                            'checkout':             window.checkout,
  56. +                            'review':               window.review,
  57. +                            'payment':              window.payment,
  58. +                            'billing':              window.billing,
  59. +                            'accordion':            window.accordion
  60. +                        });
  61. +                    }
  62. +                }
  63. +            };
  64. +            // Register server creator for checking availability of review object
  65. +            Ajax.Responders.register(ServerCreator);
  66. +        } else if(!msCont && ($$('div.shopping-cart-totals').length != 1) && $('onestepcheckout-form')){
  67.             var SageServer = new EbizmartsSagePaySuite.Checkout(
  68.                     {
  69.                             'osc': $('onestepcheckout-place-order'),
  70. @@ -643,7 +668,7 @@ try{
  71.                     }
  72.             );
  73.  
  74. -        }else if(msCont && (msCont.getValue() == 'sagepayserver')){
  75. +        } else if(msCont && (msCont.getValue() == 'sagepayserver')){
  76.             var SageServer = new EbizmartsSagePaySuite.Checkout(
  77.                     {
  78.                         'msform': $$('div.multiple-checkout')[0].down(2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement