FCLT#85890 fac_notificatie_realuser bijhouden zodat we in putorders correct kunnen overrulen
svn path=/Website/trunk/; revision=67793
This commit is contained in:
@@ -126,6 +126,7 @@ var sql = "select fac_version_schema,"
|
||||
+ " fac_version_putorders_date,"
|
||||
+ " fac_version_notify_date,"
|
||||
+ " fac_version_scheduler_date"
|
||||
+ " fac_version_tasker_date"
|
||||
+ " from fac_version";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
result.scanner = { schema : oRs("fac_version_schema").Value,
|
||||
@@ -134,6 +135,7 @@ result.scanner = { schema : oRs("fac_version_schema").Value,
|
||||
result.putorders_date = oRs("fac_version_putorders_date").Value!=null?new Date(oRs("fac_version_putorders_date").Value):null;
|
||||
result.notify_date = oRs("fac_version_notify_date").Value!=null?new Date(oRs("fac_version_notify_date").Value):null;
|
||||
result.scheduler_date = oRs("fac_version_scheduler_date").Value!=null?new Date(oRs("fac_version_scheduler_date").Value):null;
|
||||
result.tasker_date = oRs("fac_version_tasker_date").Value!=null?new Date(oRs("fac_version_tasker_date").Value):null;
|
||||
oRs.Close();
|
||||
var sql = "SELECT user, created FROM user_users";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
{
|
||||
model.fields[fld].label = model.fields[fld].label.replace("fac_task_", ""); // iets kortere labels
|
||||
}
|
||||
model.fields["fac_task_flags"].label = "flags (+1=disable)";
|
||||
|
||||
scaffolding(model, {
|
||||
"search": {
|
||||
@@ -33,13 +34,12 @@
|
||||
"fac_cust_key",
|
||||
"name", // is fac_task_code
|
||||
"fac_task_nextrun",
|
||||
"fac_task_lastrun"
|
||||
"fac_task_lastrun",
|
||||
"fac_task_flags"
|
||||
],
|
||||
rowClass: function(oRs)
|
||||
{
|
||||
if (oRs.Fields("fac_notificatie_status").Value == 0 &&
|
||||
oRs.Fields("fac_notificatie_systeemadres").Value == null &&
|
||||
oRs.Fields("prs_bedrijfadres_key").Value == null)
|
||||
if (oRs.Fields("fac_task_flags").Value & 1) // disabled
|
||||
{
|
||||
return "lowlight";
|
||||
}
|
||||
@@ -47,13 +47,8 @@
|
||||
}
|
||||
|
||||
},
|
||||
"Xshow": {
|
||||
"buttons": [
|
||||
{ icon: "fa-send", title: "Immediate", tooltip: "Send immediate", action: "send_immediate" }
|
||||
],
|
||||
"requires": {
|
||||
js: ["./fac_notificatie.js"]
|
||||
}
|
||||
"edit": {
|
||||
"modal": true
|
||||
},
|
||||
"layout": {
|
||||
"miscellaneous": {
|
||||
|
||||
@@ -172,6 +172,10 @@ if (!hasParamFlag)
|
||||
}
|
||||
}
|
||||
|
||||
function toBeVerwerkt(oRs) {
|
||||
return oRs("mld_statusopdr_key").Value == 6 || oRs("mld_statusopdr_key").Value == 9;
|
||||
}
|
||||
|
||||
// Wel, afhankelijk van mijn bepaalde rol kan ik mijn overzicht anders willen,
|
||||
// toegespitster op mijn behoefte (listmode):
|
||||
// 1. alle opdrachten, met de naam van de contactpersoon erbij (ik of mijn collega, leeg als ik)
|
||||
@@ -247,7 +251,7 @@ if (!hasParamFlag)
|
||||
: grp_sel_listmode3(grp_sel) // listmode=3
|
||||
)
|
||||
)
|
||||
+ " AND o.mld_statusopdr_key IN (4, 5, 8) "
|
||||
+ " AND o.mld_statusopdr_key IN (4, 5, 6, 8) "
|
||||
+ " AND m.mld_alg_onroerendgoed_keys = va.alg_onroerendgoed_keys(+)" // De opdracht heeft zelf ook een plaats of nie?
|
||||
+ " AND m.mld_alg_locatie_key = l.alg_locatie_key(+)"
|
||||
+ " AND l.alg_district_key = di.alg_district_key(+)";
|
||||
@@ -523,6 +527,9 @@ if (!hasParamFlag)
|
||||
if (user.has("WEB_ORDBOF") || user.has("WEB_ORDBO2")) {
|
||||
multiactions.push({ icon: "fa-flag-checkered", action: "orders_close", caption: L("lcl_close") });
|
||||
}
|
||||
if (S("mld_opdr_archive_by_gui") && user.has("WEB_ORDBOF") || user.has("WEB_ORDBO2")) {
|
||||
multiactions.push({ icon: "fa-archive", action: "orders_verwerk", caption: L("lcl_mld_opdr_verwerk"), fnCheckIfAny: toBeVerwerkt });
|
||||
}
|
||||
var isGrouped = (grp_sel == "" && listmode == 2);
|
||||
|
||||
HEADER({title: listtitle,
|
||||
|
||||
@@ -40,6 +40,7 @@ function ResultsetTable(params)
|
||||
ResultsetTable.prototype.processResultset = __rsProcessResultset;
|
||||
ResultsetTable.prototype.makeTableRow = __rsMakeTableRow;
|
||||
ResultsetTable.prototype.countHistogram = __rsCountHistogram;
|
||||
ResultsetTable.prototype.enableMultiactions = __rsEnableMultiactions;
|
||||
|
||||
/*global*/ isData = false;
|
||||
|
||||
@@ -98,6 +99,13 @@ function __rsProcessResultset(processParams)
|
||||
}
|
||||
if (this.multiactions && this.multiactions.length > 0) {
|
||||
this.extraClass = this.extraClass + (this.extraClass ? " " : "") + "bulkable";
|
||||
for (var i = 0; i < this.multiactions.length; i++) {
|
||||
if (this.multiactions[i].fnCheckIfAny) {
|
||||
this.multiactions[i].enabled = false;
|
||||
} else {
|
||||
this.multiactions[i].enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (cnt = 0; (cnt < (S("qp_maxrows_mobile")) || this.showAll ) &&
|
||||
@@ -133,6 +141,10 @@ function __rsProcessResultset(processParams)
|
||||
if (this.buildHistogram)
|
||||
this.countHistogram(oRs);
|
||||
|
||||
if (this.multiactions) {
|
||||
this.enableMultiactions(oRs);
|
||||
}
|
||||
|
||||
if ((this.groupColumn || (this.singleLink && trueCount < 2)) && this.linkColumn)
|
||||
var lastLink = __fnContent(this.linkColumn)(oRs);
|
||||
|
||||
@@ -253,9 +265,12 @@ function __rsProcessResultset(processParams)
|
||||
|
||||
function __multiActions() {
|
||||
var html = "";
|
||||
if (this.multiactions) {
|
||||
|
||||
|
||||
var multiactionCount = 0;
|
||||
for (var i in this.multiactions) {
|
||||
__DoLog("this.multiactions[i].enabled: " + this.multiactions[i].enabled);
|
||||
multiactionCount = multiactionCount + (this.multiactions[i].enabled ? 1 : 0);
|
||||
}
|
||||
if (multiactionCount) {
|
||||
html += "<script>"
|
||||
+ " function doAm(event, fnAction) {"
|
||||
+ " var key_arr = [];"
|
||||
@@ -277,8 +292,10 @@ function __multiActions() {
|
||||
+ " </span>"
|
||||
+ " <span class='right multiaction-wrapper'>"
|
||||
for (var i in this.multiactions) {
|
||||
html += "<span class='multiaction tappable' onclick='doAm(event, \"" + safe.htmlattr(this.multiactions[i].action) + "\")' data-title='" + safe.htmlattr(this.multiactions[i].caption) + "'>"
|
||||
+ I(this.multiactions[i].icon + " fa-lg") + "</span>"
|
||||
if (this.multiactions[i].enabled) {
|
||||
html += "<span class='multiaction tappable' onclick='doAm(event, \"" + safe.htmlattr(this.multiactions[i].action) + "\")' data-title='" + safe.htmlattr(this.multiactions[i].caption) + "'>"
|
||||
+ I(this.multiactions[i].icon + " fa-lg") + "</span>"
|
||||
}
|
||||
}
|
||||
html += " </span>"
|
||||
+ "</div>";
|
||||
@@ -463,6 +480,14 @@ function __rsCountHistogram(oRs)
|
||||
}
|
||||
}
|
||||
|
||||
function __rsEnableMultiactions(oRs) {
|
||||
for (var i = 0; i < this.multiactions.length; i++) {
|
||||
if (this.multiactions[i].enabled === false) {
|
||||
__DoLog("fnCheckIfAny");
|
||||
this.multiactions[i].enabled = this.multiactions[i].fnCheckIfAny(oRs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Levert een html-safe waarde op
|
||||
ResultsetTable.formatValue = function (val, params) //datatype, decimals)
|
||||
|
||||
@@ -473,9 +473,10 @@ function F(fac_functie_code)
|
||||
ident = String(Session("user_key"))
|
||||
//else
|
||||
// ident += "<system>";
|
||||
|
||||
var realuser = Session("fclt_realuser");
|
||||
var oraprefix = "BEGIN"
|
||||
+ " fac.initsession("+safe.quoted_sql(ident)+", "+safe.quoted_sql(user_lang)+", "+safe.quoted_sql(Session("time_zone"))+");"
|
||||
+ (realuser?"dbms_application_info.SET_CLIENT_INFO("+safe.quoted_sql(realuser)+");":"")
|
||||
+ "END;";
|
||||
|
||||
o.Execute( oraprefix );
|
||||
|
||||
@@ -37,7 +37,7 @@ function sendNotification(ref_key, pcode, params)
|
||||
var sql = "SELECT COUNT(*) aantal,"
|
||||
+ " MIN(fac_notificatie_notbefore) eerste,"
|
||||
+ " MAX(fac_notificatie_notbefore) laatste"
|
||||
+ " FROM fac_v_notifyqueue"
|
||||
+ " FROM fac_notificatie"
|
||||
+ " WHERE fac_notificatie_notbefore > SYSDATE"
|
||||
+ " AND ( BITAND (fac_notificatie_status, " + (puo_const.STATUS_EMAIL | puo_const.STATUS_SMS| puo_const.STATUS_APPPUSH) + ") > 0"
|
||||
+ " OR fac_notificatie_systeemadres IS NOT NULL"
|
||||
@@ -81,6 +81,7 @@ function sendNotification(ref_key, pcode, params)
|
||||
+ " , fac_notificatie_geturl"
|
||||
+ " , fac_notificatie_getbody"
|
||||
+ " , prs_perslid_inactief"
|
||||
+ " , fac_notificatie_realuser" // voor eventuele overrules
|
||||
+ " FROM fac_notificatie f"
|
||||
+ " , fac_srtnotificatie fs"
|
||||
+ " , prs_perslid p"
|
||||
@@ -165,6 +166,7 @@ function sendNotification(ref_key, pcode, params)
|
||||
var nextVersionUpdate = new Date();
|
||||
nextVersionUpdate.setMinutes(nextVersionUpdate.getMinutes() + 1);
|
||||
var delayed = null;
|
||||
var lastrealuser = "";
|
||||
while (true)
|
||||
{
|
||||
var oRs = Oracle.Execute(sql_puo);
|
||||
@@ -196,7 +198,7 @@ function sendNotification(ref_key, pcode, params)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nextVersionUpdate > new Date())
|
||||
if (nextVersionUpdate < new Date())
|
||||
{
|
||||
var sql = "UPDATE fac_version"
|
||||
+ " SET fac_version_putorders_date = SYSDATE";
|
||||
@@ -230,6 +232,15 @@ function sendNotification(ref_key, pcode, params)
|
||||
+ (params.userident ? " user: " + params.userident : "")
|
||||
);
|
||||
|
||||
var realuser = oRs("fac_notificatie_realuser").Value;
|
||||
if (realuser && realuser != lastrealuser)
|
||||
{
|
||||
Log2File(1, "Switching to custenv.wsc overrules by " + realuser);
|
||||
var domain = realuser.split("\\")[0];
|
||||
var username = realuser.split("\\")[1];
|
||||
tryOverrules(domain, username);
|
||||
lastrealuser = realuser;
|
||||
}
|
||||
if (oRs("prs_perslid_inactief").Value != null)
|
||||
{
|
||||
var upd_p = "UPDATE fac_notificatie"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
var logfso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
|
||||
var __LOGFILEPREFIX = 'putorders';
|
||||
function Log2File(level, str, severity)
|
||||
{
|
||||
// uses: scr="../wsf_shared.js"
|
||||
@@ -31,10 +32,10 @@ function Log2File(level, str, severity)
|
||||
var logfilename = customerId + "_" + padout((new Date).getFullYear()) + "_" + padout((new Date).getMonth() + 1) + ".log";
|
||||
if (typeof PUO_LOGPATH == "undefined")
|
||||
{
|
||||
logfilename = "../../../temp/" + customerId + "/putorders_" + logfilename; // voorkennis: de scheduled versie
|
||||
logfilename = "../../../temp/" + customerId + "/" + __LOGFILEPREFIX + "_" + logfilename; // voorkennis: de scheduled versie
|
||||
}
|
||||
else
|
||||
logfilename = PUO_LOGPATH + "putordersI_" + logfilename; // voorkennis: de immediate versie
|
||||
logfilename = PUO_LOGPATH + __LOGFILEPREFIX + "I_" + logfilename; // voorkennis: de immediate versie
|
||||
|
||||
var simpellogfilename = logfilename.replace(/\.log$/, ".compact.log");
|
||||
var excludesimpel = /^(SELECT xml.|XML blob|Load company style|Searching attachments|====== Skip opdracht\/bestelopdr)/;
|
||||
|
||||
@@ -27,13 +27,26 @@ function tasker_loop(params)
|
||||
+ " WHERE tt.fac_cust_key = tsko.fac_cust_key"
|
||||
+ " AND fac_cust_enabled > 0"
|
||||
+ " AND fac_task_nextrun <= SYSDATE"
|
||||
+ " AND BITAND(fac_task_flags, 1) = 0" // niet disabled
|
||||
+ " ORDER BY fac_task_nextrun"
|
||||
+ " , fac_cust_customerid";
|
||||
Log2File(3, sqltask);
|
||||
|
||||
var lastAction = new Date();
|
||||
var nextVersionUpdate = new Date();
|
||||
nextVersionUpdate.setMinutes(nextVersionUpdate.getMinutes() + 1);
|
||||
|
||||
while (true)
|
||||
{
|
||||
if (nextVersionUpdate < new Date())
|
||||
{
|
||||
var sql = "UPDATE fac_version"
|
||||
+ " SET fac_version_tasker_date = SYSDATE";
|
||||
Oracle.Execute(sql);
|
||||
var nextVersionUpdate = new Date();
|
||||
nextVersionUpdate.setMinutes(nextVersionUpdate.getMinutes() + 1);
|
||||
}
|
||||
|
||||
var oRs = Oracle.Execute(sqltask);
|
||||
if (oRs.EOF)
|
||||
{
|
||||
@@ -71,7 +84,6 @@ function tasker_loop(params)
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var sqlu = "UPDATE fac_task"
|
||||
@@ -90,7 +102,11 @@ function tasker_loop(params)
|
||||
switch (task_code)
|
||||
{
|
||||
case "PUTORDERS":
|
||||
var command = 'CMD /C "..\\..\\..\\utils\\putOrders\\putOrders.bat DEBUG"'; // Moet met backslashes voor CMD
|
||||
var command = 'CMD /C "..\\..\\..\\utils\\putOrders\\putOrders.bat"'; // Moet met backslashes voor CMD
|
||||
var startin = custabspath + "/../" + owner_cust + "/tasks"
|
||||
break;
|
||||
case "EXCHANGEREFRESH": // sample, future use
|
||||
var command = 'CMD /C "..\\..\\..\\utils\\exchange\\refreshMSGraphSubscriptions.bat"'; // Moet met backslashes voor CMD
|
||||
var startin = custabspath + "/../" + owner_cust + "/tasks"
|
||||
break;
|
||||
default: ERROR_UNKNOWN_task_code;
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
/*
|
||||
$Id$
|
||||
|
||||
File: put_orders.wsf
|
||||
Calling: cscript ..\..\..\utils\PutOrders\put_orders.wsf
|
||||
File: gen_tasker.wsf
|
||||
Calling: cscript ..\..\..\utils\gen_scheduler\gen_tasker.wsf
|
||||
Parameters:
|
||||
|
||||
Context: Scheduled task
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
<script language="JScript">
|
||||
|
||||
__LOGFILEPREFIX = 'tasker';
|
||||
var applicatieRun = new Date();
|
||||
|
||||
try
|
||||
@@ -48,7 +49,7 @@
|
||||
var WshNetwork = new ActiveXObject("WScript.Network");
|
||||
|
||||
Log2File(0, "===========================================================");
|
||||
Log2File(0, "PUTORDERS STARTED (" + toDateTimeString(applicatieRun) + ") " + WshNetwork.UserDomain + "\\" + WshNetwork.UserName);
|
||||
Log2File(0, "GEN_TASKER STARTED (" + toDateTimeString(applicatieRun) + ") " + WshNetwork.UserDomain + "\\" + WshNetwork.UserName);
|
||||
Log2File(2, "puo_loglevel: " + S("puo_loglevel"));
|
||||
|
||||
try
|
||||
@@ -60,12 +61,12 @@
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
Log2File(0, "Uncaught error in gen_tasker.wsf: " + e.description, "E");
|
||||
Log2File(0, "Uncaught error in gen_tasker.wsf:\n" + e.description);
|
||||
}
|
||||
|
||||
var endDate = new Date();
|
||||
var duration = Math.round((endDate - applicatieRun) / 100) / 10;
|
||||
Log2File(0, "PUTORDERS FINISHED ({0}, duration {1}s)".format(toDateTimeString(endDate), duration));
|
||||
Log2File(0, "GEN_TASKER FINISHED ({0}, duration {1}s)".format(toDateTimeString(endDate), duration));
|
||||
|
||||
Oracle.Close();
|
||||
|
||||
|
||||
@@ -73,9 +73,7 @@ var settings = { // defaults voordat parameters gelezen zijn; fouten gaan nog al
|
||||
}
|
||||
|
||||
// Optionele overrules in cust/custenv.wsc en cust/XXXX/custenv.inc
|
||||
tryOverrule("../../custenv.wsc");
|
||||
tryOverrule("../custenv.wsc");
|
||||
tryOverrule("./custenv.wsc"); // deze is het sterkst sterker
|
||||
tryOverrules();
|
||||
},
|
||||
get_setting : function (s)
|
||||
{
|
||||
@@ -149,8 +147,16 @@ function S(s, defval)
|
||||
return settings.get_setting(s, defval)
|
||||
}
|
||||
|
||||
function tryOverrules(domain, username)
|
||||
{
|
||||
settings.overrule = {};
|
||||
tryOverrule("../../custenv.wsc", domain, username);
|
||||
tryOverrule("../custenv.wsc", domain, username); // deze is sterker
|
||||
tryOverrule("./custenv.wsc", domain, username); // deze is het sterkst sterker
|
||||
}
|
||||
|
||||
// ASP-code heeft zijn eigen variant, deze is voor Putorders.bat/wsf
|
||||
function tryOverrule(path)
|
||||
function tryOverrule(path, domain, username)
|
||||
{
|
||||
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
var hookfile = fso.GetAbsolutePathName(path);
|
||||
@@ -188,12 +194,12 @@ function tryOverrule(path)
|
||||
}
|
||||
}
|
||||
var WshNetwork = new ActiveXObject("WScript.Network");
|
||||
|
||||
debugger;
|
||||
var puo_data = { customerId: customerId,
|
||||
custabspath: custabspath,
|
||||
Computername: WshNetwork.ComputerName,
|
||||
Username: WshNetwork.UserName,
|
||||
Userdomain: WshNetwork.UserDomain
|
||||
Username: username || WshNetwork.UserName,
|
||||
Userdomain: domain || WshNetwork.UserDomain
|
||||
};
|
||||
__Log("Using overrule " + hookfile + " with user " + WshNetwork.UserName);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user