You need to sign in to do that
Don't have an account?

Uncaught Action failed: c:UpdateCustomerHub$controller$handleclick [Cannot read property 'Opportunity__c' of null]
Hi,
I am trying to update details of my account.I have created a lightning button and have associated a lightnening component to it. On click of that lightning component, I am trying to update the updated records in an external System.
However, after clicking on the action, i am getting following message.
Uncaught Action failed: c:UpdateCustomerHub$controller$handleclick [Cannot read property 'Opportunity__c' of null]
Can anyone help me with this??
Below is my code :
Cmp :
<aura:component controller="ProductInterestController" implements="force:lightningQuickAction ">
<aura:attribute name= "accts" type ="Account[]"/>
<aura:attribute name="productInterest" type="Product_Interest__c"/>
<aura:attribute name="accountId" type="Id"/>
<aura:attribute name="selectedAddress" type="Shipping_Address__c" default="{Name : '',
Shipping_City__c : ''}"/>
<aura:attribute name="ShowHideNotification" type="Boolean" default="false"/>
<aura:attribute name="Spinner" type="boolean" default="false"/>
<aura:attribute name="oppty" type="Opportunity"/>
<aura:attribute name="errorShow" type="String"/>
<lightning:button variant = "brand" label = "Update in Customer Hub" onclick= "{!c.handleclick}"/>
</aura:component>
Controller :
({
handleclick: function(cmp, event, helper) {
cmp.set('v.Spinner', true);
var action = cmp.get("c.pushToCustomerHub");
action.setParams({ acct : cmp.get('v.accountId') ,
status : cmp.get('v.imSearchStatus'),
shipAddress : cmp.get('v.selectedAddress'),
opptyId : cmp.get('v.productInterest').Opportunity__c,
piId : cmp.get('v.productInterest').Id,
oppty : cmp.get('v.oppty'),
email : cmp.get('v.oppty').Account.PersonEmail});
action.setCallback(this, function(response) {
var state = response.getState();
var resultData = response.getReturnValue();
if (state === "SUCCESS" && resultData != undefined && !resultData.hasOwnProperty('error')) {
// console.log(resultData);
helper.searchCallout(cmp,event,helper,resultData);
}
else{
cmp.set('v.Spinner', false);
if(resultData!= undefined && resultData.error!= undefined){
cmp.set('v.error', resultData.error);
}
}
});
$A.enqueueAction(action);
},
searchCallout : function(cmp,event,helper,resp){
var action = cmp.get("c.callFutureMethod");
action.setParams({ imIdList : resp.imList });
action.setCallback(this, function(response){
var state = response.getState();
if (state === "SUCCESS") {
// console.log('make callout');
helper.fetchData(cmp,event,helper,resp.imId);
}
else{
cmp.set('v.Spinner', false);
var error = response.getError();
if(Array.isArray(error) && error.length > 0) {
var errorMsg = error[0].message;
cmp.set('v.error', response.getError()[0].message);
// console.log('error', response.getError()[0].message);
}
}
});
$A.enqueueAction(action);
},
fetchData : function(cmp,event,helper, resp){
var action = cmp.get("c.parseUpdatedIMResponse");
action.setParams({ imId : resp });
action.setCallback(this, function(response){
var state = response.getState();
var resp = JSON.parse(response.getReturnValue());
// console.log('resp:', resp);
if (state === "SUCCESS" && resp!=null && resp.error== null) {
cmp.set('v.Spinner', false);
// console.log('response', response.getReturnValue());
cmp.getEvent("cdfEvent").fire();
}else{
cmp.set('v.Spinner', false);
if(resp.error!= null){
cmp.set('v.error', resp.error);
}
}
});
$A.enqueueAction(action);
}
})
I am trying to update details of my account.I have created a lightning button and have associated a lightnening component to it. On click of that lightning component, I am trying to update the updated records in an external System.
However, after clicking on the action, i am getting following message.
Uncaught Action failed: c:UpdateCustomerHub$controller$handleclick [Cannot read property 'Opportunity__c' of null]
Can anyone help me with this??
Below is my code :
Cmp :
<aura:component controller="ProductInterestController" implements="force:lightningQuickAction ">
<aura:attribute name= "accts" type ="Account[]"/>
<aura:attribute name="productInterest" type="Product_Interest__c"/>
<aura:attribute name="accountId" type="Id"/>
<aura:attribute name="selectedAddress" type="Shipping_Address__c" default="{Name : '',
Shipping_City__c : ''}"/>
<aura:attribute name="ShowHideNotification" type="Boolean" default="false"/>
<aura:attribute name="Spinner" type="boolean" default="false"/>
<aura:attribute name="oppty" type="Opportunity"/>
<aura:attribute name="errorShow" type="String"/>
<lightning:button variant = "brand" label = "Update in Customer Hub" onclick= "{!c.handleclick}"/>
</aura:component>
Controller :
({
handleclick: function(cmp, event, helper) {
cmp.set('v.Spinner', true);
var action = cmp.get("c.pushToCustomerHub");
action.setParams({ acct : cmp.get('v.accountId') ,
status : cmp.get('v.imSearchStatus'),
shipAddress : cmp.get('v.selectedAddress'),
opptyId : cmp.get('v.productInterest').Opportunity__c,
piId : cmp.get('v.productInterest').Id,
oppty : cmp.get('v.oppty'),
email : cmp.get('v.oppty').Account.PersonEmail});
action.setCallback(this, function(response) {
var state = response.getState();
var resultData = response.getReturnValue();
if (state === "SUCCESS" && resultData != undefined && !resultData.hasOwnProperty('error')) {
// console.log(resultData);
helper.searchCallout(cmp,event,helper,resultData);
}
else{
cmp.set('v.Spinner', false);
if(resultData!= undefined && resultData.error!= undefined){
cmp.set('v.error', resultData.error);
}
}
});
$A.enqueueAction(action);
},
searchCallout : function(cmp,event,helper,resp){
var action = cmp.get("c.callFutureMethod");
action.setParams({ imIdList : resp.imList });
action.setCallback(this, function(response){
var state = response.getState();
if (state === "SUCCESS") {
// console.log('make callout');
helper.fetchData(cmp,event,helper,resp.imId);
}
else{
cmp.set('v.Spinner', false);
var error = response.getError();
if(Array.isArray(error) && error.length > 0) {
var errorMsg = error[0].message;
cmp.set('v.error', response.getError()[0].message);
// console.log('error', response.getError()[0].message);
}
}
});
$A.enqueueAction(action);
},
fetchData : function(cmp,event,helper, resp){
var action = cmp.get("c.parseUpdatedIMResponse");
action.setParams({ imId : resp });
action.setCallback(this, function(response){
var state = response.getState();
var resp = JSON.parse(response.getReturnValue());
// console.log('resp:', resp);
if (state === "SUCCESS" && resp!=null && resp.error== null) {
cmp.set('v.Spinner', false);
// console.log('response', response.getReturnValue());
cmp.getEvent("cdfEvent").fire();
}else{
cmp.set('v.Spinner', false);
if(resp.error!= null){
cmp.set('v.error', resp.error);
}
}
});
$A.enqueueAction(action);
}
})

Can anyone help me this?