FCLT#82594: Melding 'opdelen' in deelmeldingen.
svn path=/Website/branches/v2024.2/; revision=65306
This commit is contained in:
@@ -5388,7 +5388,7 @@ mld = {
|
||||
mresult.canPlaatsChange = true;
|
||||
mresult.canAflChange = true;
|
||||
mresult.canPersChange = mresult.canWrite("WEB_MLDFOF");
|
||||
mresult.canPrioChange = (planbaar == 0 && planbaarfe == 00 && mresult.canWrite("WEB_MLDFOF") || (mresult.canFEwrite && frontendprio));
|
||||
mresult.canPrioChange = (planbaar == 0 && planbaarfe == 0 && mresult.canWrite("WEB_MLDFOF") || (mresult.canFEwrite && frontendprio));
|
||||
mresult.canTerugzet = (is_fo_melding && mresult.canWrite("WEB_MLDBOF") && !is_planned_action && !is_conceptmelding);
|
||||
mresult.canForwardTeam = ((S("mld_fo_can_assign_team") == 1 && mresult.canWrite("WEB_MLDFOF")) || mresult.canWrite("WEB_MLDBOF")) && hasTeams;
|
||||
// Alleen FO en FE kan melding aanpassen. BOF/BO3 toevoegen heeft voor volgende twee geen zin
|
||||
@@ -5454,7 +5454,6 @@ mld = {
|
||||
}
|
||||
/* Waarden hierna gelden dus voor zowel 4 als 7 */
|
||||
mresult.canPersChange = mresult.canWrite("WEB_MLDFOF");
|
||||
// FO kan alleen omschrijving aanpassen
|
||||
mresult.canChange = (mresult.canWrite("WEB_MLDBOF") || mresult.canWrite("WEB_MLDFOF"));
|
||||
mresult.canChangeKenmerkBlok = userIsBlokbehandelaar;
|
||||
mresult.canChangeUrole = mresult.canWrite("WEB_MLDBOF") || userIsBlokbehandelaar ? 'bo' : 'fo';
|
||||
|
||||
@@ -882,15 +882,15 @@ SUBFRAME_START();
|
||||
emptyOption: "",
|
||||
filtercode: "A",
|
||||
autlevel: (this_mld.authparams(autfunction)? this_mld.authparams(autfunction).ALGreadlevel : 9),
|
||||
readonly: (mld_melding.deladdress_key > 0 && mld_key > 0 && !this_mld.canAflChange),
|
||||
readonly: (mld_melding.deladdress_key > 0 && mld_key > 0 && !this_mld.canAflChange) || (mld_key > 0 && !this_mld.canChange && this_mld.canChangeKenmerkBlok),
|
||||
required: mld_melding.afleveradres_verplicht
|
||||
});
|
||||
}
|
||||
|
||||
/* Global variables (spanning multiple BLOCK's) */
|
||||
var personEditable = (mld_key > 0 && this_mld.canPersChange) || (mld_key < 0 && !frontend);
|
||||
var personEditable = (mld_key > 0 && this_mld.canPersChange && this_mld.canChange) || (mld_key < 0 && !frontend);
|
||||
var personForExist = (S("mld_allow_for_others") == 1 || S("mld_allow_for_others") == 2) &&
|
||||
(mld_key < 0 || this_mld.canKostChange || mld_melding.melder_key != mld_melding.perslid_key_voor) && !cont;
|
||||
(mld_key < 0 || (this_mld.canKostChange && this_mld.canChange) || mld_melding.melder_key != mld_melding.perslid_key_voor) && !cont;
|
||||
/* \Global variables */
|
||||
|
||||
/* In deze functie staan alle blokken */
|
||||
@@ -901,7 +901,7 @@ SUBFRAME_START();
|
||||
|
||||
if (id == "mldCaller")
|
||||
{
|
||||
var personForEditable = (mld_key > 0 && this_mld.canKostChange) || (mld_key < 0);
|
||||
var personForEditable = (lBestaandeMelding && this_mld.canKostChange && this_mld.canChange) || lNieuweMelding;
|
||||
if (((S("mld_allow_for_others") == 1 || S("mld_allow_for_others") == 2) && (personForEditable || (mld_melding.melder_key != mld_melding.perslid_key_voor))) ||
|
||||
!frontend || !stdm_info.hide_kostenplaats || mld_melding.kostenpl_key > 0 || S("mld_use_department") == 1)
|
||||
{
|
||||
@@ -950,7 +950,7 @@ SUBFRAME_START();
|
||||
label: L("lcl_mld_afdeling"),
|
||||
autlevel: authparams.PRSwritelevel,
|
||||
filtercode: "INCL",
|
||||
readonly: (mld_key > 0 && !this_mld.canDeptChange),
|
||||
readonly: (mld_key > 0 && !(this_mld.canDeptChange && this_mld.canChange)),
|
||||
required: true,
|
||||
suppressJustOne: true,
|
||||
moreinfo: !frontend
|
||||
@@ -989,12 +989,12 @@ SUBFRAME_START();
|
||||
extracode: "M",
|
||||
filtercode: "AA", // Alleen actieve kostenplaatsen kunnen selecteren "All Active". Huidige waarde als initi<74>le waarde kan bij kostenplaatsen altijd.
|
||||
urlAdd: urlAdd_account,
|
||||
readonly: (mld_key > 0 && !this_mld.canKostChange),
|
||||
readonly: (mld_key > 0 && !(this_mld.canKostChange && this_mld.canChange)),
|
||||
kptoggle: { ischecked: (mld_melding.mld_kk == 1),
|
||||
readonly: (mld_key > 0 && !this_mld.canKostChange),
|
||||
readonly: (mld_key > 0 && !(this_mld.canKostChange && this_mld.canChange)),
|
||||
onChange: "onChangeKostenklant();",
|
||||
hidden: (urole == "fe") },
|
||||
required: (!(mld_key > 0 && !this_mld.canKostChange)? mld_melding.kpnverplicht : false)
|
||||
required: (!(mld_key > 0 && !(this_mld.canKostChange && this_mld.canChange))? mld_melding.kpnverplicht : false)
|
||||
});
|
||||
if (frontend && !mld_melding.mld_kk)
|
||||
{ // Indien frontend en kostenklant vinkje is uit, dan moet alleen de kostenplaats van het geselecteerde gebouw gekozen kunnen worden.
|
||||
@@ -1012,7 +1012,7 @@ SUBFRAME_START();
|
||||
|
||||
if (S("show_ordernr") != 0)
|
||||
{
|
||||
RWFIELDTR("ordernr", "fldshort", L("lcl_mld_inf_Ordernr"), mld_melding.mld_ordernr, {readonly: (mld_key > 0 && !this_mld.canKostChange), maxlength: 30});
|
||||
RWFIELDTR("ordernr", "fldshort", L("lcl_mld_inf_Ordernr"), mld_melding.mld_ordernr, {readonly: (mld_key > 0 && !(this_mld.canKostChange && this_mld.canChange)), maxlength: 30});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1065,7 +1065,7 @@ SUBFRAME_START();
|
||||
// 1 = vakgroep readonly
|
||||
// 2 = alleen melding
|
||||
var vakg_readonly = !cont && (disc_key > 0 ||
|
||||
((mld_key > 0 && !this_mld.canVakgChange) || stdm_info.is_kto_antwoord) ||
|
||||
((mld_key > 0 && !(this_mld.canVakgChange && this_mld.canChange)) || stdm_info.is_kto_antwoord) ||
|
||||
(frontend && (S("mld_selector_mode") == 1 || S("mld_selector_mode") == 2)) ||
|
||||
(lBestaandeMelding && stdm_info.slabewaken && mld_melding.respijt != 0));
|
||||
var urlAdd = [];
|
||||
@@ -1113,7 +1113,7 @@ SUBFRAME_START();
|
||||
|| (frontend && S("mld_selector_mode") == 2 && isurl_disc) // Als frontend en setting mld_selector_mode =2 en disc_key via url, dan stdmelding wel afhankelijk van discipline.
|
||||
)
|
||||
urlAdd.push({urlParam: "disc_key", field: "disc"});
|
||||
var stdm_readonly = ((mld_defaultstdmelding_key > 0 && !cont) || (mld_key > 0 && !this_mld.canStdmChange) || (lBestaandeMelding && stdm_info.slabewaken && mld_melding.respijt != 0));
|
||||
var stdm_readonly = ((mld_defaultstdmelding_key > 0 && !cont) || (mld_key > 0 && !(this_mld.canStdmChange && this_mld.canChange)) || (lBestaandeMelding && stdm_info.slabewaken && mld_melding.respijt != 0));
|
||||
var res =
|
||||
FCLTstdmeldingselector("stdm",
|
||||
"sgStdm",
|
||||
@@ -1312,7 +1312,7 @@ SUBFRAME_START();
|
||||
</script>
|
||||
|
||||
<%
|
||||
if (!lBestaandeMelding && mld_defaultstdmelding_key == -1 && !lAllThirdparty)
|
||||
if (lNieuweMelding && mld_defaultstdmelding_key == -1 && !lAllThirdparty)
|
||||
{
|
||||
RWFIELDTR("naam_ext", "fld", L("lcl_mld_naam_ext"), mld_melding.naam_ext, {maxlength: 60});
|
||||
RWFIELDTR("email_ext", "fld", L("lcl_mld_email_ext"), mld_melding.email_ext, {maxlength: 100});
|
||||
@@ -1335,7 +1335,7 @@ SUBFRAME_START();
|
||||
datum : mld_melding.melddatum,
|
||||
minFuture : (frontend ? 0 : -1),
|
||||
onChange: "onChangeStartdatum();",
|
||||
readonly: !this_mld.canWriteDatums && mld_melding.show_start_date, // Als hij verborgen is hoeftie niet readonly
|
||||
readonly: !this_mld.canWriteDatums && (lNieuweMelding || (lBestaandeMelding && !this_mld.canChange)) && mld_melding.show_start_date, // Als hij verborgen is hoeftie niet readonly
|
||||
required: true,
|
||||
trhidden: mld_key > 0 && !mld_melding.show_start_date, // De hele tr moet hidden en niet alleen het inputveld
|
||||
volgnr: 1,
|
||||
@@ -1343,7 +1343,7 @@ SUBFRAME_START();
|
||||
});
|
||||
// We hebben hier het veld startdate nodig voor de functie get_mld_info_ajax(calc_einddatum, ..)
|
||||
// Ook als deze readonly is, dus dan alsnog toevoegen. Let op: startdate MOET een integer zijn!
|
||||
if (!this_mld.canWriteDatums && mld_melding.show_start_date)
|
||||
if (!this_mld.canWriteDatums && (lNieuweMelding || (lBestaandeMelding && !this_mld.canChange)) && mld_melding.show_start_date)
|
||||
{ %>
|
||||
<input type="hidden" name="startdate" id="startdate" value="<%=mld_melding.melddatum.valueOf()%>">
|
||||
<% }
|
||||
@@ -1363,7 +1363,7 @@ SUBFRAME_START();
|
||||
startTime : S("fac_t_startofworkday"),
|
||||
endTime : S("fac_t_endofworkday"),
|
||||
onChange : "onChangeActiondate();",
|
||||
readonly : frontend || (mld_key > 0 && !this_mld.canWriteDatums),
|
||||
readonly : frontend || (mld_key > 0 && !(this_mld.canWriteDatums && this_mld.canChange)),
|
||||
trclass : "tractiondate" + (actiondate_is_today? " today" : ""),
|
||||
trhidden : !stdm_info.show_actiedatum, // De hele tr moet hidden en niet alleen het inputveld als in FE mode readonly
|
||||
volgnr : 2,
|
||||
@@ -1386,7 +1386,7 @@ SUBFRAME_START();
|
||||
startTime: S("fac_t_startofworkday"),
|
||||
endTime : S("fac_t_endofworkday"),
|
||||
onChange : "onChangeEnddate();",
|
||||
readonly : mld_key > 0 && !this_mld.canWriteDatums,
|
||||
readonly : mld_key > 0 && !(this_mld.canWriteDatums && this_mld.canChange),
|
||||
required : true,
|
||||
trclass : "trenddate",
|
||||
trhidden : einddatumHidden, // De hele tr moet hidden en niet alleen het inputveld als in FE mode readonly
|
||||
@@ -1432,7 +1432,7 @@ SUBFRAME_START();
|
||||
onVerCascade: "getObjectInfo(true);",
|
||||
onRuiCascade: "getObjectInfo(true);",
|
||||
moreinfo: (this_mld.canBOwrite || this_mld.canFOwrite) && !frontend,
|
||||
readonly: (mld_key > 0 && !this_mld.canPlaatsChange),
|
||||
readonly: (mld_key > 0 && !(this_mld.canPlaatsChange && this_mld.canChange)),
|
||||
filtercode: mld_melding.alg_level <= 2 ? null : "FACMLD", /*strict genomen alleen voor FE/FO, maar readonly maakt dit vanzelf goed toch? */
|
||||
suppressEmpty: true,
|
||||
eindlevel: (mld_melding.alg_level ? mld_melding.alg_level : 2), // Minimaal Locatie
|
||||
@@ -1451,7 +1451,7 @@ SUBFRAME_START();
|
||||
{ urlParam: "issuer_search", field: "issuer_search" }]
|
||||
}); // Minstens locatie
|
||||
|
||||
if (mld_melding.show_bes && mld.nextBlock() == "mldBes")
|
||||
if (mld_melding.show_bes && mld.nextBlock() == "mldBes" && !(mld_key > 0 && !this_mld.canChange && this_mld.canChangeKenmerkBlok && !mld_melding.deladdress_key))
|
||||
{
|
||||
injectAdresselector();
|
||||
blockPrinted["mldBes"] = true; // Zorgt ervoor dat het mldBes block overgeslagen wordt
|
||||
@@ -1461,7 +1461,7 @@ SUBFRAME_START();
|
||||
} // \mldAlg
|
||||
else if (id == "mldBes")
|
||||
{
|
||||
if (mld_melding.show_bes)
|
||||
if (mld_melding.show_bes && !(mld_key > 0 && !this_mld.canChange && this_mld.canChangeKenmerkBlok && !mld_melding.deladdress_key))
|
||||
{
|
||||
BLOCK_START(id, L("lcl_aflevergegevens"), {icon: "fa-address-card"});
|
||||
injectAdresselector();
|
||||
@@ -1533,7 +1533,7 @@ SUBFRAME_START();
|
||||
autlevel: this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel,
|
||||
urlAdd: urlAdd,
|
||||
suppressEmpty: true,
|
||||
readonly: !this_mld.canAfhandChange,
|
||||
readonly: !(this_mld.canAfhandChange && this_mld.canChange),
|
||||
required: (mld_melding.primaire_behandelaar == 2),
|
||||
filtercode: (mld_melding.mld_status == 0 ? "BEHF" : "BEHB")
|
||||
});
|
||||
@@ -1558,7 +1558,7 @@ SUBFRAME_START();
|
||||
else
|
||||
ROFIELDTR("fld", L("lcl_mld_externr"), mld_melding.externnr, {suppressEmpty: true});
|
||||
|
||||
if (stdm_info.slabewaken && this_mld.canSLAChange)
|
||||
if (stdm_info.slabewaken && this_mld.canSLAChange && this_mld.canChange)
|
||||
{
|
||||
sql = "SELECT 'U', " + safe.quoted_sql(L("lcl_mld_hours")) + " FROM DUAL"
|
||||
+ " UNION SELECT 'D', " + safe.quoted_sql(L("lcl_mld_days")) + " FROM DUAL"
|
||||
@@ -1574,10 +1574,10 @@ SUBFRAME_START();
|
||||
RWFIELDTR("respijt", "fld", L("lcl_mld_respijt"), mld_melding.respijt? Math.round(mld_melding.respijt * 1000) / 1000 : "", {maxlength: 8, datatype: "float", selector: selectparams});
|
||||
RWCHECKBOXTR("indult", "fldafr", L("lcl_mld_indult"), mld_melding.indult);
|
||||
}
|
||||
if (this_mld.canAfrond)
|
||||
if (this_mld.canAfrond && this_mld.canChange)
|
||||
RWCHECKBOXTR("afgerond", "fldafr", L("lcl_mld_afgerond"), mld_melding.mld_afgerond, { "html": "onChange='onChangeAfgerond(this)'" });
|
||||
|
||||
if ((mld_melding.kto_opt & 2) == 2 && mld_melding.kto_verstuurd == null && this_mld.canClose)
|
||||
if ((mld_melding.kto_opt & 2) == 2 && mld_melding.kto_verstuurd == null && this_mld.canClose && this_mld.canChange) // Bij nieuwe meldingen is this_mld.canClose false.
|
||||
RWCHECKBOXTR("ktoself", "fldkto", L("lcl_mld_kto_invite"), mld_melding.kto);
|
||||
else
|
||||
ROCHECKBOXTR("fldkto", L("lcl_mld_kto_invite"), mld_melding.kto, { suppressEmpty: true });
|
||||
@@ -1605,7 +1605,7 @@ SUBFRAME_START();
|
||||
{
|
||||
if (canUseTeams)
|
||||
{
|
||||
var hideSelectors = !this_mld.canBOwrite;
|
||||
var hideSelectors = !this_mld.canBOwrite && (lNieuweMelding || (lBestaandeMelding && !this_mld.canChange));
|
||||
var initHideProcessingBlock = lNieuweMelding || hideSelectors || !(mld_melding.srtgroep & 4); // Voor cost is deze waarde altijd true (lNieuweMelding is true).
|
||||
BLOCK_START(id, L("lcl_mld_processing_details"), {icon: "fa-wrench", hidden: initHideProcessingBlock});
|
||||
var urlAdd = [{ urlParam: "disc", field: "disc", init: mld_melding.disc_key }];
|
||||
@@ -1686,8 +1686,8 @@ SUBFRAME_START();
|
||||
var objparams = { module: "M",
|
||||
mld_key: mld_key,
|
||||
ins_key: ins_key,
|
||||
canPlaatsChange: copy_or_cont && !multi? this_mld_copy.canPlaatsChange : this_mld.canPlaatsChange,
|
||||
canClose: copy_or_cont && !multi? this_mld_copy.canClose : this_mld.canClose,
|
||||
canPlaatsChange: copy_or_cont && !multi? this_mld_copy.canPlaatsChange : !(this_mld.canPlaatsChange && (lNieuweMelding || (lBestaandeMelding && this_mld.canChange))),
|
||||
canClose: copy_or_cont && !multi? this_mld_copy.canClose : this_mld.canClose && this_mld.canChange, // Bij nieuwe meldingen is this_mld.canClose false.
|
||||
hasMultiObj: thereAreMultipleObjects,
|
||||
init_obj_key: (mld_melding.room_obj_arr && mld_melding.room_obj_arr.length == 1? mld_melding.room_obj_arr[0].ins_key : -1),
|
||||
srtinst_verplichtstatus: mld_melding.srtinst_verplichtstatus,
|
||||
@@ -1710,7 +1710,9 @@ SUBFRAME_START();
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
show_obj_fld = (ins_key < 0 && (mld_key <= 0 || this_mld.canPlaatsChange)) || (thereAreObjects && (lNieuweMelding || this_mld.canChange)) || (this_mld.canClose && status_ojb_verplicht == 5);
|
||||
show_obj_fld = (ins_key < 0 && (lNieuweMelding || (this_mld.canPlaatsChange && this_mld.canChange))) ||
|
||||
(thereAreObjects && (lNieuweMelding || this_mld.canChange)) ||
|
||||
(this_mld.canClose && this_mld.canChange && status_ojb_verplicht == 5); // Bij nieuwe meldingen is this_mld.canClose false.
|
||||
} // if (mld_melding.show_ins)
|
||||
|
||||
var show_any_ref = (mld_melding.rsv_ruimte_key && mld_melding.res_key) // Reservering referentie
|
||||
@@ -1770,7 +1772,7 @@ SUBFRAME_START();
|
||||
// Geen omschrijving indien mld_stdmelding_freetext == 0 en mld_stdmelding_subject == 0
|
||||
BLOCK_START(id, L("lcl_txt"), { wide: true, icon: "fa-comment-lines", hidden: (mld_melding.freetext == 0 && mld_melding.subject == 0) });
|
||||
|
||||
var oms_readonly = !(this_mld.canOmsChange || mld_key < 0) || txtreado;
|
||||
var oms_readonly = (mld_key > 0 && !(this_mld.canOmsChange && this_mld.canChange)) || txtreado;
|
||||
if (S("mld_omschrijving_restrict_edit") == 1)
|
||||
oms_readonly = oms_readonly || !((S("mld_rejected_is_open") == 1 && mld_melding.mld_status == 1) || mld_melding.mld_status == 2 || mld_melding.mld_status == -1);
|
||||
|
||||
@@ -1778,7 +1780,7 @@ SUBFRAME_START();
|
||||
if (mld_melding.subject != 0 /* Onzichtbaar */ && !(mld_melding.subject == 3 && mld_key < 0) /* AI will generate */ && !(oms_readonly && !mld_melding.mld_onderwerp))
|
||||
{
|
||||
RWFIELDTR("melding_onderwerp",
|
||||
"fld" + ((mld_melding.subject == 2 && (this_mld.canOmsChange || mld_key < 0) && !txtreado)? " required" : ""), /* prepared, 3=future value */
|
||||
"fld" + ((mld_melding.subject == 2 && (mld_key < 0 || (this_mld.canOmsChange && this_mld.canChange)) && !txtreado)? " required" : ""), /* prepared, 3=future value */
|
||||
L("lcl_mld_subject"),
|
||||
mld_melding.mld_onderwerp,
|
||||
{ maxlength: 80, readonly: oms_readonly });
|
||||
@@ -1788,7 +1790,7 @@ SUBFRAME_START();
|
||||
{
|
||||
// Complaint text description
|
||||
RWTEXTAREATR( "melding_omschrijving",
|
||||
"fldtxt" + ((mld_melding.freetext == 2 && (this_mld.canOmsChange || mld_key < 0) && !txtreado)? " required" : ""),
|
||||
"fldtxt" + ((mld_melding.freetext == 2 && (mld_key < 0 || (this_mld.canOmsChange && this_mld.canChange)) && !txtreado)? " required" : ""),
|
||||
L("lcl_mld_inf_Omschrijving"),
|
||||
mld_melding.mld_omschr,
|
||||
{ html: "rows='5'", readonly: oms_readonly, bb_codes: true, maxlength: S("mld_melding_oms_maxlen") });
|
||||
@@ -1802,6 +1804,7 @@ SUBFRAME_START();
|
||||
if ((!prsautlevel || prsautlevel == 9) && this_mld.canChangeKenmerkBlok) {
|
||||
prsautlevel = -1;
|
||||
}
|
||||
|
||||
var flexParams = {stdm_arr: mld_melding.stdm_key > 0? [mld_melding.stdm_key] : [],
|
||||
mld_key: mld_copy_key > 0? mld_copy_key : mld_key,
|
||||
copy: mld_copy_key > 0,
|
||||
@@ -1814,7 +1817,7 @@ SUBFRAME_START();
|
||||
srtdisc: S("mld_processing_group_all")? [] : [mld_melding.srtdisc_key],
|
||||
disc: mld_melding.disc_key, // Initiele waarde primaire Vakgroep/Behandelteam.
|
||||
prsautlevel: prsautlevel,
|
||||
hideteams: (!canUseTeams || !this_mld.canBOwrite || !(fronto || backo)),
|
||||
hideteams: (!canUseTeams || !this_mld.canBOwrite),
|
||||
show_alg: mld_melding.show_alg,
|
||||
loc_key: mld_melding.loc_key,
|
||||
this_mld: this_mld
|
||||
@@ -1823,7 +1826,7 @@ SUBFRAME_START();
|
||||
} // \mldFlex
|
||||
else if (id == "mldAfhandel")
|
||||
{
|
||||
if (lBestaandeMelding && (this_mld.canBOwrite || this_mld.canFOwrite))
|
||||
if (lBestaandeMelding && (this_mld.canBOwrite || this_mld.canFOwrite) && this_mld.canChange)
|
||||
{
|
||||
if (S("mld_afhandeling_restrict_edit") == 0 || mld_melding.remark)
|
||||
{ // Mag ik kennisbank raadplegen en standaard-antwoorden knippen/plakken
|
||||
|
||||
@@ -481,18 +481,16 @@ function getFlexKenmerkBlockSql(params)
|
||||
+ (afd_key > 0
|
||||
? " , CASE"
|
||||
// Waarde behandelblok voor nieuwe melding (mld_key == -1)
|
||||
// 0) Geen (default) behandelteam ingevuld: Afhankelijk van pvolgnummer.
|
||||
// 1) Default behandelteam ingevuld en user zit in het team: Blok altijd tonen.
|
||||
// 2) Default behandelteam ingevuld en user zit NIET in het team: Blok niet tonen.
|
||||
// 0) Kenmerk valt niet onder een behandelbaar blok: Afhankelijk van pvolgnummer.
|
||||
// 1) Default behandelteam ingevuld en user zit in het team: Blok altijd tonen.
|
||||
// 2) Default behandelteam ingevuld en user zit NIET in het team of geen (default) behandelteam ingevuld: Blok niet tonen.
|
||||
+ " WHEN t.mld_srtkenmerk_kenmerktype != 'b'"
|
||||
+ " THEN 0"
|
||||
+ " WHEN k.ins_discipline_key IS NULL"
|
||||
+ " THEN 0"
|
||||
+ " WHEN " + user_key + " IN (" + sql_prs_in_team + ")"
|
||||
+ " THEN 1"
|
||||
+ " ELSE 2"
|
||||
+ " END"
|
||||
: ", 0") + " behandelblok"
|
||||
: ", 2") + " behandelblok"
|
||||
// Bestaande melding.
|
||||
: " , kbm.ins_discipline_key blokbehandelteam"
|
||||
+ " , kbm.prs_perslid_key blokbehandelaar"
|
||||
@@ -500,13 +498,11 @@ function getFlexKenmerkBlockSql(params)
|
||||
+ ((changeMelding || newMelding) && afd_key > 0
|
||||
? " , CASE"
|
||||
// Waarde behandelblok voor beataande melding (mld_key > 0)
|
||||
// 0) Geen behandelteam ingevuld: Afhankelijk van pvolgnummer.
|
||||
// 1) Behandelteam ingevuld en user zit in het team: Blok altijd tonen.
|
||||
// 2) Behandelteam ingevuld en user zit NIET in het team: Blok niet tonen.
|
||||
// 0) Kenmerk valt niet onder een behandelbaar blok: Afhankelijk van pvolgnummer.
|
||||
// 1) Behandelteam ingevuld en user zit in het team: Blok altijd tonen.
|
||||
// 2) Behandelteam ingevuld en user zit NIET in het team of geen behandelteam ingevuld: Blok niet tonen.
|
||||
+ " WHEN t.mld_srtkenmerk_kenmerktype != 'b'"
|
||||
+ " THEN 0"
|
||||
+ " WHEN kbm.ins_discipline_key IS NULL"
|
||||
+ " THEN 0"
|
||||
+ " WHEN " + user_key + " IN (" + sql_prs_in_team + ")"
|
||||
+ " THEN 1"
|
||||
+ " ELSE 2"
|
||||
@@ -673,10 +669,15 @@ function getFlexKenmerkBlockSql(params)
|
||||
|
||||
if (changeMelding || newMelding) // Advanced zoeken (advancedOpdracht) is nooit readonly
|
||||
{ // Als de user een behandelaar van het blok is die niet is afgemeld, dan zijn de bijbehorende kenmerken altijd door de user te wijzigen.
|
||||
if (behandelblok == 1 && !blokisafgemeld)
|
||||
|
||||
// 0) Kenmerk valt NIET onder een behandelbaar blok: Afhankelijk van pvolgnummer.
|
||||
// 1) Behandelteam ingevuld en user zit in het team: Blok altijd tonen.
|
||||
// 2) Behandelteam ingevuld en user zit NIET in het team of geen behandelteam ingevuld: Blok niet tonen.
|
||||
|
||||
if ((behandelblok == 1) && !blokisafgemeld)
|
||||
return false;
|
||||
// Als de user een behandelaar van het blok is die is afgemeld, dan de bijbehorende kenmerken readonly tonen.
|
||||
else if (blokisafgemeld)
|
||||
else if (behandelblok > 0 && blokisafgemeld)
|
||||
return true;
|
||||
// als ik alleen rechten op een kenmerkenblok had en geen canFlexChange rechten heb, dan het kenmerk readonly tonen.
|
||||
else if (mld_key > 0 && !(my_mldrechten.canFlexChange))
|
||||
@@ -745,26 +746,19 @@ function getFlexKenmerkBlockSql(params)
|
||||
// In plaats van dit met de query te regelen, doen we dat hier via de functie isInvisible.
|
||||
// Ik weet namelijk pas m.b.v. de query of ik een behandelbaar blok moet behandelen.
|
||||
|
||||
// Waarde behandelblok voor nieuwe melding (mld_key == -1)
|
||||
// 0) Geen (default) behandelteam ingevuld: Afhankelijk van pvolgnummer
|
||||
// 1) Default behandelteam ingevuld en user zit in het team: Blok altijd tonen
|
||||
// 2) Default behandelteam ingevuld en user zit NIET in het team: Blok niet tonen
|
||||
// Waarde behandelblok voor beataande melding (mld_key > 0)
|
||||
// 0) Geen behandelteam ingevuld: Afhankelijk van pvolgnummer
|
||||
// 1) Behandelteam ingevuld en user zit in het team: Blok altijd tonen
|
||||
// 2) Behandelteam ingevuld en user zit NIET in het team: Blok niet tonen
|
||||
// 0) Kenmerk valt NIET onder een behandelbaar blok: Afhankelijk van pvolgnummer.
|
||||
// 1) Behandelteam ingevuld en user zit in het team: Blok altijd tonen.
|
||||
// 2) Behandelteam ingevuld en user zit NIET in het team of geen behandelteam ingevuld: Blok niet tonen.
|
||||
|
||||
if (!my_mldrechten.canRead("WEB_MLDBOF") &&
|
||||
((behandelblok == 0 && pvolgnummer > 900) ||
|
||||
(behandelblok == 2)))
|
||||
behandelblok == 2)
|
||||
// Alleen met WEB_MLDBOF rechten mag ik melding flexkenmerken boven de 900 zien.
|
||||
return true;
|
||||
|
||||
if (!my_mldrechten.canRead("WEB_MLDBOF") && !my_mldrechten.canRead("WEB_MLDFOF") &&
|
||||
!my_mldrechten.canRead("WEB_MLDBO2") && !my_mldrechten.canRead("WEB_MLDBO3") &&
|
||||
!my_mldrechten.canRead("WEB_MLDORD") && !my_mldrechten.canRead("WEB_MLDBAC") &&
|
||||
((behandelblok == 0 && pvolgnummer > 800) ||
|
||||
(behandelblok == 2)))
|
||||
behandelblok == 2)
|
||||
// Met alleen WEB_MLDUSE rechten mag ik kenmerken tussen 800 en 900 niet zien
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -289,6 +289,7 @@ oRs.close();
|
||||
if (treat)
|
||||
{
|
||||
sqln = "SELECT DISTINCT m.mld_melding_key"
|
||||
+ " , m.mld_melding_onderwerp"
|
||||
+ " , sd.ins_srtdiscipline_prefix"
|
||||
+ sql_mld_prefix
|
||||
+ " , " + (showgekoppeld? "m.mld_melding_parentkey" : "NULL") + " mld_melding_parentkey"
|
||||
@@ -298,11 +299,12 @@ oRs.close();
|
||||
+ " ELSE sd.ins_srtdiscipline_prefix || '-'"
|
||||
+ " END"
|
||||
+ " || " + lcl.xsqla('md.ins_discipline_omschrijving', 'md.ins_discipline_key')
|
||||
+ " , " + lcl.xsqla('std.mld_stdmelding_omschrijving', 'std.mld_stdmelding_key')
|
||||
+ " , k.mld_kenmerk_key kenmerk_key"
|
||||
+ " , COALESCE (" + lcl.xsql("k.mld_kenmerk_omschrijving", "k.mld_kenmerk_key")
|
||||
+ " , " + lcl.xsql("sk.mld_srtkenmerk_omschrijving", "sk.mld_srtkenmerk_key") + ") kenmerk_omschrijving"
|
||||
+ " , CASE WHEN kbm.mld_kenmerkblokmelding_afmelddatum IS NULL THEN 0 ELSE 1 END blokafgemeld";
|
||||
+ " , " + lcl.xsqla('std.mld_stdmelding_omschrijving', 'std.mld_stdmelding_key')
|
||||
+ ", stdg.mld_stdmeldinggroep_naam"
|
||||
+ " , k.mld_kenmerk_key kenmerk_key"
|
||||
+ " , COALESCE (" + lcl.xsql("k.mld_kenmerk_omschrijving", "k.mld_kenmerk_key")
|
||||
+ " , " + lcl.xsql("sk.mld_srtkenmerk_omschrijving", "sk.mld_srtkenmerk_key") + ") kenmerk_omschrijving"
|
||||
+ " , CASE WHEN kbm.mld_kenmerkblokmelding_afmelddatum IS NULL THEN 0 ELSE 1 END blokafgemeld";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -605,6 +607,15 @@ oRs.close();
|
||||
sqln += ", m.mld_melding_kto_type"
|
||||
+ ", m.mld_melding_kto_key";
|
||||
}
|
||||
|
||||
if (treat)
|
||||
{
|
||||
sqln += ", k.mld_kenmerk_key kenmerk_key"
|
||||
+ ", COALESCE (" + lcl.xsql("k.mld_kenmerk_omschrijving", "k.mld_kenmerk_key")
|
||||
+ " , " + lcl.xsql("sk.mld_srtkenmerk_omschrijving", "sk.mld_srtkenmerk_key") + ") kenmerk_omschrijving"
|
||||
+ ", CASE WHEN kbm.mld_kenmerkblokmelding_afmelddatum IS NULL THEN 0 ELSE 1 END blokafgemeld";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Voeg aan de sql het FROM en WHERE gedeelte toe
|
||||
@@ -686,7 +697,7 @@ oRs.close();
|
||||
else
|
||||
{
|
||||
sqln = "SELECT /*+ CURSOR_SHARING_EXACT OPT_PARAM('optimizer_features_enable','11.2.0.4') */ * FROM (" + sqln + ") rec2 ORDER BY"
|
||||
+ (excel ? " UPPER("+lcl.xsql('ins_discipline_omschrijving', 'ins_discipline_key')+"), mld_stdmelding_volgnr, mld_stdmelding_omschrijving," : "");
|
||||
+ (excel? " UPPER(" + lcl.xsql('ins_discipline_omschrijving', 'ins_discipline_key') + "), mld_stdmelding_volgnr, mld_stdmelding_omschrijving," : "");
|
||||
// merk op: mld_melding_einddatum wordt afh van mld_stdmelding_planbaar soms niet getoond in de lijst
|
||||
// dan is sortering 0 verrassend/onbepaald, daar zou je de lege waarden bij elkaar willen, dat is de reden voor mld_stdmelding_planbaar
|
||||
// waarbij 0: einddatum wordt berekend, 1: de einddatum van de melding is default leeg, 2: veld is verborgen, +4 show_actiedatum, MNNL#65934
|
||||
@@ -1478,7 +1489,7 @@ oRs.close();
|
||||
// Als we een subframe onder ins_show_deel zijn dan vooralsnog hier geen toevoeg knop.
|
||||
// Misschien mag je dat namelijk helemaal niet voor dat object en daar staat wel een
|
||||
// toverstafje die veel nauwkeuriger werkt.
|
||||
if (canAdd && !params.deel_key && !params.deelsrtcont_key && !(params.mldgroup_key > 0 ))
|
||||
if (!treat && canAdd && !params.deel_key && !params.deelsrtcont_key && !(params.mldgroup_key > 0 ))
|
||||
{
|
||||
var addurl = "appl/mld/mld_melding.asp?urole=" + (backo ? "fo" : urole); // backo mag niet toevoegen
|
||||
if (params.srtdisc_key_arr.length === 1)
|
||||
@@ -1520,11 +1531,19 @@ oRs.close();
|
||||
var rst = new ResultsetTable({ keyColumn: "mld_melding_key",
|
||||
sql: sqln,
|
||||
ID: "treatmenttable",
|
||||
tabs_code: "mld_list-" + urole,
|
||||
flexModule: "MLD",
|
||||
flexId: "mld_melding_key",
|
||||
flexGroupId: "mld_stdmelding_key", // Kenmerken zijn ook op stdmelding niveau gedefinieerd
|
||||
flexParentGroupId: "ins_discipline_key", // Kenmerken zijn ook op stdmelding niveau gedefinieerd
|
||||
flexChangeNiveau: "S", // Niveau voor extra headers (met kenmerken) in excel
|
||||
flexParams: (urole=="fe" && (print || excel)) ? fnrowFlexParams : null,
|
||||
filterParams: params,
|
||||
outputmode: outputmode,
|
||||
title: (params.mldgroup_key > 0 ? L("lcl_mld_groeperingmeldingen") : L("lcl_complains")),
|
||||
endText: fnendText,
|
||||
showAll: showall
|
||||
showAll: showall,
|
||||
buttons: buttons
|
||||
});
|
||||
else
|
||||
var rst = new ResultsetTable({ keyColumn: "mld_melding_key",
|
||||
@@ -1561,8 +1580,10 @@ oRs.close();
|
||||
if (treat)
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_number"), datatype: "number", content: fncolKey, colName: "fncolKey" }));
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_meldinggroep"), content: "mld_stdmeldinggroep_naam"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_vakgroup"), content: "ins_discipline_omschrijving", combine: false}));
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_complain"), content: "mld_stdmelding_omschrijving", combine: false }));
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_complain"), content: "mld_stdmelding_omschrijving", combine: true }));
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_subject"), content: fncolSubject, colName: "fncolSubject", thClass: "sorttable_alpha"}));
|
||||
for (var i = 0; i < kenm.key.length; i++)
|
||||
{
|
||||
rst.addColumn(new Column({caption: String(kenm.omschr[i]),
|
||||
@@ -1752,45 +1773,57 @@ if (!excel && !print)
|
||||
|
||||
<div id="legenda" style="display:none; line-height: 30px;">
|
||||
<table id="meldinglegenda">
|
||||
<tr>
|
||||
<td title="<%= L("lcl_mld_legenda_normal_tt") %>"><%= L("lcl_mld_legenda_normal") %></td>
|
||||
</tr>
|
||||
<tr class="expired1">
|
||||
<td title="<%= L("lcl_mld_legenda_expired1_tt") %>"><%= L("lcl_mld_legenda_expired1") %></td>
|
||||
</tr>
|
||||
<tr class="expired2">
|
||||
<td title="<%= L("lcl_mld_legenda_expired2_tt") %>"><%= L("lcl_mld_legenda_expired2") %></td>
|
||||
</tr>
|
||||
<tr class="updated">
|
||||
<td title="<%= L("lcl_mld_legenda_updated_tt") %>"><%= L("lcl_mld_legenda_updated") %></td>
|
||||
</tr>
|
||||
<tr class="expired2 updated">
|
||||
<td title="<%= L("lcl_mld_legenda_expired2_tt") %>/<%= L("lcl_mld_legenda_updated_tt")%>"><%= L("lcl_mld_legenda_expired2") %>+<%= L("lcl_mld_legenda_updated") %></td>
|
||||
</tr>
|
||||
<% if (anyorders)
|
||||
<% if (treat)
|
||||
{ %>
|
||||
<tr class="unsolved">
|
||||
<td title="<%= L("lcl_mld_legenda_unsolved_tt") %>"><%= L("lcl_mld_legenda_unsolved") %></td>
|
||||
</tr>
|
||||
<tr class="unready">
|
||||
<td title="<%= L("lcl_mld_legenda_unready_tt") %>"><%= L("lcl_mld_legenda_unready") %></td>
|
||||
</tr>
|
||||
<% } %>
|
||||
<tr class="sleepy">
|
||||
<td title="<%= L("lcl_mld_legenda_sleepy_tt") %>"><%= L("lcl_mld_legenda_sleepy") %></td>
|
||||
</tr>
|
||||
<tr class="child">
|
||||
<td title="<%= L("lcl_mld_legenda_child_tt") %>"><%= L("lcl_mld_legenda_child") %></td>
|
||||
</tr>
|
||||
<% // Vlag 0 tonen we niet
|
||||
for (var flagkey=1; flagkey < S('mld_melding_flags'); flagkey++)
|
||||
{
|
||||
<tr class="unsolved">
|
||||
<td><span class="mldClosed"><%=I("fa-check")%></span> <%=L("lcl_afgemeld")%></td>
|
||||
</tr>
|
||||
<tr class="unsolved">
|
||||
<td><span class=""><%=I("fa-times")%></span> <%=L("lcl_mld_not")%> <%=L("lcl_afgemeld")%></td>
|
||||
</tr>
|
||||
<% }
|
||||
else
|
||||
{ %>
|
||||
<tr>
|
||||
<td title="<%= L("lcl_mld_legenda_normal_tt") %>"><%= L("lcl_mld_legenda_normal") %></td>
|
||||
</tr>
|
||||
<tr class="expired1">
|
||||
<td title="<%= L("lcl_mld_legenda_expired1_tt") %>"><%= L("lcl_mld_legenda_expired1") %></td>
|
||||
</tr>
|
||||
<tr class="expired2">
|
||||
<td title="<%= L("lcl_mld_legenda_expired2_tt") %>"><%= L("lcl_mld_legenda_expired2") %></td>
|
||||
</tr>
|
||||
<tr class="updated">
|
||||
<td title="<%= L("lcl_mld_legenda_updated_tt") %>"><%= L("lcl_mld_legenda_updated") %></td>
|
||||
</tr>
|
||||
<tr class="expired2 updated">
|
||||
<td title="<%= L("lcl_mld_legenda_expired2_tt") %>/<%= L("lcl_mld_legenda_updated_tt")%>"><%= L("lcl_mld_legenda_expired2") %>+<%= L("lcl_mld_legenda_updated") %></td>
|
||||
</tr>
|
||||
<% if (anyorders)
|
||||
{ %>
|
||||
<tr class="unsolved">
|
||||
<td title="<%= L("lcl_mld_legenda_unsolved_tt") %>"><%= L("lcl_mld_legenda_unsolved") %></td>
|
||||
</tr>
|
||||
<tr class="unready">
|
||||
<td title="<%= L("lcl_mld_legenda_unready_tt") %>"><%= L("lcl_mld_legenda_unready") %></td>
|
||||
</tr>
|
||||
<% } %>
|
||||
<tr class="sleepy">
|
||||
<td title="<%= L("lcl_mld_legenda_sleepy_tt") %>"><%= L("lcl_mld_legenda_sleepy") %></td>
|
||||
</tr>
|
||||
<tr class="child">
|
||||
<td title="<%= L("lcl_mld_legenda_child_tt") %>"><%= L("lcl_mld_legenda_child") %></td>
|
||||
</tr>
|
||||
<% // Vlag 0 tonen we niet
|
||||
for (var flagkey=1; flagkey < S('mld_melding_flags'); flagkey++)
|
||||
{
|
||||
%><tr><td>
|
||||
<span class="mldflag<%=flagkey%>"><%=I("fa-fclt-flag")%></span>
|
||||
<%=L("lcl_mld_flag"+flagkey)%>
|
||||
</td></tr><%
|
||||
}
|
||||
%>
|
||||
}
|
||||
%>
|
||||
<% } %>
|
||||
</table>
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
@@ -97,6 +97,30 @@ var element_description = ( S("ins_element_description") == ""
|
||||
: S("ins_element_description")
|
||||
);
|
||||
|
||||
/*
|
||||
Does there exist;
|
||||
1: A vakgroep which can be a team
|
||||
2: A vakgroep which can have a team
|
||||
*/
|
||||
var sql = "SELECT 1"
|
||||
+ " FROM DUAL"
|
||||
+ " WHERE EXISTS"
|
||||
+ " (SELECT 1"
|
||||
+ " FROM mld_disc_params dp1, mld_discipline d1"
|
||||
+ " WHERE d1.ins_discipline_key = dp1.mld_ins_discipline_key"
|
||||
+ " AND d1.ins_discipline_verwijder IS NULL"
|
||||
+ " AND BITAND (dp1.mld_disc_params_srtgroep, 2) = 2)" // Is team?
|
||||
+ " AND EXISTS"
|
||||
+ " (SELECT 1"
|
||||
+ " FROM mld_disc_params dp2, mld_discipline d2"
|
||||
+ " WHERE d2.ins_discipline_key = dp2.mld_ins_discipline_key"
|
||||
+ " AND d2.ins_discipline_verwijder IS NULL"
|
||||
+ " AND BITAND (dp2.mld_disc_params_srtgroep, 4) = 4)" // Has team?
|
||||
+ " AND ROWNUM <= 1";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var canUseTeams = !oRs.EoF;
|
||||
oRs.Close();
|
||||
|
||||
function getAlgKeys(alg_keys)
|
||||
{
|
||||
var all_keys = {};
|
||||
@@ -2183,21 +2207,31 @@ if (mld_key > -1 && this_mld.canClose && action != "forward")
|
||||
</tr>
|
||||
<% }
|
||||
|
||||
// De verplichte afmeld (close) kenmerken tonen bij het afmelden. Vooralsnog worden de andere verplichte kenmerken niet getoond.
|
||||
generateFlexKenmerkBlock({stdm_arr : [stdm_key],
|
||||
mld_key : mld_key,
|
||||
close : true,
|
||||
mobile : true,
|
||||
showConfidential : this_mld.canViewConfidential,
|
||||
melder_key: mld_info.melder_key,
|
||||
srtdisc: S("mld_processing_group_all")? [] : [mld_info.srtdisc_key],
|
||||
disc: mld_info.disc_key, // Initiele waarde primaire Vakgroep/Behandelteam.
|
||||
prsautlevel: this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel,
|
||||
hideteams: false,
|
||||
show_alg: mld_info.show_alg,
|
||||
loc_key: mld_info.loc_key,
|
||||
this_mld: this_mld
|
||||
});
|
||||
var prsautlevel = (this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel);
|
||||
// Als ik geen PRS-schrijfrechten op de melding heb, maar ik ben wel blokbehandelaar, dan mag ik gewoon iedereen uit mijn team kiezen. Niet optimaal, maar goed genoeg voor nu
|
||||
if ((!prsautlevel || prsautlevel == 9) && this_mld.canChangeKenmerkBlok) {
|
||||
prsautlevel = -1;
|
||||
}
|
||||
|
||||
// De verplichte afmeld (close) kenmerken tonen bij het afmelden. Vooralsnog worden de andere verplichte kenmerken niet getoond.
|
||||
generateFlexKenmerkBlock({stdm_arr : [stdm_key],
|
||||
mld_key : mld_key,
|
||||
close : true,
|
||||
mobile : true,
|
||||
prs_key: user_key,
|
||||
act_key: mld_info.act_key,
|
||||
reado: (mld_key > 0 && !(this_mld.canFlexChange || this_mld.canChangeKenmerkBlok)), // Bij alleen canChangeKenmerkBlok rechten dan ook check in isReadonly.
|
||||
readotreatment: (mld_key > 0 && !this_mld.canFlexChange),
|
||||
showConfidential : this_mld.canViewConfidential,
|
||||
melder_key: mld_info.melder_key,
|
||||
srtdisc: S("mld_processing_group_all")? [] : [mld_info.srtdisc_key],
|
||||
disc: mld_info.disc_key, // Initiele waarde primaire Vakgroep/Behandelteam.
|
||||
prsautlevel: prsautlevel,
|
||||
hideteams: (!canUseTeams || !this_mld.canBOwrite),
|
||||
show_alg: mld_info.show_alg,
|
||||
loc_key: mld_info.loc_key,
|
||||
this_mld: this_mld
|
||||
});
|
||||
|
||||
CONTROLGROUP_START();
|
||||
if (opdr_opm != "")
|
||||
|
||||
@@ -1757,25 +1757,26 @@ function kenmerktype_xref (pfield, pprops, pparams)
|
||||
return lkv;
|
||||
}
|
||||
|
||||
var behandelblok = 0;
|
||||
// ==========================================================================================
|
||||
function kenmerktype_label (pfield, pprops, pparams)
|
||||
{
|
||||
// Een label is geen echt veld, maar een infoblock
|
||||
// De 'waarde' van een label is de defaultwaarde van het kenmerk
|
||||
var lkv = "";
|
||||
behandelblok = 0;
|
||||
// Een label is geen echt veld, maar een infoblock
|
||||
// De 'waarde' van een label is de defaultwaarde van het kenmerk
|
||||
var lkv = "";
|
||||
|
||||
if (S("fac_html_strictness") == 0)
|
||||
var safe_default = pfield.kdefault
|
||||
else
|
||||
var safe_default = safe.html(pfield.kdefault);
|
||||
lkv = "<span class='flexlabel'>"+(safe_default || "")+"</span>";
|
||||
return lkv;
|
||||
if (S("fac_html_strictness") == 0)
|
||||
var safe_default = pfield.kdefault
|
||||
else
|
||||
var safe_default = safe.html(pfield.kdefault);
|
||||
lkv = "<span class='flexlabel'>"+(safe_default || "")+"</span>";
|
||||
return lkv;
|
||||
}
|
||||
|
||||
// KENMERKTYPE l (kleine letter L) = blokheader (voorheen collapsible label) ===============
|
||||
// ==========================================================================================
|
||||
var canbehandelblok = false;
|
||||
var behandelblok = false;
|
||||
var blokisafgemeld = false;
|
||||
function kenmerktype_blocktitel (pfield, pprops, pparams)
|
||||
{
|
||||
@@ -1808,12 +1809,13 @@ function kenmerktype_blocktitel (pfield, pprops, pparams)
|
||||
"hidden": hide_block,
|
||||
"collapsible": !pprops.reado && pfield.forceReadonly
|
||||
};
|
||||
var show_b = false;
|
||||
if (pprops.treatable && pfield.kkenmerktype == "b")
|
||||
{ // Behandelbare bloktitel.
|
||||
{ // Het is een Behandelbare bloktitel.
|
||||
// Waarde behandelblok.
|
||||
// 0) Geen (default) behandelteam ingevuld:
|
||||
// 1) Default behandelteam ingevuld en user zit in het team:
|
||||
// 2) Default behandelteam ingevuld en user zit NIET in het team:
|
||||
// 0) Kenmerk valt NIET onder een behandelbaar blok: Afhankelijk van pvolgnummer.
|
||||
// 1) Behandelteam ingevuld en user zit in het team: Blok altijd tonen.
|
||||
// 2) Behandelteam ingevuld en user zit NIET in het team of geen behandelteam ingevuld: Blok niet tonen.
|
||||
behandelblok = pfield.behandelblok;
|
||||
blokisafgemeld = pfield.blokafgemeld;
|
||||
var id_disc = pprops.nameprefix + pfield.idCounter + "team";
|
||||
@@ -1821,13 +1823,14 @@ function kenmerktype_blocktitel (pfield, pprops, pparams)
|
||||
block_params.treatable = { "isTreatable": true,
|
||||
"flexid": pprops.nameprefix + pfield.idCounter,
|
||||
"kkey": pfield.kkey,
|
||||
"hideteams": pprops.treatable.hideteams && pfield.behandelblok != 1,
|
||||
"hideteams": pprops.treatable.hideteams && pfield.behandelblok == 2,
|
||||
"disc" : { "id": id_disc,
|
||||
"srtdisc_key": pprops.treatable.srtdisc,
|
||||
"disc": pprops.treatable.disc,
|
||||
"disc_key": (pprops.treatable.mld_key > 0? pfield.blokbehandelteam : (pfield.default_blokbehandelteam? pfield.default_blokbehandelteam : -1)), // Initiele waarde tertiare Vakgroep/Behandelteam.
|
||||
"perslidKey": (pprops.treatable.mld_key > 0? pprops.treatable.melder_key : user_key),
|
||||
"reado": pprops.treatable.readotreatment || pprops.treatable.hideteams
|
||||
"reado": pprops.reado || pprops.treatable.readotreatment || pprops.treatable.closed || pprops.treatable.hideteams
|
||||
// pprops.treatable.readotreatment || pprops.treatable.hideteams
|
||||
},
|
||||
"prs": { "id": id_prs,
|
||||
"disc_key": (pprops.treatable.mld_key > 0? pfield.blokbehandelteam : (pfield.default_blokbehandelteam? pfield.default_blokbehandelteam : -1)), // Initiele waarde tertiare Vakgroep/Behandelteam.
|
||||
@@ -1836,18 +1839,18 @@ function kenmerktype_blocktitel (pfield, pprops, pparams)
|
||||
"melder_key": pprops.treatable.melder_key || -1,
|
||||
"filtcode": pprops.treatable.filtcode,
|
||||
"prsautlevel": pprops.treatable.prsautlevel,
|
||||
"reado": pprops.reado || pprops.treatable.readocompl || pprops.treatable.closed,
|
||||
"reado": pprops.reado || pprops.treatable.readotreatment || pprops.treatable.closed || pprops.treatable.hideteams,
|
||||
"show_alg": (pprops.treatable.show_alg? 1 : 0),
|
||||
"loc_key": (pprops.treatable.loc_key? pprops.treatable.loc_key : -1)
|
||||
},
|
||||
"compl": { "value": pfield.blokafgemeld,
|
||||
"reado": (pfield.behandelblok == 2) || pprops.treatable.readocompl || pprops.reado
|
||||
}
|
||||
}
|
||||
};
|
||||
show_b = !(pprops.treatable.hideteams && pfield.behandelblok == 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
behandelblok = 0;
|
||||
blokisafgemeld = false;
|
||||
block_params.treatable = { "isTreatable": false };
|
||||
}
|
||||
@@ -1855,7 +1858,8 @@ function kenmerktype_blocktitel (pfield, pprops, pparams)
|
||||
var mobile_block_params = { "pId": "flx_" + pprops.nameprefix + pfield.idCounter,
|
||||
"safe": true,
|
||||
"title": (pfield.komschrijving ? pfield.komschrijving : (pfield.kkenmerktype == "l"? L("lcl_flexblok") : L("lcl_mld_treatable_flexblok"))),
|
||||
"collapsed": !pprops.reado && pfield.forceReadonly
|
||||
"collapsed": !pprops.reado && pfield.forceReadonly,
|
||||
treatable: block_params.treatable
|
||||
};
|
||||
if (pfield.kdefault && pfield.kdefault.match(/^fa-/))
|
||||
block_params.icon = pfield.kdefault;
|
||||
@@ -1884,7 +1888,8 @@ function kenmerktype_blocktitel (pfield, pprops, pparams)
|
||||
/*global*/inMobileBlock = pprops.mobile; // op dit moment zitten we in een mobile-collapse-content-block
|
||||
/*global*/clabelCounter++;
|
||||
}
|
||||
return lkv;
|
||||
var km_data = { lkv: lkv, show_b: show_b };
|
||||
return km_data;
|
||||
}
|
||||
|
||||
// ==========================================================================================
|
||||
@@ -2493,9 +2498,9 @@ function listKenmerk(sql, module, pkey, props)
|
||||
thisfield.blokbehandelaar = oRs("blokbehandelaar").Value || -1; // Blokbehandelaar.
|
||||
thisfield.blokafgemeld = oRs("blokafmelddatum").Value != null? true : false; // Blok is afgemeld als blokafmelddatum is gevuld.
|
||||
// Waarde behandelblok.
|
||||
// 0) Geen (default) behandelteam ingevuld:
|
||||
// 1) Default behandelteam ingevuld en user zit in het team:
|
||||
// 2) Default behandelteam ingevuld en user zit NIET in het team:
|
||||
// 0) Kenmerk valt NIET onder een behandelbaar blok:
|
||||
// 1) Behandelteam ingevuld en user zit in het team:
|
||||
// 2) Behandelteam ingevuld en user zit NIET in het team of geen behandelteam ingevuld:
|
||||
thisfield.behandelblok = oRs("behandelblok").Value;
|
||||
}
|
||||
|
||||
@@ -2811,7 +2816,8 @@ function listKenmerk(sql, module, pkey, props)
|
||||
, kkenmerktype: "l"
|
||||
, isShowExpr: false
|
||||
}
|
||||
kv = kenmerktype_blocktitel(thisfield_auto, props, params);
|
||||
kv_data = kenmerktype_blocktitel(thisfield_auto, props, params);
|
||||
kv = kv_data.lkv;
|
||||
blockId = idCounter;
|
||||
blockShow["flx_" + props.nameprefix + blockId] = 0;
|
||||
// Om er een veld van te maken zou je kv2html(..) doen,
|
||||
@@ -2859,7 +2865,8 @@ function listKenmerk(sql, module, pkey, props)
|
||||
case "b":
|
||||
if (!props.noblock)
|
||||
{
|
||||
kv = kenmerktype_blocktitel(thisfield, props, params);
|
||||
kv_data = kenmerktype_blocktitel(thisfield, props, params);
|
||||
kv = kv_data.lkv;
|
||||
anyCollapsible = anyCollapsible || (!props.reado && thisfield.forceReadonly)
|
||||
blockId = thisfield.idCounter;
|
||||
blockShow["flx_" + props.nameprefix + blockId] = 0;
|
||||
@@ -2887,7 +2894,8 @@ function listKenmerk(sql, module, pkey, props)
|
||||
break;
|
||||
}
|
||||
anyHint = anyHint || (thisfield.kkenmerktype != "l" && thisfield.kkenmerktype != "b" && thisfield.kkenmerktype != "Q" && kv && thisfield.khint != null && !thisfield.ishidden && !props.nolabel);
|
||||
if (thisfield.kkenmerktype != "l" && thisfield.kkenmerktype != "b" && kv.length > 0)
|
||||
if ((thisfield.kkenmerktype != "l" && thisfield.kkenmerktype != "b" && kv.length > 0) ||
|
||||
(thisfield.kkenmerktype == "b" && kv_data.show_b))
|
||||
{ // Verhoog het aantal ingevulde kenmerken in een blok.
|
||||
blockShow["flx_" + props.nameprefix + blockId]++;
|
||||
}
|
||||
@@ -4063,10 +4071,6 @@ function flexkenmerken2jsondata(params)
|
||||
var kteam = getFParamInt(flex + "team", ""); // behandelteam (alleen voor type b)
|
||||
var kprs= getFParamInt(flex + "prs", ""); // behandelaar (alleen voor type b)
|
||||
|
||||
__Log("kk: "+kk);
|
||||
__Log("kt: "+kt);
|
||||
__Log("kv: "+kv);
|
||||
__Log("ke: "+ke);
|
||||
// Kijken of er een checkbox "Gereed" in de (blok)header aanwezig is.
|
||||
var kcomplete = 0; // blok gereed (alleen voor type b)
|
||||
var isCheckbox = getFParamInt("has_" + flex + "complete", 0) == 1;
|
||||
@@ -4126,18 +4130,15 @@ __Log("ke: "+ke);
|
||||
// Als het een numeriek/decimaal veld is, kan het ook een checkbox zijn
|
||||
if (kt == "N" || kt == "V")
|
||||
{
|
||||
__Log("NUMBER");
|
||||
// Kijken of het een checkbox is
|
||||
var isCheckbox = getFParamInt("has_" + flex + "val", 0) == 1;
|
||||
if (isCheckbox)
|
||||
{
|
||||
__Log(">checkbox");
|
||||
var isChecked = Request.Form(flex + "val").Count;
|
||||
kv = (isChecked ? "1" : ""); // Een niet aangevinkte checkbox hoeft niet opgeslagen te worden als de waarde "0".
|
||||
}
|
||||
else
|
||||
{
|
||||
__Log(">getal");
|
||||
kv = kv.replace(",", "."); // We slaan altijd op met punten
|
||||
if (kv.substr(0, 2) == "0.") // leading zero er af. Doet de database trigger ook en nu
|
||||
{
|
||||
@@ -4147,7 +4148,6 @@ __Log(">getal");
|
||||
kv = kv.substr(1); // krijgen we geen ongewenste tracking.
|
||||
}
|
||||
}
|
||||
__Log(">"+kv);
|
||||
}
|
||||
|
||||
// Suggest kenmerken moeten ook gedelete worden als ze leeg zijn. Dus voor delete actie leeg maken.
|
||||
|
||||
Reference in New Issue
Block a user