RWSN#55076 algemeen portalbericht

svn path=/Website/trunk/; revision=40052
This commit is contained in:
Erik Groener
2018-11-30 13:01:05 +00:00
parent b56cbe5d40
commit cbe01dd23a
2 changed files with 77 additions and 65 deletions

View File

@@ -17,42 +17,51 @@ var pkey = getQParamInt("key", user_key);
// Nieuws berichten die plaats gebonden zijn en die niet plaats gebonden zijn (UNION)
var sqln = "SELECT DISTINCT" // Plaatsgebonden berichten alleen zichtbaar voor medewerkers met een werkplek binnen het plaatsgebonden bericht
+ " "+lcl.xsqla('fac_nieuws_titel','fac_nieuws_key') + ","
+ " "+lcl.xsqla('fac_nieuws_omschrijving','fac_nieuws_key') + ","
+ " fac_nieuws_key"
+ " FROM fac_nieuws n, "
+ " (SELECT d.alg_regio_key, v.alg_verdieping_key, d.alg_district_key, g.alg_gebouw_key, l.alg_locatie_key"
+ " FROM alg_v_onroerendgoed og,"
+ " prs_perslidwerkplek pw,"
+ " prs_werkplek w,"
+ " alg_locatie l,"
+ " alg_gebouw g,"
+ " alg_verdieping v,"
+ " alg_district d"
+ " WHERE pw.prs_perslid_key = " + pkey
+ " AND pw.prs_werkplek_key = w.prs_werkplek_key"
+ " AND og.alg_ruimte_key = w.prs_alg_ruimte_key"
+ " AND og.alg_gebouw_key = g.alg_gebouw_key"
+ " AND og.alg_verdieping_key = v.alg_verdieping_key"
+ " AND g.alg_locatie_key = l.alg_locatie_key"
+ " AND l.alg_district_key = d.alg_district_key) pl"
+ " WHERE ((pl.alg_gebouw_key = n.fac_nieuws_onrgoed_key AND n.fac_nieuws_onrgoed_niveau = 'G')"
+ " OR (pl.alg_locatie_key = n.fac_nieuws_onrgoed_key AND n.fac_nieuws_onrgoed_niveau = 'L')"
+ " OR (pl.alg_district_key = n.fac_nieuws_onrgoed_key AND n.fac_nieuws_onrgoed_niveau = 'D')"
+ " OR (pl.alg_verdieping_key = n.fac_nieuws_onrgoed_key AND n.fac_nieuws_onrgoed_niveau = 'V')"
+ " OR (pl.alg_regio_key = n.fac_nieuws_onrgoed_key AND n.fac_nieuws_onrgoed_niveau = 'R'))"
+ " AND (n.fac_nieuws_van IS NULL OR SYSDATE >= n.fac_nieuws_van)"
+ " AND (n.fac_nieuws_tot IS NULL OR SYSDATE < n.fac_nieuws_tot)"
+ " UNION"
+ " SELECT DISTINCT" // Niet plaatsgebonden berichten zichtbaar voor iedereen
+ " " + lcl.xsqla('fac_nieuws_titel', 'fac_nieuws_key')
+ ", " + lcl.xsqla('fac_nieuws_omschrijving', 'fac_nieuws_key')
+ ", fac_nieuws_key"
+ " FROM fac_nieuws n"
+ " WHERE n.fac_nieuws_onrgoed_key IS NULL"
+ " AND (n.fac_nieuws_van IS NULL OR SYSDATE >= n.fac_nieuws_van)"
+ " AND (n.fac_nieuws_tot IS NULL OR SYSDATE < n.fac_nieuws_tot)"
+ " ORDER BY fac_nieuws_key DESC";
+ " " +lcl.xsqla('fac_nieuws_titel','fac_nieuws_key')
+ " , " +lcl.xsqla('fac_nieuws_omschrijving','fac_nieuws_key')
+ " , fac_nieuws_key"
+ " FROM fac_nieuws n"
+ " , (SELECT d.alg_regio_key, v.alg_verdieping_key, d.alg_district_key, g.alg_gebouw_key, l.alg_locatie_key"
+ " FROM alg_v_onroerendgoed og"
+ " , prs_perslidwerkplek pw"
+ " , prs_werkplek w"
+ " , alg_locatie l"
+ " , alg_gebouw g"
+ " , alg_verdieping v"
+ " , alg_district d"
+ " WHERE pw.prs_perslid_key = " + pkey
+ " AND pw.prs_werkplek_key = w.prs_werkplek_key"
+ " AND og.alg_ruimte_key = w.prs_alg_ruimte_key"
+ " AND og.alg_gebouw_key = g.alg_gebouw_key"
+ " AND og.alg_verdieping_key = v.alg_verdieping_key"
+ " AND g.alg_locatie_key = l.alg_locatie_key"
+ " AND l.alg_district_key = d.alg_district_key"
+ " ) pl"
+ " WHERE ( (pl.alg_gebouw_key = n.fac_nieuws_onrgoed_key AND n.fac_nieuws_onrgoed_niveau = 'G')"
+ " OR (pl.alg_locatie_key = n.fac_nieuws_onrgoed_key AND n.fac_nieuws_onrgoed_niveau = 'L')"
+ " OR (pl.alg_district_key = n.fac_nieuws_onrgoed_key AND n.fac_nieuws_onrgoed_niveau = 'D')"
+ " OR (pl.alg_verdieping_key = n.fac_nieuws_onrgoed_key AND n.fac_nieuws_onrgoed_niveau = 'V')"
+ " OR (pl.alg_regio_key = n.fac_nieuws_onrgoed_key AND n.fac_nieuws_onrgoed_niveau = 'R')"
+ " )"
+ " AND (n.fac_nieuws_van IS NULL OR SYSDATE >= n.fac_nieuws_van)"
+ " AND (n.fac_nieuws_tot IS NULL OR SYSDATE < n.fac_nieuws_tot)"
+ " UNION"
+ " SELECT DISTINCT" // Niet plaatsgebonden berichten zichtbaar voor iedereen of een gebruiksersgroep
+ " " + lcl.xsqla('fac_nieuws_titel', 'fac_nieuws_key')
+ " ," + lcl.xsqla('fac_nieuws_omschrijving', 'fac_nieuws_key')
+ " , fac_nieuws_key"
+ " FROM fac_nieuws n"
+ " WHERE n.fac_nieuws_onrgoed_key IS NULL"
+ " AND (n.fac_nieuws_van IS NULL OR SYSDATE >= n.fac_nieuws_van)"
+ " AND (n.fac_nieuws_tot IS NULL OR SYSDATE < n.fac_nieuws_tot)"
+ " AND ( (n.fac_groep_key IN (SELECT fac_groep_key"
+ " FROM fac_gebruikersgroep"
+ " WHERE prs_perslid_key = " + pkey
+ " )"
+ " )"
+ " OR (fac_groep_key IS NULL)"
+ " )"
+ " ORDER BY fac_nieuws_key DESC";
%>
<html>
<head>

View File

@@ -312,42 +312,45 @@ if (!receivers && !sendPortalOption)
if (sendPortalOption)
{
// voeg voor de juiste scope toe aan fac_nieuws tabel
// kijk alleen naar district/locatie/gebouw/verdieping
sql = "INSERT INTO fac_nieuws ("
+ "fac_nieuws_titel, fac_nieuws_omschrijving,"
+ " fac_nieuws_van, fac_nieuws_tot, prs_perslid_key, "
+ " fac_nieuws_onrgoed_key, fac_nieuws_onrgoed_niveau)"
+ " VALUES ("
+ safe.quoted_sql(subject.substr(0,100))
+ "," + safe.quoted_sql(message.substr(0,4000))
if (vandatum)
sql += ", " + vandatum.toSQL(); // Editen van datum in msg_portal_message_save.asp ook zonder tijd
else
sql += ", NULL"
if (totdatum)
sql += ", " + totdatum.toSQL(); // Editen van datum in msg_portal_message_save.asp ook zonder tijd
else
sql += ", NULL"
sql += ", "+user_key
if (groep_list.length == 0)
groep_list.push(-1); // Ook als er geen fac_groep_key is meegegeven de for-lus in.
var onrgoed_niveau_key = " NULL, NULL"; // for ALL users
if (verdieping_key != -1)
sql += ", " + verdieping_key + ", 'V'";
onrgoed_niveau_key = "'V', " + verdieping_key;
else if (bld_key != -1)
sql += ", " + bld_key + ", 'G'";
onrgoed_niveau_key = "'G', " + bld_key;
else if (location_key != -1)
sql += ", " + location_key + ", 'L'";
onrgoed_niveau_key = "'L', " + location_key;
else if (district_key != -1)
sql += ", " + district_key + ", 'D'";
else
sql += ", NULL, NULL"; // for ALL users
onrgoed_niveau_key = "'D', " + district_key;
sql += ")";
for (i=0; i<groep_list.length; i++)
{
// voeg voor de juiste scope toe aan fac_nieuws tabel
// kijk alleen naar district/locatie/gebouw/verdieping
sql = "INSERT INTO fac_nieuws"
+ " ( fac_nieuws_titel"
+ " , fac_nieuws_omschrijving"
+ " , fac_nieuws_van"
+ " , fac_nieuws_tot"
+ " , prs_perslid_key"
+ " , fac_nieuws_onrgoed_niveau, fac_nieuws_onrgoed_key"
+ " , fac_groep_key"
+ " )"
+ " VALUES"
+ " (" + safe.quoted_sql(subject.substr(0,100))
+ " ," + safe.quoted_sql(message.substr(0,4000))
+ " ," + (vandatum ? vandatum.toSQL() : " NULL") // Editen van datum in msg_portal_message_save.asp ook zonder tijd
+ " ," + (totdatum ? totdatum.toSQL() : " NULL") // Editen van datum in msg_portal_message_save.asp ook zonder tijd
+ " ," + user_key
+ " ," + onrgoed_niveau_key
+ ", " + (groep_list[i] > -1 ? groep_list[i] : " NULL")
+ " )";
oRs = Oracle.Execute(sql);
}
oRs = Oracle.Execute(sql);
mes += "\n" + L("lcl_msg_onportal");
}