NYBU#56537 Actielijst campus | Veld persoon in contract campus verplicht maken

svn path=/Website/trunk/; revision=41063
This commit is contained in:
Alex Tiehuis
2019-02-20 09:29:29 +00:00
parent 44b3e23ec7
commit b8ce3eae5b
3 changed files with 54 additions and 22 deletions

View File

@@ -81,6 +81,31 @@ model_cnt_disc_params =
"label": L("cnt_discipline_opmerking"),
"typ": "memo",
"translate": true
},
"binding": {
"dbs": "cnt_disc_params_binding",
"label": L("cnt_discipline_binding"),
"typ": "number",
"bits": [
{
"name": "",
"label": "",
"typ": "check",
"mask": 3,
"radios": [
{
"name": "company",
"label": L("cnt_discipline_bind_company"),
"mask": 1
},
{
"name": "person",
"label": L("cnt_discipline_bind_person"),
"mask": 2
}
]
}
]
}
}
}

View File

@@ -883,6 +883,7 @@ cnt = { setcontractstatus:
+ " WHERE prs_kostensoort_key = COALESCE(cc.prs_kostensoort_key, cs.prs_kostensoort_key)) prs_kostensoort_btw"
+ " , dp.cnt_srtcontract_type"
+ " , dp.cnt_disc_params_factuurschema"
+ " , dp.cnt_disc_params_binding"
+ " , cc.cnt_contract_mantel_key"
+ " , mc.cnt_contract_nummer_intern mantelcontractnummer"
+ " , mc.cnt_contract_omschrijving mantelomschrijving"
@@ -958,6 +959,7 @@ cnt = { setcontractstatus:
kostensoort_naam: oRs("kostensoort_naam").Value,
srtcontract_type: oRs("cnt_srtcontract_type").Value,
hasfactuurschema: oRs("cnt_disc_params_factuurschema").Value == 1,
discipline_binding: oRs("cnt_disc_params_binding").Value,
mantel_key: oRs("cnt_contract_mantel_key").Value,
mantelcontractnummer: oRs("mantelcontractnummer").Value,
mantelomschrijving: oRs("mantelomschrijving").Value,

View File

@@ -95,6 +95,7 @@ else // nieuw contract of copy
var sql = "SELECT dp.cnt_srtcontract_type,"
+ " dp.cnt_disc_params_factuurschema,"
+ " dp.cnt_disc_params_binding,"
+ lcl.xsqla('cs.ins_discipline_omschrijving','cs.ins_discipline_key')
+ ", (SELECT prs_kostensoort_oms || '-' || " + lcl.xsqla('prs_kostensoort_opmerking', 'prs_kostensoort_key')
+ " FROM prs_kostensoort"
@@ -110,6 +111,7 @@ else // nieuw contract of copy
cnt_info.discipline_key = cnt_disc_key;
cnt_info.hasfactuurschema = oRs("cnt_disc_params_factuurschema").value == 1;
cnt_info.kostensoort_naam = oRs("kostensoort_naam").value;
cnt_info.discipline_binding = oRs("cnt_disc_params_binding").value;
oRs.close();
}
@@ -343,17 +345,18 @@ else // nieuw contract of copy
if (cnt_info.srtcontract_type == S("cnt_srttype_rental"))
{ // Huur/Rental contracttype.
// <20><>n van de drie, persoon, bedrijf of afdeling, is verplicht maar niet meerdere. Dat dwingt een trigger wel af.
FCLTbedrijfselector("cnt_bdrkey",
"sgCompany",
{ companyKey: cnt_info.bedrijf_key,
label: L("lcl_cnt_mutatie_huurder"),
filtercode: "H",
moreinfo: true,
required: false,
emptyOption: "",
onChange: "onChangeCompany",
readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg
});
if (cnt_info.discipline_binding & 1) // Show company if selected
FCLTbedrijfselector("cnt_bdrkey",
"sgCompany",
{ companyKey: cnt_info.bedrijf_key,
label: L("lcl_cnt_mutatie_huurder"),
filtercode: "H",
moreinfo: true,
required: false,
emptyOption: "",
onChange: "onChangeCompany",
readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg
});
FCLTafdelingselector("cnt_afdkey",
"sgDepartment",
{ departmentKey: cnt_info.afdeling_key,
@@ -366,17 +369,18 @@ else // nieuw contract of copy
else
{ // Algemeen/Generic, Leverancier/Supplier, Mantel/Master, Onderhoud/maintenance of Ondersteuning/Support contracttype
// <20><>n van de twee, persoon of bedrijf, is verplicht maar niet beide. Dat dwingt een trigger wel af.
FCLTbedrijfselector("cnt_bdrkey",
"sgCompany",
{ companyKey: cnt_info.bedrijf_key,
label: L("lcl_cnt_company"),
filtercode: "K",
moreinfo: true,
required: false,
emptyOption: "",
onChange: "onChangeCompany",
readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg
});
if (cnt_info.discipline_binding & 1) // Show company if selected
FCLTbedrijfselector("cnt_bdrkey",
"sgCompany",
{ companyKey: cnt_info.bedrijf_key,
label: L("lcl_cnt_company"),
filtercode: "K",
moreinfo: true,
required: false,
emptyOption: "",
onChange: "onChangeCompany",
readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg
});
FCLTcontactpersoonselector("cnt_contprs",
"sgCntPersUitv",
@@ -403,6 +407,7 @@ else // nieuw contract of copy
}
// PF: wil hier ook nog een srtcontract_type-afhankelijke conditie voor
if (cnt_info.discipline_binding & 2) // Show person if selected
FCLTpersoonselector("cnt_prskey", // requestor
"sgPerson",
{ perslidKey: cnt_info.perslid_key,