diff --git a/APPL/SCF/scaffolding.inc b/APPL/SCF/scaffolding.inc index 19edd4a3e2..cb825da0b8 100644 --- a/APPL/SCF/scaffolding.inc +++ b/APPL/SCF/scaffolding.inc @@ -145,6 +145,8 @@ function scaffolding(model, scf_params) case "print": scaffolding_print(model, scf_params); break; + default: + abort_with_warning("Unknown scf-mode '{0}'".format(mode)); } } diff --git a/APPL/SCF/scaffolding_delete.inc b/APPL/SCF/scaffolding_delete.inc index ed45f570fa..4f6eafd2be 100644 --- a/APPL/SCF/scaffolding_delete.inc +++ b/APPL/SCF/scaffolding_delete.inc @@ -8,21 +8,27 @@ Parameters: Context: - Note: + 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 key = getQParamInt( "id" ); + var keys = getFParamIntArray( "id" ); var params = { }; - if ("hook_pre_delete" in model) - model.hook_pre_delete(params, key); - var xxx_array = model.REST_DELETE(params, key); + 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) + model.hook_pre_delete(params, key); + var xxx_array = model.REST_DELETE(params, key); - var warning = xxx_array.warning; + var warning = xxx_array.warning; + } var result = { key: key, warning: warning, diff --git a/APPL/SCF/scaffolding_list.inc b/APPL/SCF/scaffolding_list.inc index 2a846c5af5..6349bd3d32 100644 --- a/APPL/SCF/scaffolding_list.inc +++ b/APPL/SCF/scaffolding_list.inc @@ -107,6 +107,19 @@ function scaffolding_list(model, scf_params) FcltMgr.openDetail(url, L("lcl_scf_import") + " <%=model.record_title%>"); } + function scf_delete(rowArray, isMulti) + { + var scfKeyString = getKeyString(rowArray); + var data = { + id: scfKeyString + }; + protectRequest.dataToken(data); + $.post("<%=scf_params.this_fullpath%>?mode=delete&multi=1<%=transit%>", + data, + FcltCallbackRefresh, + "json"); + } + // Sorteren door drag-and-drop experiment (niet actief) // Return a helper with preserved width of cells var fixHelper = function(e, ui) { @@ -440,6 +453,9 @@ function scaffolding_list(model, scf_params) rst.addAction(scf_params.list.actions[i]); } + if ("REST_DELETE" in model) + rst.addAction({ action: "scf_delete", caption: L("lcl_delete"), multi: true, onlyMulti: true, multiOnce: true } ); + var cnt = rst.processResultset(); %>