Only admin and assignment group members should be able to edit assignment groups and assigned to inc

Spartan_snow
Tera Expert

Hello All,

 

I have a requirement that while an incident is in progress, no user other than the admin and incident Assignment group member should be able to change the 'Assignment group' and 'Assigned to' fields.

 

I wrote a UI policy script for this; however, it does not work for the group. Please see attached script and picture for your references.

 

function onCondition() {
    var isManager = g_user.hasRole('incident_manager') || g_user.hasRole('major_incident_manager') || g_user.hasRole('admin');
    var assignedGroup = g_form.getValue('assignment_group');
    var isGroupMember = g_user.isMemberOf(assignedGroup);
    g_form.addInfoMessage('isManager: ' + isManager + ' | Assigned Group: ' + assignedGroup + ' | Is Group Member: ' + isGroupMember);
    if (isManager || isGroupMember) {
        g_form.setReadOnly('assignment_group', false);
        g_form.setReadOnly('assigned_to', false);
        g_form.setReadOnly('impact', false);
        g_form.setReadOnly('urgency', false);
    } else {
        g_form.setReadOnly('assignment_group', true);
        g_form.setReadOnly('assigned_to', true);
        g_form.setReadOnly('impact', true);
        g_form.setReadOnly('urgency', true);
    }
}

Spartan_snow_0-1745926301871.png

Spartan_snow_1-1745926352154.png

 

1 ACCEPTED SOLUTION

J Siva
Tera Sage

Hi @Spartan_snow 

You can achieve this via field level Write type Deny Unless ACL.

PFB sample to restrict the assignment group.

JSiva_0-1745927553885.png

JSiva_1-1745927569500.png

var group_name = current.assignment_group.getDisplayValue();
if (gs.getUser().isMemberOf(group_name)) {
    answer = true;
} else {
    answer = false;
}

Regards,
Siva

 

 

View solution in original post

1 REPLY 1

J Siva
Tera Sage

Hi @Spartan_snow 

You can achieve this via field level Write type Deny Unless ACL.

PFB sample to restrict the assignment group.

JSiva_0-1745927553885.png

JSiva_1-1745927569500.png

var group_name = current.assignment_group.getDisplayValue();
if (gs.getUser().isMemberOf(group_name)) {
    answer = true;
} else {
    answer = false;
}

Regards,
Siva