SOAP API — Require task assignment
// Add form error if user is not assigned to project task to which they're about to be booked.
function require_task_assignment() {
// Prepare read query
var pta = new NSOA.record.oaProjecttaskassign();
pta.projecttaskid = NSOA.form.getValue('project_task_id');
pta.userid = NSOA.form.getValue('user_id');
var readRequest = {
type : "Projecttaskassign",
method : "equal to", // return only records that match search criteria
fields : "id", // specify fields to be returned
attributes : [ // Limit attribute is required; type is Attribute
{
name : "limit",
value : "1"
}
],
objects : [ // One object with search criteria
pta
]
};
// Run query
NSOA.wsapi.disableFilterSet(true); // disable the current user's filter for read query
var result = NSOA.wsapi.read(readRequest);
// Check query results
if (!result || !result[0])
NSOA.form.error('', "Internal error analyzing booking. Contact account administrator.");
else if (result[0].errors !== null || result[0].objects === null || result[0].objects.length === 0)
NSOA.form.error('_user_id', "Can't book this user without being assigned to selected project task.");
}
See also: