FZKH#91268 Optie 'Verwijderen' ontbreekt bij opdrachten onder sjabloon-melding in Facilitor
svn path=/Website/trunk/; revision=70903
This commit is contained in:
69
APPL/MLD/opdr_delete.asp
Normal file
69
APPL/MLD/opdr_delete.asp
Normal file
@@ -0,0 +1,69 @@
|
||||
<%@ LANGUAGE = JavaScript %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: opdr_delete.asp
|
||||
Status: 100%
|
||||
Description: Verwijderen van een of meerdere mld_opdr regels.
|
||||
|
||||
Parameters:
|
||||
Context: Vanuit opdr_list.js verwijderd het alleen opdrachten van een sjabloon melding.
|
||||
Result: JSON object
|
||||
Note:
|
||||
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="./mld.inc"-->
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
|
||||
var mld_key = getFParamInt("mld_key", -1);
|
||||
var act_key = getFParamInt("act_key", -1);
|
||||
var opdr_key_arr = getFParamIntArray("opdr_key");
|
||||
|
||||
var authparamsMLDMGT = user.checkAutorisation("WEB_MLDMGT", true);
|
||||
var this_mld = mld.func_enabled_melding(mld_key);
|
||||
user.auth_required_or_abort(authparamsMLDMGT && this_mld.canFOwrite);
|
||||
|
||||
var ingesloten = [];
|
||||
for (var i = 0; i < opdr_key_arr.length; i++)
|
||||
{
|
||||
var sql = "SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END geldig"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " , mld_melding m"
|
||||
+ " , fac_activiteit a"
|
||||
+ " WHERE o.mld_melding_key = m.mld_melding_key"
|
||||
+ " AND m.fac_activiteit_key = a.fac_activiteit_key"
|
||||
+ " AND a.fac_activiteit_eenheid = 5" // Melding is een sjabloon ad-hoc melding met opdrachten.
|
||||
+ " AND a.fac_activiteit_key = " + act_key
|
||||
+ " AND m.mld_melding_key = " + mld_key
|
||||
+ " AND o.mld_opdr_key = " + opdr_key_arr[i];
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var geldig = (oRs("geldig").Value == 1);
|
||||
oRs.Close();
|
||||
user.auth_required_or_abort(geldig); // Als een van de opdrachten niet geldig is wordt er geen enkele opdracht verwijderd!
|
||||
ingesloten.push(opdr_key_arr[i]);
|
||||
}
|
||||
|
||||
var result = { success: true, deleted: true };
|
||||
if (ingesloten.length > 0)
|
||||
{
|
||||
var sql = "DELETE FROM mld_opdr"
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " AND mld_opdr_key IN (" + ingesloten.join(",") + ")";
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
{
|
||||
result.success = false;
|
||||
result.deleted = false;
|
||||
result.message = err.friendlyMsg;
|
||||
}
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
ASPPAGE_END();
|
||||
%>
|
||||
@@ -351,6 +351,7 @@ function opdr_list(params)
|
||||
|
||||
// Opdracht rechten.
|
||||
var my_mldrechten = user.func_enabled("MLD");
|
||||
var canWriteORDFOF = my_mldrechten.canWrite("WEB_ORDFOF");
|
||||
var canWriteORDBOF = my_mldrechten.canWrite("WEB_ORDBOF");
|
||||
var canReadORDBOF = my_mldrechten.canRead("WEB_ORDBOF");
|
||||
var canWriteORDAFR = my_mldrechten.canWrite("WEB_ORDAFR");
|
||||
@@ -447,7 +448,9 @@ function opdr_list(params)
|
||||
user.isBudgethouder() ||
|
||||
authparamsMLDFIN);
|
||||
|
||||
var data = {eAdd: eAdd, eClose: eClose, eVerwerk: eVerwerk, eCopy: eCopy, eAccept: eAccept, eFinish: eFinish, eAddFactuur: eAddFactuur, eListFactuur: eListFactuur};
|
||||
var eDelete = (urole == "fo" && canWriteORDFOF ? false : true);
|
||||
|
||||
var data = {eAdd: eAdd, eClose: eClose, eVerwerk: eVerwerk, eCopy: eCopy, eAccept: eAccept, eFinish: eFinish, eAddFactuur: eAddFactuur, eListFactuur: eListFactuur, eDelete: eDelete};
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -965,7 +968,11 @@ function opdr_list(params)
|
||||
|
||||
// actions
|
||||
rst.addAction({ action: "opdr_edit", caption: L("lcl_details"), isDefault: true });
|
||||
if (!mld_melding.isTemplate)
|
||||
if (mld_melding.isTemplate)
|
||||
{
|
||||
rst.addAction({ action: "opdr_delete", caption: L("lcl_delete"), enabler: "eDelete", multi: true, single: false, multiOnce: true});
|
||||
}
|
||||
else
|
||||
{
|
||||
if (urole=="fo" || urole =="bo" || urole =="b2")
|
||||
{
|
||||
|
||||
@@ -51,6 +51,30 @@ function opdr_close(rowArray, isMulti)
|
||||
FcltMgr.openModalDetail(url, L("lcl_mld_opdr_close"), { callback: opdrCloseCallback });
|
||||
}
|
||||
|
||||
function opdr_delete(rowArray, isMulti)
|
||||
{
|
||||
if (rowArray.length > 0)
|
||||
{
|
||||
var mldData = JSON.parse(rowArray[0].getAttribute("ROWDATA"));
|
||||
var data = { mld_key: mldData.mldKey
|
||||
, act_key: mldData.act_key
|
||||
, opdr_key: []
|
||||
};
|
||||
for (var i=0; i<rowArray.length;i++)
|
||||
{
|
||||
var rowData = JSON.parse(rowArray[i].getAttribute("ROWDATA"));
|
||||
data.opdr_key.push(rowData.opdrKey);
|
||||
}
|
||||
|
||||
protectRequest.dataToken(data);
|
||||
$.post( "../mld/opdr_delete.asp"
|
||||
, data
|
||||
, FcltCallbackRefresh
|
||||
, "json"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function opdr_accept(rowArray, isMulti)
|
||||
{
|
||||
var opdrKeyString = getKeyString(rowArray);
|
||||
|
||||
Reference in New Issue
Block a user