From 33154b15f0037e0ceef980d011c5025eb31a6994 Mon Sep 17 00:00:00 2001 From: Maykel Geerdink Date: Tue, 2 Jan 2018 13:31:03 +0000 Subject: [PATCH] PLAT#41520: Signalering op gewijzigde clusters. svn path=/Website/trunk/; revision=36467 --- APPL/ALG/alg_gebouw_list.inc | 50 ++++--- APPL/INS/ins_edit_deel_multi.asp | 234 ++++++++++++++++--------------- 2 files changed, 151 insertions(+), 133 deletions(-) diff --git a/APPL/ALG/alg_gebouw_list.inc b/APPL/ALG/alg_gebouw_list.inc index d25941601e..37fc331973 100644 --- a/APPL/ALG/alg_gebouw_list.inc +++ b/APPL/ALG/alg_gebouw_list.inc @@ -68,33 +68,41 @@ function fnrowClass(oRs) function gotoDetails(row) { var algData = eval('(' + row.getAttribute("ROWDATA") + ')'); - var url = "appl/ALG/alg_verdieping_search.asp?gebouw_key=" + algData.detail_key + "&autosearch=" + autosearch + "&chkgeb=1"; + var url = "appl/alg/alg_verdieping_search.asp?gebouw_key=" + algData.detail_key + "&autosearch=" + autosearch + "&chkgeb=1"; FcltMgr.openDetail(url, "<%=L("lcl_floor")%>"); } function gotoParent(row) { var algData = eval('(' + row.getAttribute("ROWDATA") + ')'); - var url = "appl/ALG/alg_locatie_search.asp?locatie_key=" + algData.parent_key + "&autosearch=" + autosearch; + var url = "appl/alg/alg_locatie_search.asp?locatie_key=" + algData.parent_key + "&autosearch=" + autosearch; FcltMgr.openDetail(url, "<%=L("lcl_location")%>"); } - function gebouwEdit(row) + function gebouwEdit(row) { var algData = eval('(' + row.getAttribute("ROWDATA") + ')'); - var url = "appl/ALG/alg_gebouw.asp?mode=viewUpdate&key=" + algData.key; + var url = "appl/alg/alg_gebouw.asp?mode=viewUpdate&key=" + algData.key; FcltMgr.openDetail(url, "<%=L("lcl_building")%>" + ' ' + algData.oms); } -function doDelete(rowArray, isMulti) + function doDelete(rowArray, isMulti) + { + FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), { autoconfirm: isMulti }, function() { + var bldKeyString = getKeyString(rowArray); + var data = { key: bldKeyString, + level: "G" + }; + <% protectRequest.dataToken("data"); %> + $.post("alg_delete.asp", data, FcltCallbackRefresh, "json"); + }); + } + +function toObjMan(row) { - FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), { autoconfirm: isMulti }, function() { - var bldKeyString = getKeyString(rowArray); - var data = { key: bldKeyString, - level: "G" - }; - <% protectRequest.dataToken("data"); %> - $.post("alg_delete.asp", data, FcltCallbackRefresh, "json"); - }); + var algData = eval('(' + row.getAttribute("ROWDATA") + ')'); + var url = "appl/ins/ins_search.asp?urole=bo&gebouw_key=" + algData.key; + FcltMgr.openDetail(url, "<%=L("lcl_building")%>" + ' ' + algData.oms); } + <% @@ -119,12 +127,20 @@ function gebouw_list(pautfunction, params) var verantw_key = params.verantw_key; var expalgincl = params.expalgincl; + var autparamsINSUSE = user.checkAutorisation("WEB_INSUSE", true); + var autparamsINSMAN = user.checkAutorisation("WEB_INSMAN", true); + var readuse = autparamsINSUSE && autparamsINSUSE.PRSreadlevel < 9 && autparamsINSUSE.ALGreadlevel < 9; // Wijzigen Afgeronde gegevens. + var readman = autparamsINSMAN && autparamsINSMAN.PRSreadlevel < 9 && autparamsINSMAN.ALGreadlevel < 9; // Wijzigen Afgeronde gegevens. function fnrowActionEnabler(oRs) { var eDelete = false; + var eObjMan = false; if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel)) eDelete = true; - return ({eDelete: eDelete}) + // Heb ik rechten om het objectenbeheer overzicht te zien? + if (readuse || readman) + eObjMan = true; + return ({eDelete: eDelete, eObjMan: eObjMan}); } function fnrowFlexParams(oRs) @@ -250,11 +266,7 @@ function gebouw_list(pautfunction, params) rst.addAction({ action: "gebouwEdit", caption: L("lcl_edit"), isDefault: true}); rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single:!noref, multi: true, multiOnce: true}); - if (!noref) - { - rst.addAction({ action: "gotoDetails", caption: L("lcl_goto_verdieping_list")}); - rst.addAction({ action: "gotoParent", caption: L("lcl_goto_locatie_list")}); - } + rst.addAction({ action: "toObjMan", caption: L("lcl_ins_object_management"), enabler: "eObjMan"}); var cnt = rst.processResultset(); %> diff --git a/APPL/INS/ins_edit_deel_multi.asp b/APPL/INS/ins_edit_deel_multi.asp index 8b0ff4e878..dd8eea7709 100644 --- a/APPL/INS/ins_edit_deel_multi.asp +++ b/APPL/INS/ins_edit_deel_multi.asp @@ -117,154 +117,160 @@ authparams = last_this_ins.authparams(autfunction); <% sql = "SELECT DISTINCT s.ins_srtdeel_key" // PF: verondersteld de omschrijving overbodig hier - + ", d.ins_alg_ruimte_type" - + ", d.ins_alg_locatie_key" + + ", s.ins_srtdeel_binding" + " FROM ins_deel d" + ", ins_srtdeel s" + " WHERE s.ins_srtdeel_key = d.ins_srtdeel_key" + " AND d.ins_deel_key in (" + ingesloten.join(",") + ")"; oRs = Oracle.Execute(sql); var ins_srtdeel_key = oRs("ins_srtdeel_key").value; + var ins_srtdeel_binding = oRs("ins_srtdeel_binding").value; var diff_objsrt = false; + var diff_binding = false; var i = 0; while (!oRs.eof) { i++; if (oRs("ins_srtdeel_key").value != ins_srtdeel_key) diff_objsrt = true; + if (oRs("ins_srtdeel_binding").value != ins_srtdeel_binding) diff_binding = true; oRs.MoveNext(); } oRs.close(); %>
&urole=<%=urole%>" method="post"> <% - if (diff_objsrt) + // Als de binding bits niet overeeenkomen dan mag je niet multi wijzigen en krijg je een melding. + if (diff_binding) { - Response.write(L("lcl_ins_diff_objsrt")); + Response.write(L("lcl_ins_diff_binding")); } else { - if (last_this_ins.canChangeAlg) - { - BLOCK_START("insGeo", L("lcl_ins_meta_data")); -// FCLTcalendar("aanmaakdatum", -// { initEmpty: true, -// label: L("lcl_last_action"), -// volgnr: 1 -// }); - FCLTcalendar("vervaldatum", - { initEmpty: true, - label: L("lcl_ins_vervaldatum"), - volgnr: 1, - onChange: "DateChanged()" - }); - FCLTpersoonselector("ins_manager", // beheerder - "sgins_manager", - { perslidKey: -1, - autlevel: authparams && authparams.PRSwritelevel, - label: L("lcl_ins_manager"), - filtercode: "INSB", - moreinfo: false - }); - BLOCK_END(); + if (last_this_ins.canChangeAlg) + { + BLOCK_START("insGeo", L("lcl_ins_meta_data")); +// FCLTcalendar("aanmaakdatum", +// { initEmpty: true, +// label: L("lcl_last_action"), +// volgnr: 1 +// }); + FCLTcalendar("vervaldatum", + { initEmpty: true, + label: L("lcl_ins_vervaldatum"), + volgnr: 1, + onChange: "DateChanged()" + }); + FCLTpersoonselector("ins_manager", // beheerder + "sgins_manager", + { perslidKey: -1, + autlevel: authparams && authparams.PRSwritelevel, + label: L("lcl_ins_manager"), + filtercode: "INSB", + moreinfo: false + }); + BLOCK_END(); } %> - + // Wissen waarde als je vinkje weghaalt + cb.change(function(deze) { + return function() { + if (!$(this).is(":checked")) + $(deze).val(""); + else if ($(deze).hasClass("required")) + // Vinkje is aangevinkt en waarde is leeg. + // Als het veld verplicht is het vinkje er weer afhalen. + $(this).prop("checked", false); + } + }(this)); + }); + }); + <% - generateFlexKenmerkBlock({ - fnpre: function () {BLOCK_START("insMultiEdit", L("lcl_flexible_properties"));}, - fnpost: BLOCK_END, - urole: urole, - ins_key: -1, - srtdeelkey_array: ins_srtdeel_key > 0? [ins_srtdeel_key] : [], - nodefaults: true, - reado: false, - multi: true, - label_colspan: 2, - flexcolumns: 1 // altijd want popup - }); + // Als je objectsoort verschilt dan zijn alleen de "vaste" kenmerken te wijzigen en de flexkenmerken dus niet. + if (diff_objsrt) + { + generateFlexKenmerkBlock({ fnpre: function () {BLOCK_START("insMultiEdit", L("lcl_flexible_properties"));}, + fnpost: BLOCK_END, + urole: urole, + ins_key: -1, + srtdeelkey_array: ins_srtdeel_key > 0? [ins_srtdeel_key] : [], + nodefaults: true, + reado: false, + multi: true, + label_colspan: 2, + flexcolumns: 1 // altijd want popup + }); + } } var buttons = []; - if (ins_srtdeel_key > 0 && !diff_objsrt) + if (ins_srtdeel_binding > 0 && !diff_binding) buttons.push({title: L("lcl_submit"), action:"ins_submit()", singlepress: true, id: "btn_edit_submit"}) buttons.push({title: L("lcl_cancel"), action:"ins_cancel()"}) CreateButtons(buttons)