Email Signup for SCA Website

We can customize the newsletter function using an extended Newsletter. Model . we can update the fields using the extend the Newsletter. Model . We develop a new newsletter extension for two websites.we differentiate the two websites based on the siteid.

// JJ.Newsletter_Extension.extendnewsletter.js
// Load all your starter dependencies in backend for your extension here
// ----------------

define('JJ.Newsletter_Extension.extendnewsletter'
	, [
		'Newsletter.Model', 'Application', 'SC.Models.Init', 'underscore', 'Utils', 'Configuration', 'LiveOrder.Model', 'SC.Model'
	]
	, function (
		NewsletterModel, Application, ModelsInit, _, Utils, Configuration, LiveOrderModel, SCModel
	) {
		'use strict';

		_.extend(NewsletterModel, {
			// customisation to set default value "Retail Blvd" for the field customer segments
			createSubscription: function createSubscription(email) {
				try {
					var record = nlapiCreateRecord('lead');
					var siteid = ModelsInit.session.getSiteSettings(['siteid']).siteid;
					if (siteid === '2' || siteid === 2) {
						var RetailBlvd = '67435';
						var Blvd = '2';
					}
					else {
						var RetailBlvd = '67434';
						var Blvd = '1';
					}
					nlapiLogExecution('error', ModelsInit.session.getSiteSettings(['siteid']).siteid);
					record.setFieldValue('custentity_customer_customersegments', RetailBlvd);
					record.setFieldValue('custentity1', Blvd);
					record.setFieldValue('entityid', email);
					record.setFieldValue('firstname', Configuration.get('newsletter.genericFirstName'));
					record.setFieldValue('lastname', Configuration.get('newsletter.genericLastName'));
					record.setFieldValue('email', email);
					record.setFieldValue('subsidiary', ModelsInit.session.getShopperSubsidiary());
					record.setFieldValue('companyname', Configuration.get('newsletter.companyName'));
					record.setFieldValue('globalsubscriptionstatus', 1);
					nlapiSubmitRecord(record, true, true);
					return this.subscriptionDone;

				}
				catch (e) {
					nlapiLogExecution('error', e);
				}

			},
		})
	});

Leave a comment

Your email address will not be published. Required fields are marked *