From ace5110eb05fea3f4536e7983e523ab02873013d Mon Sep 17 00:00:00 2001 From: Arthur Egberink Date: Tue, 27 Sep 2016 14:01:55 +0000 Subject: [PATCH] Merge 2016.1 Patches svn path=/Website/trunk/; revision=30879 --- APPL/API/api_mldsoap.asp | 49 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/APPL/API/api_mldsoap.asp b/APPL/API/api_mldsoap.asp index 0c81e29a45..ee2a042838 100644 --- a/APPL/API/api_mldsoap.asp +++ b/APPL/API/api_mldsoap.asp @@ -97,6 +97,8 @@ for (i = 0; i < meldingen.length; i++) var stdmld_sla = -1; // Normale uitvoertijd (prio door melder nog unsupported) //var meldprio = XMLval(meldingen[i], "prioriteit"); // Unsupported yet //var meldobj_id = XMLval(meldingen[i], "object"); // Unsupported yet + var voor_email = XMLval(meldingen[i], "voor_email"); // NEW + var voor_login = XMLval(meldingen[i], "voor_login"); // NEW var meldloc = XMLval(meldingen[i], "locatiecode"); var meldgeb = XMLval(meldingen[i], "gebouwcode"); var meldver = XMLval(meldingen[i], "verdiepingcode"); @@ -150,6 +152,49 @@ for (i = 0; i < meldingen.length; i++) } else { + var voor_key = -1; + var perslid_key = -1; + if (voor_login != null) + { + // Zoek de voorkey op aan de hand van het emailadres + tsql = "SELECT prs_perslid_key " + + " FROM prs_v_aanwezigperslid " + + " WHERE prs_perslid_oslogin = UPPER(" + safe.quoted_sql(voor_login) + ")"; + var oRs = Oracle.Execute(tsql); + if (!oRs.eof) + { + voor_key = oRs("prs_perslid_key").value; + } + } + if (voor_email != null && voor_key == -1) + { + // Zoek de voorkey op aan de hand van het emailadres + tsql = "SELECT prs_perslid_key " + + " FROM prs_v_aanwezigperslid " + + " WHERE UPPER(prs_perslid_email) = UPPER(" + safe.quoted_sql(voor_email) + ")"; + var oRs = Oracle.Execute(tsql); + if (!oRs.eof) + { + voor_key = oRs("prs_perslid_key").value; + } + } + if (voor_key == -1) + { + voor_key = user_key; + perslid_key = user_key; + } + else + { + if (S("mld_allow_for_others") == 1) + { + perslid_key = user_key; + } + else + { + perslid_key = voor_key; + } + } + tsql = "SELECT sm.mld_stdmelding_t_uitvoertijd.tijdsduur tijdsduur" + " , sm.mld_stdmelding_t_uitvoertijd.eenheid eenheid" + " FROM mld_stdmelding sm" @@ -261,8 +306,8 @@ for (i = 0; i < meldingen.length; i++) { dbs: "mld_meldbron_key", typ: "key", val: 6 }, // system { dbs: "mld_melding_omschrijving", typ: "varchar", val: meld_oms, len: 4000 }, { dbs: "prs_kostenplaats_key", typ: "key", val: user.afdeling().prs_kostenplaats_key() }, - { dbs: "prs_perslid_key", typ: "key", val: user_key }, - { dbs: "prs_perslid_key_voor", typ: "key", val: user_key }, + { dbs: "prs_perslid_key", typ: "key", val: perslid_key }, + { dbs: "prs_perslid_key_voor", typ: "key", val: voor_key }, { dbs: "mld_melding_spoed", typ: "key", val: 3 }, // default (frontend) = 3 { dbs: "mld_melding_externnr", typ: "varchar", val: ext_id, len: 30 } ]);