<%@ language="javascript"%> <% /* $Revision$ $Id$ File: mld_show_note.asp (wellicht beter zou zijn mld_notes_list.asp) Description: Toont een overzicht van de notes die aan het filter voldoen Dit zal hoofdzakelijk zijn als Behorend bij een bepaalde melding maar kan ook "open" zijn (vanuit het menu). In dat geval wordt er nog wat identificerende meldingsinfo getoond. Parameters: mld_key Note: urole wordt alleen in overzichtmode gebruikt, voor als je naar mld_edit gaat. Maar zelfs dat lijkt me niet noodzakelijk // TODO: controleren of ik read-autorisatie heb voor deze melding (als mld_key != -1) // toevoeg knop ook conditioneel maken aan de write-autorisatie hiervoor, en // danwel de query beperken tot de melding waarvoor ik MLDFOF of MLDBOF rechten heb // (dat dan als mld_key wel -1 is). */%> <% FCLTHeader.Requires({js: ["../mld/mld_list.js"]}) var mld_key = getQParamInt("mld_key", -1); // vanuit het menu hebben we geen mld_key var urole = getQParamSafe("urole", "fe"); var embedded = getQParamInt("embedded", -1); var outputmode = getQParamInt("outputmode", 0); var showall = getQParamInt("showall", 0) == 1; var tracking = getQParamInt("tracking", 1) == 1; // tracking erbij tonen? Onderdrukken met 0 %>
<% FCLTHeader.Generate({outputmode: outputmode}); %>
<% function fnPerslidNaamFull(oRs) { if (outputmode != 0) return safe.html(oRs("prs_perslid_naam_friendly").Value); if (oRs("prs_perslid_key").Value == user_key) { var html = "" + safe.html(oRs("prs_perslid_naam_friendly").Value) + ""; } else { var html = "" + safe.html(oRs("prs_perslid_naam_friendly").Value) + ""; } return html; } function fnZichtbaar(oRs) { var html = ""; if (oRs("mld_melding_note_flag").Value == 1) html = ""; return html; } function fnrowClass(oRs) { var rclass = "" if (oRs("prs_perslid_key").Value == user_key) rclass = rclass + "self"; if (oRs("fac_srtnotificatie_code").Value) rclass = rclass + " trtrack"; else rclass = rclass + " trnote"; return rclass; } function fnOmschrijving(oRs) { var html = ""; if (oRs("mld_melding_note_omschrijving").Value) html = safe.mldlinkhtml(safe.html(oRs("mld_melding_note_omschrijving").Value)); else if (oRs("fac_srtnotificatie_code").Value) html = status.getsrtnotificatietext(oRs("fac_srtnotificatie_code").Value); return html; } buttons = []; buttons.push({ icon: "page_refresh.png", title: L("lcl_refresh"), action: "FcltMgr.reload()" }); if (mld_key > 0) { // Je kunt alleen een notitie toevoegen als je binnen een bekende melding bent. Manual allowed var mfe = mld.func_enabled_melding (mld_key); // Heb ik rechten om notities te zien user.auth_required_or_abort(mfe.canReadNotes); var mld_melding = mld.mld_melding_info(mld_key); lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY"); if (mfe.canWriteNotes) { var sql = "SELECT mld_melding_note_key, prs_perslid_key" + " FROM mld_melding_note" + " WHERE mld_melding_key =" + mld_key + " ORDER BY mld_melding_note_aanmaak DESC"; var oRs = Oracle.Execute(sql); if (!oRs.eof) { if (user.isCollega(oRs("prs_perslid_key").Value)) { buttons.push({title: L("lcl_change"), icon: "wijzigen.png", action: "mld_notechange(" + oRs("mld_melding_note_key").Value + ")", id: "bedit_mld_note"}); } } oRs.Close(); buttons.push({title: L("lcl_add"), icon: "plus.png", action:"mld_notechange()", id:"bchange_mld_note" }); } // Zelfde query in mld_edit_note.asp sql = "SELECT n.mld_melding_note_aanmaak" + ", n.mld_melding_note_key" + ", pf.prs_perslid_key" + ", pf.prs_perslid_naam_friendly" + ", n.mld_melding_note_omschrijving" + ", mld_melding_note_flag" + ", NULL fac_srtnotificatie_code" + " FROM mld_melding_note n, prs_v_perslid_fullnames_all pf" + " WHERE n.prs_perslid_key = pf.prs_perslid_key (+)" + " AND n.mld_melding_key = " + mld_key + (mfe.haveOnlyFErights? " AND mld_melding_note_flag = 1" : ""); var sqls = [sql]; if (S("mld_merge_notes_and_tracking") == 1 && tracking) // tracking info erbij? { var sql = "SELECT tr.fac_tracking_datum" + " , tr.fac_tracking_key" + " , tr.prs_perslid_key" + " , pf.prs_perslid_naam_friendly" + " , tr.fac_tracking_oms" + " , NULL mld_melding_note_flag" + " , str.fac_srtnotificatie_code" + " FROM fac_tracking tr, fac_srtnotificatie str, prs_v_perslid_fullnames_all pf" + " WHERE tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key" + " AND tr.prs_perslid_key = pf.prs_perslid_key (+)" + " AND str.fac_srtnotificatie_code <> 'MLDNOT'" // beetje dubbelop + " AND (tr.fac_tracking_refkey = " + mld_key + " AND str.fac_srtnotificatie_xmlnode IN ('melding'))"; sqls.push(sql) } sql = "SELECT * FROM ("+ sqls.join(" UNION ") + ") ORDER BY 1" + (S("mld_note_sort_ascending") == 0 ? " DESC " : "") } else { // Geen mld_key dus kom vanuit het menu. // Heb ik de rechten om de notities te zien var pautfunction = (urole == "fo")? "WEB_MLDFOF" : "WEB_MLDBOF"; var authparams = user.checkAutorisation(pautfunction); // Dit is ongeacht de melding var add_prs_restrict = prshasrestrict(pautfunction); sql = "SELECT n.mld_melding_note_aanmaak" + ", n.mld_melding_note_key" + ", pf.prs_perslid_naam_friendly" + ", pf.prs_perslid_key" + ", n.mld_melding_note_omschrijving" + ", mld_melding_note_flag" + ", " + lcl.xsqla('md.ins_discipline_omschrijving', 'md.ins_discipline_key') + ", n.mld_melding_key" + ", NULL fac_srtnotificatie_code" + " FROM mld_melding_note n" + ", prs_v_perslid_fullnames_all pf" + ", prs_perslid p" + ", mld_melding m" + ", mld_stdmelding sm" + ", mld_discipline md" + ", alg_v_allonrgoed_gegevens v" + ", alg_locatie l" + ", alg_district di" + ((add_prs_restrict)? ", prs_v_afdeling_boom b" : "") + " WHERE m.mld_alg_locatie_key = l.alg_locatie_key(+)" + " AND l.alg_district_key = di.alg_district_key(+)" + " AND m.mld_alg_onroerendgoed_keys = v.alg_onroerendgoed_keys(+)" + " AND n.prs_perslid_key = pf.prs_perslid_key (+)" + " AND m.prs_perslid_key = p.prs_perslid_key" + " AND n.mld_melding_key = m.mld_melding_key" + " AND m.mld_stdmelding_key = sm.mld_stdmelding_key" + " AND sm.mld_ins_discipline_key = md.ins_discipline_key" + (add_prs_restrict? " AND p.prs_afdeling_key = b.prs_afdeling_key" : "") sql = discx3d (sql, "md.ins_discipline_key", "di.alg_regio_key", "l.alg_district_key", "l.alg_locatie_key", "v.alg_gebouw_key", "v.alg_verdieping_key", "v.alg_ruimte_key", "b.prs_bedrijf_key", "b.prs_afdeling_key", pautfunction, "", // geen disc filter 2) // algprsmode? + " ORDER BY mld_melding_note_aanmaak " + (S("mld_note_sort_ascending") == 0 ? " DESC " : ""); } var rst = new ResultsetTable({ sql:sql, keyColumn: (mld_key == -1)? "mld_melding_key" : "mld_melding_note_key", ID: "notestable", buttons: buttons, title: (mld_key == -1 || S("mld_merge_notes_and_tracking") == 0 ? L("lcl_mld_frame_notes"): L("lcl_mld_frame_trackandnotes")), rowClass: fnrowClass, outputmode: outputmode, showAll: showall, emptySetString : L("lcl_mld_note_emptyset") }); rst.addColumn(new Column({caption: L("lcl_date"), content: "mld_melding_note_aanmaak", datatype:"date", prettydate: true, nowrap: true})); rst.addColumn(new Column({caption: L("lcl_time"), content: "mld_melding_note_aanmaak", datatype:"time"})); if (mld_key > 0 && !mfe.haveOnlyFErights) rst.addColumn(new Column({caption: "", title: L("lcl_mld_zichtbaar_FE"), content: fnZichtbaar})); rst.addColumn(new Column({caption: L("lcl_mld_changedby"), content: fnPerslidNaamFull})); if (mld_key == -1) { rst.addColumn(new Column({caption: L("lcl_mld_number"), content: "mld_melding_key"})); rst.addColumn(new Column({caption: L("lcl_vakgroup"), content: "ins_discipline_omschrijving"})); } rst.addColumn(new Column({caption: L("lcl_mld_note"), content: fnOmschrijving, mldlink: true })); // rst.addColumn(new Column({caption: L("lcl_mld_note"), content: "mld_melding_note_omschrijving"})); // als ik in een contextloos overzicht zit, kan ik naar de edit van de Melding (niet van de note!) // Moet ik wel schrijfrechten hebben ook (TODO) if (mld_key == -1) { rst.addAction({ action: "mld_edit", caption: L("lcl_edit"), isDefault: true } ); } var cnt = rst.processResultset(); %>