FSN#35185: Mantelcontract verwijzing naar zichzelf is oneindige recursie.
svn path=/Website/trunk/; revision=28026
This commit is contained in:
@@ -183,32 +183,44 @@ else // nieuw contract
|
||||
ROFIELDTR("fld", L("lcl_cnt_srttype"), cnt_info.discipline_omschrijving, {readonly: !this_cnt.canChangeAlg});
|
||||
RWFIELDTR("cnt_cntomst", "fld", L("lcl_cnt_descr"), cnt_info.omschrijving, {required: true, maxlength: 30, readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg});
|
||||
RWFIELDTR("cnt_cntnr", "fld", L("lcl_cnt_contractnr"), cnt_info.nummer, {maxlength: 30, readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg});
|
||||
sql_mantels = "SELECT cnt_contract_key"
|
||||
+ " , cnt_contract_nummer_intern || '-' || cnt_contract_omschrijving"
|
||||
+ " FROM cnt_v_aanwezigcontract c"
|
||||
+ " , cnt_disc_params dp"
|
||||
+ " , cnt_discipline d"
|
||||
+ " WHERE dp.cnt_srtcontract_type=6 " // mastercontracts
|
||||
+ " AND c.ins_discipline_key = dp.cnt_ins_discipline_key"
|
||||
+ " AND d.ins_discipline_key = dp.cnt_ins_discipline_key"
|
||||
+ " AND d.ins_discipline_verwijder IS NULL"
|
||||
+ " AND d.ins_discipline_key IN"
|
||||
+ " (SELECT ins_discipline_key"
|
||||
+ " FROM fac_v_webgebruiker g"
|
||||
+ " , fac_functie f"
|
||||
+ " WHERE g.fac_functie_key = f.fac_functie_key"
|
||||
+ " AND f.fac_functie_code = 'WEB_CNTMAN'"
|
||||
+ " AND (g.fac_gebruiker_alg_level_read < 9 AND g.fac_gebruiker_prs_level_read < 9)" // prs en alg read rechten
|
||||
+ " AND g.prs_perslid_key = " + user_key + ")"
|
||||
+ " ORDER BY 2";
|
||||
// Mantel contracten mogen niet zelf onder een ander contract vallen.
|
||||
// Bij mantel contracten selectbox met mantel contracten niet tonen.
|
||||
var sql = "SELECT dp.cnt_srtcontract_type"
|
||||
+ " FROM cnt_contract c"
|
||||
+ " , cnt_disc_params dp"
|
||||
+ " WHERE c.ins_discipline_key = dp.cnt_ins_discipline_key"
|
||||
+ " AND cnt_contract_key = " + cnt_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs("cnt_srtcontract_type").Value != 6)
|
||||
{ // Geen Mantel/Master contract. Dan kan selectbox getoond worden.
|
||||
sql_mantels = "SELECT cnt_contract_key"
|
||||
+ " , cnt_contract_nummer_intern || '-' || cnt_contract_omschrijving"
|
||||
+ " FROM cnt_v_aanwezigcontract c"
|
||||
+ " , cnt_disc_params dp"
|
||||
+ " , cnt_discipline d"
|
||||
+ " WHERE dp.cnt_srtcontract_type=6 " // mastercontracts
|
||||
+ " AND c.ins_discipline_key = dp.cnt_ins_discipline_key"
|
||||
+ " AND d.ins_discipline_key = dp.cnt_ins_discipline_key"
|
||||
+ " AND d.ins_discipline_verwijder IS NULL"
|
||||
+ " AND d.ins_discipline_key IN"
|
||||
+ " (SELECT ins_discipline_key"
|
||||
+ " FROM fac_v_webgebruiker g"
|
||||
+ " , fac_functie f"
|
||||
+ " WHERE g.fac_functie_key = f.fac_functie_key"
|
||||
+ " AND f.fac_functie_code = 'WEB_CNTMAN'"
|
||||
+ " AND (g.fac_gebruiker_alg_level_read < 9 AND g.fac_gebruiker_prs_level_read < 9)" // prs en alg read rechten
|
||||
+ " AND g.prs_perslid_key = " + user_key + ")"
|
||||
+ " ORDER BY 2";
|
||||
|
||||
FCLTselector("cnt_macntkey", sql_mantels,
|
||||
{ label: L("lcl_cnt_mantel"),
|
||||
initKey: cnt_info.mantel_key,
|
||||
emptyOption: "",
|
||||
readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg,
|
||||
suppressEmpty: true
|
||||
});
|
||||
FCLTselector("cnt_macntkey", sql_mantels,
|
||||
{ label: L("lcl_cnt_mantel"),
|
||||
initKey: cnt_info.mantel_key,
|
||||
emptyOption: "",
|
||||
readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg,
|
||||
suppressEmpty: true
|
||||
});
|
||||
}
|
||||
oRs.close();
|
||||
RWTEXTAREATR("cnt_cntdoc", "fldtxt", L("lcl_cnt_document"), cnt_info.document, {readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg});
|
||||
FCLTafdelingselector("cnt_owner",
|
||||
"cnt_owner",
|
||||
|
||||
Reference in New Issue
Block a user