Jira code : BTN-520
Created a new form for promotions (Create Order Promotion). All the required fields were added in the form. On save, the promotion form created in the background.
Suitelet:
/**
* @NApiVersion 2.x
* @NScriptType Suitelet
* @NModuleScope SameAccount
*/
/*******************************************************************************
* Balaji Trading Inc
* BTN-520 Promotions - URGENT
* **************************************************************************
*
* Date: 30-08-2018
*
* Author: Jobin & Jismi IT Services LLP
*
* Script Description:This script will create a custom page for creating promotions in netsuite
*
* Date Created : 30/08/2018
* REVISION HISTORY
*
* Revision 1 $ 30-08-2018 rosemol : Created
*
*****************************************************************************
**/
define(['N/http', 'N/record', 'N/redirect', 'N/search', 'N/ui/serverWidget'],
/**
* @param {http} http
* @param {record} record
* @param {redirect} redirect
* @param {search} search
* @param {serverWidget} serverWidget
*/
function(http, record, redirect, search, serverWidget) {
function onRequest(context) {
try {
//create form
if (context.request.method === 'GET'){
var form = serverWidget.createForm({
title : 'Create Order Promotion'
});
//create fields
var promo_name = form.addField({
id : 'custpage_promotion_name',
type : serverWidget.FieldType.TEXT,
label : 'NAME'
});
promo_name.isMandatory = true;
var promo_details = form.addField({
id : 'custpage_promotion_deatils',
type : serverWidget.FieldType.TEXTAREA,
label : 'DETAILS'
});
var promo_inactive = form.addField({
id : 'custpage_promotion_inactive',
type : serverWidget.FieldType.CHECKBOX,
label : 'INACTIVE'
});
var promo_start_date = form.addField({
id : 'custpage_promotion_start_date',
type : serverWidget.FieldType.DATE,
label :'START DATE'
});
promo_start_date.defaultValue = new Date();
var promo_end_date = form.addField({
id : 'custpage_promotion_end_date',
type : serverWidget.FieldType.DATE,
label : 'END DATE'
});
form.addField({
id : 'custpage_promotion_memo',
type : serverWidget.FieldType.TEXT,
label : 'MEMO'
});
var promo_usage_limit = form.addField({
id : 'custpage_promotion_usage_limit',
type : serverWidget.FieldType.SELECT,
label : 'EACH CUSTOMER CAN USE THE PROMOTION'
});
promo_usage_limit.addSelectOption({
value : 'FIRSTSALE',
text : 'One time only'
});
promo_usage_limit.addSelectOption({
value : 'ALLSALES',
text : 'Unlimited amount of times'
});
var promo_anything = form.addField({
id : 'custpage_promotion_needs_to_buy',
type : serverWidget.FieldType.RADIO,
label : 'BUY ANYTHING',
source : 'ANYTHING'
}).updateLayoutType({
layoutType: serverWidget.FieldLayoutType.MIDROW
});
form.addField({
id : 'custpage_promotion_needs_to_buy',
type : serverWidget.FieldType.RADIO,
label : 'SPEND A MINIMUM ORDER AMOUNT OR BUY SPECIFIC ITEMS',
source : 'min_oder_amt'
}).updateLayoutType({
layoutType: serverWidget.FieldLayoutType.MIDROW
});
var promo_minimum_order_amount = form.addField({
id : 'custpage_promotion_minimum_order_amount',
type : serverWidget.FieldType.CHECKBOX,
label : 'MINIMUM ORDER AMOUNT'
}).updateLayoutType({
layoutType: serverWidget.FieldLayoutType.MIDROW
});
var promo_specific_items = form.addField({
id : 'custpage_promotion_specific_items',
type : serverWidget.FieldType.CHECKBOX,
label : 'SPECIFIC ITEMS'
}).updateLayoutType({
layoutType: serverWidget.FieldLayoutType.MIDROW
});
var promo_discount_rate = form.addField({
id : 'custpage_promotion_discount_rate',
type : serverWidget.FieldType.CURRENCY,
label : 'DISCOUNT RATE'
}).updateLayoutType({
layoutType: serverWidget.FieldLayoutType.OUTSIDEBELOW
});
promo_discount_rate.isMandatory = true;
var promo_percent = form.addField({
id : 'custpage_promotion_discount_radio',
type : serverWidget.FieldType.RADIO,
label : '%',
source : 'percent'
}).updateLayoutType({
layoutType: serverWidget.FieldLayoutType.OUTSIDEBELOW
});
form.addField({
id : 'custpage_promotion_discount_radio',
type : serverWidget.FieldType.RADIO,
label : 'FLAT',
source : 'flat'
}).updateLayoutType({
layoutType: serverWidget.FieldLayoutType.OUTSIDEBELOW
});
var create_sublist = form.addSublist({
id : 'custpage_item_sublist',
type : serverWidget.SublistType.INLINEEDITOR,
label : 'ITEM'
});
create_sublist.addField({
id : 'custpage_itemid',
type : serverWidget.FieldType.SELECT,
label : 'ITEM',
source : 'inventoryitem'
});
var currencysublist = form.addSublist({
id : 'custpage_currency_sublist',
type : serverWidget.SublistType.EDITOR,
label : 'CURRENCY'
});
currencysublist.addField({
id : 'custpage_currencytype',
type : serverWidget.FieldType.TEXT,
label : 'CURRENCY'
});
currencysublist.addField({
id : 'custpage_currency_amount',
type : serverWidget.FieldType.TEXT,
label : 'MINIMUM ORDER AMOUNT'
});
currencysublist.setSublistValue({
id : 'custpage_currencytype',
line : 0,
value : "USA"
});
currencysublist.setSublistValue({
id : 'custpage_currencytype',
line : 1,
value : "British pound"
});
currencysublist.setSublistValue({
id : 'custpage_currencytype',
line : 2,
value : "Canadian Dollar"
});
currencysublist.setSublistValue({
id : 'custpage_currencytype',
line : 3,
value : "Euro"
});
currencysublist.setSublistValue({
id : 'custpage_currencytype',
line : 4,
value : "Chinese Yuan"
});
currencysublist.setSublistValue({
id : 'custpage_currencytype',
line : 5,
value : "MXN"
});
var promo_coupon_code_type = form.addField({
id : 'custpage_promotion_coupon_code_type',
type : serverWidget.FieldType.SELECT,
label : 'COUPON CODE TYPE'
}).updateLayoutType({
layoutType: serverWidget.FieldLayoutType.ENDROW
});
promo_coupon_code_type.addSelectOption({
value : "null",
text : 'Select'
});
promo_coupon_code_type.addSelectOption({
value : 'SINGLEUSE',
text : 'Single Use'
});
promo_coupon_code_type.addSelectOption({
value : 'MULTIPLEUSES',
text : 'Multiple Uses'
});
var promo_code_pattern = form.addField({
id : 'custpage_promotion_code_pattern',
type : serverWidget.FieldType.TEXT,
label : 'CODE PATTERN'
});
var promo_no_of_codes_to_generate = form.addField({
id : 'custpage_promotion_no_of_codes_to_generate',
type : serverWidget.FieldType.INTEGER,
label : 'NUMBER OF CODES TO GENERATE'
});
var promo_import_file = form.addField({
id : 'custpage_promotion_import_file',
type : serverWidget.FieldType.FILE,
label : 'IMPORT FILE'
});
var promo_coupon_code = form.addField({
id : 'custpage_promotion_coupon_code',
type : serverWidget.FieldType.TEXT,
label : 'COUPON CODE'
});
form.addSubmitButton({
label : 'SUBMIT'
});
context.response.writePage(form);
form.clientScriptFileId = '1284678';
}else{
try {
//get values from current form
var promoname = context.request.parameters.custpage_promotion_name;
var promodetails = context.request.parameters.custpage_promotion_deatils;
var promoinactive = context.request.parameters.custpage_promotion_inactive;
var promostartdate = context.request.parameters.custpage_promotion_start_date;
var promoenddate = context.request.parameters.custpage_promotion_end_date;
var promomemo = context.request.parameters.custpage_promotion_memo;
var promobuyradio = context.request.parameters.custpage_promotion_needs_to_buy;
var promominimumorderamount = context.request.parameters.custpage_promotion_minimum_order_amount;
var promospecificitem = context.request.parameters.custpage_promotion_specific_items;
var promoitemsublist = context.request.parameters.custpage_item_sublist;
var lines = context.request.getLineCount({ group: "custpage_item_sublist" });
var woarray = new Array();
var recordArray = new Array();
for(var j = 0; j < lines; j++) {
var woobject = new Object();
var childitems1id = context.request.getSublistValue({ group: 'custpage_item_sublist', name: 'custpage_itemid', line: j });
var itemid = childitems1id.split('.')[0];
}
var promocouponcodetype = context.request.parameters.custpage_promotion_coupon_code_type;
var promocouponcode = context.request.parameters.custpage_promotion_coupon_code;
var promocodepattern = context.request.parameters.custpage_promotion_code_pattern;
var promonoofcodestogenerate = context.request.parameters.custpage_promotion_no_of_codes_to_generate;
var promocurrencysublist = context.request.parameters.custpage_currency_sublist;
var lines1 = context.request.getLineCount({ group: "custpage_currency_sublist" });
var cuarray = new Array();
var currencyArray = new Array();
for(var j = 0; j < lines1; j++) {
var cuobject = new Object();
var childcurrencyamount = context.request.getSublistValue({ group: 'custpage_currency_sublist', name: 'custpage_currency_amount', line: j });
if(childcurrencyamount == null || childcurrencyamount == '' || childcurrencyamount == ' ' || childcurrencyamount == undefined){
}
else{
cuobject.currencyamount = childcurrencyamount.split('.')[0];
var childcurrencyid = context.request.getSublistValue({ group: 'custpage_currency_sublist', name: 'custpage_currencytype', line: j });
cuobject.currencyid = childcurrencyid.split('.')[0];
}
currencyArray.push(cuobject);
}
var promodiscountrate = context.request.parameters.custpage_promotion_discount_rate;
var promodiscountradio = context.request.parameters.custpage_promotion_discount_radio;
var promousagelimit = context.request.parameters.custpage_promotion_usage_limit;
//context.response.write('success');
//create order promotion
var objRecord = record.create({
type: 'promotioncode',
isDynamic: true
});
//set custom form to Order Promotion - CS
objRecord.setValue({
fieldId : 'customform',
value : 133
});
//set promotion name
objRecord.setValue({
fieldId : 'name',
value : promoname
});
//set promotion description
objRecord.setValue({
fieldId : 'description',
value : promodetails
});
//set inactive value
if(promoinactive == "T"){
objRecord.setValue({
fieldId : 'isinactive',
value : true
});
}
else{
objRecord.setValue({
fieldId : 'isinactive',
value : false
});
}
//set start date
if(promostartdate){
objRecord.setValue({
fieldId : 'startdate',
value : new Date(promostartdate)
});
}
//set end date
if(promoenddate){
objRecord.setValue({
fieldId : 'enddate',
value : new Date(promoenddate)
});
}
//set memo
if(promomemo){
objRecord.setValue({
fieldId : 'custrecord170',
value : promomemo
});
}
//set combination type
objRecord.setValue({
fieldId : 'combinationtype',
value : "GLOBALEXCLUSIVE"
});
//set customers buy radio button
if(promobuyradio == "ANYTHING"){
objRecord.setValue({
fieldId : 'whatthecustomerneedstobuy',
value : promobuyradio
});
}
else{
objRecord.setValue({
fieldId : 'whatthecustomerneedstobuy',
value : "MINIMUMORDERAMOUNTORSPECIFICITEMS"
});
}
//set minimum order amount
if(promominimumorderamount == "T"){
objRecord.setValue({
fieldId : 'minimumorderamountcheck',
value : true
});
}
else{
objRecord.setValue({
fieldId : 'minimumorderamountcheck',
value : false
});
}
//set specific item
if(promospecificitem == "T"){
objRecord.setValue({
fieldId : 'specificitemscheck',
value : true
});
}
else{
objRecord.setValue({
fieldId : 'specificitemscheck',
value : false
});
}
//add line item
for(var j = 0; j < lines; j++) {
objRecord.selectNewLine({
sublistId: 'items'
});
objRecord.setCurrentSublistValue({
sublistId: 'items',
fieldId: 'item',
value: itemid
});
objRecord.commitLine({
sublistId: 'items'
});
}
//set discount rate
objRecord.setValue({
fieldId : 'rate',
value : promodiscountrate
});
// set discounttype
if(promodiscountradio){
objRecord.setValue({
fieldId : 'discounttype',
value : promodiscountradio
});
}
// set coupon code type
if(promocouponcodetype)
objRecord.setValue({
fieldId : 'usetype',
value : promocouponcodetype
});
// set coupon code
if(promocouponcode){
objRecord.setValue({
fieldId : 'code',
value : promocouponcode
});
}
// set code pattern
if(promocodepattern){
objRecord.setValue({
fieldId : 'codepattern',
value : promocodepattern
});
}
// set number of codes to generate
if(promonoofcodestogenerate){
objRecord.setValue({
fieldId : 'numbertogenerate',
value : promonoofcodestogenerate
});
}
// set sales channel
objRecord.setValue({
fieldId : 'saleschannels',
value : "SPECIFICWEBSITES"
});
// set coupon code
objRecord.setValue({
fieldId : 'website',
value : 3
});
//set usage limit
objRecord.setValue({
fieldId : 'applydiscountto',
value : promousagelimit
});
// set discount
objRecord.setValue({
fieldId : 'discount',
value : 134890
});
// add currency list
for(var k = 0;k<currencyArray.length ; k++){
var currencyname = currencyArray[k].currencyid;
if(currencyname != ''){
var currencyamnt = currencyArray[k].currencyamount;
objRecord.selectLine({
sublistId: 'currency',
line: k
});
objRecord.setCurrentSublistValue({
sublistId: 'currency',
fieldId: 'minimumorderamount',
value: currencyamnt
});
objRecord.commitLine({
sublistId: 'currency'
});
}
}
// saving record
var recordId = objRecord.save({
enableSourcing : true,
ignoreMandatoryFields : false
});
logme('recordId',recordId);
redirect.toRecord({
type : record.Type.PROMOTION_CODE,
id : recordId
});
} catch (e) {
logme('Error in Post Method', getError(e));
}
}
} catch (e) {
logme('Error in Main try staement', getError(e));
}
}
return {
onRequest: onRequest
};
});
/*******************************************************************************
* return error
*
* @param e
* @returns
*/
function getError(e) {
var stErrMsg = '';
if (e.getDetails != undefined) {
stErrMsg = '_' + e.getCode() + '<br>' + e.getDetails() + '<br>'
+ e.getStackTrace();
} else {
stErrMsg = '_' + e.toString();
}
return stErrMsg;
}
/*******************************************************************************
* Log these data
*
* @param title
* @param details
* @returns
*/
function logme(title, details) {
log.debug({
title : title,
details : details
});
}
Client Scipt :
/**
* @NApiVersion 2.x
* @NScriptType ClientScript
* @NModuleScope SameAccount
*/
/*******************************************************************************
* Balaji Trading Inc
* BTN-520 Promotions - URGENT
* **************************************************************************
*
* Date: 05-09-2018
*
* Author: Jobin & Jismi IT Services LLP
*
* Script Description:This script will hide/show fields in custom page for creating promotions
*
* Date Created : 05/09/2018
* REVISION HISTORY
*
* Revision 1 $ 05-09-2018 Maria : Created
*
*****************************************************************************
**/
define(['N/record','N/search','N/runtime'],
function(record,search,runtime) {
/**
* Function to be executed after page is initialized.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.mode - The mode in which the record is being accessed (create, copy, or edit)
*
* @since 2015.2
*/
function pageInit(scriptContext) {
//hide fields of SPEND A MINIMUM ORDER AMOUNT OR BUY SPECIFIC ITEMS
document.getElementById('custpage_promotion_minimum_order_amount_fs_lbl_uir_label').style.display = 'none';
document.getElementById('custpage_promotion_minimum_order_amount_fs').style.display = 'none';
document.getElementById('custpage_promotion_specific_items_fs_lbl_uir_label').style.display = 'none';
document.getElementById('custpage_promotion_specific_items_fs').style.display = 'none';
//hide fields of SPECIFIC ITEMS
jQuery('.uir-table-block').css('display','none');
//hide fields of COUPON CODE TYPE
document.getElementById('custpage_promotion_coupon_code_fs_lbl_uir_label').style.display = 'none';
document.getElementById('custpage_promotion_coupon_code_fs').style.display = 'none';
document.getElementById('custpage_promotion_import_file_fs_lbl_uir_label').style.display = 'none';
document.getElementById('custpage_promotion_import_file_fs').style.display = 'none';
document.getElementById('custpage_promotion_code_pattern_fs_lbl').style.display = 'none';
document.getElementById('custpage_promotion_code_pattern_fs').style.display = 'none';
document.getElementById('custpage_promotion_no_of_codes_to_generate_fs_lbl').style.display = 'none';
document.getElementById('custpage_promotion_no_of_codes_to_generate_fs').style.display = 'none';
var currentReco=scriptContext.currentRecord;
currentReco.setValue({
fieldId : 'custpage_promotion_code_pattern',
value : "ZW-[AN.3]-[A.3]"
});
}
/**
* Function to be executed when field is changed.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
* @param {string} scriptContext.fieldId - Field name
* @param {number} scriptContext.lineNum - Line number. Will be undefined if not a sublist or matrix field
* @param {number} scriptContext.columnNum - Line number. Will be undefined if not a matrix field
*
* @since 2015.2
*/
function fieldChanged(scriptContext) {
try {
var currentRec = scriptContext.currentRecord;
if (scriptContext.fieldId == 'custpage_promotion_name') {
var promotionname = currentRec.getValue({
fieldId : 'custpage_promotion_name'
});
console.log("promotionname", promotionname);
if (promotionname != null) {
var promotioncodeSearchObj = search.create({
type : "promotioncode",
filters : [ [ "name", "is", promotionname ] ],
columns : [ search.createColumn({
name : "name",
sort : search.Sort.ASC,
label : "Name"
}) ]
});
var searchResultCount = promotioncodeSearchObj.runPaged().count;
if (searchResultCount > 0) {
alert("Promotion name already exists");
}
console.log("promotioncodeSearchObj result count",searchResultCount);
}
}
if(scriptContext.fieldId == 'custpage_promotion_needs_to_buy')
{
var currentRec = scriptContext.currentRecord;
var minimumorderamount = currentRec.getValue({
fieldId : 'custpage_promotion_needs_to_buy'
});
console.log("minimumorderamount",minimumorderamount);
if (minimumorderamount == "min_oder_amt") {
//If SPEND A MINIMUM ORDER AMOUNT OR BUY SPECIFIC ITEMS show fields
document.getElementById('custpage_promotion_minimum_order_amount_fs_lbl_uir_label').style.display = 'block';
document.getElementById('custpage_promotion_minimum_order_amount_fs').style.display = 'block';
document.getElementById('custpage_promotion_specific_items_fs_lbl_uir_label').style.display = 'block';
document.getElementById('custpage_promotion_specific_items_fs').style.display = 'block';
}
else{
//hide fields
document.getElementById('custpage_promotion_minimum_order_amount_fs_lbl_uir_label').style.display = 'none';
document.getElementById('custpage_promotion_minimum_order_amount_fs').style.display = 'none';
document.getElementById('custpage_promotion_specific_items_fs_lbl_uir_label').style.display = 'none';
document.getElementById('custpage_promotion_specific_items_fs').style.display = 'none';
jQuery('.uir-table-block').css('display','none');
}
}
if(scriptContext.fieldId == 'custpage_promotion_specific_items')
{
//if SPECIFIC ITEMS
var currentspecitem = scriptContext.currentRecord;
var specificitems = currentspecitem.getValue({
fieldId : 'custpage_promotion_specific_items'
});
if (specificitems == true) {
//show fields
jQuery('.uir-table-block').css('display','block');
}
else{
//hide fields
jQuery('.uir-table-block').css('display','none');
}
}
if(scriptContext.fieldId == 'custpage_promotion_minimum_order_amount')
{
//if minimum order amount
var currentspecitem = scriptContext.currentRecord;
var minimumorderamount = currentspecitem.getValue({
fieldId : 'custpage_promotion_minimum_order_amount'
});
console.log("minimumorderamount",minimumorderamount);
if (minimumorderamount == true) {
//show fields
jQuery('.uir-table-block').css('display','block');
}
else{
//hide fields
jQuery('.uir-table-block').css('display','none');
}
}
if(scriptContext.fieldId == 'custpage_promotion_coupon_code_type'){
var currentReccoupon = scriptContext.currentRecord;
var couponcodetype = currentReccoupon.getValue({
fieldId : 'custpage_promotion_coupon_code_type'
});
console.log("couponcodetype",couponcodetype);
if(couponcodetype == 'SINGLEUSE'){
//if coupon code type is single use
document.getElementById('custpage_promotion_code_pattern_fs_lbl').style.display = 'block';
document.getElementById('custpage_promotion_code_pattern_fs').style.display = 'block';
document.getElementById('custpage_promotion_no_of_codes_to_generate_fs_lbl').style.display = 'block';
document.getElementById('custpage_promotion_no_of_codes_to_generate_fs').style.display = 'block';
document.getElementById('custpage_promotion_coupon_code_fs_lbl_uir_label').style.display = 'none';
document.getElementById('custpage_promotion_coupon_code_fs').style.display = 'none';
var codestogenerate = currentReccoupon.getValue({
fieldId : 'custpage_promotion_no_of_codes_to_generate'
});
console.log("codestogenerate",codestogenerate);
if(codestogenerate == null || codestogenerate == '' || codestogenerate == ' ' || codestogenerate == undefined){
alert('Enter value for NUMBER OF CODES TO GENERATE');
}
}
else if(couponcodetype == 'MULTIPLEUSES'){
//if coupon code type is multiple users
document.getElementById('custpage_promotion_code_pattern_fs_lbl').style.display = 'none';
document.getElementById('custpage_promotion_code_pattern_fs').style.display = 'none';
document.getElementById('custpage_promotion_no_of_codes_to_generate_fs_lbl').style.display = 'none';
document.getElementById('custpage_promotion_no_of_codes_to_generate_fs').style.display = 'none';
document.getElementById('custpage_promotion_coupon_code_fs_lbl_uir_label').style.display = 'block';
document.getElementById('custpage_promotion_coupon_code_fs').style.display = 'block';
var couponcode = currentReccoupon.getValue({
fieldId : 'custpage_promotion_coupon_code'
});
console.log("couponcode",couponcode);
if(couponcode == null || couponcode == '' || couponcode == ' ' || couponcode == undefined){
alert('Enter value for COUPON CODE');
}
}
else if(couponcodetype == 'null'){
document.getElementById('custpage_promotion_coupon_code_fs_lbl_uir_label').style.display = 'none';
document.getElementById('custpage_promotion_coupon_code_fs').style.display = 'none';
document.getElementById('custpage_promotion_code_pattern_fs_lbl').style.display = 'none';
document.getElementById('custpage_promotion_code_pattern_fs').style.display = 'none';
document.getElementById('custpage_promotion_no_of_codes_to_generate_fs_lbl').style.display = 'none';
document.getElementById('custpage_promotion_no_of_codes_to_generate_fs').style.display = 'none';
}
}
} catch (e) {
console.log(e.message);
}
}
/**
* Function to be executed when field is slaved.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
* @param {string} scriptContext.fieldId - Field name
*
* @since 2015.2
*/
function postSourcing(scriptContext) {
}
/**
* Function to be executed after sublist is inserted, removed, or edited.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @since 2015.2
*/
function sublistChanged(scriptContext) {
}
/**
* Function to be executed after line is selected.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @since 2015.2
*/
function lineInit(scriptContext) {
}
/**
* Validation function to be executed when field is changed.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
* @param {string} scriptContext.fieldId - Field name
* @param {number} scriptContext.lineNum - Line number. Will be undefined if not a sublist or matrix field
* @param {number} scriptContext.columnNum - Line number. Will be undefined if not a matrix field
*
* @returns {boolean} Return true if field is valid
*
* @since 2015.2
*/
function validateField(scriptContext) {
}
/**
* Validation function to be executed when sublist line is committed.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @returns {boolean} Return true if sublist line is valid
*
* @since 2015.2
*/
function validateLine(scriptContext) {
}
/**
* Validation function to be executed when sublist line is inserted.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @returns {boolean} Return true if sublist line is valid
*
* @since 2015.2
*/
function validateInsert(scriptContext) {
}
/**
* Validation function to be executed when record is deleted.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @returns {boolean} Return true if sublist line is valid
*
* @since 2015.2
*/
function validateDelete(scriptContext) {
}
/**
* Validation function to be executed when record is saved.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @returns {boolean} Return true if record is valid
*
* @since 2015.2
*/
function saveRecord(scriptContext) {
alert('success');
if(scriptContext.fieldId == 'custpage_promotion_coupon_code_type'){
var currentRecCouponcode = scriptContext.currentRecord;
var couponcodetype = currentReccoupon.getValue({
fieldId : 'custpage_promotion_coupon_code_type'
});
console.log("couponcodetype",couponcodetype);
if(couponcodetype == 'MULTIPLEUSES'){
var couponcode = currentRecCouponcode.getValue({
fieldId : 'custpage_promotion_coupon_code'
});
console.log("couponcode",couponcode);
if(couponcode == null || couponcode == '' || couponcode == ' ' || couponcode == undefined){
alert('Enter value for COUPON CODE');
}
}
}
}
return {
pageInit: pageInit,
fieldChanged: fieldChanged
/*postSourcing: postSourcing,
sublistChanged: sublistChanged,
lineInit: lineInit,
validateField: validateField,
validateLine: validateLine,
validateInsert: validateInsert,
validateDelete: validateDelete,*/
/* saveRecord: saveRecord*/
};
});