0% found this document useful (0 votes)
10 views25 pages

Update Js

Uploaded by

desombre eboko
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views25 pages

Update Js

Uploaded by

desombre eboko
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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