Adding PO Number Field in the Review section in Quote To Sales Order page

First of all creating a new field in the Review section of quote to sales order page.

The template file, add the portion

{{#if myaccount}}
<div class="order-wizard-paymentmethod-selector-module"><h2 class="order-wizard-paymentmethod-selector-module-header"> Purchase Order Number
</h2><h3>Enter Purchase Order Number(optional)</h3>
	<form>
		<div class="row porow">
		<label class="polabel" for="poname">PO #</label>
		<input class="pobutton" type="text">
		</div>
	</form>
</div>

In Entry point file

define(
    'JJ.revieworder.revieworder', [
        'OrderWizard.Module.PaymentMethod.Selector'
    ],
    function(
        OrderWizardModulePaymentMethodSelector,

    ) {
        'use strict';

        return {
            mountToApp: function mountToApp(container) {

                var myaccount = container.getComponent('MyAccountMenu');
                if (myaccount) {

                    _.extend(OrderWizardModulePaymentMethodSelector.prototype, {
                        initialize: _.wrap(OrderWizardModulePaymentMethodSelector.prototype.initialize, function wrapInitialize(fn) {
                            fn.apply(this, _.toArray(arguments).slice(1));


                            console.log("demodata", this)

                        }),

                        getContext: _.wrap(OrderWizardModulePaymentMethodSelector.prototype.getContext, function(fn) {

                            var context = fn.apply(this, _.toArray(arguments).slice(1));
                            var self = this;
                            var myaccount = true;
                            context.myaccount = myaccount;
                            console.log("demodata123", this)
                            var divval;
                            setTimeout(function() {


                                $(".order-wizard-submitbutton-module-button").click(function() {
                                    
                                    divval = $('.pobutton').val();
                                    self.model.divval = divval;
                                    self.model.set('otherrefnum', divval);
                                });
                                $(".quote-to-salesorder-wizard-step-button-continue").click(function() {
                                    console.log("divvalnew")
                                    divval = $('.pobutton').val();
                                    self.model.divval = divval;
                                    console.log("selfnew1", self)
                                    self.model.set('otherrefnum', divval);
                                });
                            }, 1000);

                            return context;
                        })

                    });
                }

            }
        };
    });

In Suitscript file

define('JJ.revieworder.revieworder', [
    'revieworder.ServiceController', 'QuoteToSalesOrder.Model', 'Transaction.Model'
], function(
    revieworderServiceController, QuoteToSalesOrderModel, TransactionModel
) {
    'use strict';

    _.extend(QuoteToSalesOrderModel, {
        get: _.wrap(QuoteToSalesOrderModel.get, function(fn) {
            var originalupdate2 = _.toArray(arguments);
            var originalupdate = fn.apply(this, _.toArray(arguments).slice(1));
            try {
                console.error("inside update", JSON.stringify(arguments))

                console.error("originalupdate", JSON.stringify(originalupdate))



            } catch (e) {


                console.error(e)

            }
            return originalupdate;

        }),

        update: _.wrap(QuoteToSalesOrderModel.update, function(fn) {
            var originalupdate2 = _.toArray(arguments);
            var originalupdate = fn.apply(this, _.toArray(arguments).slice(1));
            try {
                console.error("inside update", JSON.stringify(arguments))

                console.error("originalupdate", JSON.stringify(originalupdate))
                this.record.setFieldValue('otherrefnum', arguments[3].otherrefnum);



            } catch (e) {


                console.error(e)

            }
            return originalupdate;

        }),
        submit: _.wrap(QuoteToSalesOrderModel.submit, function(fn) {
            var originalupdate2 = _.toArray(arguments);
            var originalupdate = fn.apply(this, _.toArray(arguments).slice(1));
            try {
                console.error("inside update2", JSON.stringify(arguments))

                console.error("originalupdate2", JSON.stringify(originalupdate))



            } catch (e) {


                console.error(e)

            }
            return originalupdate;

        })


    })
});

Leave a comment

Your email address will not be published. Required fields are marked *