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: