From f5c92264058da4b54b98c8a9eb23084fb938d65c Mon Sep 17 00:00:00 2001 From: Erik Groener Date: Wed, 4 Apr 2018 10:40:50 +0000 Subject: [PATCH] ARFR#36760 ARFR - MLD/INS: Aiai als bij vakgroeptype wel objecten maar svn path=/Website/branches/v2017.3/; revision=37540 --- APPL/API2/model_mld_stdmelding.inc | 2 +- APPL/MLD/mld_edit_melding.js | 31 +++++++++++++++++------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/APPL/API2/model_mld_stdmelding.inc b/APPL/API2/model_mld_stdmelding.inc index 710846a332..9a00a674d4 100644 --- a/APPL/API2/model_mld_stdmelding.inc +++ b/APPL/API2/model_mld_stdmelding.inc @@ -358,7 +358,7 @@ function model_mld_stdmelding() }, "departmentobjects": { "dbs": "alg_org_obj_niveau", - "typ": "key", + "typ": "number", "label": L("lcl_mld_dep_obj"), "LOV": departmentobjects_foreign(), "emptyoption": null diff --git a/APPL/MLD/mld_edit_melding.js b/APPL/MLD/mld_edit_melding.js index 5c29119ae0..c4cb07ab31 100644 --- a/APPL/MLD/mld_edit_melding.js +++ b/APPL/MLD/mld_edit_melding.js @@ -318,7 +318,7 @@ function getObjectInfo(changed_niveau, noRecalcEinddatum) { var alg_onrgoed_obj_niveau = $("#alg_onrgoed_obj_niveau").val(); - if (show_ins && alg_onrgoed_obj_niveau != "") + if (show_ins && ((alg_onrgoed_obj_niveau != "" && changed_niveau != "P") || (alg_onrgoed_obj_niveau == "" && changed_niveau == "P"))) { // Alleen als er objecten gekozen worden var alg_key = -1; if (changed_niveau == "L") @@ -346,22 +346,25 @@ function getObjectInfo(changed_niveau, noRecalcEinddatum) break; case "A": disableobjects = false; break; + case "P": disableobjects = false; + break; } $("#r_objs_button").attr('disabled', disableobjects); // Als een niveau niet verplicht is gaan we hem zelfs negeren. // Als waarde leeg is dan niveau hoger pakken. - if ((changed_niveau == "R" && !$("#ruimte").hasClass("required")) || alg_key < 0) + var has_alglocation = (alg_key < 0) && changed_niveau != "A" && changed_niveau != "P"; + if ((changed_niveau == "R" && !$("#ruimte").hasClass("required")) || (has_alglocation)) { alg_key = $('#verdiepingkey').val(); changed_niveau = "V"; } - if ((changed_niveau == "V" && !$("#verdieping").hasClass("required")) || alg_key < 0) + if ((changed_niveau == "V" && !$("#verdieping").hasClass("required")) || (has_alglocation)) { alg_key = $('#gebouwkey').val(); changed_niveau = "G"; } - if ((changed_niveau == "G" && !$("#gebouw").hasClass("required")) || alg_key < 0) + if ((changed_niveau == "G" && !$("#gebouw").hasClass("required")) || (has_alglocation)) { alg_key = $('#locatiekey').val(); changed_niveau = "L"; @@ -369,7 +372,7 @@ function getObjectInfo(changed_niveau, noRecalcEinddatum) var prs_key = ($("#personFor").length > 0? $("#personFor").val() : $("#person").val()); var stdmld_key = $('#stdm').val(); - if (!disableobjects && alg_key > 0) + if (!disableobjects && (alg_key > 0 || changed_niveau == "P")) { // De callback functie process_object_info kan automatische een object selecteren. // In dat geval moet er een recalcEinddatum() worden uitgevoerd. // Zorg ervoor dat eerst de getJSON + callback functie geheel is uitgevoerd (async), @@ -799,10 +802,10 @@ function process_stdm_info(data, stdmChanged) // stdmChanged is optioneel. } // Moet de omschrijving nu getoond worden en is de omschrijving dan verplicht? - var toggleomschrijving = (stdm_info.freetext != 0 || stdm_info.subject != 0); - $("#mldOmschrijving").toggle(toggleomschrijving); + var toggleomschrijving = (stdm_info.freetext != 0 || stdm_info.subject != 0); + $("#mldOmschrijving").toggle(toggleomschrijving); -// Alleen individueel tonen/verstoppen als het blok daadwerkelijk verschijnt. + // Alleen individueel tonen/verstoppen als het blok daadwerkelijk verschijnt. if (toggleomschrijving) { $("#melding_omschrijving").toggle(stdm_info.freetext != 0); // verstop de omschrijving @@ -850,9 +853,9 @@ function process_stdm_info(data, stdmChanged) // stdmChanged is optioneel. case "A": if ($("#person").val() < 0) disableobjects = true; break; - case "": // Voor deze stdmelding mogen geen objecten worden gekozen. - disableobjects = true; - $("#r_objs_button").val(L("lcl_mld_objects") + "(0)"); + case "": // Voor deze stdmelding mogen nu ook objecten worden gekozen. + disableobjects = false; + //$("#r_objs_button").val(L("lcl_mld_objects") + "(0)"); break; } $("#r_objs_button").attr('disabled', disableobjects); @@ -860,7 +863,9 @@ function process_stdm_info(data, stdmChanged) // stdmChanged is optioneel. if (!disableobjects) { var noRecalcEinddatum = !stdmChanged; - if (stdm_info.alg_onrgoed_obj_niveau == 'A' && $("#person").val() > 0) + if (stdm_info.alg_onrgoed_obj_niveau == "" && $("#person").val() > 0) + getObjectInfo("P", noRecalcEinddatum); + else if (stdm_info.alg_onrgoed_obj_niveau == "A" && $("#person").val() > 0) getObjectInfo("A", noRecalcEinddatum); else if ($("#ruimtekey").val() > 0) getObjectInfo("R", noRecalcEinddatum); @@ -1104,7 +1109,7 @@ function mld_melding_object() } else // Locatie is altijd verplicht. { - alg_key = $('#locatiekey').val(); + alg_key = $('#locatiekey').val() || -1; alg_niveau = "L"; }