Skip to content

Instantly share code, notes, and snippets.

@raulfmiranda
Created February 2, 2019 13:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save raulfmiranda/d528293751e84d0a090ed59f843e394f to your computer and use it in GitHub Desktop.
Save raulfmiranda/d528293751e84d0a090ed59f843e394f to your computer and use it in GitHub Desktop.
CONTROLLER QUE RENDERIZA FORMULÁRIO E TRATA RESULTADO DO BOTÃO SUBMIT
'use strict';
var guard = require('app_storefront_controllers/cartridge/scripts/guard');
var ISML = require('dw/template/ISML');
var newsletterForm = session.forms.newsletter;
function start() {
newsletterForm.clearFormElement();
ISML.renderTemplate('newsletter/newslettersignup',{
ContinueURL: dw.web.URLUtils.https('Newsletter-HandleForm')
});
}
function handleForm(){
var Transaction = require('dw/system/Transaction');
var submitButton = request.triggeredFormAction;
var newsletterObj;
var newsletterModel
if (submitButton && submitButton.formId == 'subscribe') {
try {
Transaction.wrap(function() {
newsletterModel = require('~/cartridge/scripts/NewsLetterModel');
newsletterObj = newsletterModel.CreateNewsLetterObject(newsletterForm);
});
newsletterModel.SendEmailToSubscriber(newsletterObj);
ISML.renderTemplate('newsletter/newslettersuccess', {
Subscription: newsletterObj
});
}
catch(e){
var error = e;
ISML.renderTemplate('newsletter/newslettererror');
}
}
else{
ISML.renderTemplate('newsletter/newslettersignup',{
ContinueURL: dw.web.URLUtils.https('Newsletter-HandleForm')
});
}
}
exports.Start = guard.ensure(['get'], start);
exports.HandleForm = guard.ensure([], handleForm);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment