PLAT#41520: Signalering op gewijzigde clusters.

svn path=/Website/trunk/; revision=36467
This commit is contained in:
Maykel Geerdink
2018-01-02 13:31:03 +00:00
parent 75587b96be
commit 33154b15f0
2 changed files with 151 additions and 133 deletions

View File

@@ -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);
}
</script>
<%
@@ -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();
%>
</body>

View File

@@ -117,154 +117,160 @@ authparams = last_this_ins.authparams(autfunction);
<body class="modal" id="mod_insmultiedit">
<%
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();
%>
<form name="u2" action="ins_edit_deel_multi.asp?submit=1&ins_keys=<%=ingesloten.join(",")%>&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();
}
%>
<script type="text/javascript">
function DateChanged()
{
if ($("#show_vervaldatum").is(":checkbox"))
var isgevuld = $("#show_vervaldatum").is(":checked")
else
var isgevuld = $("#show_vervaldatum").val();
$("input[type=checkbox][name=check_vervaldatum]").prop("checked", isgevuld);
}
<script type="text/javascript">
function DateChanged()
{
if ($("#show_vervaldatum").is(":checkbox"))
var isgevuld = $("#show_vervaldatum").is(":checked")
else
var isgevuld = $("#show_vervaldatum").val();
$("input[type=checkbox][name=check_vervaldatum]").prop("checked", isgevuld);
}
function putCheckmarkSuggest(prs_key, prs_txt, obj)
{
thisobj = $("#"+obj.suggestid);
if (thisobj.is(":checkbox"))
var isgevuld = thisobj.is(":checked")
else
var isgevuld = thisobj.val();
function putCheckmarkSuggest(prs_key, prs_txt, obj)
{
thisobj = $("#"+obj.suggestid);
if (thisobj.is(":checkbox"))
var isgevuld = thisobj.is(":checked")
else
var isgevuld = thisobj. val();
if (thisobj.hasClass("flddate"))
var cb_name = "check_" + thisobj.attr("id").substr("show_".length);
else if (thisobj.hasClass("suggest"))
var cb_name = "check_" + thisobj.attr("id").substr(0, thisobj.attr("id").length-5);
else
var cb_name = "check_" + thisobj.attr("name");
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
// Eventuele andere onChange acties van een selecter hieronder toevoegen.
};
if (thisobj.hasClass("flddate"))
var cb_name = "check_" + thisobj.attr("id").substr("show_".length);
else if (thisobj.hasClass("suggest"))
var cb_name = "check_" + thisobj.attr("id").substr(0, thisobj.attr("id").length-5);
else
var cb_name = "check_" + thisobj.attr("name");
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
// Eventuele andere onChange acties van een selecter hieronder toevoegen.
};
$(document).ready(function()
{ // Een vinkboxje voor de invoer velden toevoegen.
// Niet een vinkboxje toevoegen voor de flexkenmerken. Dat doet generateFlexKenmerkBlock.listKenmerk wel.
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not("[class^='fldflex']").not("[class^='fldSflex']").each(
function() {
if ($(this).hasClass("flddate"))
var cb_name = "check_" + $(this).attr("id").substr("show_".length);
else if ($(this).hasClass("suggest"))
var cb_name = "check_" + $(this).attr("id").substr(0, $(this).attr("id").length-5);
else
var cb_name = "check_" + $(this).attr("name");
var cb = $("<input type='checkbox'>").attr("name", cb_name);
var td = $("<td class='multi_cb'></td>").append(cb);
$(this).closest("tr").find("td.label").before(td);
$(document).ready(function()
{ // Een vinkboxje voor de invoer velden toevoegen.
// Niet een vinkboxje toevoegen voor de flexkenmerken. Dat doet generateFlexKenmerkBlock.listKenmerk wel.
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not("[class^='fldflex']").not("[class^='fldSflex']").each(
function() {
if ($(this).hasClass("flddate"))
var cb_name = "check_" + $(this).attr("id").substr("show_".length);
else if ($(this).hasClass("suggest"))
var cb_name = "check_" + $(this).attr("id").substr(0, $(this).attr("id").length-5);
else
var cb_name = "check_" + $(this).attr("name");
var cb = $("<input type='checkbox'>").attr("name", cb_name);
var td = $("<td class='multi_cb'></td>").append(cb);
$(this).closest("tr").find(" td.label").before(td);
// Zetten vinkje als je waarde invult
if ($(this).hasClass('suggest'))
{ // Suggest veld: Functie putCheckmarkSuggest() aan sgonchange koppelen.
this.setAttribute("sgonchange", "putCheckmarkSuggest");
}
else if ($(this).hasClass("flddate"))
{
// De FCLTcalendar vervaldatum heeft zijn eigen onChange functie die wordt aangeroepen.
// Geen change functie aan het datum veld koppelen.
}
else
{ // Andere velden dan suggest veld.
$(this).change(function()
{
if ($(this).is(":checkbox"))
var isgevuld = $(this).is(":checked")
else
var isgevuld = $(this).val();
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
});
}
// Zetten vinkje als je waarde invult
if ($(this).hasClass('suggest'))
{ // Suggest veld: Functie putCheckmarkSuggest() aan sgonchange koppelen.
this.setAttribute("sgonchange", "putCheckmarkSuggest");
}
else if ($(this).hasClass("flddate"))
{
// De FCLTcalendar vervaldatum heeft zijn eigen onChange functie die wordt aangeroepen.
// Geen change functie aan het datum veld koppelen.
}
else
{ // Andere velden dan suggest veld.
$(this).change(function()
{
if ($(this).is(":checkbox"))
var isgevuld = $(this).is(":checked")
else
var isgevuld = $(this).val();
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
});
}
// 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));
});
});
</script>
// 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));
});
});
</script>
<%
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)