STPH#47127: Verplichte selectie van kostenplaats bij mandatering.
svn path=/Website/trunk/; revision=37036
This commit is contained in:
@@ -133,6 +133,41 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
|
||||
if (frontend)
|
||||
{
|
||||
// Setting "prs_default_kpn_empty": Costcentre always default empty.
|
||||
// Alleen van belang als er meerdere kostenplaatsen te selecteren zijn en als de kostenplaats verplicht is. Dit uitzoeken.
|
||||
var show_empty_kp = false;
|
||||
var kp_empty = S("prs_default_kpn_empty") == 1;
|
||||
if (bes_disc_info.discipline_kpnverplicht && kp_empty)
|
||||
{
|
||||
sql = "SELECT COUNT(*) aantal"
|
||||
+ " FROM (SELECT k.prs_kostenplaats_key kpkey"
|
||||
+ " FROM prs_v_aanwezigkostenplaats k"
|
||||
+ " , prs_perslidkostenplaats pk"
|
||||
+ " WHERE pk.prs_kostenplaats_key = k.prs_kostenplaats_key"
|
||||
+ " AND pk.prs_perslidkostenplaats_boeken = 1"
|
||||
+ " AND pk.prs_perslid_key = " + user_key
|
||||
+ " AND (k.prs_kostenplaats_eind IS NULL"
|
||||
+ " OR k.prs_kostenplaats_eind > SYSDATE)"
|
||||
+ " UNION"
|
||||
+ " SELECT k.prs_kostenplaats_key kpkey"
|
||||
+ " FROM prs_perslid p"
|
||||
+ " , prs_afdeling a"
|
||||
+ " , prs_v_aanwezigkostenplaats k"
|
||||
+ " WHERE p.prs_afdeling_key = a.prs_afdeling_key"
|
||||
+ " AND p.prs_perslid_key = " + user_key
|
||||
+ " AND a.prs_kostenplaats_key = k.prs_kostenplaats_key"
|
||||
+ " AND (k.prs_kostenplaats_eind IS NULL OR k.prs_kostenplaats_eind > SYSDATE)"
|
||||
+ " )"
|
||||
oRs = Oracle.Execute(sql);
|
||||
show_empty_kp = oRs("aantal").Value > 0;
|
||||
oRs.close();
|
||||
}
|
||||
|
||||
if (show_empty_kp)
|
||||
bes_bestelling.kostenplaats_key = -1;
|
||||
else
|
||||
{
|
||||
// Setting "prs_dep_default_kpn": A user can make costs for his own department by default {0=no | 1=yes}
|
||||
var authForOwnAcoount = true;
|
||||
if (S("prs_dep_default_kpn") == 0)
|
||||
{ // Niet standaard geautoriseerd voor eigen kostenplaats. Dit hier checken
|
||||
@@ -151,6 +186,7 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
bes_bestelling.kostenplaats_key = user.afdeling().prs_kostenplaats_key();
|
||||
else
|
||||
bes_bestelling.kostenplaats_key = -1;
|
||||
}
|
||||
|
||||
bes_bestelling.perslid_key = user_key;
|
||||
bes_bestelling.perslid_key_voor = user_key;
|
||||
|
||||
@@ -133,6 +133,41 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
|
||||
}
|
||||
ab_mode = (ab_mode != null ? ab_mode : S("res_default_CVAB_mode"));
|
||||
|
||||
// Setting "prs_default_kpn_empty": Costcentre always default empty.
|
||||
// Alleen van belang als er meerdere kostenplaatsen te selecteren zijn en als de kostenplaats verplicht is. Dit uitzoeken.
|
||||
var show_empty_kp = false;
|
||||
var kp_empty = S("prs_default_kpn_empty") == 1;
|
||||
if (srtdisc_kpnverplicht && kp_empty)
|
||||
{
|
||||
sql = "SELECT COUNT(*) aantal"
|
||||
+ " FROM (SELECT k.prs_kostenplaats_key kpkey"
|
||||
+ " FROM prs_v_aanwezigkostenplaats k"
|
||||
+ " , prs_perslidkostenplaats pk"
|
||||
+ " WHERE pk.prs_kostenplaats_key = k.prs_kostenplaats_key"
|
||||
+ " AND pk.prs_perslidkostenplaats_boeken = 1"
|
||||
+ " AND pk.prs_perslid_key = " + user_key
|
||||
+ " AND (k.prs_kostenplaats_eind IS NULL"
|
||||
+ " OR k.prs_kostenplaats_eind > SYSDATE)"
|
||||
+ " UNION"
|
||||
+ " SELECT k.prs_kostenplaats_key kpkey"
|
||||
+ " FROM prs_perslid p"
|
||||
+ " , prs_afdeling a"
|
||||
+ " , prs_v_aanwezigkostenplaats k"
|
||||
+ " WHERE p.prs_afdeling_key = a.prs_afdeling_key"
|
||||
+ " AND p.prs_perslid_key = " + user_key
|
||||
+ " AND a.prs_kostenplaats_key = k.prs_kostenplaats_key"
|
||||
+ " AND (k.prs_kostenplaats_eind IS NULL OR k.prs_kostenplaats_eind > SYSDATE)"
|
||||
+ " )"
|
||||
oRs = Oracle.Execute(sql);
|
||||
show_empty_kp = oRs("aantal").Value > 0;
|
||||
oRs.close();
|
||||
}
|
||||
|
||||
if (show_empty_kp)
|
||||
var kp_key = -1;
|
||||
else
|
||||
var kp_key = (S("prs_dep_default_kpn") == 1 ? user.afdeling().prs_kostenplaats_key() || -1 : -1)
|
||||
|
||||
var rrr = { rsv_ruimte_key : rsv_ruimte_key,
|
||||
res_ruimte_key : res_ruimte_key,
|
||||
reservering_key : -1,
|
||||
@@ -153,7 +188,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
|
||||
host_key : getQParamInt("host_key", -1),
|
||||
|
||||
alg_locatie_key : user.alg_locatie_key(),
|
||||
kostenplaats_key : (S("prs_dep_default_kpn") == 1 ? user.afdeling().prs_kostenplaats_key() || -1 : -1),
|
||||
kostenplaats_key : kp_key,
|
||||
kostenplaats_omschr : user.afdeling().kpn_string() || "",
|
||||
kostenplaats_module : user.afdeling().kpn_module() || "",
|
||||
descript_required : descript_required,
|
||||
|
||||
Reference in New Issue
Block a user