0% found this document useful (0 votes)
6 views

Update Js

Uploaded by

desombre eboko
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Update Js

Uploaded by

desombre eboko
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 25

({

//Initialisation : Récupère les gestes co disponibles


doInit: function(component, event, helper)
{
// --------------------------------
component.set("v.Improper_order_received",
$A.get("Label.namespace.Improper_order_received"));
component.set("v.Broken_Damaged_product",
$A.get("Label.namespace.Broken_Damaged_product"));

//----------------
// get the fields API name and pass it to helper function
var controllingFieldAPI = component.get("v.controllingFieldAPI");
var dependingFieldAPI = component.get("v.dependingFieldAPI");
var objDetails = component.get("v.objDetail");
// call the helper function
helper.fetchPicklistValues(component,objDetails,controllingFieldAPI,
dependingFieldAPI);

var caseId = component.get("v.recordId");


//Get country and specify capping based on country - CS-496
var action1 = component.get("c.getCountry");
action1.setParams({"caseId": caseId});
action1.setCallback( this, function(a)
{
var state = a.getState();
var errors = a.getError();

console.log("state = " + state);


console.log("errors = " + errors);

if(state === "SUCCESS")


{
var country = a.getReturnValue();
console.log('country '+country)
component.set("v.country", country);
if(country == 'PL') {
component.set("v.maxAmount", 2000);
}
if(country == 'CZ') {
component.set("v.maxAmount", 10000);
}
if(country == 'RO') {
component.set("v.maxAmount", 2500);
}
if(country == 'PT' || country == 'DE' || country == 'FR' || country
== 'ES' || country == 'IT' || country == 'DE') {
component.set("v.maxAmount", 500);
}
}
});
$A.enqueueAction(action1);

var action = component.get("c.getAvailableGest");

component.set("v.CreditNoteLabel",$A.get("{!$Label.c.Credit_Note}"));
component.set("v.GiftSamplesLabel",$A.get("{!$Label.c.Gift_Samples}"));
component.set("v.CreditCardLabel",$A.get("{!$Label.c.Gift_Card}"));
component.set("v.GiftWrapLabel",$A.get("{!$Label.c.Gift_wrap}"));
component.set("v.CRMGiftLabel",$A.get("{!$Label.c.CRM_Gift}"));
component.set("v.PromoCodeLabel",$A.get("{!$Label.c.Promo_Code}"));

action.setParams({"caseId": caseId});

console.log("caseId = " + caseId);

action.setCallback( this, function(a)


{
var state = a.getState();
var errors = a.getError();

console.log("state = " + state);


console.log("errors = " + errors);

if(state === "SUCCESS")


{
var name = a.getReturnValue();
console.log('name@@@@@@@@@@@' +name);
component.set("v.commercialGestureList", name);
console.log("doInit listCommercialGesture = " +
JSON.stringify(name));

if (name == "")
{
component.set("v.Message","NO AVAILABLE COMMERCIAL GESTURE");
}
else
{
component.set("v.containGift", name.includes($A.get("{!
$Label.c.Gift_Samples}")));
component.set("v.containCash", name.includes($A.get("{!
$Label.c.Credit_Note}")));
component.set("v.containCard", name.includes($A.get("{!
$Label.c.Gift_Card}")));
component.set("v.containWrap", name.includes($A.get("{!
$Label.c.Gift_wrap}")));
component.set("v.containCRM", name.includes($A.get("{!
$Label.c.CRM_Gift}")));
}

$A.get('e.force:refreshView').fire();
}
});
$A.enqueueAction(action);

var actionPromoCategories = component.get("c.getAvailablePromoCategories");


actionPromoCategories.setParams({"caseId": caseId});

actionPromoCategories.setCallback( this, function(a)


{
var state = a.getState();
var errors = a.getError();

console.log("state = " + state);


console.log("errors = " + errors);
if(state === "SUCCESS")
{
var name = a.getReturnValue();
console.log('name@@@@@@1111111111111' +name);

if (name != "")
{
var listPromoCategories = JSON.parse(name);

if(listPromoCategories.length > 0)
{
component.set("v.listPromoCategories", JSON.parse(name));
component.set("v.containPromoCode", true);
}
//alert("doInit listPromoCategories = " + name);

$A.get('e.force:refreshView').fire();
}
});
$A.enqueueAction(actionPromoCategories);

var byPass = component.get("c.commercialGestureBypassApprovers");


byPass.setParams({"caseId": caseId});
byPass.setCallback( this, function(a)
{
var state = a.getState();
var errors = a.getError();

console.log("state = " + state);


console.log("errors = " + errors);

if(state === "SUCCESS")


{
var passBy = a.getReturnValue();
component.set("v.isByPass", passBy);
$A.get('e.force:refreshView').fire();
}
});
$A.enqueueAction(byPass);
},

onControllerFieldChange: function(component, event, helper) {


var controllerValueKey = event.getSource().get("v.value"); // get selected
controller field value
component.set("v.selectedReason01", controllerValueKey);
console.log('controllerValueKey @@@@@@@@@@@@@@@@@@' +
component.get("v.selectedReason01"));
var depnedentFieldMap = component.get("v.depnedentFieldMap");
let commercialGestureList = [];

if (controllerValueKey != '--- None ---') {


var ListOfDependentFields = depnedentFieldMap[controllerValueKey];

if(ListOfDependentFields.length > 0){


component.set("v.bDisabledDependentFld" , false);
helper.fetchDepValues(component, ListOfDependentFields);
component.set("v.listCommercialGesture", commercialGestureList);
component.set("v.displayPromoCodeAvailable", false);
}else{
component.set("v.bDisabledDependentFld" , true);
component.set("v.listDependingValues", ['--- None ---']);
component.set("v.listCommercialGesture", commercialGestureList);
component.set("v.displayPromoCodeAvailable", false);
}

} else {
component.set("v.listDependingValues", ['--- None ---']);
component.set("v.bDisabledDependentFld" , true);
component.set("v.listCommercialGesture", commercialGestureList);
component.set("v.displayPromoCodeAvailable", false);

}
},

reason2Selected: function(component, event, helper){


let objDetail = component.get("v.objDetail");
let controllerValueKey = event.getSource().get("v.value"); // get selected
controller field value
component.set("v.selectedReason02", controllerValueKey);
let selectedReason01 = component.get("v.selectedReason01");
let selectedReason02 = component.get("v.selectedReason02");
let country = component.get("v.country");
let commercialGestureList = component.get("v.commercialGestureList");
let noteCardToFilter = ["Credit Note", "Gift Card"];
let noteSampleToFilter = ["Credit Note", "Gift/Samples"];
let notePromoToFilter = ["Credit Note", "Promo code"];
let noteSamplePromoToFilter = ["Credit Note","Gift/Samples","Promo code"];
let noteCardSamplePromoToFilter = ["Credit Note","Gift
Card","Gift/Samples","Promo code"];
let result;
let natureVariableTemp;

var labelCreditNote = $A.get("$Label.c.Credit_Notes");


var labelGiftSample = $A.get("!$Label.c.Gift_SamplesLabel");

if (selectedReason01 == '--- None ---' || selectedReason02 == '--- None ---') {


commercialGestureList = [];
natureVariableTemp ="";
component.set("v.listCommercialGesture", commercialGestureList);
component.set("v.natureVariable", natureVariableTemp);
component.set("v.displayPromoCodeAvailable", false);
}
// Display Commercial Gesture if Reason 1 = Improper order received

//pour recuperer dans le code: component.get("Improper_order_received")


console.log('component.get("v.Improper_order_received")'
+component.get("v.Improper_order_received"));
console.log('component.get("v.Broken_Damaged_product")'
+component.get("v.Broken_Damaged_product"));

if (selectedReason01 == component.get("v.Improper_order_received") &&


selectedReason02 == component.get("v.Broken_Damaged_product")) {
console.log('commercialGestureList'
+JSON.stringify(commercialGestureList));
natureVariableTemp ="CG";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
result = commercialGestureList.filter((item) => item.Type__c ==
labelCreditNote);
}
else{
// result = commercialGestureList.filter((item) =>
noteSampleToFilter.includes(item.Type__c));
result = (commercialGestureList.filter((item) => item.Type__c =
labelCreditNote));
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
if (selectedReason01 == "Improper order received" && selectedReason02 ==
"Wrong product") {

natureVariableTemp ="CG";
component.set("v.natureVariable", natureVariableTemp);
if (country != null) {
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
}
if (selectedReason01 == "Improper order received" && (selectedReason02 ==
"Samples" || selectedReason02 == "Gift wrap")){

natureVariableTemp ="C";
component.set("v.natureVariable", natureVariableTemp);
if (country != null) {
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
}
if (selectedReason01 == "Improper order received" && selectedReason02 ==
"Gift or Reward") {

natureVariableTemp ="C";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
}
else{
result = commercialGestureList.filter((item) =>
noteSampleToFilter.includes(item.Type__c));
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
// Display Commercial Gesture if Reason 1 = Gift card
if (selectedReason01 == "Gift card" && selectedReason02 == "Incident") {
natureVariableTemp ="C";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
}
else{
result = commercialGestureList.filter((item) =>
noteCardToFilter.includes(item.Type__c));
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
if (selectedReason01 == "Gift card" && selectedReason02 == "Extension") {

natureVariableTemp ="CG";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
}
else{
result = commercialGestureList.filter((item) =>
noteCardToFilter.includes(item.Type__c));
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
if (selectedReason01 == "Gift card" && selectedReason02 == "Multi-Voucher
Exchange request") {

natureVariableTemp ="CG";
component.set("v.natureVariable", natureVariableTemp);
if (country == 'FR') {
result = commercialGestureList.filter((item) =>
noteCardToFilter.includes(item.Type__c));
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
// Display Commercial Gesture if Reason 1 = Offer & Loyalty
if (selectedReason01 == "Offer & Loyalty" && (selectedReason02 ==
"Communication not received" || selectedReason02 == "Promo code - incident" ||
selectedReason02 == "Price alignment")) {
natureVariableTemp ="C";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
component.set("v.displayPromoCodeAvailable", false);
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
}
else{
result = commercialGestureList.filter((item) =>
notePromoToFilter.includes(item.Type__c));
component.set("v.displayPromoCodeAvailable", true);
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
if (selectedReason01 == "Offer & Loyalty" && selectedReason02 == "Renew /
Extend promotion") {
natureVariableTemp ="CG";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
component.set("v.displayPromoCodeAvailable", false);
}
else{
result = commercialGestureList.filter((item) =>
notePromoToFilter.includes(item.Type__c));
component.set("v.displayPromoCodeAvailable", true);
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
// Display Commercial Gesture if Reason 1 = Delivery and Return
if (selectedReason01 == "Delivery and Return" && selectedReason02 ==
"Delivery delays") {
natureVariableTemp ="C";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
component.set("v.displayPromoCodeAvailable", false);
}
else{
result = commercialGestureList.filter((item) =>
noteSamplePromoToFilter.includes(item.Type__c));
component.set("v.displayPromoCodeAvailable", true);
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
if (selectedReason01 == "Delivery and Return" && selectedReason02 ==
"Return costs"){
natureVariableTemp ="C";
component.set("v.natureVariable", natureVariableTemp);
if (country != null) {
component.set("v.displayPromoCodeAvailable", false);
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
}
if (selectedReason01 == "Delivery and Return" && selectedReason02 == "Out-
of-time Return") {
natureVariableTemp ="C";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
component.set("v.displayPromoCodeAvailable", false);
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
}
else{
result = commercialGestureList.filter((item) =>
notePromoToFilter.includes(item.Type__c));
component.set("v.displayPromoCodeAvailable", true);
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
// Display Commercial Gesture if Reason 1 = Payment & Refund
if (selectedReason01 == "Payment & Refund" && selectedReason02 == "Order
cancelled (S+)") {
natureVariableTemp ="C";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
component.set("v.displayPromoCodeAvailable", false);
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
}
else{
result = commercialGestureList.filter((item) =>
notePromoToFilter.includes(item.Type__c));
component.set("v.displayPromoCodeAvailable", true);
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
if (selectedReason01 == "Payment & Refund" && (selectedReason02 == "Local
payment methods issues" || selectedReason02 == "Manual refund (accountancy)")){
natureVariableTemp ="C";
component.set("v.natureVariable", natureVariableTemp);
if (country != null) {
component.set("v.displayPromoCodeAvailable", false);
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}

}
// Display Commercial Gesture if Reason 1 = Customer Experience
if (selectedReason01 == "Customer Experience" && selectedReason02 ==
"Website incident") {
natureVariableTemp ="CG";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
component.set("v.displayPromoCodeAvailable", false);
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
}
else{
result = commercialGestureList.filter((item) =>
noteSamplePromoToFilter.includes(item.Type__c));
component.set("v.displayPromoCodeAvailable", true);
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
if (selectedReason01 == "Customer Experience" && selectedReason02 ==
"Commercial gesture") {
natureVariableTemp ="CG";
component.set("v.natureVariable", natureVariableTemp);
if (country != 'FR') {
component.set("v.displayPromoCodeAvailable", false);
result = commercialGestureList.filter((item) => item.Type__c ==
"Credit Note");
}
else{
result = commercialGestureList.filter((item) =>
noteCardSamplePromoToFilter.includes(item.Type__c));
component.set("v.displayPromoCodeAvailable", true);
}
component.set("v.listCommercialGesture", result);
component.set("v.displaySection", "section0");
}
},

// Sélection Geste Co
handleGesteCoClick : function(component, event, helper)
{
var gesteCoId = event.target.getAttribute("id");
console.log('gesteCoId = ' + gesteCoId);
component.set("v.displayPromoCode", false);

var getGestCoIcon = component.get("c.getGestCoIcon");

getGestCoIcon.setParams({"selectedGest": gesteCoId});
getGestCoIcon.setCallback(this, function(a)
{
var state = a.getState();
console.log('state = ' + state);
if (state === "SUCCESS")
{
var name = a.getReturnValue();
component.set("v.selectedIcon", name);
console.log("selectedIcon = " + component.get("v.selectedIcon"));
}
});
$A.enqueueAction(getGestCoIcon);

component.set("v.selectedGest", gesteCoId);
component.set("v.EnableNext",true);
},

// Sélection Geste Co
handlePromoCodeClick : function(component, event, helper)
{
var gesteCoId = event.target.getAttribute("id");
console.log('gesteCoId = ' + gesteCoId);
component.set("v.displayPromoCode", true);
component.set("v.selectedGest", gesteCoId);
component.set("v.EnableNext",true);
},

// Sélection Sous-type du Geste Co


handleOnClick : function(component, event, helper)
{
//get element value
var subType = event.target.getAttribute("id");
var caseId = component.get("v.recordId");
var action = component.get("c.getCaseNumber");
var actionOtherValue = component.get("c.getGestCoSubTypeOtherTranslate");
var otherValueTranslated = "";

//Remise de l'approver à null sinon bug car gardé en memoire


component.set("v.selectedApprover", "");

//Récupération de la valeur Other traduit pour effectuer la comparaison


actionOtherValue.setCallback(this, function(ac)
{
var state = ac.getState();
if (state === "SUCCESS") {
otherValueTranslated = ac.getReturnValue();
if(subType === otherValueTranslated)
{
var review1 = component.find("comment1");
var review2 = component.find("comment2");
$A.util.removeClass(review1, "slds-hide");
$A.util.addClass(review1, "slds-show");
component.set("v.EnableNext","false");
$A.util.removeClass(review2, "slds-show");
$A.util.addClass(review2, "slds-hide");
}
else
{
component.set("v.EnableNext",true);
}

action.setParams({"caseId": caseId});
action.setCallback(this, function(a)
{
var state = a.getState();
if (state === "SUCCESS") {

var value = a.getReturnValue();

component.set("v.casenumber",value);
}
});

$A.enqueueAction(action);
}
});

$A.enqueueAction(actionOtherValue);

component.set("v.selectedSubType",subType);
helper.setByPass2(component);
},

//--------------------------------------------------

// Sélection Sous-type du Geste Co


handleOnClickPromoCategory : function(component, event, helper)
{

//get element value


var subType = event.target.getAttribute("id");
var caseId = component.get("v.recordId");
var actionPromoCode = component.get("c.getAvailablePromoCodeByCategory");
//Remise de l'approver à null sinon bug car gardé en memoire
component.set("v.selectedApprover", "");

actionPromoCode.setParams({"caseId": caseId, "category": subType});

actionPromoCode.setCallback( this, function(a)


{
var state = a.getState();
var errors = a.getError();

console.log("state = " + state);


console.log("errors = " + errors);

if(state === "SUCCESS")


{
var name = a.getReturnValue();
component.set("v.listPromoCode", name);
console.log("doInit listPromoCode = " + JSON.stringify(name));

if (name != "")
{
component.set("v.containPromoCode", true);
component.set("v.EnableNext",true);
}

$A.get('e.force:refreshView').fire();
}
});
$A.enqueueAction(actionPromoCode);

//component.set("v.selectedSubType",subType);
},

// Sélection Sous-type du Geste Co


handleOnClickPromoItem : function(component, event, helper)
{
//get element value
var subType = event.target.getAttribute("id");
//alert('subType '+subType);
component.set("v.selectedSubType",subType);
component.set("v.enableFinishPromo",true);
},

choosedReason : function(component, event, helper)


{
var selectedValue = component.find("reason").get("v.value");
if (component.get("v.selectedSubType") == null) {
var cgAmount = component.get("v.selectedSubType");
} else {
var cgAmount = component.get("v.otherAmount");
}

var actionReasonOtherValue = component.get("c.getReasonOtherTranslated");


var gest = component.get("v.selectedGest");
actionReasonOtherValue.setParams({"gest": gest });
var otherValueTranslated = "";
//Récupération de la valeur Other traduit pour effectuer la comparaison
actionReasonOtherValue.setCallback(this, function(re)
{
var state = re.getState();
if (state === "SUCCESS") {
otherValueTranslated = re.getReturnValue();
if(selectedValue === otherValueTranslated)
{
var review1 = component.find("comment3");
var review2 = component.find("comment4");
$A.util.removeClass(review1, "slds-hide");
$A.util.addClass(review1, "slds-show");
component.set("v.EnableNext","false");
$A.util.removeClass(review2, "slds-show");
$A.util.addClass(review2, "slds-hide");
}
else if(selectedValue != null && selectedValue.trim() === "")
{
component.set("v.EnableNext","false");
}
else
{
component.set("v.EnableNext","true");
console.log('selectedValue = ' + selectedValue);
component.set("v.selectedReason", selectedValue);
component.set("v.selectedReason01", selectedValue);
component.set("v.selectedReason02", selectedValue);
component.set("v.natureVariable", selectedValue);
}
}
});

var byPass2 = component.get("c.commercialGestureBypass");


byPass2.setParams({"commercialGestureId": gest, "subType":
component.get("v.selectedSubType"),"qtt": component.get("v.quantity"),
"otherValue": cgAmount});

byPass2.setCallback(this, function(a)
{
var state = a.getState();
var errors = a.getError();

console.log("state = " + state);


console.log("errors = " + errors);

if(state === "SUCCESS") {


var passBy2 = a.getReturnValue();
component.set("v.isByPass2", passBy2);
//$A.get('e.force:refreshView').fire();
}
});

$A.enqueueAction(byPass2);

$A.enqueueAction(actionReasonOtherValue);
},

choosedQuantity : function(component, event, helper)


{
var selectedValue = component.find("quantity").get("v.value");

component.set("v.EnableNext","true");
console.log('choosedQuantity selectedValue = ' + selectedValue);
component.set("v.quantity", selectedValue)
},

chosenApprover : function(component, event, helper)


{
var selectedValue = component.find("approver").get("v.value");

component.set("v.EnableNext","true");
console.log('selectedValue = ' + selectedValue);
component.set("v.selectedApprover", selectedValue);
},

//Gestion du montant libre


handleInputAmount: function (component, event, helper)
{
var selectedValue = component.find("inputCmp").get("v.value");
var limitAmount = component.get("v.maxAmount") + 1;
if (selectedValue < limitAmount)
{
component.set("v.otherAmount",selectedValue);
helper.getApprovers(component);
component.set("v.selectedStep", "step4");
component.set("v.prevSection2", component.get("v.displaySection"));
component.set("v.displaySection", "sectionApprover");
component.set("v.EnableNext","false");
}
},

checkIfEmpty: function (component, event, helper)


{
var valReason = component.find("inputReason").get("v.value");
console.log('valReason '+valReason);
if(valReason != null && !$A.util.isEmpty(valReason) && valReason.trim() !=
''){
console.log('checkIfEmpty ok');
component.set("v.disabledButton" , "false");
}
else{
console.log('checkIfEmpty ko');
}

},

//Gestion du motif libre


handleInput: function (component, event, helper)
{
var selectedValue = component.find("inputReason").get("v.value");

if(selectedValue != null && !$A.util.isEmpty(selectedValue) &&


selectedValue.trim() != ''){

if (component.get("v.isByPass") || component.get("v.isByPass2")) {
component.set("v.selectedReason", selectedValue);
component.set("v.selectedReason01", selectedValue);
component.set("v.selectedReason02", selectedValue);
component.set("v.natureVariable", selectedValue);
component.set("v.selectedStep", "step5");
// component.set("v.prevSection3",
component.get("v.displaySection"));
component.set("v.casenumberLabel",$A.get("{!
$Label.c.Case_Number}"));
component.set("v.CommercialGestureLabel",$A.get("{!
$Label.c.Chosen_commercial_gesture}"));
component.set("v.selectedReasonLabel",$A.get("{!
$Label.c.Selected_reason}"));
component.set("v.selectedReason1Label",$A.get("{!
$Label.c.Selected_reason1}"));
component.set("v.selectedReason2Label",$A.get("{!
$Label.c.Selected_reason2}"));
component.set("v.displaySection", "sectionResume");

} else {

helper.getApprovers(component);

component.set("v.selectedReason", selectedValue);
component.set("v.selectedReason01", selectedValue);
component.set("v.selectedReason02", selectedValue);
component.set("v.natureVariable", selectedValue);
component.set("v.selectedStep", "step4");
component.set("v.displaySection", "sectionApprover");
component.set("v.EnableNext","false");
}

}
else{
component.set("v.disabledButton" , "true");
}
},

//Gestion du bouton Next


handleNext : function(component, event, helper)
{

console.log("selectedIcon = " + component.get("v.selectedIcon"));


var gest = component.get("v.selectedGest");
var getGestCoSubType = component.get("c.getGestCoSubType");
var getGestCoType = component.get("c.getGestCoType");
var getselectedStep = component.get("v.selectedStep");
// Step 1 : Sélection type
if(getselectedStep == "step1")
{
if(component.get("v.displayPromoCode") == false){

getGestCoSubType.setParams({"selectedGest": gest});
getGestCoSubType.setCallback(this, function(a)
{
var state = a.getState();
console.log('state = ' + state);
if (state === "SUCCESS")
{
var name = a.getReturnValue();
console.log('listgest name = '
+ name);
component.set("v.listgest",
name);
}
});
$A.enqueueAction(getGestCoSubType);

getGestCoType.setParams({"selectedGest": gest});
getGestCoType.setCallback(this, function(a)
{
var state = a.getState();
console.log('state = ' + state);
if (state === "SUCCESS")
{
var name = a.getReturnValue();
console.log('selectedType name =
' + name);
component.set("v.selectedType",
name);
}
});
$A.enqueueAction(getGestCoType);

}
component.set("v.selectedStep", "step2");
component.set("v.displaySection", "subType");
component.set("v.EnableNext","false");
}

// Step 2 : Sélection sous-type


else if(getselectedStep == "step2")
{
console.log('step 2 selectedType = ' +
component.get("v.selectedType"));
console.log('step 2 listgest = ' + component.get("v.listgest"));

if(component.get("v.displayPromoCode") == false)
{
var caseId = component.get("v.recordId");
var checkGestCoAskQuantity =
component.get("c.checkGestCoAskQuantity");
checkGestCoAskQuantity.setParams({"gestoSelectedType":
component.get("v.selectedType"), "caseId": caseId});
checkGestCoAskQuantity.setCallback(this, function(a)
{
var state = a.getState();

console.log('checkGestCoAskQuantity state = ' + state);


if (state === "SUCCESS")
{
var name =
a.getReturnValue();

console.log('checkGestCoAskQuantity name = ' + name);


if (name == true)
{
component.set("v.selectedStep", "step2.1");

component.set("v.prevSection2", component.get("v.displaySection"));

component.set("v.displaySection", "sectionQuantity");

component.set("v.EnableNext","false");

component.set("v.askQuantity","true");
}
else
{
//
helper.getApprovers(component);
if
(component.get("v.isByPass") || component.get("v.isByPass2")) {

component.set("v.selectedStep", "step5");

component.set("v.prevSection4", component.get("v.displaySection"));

component.set("v.casenumberLabel",$A.get("{!$Label.c.Case_Number}"));

component.set("v.CommercialGestureLabel",$A.get("{!
$Label.c.Chosen_commercial_gesture}"));

component.set("v.selectedReasonLabel",$A.get("{!$Label.c.Selected_reason}"));

component.set("v.displaySection", "sectionResume");

}else{

component.set("v.EnableNext","true");
//
console.log('selectedValue = ' + selectedValue);
//
component.set("v.selectedReason", selectedValue);

helper.getApprovers(component);

component.set("v.selectedStep", "step4");

component.set("v.prevSection3", component.get("v.displaySection"));

component.set("v.displaySection", "sectionApprover");

component.set("v.casenumberLabel",$A.get("{!$Label.c.Case_Number}"));

component.set("v.CommercialGestureLabel",$A.get("{!
$Label.c.Chosen_commercial_gesture}"));

component.set("v.selectedReasonLabel",$A.get("{!$Label.c.Selected_reason}"));

component.set("v.EnableNext","false");
}
}
}
});
$A.enqueueAction(checkGestCoAskQuantity);

}
else {
component.set("v.selectedStep", "step3");
component.set("v.prevSection2", component.get("v.displaySection"));
component.set("v.displaySection", "sectionPromo");
component.set("v.EnableNext","false");
}

if(getselectedStep == "step2.1")
{
// helper.getApprovers(component);
if (component.get("v.isByPass") || component.get("v.isByPass2")) {

component.set("v.selectedStep", "step5");
component.set("v.prevSection4",
component.get("v.displaySection"));
component.set("v.casenumberLabel",$A.get("{!
$Label.c.Case_Number}"));
component.set("v.CommercialGestureLabel",$A.get("{!
$Label.c.Chosen_commercial_gesture}"));
component.set("v.selectedReasonLabel",$A.get("{!
$Label.c.Selected_reason}"));
component.set("v.displaySection", "sectionResume");

}else{
component.set("v.EnableNext","true");
console.log('selectedValue = ' + selectedValue);
component.set("v.selectedReason", selectedValue);

helper.getApprovers(component);

component.set("v.selectedStep", "step4");
component.set("v.prevSection3",
component.get("v.displaySection"));
component.set("v.displaySection", "sectionApprover");
component.set("v.casenumberLabel",$A.get("{!
$Label.c.Case_Number}"));
component.set("v.CommercialGestureLabel",$A.get("{!
$Label.c.Chosen_commercial_gesture}"));
component.set("v.selectedReasonLabel",$A.get("{!
$Label.c.Selected_reason}"));
component.set("v.EnableNext","false");
}

}
// Step 3 : Sélection motif
// else if(getselectedStep == "step3")
// {
// // var selectedValue = component.find("reason").get("v.value");
// var selectedValue = component.get("v.selectedReason01");
// if(selectedValue === "Other")
// {
// var review1 = component.find("comment3");
// var review2 = component.find("comment4");
// $A.util.removeClass(review1, "slds-hide");
// $A.util.addClass(review1, "slds-show");
// component.set("v.EnableNext","false");
// $A.util.removeClass(review2, "slds-show");
// $A.util.addClass(review2, "slds-hide");

// }
// else
// {
// //alert('bypass1: '+component.get("v.isByPass")+' bypasse2:
'+component.get("v.isByPass2"));
// if (component.get("v.isByPass") || component.get("v.isByPass2"))
{

// component.set("v.selectedStep", "step5");
// component.set("v.prevSection4",
component.get("v.displaySection"));
// component.set("v.casenumberLabel",$A.get("{!
$Label.c.Case_Number}"));
// component.set("v.CommercialGestureLabel",$A.get("{!
$Label.c.Chosen_commercial_gesture}"));
// component.set("v.selectedReasonLabel",$A.get("{!
$Label.c.Selected_reason}"));
// component.set("v.selectedReason1Label",$A.get("{!
$Label.c.Selected_reason1}"));
// component.set("v.selectedReason2Label",$A.get("{!
$Label.c.Selected_reason2}"));
// component.set("v.selectedReason", selectedValue);
// component.set("v.displaySection", "sectionResume");

// } else {

// component.set("v.EnableNext","true");
// console.log('selectedValue = ' + selectedValue);
// component.set("v.selectedReason", selectedValue);
// component.set("v.selectedReason01", selectedValue);
// component.set("v.selectedReason02", selectedValue);

// helper.getApprovers(component);

// component.set("v.selectedStep", "step4");
// component.set("v.prevSection3",
component.get("v.displaySection"));
// component.set("v.displaySection", "sectionApprover");
// component.set("v.casenumberLabel",$A.get("{!
$Label.c.Case_Number}"));
// component.set("v.CommercialGestureLabel",$A.get("{!
$Label.c.Chosen_commercial_gesture}"));
// component.set("v.selectedReasonLabel",$A.get("{!
$Label.c.Selected_reason}"));
// component.set("v.selectedReason1Label",$A.get("{!
$Label.c.Selected_reason1}"));
// component.set("v.selectedReason2Label",$A.get("{!
$Label.c.Selected_reason2}"));
// component.set("v.EnableNext","false");
// }
// }
// }
// Step 4 : Sélection approbateur
else if(getselectedStep == "step4")
{
component.set("v.selectedStep", "step5");
component.set("v.prevSection4", component.get("v.displaySection"));
component.set("v.casenumberLabel",$A.get("{!
$Label.c.Case_Number}"));
component.set("v.CommercialGestureLabel",$A.get("{!
$Label.c.Chosen_commercial_gesture}"));
component.set("v.selectedReasonLabel",$A.get("{!
$Label.c.Selected_reason}"));
component.set("v.selectedReason1Label",$A.get("{!
$Label.c.Selected_reason1}"));
component.set("v.selectedReason2Label",$A.get("{!
$Label.c.Selected_reason2}"));
component.set("v.displaySection", "sectionResume");

}
},

//Gestion du bouton Back


handlePrev : function(component,event,helper)
{
var caseId = component.get("v.recordId");
var gest = component.get("v.selectedGest");
var action = component.get("c.getGestCoSubType");

if(component.get("v.displayPromoCode") == false){
action.setParams({"selectedGest": gest});

action.setCallback(this, function(a)
{
var state = a.getState();
console.log("state getGestCoSubType = " + state)

if (state === "SUCCESS")


{
var name = a.getReturnValue();

component.set("v.listgest", name);

var getselectedStep =
component.get("v.selectedStep");
console.log("getselectedStep = " +
getselectedStep);

if(getselectedStep == "step2")
{
component.set("v.selectedStep",
"step1");
component.set("v.displaySection",
"section0");
component.set("v.displayPromoCode",
false);
component.set("v.enableFinishPromo",false);
}
if(getselectedStep == "step2.1")
{
component.set("v.selectedStep",
"step2");
component.set("v.displaySection",
component.get("v.prevSection2"));
}
else if(getselectedStep == "step3" )
{

console.log('prev step 3 askQuantity = '


+ component.get("v.askQuantity"));

if (component.get("v.askQuantity") ==
true)
{
component.set("v.selectedStep",
"step2.1");
// component.set("v.displaySection",
component.get("v.prevSection2"));
component.set("v.displaySection",
'subType');
}
else
{
component.set("v.selectedStep",
"step2");
// component.set("v.displaySection",
component.get("v.prevSection2"));
component.set("v.displaySection",
'subType');

component.set("v.displayPromoCode", false);

component.set("v.enableFinishPromo",false);

}
else if(getselectedStep == "step4")
{
component.set("v.selectedStep",
"step2");
component.set("v.displaySection",
'subType');
}
else if(getselectedStep == "step5")
{
if (component.get("v.isByPass")
|| component.get("v.isByPass2")) {

component.set("v.selectedStep", "step2");

component.set("v.displaySection", 'subType');
} else {
component.set("v.selectedStep", "step4");

component.set("v.displaySection", component.get("v.prevSection4"));
}
}
}
});
$A.enqueueAction(action);
}
else{
var getselectedStep = component.get("v.selectedStep");
console.log("getselectedStep = " + getselectedStep);

if(getselectedStep == "step2")
{
component.set("v.selectedStep", "step1");
component.set("v.displaySection", "section0");
component.set("v.displayPromoCode", false);
component.set("v.enableFinishPromo",false);
}
else if(getselectedStep == "step3" )
{
component.set("v.selectedStep", "step2");
component.set("v.displaySection", 'subType');
component.set("v.enableFinishPromo",false);

}
}

},

handleFinish : function(component,event,helper)
{
var caseId = component.get("v.recordId");
var selectedType = component.get("v.selectedType");
var selectedCountry = component.get("v.country");
if(component.get("v.country") == 'FR'){
//alert('selectedType: '+selectedType+ ' Gift_Samples '+$A.get("{!
$Label.c.Gift_Samples}") + ' country: ' + selectedCountry);

var checkType = component.get("c.isGestCoTypeAdressMandatory");

checkType.setParams({"typeValue" : selectedType,"caseId" : caseId});


checkType.setCallback(this, function(a)
{
var state = a.getState();
console.log("state = " + state);
console.log("state = " +
JSON.stringify(a.getError()));

if (state === "SUCCESS")


{

var name = a.getReturnValue();

if (name == true)
{

var toastEvent =
$A.get("e.force:showToast");
toastEvent.setParams({
title: $A.get("{!
$Label.c.messageErrorTitleCommercialGesture}"),
message: $A.get("{!
$Label.c.messageErrorCommercialGestureAdressMandatory}"),
type: "error"
});

toastEvent.fire();

component.set("v.EnableFinish", "true");

component.set("v.EnableLoading", "false");
}
else
{
var a =
component.get('c.handleFinishSubmit');
$A.enqueueAction(a);
}
}
else
{
var toastEvent =
$A.get("e.force:showToast");
toastEvent.setParams({
title: $A.get("{!
$Label.c.messageErrorTitleCommercialGesture}"),
message: $A.get("{!
$Label.c.messageErrorCommercialGesture}"),
type: "error"
});

toastEvent.fire();

component.set("v.EnableFinish", "true");

component.set("v.EnableLoading", "false");
}
});
$A.enqueueAction(checkType);

}
else {
var a = component.get('c.handleFinishSubmit');
$A.enqueueAction(a);
}
},

handleFinishSubmit : function(component,event,helper)
{
component.set("v.EnableFinish", "false");
component.set("v.EnableLoading", "true");
var caseId = component.get("v.recordId");
var gesteCoId = component.get("v.selectedGest");
var selectedType = component.get("v.selectedType");
var selectedSubType = component.get("v.selectedSubType");
var raison = component.get("v.selectedReason");
var raison1 = component.get("v.selectedReason01");
var raison2 = component.get("v.selectedReason02");
var nature = component.get("v.natureVariable");
var selectedApprover = component.get("v.selectedApprover");
var otherAmount = component.get("v.otherAmount");
var quantity = component.get("v.quantity");

var createAppliedGesteCo = component.get("c.createAppliedGesteCo");

console.log("caseId = " + caseId);


console.log("gesteCoId = " + gesteCoId);

createAppliedGesteCo.setParams({"caseId" : caseId,"gesteCoId" : gesteCoId,


"selectedType" : selectedType, "selectedSubType" : selectedSubType, "raison":
raison, "selectedApprover" : selectedApprover, "otherAmount" : otherAmount,
"quantity" : quantity, "raison1" : raison1, "raison2" : raison2, "nature" :
nature});

createAppliedGesteCo.setCallback(this, function(a)
{
var state = a.getState();
console.log("state = " + state);
console.log("state = " + a.getError());

if (state === "SUCCESS")


{

var toastEvent = $A.get("e.force:showToast");


toastEvent.setParams({
title: $A.get("{!
$Label.c.messageSuccessTitleCommercialGesture}"),
message: $A.get("{!$Label.c.messageSuccessCommercialGesture}"),
type: "success"
});

toastEvent.fire();
var name = a.getReturnValue();
component.set("v.displaySection", "section0");
component.set("v.selectedStep", "step1");
component.set("v.EnableFinish", "true");
component.set("v.EnableLoading", "false");
$A.get('e.force:refreshView').fire();
}
else
{
var toastEvent = $A.get("e.force:showToast");
toastEvent.setParams({
title: $A.get("{!
$Label.c.messageErrorTitleCommercialGesture}"),
message: $A.get("{!$Label.c.messageErrorCommercialGesture}"),
type: "error"
});

toastEvent.fire();
component.set("v.EnableFinish", "true");
component.set("v.EnableLoading", "false");
}
});
$A.enqueueAction(createAppliedGesteCo);
},

handleFinishPromo : function(component,event,helper)
{
component.set("v.EnableFinish", "false");
component.set("v.EnableLoading", "true");
var caseId = component.get("v.recordId");
var selectedPromoId = component.get("v.selectedSubType");

var createAppliedPromo = component.get("c.createAppliedPromo");

console.log("caseId = " + caseId);


console.log("selectedPromoId = " + selectedPromoId);

createAppliedPromo.setParams({"caseId" : caseId,"selectedPromoId" :
selectedPromoId});

createAppliedPromo.setCallback(this, function(a)
{
var state = a.getState();
console.log("state = " + state);
console.log("state = " + a.getError());

if (state === "SUCCESS")


{
var result = a.getReturnValue();
if (result == true)
{
var toastEvent = $A.get("e.force:showToast");
toastEvent.setParams({
title: $A.get("{!
$Label.c.messageSuccessTitleCommercialGesture}"),
message: $A.get("{!
$Label.c.messageSuccessCommercialGesture}"),
type: "success"
});

toastEvent.fire();
var name = a.getReturnValue();
component.set("v.displaySection", "section0");
component.set("v.selectedStep", "step1");
component.set("v.EnableFinish", "true");
component.set("v.EnableLoading", "false");
component.set("v.enableFinishPromo",false);
component.set("v.displayPromoCode", false);
$A.get('e.force:refreshView').fire();
}
else
{
var toastEvent = $A.get("e.force:showToast");
toastEvent.setParams({
title: $A.get("{!
$Label.c.messageErrorTitleCommercialGesture}"),
message: $A.get("{!$Label.c.messageErrorPromoCode}"),
type: "error"
});

toastEvent.fire();
component.set("v.EnableFinish", "true");
component.set("v.EnableLoading", "false");
}
}
else
{
var toastEvent = $A.get("e.force:showToast");
toastEvent.setParams({
title: $A.get("{!
$Label.c.messageErrorTitleCommercialGesture}"),
message: $A.get("{!$Label.c.messageErrorCommercialGesture}"),
type: "error"
});

toastEvent.fire();
component.set("v.EnableFinish", "true");
component.set("v.EnableLoading", "false");
}
});
$A.enqueueAction(createAppliedPromo);
},
})

You might also like