<% /*
    $Revision$
    $Id$

    File:           scaffolding_delete.asp
    Description:    Verwijder een record

    Parameters:

    Context:
    Note:           De id moet via een post binnenkomen. Het mogen
                    er meer zijn voor multi-delete

*/

function scaffolding_delete(model, scf_params)
{
    protectRequest.validateToken();
    var keys = [getQParamInt( "id", -1)];
    if (keys[0] == -1)
        var keys = getFParamIntArray( "id" ); // Vanuit lijst/multi delete

    var params = { };
    var warning = "";
    for (var i = 0; i < keys.length && !warning; i++) // we stoppen op de eerste warning
    {
        var key = keys[i];
        if ("hook_pre_delete" in model)
        {
            if (model.autfunction !== false)
            {   // Autorisatie check voordat de hook_pre_delete wordt aangeroepen.
                var autparams = user.checkAutorisation(model.autfunction);
                user.auth_required_or_abort(autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9);
            }
            model.hook_pre_delete(params, key);
        }
        // model.RES_DELETE heeft ook autorisatie check.
        var xxx_array = model.REST_DELETE(params, key);

        var warning = xxx_array.warning;
    }

    var result = { key: key,
                   warning: warning,
                   success: true,
                   deleted: true
                 };
    if (!result.warning)
    {
        if (keys.length > 1)
            result.toaster = L("lcl_scf_are_deleted").format(keys.length, model.records_title);
        else
            result.toaster = L("lcl_scf_is_deleted").format(model.record_title);
    }
    Response.Write(JSON.stringify(result));
}
%>
