FSN#35992 Flow wanneer wel en niet welke vinkjes verschijnen verbeterd
svn path=/Website/trunk/; revision=32117
This commit is contained in:
@@ -8,7 +8,8 @@
|
||||
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.
|
||||
*/%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
@@ -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("<tr class='mldhandlinghead'><td colspan='2'>");
|
||||
if (fullname != "") {
|
||||
Response.Write("<div class='mldhandlinghead'>"+L("lcl_status_behandelheader").format(toTimeString(thistime),
|
||||
toDateString(thistime, false, true),
|
||||
fullname)+"</div>");
|
||||
} else {
|
||||
// zal maar sporadisch voorkomen
|
||||
Response.Write("<div class='mldhandlinghead'>"+L("lcl_status_behandelheaderanonym").format(toTimeString(thistime),
|
||||
toDateString(thistime, false, true))+"</div>");
|
||||
}
|
||||
Response.Write("</td></tr>");
|
||||
}
|
||||
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 = "<i class='fa fa-pencil fa-fw fa-lg details' onclick='mld_notechange(" + last_note_key + ")' title='" + L("lcl_change") + "'></i>";
|
||||
var cls = " mldnoteedit";
|
||||
}
|
||||
if (!note_zichtbaar && !srtnoti)
|
||||
if (!note_zichtbaarFE && !srtnoti)
|
||||
edittm += "<i class='fa fa-lock fa-fw fa-lg' title='{0}'></i>".format(L("lcl_mld_verborgen_FE"));
|
||||
|
||||
if (safehtml.length > S("rs_maxchar") * 5)
|
||||
@@ -307,7 +287,7 @@ var timestamp_notes = new Date();
|
||||
+ "<span class='notetoggler'>" + L("lcl_rs_truncated") + "</span>";
|
||||
}
|
||||
Response.Write("<tr class='mldhandlingdiv"+clsself+cls_tr+"'><td class='" + cls
|
||||
+ ("'><span class='noter'>{5}</span><br>{4} {0}</td><td class='mldhandlingnote "+"{1}'><div class='"+(srtnoti ? "": " bubble ")+"'>{2}</div></td></tr>").format(edittm, note_zichtbaar_class, safehtml,toTimeString(thistime),
|
||||
+ ("'><span class='noter'>{5}</span><br>{4} {0}</td><td class='mldhandlingnote "+"{1}'><div class='"+(srtnoti ? "": " bubble ")+"'>{2}</div></td></tr>").format(edittm, note_zichtbaarFE_class, safehtml,toTimeString(thistime),
|
||||
dedatum,
|
||||
fullname));
|
||||
|
||||
@@ -331,54 +311,80 @@ var timestamp_notes = new Date();
|
||||
}
|
||||
oRs.Close()
|
||||
|
||||
|
||||
// == 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) { %>
|
||||
if (!mfe.haveOnlyFErights || (mfe.haveOnlyFErights && mld_info.fenotes>0))
|
||||
{
|
||||
if (note_key < 0)
|
||||
{
|
||||
%>
|
||||
<tr><td colspan='2'><div class='mldhandlinghead'><%=L("lcl_mld_note_new")%>:
|
||||
<% if (afgehandeld) { %> <span class='hot'> <%=L("lcl_mld_edit_note_completed")%></span> <% } %>
|
||||
<span class='mldgotop details' onclick='if (parent) parent.scrollTo(0,0)'>^Top</span></div></td></tr>
|
||||
<% } %>
|
||||
<tr><td></td><td>
|
||||
<div class='mldhandlingdiv'>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
<tr><td></td>
|
||||
<td><div class='mldhandlingdiv'>
|
||||
<form name=u2 method=post action="mld_edit_note_save.asp?mld_key=<%=mld_key%>&urole=<%=urole%>¬e_key=<%=note_key%>">
|
||||
<input type="hidden" name="notestamp" id="notestamp" value="<%=timestamp_notes.getTime()%>">
|
||||
<textarea id='note' name='note' class='fldtxt' rows='4' cols='80' maxlength='4000'><%=safe.textarea(note_oms)%></textarea>
|
||||
<%
|
||||
if (mld_info.fenotes & 2 || mld_info.fenotes == 0)
|
||||
// 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)
|
||||
{
|
||||
if (note_key == -1 && !eigenMelding)
|
||||
// FOBO
|
||||
// zichtbaarheid per nieuwe notitie, vast of veranderbaar
|
||||
if (note_key == -1 && !eigenMelding && mld_info.fenotes != 1)
|
||||
{
|
||||
CHECKBOX("fldcheck", "zichtbaarFE", note_zichtbaar, { html: "onchange='notiToggler(this)'" });
|
||||
// keuze voor wel of niet zichtbaar FE
|
||||
CHECKBOX("fldcheck", "zichtbaarFE", note_zichtbaarFE, { html: "onchange='notiToggler(this)'" });
|
||||
Response.Write("<label for='zichtbaarFE'>{0}</label>".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 */
|
||||
// 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)
|
||||
if (S("mld_flag_on_fenote") > 0 && mld_info.fenotes>0 && !eigenMelding)
|
||||
{
|
||||
Response.Write("<span id='notioption'"+(note_zichtbaar? "" :" style='display:none'")+">");
|
||||
CHECKBOX("fldcheck", "notifyFE", false); /* compatible ware: note_zichtbaar, maar dit lijkt mij beter */
|
||||
// We doen aan pingpongen
|
||||
Response.Write("<span id='notioption'"+(note_zichtbaarFE? "style='display:inline'" :" style='display:none'")+">");
|
||||
CHECKBOX("fldcheck", "notifyFE", false); /* compatible ware: note_zichtbaarFE, maar dit lijkt mij beter */
|
||||
Response.Write("<label for='notifyFE'>{0}</label></span>".format(L("lcl_mld_toekennen_FE")));
|
||||
}
|
||||
}
|
||||
@@ -390,9 +396,10 @@ var timestamp_notes = new Date();
|
||||
|
||||
if (note_key > 0)
|
||||
buttons.push({title: L("lcl_cancel"), icon: "undo.png", action: "note_submit_callback()"});
|
||||
Response.Write("<tr><td colspan='2'><div style='float:left'>");
|
||||
CreateButtons(buttons);
|
||||
|
||||
Response.Write("<tr><td></td><td><div class='notebuttons'>");
|
||||
CreateButtons(buttons);
|
||||
}
|
||||
BLOCK_END();
|
||||
%>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user