83 lines
3.1 KiB
Plaintext
83 lines
3.1 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: opdr_accept.asp
|
|
Description: Accepteren van een opdracht (door een uitvoerder)
|
|
Parameters:
|
|
opdr_key Opdrachtnummers array (keys)
|
|
*/ %>
|
|
|
|
<%
|
|
var JSON_Result = true;
|
|
%>
|
|
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/json2.js" -->
|
|
<!-- #include file="../shared/save2db.inc" -->
|
|
<!-- #include file="mld.inc" -->
|
|
|
|
<%
|
|
/***** Get webform parameters *****/
|
|
var opdr_key_arr = getFParamIntArray("opdr_key");
|
|
|
|
var result = { message: "", success: false };
|
|
var tobeaccepted = 0;
|
|
var ingesloten = [];
|
|
// Bepaal de opdrachten in de selectie die
|
|
// ook echt geaccepteerd kunnen of mogen worden.
|
|
for (var i = 0; i < opdr_key_arr.length; i++)
|
|
{
|
|
var this_opdr = mld.func_enabled_opdracht(opdr_key_arr[i]); // wat mag ik zoal op deze opdracht
|
|
if (this_opdr.canAccept)
|
|
{
|
|
ingesloten.push(opdr_key_arr[i]);
|
|
tobeaccepted++;
|
|
}
|
|
}
|
|
user.auth_required_or_abort(tobeaccepted > 0); // We klagen niet over enkele wel en enkele niet
|
|
/***** End get webform parameters *****/
|
|
|
|
for (var i = 0; i < ingesloten.length; i++)
|
|
{
|
|
// Blijkbaar mogen we Accepteren
|
|
var mld_opdr = mld.mld_opdr_info(ingesloten[i]);
|
|
// Als de behandelaar leeg is en een user van het INTERNE bedrijf meldt de opdracht af, dan de user_key als behandelaar (prs_perslid_key) zetten.
|
|
var fields = [];
|
|
if (mld_opdr.uitv_type == 'B' && mld_opdr.uitv_intern && mld_opdr.contactpers_key == -1)
|
|
fields.push({ dbs: "prs_perslid_key", typ: "key", val: user_key, track: L("lcl_mld_behandelaar"), foreign: "prs_perslid" });
|
|
else if (mld_opdr.uitv_type == 'B' && !mld_opdr.uitv_intern && mld_opdr.contactpersuitv_key == null)
|
|
{ // Is de user een extern contactpersoon? Dan deze invullen als contactpersoon.
|
|
var sql = "SELECT cp.prs_contactpersoon_key"
|
|
+ " FROM prs_contactpersoon cp"
|
|
+ " WHERE prs_perslid_key = " + user_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
if (!oRs.eof)
|
|
fields.push({ dbs: "prs_contactpersoon_key", typ: "key", val: oRs("prs_contactpersoon_key").Value, track: L("lcl_contact_pers"), foreign: "prs_contactpersoon" });
|
|
oRs.Close();
|
|
}
|
|
if (fields.length > 0)
|
|
{
|
|
var mldUpd = buildTrackingUpdate("mld_opdr", "mld_opdr_key = " + ingesloten[i], fields);
|
|
if (mldUpd && mldUpd.trackarray.length)
|
|
{
|
|
Oracle.Execute(mldUpd.sql);
|
|
var ins_srtdiscipline_prefix = mld.mld_prefix(mld_opdr.mld_key);
|
|
var formattedID = ins_srtdiscipline_prefix + mld_opdr.mld_key + "/" + mld_opdr.volgnr;
|
|
mld.trackopdrachtupdate(ingesloten[i], L("lcl_ord_is_ordupdtrack").format(formattedID) + "\n" + mldUpd.trackarray.join("\n"));
|
|
}
|
|
}
|
|
|
|
lcl.set_dialect(mld_opdr.opdr_type, "MLD_TYPEOPDR_KEY");
|
|
|
|
// Zetten van de status en afhandelen van de tracking van het fiatteren (approve).
|
|
mld.setopdrachtstatus(ingesloten[i], 8); // Geaccepteerd
|
|
}
|
|
|
|
// Geen message "De opdracht PXXX/Y is geaccepteerd" meer geven (AADS#20339)
|
|
result.success = true;
|
|
|
|
Response.Write(JSON.stringify(result));
|
|
%>
|