Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const applyToTable = ['itsm_incident_task', 'itsm_request_task', 'itsm_change_task', 'itsm_problem_task'];
- let filterCondition = !applyToTable.includes(s_form.getTableName()) && s_form.isNewRecord();
- filterCondition = filterCondition || typeof s_form.getValue('work_notes') === 'undefined';
- if (filterCondition) return;
- let server = {};
- async function listeningFields(condition = [0], step = 100) {
- let chenges = {};
- let newValue = {};
- condition[0] += step;
- const changedFields = s_form.getChanges();
- changedFields.forEach((field) => {
- newValue[field.fieldName] = field.currentValue;
- });
- for (const [key, value] of Object.entries(newValue)) {
- await getServer(key);
- chenges[key] = server[key] != value;
- }
- const setMandatory = Object.values(chenges);
- s_form.setMandatory('work_notes', setMandatory.includes(true));
- setTimeout(listeningFields, step, condition);
- }
- listeningFields();
- async function getServer(fieldName) {
- const current = await new SimpleRecord(s_form.getTableName());
- await current.get(s_form.sysId, async () => {
- if (s_user.userID != current.assigned_user) {
- server[fieldName] = current[fieldName]
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement