AAFM#34758 Berichtenfunctie vanuit meldingen inrichten
svn path=/Website/trunk/; revision=28542
This commit is contained in:
@@ -3,13 +3,14 @@
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: mld_note_save.asp
|
||||
File: mld_edit_note_save.asp
|
||||
Description: Het echte bewaren van een melding notitie, zonder interactie
|
||||
Parameters: mld_key Meldingnummer
|
||||
note_key notitie key
|
||||
note notitie tekst
|
||||
urole
|
||||
Context: A Vanuit mld_edit_note.asp
|
||||
B Vanuit PDA/notitie.asp
|
||||
Context: Vanuit mld_edit_note.asp
|
||||
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
|
||||
@@ -67,7 +68,11 @@ if (note != "")
|
||||
}
|
||||
|
||||
fields.push({ dbs: "mld_melding_note_flag", typ: "number", val: (zichtbaarFE? 1 : 0) });
|
||||
fields.push({ dbs: "mld_melding_note_key", typ: "key", seq: "mld_s_mld_melding_note_key" });
|
||||
|
||||
var noteIns = buildInsert("mld_melding_note", fields);
|
||||
note_key = noteIns.sequences["mld_melding_note_key"];
|
||||
|
||||
Oracle.Execute(noteIns.sql);
|
||||
|
||||
// Tracking (MLDNOT) indien notitie zichtbaar is voor FE.
|
||||
@@ -160,7 +165,8 @@ if (note != "")
|
||||
}
|
||||
|
||||
var result = {success: true,
|
||||
mld_key: mld_key
|
||||
mld_key: mld_key,
|
||||
note_key: note_key
|
||||
};
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
@@ -44,46 +44,48 @@ lcl.set_dialect(mld_opdr.opdr_type, "MLD_TYPEOPDR_KEY");
|
||||
var note_key = getQParamInt("note_key", -1);
|
||||
var submitting = getQParamInt("submit", 0) == 1;
|
||||
|
||||
if (submitting)
|
||||
{
|
||||
var note = getFParam("note", "");
|
||||
if (note != "")
|
||||
{
|
||||
var fields = [ { dbs: "mld_opdr_key", typ: "key", val: opdr_key },
|
||||
{ dbs: "prs_perslid_key", typ: "key", val: user_key },
|
||||
{ dbs: "mld_opdr_note_omschrijving", typ: "varchar", frm: "note", len:4000 }
|
||||
]
|
||||
if (note_key == -1)
|
||||
{
|
||||
var noteIns = buildInsert("mld_opdr_note", fields);
|
||||
Oracle.Execute(noteIns.sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
var sql = buildUpdate("mld_opdr_note", fields)
|
||||
+ " mld_opdr_note_key = " + note_key
|
||||
+ " AND prs_perslid_key = " + user_key; // Voorkom dat er een notitie van een ander aangepast wordt.
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
FcltMgr.closeDetail(window, { refresh: true } );
|
||||
</script>
|
||||
<%
|
||||
Response.End;
|
||||
}
|
||||
// if (submitting)
|
||||
%>
|
||||
|
||||
<script type="text/javascript">
|
||||
function opdr_notesubmit()
|
||||
function checkInput()
|
||||
{
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
document.u2.submit();
|
||||
var s = $("#note").val();
|
||||
if (s.length > 4000)
|
||||
{
|
||||
s = s.substring(0, 4000);
|
||||
$("#note").val(s);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function opdr_notesubmit()
|
||||
{
|
||||
if (!checkInput())
|
||||
return false;
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
|
||||
var url = $("form[name=u2]")[0].action;
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
$("[name=u2]").serialize(),
|
||||
FcltCallbackAndThenAlways(opdr_submit_callback),
|
||||
"json");
|
||||
return true;
|
||||
}
|
||||
|
||||
function opdr_submit_callback(json)
|
||||
{
|
||||
if (json.success)
|
||||
{
|
||||
FcltMgr.closeDetail(window, json);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function opdr_notecancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
@@ -92,7 +94,7 @@ lcl.set_dialect(mld_opdr.opdr_type, "MLD_TYPEOPDR_KEY");
|
||||
|
||||
<body id="editbody">
|
||||
<div id="edit">
|
||||
<form name=u2 method=post action="opdr_edit_note.asp?submit=1&opdr_key=<%=opdr_key%>¬e_key=<%=note_key%>">
|
||||
<form name=u2 method=post action="opdr_edit_note_save.asp?opdr_key=<%=opdr_key%>¬e_key=<%=note_key%>">
|
||||
<%
|
||||
var buttons = [ {title: L("lcl_submit"), icon: "opslaan.png", action:"opdr_notesubmit()" },
|
||||
{title: L("lcl_cancel"), icon: "undo.png", action:"opdr_notecancel()" }];
|
||||
|
||||
63
APPL/MLD/opdr_edit_note_save.asp
Normal file
63
APPL/MLD/opdr_edit_note_save.asp
Normal file
@@ -0,0 +1,63 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: opdr_edit_note_save.asp
|
||||
Description: Het echte bewaren van een opdracht notitie, zonder interactie
|
||||
Parameters: opdr_key opdrachtnummer
|
||||
note_key notitie key
|
||||
note notitie tekst
|
||||
urole
|
||||
Context: Vanuit opdr_edit_note.asp
|
||||
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="mld.inc" -->
|
||||
|
||||
<%
|
||||
var opdr_key = getQParamInt("opdr_key");
|
||||
var note_key = getQParamInt("note_key", -1);
|
||||
var note = getFParam("note", "");
|
||||
|
||||
var this_opdr = mld.func_enabled_opdracht(opdr_key); // wat mag ik zoal op deze opdracht
|
||||
var mld_opdr = mld.mld_opdr_info(opdr_key);
|
||||
lcl.set_dialect(mld_opdr.opdr_type, "MLD_TYPEOPDR_KEY");
|
||||
|
||||
user.auth_required_or_abort(this_opdr.canEditOpdrNote);
|
||||
|
||||
if (note != "")
|
||||
{
|
||||
var fields = [ { dbs: "mld_opdr_key", typ: "key", val: opdr_key },
|
||||
{ dbs: "prs_perslid_key", typ: "key", val: user_key },
|
||||
{ dbs: "mld_opdr_note_omschrijving", typ: "varchar", frm: "note", len:4000 }
|
||||
]
|
||||
if (note_key > -1)
|
||||
{
|
||||
var sql = buildUpdate("mld_opdr_note", fields)
|
||||
+ " mld_opdr_note_key = " + note_key
|
||||
+ " AND prs_perslid_key = " + user_key; // Voorkom dat er een notitie van een ander aangepast wordt.
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
fields.push({ dbs: "mld_opdr_note_key", typ: "key", seq: "mld_s_mld_opdr_note_key" });
|
||||
|
||||
var noteIns = buildInsert("mld_opdr_note", fields);
|
||||
note_key = noteIns.sequences["mld_opdr_note_key"];
|
||||
Oracle.Execute(noteIns.sql);
|
||||
}
|
||||
}
|
||||
var result = {success: true,
|
||||
opdr_key: opdr_key,
|
||||
note_key: note_key
|
||||
};
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
%>
|
||||
@@ -33,14 +33,14 @@ var defemail_type = getQParam("defemail_type", "P");
|
||||
var defemail_key = getQParamInt("defemail_key", -1);
|
||||
|
||||
var pcode = getQParam("pcode", "");
|
||||
var pkey = getQParamInt("key", -1);
|
||||
var xkey = getQParamInt("xkey", -1);
|
||||
var subject = getQParam("subject", "");
|
||||
var pshowcompany = getQParamInt("pshowcompany", 0) == 1;
|
||||
var submitting = getQParamInt("submitting", 0) == 1;
|
||||
var emails = getQParam("emails", "");
|
||||
var pmodule = getQParam("pmodule", "");
|
||||
var pniveau = getQParam("pniveau", "");
|
||||
var pkey = getQParamInt("key", -1);
|
||||
var subject = getQParam("subject", "");
|
||||
var mailfrom = getQParamInt("mailfrom", 0) == 1;
|
||||
var emails = getQParam("emails", "");
|
||||
var xkey = getQParamInt("xkey", -1);
|
||||
var pshowcompany = getQParamInt("pshowcompany", 0) == 1;
|
||||
|
||||
// Ben ik voor deze module FO, en mag ik dus attachments selecteren?
|
||||
var xfunc = user.func_enabled("*", null, null, user_key);
|
||||
@@ -110,120 +110,8 @@ function bestandenlijstALL(pmodule, pniveau, pkey)
|
||||
return bestandlijst
|
||||
}
|
||||
|
||||
function tracksentemail(key, srttracking, emails, mailfrom, subject, prs_perslid_key, xkey, att_list)
|
||||
{
|
||||
// This function is our gate to the mail (and probably other media) queue for ad hoc sending needs by the user
|
||||
// To be invoked e.g. when a user wants to e-mail a reservation form ("bon") to requestor or other address
|
||||
function queuemail(pcode, pref, pmessage, pemail, pmailfrom, xkey)
|
||||
{
|
||||
// pcode hoort te zijn een van BESMAI, BES2MA, BEZMAI, MLDMAI, ORDMAI, RESMAI, RES2MA
|
||||
// en is noodzakelijk om in de queue nog het type te kunnen bepalen.
|
||||
// PutOrders moet er nl. een bon van kunnen maken. De status/mode aldaar is dummy.
|
||||
// En: De laatste parameter is voor RESMAI/alleen een deelreservering.
|
||||
if (pemail == null) return false;
|
||||
|
||||
if (pmailfrom == "")
|
||||
{ // Geen namens mail adres meegekregen. Dan mailadres van user invullen
|
||||
// notify approver and requestor by message & mail as configured in fac_srtnotificatie with BESAPx
|
||||
pmailfrom = user.prs_perslid_email();
|
||||
}
|
||||
|
||||
var attachments = att_list.join("|"); // lijst met attachments als string naar putnotificationsrtprio.
|
||||
|
||||
Oracle.Execute("BEGIN fac.putnotificationsrtprio("
|
||||
+ user_key
|
||||
+ ", NULL " // pto
|
||||
+ ", " + safe.quoted_sql(pcode)
|
||||
+ ", " + pref
|
||||
+ ", " + safe.quoted_sql(pmessage)
|
||||
+ ", 2" // pstatus
|
||||
+ ", " + safe.quoted_sql(pemail)
|
||||
+ ", NULL" // pmobile
|
||||
+ ", " + xkey
|
||||
+ ", 2"
|
||||
+ ", " + safe.quoted_sql(pmailfrom)
|
||||
+ ", " + safe.quoted_sql(attachments)
|
||||
+ "); END;");
|
||||
putorders.sendnotifications(pref, pcode);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// emails splitten
|
||||
var emailArr = ('' + emails).split(';');
|
||||
for (i = 0; i < emailArr.length; i++)
|
||||
{
|
||||
queuemail (srttracking, key, subject, emailArr[i], mailfrom, xkey);
|
||||
}
|
||||
|
||||
// srttracking hoort te zijn een van BESMAI, BES2MA, BEZMAI, MLDMAI, ORDMAI, RESMAI, RES2MA
|
||||
if (typeof prs_perslid_key == 'undefined')
|
||||
prs_perslid_key = user_key;
|
||||
|
||||
var mail_str = "";
|
||||
// PF: ik vind specifieke tekst niet nodig. Dit is nu dus gewoon documentatie ;-)
|
||||
switch (srttracking)
|
||||
{
|
||||
case "MLDMAI" :
|
||||
case "ORDMAI" :
|
||||
case "BESMAI" :
|
||||
case "BES2MA" :
|
||||
case "BEZMAI" :
|
||||
case "CNTMAI" :
|
||||
case "FINMAI" :
|
||||
case "INSMAI" :
|
||||
case "MESMAI" :
|
||||
case "PRJMAI" :
|
||||
case "PRSMAI" :
|
||||
case "RAPMAI" :
|
||||
case "RESMAI" : mail_str = L("lcl_hasbeenmailed_to") + emails;
|
||||
break;
|
||||
}
|
||||
if (subject != orgsubject)
|
||||
mail_str += "\n" + L("lcl_noti_sendsubject") + " " + subject;
|
||||
|
||||
// Voor RESMAI moet res_rsv_ruimte_key meegegeven worden van de deelreservering.
|
||||
// Tracken van het mailen van een gehele reservering heeft geen zin.
|
||||
if (srttracking != "RES2MA")
|
||||
shared.trackaction(srttracking, (srttracking == "RESMAI"? xkey : key), mail_str);
|
||||
}; //tracksentemail()
|
||||
|
||||
if (submitting)
|
||||
{
|
||||
var subject = getFParam("subject", "");
|
||||
var orgsubject = getFParam("orgsubject", "");
|
||||
var mailfrom = getFParam("namens", "");
|
||||
var emails = getFParam("emails", "");
|
||||
var maillist = "\n" + emails.replace(/\;/g, "\n");
|
||||
|
||||
// Welke bestanden zijn geselecteerd.
|
||||
var checklist = bestandenlijstALL(pmodule, pniveau, pkey);
|
||||
var file_list = [];
|
||||
if (checklist.length > 0)
|
||||
{
|
||||
for (att = 0; att < checklist.length; att++)
|
||||
{
|
||||
if (getFParam("kmnr" + att, "off") == "on")
|
||||
{
|
||||
file_list.push( checklist[att].folder + "/" + checklist[att].file.kenmerkkey + "/" + checklist[att].file.bestandnaam );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FCLTHeader.Generate();
|
||||
// track het senden van de mail
|
||||
tracksentemail(pkey, pcode, emails, mailfrom, subject, user_key, (xkey > 0? xkey : null), file_list);
|
||||
%>
|
||||
|
||||
<script>
|
||||
FcltMgr.closeDetail(window, { emails: "<%=safe.jsstring(maillist)%>",
|
||||
key: "<%=pkey%>" });
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
else
|
||||
{
|
||||
var mailfrom = getQParamInt("mailfrom", 0) == 1; %>
|
||||
<html>
|
||||
<head>
|
||||
<% // Bepaal default email
|
||||
@@ -255,6 +143,12 @@ else
|
||||
FCLTHeader.Generate();
|
||||
%>
|
||||
<script type='text/javascript'>
|
||||
jQuery(document).ready(function()
|
||||
{
|
||||
$("textarea").resize(function () { FcltMgr.resized(window) } );
|
||||
$("textarea").autogrow();
|
||||
});
|
||||
|
||||
jQuery(function()
|
||||
{
|
||||
FcltMgr.fixActiveelementError();
|
||||
@@ -294,14 +188,73 @@ else
|
||||
|
||||
function queueSubmit()
|
||||
{
|
||||
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
|
||||
if (!new RegExp("<%=safe.jsstring(S("email_regexp"))%>", "ig").test($("#emails").val()))
|
||||
alert(L("lcl_invalid_email"))
|
||||
else
|
||||
document.getElementById("u2").submit();
|
||||
if (!new RegExp("<%=safe.jsstring(S("email_regexp"))%>", "ig").test($("#emails").val()))
|
||||
{
|
||||
alert(L("lcl_invalid_email"));
|
||||
}
|
||||
else
|
||||
{
|
||||
<%
|
||||
if (pcode == "MLDMAI" || pcode == "ORDMAI")
|
||||
{
|
||||
if (pcode == "MLDMAI")
|
||||
var save_note_url = "../mld/mld_edit_note_save.asp?mld_key=" + pkey;
|
||||
if (pcode == "ORDMAI")
|
||||
var save_note_url = "../mld/opdr_edit_note_save.asp?opdr_key=" + pkey;
|
||||
%>
|
||||
if ($("#notes").length)
|
||||
{
|
||||
var vnotes = $("#notes").val();
|
||||
if (vnotes.length > 4000)
|
||||
$("#notes").val(vnotes.substring(0,4000));
|
||||
}
|
||||
|
||||
var data = { note: $("#notes").val() };
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("<%=save_note_url%>",
|
||||
data,
|
||||
FcltCallbackAndThenAlways(queueSubmitCallback),
|
||||
"json");
|
||||
<%
|
||||
}
|
||||
else
|
||||
{
|
||||
%>
|
||||
var data = { success: true,
|
||||
note_key: <%=xkey %>
|
||||
};
|
||||
queueSubmitCallback(data);
|
||||
<%
|
||||
}
|
||||
%>
|
||||
}
|
||||
}
|
||||
|
||||
function queueSubmitCallback(data)
|
||||
{
|
||||
if (data.note_key > -1 )
|
||||
{
|
||||
$("#xkey").val(data.note_key);
|
||||
}
|
||||
|
||||
var xurl = "queuemail_save.asp?key=<%=pkey%>&pcode=<%=pcode%>&pmodule=<%=pmodule%>&pniveau=<%=pniveau%>";
|
||||
$.post(xurl,
|
||||
$("[name=u2]").serialize(),
|
||||
FcltCallbackAndThenAlways(queueMailClose),
|
||||
"json");
|
||||
}
|
||||
|
||||
function queueMailClose(data)
|
||||
{
|
||||
var emails = $("#emails").val();
|
||||
var maillist = "\n" + emails.replace(/\;/g, "\n");
|
||||
|
||||
FcltMgr.closeDetail(window, { emails: maillist,
|
||||
key: "<%=pkey%>" });
|
||||
}
|
||||
|
||||
function queueCancel()
|
||||
@@ -319,11 +272,9 @@ else
|
||||
|
||||
<body class="modal" id="mod_queuemail">
|
||||
<div id="email">
|
||||
<%
|
||||
url = "queuemail.asp?submit=1&pcode="+pcode+"&key="+pkey+"&xkey="+xkey+"&submitting=1"+"&pmodule="+pmodule+"&pniveau="+pniveau;
|
||||
%>
|
||||
<form name="u2" id="u2" method="post" action="<%=protectQS.create(url)%>">
|
||||
<input type="hidden" name="orgsubject" value="<%=safe.htmlattr(subject)%>">
|
||||
<form name="u2" id="u2" method="post">
|
||||
<input type="hidden" id="orgsubject" name="orgsubject" value="<%=safe.htmlattr(subject)%>">
|
||||
<input type="hidden" id="xkey" name="xkey" value="<%=xkey%>">
|
||||
<%
|
||||
BLOCK_START("emailInput", subject);
|
||||
|
||||
@@ -393,6 +344,19 @@ url = "queuemail.asp?submit=1&pcode="+pcode+"&key="+pkey+"&xkey="+xkey+"&submitt
|
||||
<input class="fldsubject" type="text" id="subject" name="subject" value="<%=safe.htmlattr(subject)%>">
|
||||
</td>
|
||||
</tr>
|
||||
<%
|
||||
// Notitie
|
||||
if (pmodule == "MLD" || pcode == "ORDMAI")
|
||||
{
|
||||
RWTEXTAREATR("notes",
|
||||
"fldmaillist",
|
||||
L("lcl_mld_note"),
|
||||
"",
|
||||
{html: "rows='2' cols='60'"}
|
||||
);
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
<tr><td><br/></td></tr>
|
||||
<%
|
||||
@@ -425,7 +389,4 @@ IFACE.FORM_END();
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
</html>
|
||||
193
APPL/Shared/queuemail_save.asp
Normal file
193
APPL/Shared/queuemail_save.asp
Normal file
@@ -0,0 +1,193 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: queuemail_save.asp
|
||||
Description: Het echte bewaren van een opdracht notitie, zonder interactie
|
||||
Parameters: opdr_key opdrachtnummer
|
||||
note_key notitie key
|
||||
urole
|
||||
Context: A Vanuit mld_edit_note.asp
|
||||
B Vanuit PDA/notitie.asp
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/FlexFiles.inc" -->
|
||||
|
||||
<%
|
||||
var pkey = getQParamInt("key", -1);
|
||||
var pcode = getQParam("pcode", "");
|
||||
var pmodule = getQParam("pmodule", "");
|
||||
var pniveau = getQParam("pniveau", "");
|
||||
|
||||
var orgsubject = getFParam("orgsubject", "");
|
||||
var subject = getFParam("subject", "");
|
||||
var mailfrom = getFParam("namens", "");
|
||||
var emails = getFParam("emails", "");
|
||||
var xkey = getFParamInt("xkey", -1);
|
||||
var maillist = "\n" + emails.replace(/\;/g, "\n");
|
||||
|
||||
|
||||
function tracksentemail(key, srttracking, emails, mailfrom, subject, prs_perslid_key, xkey, att_list)
|
||||
{
|
||||
// This function is our gate to the mail (and probably other media) queue for ad hoc sending needs by the user
|
||||
// To be invoked e.g. when a user wants to e-mail a reservation form ("bon") to requestor or other address
|
||||
function queuemail(pcode, pref, pmessage, pemail, pmailfrom, xkey)
|
||||
{
|
||||
// pcode hoort te zijn een van BESMAI, BES2MA, BEZMAI, MLDMAI, ORDMAI, RESMAI, RES2MA
|
||||
// en is noodzakelijk om in de queue nog het type te kunnen bepalen.
|
||||
// PutOrders moet er nl. een bon van kunnen maken. De status/mode aldaar is dummy.
|
||||
// En: De laatste parameter is voor RESMAI/alleen een deelreservering.
|
||||
if (pemail == null) return false;
|
||||
|
||||
if (pmailfrom == "")
|
||||
{ // Geen namens mail adres meegekregen. Dan mailadres van user invullen
|
||||
// notify approver and requestor by message & mail as configured in fac_srtnotificatie with BESAPx
|
||||
pmailfrom = user.prs_perslid_email();
|
||||
}
|
||||
|
||||
var attachments = att_list.join("|"); // lijst met attachments als string naar putnotificationsrtprio.
|
||||
|
||||
Oracle.Execute("BEGIN fac.putnotificationsrtprio("
|
||||
+ user_key
|
||||
+ ", NULL " // pto
|
||||
+ ", " + safe.quoted_sql(pcode)
|
||||
+ ", " + pref
|
||||
+ ", " + safe.quoted_sql(pmessage)
|
||||
+ ", 2" // pstatus
|
||||
+ ", " + safe.quoted_sql(pemail)
|
||||
+ ", NULL" // pmobile
|
||||
+ ", " + xkey
|
||||
+ ", 2"
|
||||
+ ", " + safe.quoted_sql(pmailfrom)
|
||||
+ ", " + safe.quoted_sql(attachments)
|
||||
+ "); END;");
|
||||
putorders.sendnotifications(pref, pcode);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// emails splitten
|
||||
var emailArr = ('' + emails).split(';');
|
||||
for (i = 0; i < emailArr.length; i++)
|
||||
{
|
||||
queuemail (srttracking, key, subject, emailArr[i], mailfrom, xkey);
|
||||
}
|
||||
|
||||
// srttracking hoort te zijn een van BESMAI, BES2MA, BEZMAI, MLDMAI, ORDMAI, RESMAI, RES2MA
|
||||
if (typeof prs_perslid_key == 'undefined')
|
||||
prs_perslid_key = user_key;
|
||||
|
||||
var mail_str = "";
|
||||
// PF: ik vind specifieke tekst niet nodig. Dit is nu dus gewoon documentatie ;-)
|
||||
switch (srttracking)
|
||||
{
|
||||
case "MLDMAI" :
|
||||
case "ORDMAI" :
|
||||
case "BESMAI" :
|
||||
case "BES2MA" :
|
||||
case "BEZMAI" :
|
||||
case "CNTMAI" :
|
||||
case "FINMAI" :
|
||||
case "INSMAI" :
|
||||
case "MESMAI" :
|
||||
case "PRJMAI" :
|
||||
case "PRSMAI" :
|
||||
case "RAPMAI" :
|
||||
case "RESMAI" : mail_str = L("lcl_hasbeenmailed_to") + emails;
|
||||
break;
|
||||
}
|
||||
if (subject != orgsubject)
|
||||
mail_str += "\n" + L("lcl_noti_sendsubject") + " " + subject;
|
||||
|
||||
// Voor RESMAI moet res_rsv_ruimte_key meegegeven worden van de deelreservering.
|
||||
// Tracken van het mailen van een gehele reservering heeft geen zin.
|
||||
if (srttracking != "RES2MA")
|
||||
shared.trackaction(srttracking, (srttracking == "RESMAI"? xkey : key), mail_str);
|
||||
}; //tracksentemail()
|
||||
|
||||
|
||||
function bestandenlijst(pmodule, pniveau, pkey)
|
||||
{
|
||||
var bestandlijst = [];
|
||||
if (pmodule && pniveau)
|
||||
{
|
||||
var vSubfolder = pmodule + "/" + subfolderKey(pniveau, pkey);
|
||||
var vAttachPath = S("flexFilesPath")+ "/" + vSubfolder;
|
||||
|
||||
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
if (fso.FolderExists(vAttachPath))
|
||||
{
|
||||
var f1 = fso.GetFolder(vAttachPath);
|
||||
var vmap = new Enumerator(f1.subFolders);
|
||||
for (; !vmap.atEnd(); vmap.moveNext())
|
||||
{
|
||||
var f2 = fso.GetFolder(vAttachPath + "/" + vmap.item().Name);
|
||||
var vfile = new Enumerator(f2.files);
|
||||
for (; !vfile.atEnd(); vfile.moveNext())
|
||||
{
|
||||
bestandlijst.push( { folder: vSubfolder,
|
||||
file: { kenmerkkey: vmap.item().Name,
|
||||
bestandnaam: vfile.item().Name
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return bestandlijst;
|
||||
}
|
||||
|
||||
// Bij MLD worden ook de bestanden van de 'parents' aangeboden
|
||||
function bestandenlijstALL(pmodule, pniveau, pkey)
|
||||
{
|
||||
var bestandlijst = bestandenlijst(pmodule, pniveau, pkey);
|
||||
if (pmodule == "MLD")
|
||||
{
|
||||
var sk = pkey;
|
||||
var mk = pkey;
|
||||
while (true)
|
||||
{
|
||||
var sql = "SELECT mld_melding_start_key"
|
||||
+ " FROM mld_melding"
|
||||
+ " WHERE mld_melding_key = " + mk;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var sk = oRs("mld_melding_start_key").Value;
|
||||
if (!sk || sk == mk)
|
||||
break; // klaar
|
||||
bestandlijst = bestandlijst.concat(bestandenlijst(pmodule, pniveau, sk));
|
||||
mk = sk;
|
||||
}
|
||||
}
|
||||
return bestandlijst
|
||||
}
|
||||
|
||||
|
||||
// Welke bestanden zijn geselecteerd.
|
||||
var checklist = bestandenlijstALL(pmodule, pniveau, pkey);
|
||||
var file_list = [];
|
||||
if (checklist.length > 0)
|
||||
{
|
||||
for (att = 0; att < checklist.length; att++)
|
||||
{
|
||||
if (getFParam("kmnr" + att, "off") == "on")
|
||||
{
|
||||
file_list.push( checklist[att].folder + "/" + checklist[att].file.kenmerkkey + "/" + checklist[att].file.bestandnaam );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// track het senden van de mail
|
||||
tracksentemail(pkey, pcode, emails, mailfrom, subject, user_key, (xkey > 0? xkey : null), file_list);
|
||||
|
||||
var result = {success: true};
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
%>
|
||||
Reference in New Issue
Block a user