4
votes

I am working with grails 2.1.0 and extjs 4.1.0 . Now I am facing some problem here with the success method. The problem is in the code below in comment. Can anyone help me on this :

 onupdateOrder : function(invoiceid, payMethod, rebatevalue){        
    if(invoiceid > 0){
        Ext.Msg.confirm('Update Product', 'Are you sure?', function (button) {
            if (button == 'yes') { 
                var invoice = Ext.create('Ext4Example.model.Invoice',{
                    id        : invoiceid,
                    rebate    : rebatevalue,
                    paymethod : payMethod
                });

                invoice.save({
                    success: function(model) {
                        var inId = model.getId();
                        this.updateOrder(invoiceid); //warning:this.updateOrder is not a function 
                    },
                    failure: function(){                           
                        console.log('Unable to save/update');
                    }
                });
            }
        }, this);
    }else{
        Ext.Msg.alert("Please Give Invoice Id");
    }
},
updateOrder :function(invoiceid){         
    var order = Ext.create('Ext4Example.model.Order',{
        id  : invoiceid
    });
    order.save({
        success: function(order) {
            console.log(invoiceid);
            Ext.getCmp('InvoiceNo').setValue(invoiceid);
            Ext.getCmp('itemform2').restoreItem();
        },
        failure: function(){
            console.log('Unable to update');
        }
    });
}
1

1 Answers

3
votes

You need to specify

scope: this

On the invoice.save() method so that the callback runs in the controller scope.