From b903f9d51857253c95b05ca839ff6a46cfc49220 Mon Sep 17 00:00:00 2001 From: Peter Feij Date: Thu, 22 Dec 2016 14:03:45 +0000 Subject: [PATCH] FSN#35992 Flow wanneer wel en niet welke vinkjes verschijnen verbeterd svn path=/Website/trunk/; revision=32117 --- APPL/MLD/mld_show_note2.asp | 151 +++++++++++++++++++----------------- 1 file changed, 79 insertions(+), 72 deletions(-) diff --git a/APPL/MLD/mld_show_note2.asp b/APPL/MLD/mld_show_note2.asp index 14b141371d..65a5af37f6 100644 --- a/APPL/MLD/mld_show_note2.asp +++ b/APPL/MLD/mld_show_note2.asp @@ -8,12 +8,13 @@ Betere layout, altijd een invulveld Parameters: mld_key (altijd verplicht hier) - Note: We forceren dat je BO of FO rechten hebt. Je mag dus altijd alles zien + Note: Nu kan iedereen hier zijn, FE of FOBO. FE mag de interne notes niet zien, let daarop. + TODO: als je pingpongt of save-t als FE wordt de actie soms gezet. */%> - + @@ -23,7 +24,7 @@ FCLTHeader.Requires({js: ["../mld/mld_list.js"]}) var mld_key = getQParamInt("mld_key"); // altijd verplicht mld_key var urole = getQParamSafe("urole", "fe"); var outputmode = getQParamInt("outputmode", 0); -var tracking = getQParamInt("tracking", 1) == 1; // tracking erbij tonen? Onderdrukken met 0 +var tracking = getQParamInt("tracking", (urole=="fe"?0:1)) == 1; // tracking erbij tonen? Onderdrukken met 0 var tmp_note = getQParam("tmp_note", ""); var parent_reload = getQParamInt("parent_reload", 0); @@ -36,7 +37,6 @@ lcl.set_dialect(mld_info.srtdisc, "MLD_SRTDISCIPLINE_KEY"); var mfe = mld.func_enabled_melding (mld_key); // Heb ik rechten om notities te zien user.auth_required_or_abort(mfe.canReadNotes); -user.auth_required_or_abort(!mfe.haveOnlyFErights); // FE only mag hier helemaal niet (kunnen) komen var eigenMelding = user_key == mld_info.melder_key || user.isCollega(mld_info.melder_key); var afgehandeld = (mld_info.mld_status == 1 || mld_info.mld_status == 5 || mld_info.mld_status == 6); @@ -247,7 +247,7 @@ var timestamp_notes = new Date(); var note_oms = oRs("mld_melding_note_omschrijving").Value; var fullname = fnPerslidNaamFull(oRs); var last_note_key = oRs("mld_melding_note_key").Value; - var note_zichtbaar = oRs("mld_melding_note_flag").value == 1; + var note_zichtbaarFE = oRs("mld_melding_note_flag").value == 1; oRs.MoveNext(); var LastIsSelfNote = oRs.Eof && user.isCollega(prs_key) && !srtnoti; @@ -257,26 +257,6 @@ var timestamp_notes = new Date(); // Bij user of dag switch altijd kopje. Ik zou graag systeemmeldingen niet als user-switch zien, // dus die bij het voorgaande kopje laten horen door die te skippen bij lastuser -/* if ((lastuser != thisuser || !lasttime || thistime.midnight() > lasttime.midnight()) && thisuser != null ) - { - Response.Write(""); - if (fullname != "") { - Response.Write("
"+L("lcl_status_behandelheader").format(toTimeString(thistime), - toDateString(thistime, false, true), - fullname)+"
"); - } else { - // zal maar sporadisch voorkomen - Response.Write("
"+L("lcl_status_behandelheaderanonym").format(toTimeString(thistime), - toDateString(thistime, false, true))+"
"); - } - Response.Write(""); - } - else - { - if (lasttime && (thistime.getTime() - lasttime.getTime()) < 1000 * 60 * 1) - timestr = ""; // Binnen 1 minuut onderdrukken - } -*/ if (LastIsSelfNote && last_note_key == note_key) break; // uit de while-loop var dedatum = (lasttime== null || thistime.midnight() > lasttime.midnight() ? toDateString(thistime, false, true) : ""); @@ -292,13 +272,13 @@ var timestamp_notes = new Date(); var edittm = timestr; var cls = 'mldhtime'; var cls_tr = (srtnoti?" trtrack": ""); - var note_zichtbaar_class = (note_zichtbaar?"note_fe_visible":(srtnoti?"" :"note_fe_hidden")); + var note_zichtbaarFE_class = (note_zichtbaarFE?"note_fe_visible":(srtnoti?"" :"note_fe_hidden")); if (LastIsSelfNote) { edittm = ""; var cls = " mldnoteedit"; } - if (!note_zichtbaar && !srtnoti) + if (!note_zichtbaarFE && !srtnoti) edittm += "".format(L("lcl_mld_verborgen_FE")); if (safehtml.length > S("rs_maxchar") * 5) @@ -307,7 +287,7 @@ var timestamp_notes = new Date(); + "" + L("lcl_rs_truncated") + ""; } Response.Write("{5}
{4} {0}
{2}
").format(edittm, note_zichtbaar_class, safehtml,toTimeString(thistime), + + ("'>{5}
{4} {0}
{2}
").format(edittm, note_zichtbaarFE_class, safehtml,toTimeString(thistime), dedatum, fullname)); @@ -331,68 +311,95 @@ var timestamp_notes = new Date(); } oRs.Close() -// == Verder met de nieuwe/bestaande notitie + + // == Verder met de nieuwe/bestaande notitie + + // Er zijn notes die voor iedereen (relevant) zichtbaar zijn en notes die alleen voor FOBO + // zichtbaar zijn. Dat hangt af van mld_melding_note_flag. Die zichtbaarheid is hierboven geregeld. + // + // Dan kunnen er notes worden toegevoegd. Dat kan altijd en door iedereen (relevant) + // alleen *niet* door de FE indien mld_info.fenotes==0 + // dus wel door FOBO zelfs indien mld_info.fenotes==0 + // dus wel door FE indien mld_info.fenotes>0 + // Let op: fenotes is geen bitwise codering (meer), gewoon 0-3 + var note_oms = ""; - var note_zichtbaar = (mld_info.fenotes & 1 ); + var note_zichtbaarFE = (mld_info.fenotes == 1 || mld_info.fenotes == 3 ); if (note_key > -1) - { // Bestaande note: gegevens uit record gebruiken. + { // Bestaande net toegevoegde note voor re-edit: gegevens uit record gebruiken. sql = "SELECT mld_melding_note_omschrijving" + " , mld_melding_note_flag" + " FROM mld_melding_note" + " WHERE mld_melding_note_key = " + note_key; var oRs = Oracle.Execute(sql); note_oms = oRs("mld_melding_note_omschrijving").value; - note_zichtbaar = oRs("mld_melding_note_flag").value == 1; + note_zichtbaarFE = oRs("mld_melding_note_flag").value == 1; // de net gekozen waarde } // Voeg eventueel weer toe wat er voor de reload als gevolg van upload bijlage stond. note_oms = (tmp_note != "" ? tmp_note : note_oms); - // Bron van verwarring maar: als het een eigen melding is dan ben je zelf de FE-user van die melding - // Dan is het heel onlogisch als je het vinkje zou kunnen uitzetten. Disablen we dan ook effectief. - if (eigenMelding) - note_zichtbaar = true; - - if (note_key < 0) { %> -
<%=L("lcl_mld_note_new")%>: -<% if (afgehandeld) { %> <%=L("lcl_mld_edit_note_completed")%> <% } %> - ^Top
-<% } %> - -
-
- - -<% - if (mld_info.fenotes & 2 || mld_info.fenotes == 0) - { - if (note_key == -1 && !eigenMelding) + if (!mfe.haveOnlyFErights || (mfe.haveOnlyFErights && mld_info.fenotes>0)) + { + if (note_key < 0) { - CHECKBOX("fldcheck", "zichtbaarFE", note_zichtbaar, { html: "onchange='notiToggler(this)'" }); - Response.Write("".format(L("lcl_mld_zichtbaar_FE"))); - } - else - { - Response.Write("{0}: {1}".format(L("lcl_mld_zichtbaar_FE"), note_zichtbaar?L("lcl_Yes"):L("lcl_No"))); /* vriendelijker is: Wel/Niet zichtbaar voor melder */ - } - if (S("mld_flag_on_fenote") > 0) - { - Response.Write("".format(L("lcl_mld_toekennen_FE"))); - } - } - IFACE.FORM_END(); %> -
+
<%=L("lcl_mld_note_new")%>: +<% if (afgehandeld) { %> <%=L("lcl_mld_edit_note_completed")%> <% } %> + ^Top
<% - buttons = [{ title: L("lcl_submit"), action: "note_submit()", id: "note_submit", singlepress: true}]; + } +%> + +
+
+ + +<% + // 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 + // Do not offer options if + // - i am just an FE + // - we do not do options? + // - it is my call + if (!mfe.haveOnlyFErights) + { + // FOBO + // zichtbaarheid per nieuwe notitie, vast of veranderbaar + if (note_key == -1 && !eigenMelding && mld_info.fenotes != 1) + { + // keuze voor wel of niet zichtbaar FE + CHECKBOX("fldcheck", "zichtbaarFE", note_zichtbaarFE, { html: "onchange='notiToggler(this)'" }); + Response.Write("".format(L("lcl_mld_zichtbaar_FE"))); + } + else + { + // re-edit, eigenmelding of geen keuze = niks te kiezen, vermeld even hoe zichtbaar deze note is + Response.Write("{0}: {1}".format(L("lcl_mld_zichtbaar_FE"), note_zichtbaarFE?L("lcl_Yes"):L("lcl_No"))); /* vriendelijker is: Wel/Niet zichtbaar voor melder */ + } + if (S("mld_flag_on_fenote") > 0 && mld_info.fenotes>0 && !eigenMelding) + { + // We doen aan pingpongen + Response.Write("".format(L("lcl_mld_toekennen_FE"))); + } + } + IFACE.FORM_END(); +%> +
+<% + buttons = [{ title: L("lcl_submit"), action: "note_submit()", id: "note_submit", singlepress: true}]; - if (note_key > 0) - buttons.push({title: L("lcl_cancel"), icon: "undo.png", action: "note_submit_callback()"}); - Response.Write("
"); - CreateButtons(buttons); + if (note_key > 0) + buttons.push({title: L("lcl_cancel"), icon: "undo.png", action: "note_submit_callback()"}); + Response.Write("
"); + CreateButtons(buttons); + } BLOCK_END(); %>