raghav
06/22/2022, 3:46 AMbattk
06/22/2022, 3:53 AMraghav
06/22/2022, 3:57 AMfunction suitelet(request, response) {
try {
var method = request.getMethod();
nlapiLogExecution('debug', 'method', method);
if (method == "GET") {
var projectId = request.getParameter('project');
if (projectId) {
renderProjectDetailsPage(projectId);
}
else {
renderProjectSelectionPage();
}
}
else {
method = request.getParameter('custpage_next_step');
nlapiLogExecution('debug', 'method', method);
if (method == 'GoBack') {
nlapiSetRedirectURL('SUITELET', '661', 'customdeploy_sut_project_wise_ta_ea', null, null);
}
if (method == "DisplayProjectDetails") {
renderProjectDetailsPage(request);
}
else if (method == "SubmitProjectDetails") {
renderResultPage(request);
}
else {
renderProjectSelectionPage();
}
}
}
catch (err) {
nlapiLogExecution('ERROR', 'suitelet', err);
}
}
raghav
06/22/2022, 3:58 AMfunction renderProjectDetailsPage(request) {
try {
var projectId = request;
//var projectId = request.getParameter('custpage_project');
if (projectId) {
var getForm = nlapiCreateForm('Manager Change Form', false);
// Project
getForm.addFieldGroup('custpage_1', 'Selected Project');
getForm.addField('custpage_project', 'select', 'Project', 'job',
'custpage_1').setDisplayType('inline').setDefaultValue(
projectId);
var projectDetails = nlapiLookupField('job', projectId, [
'custentity_projectmanager', 'custentity_deliverymanager',
'custentity_clientpartner']);
// Project Manager
getForm.addFieldGroup('custpage_2', 'Project Manager');
getForm.addField('custpage_pm_old', 'select', 'Old', 'employee',
'custpage_2').setDisplayType('inline').setDefaultValue(
projectDetails.custentity_projectmanager);
getForm.addField('custpage_pm_new', 'select', 'New', 'employee',
'custpage_2');
// Delivery Manager
getForm.addFieldGroup('custpage_3', 'Delivery Manager');
getForm.addField('custpage_dm_old', 'select', 'Old', 'employee',
'custpage_3').setDisplayType('inline').setDefaultValue(
projectDetails.custentity_deliverymanager);
getForm.addField('custpage_dm_new', 'select', 'New', 'employee',
'custpage_3');
// Client Partner
getForm.addFieldGroup('custpage_4', 'Client Partner');
getForm.addField('custpage_cp_old', 'select', 'Old', 'employee',
'custpage_4').setDisplayType('inline').setDefaultValue(
projectDetails.custentity_clientpartner);
getForm.addField('custpage_cp_new', 'select', 'New', 'employee',
'custpage_4');
/*getForm.addFieldGroup('custpage_5', 'Expense/Time Approver');
getForm.addField('custpage_all_expense', 'select',
'New Expense Approver', 'employee',
'custpage_5');
getForm.addField('custpage_5_newta', 'select',
'New Time Approver', 'employee',
'custpage_5');*/
// get all allocated resources
var allocationSearch = nlapiSearchRecord('resourceallocation', null,
[
new nlobjSearchFilter('project', null, 'anyof', projectId),
new nlobjSearchFilter('enddate', null, 'notbefore', 'today'),
new nlobjSearchFilter('custentity_implementationteam', 'employee', 'is', 'F'),
new nlobjSearchFilter('custentity_employee_inactive', 'employee', 'is', 'F')
],
[
new nlobjSearchColumn('resource'),
new nlobjSearchColumn('timeapprover', 'employee'),
new nlobjSearchColumn('approver', 'employee')
]);
var allocationData = [];
if (allocationSearch) {
allocationSearch.forEach(function (allocation) {
allocationData.push({
employee: allocation.getValue('resource'),
ta_old: allocation.getValue('timeapprover', 'employee'),
ea_old: allocation.getValue('approver', 'employee'),
_ta_new: '',
_ea_new: ''
});
});
}
// add resource sublist
// exp Manager section
getForm.addTab('custpage_employee', 'Employees');
getForm.addSubTab('custpage_expense_approver', 'Set Approver', 'custpage_employee');
var subList = getForm.addSubList('custpage_resource', 'list',
'Resources', 'custpage_expense_approver');
getForm.addField('custpage_all_ex', 'select', 'New EA Approver',
'employee', 'custpage_expense_approver');
getForm.addField('custpage_all_ta', 'select', 'New TA Approver',
'employee', 'custpage_expense_approver');
/*getForm.addField('custpage_all_ex', 'select', 'New EA Approver',
'employee');
getForm.addField('custpage_all_ta', 'select', 'New TA Approver',
'employee');
*/
subList.addButton('custpage_btn_expense', 'Update All EA', 'updateExpenseApprover');
nlapiLogExecution('Debug', 'Update All EA button', '');
//getForm.setScript('customscript1449');
subList.addButton('custpage_btn_expense_2',
'Update Selected EA', 'updateSelectedExpenseApprover');
/*subList.addButton('custpage_btn_expense_2',
'Update Selected EA', 'update');*/
nlapiLogExecution('Debug', 'Update Selected EA button', '');
getForm.setScript('customscript_sut_project_wise_ta_ea');
/*subList.addButton('custpage_btn_expense_2',
'Update Selected EA', 'clientFieldChanged();');
nlapiLogExecution('Debug', 'Update Selected EA button', '');
*/
subList.addButton('custpage_btn_time', 'Update All TA', 'updateTimeApprover');
nlapiLogExecution('Debug', 'Update all EA button', '');
subList.addButton('custpage_btn_time_2', 'Update Selected TA', 'updationofSelectedTimeApprover');
nlapiLogExecution('Debug', 'Update selectd TA button', '');
subList.addField('employee', 'select', 'Employee', 'employee').setDisplayType('inline');
subList.addField('ta_old', 'select', 'TA Old', 'employee').setDisplayType('inline');
subList.addField('ea_old', 'select', 'EA Old', 'employee').setDisplayType('inline');
subList.addField('_ta_new', 'select', 'TA New', 'employee');
subList.addField('_ea_new', 'select', 'EA New', 'employee');
subList.addField('select', 'checkbox', 'Select ');
subList.setLineItemValues(allocationData);
// add buttons and hidden fields
getForm.addField('custpage_next_step', 'text', 'Next Step')
.setDisplayType('hidden').setDefaultValue(
'SubmitProjectDetails');
getForm.addSubmitButton('Submit Changes');
response.writePage(getForm);
} else {
renderProjectSelectionPage();
}
} catch (err) {
nlapiLogExecution('ERROR', 'renderProjectDetailsPage', err);
throw err;
}
}
raghav
06/22/2022, 3:58 AMfunction updateExpenseApprover() {//
nlapiLogExecution('Debug', 'updateExpenseApprover fun called', '');
var value = nlapiGetFieldValue('custpage_all_ex');
if (isNotEmpty(value)) {
updateAllInSection('custpage_resource', '_ea_new',
value);
} else {
alert("Please select an employee");
}
}
raghav
06/22/2022, 4:03 AMraghav
06/22/2022, 4:21 AMbattk
06/22/2022, 4:30 AMcustomscript_sut_project_wise_ta_ea
should be the id of the client scriptbattk
06/22/2022, 4:30 AMraghav
06/22/2022, 4:32 AMbattk
06/22/2022, 4:33 AMbattk
06/22/2022, 4:33 AMbattk
06/22/2022, 4:34 AMraghav
06/22/2022, 4:39 AMbattk
06/22/2022, 4:41 AMraghav
06/22/2022, 4:56 AMraghav
06/23/2022, 2:38 PMbattk
06/23/2022, 3:11 PMbattk
06/23/2022, 3:12 PMraghav
06/23/2022, 3:12 PMbattk
06/23/2022, 3:15 PMraghav
06/24/2022, 7:56 AMbattk
06/24/2022, 9:09 AMbattk
06/24/2022, 9:09 AMbattk
06/24/2022, 9:10 AMraghav
06/24/2022, 9:16 AMbattk
06/24/2022, 9:23 AMbattk
06/24/2022, 9:23 AMbattk
06/24/2022, 9:23 AM