Make Close Code mandatory when trying to cancel change task by clicking UI button.

Shidhi
Tera Contributor

Hi,

 

I'm trying to make close_notes mandatory(by default this field will be read only) when canceling a change task using a UI button which i have created as below:

 

Action Name: cancelRecord
Client checkbox: True
onClick: cancelTask();

 

function cancelTask() {
    if (g_form.getValue('close_notes' == '')) {
        g_form.setMandatory('close_notes', true);
        g_form.showFieldMsg('close_notes', 'Enter Close Notes', 'error');
        return false;
    } else {
        alert('Cancelling the task');
        gsftSubmit(null, g_form.getFormElement(), 'cancelRecord');
	
	}
}
        if (typeof window == 'undefined') {
            cancelTaskRecord();
        }
        function cancelTaskRecord() {
        current.state = '4';
        current.update();
        action.setRedirectURL(current);
        }
	
    

 

 

But I can't make close notes mandatory. The control always goes into the else block, and I'm able to cancel it, but I'm not getting an error to fill in the close notes.

 

Please help me.

 

Thank you!

 

1 ACCEPTED SOLUTION

@Shidhi Ideally creating an additional ACL on the change request/task table should work. User should be able to get access on your new ACLs on the close_notes field.

View solution in original post

14 REPLIES 14

Najmuddin Mohd
Mega Sage

Hi @Shidhi ,

It's the code on line 2nd line.


if(g_form.getValue('close_notes') == '')  instead if(g_form.getValue('close_notes' == ''))

Close the bracket and then check the value.

If this information helps you, Kindly mark it as Helpful and Accept the solution.

Regards,
Najmuddin.

 

Sandeep Rajput
Tera Patron
Tera Patron

@Shidhi Please try the following.

 

function cancelTask() {
var closeNotes = g_form.getValue('close_notes');
    if (closeNotes=='') {
        g_form.setMandatory('close_notes', true);
        g_form.showFieldMsg('close_notes', 'Enter Close Notes', 'error');
        return false;
    } else {
        alert('Cancelling the task');
        gsftSubmit(null, g_form.getFormElement(), 'cancelRecord');
	
	}
}
        if (typeof window == 'undefined') {
            cancelTaskRecord();
        }
        function cancelTaskRecord() {
        current.state = '4';
        current.update();
        action.setRedirectURL(current);
        }

Bert_c1
Kilo Patron

The above suggest by Najmuddin didn't work for me, but the following change to the script did work:

 

 

	var cn = g_form.getValue('close_notes');
	if (cn == '') {

 

I now see Sandeep posted the same change I proposed.

 

Shidhi
Tera Contributor

Hi All,

 

Thanks for your help, now the control is going to If block.

As mentioned earlier, close_notes will be read-only. I'm trying to make it editable to enter comments, but it is not working. 

 

 

 

function cancelTask() {
    if (g_form.getValue('close_notes') == '') {
        g_form.setReadOnly('close_notes', false); //this is not working
        g_form.setMandatory('close_notes', true); 
        g_form.showFieldMsg('close_notes', 'Please provide Close Notes', 'error');
        return false;
    } else {
        alert('Cancelling the task');
        gsftSubmit(null, g_form.getFormElement(), 'cancelRecord');
	
	}
}
        if (typeof window == 'undefined') {
            cancelTaskRecord();
        }
        function cancelTaskRecord() {
        current.state = '4';
        current.update();
        action.setRedirectURL(current);
        }
	
    

 

 

 



Is it possible to make it editable when I click on the UI button only? Because I'm not allowed to make changes to the existing setup there is a UI Policy making it Readonly. 

 

Any help is appreciated.

 

Thank you!