FCLT#43129 Bolletjes en zo savepoint
svn path=/Website/trunk/; revision=41215
This commit is contained in:
@@ -422,7 +422,7 @@ mld = {setmeldingstatus:
|
||||
break;
|
||||
case 2: // Nieuw
|
||||
case 3: // Te accepteren // Corrigeren (Operationeel corrigeren) [canForward = true]
|
||||
fwdInfo = { "fwdType": 1, "fwdLabel": L("lcl_mld_correct_before") };
|
||||
fwdInfo = { "fwdType": 1, "fwdLabel": L("lcl_mld_correct_before"), "fwdHint": L("lcl_mld_correct_before_hint") };
|
||||
break;
|
||||
case 4: // In behandeling
|
||||
case 7: // Uitgegeven
|
||||
@@ -432,10 +432,13 @@ mld = {setmeldingstatus:
|
||||
fwdInfo = { "fwdType": 3,
|
||||
"fwdLabel": this_mld.canForwardKeten
|
||||
? L("lcl_keten_forward") // Corrigeren (Vervolgen, GOTO) [canForwardKeten = true]
|
||||
: L("lcl_active_forward") }; // Corrigeren (Vervolgen, GOSUB) [S("mld_forward_if_active") == 1] /* Uitfaseren tot 2020.1 */
|
||||
: L("lcl_active_forward"), // Corrigeren (Vervolgen, GOSUB) [S("mld_forward_if_active") == 1] /* Uitfaseren tot 2020.1 */
|
||||
"fwdHint": this_mld.canForwardKeten
|
||||
? L("lcl_keten_forward_hint")
|
||||
: L("lcl_active_forward_hint") };
|
||||
break;
|
||||
case 5: // Afgemeld // Corrigeren (Administratief corrigeren) [canFixMelding = true]
|
||||
fwdInfo = { "fwdType": 1, "fwdLabel": L("lcl_mld_correct_after") };
|
||||
fwdInfo = { "fwdType": 1, "fwdLabel": L("lcl_mld_correct_after"), "fwdHint": L("lcl_mld_correct_after_hint") };
|
||||
break;
|
||||
}
|
||||
return fwdInfo;
|
||||
@@ -1614,6 +1617,17 @@ mld = {setmeldingstatus:
|
||||
if (sql_status)
|
||||
sqln += " AND" + sql_status;
|
||||
|
||||
var bits = 0;
|
||||
if (params.actiecodeBO)
|
||||
bits = bits | 1;
|
||||
if (params.actiecodeFE)
|
||||
bits = bits | 2;
|
||||
if (bits > 0)
|
||||
sqln += " AND BITAND(m.mld_melding_actiecode, " + bits + ") > 0";
|
||||
|
||||
if (params.actiecodeATT)
|
||||
sqln += " AND BITAND(m.mld_melding_actiecode, 128) = 128";
|
||||
|
||||
if (params.flags && params.flags.length > 0 && params.flags.length < S('mld_melding_flags'))
|
||||
{
|
||||
var filterNull = false;
|
||||
@@ -2169,6 +2183,7 @@ mld = {setmeldingstatus:
|
||||
+ " FROM mld_melding m2"
|
||||
+ " WHERE m2.mld_melding_kto_key = " + mld_key + ") aantal_references"
|
||||
+ " , m.mld_melding_flag"
|
||||
+ " , m.mld_melding_actiecode"
|
||||
+ " , m.mld_melding_locked_user_key"
|
||||
+ " , m.mld_melding_locked_date"
|
||||
+ " , m.res_rsv_ruimte_key"
|
||||
@@ -2302,6 +2317,7 @@ mld = {setmeldingstatus:
|
||||
haschild: oRs("aantal_childs").Value > 0,
|
||||
hasreference: oRs("aantal_references").Value > 0,
|
||||
flag: oRs("mld_melding_flag").Value,
|
||||
actiecode: oRs("mld_melding_actiecode").Value,
|
||||
locked_user_key: oRs("mld_melding_locked_user_key").Value,
|
||||
locked_date: new Date(oRs("mld_melding_locked_date").Value),
|
||||
rsv_ruimte_key: oRs("res_rsv_ruimte_key").Value,
|
||||
|
||||
@@ -30,120 +30,121 @@ function note_save(mld_key, note, params)
|
||||
{ dbs: "mld_melding_note_omschrijving", typ: "varchar", val: note, len: 4000 }
|
||||
]
|
||||
|
||||
if (params.note_key > -1)
|
||||
// fenotes betekenis:
|
||||
// 0 FE kan niet reageren, per notitie, default niet zichtbaar voor FE, raar als je dan ook S("mld_flag_on_fenote") zou hebben
|
||||
// 1 FE kan reageren, alle notities zichtbaar voor FE (transparantiemodus)
|
||||
// 2 FE kan reageren, per notitie, default niet zichtbaar voor FE
|
||||
// 3 FE kan reageren, per notitie, default wel zichtbaar voor FE
|
||||
// Let op: fenotes is geen bitwise codering (meer), gewoon 0-3
|
||||
|
||||
var zichtbaarFE = true; // default: zelf ingevoerd-->zichtbaar
|
||||
if (!eigenMelding)
|
||||
{ // FOBO
|
||||
zichtbaarFE = (mld_info.fenotes == 1); // Default waarden
|
||||
if (mld_info.fenotes != 1)
|
||||
{ // Afhankelijk van checkbox die door FOBO kan worden ingevuld.
|
||||
zichtbaarFE = params.zichtFE || (mld_info.publiek == 1 && (mld_info.fenotes == 3 || !params.has_zichtbaarFE)); // use default when public and no checkbox for visibility present
|
||||
}
|
||||
}
|
||||
fields.push({ dbs: "mld_melding_note_flag", typ: "number", val: (zichtbaarFE? 1 : 0) });
|
||||
|
||||
if (params.note_key > 0) // betaande notitie
|
||||
{
|
||||
var sql = "SELECT mld_melding_note_flag,"
|
||||
+ " mld_melding_note_aanmaak"
|
||||
+ " FROM mld_melding_note"
|
||||
+ " WHERE mld_melding_note_key = " + params.note_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var oldflag = oRs("mld_melding_note_flag").Value;
|
||||
var noteaanmaak = new Date(oRs("mld_melding_note_aanmaak").Value);
|
||||
oRs.Close();
|
||||
|
||||
var sql = buildUpdate("mld_melding_note", fields)
|
||||
+ " mld_melding_note_key = " + params.note_key
|
||||
+ " AND prs_perslid_key = " + user_key; // Voorkom dat er een notitie van een ander aangepast wordt.
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
// fenotes betekenis:
|
||||
// 0 FE kan niet reageren, per notitie, default niet zichtbaar voor FE, raar als je dan ook S("mld_flag_on_fenote") zou hebben
|
||||
// 1 FE kan reageren, alle notities zichtbaar voor FE (transparantiemodus)
|
||||
// 2 FE kan reageren, per notitie, default niet zichtbaar voor FE
|
||||
// 3 FE kan reageren, per notitie, default wel zichtbaar voor FE
|
||||
// Let op: fenotes is geen bitwise codering (meer), gewoon 0-3
|
||||
|
||||
var zichtbaarFE = true; // default: zelf ingevoerd-->zichtbaar
|
||||
if (!eigenMelding)
|
||||
{ // FOBO
|
||||
zichtbaarFE = (mld_info.fenotes == 1); // Default waarden
|
||||
if (mld_info.fenotes != 1)
|
||||
{ // Afhankelijk van checkbox die door FOBO kan worden ingevuld.
|
||||
zichtbaarFE = params.zichtFE || (mld_info.publiek == 1 && (mld_info.fenotes == 3 || !params.has_zichtbaarFE)); // use default when public and no checkbox for visibility present
|
||||
}
|
||||
if (!zichtbaarFE && oldflag == 1) // Proberen MLDNOT notificatie terug te trekken. Geen garanties
|
||||
{ // Merk op dat de volgorde notitie1 maken (zichtbaar),
|
||||
// notitie2 maken (zichtbaar),
|
||||
// notitie2 bewerken (onzichtbaarbaar maken)
|
||||
// ingewikkeld is. Daarom de check op fac_notificatie_datum. Niet 100% maar goed genoeg.
|
||||
var sql = "DELETE FROM fac_notificatie"
|
||||
+ " WHERE fac_srtnotificatie_key = "
|
||||
+ " (SELECT fac_srtnotificatie_key"
|
||||
+ " FROM fac_srtnotificatie"
|
||||
+ " WHERE fac_srtnotificatie_code = 'MLDNOT')"
|
||||
+ " AND fac_notificatie_datum >= " + noteaanmaak.toSQL(true)
|
||||
+ " AND fac_notificatie_refkey = " + mld_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
|
||||
fields.push({ dbs: "mld_melding_note_flag", typ: "number", val: (zichtbaarFE? 1 : 0) });
|
||||
}
|
||||
else // nieuwe notitie
|
||||
{
|
||||
fields.push({ dbs: "mld_melding_note_key", typ: "key", seq: "mld_s_mld_melding_note_key" });
|
||||
|
||||
var noteIns = buildInsert("mld_melding_note", fields);
|
||||
var note_key = noteIns.sequences["mld_melding_note_key"];
|
||||
|
||||
Oracle.Execute(noteIns.sql);
|
||||
|
||||
// Tracking (MLDNOT) indien notitie zichtbaar is voor FE.
|
||||
// PF: niemand zal er over zeuren, maar ik vind het (met huidige kennis) raar om sommige notities te tracken
|
||||
// Ik denk eigenlijk dat het putnotificationsrtprio() zou moeten zijn: notificeren zonder tracken.
|
||||
// Als niemand bezwaar heeft: TODO.
|
||||
if (zichtbaarFE)
|
||||
{ // 'Notitie bij {0}: {1}'
|
||||
var txt = L("lcl_mld_is_mldnotetrack").format((mld_info.prefix||"") + mld_key, note);
|
||||
var txt = txt.split("\n")[0].split("\r")[0]; // Altijd alleen eerste regel
|
||||
if (txt.length > 80)
|
||||
txt = txt.substr(0, 80);
|
||||
txt = txt + "...";
|
||||
// Door de omschrijving expliciet te prefixen met een # wordt een event niet genotificeerd
|
||||
mld.trackaddnote(mld_key, (eigenMelding || !params.notifyFE? "#" : "") + txt); // MLDNOT tracking. Notificatie naar melder afhankelijk van setting voor fac_srtnotificatie_code
|
||||
}
|
||||
|
||||
if (!params.isFE && zichtbaarFE)
|
||||
if (mfe.haveOnlyFErights) // Frontend gebruiker
|
||||
{
|
||||
if (S("mld_flag_on_fenote") > 0 && params.notifyFE) // Misschien 'notificeren' naar FE
|
||||
if (params.notifyBO && eigenMelding && (mld_info.actiecode & (1|128)) != (1|128)) // Misschien 'actie' naar BO
|
||||
{
|
||||
var sql = "UPDATE mld_melding"
|
||||
+ " SET mld_melding_flag = " + S("mld_flag_on_fenote")
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " AND( (mld_melding_flag = " + S("mld_flag_on_bonote") + ")"
|
||||
+ " OR (mld_melding_flag = 0 OR mld_melding_flag IS NULL)"
|
||||
+ " )";
|
||||
+ " SET mld_melding_actiecode = 1 + 128" // BO+attentie
|
||||
+ " WHERE mld_melding_key = " + mld_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
var sql = "UPDATE mld_melding"
|
||||
+ " SET mld_melding_flag = 0"
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " AND mld_melding_flag = " + S("mld_flag_on_bonote");
|
||||
}
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
else if (params.isFE)
|
||||
else if (zichtbaarFE) // Backoffice gebruiker
|
||||
{
|
||||
if ((S("mld_flag_on_bonote") > 0) && eigenMelding) // Misschien 'notificeren' naar BO
|
||||
if (params.notifyFE)
|
||||
{
|
||||
// Notificatie (MLDNOT) indien notitie zichtbaar is voor FE.
|
||||
// (tracking ervan is overkill: de notitie zelf is eigenlijk tracking)
|
||||
// 'Notitie bij {0}: {1}'
|
||||
var txt = L("lcl_mld_is_mldnotetrack").format((mld_info.prefix||"") + mld_key, note);
|
||||
var txt = txt.split("\n")[0].split("\r")[0]; // Altijd alleen eerste regel
|
||||
if (txt.length > 80)
|
||||
txt = txt.substr(0, 80);
|
||||
txt = txt + "...";
|
||||
Oracle.Execute("BEGIN fac.putnotificationsrtprio("
|
||||
+ "NULL, "
|
||||
+ mld_info.melder_key
|
||||
+ ", 'MLDNOT', "
|
||||
+ mld_key
|
||||
+ ", " + safe.quoted_sql(txt)
|
||||
+ ", NULL, NULL, NULL, NULL, 2, NULL); END;");
|
||||
}
|
||||
if (S("mld_flag_on_fenote") > 0 && params.action2FE) // Misschien 'notificeren' naar FE
|
||||
{
|
||||
var sql = "UPDATE mld_melding"
|
||||
+ " SET mld_melding_flag = " + S("mld_flag_on_bonote")
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " AND( (mld_melding_flag = " + S("mld_flag_on_fenote") + ")"
|
||||
+ " OR (mld_melding_flag = 0 OR mld_melding_flag IS NULL)"
|
||||
+ " )";
|
||||
+ " SET mld_melding_actiecode = 2" // Actie bij FE
|
||||
+ " WHERE mld_melding_key = " + mld_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
else if (S("mld_flag_on_fenote") > 0) // Misschien 'notificeren' naar FE
|
||||
else // Attentie er wel af
|
||||
{
|
||||
var sql = "UPDATE mld_melding"
|
||||
+ " SET mld_melding_flag = " + S("mld_flag_on_fenote")
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " AND( (mld_melding_flag = " + S("mld_flag_on_bonote") + ")"
|
||||
+ " OR (mld_melding_flag = 0 OR mld_melding_flag IS NULL)"
|
||||
+ " )";
|
||||
+ " SET mld_melding_actiecode = 1" // Actie bij BO
|
||||
+ " WHERE mld_melding_key = " + mld_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
var sql = " UPDATE mld_melding"
|
||||
+ " SET mld_melding_flag = 0"
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " AND mld_melding_flag = " + S("mld_flag_on_fenote");
|
||||
}
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
|
||||
if (mld_info.nobnotify)
|
||||
if (mld_info.nobnotify && params.note_key == -1) // Backoffice nog een echte notificatie sturen bij nieuwe notitie
|
||||
{
|
||||
var behandelaar = -1;
|
||||
var behandelaar_key = -1;
|
||||
if (mld_info.behandel2_key > 0)
|
||||
{
|
||||
if (mld_info.behandel2_key != user_key)
|
||||
behandelaar = mld_info.behandel2_key;
|
||||
behandelaar_key = mld_info.behandel2_key;
|
||||
}
|
||||
else if (mld_info.behandel_key > 0 && mld_info.behandel_key != user_key)
|
||||
behandelaar = mld_info.behandel_key;
|
||||
behandelaar_key = mld_info.behandel_key;
|
||||
|
||||
// Laat de Behandelaar weten dat er iemand (anders) een notitie heeft toegevoegd of gewijzigd
|
||||
// only notify with a new note
|
||||
if (behandelaar != -1 && params.note_key == -1)
|
||||
if (behandelaar_key > 0)
|
||||
{
|
||||
// putnotificationsrtprio doet geen vertaling van andere vars dan ##KEY## (notify_tracking zou dat wel doen)
|
||||
// dus doen we het hier zelf maar.
|
||||
@@ -156,7 +157,7 @@ function note_save(mld_key, note, params)
|
||||
Oracle.Execute("BEGIN fac.putnotificationsrtprio("
|
||||
+ "NULL"
|
||||
+ ", "
|
||||
+ behandelaar
|
||||
+ behandelaar_key
|
||||
+ ", 'MLDNOB'"
|
||||
+ ", "
|
||||
+ mld_key
|
||||
@@ -183,35 +184,35 @@ function note_save(mld_key, note, params)
|
||||
|
||||
function note_recently_changed(mld_key, lastdate)
|
||||
{
|
||||
// Is de melding recent nog gewijzigd.
|
||||
var changedby = "";
|
||||
var sql_t = "SELECT t.fac_tracking_datum"
|
||||
+ " , prs_perslid_naam_friendly naam"
|
||||
+ " FROM (SELECT f.fac_tracking_datum"
|
||||
+ " , f.prs_perslid_key"
|
||||
+ " , f.fac_tracking_refkey mld_melding_key"
|
||||
+ " FROM fac_tracking f"
|
||||
+ " , fac_srtnotificatie n"
|
||||
+ " WHERE f.fac_srtnotificatie_key = n.fac_srtnotificatie_key"
|
||||
+ " AND n.fac_srtnotificatie_xmlnode = 'melding'"
|
||||
+ " UNION "
|
||||
+ "SELECT mld_melding_note_aanmaak"
|
||||
+ " , prs_perslid_key"
|
||||
+ " , mld_melding_key"
|
||||
+ " FROM mld_melding_note"
|
||||
+ ") t"
|
||||
+ " , prs_v_perslid_fullnames_all p"
|
||||
+ " WHERE t.prs_perslid_key = p.prs_perslid_key"
|
||||
+ " AND t.mld_melding_key = " + mld_key
|
||||
+ " AND t.prs_perslid_key <> " + user_key
|
||||
+ " AND t.fac_tracking_datum > " + lastdate.toSQL(true)
|
||||
+ " ORDER BY t.fac_tracking_datum DESC";
|
||||
var oRs_t = Oracle.Execute(sql_t);
|
||||
if (!oRs_t.eof)
|
||||
{
|
||||
changedby = oRs_t("naam").Value;
|
||||
}
|
||||
oRs_t.Close();
|
||||
// Is de melding recent nog gewijzigd.
|
||||
var changedby = "";
|
||||
var sql_t = "SELECT t.fac_tracking_datum"
|
||||
+ " , prs_perslid_naam_friendly naam"
|
||||
+ " FROM (SELECT f.fac_tracking_datum"
|
||||
+ " , f.prs_perslid_key"
|
||||
+ " , f.fac_tracking_refkey mld_melding_key"
|
||||
+ " FROM fac_tracking f"
|
||||
+ " , fac_srtnotificatie n"
|
||||
+ " WHERE f.fac_srtnotificatie_key = n.fac_srtnotificatie_key"
|
||||
+ " AND n.fac_srtnotificatie_xmlnode = 'melding'"
|
||||
+ " UNION "
|
||||
+ "SELECT mld_melding_note_aanmaak"
|
||||
+ " , prs_perslid_key"
|
||||
+ " , mld_melding_key"
|
||||
+ " FROM mld_melding_note"
|
||||
+ ") t"
|
||||
+ " , prs_v_perslid_fullnames_all p"
|
||||
+ " WHERE t.prs_perslid_key = p.prs_perslid_key"
|
||||
+ " AND t.mld_melding_key = " + mld_key
|
||||
+ " AND t.prs_perslid_key <> " + user_key
|
||||
+ " AND t.fac_tracking_datum > " + lastdate.toSQL(true)
|
||||
+ " ORDER BY t.fac_tracking_datum DESC";
|
||||
var oRs_t = Oracle.Execute(sql_t);
|
||||
if (!oRs_t.eof)
|
||||
{
|
||||
changedby = oRs_t("naam").Value;
|
||||
}
|
||||
oRs_t.Close();
|
||||
return changedby;
|
||||
}
|
||||
%>
|
||||
@@ -35,7 +35,9 @@ var result =
|
||||
isFE: getQParam("urole","") == "fe",
|
||||
has_zichtbaarFE: getFParam("has_zichtbaarFE", 0 ) == 1,
|
||||
zichtFE: getFParam("zichtbaarFE", "off" ) == "on",
|
||||
notifyFE: getFParam("notifyFE", "off" ) == "on" });
|
||||
notifyFE: getFParam("notifyFE", "off" ) == "on" ,
|
||||
action2FE: getFParam("action2FE", "off" ) == "on" ,
|
||||
notifyBO: getFParam("notifyBO", "on" ) == "on" });
|
||||
|
||||
result.success = true;
|
||||
|
||||
|
||||
@@ -913,6 +913,10 @@ oRs.close();
|
||||
</td>
|
||||
</tr>
|
||||
<% }
|
||||
RWCHECKBOXTR("actiecodeBO", "fldcheck", L("lcl_mld_actiecodeBO"), 1, { trclass: "primsearch noxd" });
|
||||
RWCHECKBOXTR("actiecodeFE", "fldcheck", L("lcl_mld_actiecodeFE"), 1, { trclass: "primsearch noxd" });
|
||||
RWCHECKBOXTR("actiecodeATT", "fldcheck", L("lcl_mld_actiecodeATT"), 0, { trclass: "primsearch noxd" });
|
||||
|
||||
RWCHECKBOXTR("linked", "fldcheck", L("lcl_mld_showlinked"), (chkShowlinked?1:0), { trclass: "secsearch", hidden: frontend });
|
||||
RWCHECKBOXTR("respijt", "fldcheck", L("lcl_mld_showrespijt"), (chkShowRespijt?1:0), { trclass: "secsearch", hidden: frontend });
|
||||
RWCHECKBOXTR("indult", "fldcheck", L("lcl_mld_showindult"), (chkShowIndult?1:0), { trclass: "secsearch", hidden: frontend });
|
||||
|
||||
@@ -203,6 +203,9 @@ else
|
||||
params.chkRunEx = chkRunEx;
|
||||
params.chkSpoed = chkSpoed;
|
||||
params.chkAfgerond = chkAfgerond;
|
||||
params.actiecodeBO = getQParam("actiecodeBO", "off") == "on";
|
||||
params.actiecodeFE = getQParam("actiecodeFE", "off") == "on";
|
||||
params.actiecodeATT = getQParam("actiecodeATT", "off") == "on";
|
||||
params.datefrom = datefrom;
|
||||
params.dateto = dateto;
|
||||
params.srt_tracking = getQParam("srt_tracking", null);
|
||||
|
||||
@@ -164,59 +164,61 @@ var fwdInfo = mld.getFwdType(mld_key, this_mld, mld_melding);
|
||||
|
||||
if (this_mld.canChange)
|
||||
if (this_mld.canClose && mld_melding.is_fo_melding && verynew)
|
||||
buttons.push({title: L("lcl_close"), icon: "close.png", action: "mld_close(true)", autoshow: true, tooltip: L("lcl_close_hint") });
|
||||
buttons.push({title: L("lcl_close"), icon: "fa-flag-checkered", action: "mld_close(true)", autoshow: true, tooltip: L("lcl_close_hint") });
|
||||
else
|
||||
buttons.push({title: L("lcl_change"), icon: "wijzigen.png", action: "mld_change('" + this_mld.canChangeUrole + "')" });
|
||||
|
||||
if (this_mld.canFixSLA)
|
||||
buttons.push({title: L("lcl_mld_fix_sla"), icon: "history.png", action:"mld_fix_sla()", autoshow: false });
|
||||
buttons.push({title: L("lcl_change"), icon: "fa-edit", action: "mld_change('" + this_mld.canChangeUrole + "')" });
|
||||
|
||||
if (this_mld.canAdd2Faq)
|
||||
buttons.push({title: L("lcl_mld_addtofaq"), icon: "star_2_plus.png", action:"mld_add2faq()", autoshow: false, tooltip: L("lcl_mld_addtofaqinfo") });
|
||||
buttons.push({title: L("lcl_mld_addtofaq"), icon: "fa-star", action:"mld_add2faq()", autoshow: false, tooltip: L("lcl_mld_addtofaqinfo") });
|
||||
|
||||
if (this_mld.canUnlink)
|
||||
buttons.push({title: L("lcl_unlink"), icon: "link_break.png", action:"mld_unlink()", autoshow: false , tooltip: L("lcl_unlink_hint") });
|
||||
buttons.push({title: L("lcl_unlink"), icon: "fa-chain-broken", action:"mld_unlink()", autoshow: false , tooltip: L("lcl_unlink_hint") });
|
||||
|
||||
if (this_mld.canLink)
|
||||
buttons.push({title: L("lcl_link"), icon: "link.png", action:"createLink()", autoshow: false , tooltip: L("lcl_link_hint") });
|
||||
buttons.push({title: L("lcl_link"), icon: "fa-chain", action:"createLink()", autoshow: false , tooltip: L("lcl_link_hint") });
|
||||
|
||||
if (this_mld.canDoorzet) // fo2bo
|
||||
buttons.push({title: L("lcl_doorzet"), icon: "doorzet.png", action:"mld_doorzet()", autoshow: true , tooltip: L("lcl_doorzet_hint") });
|
||||
buttons.push({title: L("lcl_doorzet"), icon: "fa-paper-plane-o", action:"mld_doorzet()", autoshow: true, tooltip: L("lcl_doorzet_hint") });
|
||||
|
||||
if (this_mld.canAccept)
|
||||
buttons.push({title: L("lcl_accept"), icon: "accept.png", action:"mld_accept(" + stdm_info.doublecheck + ")", autoshow: true, tooltip: L("lcl_accept_hint")}); /* als verynew reload tab met edit-versie? */
|
||||
buttons.push({title: L("lcl_accept"), icon: "fa-check-square-o", action:"mld_accept(" + stdm_info.doublecheck + ")", autoshow: true, tooltip: L("lcl_accept_hint")}); /* als verynew reload tab met edit-versie? */
|
||||
|
||||
if (this_mld.canTerugzet) // bo2fo
|
||||
buttons.push({title: L("lcl_terugzet"), icon: "terugzet.png", action:"mld_terugzet()" });
|
||||
buttons.push({title: L("lcl_terugzet"), icon: "fa-paper-plane", action:"mld_terugzet()", tooltip: L("lcl_terugzet_hint") });
|
||||
|
||||
if (this_mld.canReject)
|
||||
buttons.push({title: L("lcl_reject"), icon: "reject.png", action:"mld_reject()", autoshow: true, tooltip: L("lcl_reject_hint") });
|
||||
buttons.push({title: L("lcl_reject"), icon: "fa-ban", action:"mld_reject()", autoshow: true, tooltip: L("lcl_reject_hint") });
|
||||
|
||||
if (fwdInfo.fwdType & 1 && (this_mld.canForward || this_mld.canFixMelding)) // bo2bo
|
||||
buttons.push({title: fwdInfo.fwdLabel, icon: (fwdInfo.fwdType == 1 ? "fa-forward" : "fa-external-link"), action:"mld_forward('" + this_mld.canChangeUrole + "', 1)"});
|
||||
if ((fwdInfo.fwdType & 1) && (this_mld.canForward || this_mld.canFixMelding)) // bo2bo
|
||||
buttons.push({title: fwdInfo.fwdLabel, icon: (fwdInfo.fwdType == 1 ? "fa-retweet" : "fa-external-link"),
|
||||
action:"mld_forward('" + this_mld.canChangeUrole + "', 1)",
|
||||
tooltip: fwdInfo.fwdHint});
|
||||
|
||||
if (fwdInfo.fwdType & 2 && this_mld.canForwardTeam)
|
||||
buttons.push({title: L("lcl_mld_forward_team"), icon: "fa-forward", action:"mld_forward('" + this_mld.canChangeUrole + "', 2)"});
|
||||
if ((fwdInfo.fwdType & 2) && this_mld.canForwardTeam)
|
||||
buttons.push({title: L("lcl_mld_forward_team"), icon: "fa-arrow-right", action:"mld_forward('" + this_mld.canChangeUrole + "', 2)", tooltip: L("lcl_mld_forward_team_hint")});
|
||||
|
||||
if (this_mld.canFixSLA)
|
||||
buttons.push({title: L("lcl_mld_fix_sla"), icon: "fa-clock-o", action:"mld_fix_sla()", autoshow: false, tooltip: L("lcl_mld_fix_sla_hint") });
|
||||
|
||||
if (this_mld.canClose && !verynew)
|
||||
buttons.push({title: L("lcl_close"), icon: "close.png", action:"mld_close()", autoshow: true, tooltip: L("lcl_close_hint") });
|
||||
buttons.push({title: L("lcl_close"), icon: "fa-flag-checkered", action:"mld_close()", autoshow: true, tooltip: L("lcl_close_hint") });
|
||||
|
||||
if (this_mld.canContinue)
|
||||
buttons.push({title: L("lcl_mld_continuation"), icon: "plus.png", action:"mld_continue()", autoshow: false, tooltip: L("lcl_continue_hint") });
|
||||
buttons.push({title: L("lcl_mld_continuation"), icon: "fa-plus", action:"mld_continue()", autoshow: false, tooltip: L("lcl_continue_hint") });
|
||||
|
||||
if (mld_melding.workflowRoot && user.has("WEB_MLDMSU") && S("mld_msu_can_stop_workflows"))
|
||||
buttons.push({ icon: "fa-stop-circle", title: L("lcl_mld_cancel_workflow"), action:"mld_cancelworkflow()" });
|
||||
|
||||
if (this_mld.canCopy)
|
||||
buttons.push({ title: L("lcl_mld_copy"), icon: "copy.png", action: "mld_copy()" });
|
||||
buttons.push({ title: L("lcl_mld_copy"), icon: "fa-copy", action: "mld_copy()" });
|
||||
if (this_mld.canAfrond && !mld_melding.mld_afgerond)
|
||||
buttons.push({ title: L("lcl_mld_afrond"), icon: "finish.png", action: "mld_afrond()" });
|
||||
buttons.push({ title: L("lcl_mld_afrond"), icon: "fa-flag-o", action: "mld_afrond()" });
|
||||
|
||||
if (this_mld.canVerwerk) // && mld_melding.mld_afgerond?
|
||||
buttons.push({ title: L("lcl_mld_verwerk"), icon: "fa-archive", action: "mld_verwerk()" });
|
||||
|
||||
buttons.push({ icon: "print.png", title: L("lcl_print"), action: 'mld_print()' });
|
||||
buttons.push({ icon: "email.png", title: L("lcl_noti_mld_email"), action: 'mld_mail()' });
|
||||
buttons.push({ icon: "fa-print", title: L("lcl_print"), action: 'mld_print()' });
|
||||
buttons.push({ icon: "fa-envelope-o", title: L("lcl_noti_mld_email"), action: 'mld_mail()' });
|
||||
|
||||
//IFRAMER_HEADER(mld_melding.act_key? L("lcl_mld_frame_algemeen_actie") : L("lcl_mld_frame_algemeen"), buttons);
|
||||
IFRAMER_HEADER(mld_melding.act_key? L("lcl_mld_frame_algemeen_actie") : (mld_melding.mld_onderwerp ? "<span class='mldframtitle'>"+(mld_melding.prefix != null? mld_melding.prefix : "") + mld_key + ": " + safe.html(mld_melding.mld_onderwerp) +"</span>" : L("lcl_mld_frame_algemeen")) , buttons);
|
||||
@@ -224,9 +226,9 @@ var fwdInfo = mld.getFwdType(mld_key, this_mld, mld_melding);
|
||||
// Als niet verynew dan doe je opdrachten en bestellen maar onderin het frame
|
||||
// Als je geen rechten hebt tot accepteren van de melding (BO) dan mag je zeker ook geen opdracht en bestelling aanmaken
|
||||
if (this_mld.canAccept && ordschrijfrechten && verynew) // TODO: De reguliere button hoeft niet meer, alleen autoshow!
|
||||
buttons.push({title: L("lcl_shared_order"), icon: "mld_order.png", action:"mld_orders(" + stdm_info.doublecheck + ")", autoshow: (S("mld_ask_for_orders") && mld_melding.noWorkflow), tooltip: L("lcl_orders_hint") });
|
||||
buttons.push({title: L("lcl_shared_order"), icon: "fa-wrench", action:"mld_orders(" + stdm_info.doublecheck + ")", autoshow: (S("mld_ask_for_orders") && mld_melding.noWorkflow), tooltip: L("lcl_orders_hint") });
|
||||
if (this_mld.canAccept && besschrijfrechten && verynew) // impliceert tevens show_bes
|
||||
buttons.push({title: L("lcl_bes_bestelling"), icon: "bes_order.png", action: "mld_bestel()", autoshow: (S("mld_ask_for_orders")), tooltip: L("lcl_bes_hint") });
|
||||
buttons.push({title: L("lcl_bes_bestelling"), icon: "fa-shopping-cart", action: "mld_bestel()", autoshow: (S("mld_ask_for_orders")), tooltip: L("lcl_bes_hint") });
|
||||
%>
|
||||
<div id="show">
|
||||
<div id="showlink" style='padding:10px;border:2px solid black;position:absolute;top:5px;left:500px;background-color:#f0f0f0;display:none'>
|
||||
@@ -242,7 +244,7 @@ var fwdInfo = mld.getFwdType(mld_key, this_mld, mld_melding);
|
||||
anyAuto = buttons[i].autoshow;
|
||||
|
||||
if (anyAuto && verynew) // eigenlijk: *alleen* autoshow, vandaar pas NADAT hiervoor de buttons in de header geplaatst zijn; niet voor FE
|
||||
buttons.push({title: L("lcl_doorzet"), icon: "geenactie.png", action:"mld_laatgaan()", autoshow: true ,
|
||||
buttons.push({title: L("lcl_doorzet"), icon: "fa-circle-o", action:"mld_laatgaan()", autoshow: true ,
|
||||
tooltip: (mld_melding.mld_status == 0 ? L("lcl_laatgaan_hint_fo"): L("lcl_laatgaan_hint")) }); /* en close tab? */
|
||||
|
||||
if (!mld_melding.act_key && anyAuto && verynew && buttons.length) // TODO: beter: er is een button met autoshow-property?
|
||||
@@ -562,6 +564,13 @@ function parentButton()
|
||||
// I would like the circle icon in the value instead of the label, but that is html-safe
|
||||
ROFIELDTR("fld showflag", L("lcl_mld_flags")+I("fa-circle mldflag"+ mld_melding.flag), L("lcl_mld_flag" + mld_melding.flag), {trclass: "showflag"});
|
||||
}
|
||||
if (mld_melding.actiecode & 2 || mld_melding.actiecode & 128) // Bij FE of extra attentie
|
||||
{
|
||||
var txt = mld_melding.actiecode & 2 ? L("lcl_mld_actiecodeFE"): L("lcl_mld_actiecodeBO");
|
||||
if (mld_melding.actiecode & 128)
|
||||
txt += " " + L("lcl_mld_actiecodeATT");
|
||||
ROFIELDTR("fld mldshowactie", L("lcl_mld_actiecode"), txt);
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
if (!frontend && mld_melding.mld_ins_discipline_key > 0) // Overbodige informatie voor FE
|
||||
@@ -616,7 +625,7 @@ function parentButton()
|
||||
+ "&gebouw_key=" + mld_melding.bld_key + "&locatie_key=" + mld_melding.loc_key
|
||||
+ "', '" + L("lcl_mld_similarcalls") + "') ";
|
||||
|
||||
buttons.push({ icon: "lightbulb.png", title: L("lcl_mld_similarcalls"), action: goegel});
|
||||
buttons.push({ icon: "fa-lightbulb-o", title: L("lcl_mld_similarcalls"), action: goegel});
|
||||
}
|
||||
|
||||
if (mld_melding.mld_omschr)
|
||||
|
||||
@@ -174,14 +174,29 @@ if (mld_key > 0)
|
||||
FcltMgr.reload(params);
|
||||
}
|
||||
|
||||
function visToggler(deze)
|
||||
{
|
||||
var vis = $(deze).prop('checked');
|
||||
$('#notioption,#actionoption').css('display', vis ? "inline":"none");
|
||||
if (vis)
|
||||
$('#action2FE,#notifyFE').prop('checked', <%=S("mld_note_default_notifyFE")%> == 1);
|
||||
else
|
||||
$('#action2FE,#notifyFE').prop('checked', false);
|
||||
}
|
||||
|
||||
function notiToggler(deze)
|
||||
{
|
||||
var noti = $(deze).prop('checked');
|
||||
$('#notioption').css('display', noti ? "inline":"none");
|
||||
if (noti)
|
||||
$('#notifyFE').prop('checked', <%=S("mld_note_default_notifyFE") == 1? 1 : 0%> == 1);
|
||||
else
|
||||
$('#notifyFE').prop('checked', false);
|
||||
//$('#notioption').css('display', noti ? "inline":"none");
|
||||
if (!noti)
|
||||
$('#action2FE').prop('checked', false);
|
||||
}
|
||||
|
||||
function actionToggler(deze)
|
||||
{
|
||||
var action = $(deze).prop('checked');
|
||||
if (action)
|
||||
$('#notifyFE').prop('checked', true);
|
||||
}
|
||||
|
||||
function toggleDropdown()
|
||||
@@ -689,7 +704,7 @@ if (mld_key > 0)
|
||||
+ " WHERE mld_melding_note_key = " + note_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
note_oms = oRs("mld_melding_note_omschrijving").value;
|
||||
note_zichtbaarFE = oRs("mld_melding_note_flag").value == 1; // de net gekozen waarde
|
||||
note_zichtbaarFE = oRs("mld_melding_note_flag").value == 1; // de eerder gekozen waarde
|
||||
}
|
||||
|
||||
// Voeg eventueel weer toe wat er voor de reload als gevolg van upload bijlage stond.
|
||||
@@ -697,14 +712,21 @@ if (mld_key > 0)
|
||||
|
||||
if (hasTracking)
|
||||
{
|
||||
var sql = "SELECT * FROM fac_v_notifyqueue"
|
||||
var sql = "SELECT fac_srtnotificatie_code,"
|
||||
+ " MIN(fac_notificatie_receiver_email) fac_notificatie_receiver_email,"
|
||||
+ " COUNT(*) aantal"
|
||||
+ " FROM fac_v_notifyqueue"
|
||||
+ " WHERE BITAND(fac_notificatie_status, 2) = 2" // email
|
||||
+ " AND fac_srtnotificatie_xmlnode = 'melding'"
|
||||
+ " AND fac_notificatie_refkey = " + mld_key;
|
||||
+ " AND fac_notificatie_refkey = " + mld_key
|
||||
+ " GROUP BY fac_srtnotificatie_code";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.EOF)
|
||||
{
|
||||
Response.Write("<tr><td></td><td><i>" + L("lcl_puo_willsendnoti").format(oRs("fac_srtnotificatie_code").Value, safe.html(oRs("fac_notificatie_receiver_email").Value)) + "</i></td></tr>");
|
||||
var code = oRs("fac_srtnotificatie_code").Value;
|
||||
var aantal = oRs("aantal").Value;
|
||||
var email = oRs("fac_notificatie_receiver_email").Value;
|
||||
Response.Write("<tr><td></td><td><i>" + L("lcl_puo_willsendnoti").format(code, safe.html(email) + (aantal>1?L("lcl_puo_willsendnotimore").format(aantal-1):"")) + "</i></td></tr>");
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
@@ -741,10 +763,10 @@ if (mld_key > 0)
|
||||
{
|
||||
// FOBO
|
||||
// zichtbaarheid per nieuwe notitie, vast of veranderbaar
|
||||
if (note_key == -1 && !eigenMelding && mld_info.fenotes != 1)
|
||||
if (!eigenMelding && mld_info.fenotes != 1)
|
||||
{
|
||||
// keuze voor wel of niet zichtbaar FE
|
||||
CHECKBOX("fldcheck", "zichtbaarFE", note_zichtbaarFE, { html: "onchange='notiToggler(this)'" });
|
||||
CHECKBOX("fldcheck", "zichtbaarFE", note_zichtbaarFE, { html: "onchange='visToggler(this)'" });
|
||||
Response.Write("<label for='zichtbaarFE'>{0}</label>".format(L("lcl_mld_zichtbaar_FE")));
|
||||
}
|
||||
else
|
||||
@@ -756,11 +778,33 @@ if (mld_key > 0)
|
||||
//actie bij melder zetten
|
||||
if (note_key == -1 && !eigenMelding && S("mld_flag_on_fenote") && mld_info.fenotes > 0)
|
||||
{
|
||||
var actie_bij_melder = (note_zichtbaarFE && S("mld_note_default_notifyFE")==1 ? true : false);
|
||||
var actie_bij_melder = (mld_info.actiecode & 2) == 2; // stond actie al bij melder?
|
||||
if (actie_bij_melder)
|
||||
{
|
||||
var lbl = L("lcl_mld_latenbij_FE");
|
||||
}
|
||||
else
|
||||
{
|
||||
actie_bij_melder = note_zichtbaarFE && S("mld_note_default_notifyFE")==1;
|
||||
var lbl = L("lcl_mld_toekennen_FE");
|
||||
}
|
||||
// We doen aan pingpongen
|
||||
Response.Write("<span id='notioption'"+(note_zichtbaarFE? "style='display:inline'" :" style='display:none'")+">");
|
||||
CHECKBOX("fldcheck", "notifyFE", actie_bij_melder);
|
||||
Response.Write("<label for='notifyFE'>{0}</label></span>".format(L("lcl_mld_toekennen_FE")));
|
||||
CHECKBOX("fldcheck", "notifyFE", actie_bij_melder, { html: "onchange='notiToggler(this)'" });
|
||||
Response.Write("<label for='notifyFE'>{0}</label></span>".format("Melder notificeren"));
|
||||
|
||||
Response.Write("<span id='actionoption'"+(note_zichtbaarFE? "style='display:inline'" :" style='display:none'")+">");
|
||||
CHECKBOX("fldcheck", "action2FE", actie_bij_melder, { html: "onchange='actionToggler(this)'" });
|
||||
Response.Write("<label for='action2FE'>{0}</label></span>".format(lbl));
|
||||
}
|
||||
}
|
||||
else // Frontend mag actie ook zelf houden (in plaats van actie naar backoffice)
|
||||
{
|
||||
var actie_bij_BO = (mld_info.actiecode & 1) == 1; // stond actie al bij backoffice? FE mag nooit terugpakken
|
||||
if (!actie_bij_BO)
|
||||
{
|
||||
CHECKBOX("fldcheck", "notifyBO", true); // default altijd actie naar BO
|
||||
Response.Write("<label for='notifyBO'>{0}</label>".format(L("lcl_mld_toekennen_BO")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user