diff --git a/APPL/PRS/prs_edit_perslid_save.asp b/APPL/PRS/prs_edit_perslid_save.asp index 2c4640fb9a..aa6d1fc061 100644 --- a/APPL/PRS/prs_edit_perslid_save.asp +++ b/APPL/PRS/prs_edit_perslid_save.asp @@ -23,6 +23,19 @@ var xfunc = user.func_enabled("*", null, null, prs_key>0?prs_key:null); var prsauthparams = prs.checkAutorisation(prs_key); user.auth_required_or_abort(prsauthparams.writeman || prsauthparams.writeuse || prsauthparams.writeself); +var prs_tz = getFParam("prs_tz", S("fac_server_timezone")); + +if (prs_tz != "") +{ + var sql = "SELECT '' FROM V$TIMEZONE_NAMES" + + " WHERE tzname = " + safe.quoted_sql(prs_tz); + + var oRs = Oracle.Execute(sql); + if (oRs.EoF) + shared.internal_error("timezone (" + safe.html(prs_tz) + ") not found."); + oRs.Close(); +} + var fields = [ { dbs: "prs_srtperslid_key", typ: "key", frm: "prs_srtkey" }, { dbs: "prs_afdeling_key", typ: "key", frm: "prs_afdkey" }, { dbs: "prs_perslid_naam", typ: "varchar", frm: "prs_naam" }, @@ -42,7 +55,7 @@ var fields = [ { dbs: "prs_srtperslid_key", typ: "key", frm: "prs_srtkey" }, { dbs: "prs_perslid_tussenvoegsel", typ: "varchar", frm: "prs_tussen" }, { dbs: "fac_profiel_key", typ: "key", frm: "fac_prkey", track: L("lcl_prs_profile") , foreign: "fac_profiel"}, { dbs: "prs_perslid_email", typ: "varchar", frm: "prs_email", track: L("lcl_prs_person_email") }, - { dbs: "prs_perslid_timezone", typ: "varchar", frm: "prs_tz", track: L("lcl_prs_person_timezone") }, + { dbs: "prs_perslid_timezone", typ: "varchar", val: prs_tz, track: L("lcl_prs_person_timezone") }, { dbs: "prs_perslid_mobiel", typ: "varchar", frm: "prs_mobiel", track: L("lcl_prs_person_mobile") } ]; if (prsauthparams.writesys || (S("prs_mgt_edit_login")?xfunc.canWrite("WEB_FACMGT"):false)) @@ -118,7 +131,7 @@ if (prs_key > 0) } if (user_key == prs_key) - Session("time_zone") = getFParam("prs_tz", S("fac_server_timezone")); + Session("time_zone") = prs_tz; shared.trackaction("PRSUPD", prs_key, (prsUpd.trackarray.length ? prsUpd.trackarray.join("\n") : null) ); }