32 Commits

Author SHA1 Message Date
Ruud Lipper
94f90ecc27 CAPG#29596 voorzieningen waarschuwing groter
svn path=/Website/branches/v5.2.3/; revision=21650
2014-05-20 10:24:15 +00:00
Peter Koerhuis
5180e881b5 NYBU#26231 MLD/PDA: Kan geen nieuwe melding invoeren als mobile_alg_level = L
svn path=/Website/branches/v5.2.3/; revision=17553
2013-04-10 10:10:59 +00:00
Jos Groot Lipman
be30aa7a2e IVET#25802 Overschrijding acceptatietijden en doorlooptijden postkamer
svn path=/Website/branches/v5.2.3/; revision=17319
2013-03-21 15:58:51 +00:00
Ruud Lipper
0ef3f4e314 IVET#25628
svn path=/Website/branches/v5.2.3/; revision=17277
2013-03-20 09:47:45 +00:00
Arthur Egberink
3c20e3a89f AARW#25123 -- Toevoegen catering bundel
svn path=/Website/branches/v5.2.3/; revision=16995
2013-03-01 15:28:56 +00:00
Jos Groot Lipman
47c7158aae FSN#25850 Geem M-filter bij jobs nodig natuurlijk
svn path=/Website/branches/v5.2.3/; revision=16956
2013-02-27 17:19:20 +00:00
Jos Groot Lipman
17b77646e0 AAEN#25834 Excel kan véél compacter (43% bij reserveringen) door met name de ROWDATA weg te laten
svn path=/Website/branches/v5.2.3/; revision=16950
2013-02-27 15:20:36 +00:00
Jos Groot Lipman
9eb712d760 FSN#25819 XSL preview betere foutmelding
svn path=/Website/branches/v5.2.3/; revision=16922
2013-02-25 16:35:51 +00:00
Jos Groot Lipman
0e26244a53 AKZA#25812 Goede dwf tonen
svn path=/Website/branches/v5.2.3/; revision=16916
2013-02-25 14:55:27 +00:00
Jos Groot Lipman
c778dc8cd7 AKZA#25337 Multi edit objecten sloot cursors nog niet goed
svn path=/Website/branches/v5.2.3/; revision=16853
2013-02-19 10:39:40 +00:00
Jos Groot Lipman
9d23b923cb AKZA#25577 Safe'r met quotes en newlines
svn path=/Website/branches/v5.2.3/; revision=16736
2013-02-05 14:23:04 +00:00
Jos Groot Lipman
43cf813e42 FSN#25609 Als je activiteit filtert hoef je niet ook srtactiviteit te filteren. Veel sneller bij UWVA/Ora11
svn path=/Website/branches/v5.2.3/; revision=16727
2013-02-05 10:21:02 +00:00
Jos Groot Lipman
29cb1ffcb4 AKZA#25577 Safe'r met quotes en newlines
svn path=/Website/branches/v5.2.3/; revision=16711
2013-02-04 09:33:43 +00:00
Jos Groot Lipman
487ee02849 SKAF#25549 nr erbij merge uit trunk
svn path=/Website/branches/v5.2.3/; revision=16688
2013-01-31 13:08:37 +00:00
Erik Groener
766278e848 WIBC#25550 RES: Verbruiksartikel met flexibele prijs in Google Chrome niet in te vullen?
svn path=/Website/branches/v5.2.3/; revision=16656
2013-01-29 12:52:34 +00:00
Erik Groener
d367f1c9ca AAEN#25370 mobiele Melding: "Gegevens zijn opgeslagen" iets langer weergeven
svn path=/Website/branches/v5.2.3/; revision=16646
2013-01-29 08:17:15 +00:00
Jos Groot Lipman
8bd1eea244 SKAF#25532 BES plaatjes als zelf geüpload
svn path=/Website/branches/v5.2.3/; revision=16637
2013-01-28 13:32:53 +00:00
Jos Groot Lipman
5fbe22f201 FSN#25537 Logging SSO error 3 wat minder
svn path=/Website/branches/v5.2.3/; revision=16634
2013-01-28 11:12:09 +00:00
Maykel Geerdink
e90b6f54e1 FSN#25484: IIS Logfile: Error bij goedkeuren opdracht.
AAVL#25510: Ajax error bij fiatteren.

svn path=/Website/branches/v5.2.3/; revision=16633
2013-01-28 10:32:59 +00:00
Jos Groot Lipman
d49a128bf5 AAEN#25393 Doublecheck meldingen bij objecten
svn path=/Website/branches/v5.2.3/; revision=16631
2013-01-28 09:22:58 +00:00
Ruud Lipper
8728303389 HOUT#24634
svn path=/Website/branches/v5.2.3/; revision=16600
2013-01-23 14:13:04 +00:00
Arthur Egberink
2df9ca62da RWSN#25367 -- Aanpassingen koppeling RWSN -> AARW
svn path=/Website/branches/v5.2.3/; revision=16558
2013-01-17 14:27:12 +00:00
Peter Feij
5bc5486d74 FSN#25447 plaatsloze meldingen altijd tonen
svn path=/Website/branches/v5.2.3/; revision=16552
2013-01-17 13:08:39 +00:00
Maykel Geerdink
d87244b909 HVDF#25094: Volledige inspectie-info ontbreekt voor de inspecteur.
svn path=/Website/branches/v5.2.3/; revision=16546
2013-01-17 11:49:50 +00:00
Maykel Geerdink
790094f459 PNBR#25381: http://wiki.facilitor.nl/forbidden.html.
svn path=/Website/branches/v5.2.3/; revision=16543
2013-01-17 10:23:58 +00:00
Erik Groener
5ccbf6b6e9 AAEN#25393 Na het scannen van een qr code krijg je de melding ´melding is al geregistreerd´
svn path=/Website/branches/v5.2.3/; revision=16530
2013-01-15 12:18:42 +00:00
Erik Groener
169aaeb9d7 AAEN#25393 Na het scannen van een qr code krijg je de melding ´melding is al geregistreerd´
svn path=/Website/branches/v5.2.3/; revision=16528
2013-01-15 11:25:29 +00:00
Erik Groener
7a11f07513 AAEN#25370 mobiele Melding: "Gegevens zijn opgeslagen" iets langer weergeven
svn path=/Website/branches/v5.2.3/; revision=16527
2013-01-15 11:21:38 +00:00
Jos Groot Lipman
fd8d612950 HVDF#25094 Info textarea readonly
svn path=/Website/branches/v5.2.3/; revision=16526
2013-01-15 11:03:06 +00:00
Jos Groot Lipman
01f97383d3 AARW#25379 Logging van de XML mogelijk maken
svn path=/Website/branches/v5.2.3/; revision=16524
2013-01-15 08:43:24 +00:00
Maykel Geerdink
87d622d3f0 HVDF#25094: Volledige inspectie-info ontbreekt voor de inspecteur.
svn path=/Website/branches/v5.2.3/; revision=16523
2013-01-15 08:40:47 +00:00
Erik Groener
0e315ba0d7 PNBR#25389 Uploaden dubbele bijlagen lukt niet meer met Firefox
svn path=/Website/branches/v5.2.3/; revision=16522
2013-01-15 07:23:34 +00:00
4617 changed files with 377043 additions and 397299 deletions

View File

@@ -20,6 +20,8 @@
RegioInScope etc. zou een beel betere benaming zijn geweest
*/
FCLTHeader.Requires({ lcl: ["ALG"] });
alg = {
// merk op: ALGMAN heeft geen PRS-scope, ALGUSE wel maar die negeren we
checkAutorisation: function (isOptional)
@@ -48,78 +50,35 @@ alg = {
var uALGreadlevel = 9;
var uALGwritelevel = 9;
}
// From now use the highest authorisations (lowest values)
var ALGreadlevel = mALGreadlevel < uALGreadlevel? mALGreadlevel : uALGreadlevel ;
var ALGwritelevel = mALGwritelevel < uALGwritelevel? mALGwritelevel: uALGwritelevel;
var autfunction = "WEB_RUIMAN";
var authparams = user.checkAutorisation(autfunction, true);
if (authparams) {
var rmALGreadlevel = authparams.ALGreadlevel;
var rmALGwritelevel = authparams.ALGwritelevel;
}
else {
var rmALGreadlevel = 9;
var rmALGwritelevel = 9;
}
var autfunction = "WEB_TERMAN";
var authparams = user.checkAutorisation(autfunction, true);
if (authparams) {
var tmALGreadlevel = authparams.ALGreadlevel;
var tmALGwritelevel = authparams.ALGwritelevel;
}
else {
var tmALGreadlevel = 9;
var tmALGwritelevel = 9;
}
return ({ALGreadlevel: ALGreadlevel, ALGwritelevel: ALGwritelevel,
mALGreadlevel: mALGreadlevel, mALGwritelevel: mALGwritelevel,
uALGreadlevel: uALGreadlevel, uALGwritelevel: uALGwritelevel,
rmALGreadlevel: rmALGreadlevel, rmALGwritelevel: rmALGwritelevel,
tmALGreadlevel: tmALGreadlevel, tmALGwritelevel: tmALGwritelevel
uALGreadlevel: uALGreadlevel, uALGwritelevel: uALGwritelevel
});
},
func_enabled: function alg_func_enabled (alg_key, p_onrgoedlvl)
func_enabled: function alg_func_enabled (alg_key, onrgoedlvl)
{
var onrgoedlvl = (p_onrgoedlvl ? p_onrgoedlvl.toUpperCase() : "");
if (alg_key < 0 ||
onrgoedlvl == "G" || onrgoedlvl == "T" || onrgoedlvl == "V" || onrgoedlvl == "R")
{
var rresult = user.func_enabled("ALG",
null, // geen disciplines
alg_key,
null); // nooit prs-scope
null, // geen disciplines
alg_key,
null); // nooit prs-scope
var autfunctionMAN = "WEB_ALGMAN";
var autfunctionUSE = "WEB_ALGUSE";
// Met ALG* bepaal je wat je ziet (Read).
rresult.readman = rresult.canRead (autfunctionMAN);
rresult.readman = rresult.canRead (onrgoedlvl == "T"?"WEB_TERMAN":"WEB_ALGMAN");
rresult.writeman = rresult.canWrite(onrgoedlvl == "T"?"WEB_TERMAN":"WEB_ALGMAN");
if (onrgoedlvl != "T")
rresult.readuse = rresult.canRead (autfunctionUSE);
// Met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
switch (onrgoedlvl)
{
case "T": autfunctionMAN = "WEB_TERMAN";
break;
case "R": autfunctionMAN = "WEB_RUIMAN";
autfunctionUSE = "WEB_RUIUSE";
break;
rresult.readuse = rresult.canRead ("WEB_ALGUSE");
rresult.writeuse = rresult.canWrite("WEB_ALGUSE");
}
rresult.writeman = rresult.canWrite(autfunctionMAN);
if (onrgoedlvl != "T")
rresult.writeuse = rresult.canWrite(autfunctionUSE);
else
rresult.writeuse = false;
}
else // iets meer werk
{
@@ -156,7 +115,6 @@ alg = {
rresult.readuse = rresult.authparams("WEB_ALGUSE").ALGreadlevel <= level;
rresult.writeuse = rresult.authparams("WEB_ALGUSE").ALGwritelevel <= level;
}
rresult.canCndAggr = rresult.writeuse;
return rresult;
},
@@ -284,55 +242,45 @@ alg = {
alg_gebouwinfo: function _alg_gebouw(alg_gebouw_key)
{
var sql = "SELECT g.alg_gebouw_naam"
+ " , g.alg_gebouw_toon_telefoon"
+ " , g.alg_gebouw_toon_email"
+ " , g.alg_gebouw_toon_kenteken"
+ " , g.alg_gebouw_code"
+ " , g.alg_gebouw_omschrijving"
+ " , g.alg_srtgebouw_key"
+ " , g.prs_kostenplaats_key"
+ " , g.mld_adres_key"
+ " , g.alg_gebouw_opmerking"
+ " , g.alg_gebouw_ordernr"
+ " , g.alg_gebouw_bez"
+ " , g.alg_locatie_key"
+ " , k.prs_kostenplaats_module"
+ " , " + S("prs_kpn_string") + " kpstring"
+ " , " + S("prs_pers_string") + " budgethouder"
+ " , p.prs_perslid_key"
+ " , COALESCE(g.alg_gebouw_beginuur, -1) alg_gebouw_beginuur"
+ " , COALESCE(g.alg_gebouw_einduur, -1) alg_gebouw_einduur"
+ " FROM alg_gebouw g"
+ " , prs_kostenplaats k"
+ " , prs_perslid p"
+ " WHERE g.prs_kostenplaats_key = k.prs_kostenplaats_key(+)"
+ " AND k.prs_perslid_key = p.prs_perslid_key(+)"
+ " AND g.alg_gebouw_key = " + alg_gebouw_key;
+ ", g.alg_gebouw_code"
+ ", g.alg_gebouw_omschrijving"
+ ", g.alg_srtgebouw_key"
+ ", g.prs_kostenplaats_key"
+ ", g.mld_adres_key"
+ ", g.alg_gebouw_opmerking"
+ ", g.alg_gebouw_ordernr"
+ ", g.alg_gebouw_bez"
+ ", g.alg_locatie_key"
+ ", k.prs_kostenplaats_module"
+ ", " + S("prs_kpn_string") + " kpstring"
+ ", " + S("prs_pers_string") + " budgethouder"
+ ", p.prs_perslid_key"
+ " FROM alg_gebouw g"
+ ", prs_kostenplaats k"
+ ", prs_perslid p"
+ " WHERE g.prs_kostenplaats_key = k.prs_kostenplaats_key"
+ " AND k.prs_perslid_key = p.prs_perslid_key"
+ " AND g.alg_gebouw_key = " + alg_gebouw_key;
var oRs = Oracle.Execute(sql);
var result = {};
if (!oRs.eof)
{
result = { alg_gebouw_key: alg_gebouw_key,
alg_gebouw_naam: oRs("alg_gebouw_naam").Value,
alg_gebouw_toon_telefoon: oRs("alg_gebouw_toon_telefoon").Value,
alg_gebouw_toon_email: oRs("alg_gebouw_toon_email").Value,
alg_gebouw_toon_kenteken: oRs("alg_gebouw_toon_kenteken").Value,
alg_gebouw_code: oRs("alg_gebouw_code").Value,
alg_gebouw_omschrijving: oRs("alg_gebouw_omschrijving").Value,
alg_srtgebouw_key: oRs("alg_srtgebouw_key").Value,
alg_kostenplaats_key: oRs("prs_kostenplaats_key").Value,
mld_adres_key: oRs("mld_adres_key").Value,
alg_gebouw_opmerking: oRs("alg_gebouw_opmerking").Value,
alg_gebouw_ordernr: oRs("alg_gebouw_ordernr").Value,
alg_gebouw_bez: oRs("alg_gebouw_bez").Value == "1",
alg_locatie_key: oRs("alg_locatie_key").Value,
kostenplaats_omschrijving: oRs("kpstring").Value,
kostenplaats_module: oRs("prs_kostenplaats_module").Value,
kostenplaats_budgethouder_key: oRs("prs_perslid_key").Value,
kostenplaats_budgethouder: oRs("budgethouder").Value,
gebouw_beginuur: oRs("alg_gebouw_beginuur").Value,
gebouw_einduur: oRs("alg_gebouw_einduur").Value
alg_gebouw_naam: oRs("alg_gebouw_naam").value,
alg_gebouw_code: oRs("alg_gebouw_code").value,
alg_gebouw_omschrijving: oRs("alg_gebouw_omschrijving").value,
alg_srtgebouw_key: oRs("alg_srtgebouw_key").value,
alg_kostenplaats_key: oRs("prs_kostenplaats_key").value,
mld_adres_key: oRs("mld_adres_key").value,
alg_gebouw_opmerking: oRs("alg_gebouw_opmerking").value,
alg_gebouw_ordernr: oRs("alg_gebouw_ordernr").value,
alg_gebouw_bez: oRs("alg_gebouw_bez").value == "1",
alg_locatie_key: oRs("alg_locatie_key").value,
kostenplaats_omschrijving: oRs("kpstring").value,
kostenplaats_module: oRs("prs_kostenplaats_module").value,
kostenplaats_budgethouder_key: oRs("prs_perslid_key").value,
kostenplaats_budgethouder: oRs("budgethouder").value
};
}
oRs.Close();
@@ -365,17 +313,17 @@ alg = {
if (!oRs.eof)
{
result = { alg_terreinsector_key: alg_terreinsector_key,
alg_terreinsector_naam: oRs("alg_terreinsector_naam").Value,
alg_terreinsector_code: oRs("alg_terreinsector_code").Value,
alg_terreinsector_omschrijving: oRs("alg_terreinsector_omschrijving").Value,
alg_srtterreinsector_key: oRs("alg_srtterreinsector_key").Value,
alg_kostenplaats_key: oRs("prs_kostenplaats_key").Value,
alg_terreinsector_ordernr: oRs("alg_terreinsector_ordernr").Value,
alg_locatie_key: oRs("alg_locatie_key").Value,
kostenplaats_omschrijving: oRs("kpstring").Value,
kostenplaats_module: oRs("prs_kostenplaats_module").Value,
kostenplaats_budgethouder_key: oRs("prs_perslid_key").Value,
kostenplaats_budgethouder: oRs("budgethouder").Value
alg_terreinsector_naam: oRs("alg_terreinsector_naam").value,
alg_terreinsector_code: oRs("alg_terreinsector_code").value,
alg_terreinsector_omschrijving: oRs("alg_terreinsector_omschrijving").value,
alg_srtterreinsector_key: oRs("alg_srtterreinsector_key").value,
alg_kostenplaats_key: oRs("prs_kostenplaats_key").value,
alg_terreinsector_ordernr: oRs("alg_terreinsector_ordernr").value,
alg_locatie_key: oRs("alg_locatie_key").value,
kostenplaats_omschrijving: oRs("kpstring").value,
kostenplaats_module: oRs("prs_kostenplaats_module").value,
kostenplaats_budgethouder_key: oRs("prs_perslid_key").value,
kostenplaats_budgethouder: oRs("budgethouder").value
};
}
oRs.Close();
@@ -397,34 +345,6 @@ alg = {
aresult.canPRSBOFwrite = aresult.canWrite("WEB_PRSBOF"); // werkplekbeheer
return aresult;
},
calc_algm2: function _calc_algm2(alg_key, lvl)
{
var sql = "SELECT SUM (alg_ruimte_bruto_vloeropp) opp1, "
+ " SUM (alg_ruimte_opp_alt1) opp2, "
+ " SUM (alg_ruimte_opp_alt2) opp3 "
+ " FROM alg_ruimte r, alg_verdieping v "
+ " WHERE v.alg_verdieping_key = r.alg_verdieping_key "
+ " AND r.alg_ruimte_verwijder IS NULL";
if (lvl == "G")
{
sql += " AND alg_gebouw_key = " + alg_key;
}
if (lvl == "V")
{
sql += " AND r.alg_verdieping_key = " + alg_key;
}
var oRs = Oracle.Execute(sql);
var algm2 = { oppbruto: oRs("opp1").Value, oppalt1: oRs("opp2").Value, oppalt2: oRs("opp3").Value }
oRs.Close();
return algm2;
}
}
}
%>

View File

@@ -1,64 +0,0 @@
<%@ LANGUAGE = JavaScript %>
<% /*
$Revision$
$Id$
File: alg_cnd_aggregate.asp
Description: Laten berekenen van de geaggregeerde conditiescores
Parameters: keys (van het onroerend goed)
level: "L", "G"
Context: Vanuit show-schermen en of vanuit overzichten
Result: JSON object
Note:
*/
var JSON_Result = true;
%>
<!--#include file="../Shared/common.inc"-->
<!--#include file="alg.inc" -->
<%
protectRequest.validateToken();
var level = getFParam("level");
var alg_key_arr = getFParamIntArray("key");
var autfunction = "WEB_ALGUSE"; // of iets met CND?
var authParams = user.checkAutorisation(autfunction);
var result = {};
var tobecndaggr = 0;
var ingesloten = [];
for (var i = 0; i < alg_key_arr.length; i++)
{
var this_alg = alg.func_enabled(alg_key_arr[i], level);
if (this_alg.canCndAggr)
{
ingesloten.push(alg_key_arr[i]);
tobecndaggr++;
}
}
user.anything_todo_or_abort(tobecndaggr > 0); // We klagen niet over enkele wel en enkele niet.
for (var i = 0; i < ingesloten.length; i++)
{
switch (level)
{
case "L":
sql = "BEGIN cnd.update_aggr_scores(" + ingesloten[i] + "); END;";
break;
case "G":
sql = "BEGIN cnd.update_aggr_scores(NULL," + ingesloten[i] + "); END;";
break
}
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
result.success = true;
}
Response.Write(JSON.stringify(result));
%>

View File

@@ -13,12 +13,11 @@
Note:
*/
var JSON_Result = true;
DOCTYPE_Disable = 1;
%>
<!--#include file="../Shared/common.inc"-->
<!--#include file="alg.inc" -->
<!--#include file="../Shared/json2.js" -->
<%
protectRequest.validateToken();
var level = getFParam("level");
var dis_key_arr = getFParamIntArray("key");
@@ -26,70 +25,15 @@ var dis_key_arr = getFParamIntArray("key");
var autfunction = {D : "WEB_ALGMAN",
RE: "WEB_ALGMAN",
L : "WEB_ALGMAN",
T : "WEB_TERMAN", // Met ALG* bepaal je wat je ziet (Read), met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
T : "WEB_ALGMAN",
G : "WEB_ALGMAN",
V : "WEB_ALGMAN",
R : "WEB_RUIMAN", // Met ALG* bepaal je wat je ziet (Read), met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
R : "WEB_ALGMAN",
W : "WEB_PRSBOF",
PW: "WEB_PRSBOF"}[level];
var authParams = user.checkAutorisation(autfunction);
var authparamsAlg = alg.checkAutorisation();
var tobedeleted = 0;
var ingesloten = [];
// Bepaal de opdrachten in de selectie die
// ook echt geaccepteerd kunnen of mogen worden.
for (var i = 0; i < dis_key_arr.length; i++)
{
var canDelete = false;
switch (level)
{
case "RE": canDelete = alg.canWriteRegio(dis_key_arr[i], authparamsAlg.mALGwritelevel);
break;
case "D": canDelete = alg.canWriteDistrict(dis_key_arr[i], authparamsAlg.mALGwritelevel);
break;
case "L": canDelete = alg.canWriteLocatie(dis_key_arr[i], authparamsAlg.mALGwritelevel);
break;
case "T": var sql = "SELECT alg_locatie_key"
+ " FROM alg_v_aanwezigterreinsector"
+ " WHERE alg_terreinsector_key = " + dis_key_arr[i];
oRs = Oracle.Execute(sql);
canDelete = alg.canWriteLocatie(oRs("alg_locatie_key").Value, authparamsAlg.mALGwritelevel);
oRs.Close()
break;
case "G": canDelete = alg.canWriteGebouw(dis_key_arr[i], authparamsAlg.mALGwritelevel);
break;
case "V": canDelete = alg.canWriteVerdieping(dis_key_arr[i], authparamsAlg.mALGwritelevel);
break;
case "R": canDelete = alg.canWriteRuimte(dis_key_arr[i], authparamsAlg.mALGwritelevel);
break;
case "W": var sql = "SELECT alg_ruimte_key"
+ " FROM prs_v_werkplek_gegevens"
+ " WHERE prs_werkplek_key = " + dis_key_arr[i];
oRs = Oracle.Execute(sql);
canDelete = alg.canWriteRuimte(oRs("alg_ruimte_key").Value, authparamsAlg.mALGwritelevel);
oRs.Close()
break;
case "PW": var sql = "SELECT alg_ruimte_key"
+ " FROM prs_v_werkplek_gegevens w, prs_perslidwerkplek pw"
+ " WHERE pw.prs_werkplek_key = w.prs_werkplek_key"
+ " AND prs_perslidwerkplek_key = " + dis_key_arr[i];
oRs = Oracle.Execute(sql);
canDelete = alg.func_enabled_ruimte(oRs("alg_ruimte_key").Value).canPRSBOFwrite;
oRs.Close()
break;
}
if (canDelete)
{
ingesloten.push(dis_key_arr[i]);
tobedeleted++;
}
}
user.auth_required_or_abort(tobedeleted > 0); // We klagen niet over enkele wel en enkele niet
var table = {D : "ALG_DISTRICT",
RE: "ALG_REGIO",
L : "ALG_LOCATIE",
@@ -100,42 +44,36 @@ var table = {D : "ALG_DISTRICT",
W : "PRS_WERKPLEK",
PW: "PRS_PERSLIDWERKPLEK"}[level];
result = { success: true, deleted: true };
for (var i = 0; i < ingesloten.length; i++)
result = { success: true };
for (var i = 0; i < dis_key_arr.length; i++)
{
// W en WP hebben geen verwijderveld (meer), die gaan echt weg.
if (level == "W" || level == "PW")
{
// Een WP gooit via de cascade zijn bezetting mee weg.
// Een bezetting verwijderen doet niets extra
// Bij impliciet verwijderen van wp-bezetting dus ook de werkplek weggooien
// die nu (per definitie) leeg wordt. Dit moet eerst, want straks weet
// ik niet meer genoeg
if (level == "PW" && S("prs_werkplek_implicit") == 1)
{
sql = "DELETE FROM prs_werkplek"
+ " WHERE prs_werkplek_key IN "
+ " (SELECT prs_werkplek_key "
+ " FROM prs_perslidwerkplek"
+ " WHERE prs_perslidwerkplek_key IN (" + ingesloten[i] + "))"
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
}
// En dit moet ongeacht impliciet of expliciet.
// Alleen bij PW&implicit zal dit niets meer verwijderen vanwege de cascade hiervoor
sql = "DELETE FROM " + table
+ " WHERE " + table + "_key IN (" + ingesloten[i] + ")";
}
else
{
sql = "UPDATE " + table
+ " SET " + table + "_VERWIJDER = " + "SYSDATE"
+ " WHERE " + table + "_key IN (" + ingesloten[i] + ")";
}
sql = "UPDATE " + table
+ " SET " + table + "_VERWIJDER = " + "SYSDATE"
+ " WHERE " + table + "_key IN (" + dis_key_arr[i] + ")";
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
{
result.message = err.friendlyMsg;
break;
}
// Bij impliciet ook de werkplek weggooien die nu leeg is.
if (result.success && level == "PW" && S("prs_werkplek_implicit") == 1)
{
sql = "UPDATE prs_werkplek"
+ " SET prs_werkplek_verwijder = SYSDATE"
+ " WHERE prs_werkplek_key IN "
+ " (SELECT prs_werkplek_key "
+ " FROM prs_perslidwerkplek"
+ " WHERE prs_perslidwerkplek_key IN (" + dis_key_arr[i] + "))"
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
{
result.message = err.friendlyMsg;
break;
}
}
}
Response.Write(JSON.stringify(result));

View File

@@ -28,9 +28,9 @@ if (dis_key > 0)
+ " FROM alg_district "
+ " WHERE alg_district_key = " + dis_key;
var oRs = Oracle.Execute(sql);
oRs = Oracle.Execute(sql);
var dis_name = oRs("alg_district_omschrijving").value;
oRs.Close()
}
else
{
@@ -42,7 +42,7 @@ else
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript" >
FcltMgr.setTitle(L("lcl_district") + " " + "<%=safe.jsstring(dis_name)%>", {hot: false});
FcltMgr.setTitle("<%=L("lcl_district")%> <%=safe.jsstring(dis_name)%> ", {hot: false});
<% if (dis_key == -1) { %>FcltMgr.startEdit(window);<% } %>
function algClose(params)
{
@@ -67,7 +67,7 @@ else
</script>
</head>
<body>
<body id="editbody">
<% if (dis_key == -1)
var page="alg_edit_district.asp"; // Maak een nieuw
else

View File

@@ -9,6 +9,8 @@
Note:
*/ %>
<!-- #include file="../Shared/disCxprs3d.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/getkenmerksql.inc" -->
<!-- #include file="alg.inc" -->
@@ -34,37 +36,33 @@ function fnrowData(oRs)
function gotoDetails(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_locatie_search.asp?district_key=" + algData.detail_key + "&autosearch=" + autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_location")%>");
}
function gotoParent(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_regio_search.asp?regio_key=" + algData.parent_key + "&autosearch=" + autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_region")%>");
}
function districtEdit(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_district.asp?mode=viewUpdate&key=" + algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_district")%>" + ' ' + algData.oms);
}
function doDelete(rowArray, isMulti)
{
FcltMgr.confirm(L("lcl_alg_del_txt_district"), { autoconfirm: isMulti },
function() {
var disKeyString = getKeyString(rowArray);
var data = { key: disKeyString,
level: "D"
};
<% protectRequest.dataToken("data"); %>+
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
}
);
var disKeyString = getKeyString(rowArray);
if (isMulti || confirm(L("lcl_alg_del_txt_district")))
$.post("alg_delete.asp",
{ key: disKeyString,
level: "D" },
FcltCallbackRefresh,
"json");
}
</script>
<%
@@ -82,22 +80,13 @@ function district_list(pautfunction, params)
var reg_key = params.reg_key;
var dis_key = params.dis_key;
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteDistrict(oRs("alg_district_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var dis_key = oRs("alg_district_key").Value;
var this_alg = alg.func_enabled(dis_key, "D");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteDistrict(oRs("alg_district_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
%>
<html>
<head>
@@ -130,11 +119,6 @@ function district_list(pautfunction, params)
sqln += " AND d.alg_district_key = " + dis_key;
}
if (params.distr_descr)
{
sqln += " AND UPPER(d.alg_district_omschrijving) LIKE " + safe.quoted_sql_wild(params.distr_descr + "%");
}
else if (reg_key)
{
sqln += " AND d.alg_regio_key = " + reg_key;
@@ -157,7 +141,6 @@ function district_list(pautfunction, params)
rowActionEnabler: fnrowActionEnabler,
flexModule: "ALG",
flexId: "alg_district_key",
flexParams: fnrowFlexParams,
filterParams: params,
outputmode: outputmode,
buttons: addButton

View File

@@ -28,16 +28,16 @@ var authparams = alg.checkAutorisation();
// Submitten met kenmerken
doSubmitWithKenmerken();
}
function myModal(init)
function myModal()
{
var lvl = "D";
var key = 0;
var bld_key = "";
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" +bld_key + "&onrgoed_niveau=" + lvl;
var titel = "<%=L("lcl_properties")%>";
showKenmerkModal(url, titel, init)
showKenmerkModal(url, titel)
}
$(function() {<% if (autosearch) { %> document.forms.u2.submit();<%}%>});
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit();<%}%>});
</script>
</head>
<body id="searchbody">
@@ -52,23 +52,19 @@ var authparams = alg.checkAutorisation();
regiokey: regio_key,
districtkey: district_key,
startlevel: 0, // Regio
eindlevel: 0, // Regio
eindlevel: 1, // District
whenEmpty: L("lcl_search_generic")
});
%>
<tr class="primsearch">
<td class="label"><label><%=L("lcl_estate_district_man_descr")%>:</label></td>
<td><input type="text" class="wildcard" id="distr_descr" name="distr_descr" value=""></td>
</tr>
</table>
</td><!-- end column 1 -->
<td class="searchkolom2">
</td><!-- end column 1 -->
</tr>
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch", importance: 1 },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced", importance: 3 } ];
CreateButtons(buttons, { entersubmit: true }); %>
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];
CreateButtons(buttons); %>
</form>
</div> <!-- search -->

View File

@@ -4,9 +4,9 @@
$Id$
File: alg_district_search_list.asp
Description:
Parameters:
Context:
Description:
Parameters:
Context:
Note:
*/ %>
@@ -23,14 +23,12 @@ var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = e
var showall = getQParamInt("showall", 0) == 1;
var reg_key = getQParamInt("regiokey", -1); // Regio
var dis_key = getQParamInt("districtkey", -1); // District
var distr_descr = getQParam("distr_descr", ""); // Districtomschrijving
district_list ( "*",
{ outputmode: outputmode,
showall: showall,
reg_key: (reg_key != -1? reg_key : null),
dis_key: (dis_key != -1? dis_key : null),
distr_descr: distr_descr
dis_key: (dis_key != -1? dis_key : null)
}
);
%>

View File

@@ -83,7 +83,7 @@ if (this_alg.writeman)
else
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
BLOCK_START("algInfo", "&nbsp;");
BLOCK_START("algInfo", "");
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
districtkey: dis_key,
startlevel: 0, // Regio
@@ -103,7 +103,6 @@ generateFlexKenmerkBlock ({
flexcolumns : S("alg_flexcolumns"),
this_alg : this_alg
});
IFACE.FORM_END();
%>
</form>
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>

View File

@@ -7,22 +7,17 @@
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc"-->
<!-- #include file="alg.inc" -->
<% FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"],
js: []
}) %>
<%
var dis_key = getQParamInt( "dis_key" );
var dis_key = getQParamInt( "dis_key" );
var onrgoedlvl = "D";
var this_alg = alg.func_enabled(dis_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
var fields = [ { dbs: "alg_district_omschrijving", typ: "varchar", frm: "dis_oms" },
{ dbs: "alg_regio_key", typ: "number", frm: "regiokey" }];
var fields = [ { dbs: "alg_district_omschrijving", typ: "varchar", frm: "dis_oms" },
{ dbs: "alg_regio_key", typ: "number", frm: "regiokey" }];
var warning = "";
if (dis_key > 0)
@@ -48,42 +43,29 @@ else
if (!warning)
{
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
+ " , ok.alg_onrgoedkenmerk_waarde"
+ " , k.alg_kenmerk_toonbaar"
+ " FROM alg_onrgoedkenmerk ok"
+ " , alg_kenmerk k"
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
+ " AND alg_onrgoed_niveau = 'D'"
+ " AND alg_onrgoed_key = " + dis_key;
saveFlexKenmerken(dis_key,
{ kenmerkTable: "alg_onrgoedkenmerk",
kenmerkParentKey : "alg_onrgoed_key",
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
kenmerkKey: "alg_kenmerk_key",
kenmerkToonbaar: "alg_kenmerk_toonbaar",
currentKenmerkenSQL: currentKenmerkenSQL,
requestQF: Request.Form,
flexPath: "ALG/D",
module: "ALG",
moduleName: "alg_onrgoed_niveau",
moduleVal: "D",
isNew: dis_key < 0
});
currentKenmerkenSQL = " SELECT k.ALG_kenmerk_key " +
" , ok.alg_onrgoedkenmerk_waarde" +
" FROM ALG_ONRGOEDKENMERK ok, ALG_KENMERK k " +
" WHERE k.ALG_KENMERK_KEY = ok.ALG_KENMERK_KEY " +
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
" AND ALG_ONRGOED_NIVEAU = 'D' " +
" AND ALG_ONRGOED_KEY = " + dis_key;
saveFlexKenmerken(dis_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
currentKenmerkenSQL, false, //QueryForm, rest QueryString
"ALG_ONRGOED_NIVEAU", "D",
(dis_key<0),"ALG/D")
}
%>
<html>
<head>
<% FCLTHeader.Generate() %>
<script>
$(function ()
{
FcltMgr.closeDetail(window, { dis_key: <%=dis_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
});
});
$(document).ready(function () {
FcltMgr.closeDetail(window, { dis_key: <%=dis_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
}); } );
</script>
</head>
<body>

View File

@@ -7,16 +7,17 @@
Description: edit of toevoegen van een gebouw
Parameters: bld_key
Context:
Note:
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/calendar.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/adresselector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!--#include file="../Shared/common.inc" -->
<!--#include file="../Shared/iface.inc" -->
<!--#include file="../Shared/selector.inc" -->
<!--#include file="../Shared/plaatsselector.inc" -->
<!--#include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="alg_flexkenmerk.inc" -->
<!-- #include file="alg.inc" -->
@@ -31,260 +32,193 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
if (bld_key > 0)
{
var sql = " SELECT *"
+ " FROM alg_gebouw"
+ " WHERE alg_gebouw_key = " + bld_key;
sql = " select * "
+ " FROM ALG_GEBOUW "
+ " WHERE alg_gebouw_key = " + bld_key;
oRs = Oracle.Execute(sql);
if (oRs.Eof)
shared.record_not_found("<!--"+bld_key+"-->");
oRs = Oracle.Execute(sql);
if (oRs.Eof)
shared.record_not_found("<!--"+bld_key+"-->");
var bld_srtkey = oRs("alg_srtgebouw_key").Value;
var bld_naam = oRs("alg_gebouw_naam").Value;
var bld_code = oRs("alg_gebouw_code").Value;
var bld_descr = oRs("alg_gebouw_omschrijving").Value;
var bld_maak = oRs("alg_gebouw_aanmaak").Value;
var bld_email = oRs("alg_gebouw_email").Value;
var bld_teken = oRs("alg_gebouw_getekend").Value;
var bld_opp = oRs("alg_gebouw_bruto_vloeropp").Value;
var bld_omtrek = oRs("alg_gebouw_omtrek").Value;
var bld_inhoud = oRs("alg_gebouw_inhoud").Value;
var bld_opmerk = oRs("alg_gebouw_opmerking").Value;
var mld_adres = oRs("mld_adres_key").Value;
var prs_kstpl = oRs("prs_kostenplaats_key").Value;
var bld_ordrnr = oRs("alg_gebouw_ordernr").Value;
var bld_dwgx = oRs("alg_gebouw_dwgx").Value;
var bld_dwgy = oRs("alg_gebouw_dwgy").Value;
var bld_x = oRs("alg_gebouw_x").Value;
var bld_y = oRs("alg_gebouw_y").Value;
var bld_bez = oRs("alg_gebouw_bez").Value;
var bld_groep = oRs("alg_gebouw_groep").Value;
var dienstniveau = oRs("mld_dienstniveau_key").Value;
var beginuur = oRs("alg_gebouw_beginuur").Value;
var einduur = oRs("alg_gebouw_einduur").Value;
var werkdagen = oRs("alg_gebouw_werkdagen").Value;
var toon_telefoon = oRs("alg_gebouw_toon_telefoon").Value;
var toon_email = oRs("alg_gebouw_toon_email").Value;
var toon_kenteken = oRs("alg_gebouw_toon_kenteken").Value;
var verantw_key = oRs("prs_perslid_key_verantw").Value;
var verantw_key2 = oRs("prs_perslid_key_verantw2").Value;
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value != null ? new Date(oRs("alg_gebouw_vervaldatum").Value) : null;
var geb_score1 = oRs("alg_gebouw_mjb_score1").value;
oRs.Close();
var bld_srtkey = oRs("ALG_SRTGEBOUW_KEY").value;
var bld_naam = oRs("ALG_GEBOUW_NAAM").value;
var bld_code = oRs("ALG_GEBOUW_CODE").value;
var bld_descr = oRs("ALG_GEBOUW_OMSCHRIJVING").value;
var bld_maak = oRs("ALG_GEBOUW_AANMAAK").value;
var bld_teken = oRs("ALG_GEBOUW_GETEKEND").value;
var bld_opp = oRs("ALG_GEBOUW_BRUTO_VLOEROPP").value;
var bld_omtrek = oRs("ALG_GEBOUW_OMTREK").value;
var bld_inhoud = oRs("ALG_GEBOUW_INHOUD").value;
var bld_opmerk = oRs("ALG_GEBOUW_OPMERKING").value;
var mld_adres = oRs("MLD_ADRES_KEY").value;
var prs_kstpl = oRs("PRS_KOSTENPLAATS_KEY").value;
var bld_ordrnr = oRs("ALG_GEBOUW_ORDERNR").value;
var bld_dwgx = oRs("ALG_GEBOUW_DWGX").value;
var bld_dwgy = oRs("ALG_GEBOUW_DWGY").value;
var bld_x = oRs("ALG_GEBOUW_X").value;
var bld_y = oRs("ALG_GEBOUW_Y").value;
var bld_bez = oRs("ALG_GEBOUW_BEZ").value;
var dienstniveau = oRs("mld_dienstniveau_key").value;
var beginuur = oRs("alg_gebouw_beginuur").value;
var einduur = oRs("alg_gebouw_einduur").value;
var werkdagen = oRs("alg_gebouw_werkdagen").value;
oRs.Close();
}
else
{
var werkdagen = 1;
var toon_telefoon = 0;
var toon_email = 0;
var toon_kenteken = 0;
}
werkdagen = 1;
%>
<html>
<head>
<head>
<%
FCLTHeader.Generate();
%>
<script>
function alg_submit()
{
document.activeElement.blur(); // trigger laatste onChanges
if (!validateForm("u2"))
return false;
document.forms.u2.submit();
}
function alg_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
</script>
</head>
<script>
function alg_submit()
{
document.activeElement.blur(); // trigger laatste onChanges
if (!validateForm("u2"))
return false;
document.forms.u2.submit();
}
function alg_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
</script>
</head>
<body id="editbody">
<body id="editbody">
<%
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
IFRAMER_HEADER(L("lcl_alg_gebouw_frame"), buttons);
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
IFRAMER_HEADER(L("lcl_alg_gebouw_frame"), buttons);
%>
<div id="edit">
<form name="u2"
action="alg_edit_gebouw_save.asp?bld_key=<%=bld_key%>"
method="post"
target="hidFrameSubmit"
onSubmit="alg_submit();">
<div id="edit">
<form name="u2"
action="alg_edit_gebouw_save.asp?bld_key=<%=bld_key%>"
method="post"
target="hidFrameSubmit"
onSubmit="alg_submit();">
<%
if (this_alg.writeman)
manRWFIELD = RWFIELDTR;
else
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
if (this_alg.writeman)
manRWFIELD = RWFIELDTR;
else
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
BLOCK_START("algLoc1", L("lcl_alg_gebouw_algemeen"));
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel,
{ gebouwkey: bld_key,
startlevel: 2, //Locatie
eindlevel: 2, // Locatie
readonly: bld_key > 0,
required: true
});
manRWFIELD("bld_naam", "fld", L("lcl_estate_gebouw_man_name"), bld_naam, {required: true, maxlength: 60});
manRWFIELD("bld_code", "fld", L("lcl_estate_gebouw_man_code"), bld_code, {required: true, maxlength: 12});
sql = "SELECT alg_srtgebouw_key, "
+ " "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
+ " FROM alg_srtgebouw "
+ " WHERE alg_srtgebouw_verwijder IS NULL "
+ "ORDER BY UPPER("+lcl.xsql('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')+")";
FCLTselector("bld_srtkey",
sql,
{ label: L("lcl_estate_gebouw_srtgebouw"),
BLOCK_START("algLoc1", "");
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
gebouwkey: bld_key,
startlevel: 2, //Locatie
eindlevel: 2, // Locatie
readonly: bld_key > 0,
required: true });
manRWFIELD("bld_naam", "fld", L("lcl_estate_gebouw_man_name"), bld_naam, {required: true, maxlength: 30});
sql = "SELECT alg_srtgebouw_key, "
+ " "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
+ " FROM alg_srtgebouw "
+ " WHERE alg_srtgebouw_verwijder IS NULL "
+ "ORDER BY UPPER("+lcl.xsql('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')+")";
FCLTselector("bld_srtkey", sql,
{ label: L("lcl_estate_gebouw_srtgebouw"),
initKey: bld_srtkey,
emptyOption: "",
readonly: !this_alg.writeman
});
manRWFIELD("bld_opmerk", "fld", L("lcl_estate_gebouw_man_opmerk"), bld_opmerk, {maxlength: 50});
manRWFIELD("bld_groep", "fld", L("lcl_estate_gebouw_groepkenmerk"), bld_groep, {maxlength: 60});
}
);
FCLTcalendar("vervaldatum",
{ datum: vervaldatum,
initEmpty: vervaldatum==null,
label: L("lcl_alg_vervaldatum"),
readonly: !this_alg.writeman
});
BLOCK_END();
manRWFIELD("bld_code", "fld", L("lcl_estate_gebouw_man_code"), bld_code, {required: true, maxlength: 12});
manRWFIELD("bld_opmerk", "fld", L("lcl_estate_gebouw_man_opmerk"), bld_opmerk, {maxlength: 50});
BLOCK_START("algLoc2", L("lcl_alg_gebouw_fysiek"));
if (bld_key > 0)
{
var calcopp = alg.calc_algm2(bld_key, onrgoedlvl);
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true, datatype: "float"});
}
manRWFIELD("bld_opp", "fld float", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {datatype: "float", maxlength: 15});
manRWFIELD("bld_omtrek", "fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {datatype: "float", maxlength: 15});
manRWFIELD("bld_inhoud", "fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {datatype: "float", maxlength: 15});
manRWFIELD("bld_x", "fldshort", L("lcl_geoxcoord"), bld_x, {maxlength: 25});
manRWFIELD("bld_y", "fldshort", L("lcl_geoycoord"), bld_y, {maxlength: 25});
ROFIELDTR("fld", L("lcl_alg_gebouw_mjb_score1"), geb_score1, {suppressEmpty: true});
BLOCK_END();
BLOCK_START("algLoc3", L("lcl_alg_gebouw_administr"));
FCLTkostenplaatsselector( "prs_kstpl",
"prs_kstpl",
user_key,
{ kostenplaatsKey: prs_kstpl,
label: L("lcl_prs_dept_kosten"),
filtercode: "G",
readonly: !this_alg.writeman
});
manRWFIELD("bld_ordrnr", "fld", L("lcl_estate_gebouw_ordernr"), bld_ordrnr, {maxlength: 30});
FCLTpersoonselector("verantw",
"sgVerantw",
{ perslidKey: verantw_key,
label: L("lcl_alg_verantw"),
readonly: !this_alg.writeuse,
autlevel: this_alg.authparams("WEB_ALGMAN") && this_alg.authparams("WEB_ALGMAN").PRSwritelevel
FCLTkostenplaatsselector( "prs_kstpl",
"prs_kstpl",
user_key,
{ kostenplaatsKey: prs_kstpl,
label: L("lcl_prs_dept_kosten"),
filtercode: "G",
readonly: !this_alg.writeman
});
FCLTpersoonselector("verantw2",
"sgVerantw2",
{ perslidKey: verantw_key2,
label: L("lcl_alg_verantw2"),
readonly: !this_alg.writeuse,
autlevel: this_alg.authparams("WEB_ALGMAN") && this_alg.authparams("WEB_ALGMAN").PRSwritelevel
});
manRWFIELD("bld_email", "fld", L("lcl_alg_gebouw_email"), bld_email, {maxlength: 200});
BLOCK_END();
manRWFIELD("bld_ordrnr", "fld", L("lcl_estate_gebouw_ordernr"), bld_ordrnr, {maxlength: 30});
BLOCK_START("algLoc4", L("lcl_alg_gebouw_facilitair"));
sql = "SELECT mld_dienstniveau_key"
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
+ " FROM mld_dienstniveau"
+ " ORDER BY UPPER(" + lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key") + ")";
FCLTselector("dienstniveau",
sql,
{ label: L("lcl_mld_dienst_niveau"),
initKey: dienstniveau,
emptyOption: "",
readonly: !this_alg.writeuse
});
FCLTadresselector("mld_adres", "sgAdres",
{
label: L("lcl_delivery_address"),
adresKey: mld_adres,
emptyOption: "",
filtercode: "A",
readonly: !this_alg.writeman
}) ;
var times = [];
for (i=0; i<24; i++)
{
sql = " SELECT " + String(i+0/4) + ", '" + String(i) + ":00' FROM DUAL"
+ " UNION ALL SELECT " + String(i+1/4) + ", '" + String(i) + ":15' FROM DUAL"
+ " UNION ALL SELECT " + String(i+2/4) + ", '" + String(i) + ":30' FROM DUAL"
+ " UNION ALL SELECT " + String(i+3/4) + ", '" + String(i) + ":45' FROM DUAL"
times.push(sql);
}
FCLTselector("bld_beginuur", times.join(" UNION ALL "),
{ label: L("lcl_estate_gebouw_beginuur"),
initKey: beginuur,
emptyOption: "",
readonly: !this_alg.writeman
}
);
FCLTselector("bld_einduur", times.join(" UNION ALL "),
{ label: L("lcl_estate_gebouw_einduur"),
initKey: einduur,
emptyOption: "",
readonly: !this_alg.writeman
}
);
if (this_alg.writeman)
CHECKBOXTR(L("lcl_estate_gebouw_werkdagen"), "fldalgwerk", "bld_werkdagen", werkdagen==1)
BLOCK_END();
sql = "SELECT mld_dienstniveau_key, "
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
+ " FROM mld_dienstniveau "
+ "ORDER BY UPPER("+lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key")+")";
if (user.checkAutorisation("WEB_BEZMGT", true))
{
FCLTselector("dienstniveau", sql,
{ label: L("lcl_mld_dienst_niveau"),
initKey: dienstniveau,
emptyOption: "",
readonly: !this_alg.writeuse
});
BLOCK_START("algLoc5", L("lcl_alg_gebouw_bezoek"));
if (this_alg.writeman)
CHECKBOXTR(L("lcl_estate_gebouw_bez"), "fldalgbez", "bld_bez", bld_bez==1);
var sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toontelfLOV"));
FCLTselector("toon_telefoon",
sql,
{ label: L("lcl_estate_gebouw_toon_telefoon"),
initKey: toon_telefoon,
extraclass: "notmulti"
});
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonmailLOV"));
FCLTselector("toon_email",
sql,
{ label: L("lcl_estate_gebouw_toon_email"),
initKey: toon_email,
extraclass: "notmulti"
});
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonkentLOV"));
FCLTselector("toon_kenteken",
sql,
{ label: L("lcl_estate_gebouw_toon_kenteken"),
initKey: toon_kenteken,
extraclass: "notmulti"
});
BLOCK_END();
}
BLOCK_END();
BLOCK_START("algLoc2", "");
generateFlexKenmerkBlock ({ onrgoed_key : bld_key,
onrgoed_niveau : onrgoedlvl,
reado : false,
flexcolumns : S("alg_flexcolumns"),
this_alg : this_alg
});
IFACE.FORM_END();
manRWFIELD("bld_opp", "fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {maxlength: 15});
manRWFIELD("bld_omtrek", "fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {maxlength: 15});
manRWFIELD("bld_inhoud", "fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {maxlength: 15});
sql ="SELECT mld_adres_key, "
+ " mld_adres_naam "
+ " FROM mld_v_afleveradres "
+ "ORDER BY mld_adres_naam ";
FCLTselector("mld_adres", sql,
{ label: L("lcl_delivery_address"),
initKey: mld_adres,
emptyOption: "",
readonly: !this_alg.writeman
});
manRWFIELD("bld_x", "fld", L("lcl_geoxcoord"), bld_x, {maxlength: 25});
manRWFIELD("bld_y", "fld", L("lcl_geoycoord"), bld_y, {maxlength: 25});
if (this_alg.writeman)
CHECKBOXTR(L("lcl_estate_gebouw_bez"), "fldalgbez", "bld_bez", bld_bez==1)
var times = [];
for (i=0; i<24; i++)
{
sql = " SELECT " + String(i+0/4) + ", '" + String(i) + ":00' FROM DUAL"
+ " UNION ALL SELECT " + String(i+1/4) + ", '" + String(i) + ":15' FROM DUAL"
+ " UNION ALL SELECT " + String(i+2/4) + ", '" + String(i) + ":30' FROM DUAL"
+ " UNION ALL SELECT " + String(i+3/4) + ", '" + String(i) + ":45' FROM DUAL"
times.push(sql);
}
FCLTselector("bld_beginuur", times.join(" UNION ALL "),
{ label: L("lcl_estate_gebouw_beginuur"),
initKey: beginuur,
emptyOption: "",
readonly: !this_alg.writeman
}
);
FCLTselector("bld_einduur", times.join(" UNION ALL "),
{ label: L("lcl_estate_gebouw_einduur"),
initKey: einduur,
emptyOption: "",
readonly: !this_alg.writeman
}
);
if (this_alg.writeman)
CHECKBOXTR(L("lcl_estate_gebouw_werkdagen"), "fldalgwerk", "bld_werkdagen", werkdagen==1)
BLOCK_END();
generateFlexKenmerkBlock ({
onrgoed_key : bld_key,
onrgoed_niveau : onrgoedlvl,
reado : false,
flexcolumns : S("alg_flexcolumns"),
this_alg : this_alg
});
%>
</form>
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
</div>
</body>
</form>
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
</div>
</body>
</html>

View File

@@ -1,315 +0,0 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: alg_edit_gebouw_multi.asp
Description: Multi editten van gebouwen
Parameters: key
Context: alg_gebouw_search_list.asp
Note: De minimale multi-edit velden
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/calendar.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="./alg_flexkenmerk.inc" -->
<!-- #include file="alg.inc" -->
<%
FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"] });
var bld_key_arr = getQParamIntArray("bld_keys");
var submitting = getQParamInt("submit", 0) == 1;
var warning = "";
var result = {};
var tobeedited = 0;
var ingesloten = [];
// Bepaal de gebouwen in de selectie die
// ook echt gewijzigd kunnen of mogen worden.
var onrgoedlvl = "G";
for (var i = 0; i < bld_key_arr.length; i++)
{
var this_alg = alg.func_enabled(bld_key_arr[i], onrgoedlvl);
if (this_alg.writeman || this_alg.writeuse)
{
ingesloten.push(bld_key_arr[i]);
tobeedited++;
var last_this_alg = this_alg; // deze gebruiken we voor rechtencontrole. Niet 100% zuiver maar goed genoeg
}
}
user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele wel en enkele niet
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<%
if (submitting)
{
var fields = [];
if (Request.Form("prs_kstpl").Count == 1 && getFParam("check_prs_kstpl", "off") == "on")
fields.push({ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstpl", track: L("lcl_prs_dept_kosten"), foreign: "prs_kostenplaats" });
if (Request.Form("verantw").Count == 1 && getFParam("check_verantw", "off") == "on")
fields.push({ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "prs_perslid" });
if (Request.Form("verantw2").Count == 1 && getFParam("check_verantw2", "off") == "on")
fields.push({ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "prs_perslid" });
if (Request.Form("groep").Count == 1 && getFParam("check_groep", "off") == "on")
fields.push({ dbs: "alg_gebouw_groep", typ: "varchar", frm: "groep", track: L("lcl_estate_gebouw_groepkenmerk") });
if (Request.Form("vervaldatum").Count == 1 && getFParam("check_vervaldatum", "off") == "on")
fields.push({ dbs: "alg_gebouw_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") });
if (Request.Form("toon_telefoon").Count == 1 && getFParam("check_toon_telefoon", "off") == "on")
fields.push({ dbs: "alg_gebouw_toon_telefoon", typ: "number", frm: "toon_telefoon", track: L("lcl_estate_gebouw_toon_telefoon") });
if (Request.Form("toon_email").Count == 1 && getFParam("check_toon_email", "off") == "on")
fields.push({ dbs: "alg_gebouw_toon_email", typ: "number", frm: "toon_email", track: L("lcl_estate_gebouw_toon_email") });
if (Request.Form("toon_kenteken").Count == 1 && getFParam("check_toon_kenteken", "off") == "on")
fields.push({ dbs: "alg_gebouw_toon_kenteken", typ: "number", frm: "toon_kenteken", track: L("lcl_estate_gebouw_toon_kenteken") });
for (var i = 0; i < ingesloten.length; i++)
{ // Ik mag het object wijzigen dus voer wijziging uit
if (fields.length)
{
var algUpd = buildTrackingUpdate("alg_gebouw", " alg_gebouw_key = " + ingesloten[i], fields);
// Submit the changed data
var err = Oracle.Execute(algUpd.sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
}
else
algUpd = { trackarray: [] };
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
+ " , ok.alg_onrgoedkenmerk_waarde"
+ " , k.alg_kenmerk_toonbaar"
+ " FROM alg_onrgoedkenmerk ok"
+ " , alg_kenmerk k"
+ " WHERE ok.alg_kenmerk_key = k.alg_kenmerk_key"
+ " AND ok.alg_onrgoedkenmerk_verwijder IS NULL"
+ " AND ok.alg_onrgoed_niveau = 'G'"
+ " AND ok.alg_onrgoed_key = " + ingesloten[i];
allKenmerkenSQL = "SELECT " + lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') + " kenmerk_omschrijving"
+ " , k.alg_kenmerk_kenmerktype kenmerk_kenmerktype"
+ " , k.alg_kenmerk_systeem kenmerk_systeem"
+ " , k.alg_kenmerk_toonbaar kenmerk_readonly"
+ " , k.alg_kenmerk_uniek kenmerk_uniek"
+ " , fac_kenmerkdomein_key"
+ " FROM alg_kenmerk k"
+ " WHERE k.alg_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
var flextrack = saveFlexKenmerken(ingesloten[i],
{ kenmerkTable: "alg_onrgoedkenmerk",
kenmerkParentKey : "alg_onrgoed_key",
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
kenmerkKey: "alg_kenmerk_key",
kenmerkToonbaar: "alg_kenmerk_toonbaar",
currentKenmerkenSQL: currentKenmerkenSQL,
allKenmerkenSQL: allKenmerkenSQL,
requestQF: Request.Form,
flexPath: "ALG/G",
multiMode: true,
tracking: true,
module: "ALG",
moduleName: "alg_onrgoed_niveau",
moduleVal: "G",
isNew: false
});
// /* flextrackarray = */ ins.updateKenmerkdeel(ingesloten[i], {multimode: true});
var update_string = L("lcl_alg_is_alggup") + "\n" + algUpd.trackarray.join("\n");
if (flextrack && flextrack.length)
update_string += flextrack.join("\n");
shared.trackaction("ALGGUP", ingesloten[i], update_string);
}
%> <script type="text/javascript">
$(function()
{
FcltMgr.closeDetail(window, { success: true } )
});
</script>
<% Response.End();
}
%>
<script type="text/javascript">
function alg_submit()
{ // Invoer van velden wordt realtime gevalideerd.
document.forms.u2.submit();
return true; // disable button
}
function alg_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
</script>
</head>
<body class="modal" id="mod_algmultiedit">
<form name="u2" action="alg_edit_gebouw_multi.asp?submit=1&bld_keys=<%=ingesloten.join(",")%>" method="post">
<%
BLOCK_START("algGebouw", L("lcl_alg_gebouw_frame"));
FCLTkostenplaatsselector( "prs_kstpl",
"prs_kstpl",
user_key,
{ kostenplaatsKey: -1,
label: L("lcl_prs_dept_kosten"),
filtercode: "G",
readonly: !last_this_alg.writeman
});
FCLTpersoonselector("verantw",
"sgVerantw",
{ perslidKey: -1,
label: L("lcl_alg_verantw"),
readonly: !last_this_alg.writeuse,
autlevel: last_this_alg.authparams("WEB_ALGMAN") && last_this_alg.authparams("WEB_ALGMAN").PRSwritelevel
});
FCLTpersoonselector("verantw2",
"sgVerantw2",
{ perslidKey: -1,
label: L("lcl_alg_verantw2"),
readonly: !last_this_alg.writeuse,
autlevel: last_this_alg.authparams("WEB_ALGMAN") && last_this_alg.authparams("WEB_ALGMAN").PRSwritelevel
});
RWFIELDTR("groep", "fld", L("lcl_estate_gebouw_groepkenmerk"), "", {maxlength: 60});
FCLTcalendar("vervaldatum",
{ initEmpty: true,
label: L("lcl_alg_vervaldatum"),
volgnr: 1,
onChange: "DateChangedVerval()",
readonly: !last_this_alg.writeman
});
var sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toontelfLOV"));
FCLTselector("toon_telefoon",
sql,
{ label: L("lcl_estate_gebouw_toon_telefoon"),
initEmpty: true
});
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonmailLOV"));
FCLTselector("toon_email",
sql,
{ label: L("lcl_estate_gebouw_toon_email"),
initEmpty: true
});
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonkentLOV"));
FCLTselector("toon_kenteken",
sql,
{ label: L("lcl_estate_gebouw_toon_kenteken"),
initEmpty: true
});
BLOCK_END();
generateFlexKenmerkBlock({
fnpre: function () {BLOCK_START("algMultiEdit", L("lcl_flexible_properties"));},
fnpost: BLOCK_END,
onrgoed_niveau: "G",
onrgoed_key: -1,
this_alg: last_this_alg,
reado: false,
multi: true,
flexcolumns: 1 // altijd want popup
});
%>
<script type="text/javascript">
function DateChangedVerval()
{
if ($("#show_vervaldatum").is(":checkbox"))
var isgevuld = $("#show_vervaldatum").is(":checked")
else
var isgevuld = $("#show_vervaldatum").val();
$("input[type=checkbox][name=check_vervaldatum]").prop("checked", isgevuld);
}
function putCheckmarkSuggest(prs_key, prs_txt, obj)
{
thisobj = $("#"+obj.suggestid);
if (thisobj.is(":checkbox"))
var isgevuld = thisobj.is(":checked")
else
var isgevuld = thisobj.val();
if (thisobj.hasClass("flddate"))
var cb_name = "check_" + thisobj.attr("id").substr("show_".length);
else if (thisobj.hasClass("suggest"))
var cb_name = "check_" + thisobj.attr("id").substr(0, thisobj.attr("id").length-5);
else
var cb_name = "check_" + thisobj.attr("name");
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
// Eventuele andere onChange acties van een selecter hieronder toevoegen.
};
$(function()
{ // Een vinkboxje voor de invoer velden toevoegen.
// Niet een vinkboxje toevoegen voor de flexkenmerken. Dat doet generateFlexKenmerkBlock.listKenmerk wel.
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not("[class^='fldflex']").not("[class^='fldSflex']").not("[name^='check_']").each(
function() {
if ($(this).hasClass("flddate"))
var cb_name = "check_" + $(this).attr("id").substr("show_".length);
else if ($(this).hasClass("suggest"))
var cb_name = "check_" + $(this).attr("id").substr(0, $(this).attr("id").length-5);
else
var cb_name = "check_" + $(this).attr("name");
var cb = $("<input type='checkbox'>").attr("name", cb_name);
var td = $("<td class='multi_cb'></td>").append(cb);
$(this).closest("tr").find(" td.label").before(td);
// Zetten vinkje als je waarde invult
if ($(this).hasClass('suggest'))
{ // Suggest veld: Functie putCheckmarkSuggest() aan sgonchange koppelen.
this.setAttribute("sgonchange", "putCheckmarkSuggest");
}
else if ($(this).hasClass("flddate"))
{
// De FCLTcalendar vervaldatum heeft zijn eigen onChange functie die wordt aangeroepen.
// Geen change functie aan het datum veld koppelen.
}
else
{ // Andere velden dan suggest veld.
$(this).change(function()
{
if ($(this).is(":checkbox"))
var isgevuld = $(this).is(":checked")
else
var isgevuld = $(this).val();
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
});
}
// Wissen waarde als je vinkje weghaalt
cb.change(function(deze) {
return function() {
if (!$(this).is(":checked"))
$(deze).val("");
else if ($(deze).hasClass("required"))
// Vinkje is aangevinkt en waarde is leeg.
// Als het veld verplicht is het vinkje er weer afhalen.
$(this).prop("checked", false);
}
}(this));
});
});
</script>
<%
var buttons = [];
buttons.push({title: L("lcl_submit"), action:"alg_submit()", singlepress: true, id: "btn_edit_submit", importance: 1})
buttons.push({title: L("lcl_cancel"), action:"alg_cancel()", importance: 3})
CreateButtons(buttons)
IFACE.FORM_END();
%>
</form>
</body>
</html>

View File

@@ -7,9 +7,8 @@
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc"-->
<!-- #include file="alg.inc" -->
<% FCLTHeader.Requires({ plugins:["jQuery"],
js: []
@@ -17,54 +16,31 @@
<%
var bld_key = getQParamInt( "bld_key" );;
var beginuur = getFParamFloat("bld_beginuur", -2);
if (beginuur == -1)
beginuur = "";
var einduur = getFParamFloat("bld_einduur", -2);
if (einduur == -1)
einduur = "";
var onrgoedlvl = "G";
var this_alg = alg.func_enabled(bld_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse));
var fields = [ { dbs: "alg_locatie_key", typ: "key", frm: "locatiekey" },
{ dbs: "alg_srtgebouw_key", typ: "key", frm: "bld_srtkey" },
{ dbs: "alg_gebouw_naam", typ: "varchar", frm: "bld_naam" },
{ dbs: "alg_gebouw_code", typ: "varchar", frm: "bld_code" },
{ dbs: "alg_gebouw_omschrijving", typ: "varchar", frm: "bld_descr" },
{ dbs: "alg_gebouw_email", typ: "varchar", frm: "bld_email" },
{ dbs: "alg_gebouw_getekend", typ: "date", frm: "bld_teken" },
{ dbs: "alg_gebouw_bruto_vloeropp", typ: "float", frm: "bld_opp" },
{ dbs: "alg_gebouw_omtrek", typ: "float", frm: "bld_omtrek" },
{ dbs: "alg_gebouw_inhoud", typ: "float", frm: "bld_inhoud" },
{ dbs: "alg_gebouw_opmerking", typ: "varchar", frm: "bld_opmerk" },
{ dbs: "alg_gebouw_groep", typ: "varchar", frm: "bld_groep" },
{ dbs: "mld_adres_key", typ: "key", frm: "mld_adres" },
{ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstpl" },
{ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau" },
{ dbs: "alg_gebouw_ordernr", typ: "varchar", frm: "bld_ordrnr" },
{ dbs: "alg_gebouw_dwgx", typ: "float", frm: "bld_dwgx" },
{ dbs: "alg_gebouw_dwgy", typ: "float", frm: "bld_dwgy" },
{ dbs: "alg_gebouw_x", typ: "float", frm: "bld_x" },
{ dbs: "alg_gebouw_y", typ: "float", frm: "bld_y" },
{ dbs: "alg_gebouw_bez", typ: "check", frm: "bld_bez" },
{ dbs: "alg_gebouw_werkdagen", typ: "check0", frm: "bld_werkdagen" },
{ dbs: "alg_gebouw_toon_telefoon", typ: "number", frm: "toon_telefoon" },
{ dbs: "alg_gebouw_toon_email", typ: "number", frm: "toon_email" },
{ dbs: "alg_gebouw_toon_kenteken", typ: "number", frm: "toon_kenteken" },
{ dbs: "alg_gebouw_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw" },
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2" }];
{ dbs: "ALG_SRTGEBOUW_KEY", typ: "key", frm: "bld_srtkey" },
{ dbs: "ALG_GEBOUW_NAAM", typ: "varchar", frm: "bld_naam" },
{ dbs: "ALG_GEBOUW_CODE", typ: "varchar", frm: "bld_code" },
{ dbs: "ALG_GEBOUW_OMSCHRIJVING", typ: "varchar", frm: "bld_descr" },
{ dbs: "ALG_GEBOUW_GETEKEND", typ: "date", frm: "bld_teken" },
{ dbs: "ALG_GEBOUW_BRUTO_VLOEROPP", typ: "number", frm: "bld_opp" },
{ dbs: "ALG_GEBOUW_OMTREK", typ: "number", frm: "bld_omtrek" },
{ dbs: "ALG_GEBOUW_INHOUD", typ: "number", frm: "bld_inhoud" },
{ dbs: "ALG_GEBOUW_OPMERKING", typ: "varchar", frm: "bld_opmerk" },
{ dbs: "MLD_ADRES_KEY", typ: "key", frm: "mld_adres" },
{ dbs: "PRS_KOSTENPLAATS_KEY", typ: "key", frm: "prs_kstpl" },
{ dbs: "MLD_DIENSTNIVEAU_KEY", typ: "key", frm: "dienstniveau" },
{ dbs: "ALG_GEBOUW_ORDERNR", typ: "varchar", frm: "bld_ordrnr" },
{ dbs: "ALG_GEBOUW_DWGX", typ: "number", frm: "bld_dwgx" },
{ dbs: "ALG_GEBOUW_DWGY", typ: "number", frm: "bld_dwgy" },
{ dbs: "ALG_GEBOUW_X", typ: "number", frm: "bld_x" },
{ dbs: "ALG_GEBOUW_Y", typ: "number", frm: "bld_y" },
{ dbs: "ALG_GEBOUW_BEZ", typ: "check", frm: "bld_bez" },
{ dbs: "alg_gebouw_beginuur", typ: "float", frm: "bld_beginuur" },
{ dbs: "alg_gebouw_einduur", typ: "float", frm: "bld_einduur" },
{ dbs: "ALG_GEBOUW_WERKDAGEN", typ: "check", frm: "bld_werkdagen" }];
if (beginuur != -2)
fields.push({ dbs: "alg_gebouw_beginuur", typ: "float", val: beginuur });
if (einduur != -2)
fields.push({ dbs: "alg_gebouw_einduur", typ: "float", val: einduur });
var warning = "";
if (bld_key > 0)
var warning = "";
if (bld_key > 0)
{
sql = buildUpdate("alg_gebouw", fields)
+ " alg_gebouw_key = " + bld_key;
@@ -73,7 +49,7 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
if (err.friendlyMsg)
warning = err.friendlyMsg;
}
else
else
{
fields.push({ dbs: "alg_gebouw_key", typ: "key", seq: "alg_s_alg_onroerendgoed_keys" });
var regIns = buildInsert("alg_gebouw", fields);
@@ -87,29 +63,18 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
if (!warning)
{
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
+ " , ok.alg_onrgoedkenmerk_waarde"
+ " , k.alg_kenmerk_toonbaar"
+ " FROM alg_onrgoedkenmerk ok"
+ " , alg_kenmerk k"
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
+ " AND alg_onrgoed_niveau = 'G'"
+ " AND alg_onrgoed_key = " + bld_key;
saveFlexKenmerken(bld_key,
{ kenmerkTable: "alg_onrgoedkenmerk",
kenmerkParentKey : "alg_onrgoed_key",
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
kenmerkKey: "alg_kenmerk_key",
kenmerkToonbaar: "alg_kenmerk_toonbaar",
currentKenmerkenSQL: currentKenmerkenSQL,
requestQF: Request.Form,
flexPath: "ALG/G",
module: "ALG",
moduleName: "alg_onrgoed_niveau",
moduleVal: "G",
isNew: bld_key < 0
});
currentKenmerkenSQL = " SELECT k.ALG_kenmerk_key " +
" , ok.alg_onrgoedkenmerk_waarde" +
" FROM ALG_ONRGOEDKENMERK ok, ALG_KENMERK k " +
" WHERE k.ALG_KENMERK_KEY = ok.ALG_KENMERK_KEY " +
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
" AND ALG_ONRGOED_NIVEAU = 'G' " +
" AND ALG_ONRGOED_KEY = " + bld_key;
saveFlexKenmerken(bld_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
currentKenmerkenSQL, false, //QueryForm, rest QueryString
"ALG_ONRGOED_NIVEAU", "G",
(bld_key<0),"ALG/G")
}
%>
@@ -117,13 +82,11 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
<head>
<% FCLTHeader.Generate() %>
<script>
$(function ()
{
FcltMgr.closeDetail(window, { bld_key: <%=bld_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
});
});
$(document).ready(function () {
FcltMgr.closeDetail(window, { bld_key: <%=bld_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
}); } );
</script>
</head>
<body>

View File

@@ -13,7 +13,6 @@
*/ %>
<!--#include file="../Shared/common.inc" -->
<!--#include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/calendar.inc" -->
<!--#include file="../Shared/selector.inc" -->
<!--#include file="../Shared/plaatsselector.inc" -->
@@ -23,7 +22,6 @@
<%
FCLTHeader.Requires({plugins:["suggest","jQuery","kenmerk"], js: []})
var ins_score_enabled = S("ins_score_enabled") == 1;
var loc_key = getQParamInt("loc_key", -1);
var dis_key
@@ -55,9 +53,7 @@ if (loc_key > 0)
var pst_adres = oRs("alg_locatie_post_adres").value;
var pst_plaats = oRs("alg_locatie_post_plaats").value;
var pst_land = oRs("alg_locatie_post_land").value;
var dienstniveau = oRs("mld_dienstniveau_key").value;
var loc_score1 = oRs("alg_locatie_mjb_score1").value;
var vervaldatum = oRs("alg_locatie_vervaldatum").Value != null ? new Date(oRs("alg_locatie_vervaldatum").Value) : null;
var dienstniveau = oRs("mld_dienstniveau_key").value;
oRs.Close();
}
@@ -101,7 +97,7 @@ if (this_alg.writeman)
else
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
BLOCK_START("algLoc1", "&nbsp;");
BLOCK_START("algLoc1", "");
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
districtkey: dis_key,
locatiekey: loc_key,
@@ -110,9 +106,9 @@ BLOCK_START("algLoc1", "&nbsp;");
readonly: !this_alg.writeman,
required: true });
manRWFIELD("loc_omsch", "fld", L("lcl_estate_locatie_man_descr"), loc_omsch, {required: true, maxlength: 60});
manRWFIELD("loc_omsch", "fld", L("lcl_estate_locatie_man_descr"), loc_omsch, {required: true, maxlength: 30});
manRWFIELD("loc_code", "fld", L("lcl_estate_locatie_man_code"), loc_code, {required: true, maxlength: 10});
manRWFIELD("bez_adres", "fld", L("lcl_prs_address_bezoek_adres"), bez_adres, {maxlength: 50});
manRWFIELD("bez_adres", "fld", L("lcl_prs_address_bezoek_adres"), bez_adres, {maxlength: 35});
manRWFIELD("bez_postc", "fld", L("lcl_prs_address_bezoek_postcode"), bez_postc, {maxlength: 12});
manRWFIELD("bez_plaats", "fld", L("lcl_prs_address_bezoek_plaats"), bez_plaats, {maxlength: 30});
manRWFIELD("bez_land", "fld", L("lcl_prs_address_bezoek_land"), bez_land, {maxlength: 30});
@@ -133,24 +129,15 @@ manRWFIELD("loc_x", "fld", L("lcl_geoxcoord"), loc_x, {maxlengt
manRWFIELD("loc_y", "fld", L("lcl_geoycoord"), loc_y, {maxlength: 25});
BLOCK_END();
BLOCK_START("algLoc2", "&nbsp;");
BLOCK_START("algLoc2", "");
FCLTcalendar("vervaldatum",
{ datum: vervaldatum,
initEmpty: vervaldatum==null,
label: L("lcl_alg_vervaldatum"),
readonly: !this_alg.writeman
});
manRWFIELD("pst_adres", "fld", L("lcl_prs_address_post_adres"), pst_adres, {maxlength: 50});
manRWFIELD("pst_adres", "fld", L("lcl_prs_address_post_adres"), pst_adres, {maxlength: 35});
manRWFIELD("pst_postc", "fld", L("lcl_prs_address_post_postcode"), pst_postc, {maxlength: 12});
manRWFIELD("pst_plaats", "fld", L("lcl_prs_address_post_plaats"), pst_plaats, {maxlength: 30});
manRWFIELD("pst_land", "fld", L("lcl_prs_address_post_land"), pst_land, {maxlength: 30});
manRWFIELD("loc_vw", "fld", L("lcl_estate_locatie_man_verantw"), loc_vw, {maxlength: 30});
manRWFIELD("loc_vwtel", "fld", L("lcl_estate_locatie_man_verantw_tel"), loc_vwtel, {maxlength: 15});
manRWFIELD("loc_mail", "fld", L("lcl_noti_email"), loc_mail, {maxlength: 200});
if (ins_score_enabled)
ROFIELDTR("fld", L("lcl_alg_locatie_mjb_score1"), loc_score1, {suppressEmpty: true});
BLOCK_END();
@@ -161,7 +148,6 @@ generateFlexKenmerkBlock ({
flexcolumns : S("alg_flexcolumns"),
this_alg : this_alg
});
IFACE.FORM_END();
%>
</form>
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>

View File

@@ -7,9 +7,8 @@
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc"-->
<!-- #include file="alg.inc" -->
<% FCLTHeader.Requires({ plugins:["jQuery"],
js: []
@@ -17,10 +16,6 @@
<%
var loc_key = getQParamInt( "loc_key" );
var onrgoedlvl = "L";
var this_alg = alg.func_enabled(loc_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.writeman || (loc_key>0&&this_alg.writeuse));
var fields = [ { dbs: "alg_district_key", typ: "number", frm: "districtkey" },
{ dbs: "alg_locatie_code", typ: "varchar", frm: "loc_code" },
{ dbs: "alg_locatie_omschrijving", typ: "varchar", frm: "loc_omsch" },
@@ -37,7 +32,6 @@ user.auth_required_or_abort(this_alg.writeman || (loc_key>0&&this_alg.writeuse))
{ dbs: "MLD_DIENSTNIVEAU_KEY", typ: "key", frm: "dienstniveau" },
{ dbs: "alg_locatie_x", typ: "float", frm: "loc_x" },
{ dbs: "alg_locatie_y", typ: "float", frm: "loc_y" },
{ dbs: "alg_locatie_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
{ dbs: "alg_locatie_email", typ: "varchar", frm: "loc_mail" }];
var warning = "";
@@ -64,29 +58,18 @@ else
if (!warning)
{
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
+ " , ok.alg_onrgoedkenmerk_waarde"
+ " , k.alg_kenmerk_toonbaar"
+ " FROM alg_onrgoedkenmerk ok"
+ " , alg_kenmerk k"
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
+ " AND alg_onrgoed_niveau = 'L'"
+ " AND alg_onrgoed_key = " + loc_key;
saveFlexKenmerken(loc_key,
{ kenmerkTable: "alg_onrgoedkenmerk",
kenmerkParentKey : "alg_onrgoed_key",
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
kenmerkKey: "alg_kenmerk_key",
kenmerkToonbaar: "alg_kenmerk_toonbaar",
currentKenmerkenSQL: currentKenmerkenSQL,
requestQF: Request.Form,
flexPath: "ALG/L",
module: "ALG",
moduleName: "alg_onrgoed_niveau",
moduleVal: "L",
isNew: loc_key < 0
});
currentKenmerkenSQL = " SELECT k.ALG_kenmerk_key " +
" , ok.alg_onrgoedkenmerk_waarde" +
" FROM ALG_ONRGOEDKENMERK ok, ALG_KENMERK k " +
" WHERE k.ALG_KENMERK_KEY = ok.ALG_KENMERK_KEY " +
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
" AND ALG_ONRGOED_NIVEAU = 'L' " +
" AND ALG_ONRGOED_KEY = " + loc_key;
saveFlexKenmerken(loc_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
currentKenmerkenSQL, false,
"ALG_ONRGOED_NIVEAU", "L",
(loc_key<0),"ALG/L")
}
%>
@@ -94,13 +77,11 @@ else
<head>
<% FCLTHeader.Generate() %>
<script>
$(function ()
{
FcltMgr.closeDetail(window, { loc_key: <%=loc_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
});
});
$(document).ready(function () {
FcltMgr.closeDetail(window, { loc_key: <%=loc_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
}); } );
</script>
</head>
<body>

View File

@@ -12,78 +12,79 @@
Note:
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!--#include file="../Shared/common.inc" -->
<!--#include file="../Shared/iface.inc" -->
<!-- #include file="alg_flexkenmerk.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="../API2/model_regions.inc" -->
<!-- #include file="alg.inc" -->
<%
FCLTHeader.Requires({plugins:["suggest","jQuery"], js: []})
var regio_key = getQParamInt("regio_key");
var regio_key = getQParamInt("regio_key", -1);
var params = { filter: { id: regio_key,
isNew: (regio_key == -1 ? true : false)
}
};
var regio_array = model_regions.REST_GET(params); // Roep de API2 GET aan
var regio_data = (regio_array[0] ? regio_array[0] : {id: -1}); // GET kan meerdere records opleveren, maar we verwachten hier maar 1.
var this_alg = params.func_enabled; // params bevat nu ook waarden die in API2 zijn bepaald.
var action = (regio_key == -1 ? "I" : "U");
var onrgoedlvl = "RG";
var this_alg = alg.func_enabled(regio_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.writeman || (regio_key>0&&this_alg.writeuse));
if (regio_key > 0)
{
sql = " select * "
+ " FROM alg_regio "
+ " WHERE alg_regio_key = " + regio_key;
oRs = Oracle.Execute(sql);
var reg_oms = oRs("alg_regio_omschrijving").value;
oRs.Close();
}
%>
<html>
<head>
<head>
<%
FCLTHeader.Generate();
FCLTHeader.Generate();
%>
<script>
function alg_submit()
{
if (!validateForm("u2"))
return false;
<script>
function alg_submit()
{
document.activeElement.blur(); // trigger laatste onChanges
if (!validateForm("u2"))
return false;
document.forms.u2.submit();
}
function alg_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
</script>
</head>
var data = $("[name=u2]").serialize();
<% protectRequest.dataToken("data"); %>
$.post($("form[name=u2]")[0].action,
data,
FcltCallbackClose,
"json");
return true;
}
function alg_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
</script>
</head>
<body id="editbody">
<body id="editbody">
<%
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
IFRAMER_HEADER(L("lcl_alg_regio_frame"), buttons);
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
IFRAMER_HEADER(L("lcl_alg_regio_frame"), buttons);
%>
<div id="edit">
<form name="u2"
action="alg_edit_regio_save.asp?regio_key=<%=regio_data.id%>&action=<%=action%>"
method="post"
onSubmit="return false">
<div id="edit">
<form name="u2"
action="alg_edit_regio_save.asp?regio_key=<%=regio_key%>"
method="post"
target="hidFrameSubmit"
onSubmit="alg_submit();">
<%
if (this_alg.writeman)
manRWFIELD = RWFIELDTR;
else
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE dan zijn er veel readonly
if (this_alg.writeman)
manRWFIELD = RWFIELDTR;
else
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE dan zijn er veel readonly
BLOCK_START("algInfo", "");
BLOCK_START("algInfo", "&nbsp;");
manRWFIELD("reg_oms", "fld", L("lcl_region"), reg_oms, {required: true, maxlength: 30});
manRWFIELD("reg_oms", "fld", L("lcl_region"), regio_data.name, {required: true, maxlength: 30});
BLOCK_END();
IFACE.FORM_END();
BLOCK_END();
%>
</form>
</div>
</body>
</form>
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
</div>
</body>
</html>

View File

@@ -5,45 +5,53 @@
SUBMIT-form
*/ %>
<%
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="../API2/model_regions.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<% FCLTHeader.Requires({ plugins:["jQuery"],
js: []
}) %>
<%
protectRequest.validateToken();
var regio_key = getQParamInt( "regio_key" );
var action = getQParam( "action", "" );
var reg_key = getQParamInt( "regio_key" );
var formfields = [ {name: "name", frm: "reg_oms" }];
var params = { filter: { "id": regio_key }};
var jsondata = api2.form2JSONdata(model_regions, params, formfields);
var fields = [ { dbs: "alg_regio_omschrijving", typ: "varchar", frm: "reg_oms" }];
switch (action)
{
case "I":
var regio_array = model_regions.REST_POST(params, jsondata);
regio_key = regio_array.key;
break;
case "U":
if (regio_key > 0)
var regio_array = model_regions.REST_PUT(params, jsondata, params.filter.id);
break;
case "D":
if (regio_key > 0)
var regio_array = model_regions.REST_DELETE(params, params.filter.id);
break;
default :
var regio_array = {warning: L("lcl_cnt_Del_Fails_Auth")};
}
var warning = regio_array.warning;
var warning = "";
if (reg_key > 0)
{
sql = buildUpdate("alg_regio", fields)
+ " alg_regio_key = " + reg_key;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
}
else
{
fields.push({ dbs: "alg_regio_key", typ: "key", seq: "alg_s_alg_regio_key" });
var regIns = buildInsert("alg_regio", fields);
var reg_key = regIns.sequences["alg_regio_key"];
var result = { regio_key: regio_key,
warning: warning,
keepForm: !!warning,
success: true };
Response.Write(JSON.stringify(result));
%>
sql = regIns.sql;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
}
%>
<html>
<head>
<% FCLTHeader.Generate() %>
<script>
$(document).ready(function () {
FcltMgr.closeDetail(window, { regio_key: <%=reg_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
});
} );
</script>
</head>
<body>
</body>
</html>

View File

@@ -11,17 +11,16 @@
Note:
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!--#include file="../Shared/common.inc" -->
<!--#include file="../Shared/iface.inc" -->
<!--#include file="../Shared/selector.inc" -->
<!--#include file="../Shared/plaatsselector.inc" -->
<!-- #include file="alg_flexkenmerk.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="../API2/model_rooms.inc" -->
<!-- #include file="alg.inc" -->
<%
FCLTHeader.Requires({plugins:["suggest","jQuery", "kenmerk"],
js: []})
FCLTHeader.Requires({plugins:["suggest","jQuery", "kenmerk"], js: []})
var room_key = getQParamInt("room_key", -1);
var loc_key = getQParamInt("loc_key", -1);
@@ -29,203 +28,182 @@ var geb_key = getQParamInt("geb_key", -1);
var ver_key = getQParamInt("ver_key", -1);
var cad_ruimte_nr = getQParam("cad_ruimte_nr", ""); // default nummer
var onrgoedlvl = "R";
var this_alg = alg.func_enabled(room_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.writeman || (room_key>0&&this_alg.writeuse));
var room_params = { filter: { id: room_key,
scope: "fe",
isNew: (room_key == -1 ? true : false)
},
include: ["cadcontours"]
};
var room_exists = false;
if (room_key > 0)
if (room_key > 0)
{
var rooms = new model_rooms(room_key, room_params); // Roep de API2 GET aan
var room_data = rooms.data;
room_exists = true;
// Voorkom ellende met alg_ruimte_key ambigue gedefinieerd
sqlSync = "SELECT sync.alg_ruimte_key cad_ar_key, c.cad_imp_contour_opp, "
+ " c.cad_imp_contour_opp_alt1, c.cad_imp_contour_opp_alt2 "
+ " FROM "+S("fg_syncruimteview")+" sync, cad_imp_contour c, cad_tekening t, alg_ruimte ar "
+ " WHERE sync.cadlabel = c.cad_imp_contour_nr "
+ " AND t.cad_tekening_key = c.cad_tekening_key "
+ " AND t.alg_verdieping_key = sync.alg_verdieping_key "
+ " AND sync.alg_ruimte_key = ar.alg_ruimte_key";
sql = "SELECT "
+ " g.alg_ruimte_key"
+ ", g.alg_ruimte_nr"
+ ", g.alg_ruimte_omschrijving"
+ ", g.alg_verdieping_key"
+ ", g.alg_srtruimte_key"
+ ", g.alg_ruimte_bruto_vloeropp"
+ ", g.alg_ruimte_opp_alt1"
+ ", g.alg_ruimte_opp_alt2"
+ ", g.alg_ruimte_omtrek"
+ ", g.alg_ruimte_inhoud"
+ ", g.alg_ruimte_opmerking"
+ ", sync.cad_imp_contour_opp"
+ ", sync.cad_imp_contour_opp_alt1"
+ ", sync.cad_imp_contour_opp_alt2"
+ ", mld_dienstniveau_key"
+ " FROM alg_ruimte g, ("+sqlSync+") sync"
+ " WHERE sync.cad_ar_key (+)= g.alg_ruimte_key"
+ " AND alg_ruimte_key = " + room_key;
oRs = Oracle.Execute(sql);
var room_srt = oRs("ALG_SRTRUIMTE_KEY").value;
var room_nr = oRs("ALG_RUIMTE_NR").value;
var room_oms = oRs("ALG_RUIMTE_OMSCHRIJVING").value;
var room_opp = oRs("ALG_RUIMTE_BRUTO_VLOEROPP").value;
var room_omt = oRs("ALG_RUIMTE_OMTREK").value;
var room_inh = oRs("ALG_RUIMTE_INHOUD").value;
var room_opm = oRs("ALG_RUIMTE_OPMERKING").value;
var room_oppa1 = oRs("ALG_RUIMTE_OPP_ALT1").value;
var room_oppa2 = oRs("ALG_RUIMTE_OPP_ALT2").value;
var contour_opp = oRs("cad_imp_contour_opp").value;
var contour_opp1 = oRs("cad_imp_contour_opp_alt1").value;
var contour_opp2 = oRs("cad_imp_contour_opp_alt2").value;
var dienstniveau = oRs("mld_dienstniveau_key").value;
oRs.Close();
}
else
{
var rooms = new model_rooms(-1, room_params); // Roep de API2 GET aan
var room_data = { id: -1, cadcontours: [] };
}
var this_alg = room_params.func_enabled; // room_params bevat nu ook waarden die in API2 zijn bepaald.
var room_deleted = room_exists && !!room_data.deleted;
var room_action = (room_exists ? "U" : "I");
if (!room_data.cadcontours.length)
room_data.cadcontours = [{}];
if (!room_exists)
{
if (cad_ruimte_nr != "")
room_data.name = "[" + cad_ruimte_nr + "]";
room_nr = "[" + cad_ruimte_nr + "]";
}
%>
<html>
<head>
<head>
<%
FCLTHeader.Generate();
FCLTHeader.Generate();
%>
<script>
function alg_submit()
{
document.activeElement.blur(); // trigger laatste onChanges
if (!validateForm("u2"))
return false;
<script>
function alg_submit()
{
document.activeElement.blur(); // trigger laatste onChanges
var data = $("[name=u2]").serialize();
<% protectRequest.dataToken("data"); %>
$.post($("form[name=u2]")[0].action,
data,
FcltCallbackClose,
"json");
return true;
}
function alg_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
</script>
</head>
if (!validateForm("u2"))
return false;
<body id="editbody">
document.forms.u2.submit();
}
function alg_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
</script>
</head>
<body id="editbody">
<%
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
IFRAMER_HEADER(L("lcl_alg_ruimte_frame"), buttons);
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
IFRAMER_HEADER(L("lcl_alg_ruimte_frame"), buttons);
%>
<div id="edit">
<form name="u2"
action="alg_edit_ruimte_save.asp?room_key=<%=room_data.id%>"
method="post"
onSubmit="return false">
<input type="hidden" id="room_action" name="room_action" value="<%=room_action%>">
<div id="edit">
<form name="u2" action="alg_edit_ruimte_save.asp?room_key=<%=room_key%>"
method="post"
target="hidFrameSubmit"
onSubmit="alg_submit();">
<%
if (this_alg.writeman)
manRWFIELD = RWFIELDTR;
else
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
if (this_alg.writeman)
manRWFIELD = RWFIELDTR;
else
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
if (this_alg.writeuse && S("alg_ruimtenr_aut_use")==1) // dan mag USE er ook een paar
useRWFIELD = RWFIELDTR;
else
useRWFIELD = manRWFIELD
if (this_alg.writeuse && S("alg_ruimtenr_aut_use")==1) // dan mag USE er ook een paar
useRWFIELD = RWFIELDTR;
else
useRWFIELD = manRWFIELD
BLOCK_START("algLoc1", "&nbsp;");
BLOCK_START("algLoc1", "");
FCLTplaatsselector( this_alg.authparams("WEB_RUIMAN").ALGwritelevel,
{ locatiekey: loc_key,
gebouwkey: geb_key,
verdiepingkey: ver_key,
ruimtekey: room_key,
startlevel: 2, //Locatie
eindlevel: 4, //verdieping
moreinfo: true,
readonly: (room_key > 0),
required: true
});
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
locatiekey: loc_key,
gebouwkey: geb_key,
verdiepingkey: ver_key,
ruimtekey: room_key,
startlevel: 2, //Locatie
eindlevel: 4, //verdieping
moreinfo: true,
readonly: (room_key > 0),
required: true });
// alguse mag deze twee ook als S("alg_ruimtenr_aut_use")==1
useRWFIELD("room_nr", "fldshort", L("lcl_estate_ruimte_man_nr"), room_data.name, {required: true, maxlength: 10});
useRWFIELD("room_oms", "fld", L("lcl_estate_ruimte_man_descr"), room_data.description, {maxlength: 30});
// alguse mag deze twee ook als S("alg_ruimtenr_aut_use")==1
useRWFIELD("room_nr", "fldshort", L("lcl_estate_ruimte_man_nr"), room_nr, {required: true, maxlength: 10});
useRWFIELD("room_oms", "fld", L("lcl_estate_ruimte_man_descr"), room_oms, {maxlength: 30});
sql = "SELECT alg_srtruimte_key"
+ " , " + lcl.xsqla("alg_srtruimte_omschrijving", "alg_srtruimte_key")
+ " FROM alg_v_aanwezigsrtruimte"
+ " ORDER BY UPPER("+lcl.xsql("alg_srtruimte_omschrijving", "alg_srtruimte_key")+")";
FCLTselector( "room_srt",
sql,
{ label: L("lcl_estate_ruimte_man_sort"),
initKey: (room_data.roomtype ? room_data.roomtype.id : -1),
emptyOption: "",
readonly: !this_alg.writeman
});
sql = "SELECT alg_srtruimte_key, "
+ lcl.xsqla("alg_srtruimte_omschrijving", "alg_srtruimte_key")
+ " FROM alg_v_aanwezigsrtruimte "
+ "ORDER BY UPPER("+lcl.xsql("alg_srtruimte_omschrijving", "alg_srtruimte_key")+")";
sql = "SELECT mld_dienstniveau_key"
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
+ " FROM mld_dienstniveau"
+ " ORDER BY UPPER("+lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key")+")";
FCLTselector( "dienstniveau",
sql,
{ label: L("lcl_mld_dienst_niveau"),
initKey: (room_data.servicelevel ? room_data.servicelevel.id : -1),
emptyOption: "",
readonly: !this_alg.writeuse
});
FCLTselector("room_srt", sql,
{ label: L("lcl_estate_ruimte_man_sort"),
initKey: room_srt,
emptyOption: "",
readonly: !this_alg.writeman
});
BLOCK_END();
BLOCK_START("algLoc2", "&nbsp;");
sql = "SELECT mld_dienstniveau_key, "
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
+ " FROM mld_dienstniveau "
+ "ORDER BY UPPER("+lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key")+")";
manRWFIELD("room_opp", "fldshort", L("lcl_estate_ruimte_bruto_vloeropp"), room_data.grossarea, {maxlength: 10, datatype: "float"});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_getekendopp"), room_data.cadcontours[0].cadarea, {datatype: "float"});
if (S("fg_contourlayers_alt1")!="" && S("fg_labellayers_alt1")!="") {
manRWFIELD("room_oppa1", "fldshort", L("lcl_estate_ruimte_opp_alt1"), room_data.area1, {maxlength: 10, datatype: "float"});
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt1"), room_data.cadcontours[0].cadalt1, {datatype: "float"});
}
if (S("fg_contourlayers_alt2")!="" && S("fg_labellayers_alt2")!="") {
manRWFIELD("room_oppa2", "fldshort", L("lcl_estate_ruimte_opp_alt2"), room_data.area2, {maxlength: 10, datatype: "float"});
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt2"), room_data.cadcontours[0].cadalt2, {datatype: "float"});
}
manRWFIELD("room_omt", "fldshort", L("lcl_estate_ruimte_man_omtrek"), room_data.perimeter, {maxlength: 10, datatype: "float"});
manRWFIELD("room_inh", "fldshort", L("lcl_estate_ruimte_man_inhoud"), room_data.volume, {maxlength: 13, datatype: "float"});
manRWFIELD("room_opm", "fld", L("lcl_estate_ruimte_man_opmerk"), room_data.remark, {maxlength: 50});
FCLTselector("dienstniveau", sql,
{ label: L("lcl_mld_dienst_niveau"),
initKey: dienstniveau,
emptyOption: "",
readonly: !this_alg.writeuse
});
var times = [];
for (i=0; i<24; i++)
{
sql = " SELECT " + String(i+0/4) + ", '" + String(i) + ":00' FROM DUAL"
+ " UNION ALL SELECT " + String(i+1/4) + ", '" + String(i) + ":15' FROM DUAL"
+ " UNION ALL SELECT " + String(i+2/4) + ", '" + String(i) + ":30' FROM DUAL"
+ " UNION ALL SELECT " + String(i+3/4) + ", '" + String(i) + ":45' FROM DUAL"
times.push(sql);
}
FCLTselector( "room_beginuur",
times.join(" UNION ALL "),
{ label: L("lcl_estate_gebouw_beginuur"),
initKey: room_data.openfrom,
emptyOption: "",
readonly: !this_alg.writeman
}
);
times.push(" SELECT 24, '24:00' FROM DUAL");
FCLTselector( "room_einduur",
times.join(" UNION ALL "),
{ label: L("lcl_estate_gebouw_einduur"),
initKey: room_data.opento,
emptyOption: "",
readonly: !this_alg.writeman
}
);
sql = " SELECT null, " + safe.quoted_sql(L("lcl_alg_ruimte_volgens_gebouw")) + " FROM DUAL"
+ " UNION ALL SELECT 0, " + safe.quoted_sql(L("lcl_No")) + " FROM DUAL"
+ " UNION ALL SELECT 1, " + safe.quoted_sql(L("lcl_Yes")) + " FROM DUAL";
FCLTselector( "room_werkdagen",
sql,
{ label: L("lcl_estate_gebouw_werkdagen"),
initKey: room_data.workdays,
readonly: !this_alg.writeman
}
);
BLOCK_END();
BLOCK_START("algLoc2", "");
BLOCK_END();
manRWFIELD("room_opp", "fldshort", L("lcl_estate_ruimte_bruto_vloeropp"), room_opp, {maxlength: 10, datatype: "float"});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_getekendopp"), contour_opp);
if (S("fg_contourlayers_alt1")!="" && S("fg_labellayers_alt1")!="") {
manRWFIELD("room_oppa1", "fldshort", L("lcl_estate_ruimte_opp_alt1"), room_oppa1, {maxlength: 10, datatype: "float"});
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt1"), contour_opp1);
}
if (S("fg_contourlayers_alt2")!="" && S("fg_labellayers_alt2")!="") {
manRWFIELD("room_oppa2", "fldshort", L("lcl_estate_ruimte_opp_alt2"), room_oppa2, {maxlength: 10, datatype: "float"});
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt2"), contour_opp2);
}
manRWFIELD("room_omt", "fldshort", L("lcl_estate_ruimte_man_omtrek"), room_omt, {maxlength: 10, datatype: "float"});
manRWFIELD("room_inh", "fldshort", L("lcl_estate_ruimte_man_inhoud"), room_inh, {maxlength: 13, datatype: "float"});
manRWFIELD("room_opm", "fld", L("lcl_estate_ruimte_man_opmerk"), room_opm, {maxlength: 50});
generateFlexKenmerkBlock ({
onrgoed_key : room_key,
onrgoed_niveau : rooms.defaults.onrgoedlvl,
reado : false,
flexcolumns : S("alg_flexcolumns"),
this_alg : this_alg
});
BLOCK_END();
IFACE.FORM_END();
generateFlexKenmerkBlock ({
onrgoed_key : room_key,
onrgoed_niveau : onrgoedlvl,
reado : false,
flexcolumns : S("alg_flexcolumns"),
this_alg : this_alg
});
%>
</form>
</div>
</body>
</form>
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
</div>
</body>
</html>

View File

@@ -1,212 +0,0 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: alg_edit_ruimte_multi.asp
Description: Multi editten van de flexkenmerken van ruimtes
Parameters: alg_keys
Context:
Note:
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc" -->
<!-- #include file="./alg_flexkenmerk.inc" -->
<!-- #include file="./alg.inc" -->
<%
FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"] });
var alg_key_arr = getQParamIntArray("alg_keys");
var alg_level = getQParam("alg_level");
var warning = "";
var result = {};
var tobeedited = 0;
var ingesloten = [];
// Bepaal de ruimtes in de selectie die
// ook echt bewerkt kunnen of mogen worden.
for (var i = 0; i < alg_key_arr.length; i++)
{
var this_alg = alg.func_enabled(alg_key_arr[i], "R");
if (this_alg.writeman || this_alg.writeuse)
{
ingesloten.push(alg_key_arr[i]);
tobeedited++;
var last_this_alg = this_alg; // deze gebruiken we voor rechtencontrole. Niet 100% zuiver maar goed genoeg
}
}
user.auth_required_or_abort(tobeedited > 0); // We klagen niet over enkele wel en enkele niet
/*
var sql = "SELECT alg_srtruimte_key"
+ " , mld_dienstniveau_key"
+ " , alg_ruimte_omschrijving"
+ " , alg_ruimte_opmerking"
+ " , alg_ruimte_beginuur"
+ " , alg_ruimte_einduur"
+ " , alg_ruimte_werkdagen"
+ " FROM alg_ruimte"
+ " WHERE alg_ruimte_key in (" + ingesloten.join(",") + ")";
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
var diff = { srtruimte_key: oRs("alg_srtruimte_key").Value,
dienstniveau_key: oRs("mld_dienstniveau_key").Value,
omschrijving: oRs("alg_ruimte_omschrijving").Value,
opmerking: oRs("alg_ruimte_opmerking").Value,
beginuur: oRs("alg_ruimte_beginuur").Value,
einduur: oRs("alg_ruimte_einduur").Value,
werkdagen: oRs("alg_ruimte_werkdagen").Value
};
var i = 0;
while (!oRs.eof)
{
i++;
if (diff.srtruimte_key != oRs("alg_srtruimte_key").Value) diff.srtruimte_key = null;
if (diff.dienstniveau_key != oRs("mld_dienstniveau_key").Value) diff.dienstniveau_key = null;
if (diff.omschrijving != oRs("alg_ruimte_omschrijving").Value) diff.omschrijving = null;
if (diff.opmerking != oRs("alg_ruimte_opmerking").Value) diff.opmerking = null;
if (diff.beginuur != oRs("alg_ruimte_beginuur").Value) diff.beginuur = null;
if (diff.einduur != oRs("alg_ruimte_einduur").Value) diff.einduur = null;
if (diff.werkdagen != oRs("alg_ruimte_werkdagen").Value) diff.werkdagen = null;
oRs.MoveNext();
}
}
oRs.Close();
*/
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript">
$(function () { $("select option[value=-1]").val(""); }); // prevents removal of values from listboxes
function alg_submit()
{
$.post($("form[name=u2]")[0].action,
$("[name=u2]").serialize(),
FcltCallbackAndThenAlways(alg_submit_callback),
"json");
return true; // disable button
}
function alg_submit_callback(json)
{
iface.button.enable("btn_alg_submit");
if (json.success)
FcltMgr.closeDetail(window, json);
}
function alg_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
</script>
</head>
<body class="modal" id="mod_algmultiedit">
<form name="u2" action="alg_edit_ruimte_multi_save.asp?alg_level=<%=safe.htmlattr(alg_level)%>&alg_keys=<%=ingesloten.join(",")%>" method="post">
<%
/*
if (last_this_alg.writeman || last_this_alg.writeuse)
{
BLOCK_START("algFlex", L("lcl_ins_meta_data"));
// ruimte specifieke velden
if (last_this_alg.writeman)
{
sql = "SELECT alg_srtruimte_key"
+ " , " + lcl.xsqla("alg_srtruimte_omschrijving", "alg_srtruimte_key")
+ " FROM alg_v_aanwezigsrtruimte"
+ " ORDER BY UPPER("+lcl.xsql("alg_srtruimte_omschrijving", "alg_srtruimte_key")+")";
FCLTselector( "room_srt",
sql,
{ label: L("lcl_estate_ruimte_man_sort"),
initKey: (diff.srtruimte_key ? diff.srtruimte_key : -1),
emptyOption: ""
});
}
if (last_this_alg.writeuse)
{
sql = "SELECT mld_dienstniveau_key"
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
+ " FROM mld_dienstniveau"
+ " ORDER BY UPPER("+lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key")+")";
FCLTselector( "dienstniveau",
sql,
{ label: L("lcl_mld_dienst_niveau"),
initKey: (diff.dienstniveau_key ? diff.dienstniveau_key : -1),
emptyOption: ""
});
RWFIELDTR("room_oms", "fld", L("lcl_estate_ruimte_man_descr"), diff.omschrijving, {maxlength: 30});
}
if (last_this_alg.writeman)
{
RWFIELDTR("room_opm", "fld", L("lcl_estate_ruimte_man_opmerk"), diff.opmerking, {maxlength: 50});
var times = [];
for (i=0; i<24; i++)
{
sql = " SELECT " + String(i+0/4) + ", '" + String(i) + ":00' FROM DUAL"
+ " UNION ALL SELECT " + String(i+1/4) + ", '" + String(i) + ":15' FROM DUAL"
+ " UNION ALL SELECT " + String(i+2/4) + ", '" + String(i) + ":30' FROM DUAL"
+ " UNION ALL SELECT " + String(i+3/4) + ", '" + String(i) + ":45' FROM DUAL"
times.push(sql);
}
FCLTselector( "room_beginuur",
times.join(" UNION ALL "),
{ label: L("lcl_estate_gebouw_beginuur"),
initKey: diff.beginuur,
emptyOption: ""
}
);
FCLTselector( "room_einduur",
times.join(" UNION ALL "),
{ label: L("lcl_estate_gebouw_einduur"),
initKey: diff.einduur,
emptyOption: ""
}
);
sql = " SELECT null, " + safe.quoted_sql(L("lcl_alg_ruimte_volgens_gebouw")) + " FROM DUAL"
+ " UNION ALL SELECT 0, " + safe.quoted_sql(L("lcl_No")) + " FROM DUAL"
+ " UNION ALL SELECT 1, " + safe.quoted_sql(L("lcl_Yes")) + " FROM DUAL";
FCLTselector( "room_werkdagen",
sql,
{ label: L("lcl_estate_gebouw_werkdagen"),
initKey: diff.werkdagen
}
);
}
BLOCK_END();
}
*/
generateFlexKenmerkBlock({
fnpre: function () {BLOCK_START("algMultiEdit", L("lcl_flexible_properties"));},
fnpost: BLOCK_END,
onrgoed_niveau: "R",
onrgoed_key: -1,
this_alg: last_this_alg,
reado: false,
multi: true,
flexcolumns: 1 // altijd want popup
});
var buttons = [];
buttons.push({title: L("lcl_submit"), action: "alg_submit()", singlepress: true, id: "btn_alg_submit", importance: 1});
buttons.push({title: L("lcl_cancel"), action: "alg_cancel()", importance: 3});
CreateButtons(buttons);
IFACE.FORM_END();
%>
</form>
</body>
</html>

View File

@@ -1,93 +0,0 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: alg_edit_ruimte_multi_save.asp
Description: save script van alg_edit_ruimte_multi.asp
Globalen:
Context:
Note:
*/
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc" -->
<!-- #include file="./alg.inc" -->
<%
//protectRequest.validateToken();
var alg_key_arr = getQParamIntArray("alg_keys");
var alg_level = getQParam("alg_level");
var warning = "";
var result = {};
var nr_edited = 0;
for (var i = 0; i < alg_key_arr.length; i++)
{
var alg_key = alg_key_arr[i];
var this_alg = alg.func_enabled(alg_key, "R");
if (this_alg.writeman || this_alg.writeuse)
{
// Ik mag de ruimte wijzigen dus voer wijziging uit
var fields = [];
var algUpd = buildTrackingUpdate("alg_ruimte", " alg_ruimte_key = " + alg_key, fields);
// // Submit the changed data
// var err = Oracle.Execute(algUpd.sql, true);
// if (err.friendlyMsg)
// warning = err.friendlyMsg;
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
+ " , ok.alg_onrgoedkenmerk_waarde"
+ " , k.alg_kenmerk_toonbaar"
+ " FROM alg_onrgoedkenmerk ok"
+ " , alg_kenmerk k"
+ " WHERE ok.alg_kenmerk_key = k.alg_kenmerk_key"
+ " AND ok.alg_onrgoedkenmerk_verwijder IS NULL"
+ " AND ok.alg_onrgoed_niveau = " + safe.quoted_sql(alg_level)
+ " AND ok.alg_onrgoed_key = " + alg_key;
allKenmerkenSQL = "SELECT " + lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') + " kenmerk_omschrijving"
+ " , k.alg_kenmerk_kenmerktype kenmerk_kenmerktype"
+ " , k.alg_kenmerk_systeem kenmerk_systeem"
+ " , k.alg_kenmerk_toonbaar kenmerk_readonly"
+ " , k.alg_kenmerk_uniek kenmerk_uniek"
+ " , fac_kenmerkdomein_key"
+ " FROM alg_kenmerk k"
+ " WHERE k.alg_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
var flextrack = saveFlexKenmerken(alg_key,
{ kenmerkTable: "alg_onrgoedkenmerk",
kenmerkParentKey : "alg_onrgoed_key",
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
kenmerkKey: "alg_kenmerk_key",
kenmerkToonbaar: "alg_kenmerk_toonbaar",
currentKenmerkenSQL: currentKenmerkenSQL,
allKenmerkenSQL: allKenmerkenSQL,
requestQF: Request.Form,
flexPath: "ALG/R",
multiMode: true,
tracking: true,
module: "ALG",
moduleName: "alg_onrgoed_niveau",
moduleVal: alg_level
});
if (flextrack && flextrack.length)
{
var update_string = L("lcl_alg_is_algrup") + "\n" + flextrack.join("\n");
shared.trackaction("ALGRUP", alg_key, update_string);
nr_edited++;
}
}
}
result = { success : true, refresh: true };
Response.Write(JSON.stringify(result));
Response.End;
%>

View File

@@ -6,66 +6,108 @@
File: alg_edit_ruimte_save.asp
*/ %>
<%
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="../API2/model_rooms.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc"-->
<% FCLTHeader.Requires({ plugins:["jQuery"],
js: []
}) %>
<%
protectRequest.validateToken();
var room_key = getQParamInt( "room_key" );
var room_action = getFParam( "room_action", "" );
var room_key = getQParamInt( "room_key" );
var isNew = (room_key < 0);
var formfields = [ { name: "name", frm: "room_nr" },
{ name: "roomtype", frm: "room_srt" },
{ name: "floor", frm: "verdiepingkey" },
{ name: "description", frm: "room_oms" },
{ name: "grossarea", frm: "room_opp" },
{ name: "perimeter", frm: "room_omt" },
{ name: "remark", frm: "room_opm" },
{ name: "volume", frm: "room_inh" },
{ name: "area1", frm: "room_oppa1" },
{ name: "area2", frm: "room_oppa2" },
{ name: "servicelevel", frm: "dienstniveau" },
{ name: "workdays", frm: "room_werkdagen" },
{ name: "openfrom", frm: "room_beginuur" },
{ name: "opento", frm: "room_einduur" }
];
var params = { filter: { id: room_key,
scope: "fe"
},
properties: { extraserie: false,
nameprefix: "k"
}
};
var rooms = new model_rooms();
var jsondata = api2.form2JSONdata(rooms, params, formfields);
jsondata.properties = flexkenmerken2jsondata(params.properties);
var fields = [ { dbs: "ALG_VERDIEPING_KEY", typ: "key", frm: "verdiepingkey" },
{ dbs: "ALG_SRTRUIMTE_KEY", typ: "key", frm: "room_srt", track: L("lcl_estate_ruimte_man_sort") , foreign: "alg_srtruimte" },
{ dbs: "ALG_RUIMTE_NR", typ: "varchar", frm: "room_nr", track: L("lcl_estate_ruimte_man_nr") },
{ dbs: "ALG_RUIMTE_ACADKEY", typ: "varchar", frm: "room_ackey" },
{ dbs: "ALG_RUIMTE_OMSCHRIJVING", typ: "varchar", frm: "room_oms", track: L("lcl_estate_ruimte_man_descr") },
{ dbs: "ALG_RUIMTE_GETEKEND", typ: "date", frm: "room_tek" },
{ dbs: "ALG_RUIMTE_BRUTO_VLOEROPP", typ: "float", frm: "room_opp", track: L("lcl_estate_ruimte_bruto_vloeropp") },
{ dbs: "ALG_RUIMTE_OMTREK", typ: "float", frm: "room_omt", track: L("lcl_estate_ruimte_man_omtrek") },
{ dbs: "ALG_RUIMTE_INHOUD", typ: "float", frm: "room_inh", track: L("lcl_estate_ruimte_man_inhoud") },
{ dbs: "ALG_RUIMTE_OPMERKING", typ: "varchar", frm: "room_opm", track: L("lcl_estate_ruimte_man_opmerk") },
{ dbs: "ALG_RUIMTE_VLOER_OMSCHRIJVING", typ: "varchar", frm: "room_flrom" },
{ dbs: "ALG_RUIMTE_OPP_GEVELGLAS", typ: "float", frm: "room_gegl" },
{ dbs: "ALG_RUIMTE_OPP_SEPARATIEGLAS", typ: "float", frm: "room_segl" },
{ dbs: "ALG_RUIMTE_OPP_GEVELBEKLEDING", typ: "float", frm: "room_gebe" },
{ dbs: "ALG_RUIMTE_OPP_ALT1", typ: "float", frm: "room_oppa1", track: L("lcl_estate_ruimte_opp_alt1") },
{ dbs: "ALG_RUIMTE_OPP_ALT2", typ: "float", frm: "room_oppa2", track: L("lcl_estate_ruimte_opp_alt2") },
{ dbs: "MLD_DIENSTNIVEAU_KEY", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" }
];
var warning="";
if (room_key > 0)
{
algUpd = buildTrackingUpdate("alg_ruimte", "alg_ruimte_key = " + room_key, fields);
var err = Oracle.Execute(algUpd.sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
}
else
{
fields.push({ dbs: "alg_ruimte_key", typ: "key", seq: "alg_s_alg_onroerendgoed_keys" });
var regIns = buildInsert("alg_ruimte", fields);
var room_key = regIns.sequences["alg_ruimte_key"];
switch (room_action)
{
case "I":
var room_array = rooms.REST_POST(params, jsondata);
room_key = room_array.key;
break;
case "U":
var room_array = rooms.REST_PUT(params, jsondata, params.filter.id);
break;
case "D":
var room_array = rooms.REST_DELETE(params, params.filter.id);
break;
default :
var room_array = {warning: L("lcl_cnt_Del_Fails_Auth")};
}
var warning = room_array.warning;
sql = regIns.sql;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
}
if (!warning)
{
currentKenmerkenSQL = " SELECT k.alg_kenmerk_key,"
+ " ok.alg_onrgoedkenmerk_waarde"
+ " FROM alg_onrgoedkenmerk ok,"
+ " alg_kenmerk k "
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key "
+ " AND alg_onrgoedkenmerk_verwijder IS NULL "
+ " AND alg_onrgoed_niveau = 'R' "
+ " AND alg_onrgoed_key = " + room_key;
var result = { room_key: room_key,
warning: warning,
keepForm: !!warning,
success: true };
Response.Write(JSON.stringify(result));
allKenmerkenSQL = " SELECT "+lcl.xsql('k.alg_kenmerk_omschrijving','k.alg_kenmerk_key')+" kenmerk_omschrijving, "
+ " alg_kenmerk_key srtkenmerk_key"
+ " FROM alg_kenmerk k"
+ " WHERE k.alg_kenmerk_verwijder IS NULL"
+ " AND k.alg_kenmerk_niveau = 'R'"
+ " AND k.alg_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
var flextrack =
saveFlexKenmerken(room_key, { kenmerkTable: "alg_onrgoedkenmerk",
kenmerkParentKey : "alg_onrgoed_key",
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
kenmerkKey: "alg_kenmerk_key",
currentKenmerkenSQL: currentKenmerkenSQL,
allKenmerkenSQL: allKenmerkenSQL,
kenmerkOmschrijving: "alg_kenmerk_omschrijving",
kenmerkSoortKey: "alg_kenmerk_key",
requestQF: Request.Form,
isNew: isNew, flexPath: "ALG/R",
tracking: true,
moduleName: "ALG_ONRGOED_NIVEAU",
moduleVal: "R",
module: "ALG"
}
)
if (!isNew && (algUpd.trackarray.length || flextrack.length))
shared.trackaction("ALGRUP", room_key, algUpd.trackarray.concat(flextrack).join("\n"));
}
%>
<html>
<head>
<% FCLTHeader.Generate() %>
<script>
$(document).ready(function () {
FcltMgr.closeDetail(window, { room_key: <%=room_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
});
} );
</script>
</head>
<body>
</body>
</html>

View File

@@ -63,7 +63,7 @@ if (srtruimte_lg_key > -1)
<html>
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript">
<script type="text/javascript" >
function ruimtefunctie_submit()
{
document.activeElement.blur(); // trigger laatste onChanges
@@ -79,10 +79,10 @@ if (srtruimte_lg_key > -1)
FcltMgr.closeDetail(window, { cancel: true } );
}
$(function()
{
FcltMgr.resized(window);
});
jQuery(document).ready(function()
{
FcltMgr.resized(window);
});
</script>
</head>
@@ -128,7 +128,6 @@ if (srtruimte_lg_key > -1)
RWFIELDTR("prijs5", "fldalgprijs", L("lcl_alg_alg_tariefD"), safe.editablefloat(prijs5, 5), {maxlength: 17, datatype: "float"});
BLOCK_END();
IFACE.FORM_END();
%>
</form>
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>

View File

@@ -12,16 +12,12 @@
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="alg.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<% FCLTHeader.Requires({ plugins:["jQuery"],
js: []
}) %>
<%
var autfunction = 'WEB_ALGMAN';
var authparams = user.checkAutorisation(autfunction)
var srtruimte_lg_key = getQParamInt("srtruimte_lg_key", -1);
var srtruimte_key = getFParamInt("srtruimte", -1);
var loc_key = getFParamInt("locatiekey", -1);
@@ -68,7 +64,7 @@ __Log("srtruimte_lg_key = " + srtruimte_lg_key);
{
sql = buildUpdate("alg_srtruimte_locatiegebouw", fields)
+ " alg_srtruimte_lg_key = " + srtruimte_lg_key;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
@@ -78,7 +74,7 @@ __Log("srtruimte_lg_key = " + srtruimte_lg_key);
fields.push({ dbs: "alg_srtruimte_lg_key", typ: "key", seq: "alg_s_alg_srtruimte_lg_key" });
var regIns = buildInsert("alg_srtruimte_locatiegebouw", fields);
var srtruimte_lg_key = regIns.sequences["alg_srtruimte_lg_key"];
sql = regIns.sql;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
@@ -90,12 +86,11 @@ __Log("srtruimte_lg_key = " + srtruimte_lg_key);
<head>
<% FCLTHeader.Generate() %>
<script>
$(function ()
{
FcltMgr.closeDetail(window, { warning: "<%=safe.jsstring(warning)%>",
refresh: true
});
});
$(document).ready(function () {
FcltMgr.closeDetail(window, { warning: "<%=safe.jsstring(warning)%>",
refresh: true
});
} );
</script>
</head>
<body>

View File

@@ -14,12 +14,10 @@
<!--#include file="../Shared/common.inc" -->
<!--#include file="../Shared/iface.inc" -->
<!--#include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/calendar.inc" -->
<!--#include file="../Shared/plaatsselector.inc" -->
<!--#include file="../Shared/kostenplaatsselector.inc" -->
<!--#include file="../Shared/afdelingselector.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="alg_flexkenmerk.inc" -->
<!-- #include file="alg.inc" -->
@@ -44,10 +42,6 @@ if (ter_key > 0)
+ ", alg_terreinsector_omtrek"
+ ", alg_terreinsector_aanmaak"
+ ", alg_terreinsector_ordernr"
+ ", alg_terreinsector_toon_telef"
+ ", alg_terreinsector_toon_email"
+ ", alg_terreinsector_toon_kentk"
+ ", alg_terreinsector_vervaldatum"
+ ", prs_kostenplaats_key"
+ ", prs_afdeling_key"
+ " FROM alg_terreinsector "
@@ -66,19 +60,9 @@ if (ter_key > 0)
var ter_ordnr = oRs("ALG_TERREINSECTOR_ORDERNR").value;
var prs_kstn = oRs("PRS_KOSTENPLAATS_KEY").value;
var prs_afd = oRs("PRS_AFDELING_KEY").value;
var toon_telefoon = oRs("ALG_TERREINSECTOR_TOON_TELEF").Value;
var toon_email = oRs("ALG_TERREINSECTOR_TOON_EMAIL").Value;
var toon_kenteken = oRs("ALG_TERREINSECTOR_TOON_KENTK").Value;
var vervaldatum = oRs("ALG_TERREINSECTOR_VERVALDATUM").Value != null ? new Date(oRs("ALG_TERREINSECTOR_VERVALDATUM").Value) : null;
oRs.Close();
}
else
{
var toon_telefoon = 0;
var toon_email = 0;
var toon_kenteken = 0;
}
%>
<html>
@@ -163,35 +147,6 @@ BLOCK_START("algInfo", "");
RWFIELDTR("ter_opp", "fld", L("lcl_estate_terreinsector_man_oppervlak"), ter_opp, {maxlength: 15});
RWFIELDTR("ter_omt", "fld", L("lcl_estate_terreinsector_man_omtrek"), ter_omt, {maxlength: 15});
FCLTcalendar("vervaldatum",
{ datum: vervaldatum,
initEmpty: vervaldatum==null,
label: L("lcl_alg_vervaldatum"),
readonly: !this_alg.writeman
});
var sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toontelfLOV"));
FCLTselector("toon_telefoon",
sql,
{ label: L("lcl_estate_gebouw_toon_telefoon"),
initKey: toon_telefoon,
extraclass: "notmulti"
});
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonmailLOV"));
FCLTselector("toon_email",
sql,
{ label: L("lcl_estate_gebouw_toon_email"),
initKey: toon_email,
extraclass: "notmulti"
});
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonkentLOV"));
FCLTselector("toon_kenteken",
sql,
{ label: L("lcl_estate_gebouw_toon_kenteken"),
initKey: toon_kenteken,
extraclass: "notmulti"
});
BLOCK_END();
generateFlexKenmerkBlock ({
@@ -202,7 +157,6 @@ generateFlexKenmerkBlock ({
this_alg : this_alg
});
IFACE.FORM_END();
%>
</form>
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>

View File

@@ -7,19 +7,14 @@
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc"-->
<!-- #include file="alg.inc" -->
<% FCLTHeader.Requires({ plugins:["jQuery"],
js: []
}) %>
<%
var ter_key = getQParamInt( "ter_key" );
var onrgoedlvl = "T";
var this_alg = alg.func_enabled(ter_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.writeman || (ter_key>0&&this_alg.writeuse));
var ter_key = getQParamInt( "ter_key" );
var fields = [ { dbs: "alg_locatie_key", typ: "key", frm: "locatiekey", track: true /* afzonderlijke tracking, wel oldjsval */ },
{ dbs: "ALG_TERREINSECTOR_OMSCHRIJVING", typ: "varchar", frm: "ter_oms" },
@@ -29,10 +24,6 @@ user.auth_required_or_abort(this_alg.writeman || (ter_key>0&&this_alg.writeuse))
{ dbs: "ALG_TERREINSECTOR_OPPERVLAK", typ: "float", frm: "ter_opp" },
{ dbs: "ALG_TERREINSECTOR_OMTREK", typ: "float", frm: "ter_omt" },
{ dbs: "ALG_TERREINSECTOR_ORDERNR", typ: "varchar", frm: "ter_ordnr" },
{ dbs: "ALG_TERREINSECTOR_VERVALDATUM", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
{ dbs: "ALG_TERREINSECTOR_TOON_TELEF", typ: "number", frm: "toon_telefoon" },
{ dbs: "ALG_TERREINSECTOR_TOON_EMAIL", typ: "number", frm: "toon_email" },
{ dbs: "ALG_TERREINSECTOR_TOON_KENTK", typ: "number", frm: "toon_kenteken" },
{ dbs: "PRS_KOSTENPLAATS_KEY", typ: "key", frm: "prs_kstn" },
{ dbs: "PRS_AFDELING_KEY", typ: "key", frm: "prs_afd" }];
@@ -85,29 +76,18 @@ else
if (!warning)
{
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
+ " , ok.alg_onrgoedkenmerk_waarde"
+ " , k.alg_kenmerk_toonbaar"
+ " FROM alg_onrgoedkenmerk ok"
+ " , alg_kenmerk k"
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
+ " AND alg_onrgoed_niveau = 'T'"
+ " AND alg_onrgoed_key = " + ter_key;
saveFlexKenmerken(ter_key,
{ kenmerkTable: "alg_onrgoedkenmerk",
kenmerkParentKey : "alg_onrgoed_key",
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
kenmerkKey: "alg_kenmerk_key",
kenmerkToonbaar: "alg_kenmerk_toonbaar",
currentKenmerkenSQL: currentKenmerkenSQL,
requestQF: Request.Form,
flexPath: "ALG/T",
module: "ALG",
moduleName: "alg_onrgoed_niveau",
moduleVal: "T",
isNew: ter_key < 0
});
currentKenmerkenSQL = " SELECT k.ALG_kenmerk_key " +
" , ok.alg_onrgoedkenmerk_waarde" +
" FROM ALG_ONRGOEDKENMERK ok, ALG_KENMERK k " +
" WHERE k.ALG_KENMERK_KEY = ok.ALG_KENMERK_KEY " +
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
" AND ALG_ONRGOED_NIVEAU = 'T' " +
" AND ALG_ONRGOED_KEY = " + ter_key;
saveFlexKenmerken(ter_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
currentKenmerkenSQL, false, //QueryForm, rest QueryString
"ALG_ONRGOED_NIVEAU", "T",
(ter_key<0),"ALG/T")
}
%>
@@ -115,13 +95,11 @@ else
<head>
<% FCLTHeader.Generate() %>
<script>
$(function ()
{
FcltMgr.closeDetail(window, { ter_key: <%=ter_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
});
});
$(document).ready(function () {
FcltMgr.closeDetail(window, { ter_key: <%=ter_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
}); } );
</script>
</head>
<body>

View File

@@ -85,7 +85,7 @@ if (this_alg.writeman)
else
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
BLOCK_START("algLoc1", "&nbsp;");
BLOCK_START("algLoc1", "");
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
locatiekey: loc_key,
gebouwkey: bld_key,
@@ -113,16 +113,6 @@ BLOCK_START("algLoc1", "&nbsp;");
BLOCK_END();
BLOCK_START("algLoc2", "&nbsp;");
if (flr_key > 0)
{
var calcopp = alg.calc_algm2(flr_key, onrgoedlvl);
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true, datatype: "float"});
}
BLOCK_END();
generateFlexKenmerkBlock ({
onrgoed_key : flr_key,
onrgoed_niveau : onrgoedlvl,
@@ -131,7 +121,6 @@ generateFlexKenmerkBlock ({
this_alg : this_alg
});
IFACE.FORM_END();
%>
</form>
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>

View File

@@ -7,19 +7,14 @@
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc"-->
<!-- #include file="alg.inc" -->
<% FCLTHeader.Requires({ plugins:["jQuery"],
js: []
}) %>
<%
var flr_key = getQParamInt( "flr_key" );
var onrgoedlvl = "V";
var this_alg = alg.func_enabled(flr_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.writeman || (flr_key>0&&this_alg.writeuse));
var flr_key = getQParamInt( "flr_key" );
var fields = [ { dbs: "alg_verdieping_omschrijving", typ: "varchar", frm: "flr_omschr" },
{ dbs: "alg_verdieping_volgnr", typ: "number", frm: "flr_volgnr" },
@@ -52,29 +47,18 @@ else
if (!warning)
{
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
+ " , ok.alg_onrgoedkenmerk_waarde"
+ " , k.alg_kenmerk_toonbaar"
+ " FROM alg_onrgoedkenmerk ok"
+ " , alg_kenmerk k"
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
+ " AND alg_onrgoed_niveau = 'V'"
+ " AND alg_onrgoed_key = " + flr_key;
saveFlexKenmerken(flr_key,
{ kenmerkTable: "alg_onrgoedkenmerk",
kenmerkParentKey : "alg_onrgoed_key",
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
kenmerkKey: "alg_kenmerk_key",
kenmerkToonbaar: "alg_kenmerk_toonbaar",
currentKenmerkenSQL: currentKenmerkenSQL,
requestQF: Request.Form,
flexPath: "ALG/V",
module: "ALG",
moduleName: "alg_onrgoed_niveau",
moduleVal: "V",
isNew: flr_key < 0
});
currentKenmerkenSQL = " SELECT k.ALG_kenmerk_key " +
" , ok.alg_onrgoedkenmerk_waarde" +
" FROM ALG_ONRGOEDKENMERK ok, ALG_KENMERK k " +
" WHERE k.ALG_KENMERK_KEY = ok.ALG_KENMERK_KEY " +
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
" AND ALG_ONRGOED_NIVEAU = 'V' " +
" AND ALG_ONRGOED_KEY = " + flr_key;
saveFlexKenmerken(flr_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
currentKenmerkenSQL, false, //QueryForm, rest QueryString
"ALG_ONRGOED_NIVEAU", "V",
(flr_key<0),"ALG/V")
}
%>
@@ -82,13 +66,10 @@ else
<head>
<% FCLTHeader.Generate() %>
<script>
$(function ()
{
FcltMgr.closeDetail(window, { flr_key: <%=flr_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%>
});
});
$(document).ready(function ()
{ FcltMgr.closeDetail(window, { flr_key: <%=flr_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning?"true":"false"%> }); } );
</script>
</head>
<body>

View File

@@ -16,6 +16,7 @@
<!--#include file="../Shared/iface.inc" -->
<!--#include file="../Shared/selector.inc" -->
<!--#include file="../Shared/plaatsselector.inc" -->
<!--#include file="../Shared/json2.js" -->
<!-- #include file="alg.inc" -->
<%
@@ -26,9 +27,6 @@ FCLTHeader.Requires({plugins:["jQuery"], js: []})
var authparams = alg.checkAutorisation();
var canAdd = (authparams.ALGwritelevel < 9); // TODO: fijner, ik denk 3. Ik moet voor deze locatie, dit district of deze regio schrijfrechten hebben.
readonly = !canAdd;
if (wp_key > 0)
{
sql = " select * "
@@ -48,10 +46,6 @@ if (wp_key > 0)
oRs.Close();
}
else if (S("prs_werkplek_implicit") == 1)
{
wp_type = 1; // Bij impliciet altijd flex
}
%>
<html>
@@ -74,7 +68,7 @@ else if (S("prs_werkplek_implicit") == 1)
}
function alg_next()
{
FcltMgr.alert("TODO: Next nog niet ondersteund")
alert("TODO: Next nog niet ondersteund")
}
function process_host_info(data)
@@ -94,7 +88,7 @@ function onChangeVolgnr()
}
<% if (wp_key<0) { %>
$(function(){ onChangeRoom(<%=room_key%>)});
$(document).ready(function(){ onChangeRoom(<%=room_key%>)});
<% } %>
</script>
@@ -120,8 +114,7 @@ BLOCK_START("algInfo", "");
onRuiChange: "onChangeRoom(key)",
startlevel: 2, // Regio
eindlevel: 5, // District
readonlylevel: 2, // Locatie niet readonly
filtercode: "INCVR",
readonly: (wp_key > 0),
required: true });
RWFIELDTR("wp_volgnr", "fldshort", L("lcl_estate_wp_seq"), wp_volgnr, {required: true,
@@ -144,19 +137,16 @@ BLOCK_START("algInfo", "");
<%
RWFIELDTR("wp_opp", "fld", L("lcl_estate_wp_area"), wp_opp, {maxlength: 10, float: true}); //TODO: in de toekomst ook kijken naar tussen 0 en 99999.99 ?
if (S("prs_werkplek_implicit")==0)
CHECKBOXTR(L("lcl_estate_wp_virt"), "fldalgbez", "wp_virt", wp_virt==1);
CHECKBOXTR(L("lcl_estate_wp_virt"), "fldalgbez", "wp_virt", wp_virt==1);
sql = "SELECT 0, "+safe.quoted_sql(L("lcl_wptype_0"))+ " FROM DUAL"
+ " UNION SELECT 1, " + safe.quoted_sql(L("lcl_wptype_1")) + " FROM DUAL";
FCLTselector("wp_type", sql,
{ label: L("lcl_wptype"),
initKey: wp_type,
readonly: S("prs_werkplek_implicit") == 1
initKey: wp_type
});
BLOCK_END();
IFACE.FORM_END();
%>
</form>
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>

View File

@@ -8,9 +8,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/WPFunctions.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="alg.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<% FCLTHeader.Requires({ plugins:["jQuery"] }); %>
<%
@@ -18,18 +16,13 @@ var wp_key = getQParamInt( "wp_key" );
var virtueel = (getFParamInt("has_wp_virt", 0) == 1) && (Request.Form("wp_virt").count == 1); // virtueel
// Bij impliciet altijd flex
var wp_type = (S("prs_werkplek_implicit") == 1)?1:getFParamInt("wp_type");
var authparams = alg.checkAutorisation();
var fields = [// { dbs: "PRS_WERKPLEK_MODULE", typ: "varchar", frm: "" },
{ dbs: "PRS_WERKPLEK_VOLGNR", typ: "number", frm: "wp_volgnr" },
{ dbs: "PRS_WERKPLEK_OMSCHRIJVING", typ: "varchar", frm: "wp_oms" },
{ dbs: "PRS_WERKPLEK_VASTOPP", typ: "number", frm: "wp_vstopp_v" },
{ dbs: "PRS_WERKPLEK_OPP", typ: "number", frm: "wp_opp" },
{ dbs: "PRS_WERKPLEK_VIRTUEEL", typ: "number", val: (virtueel? 1 : 0) },
{ dbs: "PRS_WERKPLEK_TYPE", typ: "number", val: wp_type },
{ dbs: "PRS_WERKPLEK_TYPE", typ: "number", frm: "wp_type" },
{ dbs: "PRS_ALG_RUIMTE_KEY", typ: "key", frm: "ruimtekey" } /*,
{ dbs: "PRS_WERKPLEK_GETEKEND", typ: "date", frm: "" },
{ dbs: "PRS_WERKPLEK_DWGX", typ: "number", frm: "" },
@@ -46,22 +39,7 @@ if (wp_key > 0)
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
// Is de ruimte aangepast?
var room_key_new = getFParamInt("ruimtekey");
var sql = "SELECT prs_alg_ruimte_key"
+ " FROM prs_werkplek"
+ " WHERE prs_werkplek_key = " + wp_key;
var oRs = Oracle.Execute(sql);
var room_key_old = oRs("prs_alg_ruimte_key").Value;
oRs.Close();
if (room_key_old != room_key_new)
{ // Werkplek verplaatsen
wp_key = WPMove_PRS_WERKPLEK(wp_key, room_key_new);
}
warning = err.friendlyMsg;
}
else
{
@@ -80,13 +58,11 @@ else
<head>
<% FCLTHeader.Generate() %>
<script>
$(function ()
{
FcltMgr.closeDetail(window, { wp_key: <%=wp_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning? "true" : "false"%>
});
});
$(document).ready(function () {
FcltMgr.closeDetail(window, { wp_key: <%=wp_key%>,
warning: "<%=safe.jsstring(warning)%>",
keepForm: <%=warning? "true" : "false"%>
}); } );
</script>
</head>
<body>

View File

@@ -20,18 +20,10 @@
<%
function generateFlexKenmerkBlock(params)
{
if (!params.fnpre) // Mobile geeft die zelf mee
if (!params.fnpre) // Mobile geeft die zelf eme
{
if (params.advanced) // Simpel houden
{
params.fnpre = function () { Response.Write('<table id="flextable" cellpadding="0" cellspacing="0">'); };
params.fnpost = function () { Response.Write('</table>'); };
}
else
{
params.fnpre = function () { BLOCK_START("algFlex"+(S("alg_flexcolumns")!=1?"2":""), L("lcl_alg_flexblok")); }
params.fnpost = BLOCK_END;
}
params.fnpre = function () { BLOCK_START("algFlex"+(S("alg_flexcolumns")!=1?"2":""), L("lcl_alg_flexblok")); }
params.fnpost = BLOCK_END;
}
var onrgoed_key = params.onrgoed_key; // Onroerendgoed key
var onrgoed_niveau = params.onrgoed_niveau; // Onroerendgoed niveau
@@ -49,15 +41,19 @@ function generateFlexKenmerkBlock(params)
return true;
}
function isInvisible(volgnummer, ktype)
function isInvisible(volgnummer)
{
if (params.multi)
return (ktype == 'M' || ktype == 'F' || ktype == 'E'); // onzichtbaar bij multi
if (volgnummer<100 && !params.this_alg.readman )
return true; // Invisible
if (volgnummer>100 && !params.this_alg.readuse)
return true; // Invisible
return false;
}
var sql = "SELECT k.alg_kenmerk_key kenmerk_key, "
+ " 1 kenmerk_key_count, "
+ " NULL srtkenmerk_key, "
+ lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') +" kenmerk_omschrijving, "
+ " k.alg_kenmerk_kenmerktype kenmerk_kenmerktype, "
+ " k.fac_kenmerkdomein_key kenmerkdomein_key, "
@@ -65,26 +61,20 @@ function generateFlexKenmerkBlock(params)
+ " k.alg_kenmerk_dec kenmerk_dec, "
+ " k.alg_kenmerk_nmin kenmerk_nmin, "
+ " k.alg_kenmerk_nmax kenmerk_nmax, "
+ " k.alg_kenmerk_systeem kenmerk_systeem, "
+ (onrgoed_key > 0
? " (SELECT MAX(CASE WHEN k.alg_kenmerk_kenmerktype = 'M'"
+ " THEN NULL"
+ " ELSE v.alg_onrgoedkenmerk_waarde"
+ " END)"
? " (SELECT v.alg_onrgoedkenmerk_waarde "
+ " FROM alg_onrgoedkenmerk v "
+ " WHERE v.alg_onrgoed_key = " + onrgoed_key
+ " AND v.alg_onrgoed_niveau = " + safe.quoted_sql(onrgoed_niveau)
+ " AND v.alg_kenmerk_key = k.alg_kenmerk_key"
+ " AND v.alg_onrgoedkenmerk_verwijder IS NULL)"
+ " WHERE v.alg_onrgoed_key = " + onrgoed_key
+ " AND v.alg_onrgoed_niveau = " + safe.quoted_sql(onrgoed_niveau)
+ " AND v.alg_kenmerk_key = k.alg_kenmerk_key"
+ " AND v.alg_onrgoedkenmerk_verwijder IS NULL)"
: lcl.xsql('k.alg_kenmerk_default', 'k.alg_kenmerk_key')
) + " kenmerk_waarde, "
+ " k.alg_kenmerk_volgnr kenmerk_volgnr, "
+ lcl.xsql('k.alg_kenmerk_dimensie', 'k.alg_kenmerk_key') +" kenmerk_dimensie, "
+ lcl.xsql('k.alg_kenmerk_hint', 'k.alg_kenmerk_key') +" kenmerk_hint, "
+ lcl.xsql('k.alg_kenmerk_default', 'k.alg_kenmerk_key') +" kenmerk_default, "
+ " k.alg_kenmerk_show_expr kenmerk_show_expr, "
+ " k.alg_kenmerk_verplicht kenmerk_verplicht, "
+ " k.alg_kenmerk_groep kenmerk_groep, "
+ " NULL otherpath, "
+ " k.alg_kenmerk_toonbaar kenmerk_toonbaar,"
+ " k.alg_kenmerk_uniek kenmerk_uniek,"
@@ -92,8 +82,6 @@ function generateFlexKenmerkBlock(params)
+ " FROM alg_kenmerk k "
+ " WHERE k.alg_kenmerk_niveau = " + safe.quoted_sql(onrgoed_niveau)
+ " AND k.alg_kenmerk_verwijder IS NULL "
+ (!params.this_alg.readman? " AND alg_kenmerk_volgnr >= 100":"")
+ (!params.this_alg.readuse? " AND alg_kenmerk_volgnr <= 100":"")
+ "ORDER BY k.alg_kenmerk_volgnr, "
+ lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key');
@@ -105,15 +93,13 @@ function generateFlexKenmerkBlock(params)
{ flexcolumns: (!advanced ? flexcolumns : 1), // advanced is een popup. Dan passen twee kolommen slecht
kenmerk_search: advanced,
fnIsReadonly: isReadonly,
fnIsInvisible: isInvisible,
hideVervallen: onrgoed_key<0,
reado: reado,
fnpre: params.fnpre,
fnpost: params.fnpost,
fnIsInvisible: isInvisible,
multiMode: params.multi,
mobile: params.mobile,
parentKey: onrgoed_key,
kenmerk_module: onrgoed_niveau }
parentKey: onrgoed_key } //?????
);
}
%>

View File

@@ -20,25 +20,21 @@
FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jquery-ui.js"]})
var bld_key = getQParamInt("key", -1);
var cnt_full = getQParamInt("cnt_full", 0) == 1;
if (bld_key > 0)
{
sql = " select alg_gebouw_code, alg_locatie_key "
sql = " select alg_gebouw_code "
+ " FROM alg_gebouw "
+ " WHERE alg_gebouw_key = " + bld_key;
oRs = Oracle.Execute(sql);
var bld_name = " " + oRs("alg_gebouw_code").value;
var loc_key = oRs("alg_locatie_key").value;
}
else
{
var bld_name = "";
var loc_key = -1;
var bld_name = ""
}
%>
<html>
@@ -70,7 +66,7 @@ else
</script>
</head>
<body>
<body id="editbody">
<% if (bld_key == -1)
var page="alg_edit_gebouw.asp"; // Maak een nieuw
else
@@ -80,23 +76,6 @@ else
IFRAMER("algFrame", page, { title: L("lcl_alg_gebouw_frame"),
initHeight: "450px",
FcltClose: "algClose" } );
if (bld_key > -1)
{
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
var curole = "bo";
if (!authparamsCNTMAN && authparamsCNTUSE)
curole = "fe";
if (authparamsCNTMAN || authparamsCNTUSE)
{
var page1="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&bld_key=" + bld_key
page1 += (cnt_full ? "&cnt_full=1" : "");
IFRAMER("cntFrame", page1, { initHide: true } );
}
}
%>
</body>
</html>

View File

@@ -9,6 +9,8 @@
Note:
*/ %>
<!-- #include file="../Shared/disCxprs3d.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/getkenmerksql.inc" -->
<!-- #include file="alg.inc" -->
@@ -27,63 +29,6 @@ function fnrowData(oRs)
return JSON.stringify(data);
}
var recent = new Date();
function fnrowClass(oRs)
{
var lclass = "";
// Tracking: hoe lang geleden voor het laatst gewijzigd?
if (oRs.Fields("recentdatum").Value != null)
{
var ltrackdate1 = new Date();
var ltrackdate10 = new Date();
var ltrackdate100 = new Date();
var alg_onrgoed_recent = S("alg_onrgoed_recent");
ltrackdate1.setMinutes(recent.getMinutes() - alg_onrgoed_recent);
ltrackdate10.setMinutes(recent.getMinutes() - alg_onrgoed_recent * 12);
ltrackdate100.setMinutes(recent.getMinutes() - alg_onrgoed_recent*12*2);
var fac_recent = new Date(oRs.Fields("recentdatum").Value);
if (fac_recent > ltrackdate1)
{
lclass += " updated";
}
else if (fac_recent > ltrackdate10)
{
lclass += " updated10";
}
else if (fac_recent > ltrackdate100)
{
lclass += " updated100";
}
}
return lclass;
}
var all_cnt = getQParamInt("cnt_full", 0);
// Fast check to see if any building responsibles have been set
// If not, we can suppress the column
sql = "SELECT 1 FROM alg_gebouw"
+ " WHERE prs_perslid_key_verantw IS NOT NULL"
+ " AND alg_gebouw_verwijder IS NULL AND ROWNUM = 1";
oRs = Oracle.Execute(sql);
var anybldresp = !oRs.eof;
oRs.close()
// We gaan er vanuit dat verwantw2 niet is gezet als nergens verantw1 wordt getoond.
// Als dat wel zo is, jammer maar dan tonen we die niet in de lijst.
var anybldresp2 = false;
if (anybldresp)
{
sql = "SELECT 1 FROM alg_gebouw"
+ " WHERE prs_perslid_key_verantw2 IS NOT NULL"
+ " AND alg_gebouw_verwijder IS NULL AND ROWNUM = 1";
oRs = Oracle.Execute(sql);
anybldresp2 = !oRs.eof;
oRs.close()
}
%>
<script type="text/javascript">
@@ -91,65 +36,33 @@ var all_cnt = getQParamInt("cnt_full", 0);
function gotoDetails(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var url = "appl/alg/alg_verdieping_search.asp?gebouw_key=" + algData.detail_key + "&autosearch=" + autosearch + "&chkgeb=1";
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_verdieping_search.asp?gebouw_key=" + algData.detail_key + "&autosearch=" + autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_floor")%>");
}
function gotoParent(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var url = "appl/alg/alg_locatie_search.asp?locatie_key=" + algData.parent_key + "&autosearch=" + autosearch;
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_locatie_search.asp?locatie_key=" + algData.parent_key + "&autosearch=" + autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_location")%>");
}
function gebouwEdit(row)
function gebouwEdit(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var v_all_cnt = <%=all_cnt%>;
var url = "appl/alg/alg_gebouw.asp?mode=viewChange&key=" + algData.key + (v_all_cnt == 1 ? "&cnt_full=1" : "");
FcltMgr.openDetail(url, "<%=L("lcl_building")%>" + ' ' + algData.oms);
}
function aggregateCNDscores(rowArray, isMulti)
{
FcltMgr.confirm(L("cnd_aggregate_confirm"), { autoconfirm: isMulti }, function() {
var locKeyString = getKeyString(rowArray);
var data = { key: locKeyString,
level: "G"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_cnd_aggregate.asp", data, FcltCallbackRefresh, "json");
});
}
function doChange(rowArray, isMulti)
{
var bldKeyString = getKeyString(rowArray);
var subject = L("lcl_alg_multi_edit");
var url = "../alg/alg_edit_gebouw_multi.asp?bld_keys=" + bldKeyString;
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh});
}
function doDelete(rowArray, isMulti)
{
FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), { autoconfirm: isMulti }, function() {
var bldKeyString = getKeyString(rowArray);
var data = { key: bldKeyString,
level: "G"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
});
}
function toObjMan(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var url = "appl/ins/ins_search.asp?urole=bo&gebouw_key=" + algData.key;
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_gebouw.asp?mode=viewUpdate&key=" + algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_building")%>" + ' ' + algData.oms);
}
function doDelete(rowArray, isMulti)
{
var bldKeyString = getKeyString(rowArray);
if (isMulti || confirm(L("lcl_alg_del_txt_gebouw")))
$.post("alg_delete.asp",
{ key: bldKeyString,
level: "G" },
FcltCallbackRefresh,
"json");
}
</script>
<%
@@ -166,45 +79,19 @@ function gebouw_list(pautfunction, params)
var noref = params.noref;
var ins_score_enabled = S("ins_score_enabled") == 1;
var reg_key = params.reg_key;
var dis_key = params.dis_key;
var loc_key = params.loc_key;
var bld_key = params.bld_key;
var srtgebouw_key = params.srtgebouw_key;
var verantw_key = params.verantw_key;
var expalgincl = params.expalgincl;
var fitness_score1_from = params.fitness_score1_from;
var fitness_score1_through = params.fitness_score1_through;
var bld_func = params.bld_func;
var autparamsINSUSE = user.checkAutorisation("WEB_INSUSE", true);
var autparamsINSMAN = user.checkAutorisation("WEB_INSMAN", true);
var readuse = autparamsINSUSE && autparamsINSUSE.PRSreadlevel < 9 && autparamsINSUSE.ALGreadlevel < 9; // Wijzigen Afgeronde gegevens.
var readman = autparamsINSMAN && autparamsINSMAN.PRSreadlevel < 9 && autparamsINSMAN.ALGreadlevel < 9; // Wijzigen Afgeronde gegevens.
function fnrowActionEnabler(oRs)
{
var eDelete = false;
var eChange = false;
var eObjMan = false;
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
{
eDelete = true;
eChange = true;
}
// Heb ik rechten om het objectenbeheer overzicht te zien?
if (readuse || readman)
eObjMan = true;
return ({eDelete: eDelete, eChange: eChange, eObjMan: eObjMan});
}
function fnrowFlexParams(oRs)
{
var bld_key = oRs("alg_gebouw_key").Value;
var this_alg = alg.func_enabled(bld_key, "G");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
%>
<html>
@@ -213,96 +100,72 @@ function gebouw_list(pautfunction, params)
</head>
<body id="listbody">
<%
var sqln = "SELECT g.alg_gebouw_key"
+ " , g.alg_locatie_key"
+ " , g.alg_locatie_key"
+ " , g.alg_srtgebouw_key"
+ " , l.alg_locatie_omschrijving"
+ " , " + lcl.xsqla('s.alg_srtgebouw_omschrijving', 's.alg_srtgebouw_key')
+ " , g.alg_gebouw_code"
+ " , g.alg_gebouw_naam"
+ " , g.alg_gebouw_opmerking"
+ " , g.alg_gebouw_bruto_vloeropp"
+ " , g.alg_gebouw_omtrek"
+ " , g.alg_gebouw_inhoud"
+ " , g.alg_gebouw_x"
+ " , g.alg_gebouw_y"
+ " , g.alg_gebouw_vervaldatum"
+ " , g.alg_gebouw_mjb_score1"
+ " , (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = prs_perslid_key_verantw) perslid_resp"
+ " , (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = prs_perslid_key_verantw2) perslid_resp2"
+ " , g.alg_gebouw_email"
+ " , (SELECT mld_adres_naam FROM mld_adres ma WHERE ma.mld_adres_key = g.mld_adres_key) delivery_adr"
+ " , (SELECT MAX(t.fac_tracking_datum)"
+ " FROM fac_tracking t"
+ " , fac_srtnotificatie sn"
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
+ " AND t.fac_tracking_refkey = g.alg_gebouw_key"
+ " AND sn.fac_srtnotificatie_xmlnode = 'gebouw'"
+ " ) recentdatum"
+ " FROM alg_gebouw g"
+ " , alg_locatie l"
+ " , alg_srtgebouw s"
+ " WHERE l.alg_locatie_key(+) = g.alg_locatie_key"
+ " AND s.alg_srtgebouw_key(+) = g.alg_srtgebouw_key"
+ " AND g.alg_gebouw_verwijder IS NULL";
var sqln = "SELECT g.alg_gebouw_key, "
+ " g.alg_locatie_key, "
+ " g.alg_locatie_key, "
+ " g.alg_srtgebouw_key, "
+ " l.alg_locatie_omschrijving, "
+ lcl.xsqla('s.alg_srtgebouw_omschrijving', 's.alg_srtgebouw_key')+", "
+ " g.alg_gebouw_code, "
+ " g.alg_gebouw_naam, "
+ " g.alg_gebouw_opmerking, "
+ " g.alg_gebouw_bruto_vloeropp, "
+ " g.alg_gebouw_omtrek, "
+ " g.alg_gebouw_inhoud, "
+ " g.alg_gebouw_x, "
+ " g.alg_gebouw_y "
+ " FROM alg_v_aanweziggebouw g, "
+ " alg_locatie l, "
+ " alg_srtgebouw s "
+ " WHERE l.alg_locatie_key(+) = g.alg_locatie_key "
+ " AND s.alg_srtgebouw_key(+) = g.alg_srtgebouw_key "
+ " AND g.alg_gebouw_verwijder IS NULL ";
if ( authparams.ALGreadlevel > -1 )
{ // Er is een scope-beperking van kracht
sqln += " AND g.alg_gebouw_key IN (SELECT alg_gebouw_key FROM fac_v_my_buildings "
+ " WHERE prs_perslid_key = " + user_key
+ " AND niveau = " + authparams.ALGreadlevel + ")";
}
{ // Er is een scope-beperking van kracht
sqln += " AND g.alg_gebouw_key IN "
+ "(SELECT alg_gebouw_key FROM fac_v_my_buildings "
+ "WHERE prs_perslid_key="+user_key
+ " AND niveau=" + authparams.ALGreadlevel + ")";
}
sqln += getKenmerkSql("ALG", "g.alg_gebouw_key");
sqln += getKenmerkSql("ALG", "g.alg_gebouw_key");
if (bld_key)
if (bld_key)
{
sqln += " AND g.alg_gebouw_key = " + bld_key;
else if (loc_key)
}
else if (loc_key)
{
sqln += " AND g.alg_locatie_key = " + loc_key;
else if (dis_key)
}
else if (dis_key)
{
sqln += " AND l.alg_district_key = " + dis_key;
else if (reg_key)
}
else if (reg_key)
{
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key = " + reg_key+")";
}
if (params.bld_code)
sqln += " AND UPPER(g.alg_gebouw_code) LIKE " + safe.quoted_sql_wild(params.bld_code + "%");
if (params.bld_name)
sqln += " AND UPPER(g.alg_gebouw_naam) LIKE " + safe.quoted_sql_wild(params.bld_name + "%");
if (params.bld_email)
sqln += " AND UPPER(g.alg_gebouw_email) LIKE " + safe.quoted_sql_wild("%" + params.bld_email + "%");
if (params.bld_groep)
sqln += " AND UPPER(g.alg_gebouw_groep) LIKE " + safe.quoted_sql_wild("%" + params.bld_groep + "%");
if (bld_func)
{
sqln += " AND g.alg_srtgebouw_key = " + bld_func;
}
if (srtgebouw_key)
sqln += " AND g.alg_srtgebouw_key = " + srtgebouw_key;
if (verantw_key)
sqln += " AND (g.prs_perslid_key_verantw = " + verantw_key + " OR g.prs_perslid_key_verantw2 = " + verantw_key + ")";
if (!expalgincl)
sqln += " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE)) ";
if (ins_score_enabled)
{ // Conditiescore.
// Niet gemeten objecten doen wel mee in dit filter. Deze objecten worden dus niet getoond als er een waarde is ingevuld.
if (fitness_score1_from > 0)
sqln += " AND alg_gebouw_mjb_score1 >= " + fitness_score1_from;
if (fitness_score1_through > 0)
sqln += " AND alg_gebouw_mjb_score1 <= " + fitness_score1_through;
}
sqln += " ORDER BY l.alg_locatie_upper ASC, "
sqln += " ORDER BY l.alg_locatie_upper ASC, "
+ " g.alg_gebouw_upper ASC ";
var addurl = "appl/alg/alg_gebouw.asp";
if (canAdd)
{
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
}
if (canAdd)
{
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
}
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
var rst = new ResultsetTable({ sql:sqln,
keyColumn: "alg_gebouw_key",
@@ -310,11 +173,9 @@ function gebouw_list(pautfunction, params)
title: L("lcl_menu_alg_gebouw"),
showAll: showall,
rowData: fnrowData,
rowClass: fnrowClass,
rowActionEnabler: fnrowActionEnabler,
flexModule: "ALG",
flexId: "alg_gebouw_key",
flexParams: fnrowFlexParams,
filterParams: params,
outputmode: outputmode,
buttons: addButton
@@ -322,40 +183,29 @@ function gebouw_list(pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_code"), content: "alg_gebouw_code"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_name"), content: "alg_gebouw_naam" }));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_name"), content: "alg_gebouw_naam", hasActions: true}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_srtgebouw"), content: "alg_srtgebouw_omschrijving"}));
if (anybldresp)
{
rst.addColumn(new Column({caption: L("lcl_alg_verantw"), content: "perslid_resp"}));
if (anybldresp2)
rst.addColumn(new Column({caption: L("lcl_alg_verantw2"), content: "perslid_resp2", combine: true}));
}
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_bruto_vloeropp"), content: "alg_gebouw_bruto_vloeropp", datatype: "float", decimals: 2}));
rst.addColumn(new Column({caption: L("lcl_alg_vervaldatum"), content: "alg_gebouw_vervaldatum", datatype: "date"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_bruto_vloeropp"), content: "alg_gebouw_bruto_vloeropp"}));
if (outputmode != 0)
{
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_opmerk"), content: "alg_gebouw_opmerking"}));
rst.addColumn(new Column({caption: L("lcl_alg_gebouw_email"), content: "alg_gebouw_email"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_omtrek"), content: "alg_gebouw_omtrek"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_inhoud"), content: "alg_gebouw_inhoud"}));
rst.addColumn(new Column({caption: L("lcl_delivery_address"), content: "delivery_adr"}));
rst.addColumn(new Column({caption: L("lcl_geoxcoord"), content: "alg_gebouw_x"}));
rst.addColumn(new Column({caption: L("lcl_geoycoord"), content: "alg_gebouw_y"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_opmerk"), content: "alg_gebouw_opmerking"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_omtrek"), content: "alg_gebouw_omtrek"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_inhoud"), content: "alg_gebouw_inhoud"}));
rst.addColumn(new Column({caption: L("lcl_geoxcoord"), content: "alg_gebouw_x"}));
rst.addColumn(new Column({caption: L("lcl_geoycoord"), content: "alg_gebouw_y"}));
}
if (ins_score_enabled)
rst.addColumn(new Column({caption: L("lcl_alg_gebouw_mjb_score1"), content: "alg_gebouw_mjb_score1", datatype: "number"}));
rst.addAction({ action: "gebouwEdit", caption: L("lcl_edit"), isDefault: true});
if (S("cnd_gebreken_srtdisc_key") > -1)
rst.addAction({ action: "aggregateCNDscores", caption: L("cnd_aggr_conditiescores"), multi: true, multiOnce: true});
rst.addAction({ action: "doChange", caption: L("lcl_change"), enabler: "eChange", single:!noref, multi: true, multiOnce: true});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single:!noref, multi: true, multiOnce: true});
rst.addAction({ action: "toObjMan", caption: L("lcl_ins_object_management"), enabler: "eObjMan"});
if (!noref) {
rst.addAction({ action: "gotoDetails", caption: L("lcl_goto_verdieping_list")});
rst.addAction({ action: "gotoParent", caption: L("lcl_goto_locatie_list")});
}
var cnt = rst.processResultset();
%>
</body>
</html>
<%
} %>
<%}%>

View File

@@ -7,23 +7,17 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="alg.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
var ins_score_enabled = S("ins_score_enabled") == 1;
var locatie_key = getQParamInt("locatie_key", -1); // Locatie
var gebouw_key = getQParamInt("gebouw_key", -1); // Gebouw
var srtgebouw_key = getQParamInt("gebouw_func", -1); // Gebouwfunctie
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
var verantw_key2 = getQParamInt("verantw2", -1); // Gebouw verantwoordelijke 2
var gebouw_func = getQParamInt("gebouw_func", -1); // Gebouwfunctie
var autosearch = getQParamInt("autosearch", 0) == 1;
var cnt_full = getQParamInt("cnt_full", 0) == 1;
var authparams = alg.checkAutorisation();
var this_alg = alg.func_enabled(gebouw_key);
%>
<html>
@@ -36,142 +30,65 @@ var this_alg = alg.func_enabled(gebouw_key);
doSubmitWithKenmerken();
}
function myModal(init)
function myModal()
{
var lvl = "G";
var key = 0;
var bld_key = "";
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" + bld_key + "&onrgoed_niveau=" + lvl;
var titel = "<%=L("lcl_properties")%>";
showKenmerkModal(url, titel, init)
showKenmerkModal(url, titel)
}
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
</script>
</head>
<body id="searchbody">
<div id="search">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<form name="u2" target="workFrame" action="alg_gebouw_search_list.asp" method="get">
<% if (cnt_full) { %>
<input type="hidden" id="cnt_full" name="cnt_full" value="1">
<% } %>
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<tr>
<td class="searchkolom1">
<table><!-- x rijen, 2 kolommen: label + veld -->
<tr>
<td class="searchkolom1">
<table><!-- x rijen, 2 kolommen: label + veld -->
<% <!-- Locatie, gebouw en verdieping -->
FCLTplaatsselector(authparams.ALGreadlevel, {
locatiekey: locatie_key,
gebouwkey: gebouw_key,
startlevel: 2, // locatie
eindlevel: 2, // locatie
whenEmpty: L("lcl_search_generic")
});
<% <!-- Locatie, gebouw en verdieping -->
FCLTplaatsselector(authparams.ALGreadlevel, {
locatiekey: locatie_key,
gebouwkey: gebouw_key,
startlevel: 2, // locatie
eindlevel: 3, // gebouw
whenEmpty: L("lcl_search_generic")
});
%>
<tr class="primsearch">
<td class="label"><label><%=L("lcl_estate_gebouw_man_code")%>:</label></td>
<td><input type="text" class="wildcard" id="bld_code" name="bld_code" value=""></td>
</tr>
<tr class="primsearch">
<td class="label"><label><%=L("lcl_estate_gebouw_man_name")%>:</label></td>
<td><input type="text" class="wildcard" id="bld_name" name="bld_name" value=""></td>
</tr>
<!-- Vervallen objecten -->
<tr class="primsearch">
<td></td>
<td align=left>
<input type="checkbox" class="fldexpalgincl" name="expAlgIncl" id="expAlgIncl" value="1" >
<label for="expAlgIncl"><%=L("lcl_alg_gebouw_vervallen_incl")%></label>
</td>
</tr>
</table>
</td><!-- end column 1 -->
</table>
</td><!-- end column 1 -->
<td class="searchkolom2">
<table><!-- x rijen, 2 kolommen: label + veld -->
<!-- Zoektekst -->
<% sql = "SELECT alg_srtgebouw_key"
+ ", "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
+ " FROM alg_srtgebouw"
+ " WHERE alg_srtgebouw_verwijder IS NULL"
+ " ORDER BY UPPER("+lcl.xsql('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')+")";
<td class="searchkolom2">
<table><!-- x rijen, 2 kolommen: label + veld -->
<% // <!-- Zoektekst -->
sql = "SELECT alg_srtgebouw_key"
+ ", "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
+ " FROM alg_srtgebouw"
+ " WHERE alg_srtgebouw_verwijder IS NULL"
+ " ORDER BY UPPER("+lcl.xsql('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')+")";
FCLTselector("srt",
sql,
{ initKey: srtgebouw_key,
{ initKey: gebouw_func,
label: L("lcl_estate_gebouw_srtgebouw"),
trclass: "primsearch",
emptyOption: ""
});
%> <!-- gebouw groeperingskenmerk -->
<tr class="primsearch">
<td class="label"><label><%=L("lcl_estate_gebouw_groepkenmerk")%>:</label></td>
<td><input type="text" class="wildcard" id="bld_groep" name="bld_groep" value=""></td>
</tr>
<!-- Gebouw verantwoordelijke -->
<% // Dit veld is alleen zichtbaar indien er minimaal <20><>n gebouwverantwoordelijke geconfigureerd is (suppressNoValues).
FCLTpersoonselector("verantw",
"sgVerantw",
{ perslidKey: verantw_key,
label: L("lcl_alg_bld_verantw"),
filtercode: "GV", // Gebouw Verantwoordelijke
trclass: "primsearch",
suppressNoValues: true,
whenEmpty: L("lcl_search_generic") // want filter
});
%>
<tr class="primsearch">
<td class="label"><label><%=L("lcl_alg_gebouw_email")%>:</label></td>
<td><input type="text" class="wildcard" id="bld_email" name="bld_email" value=""></td>
</tr>
<%
if (ins_score_enabled)
{ // Conditiescore
%> <tr class="primsearch fldfitness_score" id="fitness_score">
<td>
<table width="100%">
<tr>
<td class="label">
<label for="show_fitness_score_from"><%=L("lcl_mjb_fitness_score")%>:</label>
</td>
<td style="text-align: right">
<%=L("lcl_mjb_from")%>
</td>
</tr>
</table>
</td>
<td class="score">
<input type="text"
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
id="fitness_score1_from"
name="fitness_score1_from"
class="fldflexN number "
value=""
maxlength="1">
&nbsp;<%=L("lcl_mjb_through")%>&nbsp;
<input type="text"
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
id="fitness_score1_through"
name="fitness_score1_through"
class="fldflexN number "
value=""
maxlength="1">
</td>
</tr>
<% } %>
</table>
</td><!-- end column 1 -->
</tr>
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch", importance: 1 },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced", importance: 3 } ];
CreateButtons(buttons, { entersubmit: true });
%>
</table>
</td><!-- end column 1 -->
</tr>
</form>
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];
CreateButtons(buttons);
%>
</div> <!-- search -->
<div id="result">

View File

@@ -26,37 +26,17 @@ var reg_key = getQParamInt("regiokey", -1); // Regio
var dis_key = getQParamInt("districtkey", -1); // District
var loc_key = getQParamInt("locatiekey", -1); // Locatie
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
var bld_code = getQParam("bld_code", ""); // Gebouwcode
var bld_name = getQParam("bld_name", ""); // Gebouwnaam
var srtgebouw_key = getQParamInt("srt", -1); // Gebouwfunctie
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
var verantw_key2 = getQParamInt("verantw2", -1); // Gebouw verantwoordelijke 2
var expalgincl = getQParamInt("expAlgIncl", 0) == 1; // Ook vervallen gebouwen
var cnt_full = getQParamInt("cnt_full", 0) == 1;
var fitness_score1_from = getQParamInt("fitness_score1_from", -1); // Conditie score van.
var fitness_score1_through = getQParamInt("fitness_score1_through", -1); // Conditie score t/m.
var bld_email = getQParam("bld_email", ""); // Gebouw email.
var bld_groep = getQParam("bld_groep", ""); // Gebouw groeperingskenmerk
var bld_func = getQParamInt("srt", -1);
gebouw_list ( "*",
{ outputmode: outputmode,
showall: showall,
cnt_full: cnt_full,
srtgebouw_key: (srtgebouw_key != -1? srtgebouw_key: null),
verantw_key: (verantw_key != -1? verantw_key: null),
verantw_key2: (verantw_key2 != -1? verantw_key2: null),
bld_func: (bld_func != -1? bld_func: null),
reg_key: (reg_key != -1? reg_key : null),
dis_key: (dis_key != -1? dis_key : null),
loc_key: (loc_key != -1? loc_key : null),
bld_key: (bld_key != -1? bld_key : null),
bld_code: bld_code,
bld_name: bld_name,
fitness_score1_from : fitness_score1_from,
fitness_score1_through : fitness_score1_through,
bld_email : bld_email,
bld_groep : bld_groep,
noref: (noref != -1? noref : null),
expalgincl: expalgincl
noref: (noref != -1? noref : null)
}
);
%>

View File

@@ -20,7 +20,6 @@ FCLTHeader.Requires({ plugins: ["suggest", "jQuery"],
js: ["jquery-ui.js"]})
var loc_key = getQParamInt("key", -1);
var cnt_full = getQParamInt("cnt_full", 0) == 1;
if (loc_key > 0)
{
@@ -66,7 +65,7 @@ else
}
</script>
</head>
<body>
<body id="editbody">
<%
if (loc_key == -1)
var page="alg_edit_locatie.asp"; // Maak een nieuw
@@ -77,23 +76,6 @@ else
IFRAMER("algFrame", page, { title: L("lcl_alg_locatie_frame"),
initHeight: "450px",
FcltClose: "algClose" } );
if (loc_key > -1)
{
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
var curole = "bo";
if (!authparamsCNTMAN && authparamsCNTUSE)
curole = "fe";
if (authparamsCNTMAN || authparamsCNTUSE)
{
var page1="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&loc_key=" + loc_key
page1 += (cnt_full ? "&cnt_full=1" : "");
IFRAMER("cntFrame", page1, { initHeight: "450px" } );
}
}
%>
</body>
</html>

View File

@@ -9,6 +9,7 @@
Note:
*/ %>
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/getkenmerksql.inc" -->
<!-- #include file="alg.inc" -->
@@ -25,92 +26,49 @@ function fnrowData(oRs)
var key = oRs("alg_locatie_key").value;
var oms = oRs("alg_locatie_omschrijving").value;
var data = {parent_key: parent_key, detail_key: detail_key, key: key, oms: oms};
var data = {parent_key:parent_key, detail_key:detail_key, key:key, oms:oms};
return JSON.stringify(data);
}
var recent = new Date();
function fnrowClass(oRs)
{
var lclass = "";
// Tracking: hoe lang geleden voor het laatst gewijzigd?
if (oRs.Fields("recentdatum").Value != null)
{
var ltrackdate1 = new Date();
var ltrackdate10 = new Date();
var ltrackdate100 = new Date();
var alg_onrgoed_recent = S("alg_onrgoed_recent");
ltrackdate1.setMinutes(recent.getMinutes() - alg_onrgoed_recent);
ltrackdate10.setMinutes(recent.getMinutes() - alg_onrgoed_recent * 12);
ltrackdate100.setMinutes(recent.getMinutes() - alg_onrgoed_recent*12*2);
var fac_recent = new Date(oRs.Fields("recentdatum").Value);
if (fac_recent > ltrackdate1)
{
lclass += " updated";
}
else if (fac_recent > ltrackdate10)
{
lclass += " updated10";
}
else if (fac_recent > ltrackdate100)
{
lclass += " updated100";
}
}
return lclass;
}
var all_cnt = getQParamInt("cnt_full", 0);
%>
<script type="text/javascript">
var autosearch = 1; //automatisch laden van resultaat op search pagina
function gotoDetails(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_gebouw_search.asp?locatie_key="+algData.detail_key+"&autosearch="+autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_building")%>");
}
function gotoDetails2(row)
{
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_terreinsector_search.asp?locatie_key="+algData.detail_key+"&autosearch="+autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_terra")%>");
}
function gotoParent(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_district_search.asp?district_key="+algData.parent_key+"&autosearch="+autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_district")%>");
}
function locatieEdit(row)
function locatieEdit(row)
{
var v_all_cnt = <%=all_cnt%>;
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var url = "appl/ALG/alg_locatie.asp?key="+algData.key + (v_all_cnt == 1 ? "&cnt_full=1" : "");
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_locatie.asp?key="+algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_location")%>" + ' ' + algData.oms);
}
function aggregateCNDscores(rowArray, isMulti)
{
FcltMgr.confirm(L("cnd_aggregate_confirm"), { autoconfirm: isMulti }, function() {
var locKeyString = getKeyString(rowArray);
var data = { key: locKeyString,
level: "L"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_cnd_aggregate.asp", data, FcltCallbackRefresh, "json");
});
}
function doDelete(rowArray, isMulti)
{
FcltMgr.confirm(L("lcl_alg_del_txt_locatie"), { autoconfirm: isMulti }, function() {
var locKeyString = getKeyString(rowArray);
var data = { key: locKeyString,
level: "L"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
});
var locKeyString = getKeyString(rowArray);
if (isMulti || confirm(L("lcl_alg_del_txt_locatie")))
$.post("alg_delete.asp",
{ key: locKeyString,
level: "L" },
FcltCallbackRefresh,
"json");
}
</script>
<%
@@ -127,13 +85,9 @@ function locatie_list(pautfunction, params)
var noref = params.noref;
var ins_score_enabled = S("ins_score_enabled") == 1;
var reg_key = params.reg_key;
var dis_key = params.dis_key;
var loc_key = params.loc_key;
var expalgincl = params.expalgincl;
var fitness_score1_from = params.fitness_score1_from;
var fitness_score1_through = params.fitness_score1_through;
function fnrowActionEnabler(oRs)
{
@@ -142,15 +96,6 @@ function locatie_list(pautfunction, params)
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var loc_key = oRs("alg_locatie_key").Value;
var this_alg = alg.func_enabled(loc_key, "L");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
@@ -158,36 +103,27 @@ function locatie_list(pautfunction, params)
<% FCLTHeader.Generate({outputmode:outputmode}) %>
</head>
<body id="listbody">
<% var sqln = "SELECT l.alg_locatie_key"
+ " , l.alg_district_key"
+ " , l.alg_locatie_code"
+ " , l.alg_locatie_omschrijving"
+ " , d.alg_district_omschrijving"
+ " , l.alg_locatie_adres"
+ " , l.alg_locatie_post_adres"
+ " , l.alg_locatie_postcode"
+ " , l.alg_locatie_post_postcode"
+ " , l.alg_locatie_plaats"
+ " , l.alg_locatie_post_plaats"
+ " , l.alg_locatie_land"
+ " , l.alg_locatie_post_land"
+ " , l.alg_locatie_verantw"
+ " , l.alg_locatie_verantw_tel"
+ " , l.alg_locatie_vervaldatum"
+ " , l.alg_locatie_x"
+ " , l.alg_locatie_y"
+ " , l.alg_locatie_mjb_score1"
+ " , (SELECT MAX(t.fac_tracking_datum)"
+ " FROM fac_tracking t"
+ " , fac_srtnotificatie sn"
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
+ " AND t.fac_tracking_refkey = l.alg_locatie_key"
+ " AND sn.fac_srtnotificatie_xmlnode = 'locatie'"
+ " ) recentdatum"
+ " FROM alg_v_aanweziglocatie l"
+ " , alg_district d "
+ " WHERE d.alg_district_key(+) = l.alg_district_key"
+ " AND l.alg_locatie_verwijder IS NULL";
<% var sqln = "SELECT l.alg_locatie_key, "
+ " l.alg_district_key, "
+ " l.alg_locatie_code, "
+ " l.alg_locatie_omschrijving, "
+ " d.alg_district_omschrijving, "
+ " l.alg_locatie_adres, "
+ " l.alg_locatie_post_adres, "
+ " l.alg_locatie_postcode, "
+ " l.alg_locatie_post_postcode, "
+ " l.alg_locatie_plaats, "
+ " l.alg_locatie_post_plaats, "
+ " l.alg_locatie_land, "
+ " l.alg_locatie_post_land, "
+ " l.alg_locatie_verantw, "
+ " l.alg_locatie_verantw_tel, "
+ " l.alg_locatie_x, "
+ " l.alg_locatie_y "
+ " FROM alg_v_aanweziglocatie l, "
+ " alg_district d "
+ " WHERE d.alg_district_key(+) = l.alg_district_key "
+ " AND l.alg_locatie_verwijder IS NULL ";
if (authparams.ALGreadlevel > -1)
{ // Er is een scope-beperking van kracht
@@ -212,24 +148,7 @@ function locatie_list(pautfunction, params)
sqln += " AND d.alg_regio_key = " + reg_key;
}
if (!expalgincl)
sqln += " AND (l.alg_locatie_vervaldatum IS NULL OR l.alg_locatie_vervaldatum > TRUNC(SYSDATE)) ";
if (params.loc_code)
sqln += " AND UPPER(l.alg_locatie_code) LIKE " + safe.quoted_sql_wild(params.loc_code + "%");
if (params.loc_descr)
sqln += " AND UPPER(l.alg_locatie_omschrijving) LIKE " + safe.quoted_sql_wild(params.loc_descr + "%");
if (ins_score_enabled)
{ // Conditiescore.
// Niet gemeten objecten doen wel mee in dit filter. Deze objecten worden dus niet getoond als er een waarde is ingevuld.
if (fitness_score1_from > 0)
sqln += " AND alg_locatie_mjb_score1 >= " + fitness_score1_from;
if (fitness_score1_through > 0)
sqln += " AND alg_locatie_mjb_score1 <= " + fitness_score1_through;
}
sqln += " ORDER BY UPPER(alg_district_omschrijving), UPPER(alg_locatie_code)";
sqln += " ORDER BY l.alg_locatie_upper ASC "
var addurl = "appl/alg/alg_locatie.asp";
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
@@ -245,25 +164,20 @@ function locatie_list(pautfunction, params)
title: L("lcl_menu_alg_locatie"),
showAll: showall,
rowData: fnrowData,
rowClass: fnrowClass,
rowActionEnabler: fnrowActionEnabler,
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_locatie_key",
flexParams: fnrowFlexParams,
filterParams: params,
buttons: addButton
});
rst.addColumn(new Column({caption: L("lcl_estate_district_man_descr"), content: "alg_district_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_code"), content: "alg_locatie_code"}));
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving" }));
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving", hasActions:true}));
rst.addColumn(new Column({caption: L("lcl_prs_address_bezoek_adres"), content: "alg_locatie_adres"}));
rst.addColumn(new Column({caption: L("lcl_prs_address_bezoek_postcode"), content: "alg_locatie_postcode"}));
rst.addColumn(new Column({caption: L("lcl_prs_address_bezoek_plaats"), content: "alg_locatie_plaats"}));
rst.addColumn(new Column({caption: L("lcl_alg_vervaldatum"), content: "alg_locatie_vervaldatum", datatype: "date"}));
if (ins_score_enabled)
rst.addColumn(new Column({caption: L("lcl_alg_locatie_mjb_score1"), content: "alg_locatie_mjb_score1", datatype: "number"}));
if (outputmode != 0)
{
@@ -279,11 +193,10 @@ function locatie_list(pautfunction, params)
rst.addAction({ action: "locatieEdit", caption: L("lcl_edit"), isDefault: true});
if (S("cnd_gebreken_srtdisc_key") > -1)
rst.addAction({ action: "aggregateCNDscores", caption: L("cnd_aggr_conditiescores"), multi: true, multiOnce: true});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single:!noref, multi: true, multiOnce: true});
if (!noref) {
rst.addAction({ action: "gotoDetails", caption: L("lcl_goto_gebouw_list")});
rst.addAction({ action: "gotoDetails2", caption: L("lcl_goto_terreinsector_list")});
rst.addAction({ action: "gotoParent", caption: L("lcl_goto_district_list")});
}
var cnt = rst.processResultset();

View File

@@ -12,11 +12,9 @@
<%
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
var ins_score_enabled = S("ins_score_enabled") == 1;
var district_key = getQParamInt("district_key", -1); //district
var locatie_key = getQParamInt("locatie_key", -1); //locatie
var autosearch = getQParamInt("autosearch", 0) == 1;
var cnt_full = getQParamInt("cnt_full", 0) == 1;
var authparams = alg.checkAutorisation();
%>
@@ -30,26 +28,23 @@ var authparams = alg.checkAutorisation();
doSubmitWithKenmerken();
}
function myModal(init)
function myModal()
{
var lvl = "L";
var key = 0;
var bld_key = "";
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" + bld_key + "&onrgoed_niveau=" + lvl;
var titel = "<%=L("lcl_properties")%>";
showKenmerkModal(url, titel, init)
showKenmerkModal(url, titel)
}
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
</script>
</head>
<body id="searchbody">
<div id="search">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<form name="u2" target="workFrame" action="alg_locatie_search_list.asp" method="get">
<% if (cnt_full) { %>
<input type="hidden" id="cnt_full" name="cnt_full" value="1">
<% } %>
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<tr>
<td class="searchkolom1">
<table><!-- x rijen, 2 kolommen: label + veld -->
@@ -58,78 +53,23 @@ var authparams = alg.checkAutorisation();
districtkey: district_key,
locatiekey: locatie_key,
startlevel: 1, // District
eindlevel: 2, // Locatie
eindlevel: 2, // locatie
whenEmpty: L("lcl_search_generic") // want filter
});
%>
<tr class="primsearch">
<td class="label"><label><%=L("lcl_estate_locatie_man_code")%>:</label></td>
<td><input type="text" class="wildcard" id="loc_code" name="loc_code" value=""></td>
</tr>
<tr class="primsearch">
<td class="label"><label><%=L("lcl_estate_locatie_man_descr")%>:</label></td>
<td><input type="text" class="wildcard" id="loc_descr" name="loc_descr" value=""></td>
</tr>
<!-- Vervallen objecten -->
<tr class="primsearch">
<td></td>
<td align=left>
<input type="checkbox" class="fldexpalgincl" name="expAlgIncl" id="expAlgIncl" value="1" >
<label for="expAlgIncl"><%=L("lcl_alg_locatie_vervallen_incl")%></label>
</td>
</tr>
</table>
</td><!-- end column 1 -->
<!-- Second column -->
<td class="searchkolom2">
<table><!-- x rijen, 2 kolommen: label + veld -->
<% if (ins_score_enabled)
{ // Conditiescore
%> <tr class="primsearch fldfitness_score" id="fitness_score">
<td>
<table width="100%">
<tr>
<td class="label">
<label for="show_fitness_score_from"><%=L("lcl_mjb_fitness_score")%>:</label>
</td>
<td style="text-align: right">
<%=L("lcl_mjb_from")%>
</td>
</tr>
</table>
</td>
<td class="score">
<input type="text"
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
id="fitness_score1_from"
name="fitness_score1_from"
class="fldflexN number "
value=""
maxlength="1">
&nbsp;<%=L("lcl_mjb_through")%>&nbsp;
<input type="text"
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
id="fitness_score1_through"
name="fitness_score1_through"
class="fldflexN number "
value=""
maxlength="1">
</td>
</tr>
<% } %>
</table>
</td><!-- end column 2 -->
</td><!-- end column 1 -->
</tr>
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch", importance: 1 },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced", importance: 3 } ];
CreateButtons(buttons, { entersubmit: true });
%>
</form>
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];
CreateButtons(buttons);
%>
</div> <!-- search -->
<div id="result">

View File

@@ -3,10 +3,10 @@
$Revision$
$Id$
File:
Description:
Parameters:
Context:
File:
Description:
Parameters:
Context:
Note:
*/ %>
@@ -25,25 +25,13 @@ var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijz
var reg_key = getQParamInt("regiokey", -1); // Regio
var dis_key = getQParamInt("districtkey", -1); // District
var loc_key = getQParamInt("locatiekey", -1); // Locatie
var loc_code = getQParam("loc_code", ""); // Locatiecode
var loc_descr = getQParam("loc_descr", ""); // Locatienaam
var cnt_full = getQParamInt("cnt_full", 0) == 1;
var expalgincl = getQParamInt("expalgincl", 0) == 1;
var fitness_score1_from = getQParamInt("fitness_score1_from", -1); // Conditie score van.
var fitness_score1_through = getQParamInt("fitness_score1_through", -1); // Conditie score t/m.
locatie_list ( "*",
{ outputmode: outputmode,
showall: showall,
cnt_full: cnt_full,
reg_key: (reg_key != -1? reg_key : null),
dis_key: (dis_key != -1? dis_key : null),
loc_key: (loc_key != -1? loc_key : null),
loc_code: loc_code,
loc_descr: loc_descr,
expalgincl: expalgincl,
fitness_score1_from : fitness_score1_from,
fitness_score1_through : fitness_score1_through,
noref: (noref != -1? noref : null)
}
);

View File

@@ -40,13 +40,17 @@ var reg_key = getQParamInt("key", -1);
if (!params.keepForm)
window.location.href = "alg_regio.asp?verynew=1&key=" + params.regio_key;
<% } else { /* Bestaande regio bewerkt, switch naar show-mode */ %>
if (params.close)
{
FcltMgr.closeDetail(window, { close: true})
}
if (!params.keepForm)
$("#algFrame")[0].src = "alg_show_regio.asp?regio_key=<%=reg_key%>";
<% } %>
}
</script>
</head>
<body>
<body id="editbody">
<% if (reg_key == -1)
var page="alg_edit_regio.asp"; // Maak een nieuw
else

View File

@@ -9,25 +9,24 @@
Note:
*/ %>
<!-- #include file="../shared/data_recordset.inc" -->
<!-- #include file="../Shared/disCxprs3d.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/getkenmerksql.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="../API2/model_regions.inc" -->
<!-- #include file="alg.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"] });
function fnrowData(oRs)
{
var detail_key = oRs.Fields("id").Value;
var key = oRs.Fields("id").Value;
var oms = oRs.Fields("name").Value;
var detail_key = oRs("alg_regio_key").value;
var key = oRs("alg_regio_key").value;
var oms = oRs("alg_regio_omschrijving").value;
var data = {detail_key: detail_key, key: key, oms: oms};
var data = {detail_key: detail_key, key: key, oms: oms};
return JSON.stringify(data);
return JSON.stringify(data);
}
%>
@@ -37,28 +36,27 @@ function fnrowData(oRs)
function gotoDetails(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_district_search.asp?regio_key=" + algData.detail_key + "&autosearch=" + autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_district")%>");
}
function districtEdit(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_regio.asp?mode=viewUpdate&key=" + algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_region")%>" + ' ' + algData.oms);
}
function doDelete(rowArray, isMulti)
{
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), { autoconfirm: isMulti }, function() {
var regKeyString = getKeyString(rowArray);
var data = { key: regKeyString,
level: "RE"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
});
var regKeyString = getKeyString(rowArray);
if (isMulti || confirm(L("lcl_alg_del_txt_regio")))
$.post("alg_delete.asp",
{ key: regKeyString,
level: "RE" },
FcltCallbackRefresh,
"json");
}
</script>
<%
@@ -72,13 +70,14 @@ function regio_list(pautfunction, params)
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
var showall = params.showall;
var reg_key = params.reg_key;
var showall = params.showall;
var reg_key = params.reg_key;
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteRegio(oRs.Fields("id").Value, authparams.mALGwritelevel))
if (alg.canWriteRegio(oRs("alg_regio_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
@@ -89,25 +88,34 @@ function regio_list(pautfunction, params)
</head>
<body id="listbody">
<%
// Ophalen regio`s
var regio_key = getQParamInt("regiokey");
var filter = {};
if (regio_key > -1)
var filter = {id: regio_key};
var params = { filter: filter }; // Alle regio`s ophalen, behalve de verwijderde.
var regio_array = model_regions.REST_GET(params); // Roep de API2 GET aan
//
var sqln = "SELECT r.alg_regio_key, "
+ " r.alg_regio_omschrijving "
+ " FROM alg_regio r "
+ " WHERE r.alg_regio_verwijder IS NULL ";
var addurl = "appl/alg/alg_regio.asp";
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
if (canAdd)
{
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
if (authparams.ALGreadlevel > -1)
{ // Er is een scope-beperking van kracht
sqln += " AND r.alg_regio_key IN "
+ "(SELECT alg_regio_key FROM fac_v_my_regions "
+ "WHERE prs_perslid_key="+user_key
+ " AND niveau=" + authparams.ALGreadlevel + ")";
}
var rst = new ResultsetTable({ dataset: regio_array,
keyColumn: "id",
if (reg_key)
{
sqln += " AND r.alg_regio_key = " + reg_key;
}
var addurl = "appl/alg/alg_regio.asp";
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
if (canAdd)
{
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
}
var rst = new ResultsetTable({sql:sqln,
keyColumn: "alg_regio_key",
ID: "algtable",
showAll: showall,
rowData: fnrowData,
@@ -115,10 +123,10 @@ function regio_list(pautfunction, params)
outputmode: outputmode,
filterParams: params,
buttons: addButton
});
});
rst.addColumn(new Column({caption: L("lcl_estate_regio_descr"), content: "name"}));
rst.addColumn(new Column({caption: L("lcl_estate_regio_descr"), content: "alg_regio_omschrijving"}));
rst.addAction({ action: "districtEdit", caption: L("lcl_edit"), isDefault: true});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", multi: true, multiOnce: true});

View File

@@ -23,7 +23,7 @@ var authparams = alg.checkAutorisation();
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript">
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
</script>
</head>
<body id="searchbody">
@@ -50,11 +50,11 @@ var authparams = alg.checkAutorisation();
</tr>
<% BLOCK_END(); %>
</form>
<%
var buttons = [{title: L("lcl_search"), action: "document.forms.u2.submit();", id: "bSearch" }];
CreateButtons(buttons, { entersubmit: true });
CreateButtons(buttons);
%>
</form>
</div> <!-- search -->
<div id="result">

View File

@@ -58,7 +58,7 @@ else
addString = (loc_key > 0? "&loc_key=" + loc_key : "")
+ (geb_key > 0? "&geb_key=" + geb_key : "")
+ (ver_key > 0? "&ver_key=" + ver_key : "")
+ (cad_ruimte_nr?"&cad_ruimte_nr="+safe.url(cad_ruimte_nr):"");
+ (cad_ruimte_nr?"&cad_ruimte_nr="+cad_ruimte_nr:"");
}
}
%>
@@ -84,6 +84,10 @@ else
if (!params.keepForm)
window.location.href = "alg_ruimte.asp?verynew=1&key=" + params.room_key;
<% } else { /* Bestaande ruimte bewerkt, switch naar show-mode */ %>
if (params.close)
{
FcltMgr.closeDetail(window, { close: true})
}
if (!params.keepForm)
$("#algFrame")[0].src = "alg_show_ruimte.asp?room_key=<%=room_key%>";
@@ -91,7 +95,7 @@ else
}
</script>
</head>
<body>
<body id="editbody">
<%
if (room_key == -1)
var page="alg_edit_ruimte.asp?room_key=" + room_key + addString; // Maak een nieuw
@@ -109,24 +113,6 @@ else
var page3 ="../prs/prs_afdeling_search_list.asp?tiny=1&room_key=" + room_key;// Alle afdelingen van alle niveau's (1 en hoger) laten zien dus afd_niveau=nr niet meegegeven
IFRAMER("wpFrame", page3, { initHeight: "450px" } );
var authparamsINSMAN = user.checkAutorisation("WEB_INSMAN", true);
var insman_read = authparamsINSMAN;
if (insman_read)
{
var page4="../INS/ins_list.asp?embedded=1&tiny=1&inacObjIncl=1&ruimtekey=" + room_key
IFRAMER("insdeel", page4, { initHeight: "450px" } );
}
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
var curole = "bo";
if (!authparamsCNTMAN && authparamsCNTUSE)
curole = "fe";
if (authparamsCNTMAN || authparamsCNTUSE)
{
var page5="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&room_key="+ room_key
IFRAMER("cntFrame", page5, { initHide: true } );
}
}
%>
</body>

View File

@@ -9,6 +9,7 @@
Note:
*/ %>
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/getkenmerksql.inc" -->
<!-- #include file="alg.inc" -->
@@ -21,24 +22,20 @@ function ruimte_list(pautfunction, params)
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
var addButton = [];
var authparams = alg.checkAutorisation();
// Met ALG* bepaal je wat je ziet (Read), met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
var canAdd = (authparams.rmALGwritelevel < 9);
var canAdd = (authparams.mALGwritelevel < 9);
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
var showall = params.showall;
var noref = params.noref;
var reg_key_arr = params.reg_key_arr;
var dis_key_arr = params.dis_key_arr;
var loc_key_arr = params.loc_key_arr;
var bld_key_arr = params.bld_key_arr;
var flr_key_arr = params.flr_key_arr;
var room_key_arr = params.room_key_arr;
var loc_key = params.loc_key;
var bld_key = params.bld_key;
var lvl_key = params.lvl_key;
var room_key = params.room_key;
var area_nr = params.area_nr;
var area_descr = params.area_descr;
var srtruimte_key = params.srtruimte_key
var dept_key_arr = params.dept_key_arr;
var chkgeb = params.chkgeb;
var area_use = params.area_use
%>
<html>
@@ -49,33 +46,25 @@ function ruimte_list(pautfunction, params)
function gotoDetails(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var url = "appl/alg/alg_werkplek_search.asp?ruimte_key="+algData.detail_key+"&autosearch="+autosearch;
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_werkplek_search.asp?ruimte_key="+algData.detail_key+"&autosearch="+autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_workspace")%>");
}
function gotoParent(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var url = "appl/alg/alg_verdieping_search.asp?verdieping_key="+algData.parent_key+"&autosearch="+autosearch;
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_verdieping_search.asp?verdieping_key="+algData.parent_key+"&autosearch="+autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_floor")%>");
}
function ruimteEdit(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var url = "appl/alg/alg_ruimte.asp?mode=viewUpdate&key="+algData.key;
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_ruimte.asp?mode=viewUpdate&key="+algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_room")%>" + ' ' + algData.oms);
}
function ruimteEditMulti(rowArray)
{
var algKeyString = getKeyString(rowArray);
var subject = L("lcl_alg_multi_edit");
var url = "../alg/alg_edit_ruimte_multi.asp?alg_level=R&alg_keys=" + algKeyString;
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh});
}
function doRuimteAfdeling(rowArray)
{
var ruimteArr = [];
@@ -86,27 +75,16 @@ function ruimte_list(pautfunction, params)
FcltMgr.openModalDetail("alg_ruimteafdeling.asp?ruimte_keys=" + ruimteArr.join(","), L("lcl_alg_ruimte_bezetting"));
}
function doRESScope(rowArray)
{
var ruimteArr = [];
for (var i = 0; i < rowArray.length; i++)
{
ruimteArr.push(rowArray[i].getAttribute("ROWKEY"))
}
FcltMgr.openModalDetail("alg_ruimteresscope.asp?ruimte_keys=" + ruimteArr.join(","), L("res_srtartikel_onrgoed"));
}
function doDelete(row, isMulti)
{
FcltMgr.confirm(L("lcl_alg_del_txt_ruimte"), { autoconfirm: isMulti }, function() {
$(row).addClass('dirty');
var room_key = row.getAttribute("ROWKEY");
var data = { key: room_key,
level: "R"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
});
$(row).addClass('dirty');
var room_key = row.getAttribute("ROWKEY");
if (isMulti || confirm(L("lcl_alg_del_txt_ruimte")))
$.post("alg_delete.asp",
{ key: room_key,
level: "R" },
FcltCallbackRefresh,
"json");
}
</script>
</head>
@@ -151,30 +129,26 @@ function ruimte_list(pautfunction, params)
sqln += getKenmerkSql("ALG", "r.alg_ruimte_key");
if (room_key_arr && room_key_arr.length)
if (room_key)
{
sqln += " AND r.alg_ruimte_key IN (" + room_key_arr.join(",") + ")";
sqln += " AND r.alg_ruimte_key = " + room_key;
}
else if (flr_key_arr && flr_key_arr.length)
else if (lvl_key)
{
sqln += " AND v.alg_verdieping_key IN (" + flr_key_arr.join(",") + ")";
sqln += " AND v.alg_verdieping_key = " + lvl_key;
}
else if (bld_key_arr && bld_key_arr.length)
else if (bld_key)
{
sqln += " AND v.alg_gebouw_key IN (" + bld_key_arr.join(",") + ")";
sqln += " AND v.alg_gebouw_key = " + bld_key;
}
else if (loc_key_arr && loc_key_arr.length)
else if (loc_key)
{
sqln += " AND g.alg_locatie_key IN (" + loc_key_arr.join(",") + ")";
sqln += " AND g.alg_locatie_key = " + loc_key;
}
else if (dis_key_arr && dis_key_arr.length)
sqln += " AND l.alg_district_key IN (" + dis_key_arr.join(",") + ")";
else if (reg_key_arr && reg_key_arr.length)
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key IN (" + reg_key_arr.join(",") + "))";
if (srtruimte_key)
if (area_use)
{
sqln += " AND r.alg_srtruimte_key = " + srtruimte_key;
sqln += " AND r.alg_srtruimte_key = " + area_use;
}
if (area_nr)
@@ -187,18 +161,6 @@ function ruimte_list(pautfunction, params)
sqln += " AND UPPER(r.alg_ruimte_omschrijving) LIKE " + safe.quoted_sql_wild("%" + area_descr + "%");
}
if (dept_key_arr && dept_key_arr.length)
{
sqln += " AND r.alg_ruimte_key in "
+ " (SELECT alg_ruimte_key "
+ " FROM prs_ruimteafdeling "
+ " WHERE prs_ruimteafdeling_verwijder IS NULL "
+ " AND prs_afdeling_key IN (" + dept_key_arr.join(",") + "))";
}
if (!chkgeb)
sqln += " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE)) ";
sqln += " ORDER BY l.alg_locatie_upper ASC"
+ ", g.alg_gebouw_upper ASC"
+ ", v.alg_verdieping_volgnr ASC"
@@ -206,10 +168,10 @@ function ruimte_list(pautfunction, params)
function fnrowData(oRs)
{
var parent_key = oRs("alg_verdieping_key").Value;
var detail_key = oRs("alg_ruimte_key").Value;
var key = oRs("alg_ruimte_key").Value;
var oms = oRs("alg_ruimte_omschrijving").Value;
var parent_key = oRs("alg_verdieping_key").value;
var detail_key = oRs("alg_ruimte_key").value;
var key = oRs("alg_ruimte_key").value;
var oms = oRs("alg_ruimte_omschrijving").value;
var data = {parent_key:parent_key, detail_key:detail_key, key:key, oms:oms};
return JSON.stringify(data);
@@ -219,26 +181,17 @@ function ruimte_list(pautfunction, params)
// Voor performance bekijken we de rechten per verdieping. In de praktijk nauwkeurig genoeg
function fnrowActionEnabler(oRs)
{
if (!floorCache[oRs("alg_verdieping_key").Value])
if (!floorCache[oRs("alg_verdieping_key").value])
{
eEditMulti = false; // TODO: write op ALGMAN
floorCache[oRs("alg_verdieping_key").Value] =
floorCache[oRs("alg_verdieping_key").value] =
{
eDelete: alg.canWriteVerdieping(oRs("alg_verdieping_key").Value, authparams.rmALGwritelevel),
eDelete: alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel),
// Bezetting moet per regel en is afhankelijk van WEB_PRSBOF (werkplekbeheer)
eBezetting: alg.func_enabled_ruimte(oRs("alg_verdieping_key").Value).canPRSBOFwrite,
eEditMulti: eEditMulti
eBezetting: alg.func_enabled_ruimte(oRs("alg_verdieping_key").value).canPRSBOFwrite
}
}
return (floorCache[oRs("alg_verdieping_key").Value]);
}
function fnrowFlexParams(oRs)
{
var this_alg = alg.func_enabled(oRs("alg_ruimte_key").Value, "R");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
return (floorCache[oRs("alg_verdieping_key").value]);
}
var addurl = "appl/alg/alg_ruimte.asp?a=1";
@@ -259,18 +212,16 @@ function ruimte_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_ruimte_key",
flexParams: fnrowFlexParams,
filterParams: params,
buttons: addButton
});
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_descr"), content: "alg_gebouw_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_verdieping_man_descr"), content: "alg_verdieping_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_nr"), content: "alg_ruimte_nr"}));
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_descr"), content: "alg_ruimte_omschrijving" }));
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_descr"), content: "alg_ruimte_omschrijving", hasActions: true}));
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_sort"), content: "alg_srtruimte_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_bruto_vloeropp"), content: "alg_ruimte_bruto_vloeropp", datatype: "float", decimals: 2 }));
@@ -293,11 +244,8 @@ function ruimte_list(pautfunction, params)
}
rst.addAction({ action: "ruimteEdit", caption: L("lcl_edit"), isDefault: true });
rst.addAction({ action: "ruimteEditMulti", caption: L("lcl_alg_multi_edit"), multi: true, multiOnce: true, single: false, enabler: "eEditMulti"});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), multi: true, single: !noref, enabler: "eDelete" });
rst.addAction({ action: "doRuimteAfdeling", caption: L("lcl_alg_bezetting"), multi: true, multiOnce: true, enabler: "eBezetting" });
if (user.has("WEB_RESMSU"))
rst.addAction({ action: "doRESScope", caption: L("res_srtartikel_onrgoed"), multi: true, single: false, multiOnce: true });
if (!noref)
{
if (S("prs_werkplek_implicit") == 0)

View File

@@ -9,7 +9,6 @@
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="alg.inc" -->
<!-- #include file="../Shared/afdelingselector.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
@@ -22,7 +21,6 @@ var ruimte_nr = getQParam("ruimte_nr", "");
var ruimte_use = getQParamInt("ruimte_use", -1); // Ruimtefunctie
var ruimte_descr = getQParam("ruimte_descr", "");
var autosearch = getQParamInt("autosearch", 0) == 1;
var chkgeb = getQParamInt("chkgeb", 0) == 1;
var authparams = alg.checkAutorisation();
%>
@@ -36,24 +34,23 @@ var authparams = alg.checkAutorisation();
doSubmitWithKenmerken();
}
function myModal(init)
function myModal()
{
var lvl = "R";
var key = 0;
var bld_key = "";
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" + bld_key + "&onrgoed_niveau=" + lvl;
var titel = "<%=L("lcl_properties")%>";
showKenmerkModal(url, titel, init)
showKenmerkModal(url, titel)
}
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
</script>
</head>
<body id="searchbody">
<div id="search">
<form name="u2" target="workFrame" action="alg_ruimte_search_list.asp" method="get">
<input type="hidden" id="chkgeb" name="chkgeb" value="<%=(chkgeb?1:0)%>">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<form name="u2" target="workFrame" action="alg_ruimte_search_list.asp" method="get">
<tr>
<td class="searchkolom1">
<table><!-- x rijen, 2 kolommen: label + veld -->
@@ -64,12 +61,11 @@ var authparams = alg.checkAutorisation();
gebouwkey: gebouw_key,
verdiepingkey: verdieping_key,
ruimtekey: ruimte_key,
multitoggle: 6, // true|false (=all) or till alg_level_# (0-6)
startlevel: 2, // locatie
eindlevel: 5, // ruimte
filtercode: "INCVR",
whenEmpty: L("lcl_search_generic") // want filter
});
%>
</table>
</td><!-- end column 1 -->
@@ -99,31 +95,16 @@ var authparams = alg.checkAutorisation();
emptyOption: ""
});
sql= "SELECT 1 FROM prs_ruimteafdeling WHERE prs_ruimteafdeling_verwijder is null AND ROWNUM = 1";
oRs = Oracle.Execute(sql);
var anyruimteafd = !oRs.eof;
oRs.close();
if (anyruimteafd)
{
FCLTafdelingselector("dept",
"dept",
{ label: L("lcl_prs_organisatie"),
autlevel: authparams.PRSreadlevel, // Was voorheen niet aanwezig
multitoggle: true,
whenEmpty: L("lcl_search_generic"),
filtercode: "AR"
});
}
%> </table>
</td><!-- end column 1 -->
</tr>
</form>
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch", importance: 1 },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced", importance: 3 } ];
CreateButtons(buttons, { entersubmit: true });
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];
CreateButtons(buttons);
%>
</form>
</div> <!-- search -->
<div id="result">

View File

@@ -22,33 +22,25 @@
var outputmode = getQParamInt("outputmode", 0) // 0 = screen, 1 = print, 2 = excel etc
var showall = getQParamInt("showall", 0) == 1;
var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijzingen)
var reg_key_arr = getQParamIntArray("regiokey", []); // Regio
var dis_key_arr = getQParamIntArray("districtkey", []); // District
var loc_key_arr = getQParamIntArray("locatiekey", []); // Locatie
var bld_key_arr = getQParamIntArray("gebouwkey", []); // Gebouw
var flr_key_arr = getQParamIntArray("verdiepingkey", []); // Verdieping
var room_key_arr = getQParamIntArray("ruimtekey", []); // Ruimte
var loc_key = getQParamInt("locatiekey", -1); // Locatie
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
var lvl_key = getQParamInt("verdiepingkey", -1); // Verdieping
var room_key = getQParamInt("ruimtekey", -1); // Ruimte
var area_nr = getQParam("nr", null); // Ruimte nr
var area_descr = getQParam("descr", null); // Ruimte omschrijving
var srtruimte_key = getQParamInt("srt", null); // Ruimtefunctie
var dept_key_arr = getQParamIntArray("dept", []); // Afdeling
var chkgeb = getQParamInt("chkgeb", 0) == 1; //Controleer tegen de vervallenstatus van het gebouw (vertrouw lvl_key/geb_key niet)
var area_use = getQParamInt("srt", null); // Ruimtefunctie
ruimte_list ( "*",
{ outputmode: outputmode,
showall: showall,
reg_key_arr: reg_key_arr,
dis_key_arr: dis_key_arr,
loc_key_arr: loc_key_arr,
bld_key_arr: bld_key_arr,
flr_key_arr: flr_key_arr,
room_key_arr: room_key_arr,
loc_key: (loc_key != -1? loc_key : null),
bld_key: (bld_key != -1? bld_key : null),
lvl_key: (lvl_key != -1? lvl_key : null),
room_key: (room_key != -1? room_key : null),
area_nr: (area_nr != -1? area_nr : null),
area_descr: (area_descr != ""? area_descr : null),
srtruimte_key: (srtruimte_key != -1? srtruimte_key : null),
dept_key_arr: dept_key_arr,
noref: (noref != -1? noref : null),
chkgeb: chkgeb
area_use: (area_use != -1? area_use : null),
noref: (noref != -1? noref : null)
}
);
%>

View File

@@ -20,7 +20,7 @@ k
<%
FCLTHeader.Requires({ plugins:["jQuery"],
js: ["./alg_ruimteafdeling.js" ]
js: ["./alg_ruimteafdeling.js", "num2curr.js"]
});
// TODO: Autorisatie controle "WEB_PRSBOF" op ruimte_keys
@@ -29,27 +29,14 @@ var ruimte_key_arr = getQParamIntArray("ruimte_keys");
var submitting = getQParamInt("submit", 0) == 1;
if (submitting)
{
protectRequest.validateToken();
FCLTHeader.Generate();
var nrRows = getFParamInt("nrRows", 0);
var afdeling_key = -1;
var bezetting = -1;
var bezettingen = new Array();
var afdeling_keys = new Array();
var afdeling_names = [];
function shorttxt(txt, len)
{
len = len || S("max_tracking_length");
if (txt.length < len)
return txt;
else
return txt.substr(0, len-4) + "...";
}
var afdeling_keys = [];
var bezetting_keys = [];
for (var i = 0; i < nrRows; i++)
{
afdeling_key = getFParamInt("afd" + i, 0);
@@ -58,47 +45,10 @@ if (submitting)
if (afdeling_key > 0 && bezetting >= 0)
{
afdeling_keys.push(afdeling_key);
bezettingen.push(bezetting);
bezetting_keys.push(bezetting);
}
}
if (afdeling_keys.length)
{
var sql = "SELECT prs_afdeling_key, prs_afdeling_omschrijving"
+ " FROM prs_afdeling a"
+ " WHERE prs_afdeling_key IN (" + afdeling_keys.join(",") + ")"
+ " AND prs_afdeling_verwijder IS NULL";
var oRs = Oracle.Execute(sql);
while (!oRs.Eof)
{
afdeling_names[oRs("prs_afdeling_key").value] = oRs("prs_afdeling_omschrijving").value;
oRs.MoveNext();
}
}
var oldvals = [];
var sql = "SELECT ra.alg_ruimte_key, ra.prs_afdeling_key, a.prs_afdeling_omschrijving, ra.prs_ruimteafdeling_bezetting"
+ " FROM prs_ruimteafdeling ra, prs_afdeling a"
+ " WHERE ra.alg_ruimte_key IN (" + ruimte_key_arr.join(",") + ")"
+ " AND ra.prs_afdeling_key = a.prs_afdeling_key"
+ " AND ra.prs_ruimteafdeling_verwijder IS NULL"
+ " AND a.prs_afdeling_verwijder IS NULL";
var oRs = Oracle.Execute(sql);
while (!oRs.Eof)
{
var tempTuple = { afd_key: oRs("prs_afdeling_key").value, bez: oRs("prs_ruimteafdeling_bezetting").value };
if (typeof oldvals[oRs("alg_ruimte_key").value] === 'undefined') // New ruimte
oldvals[oRs("alg_ruimte_key").value] = [tempTuple];
else
oldvals[oRs("alg_ruimte_key").value].push(tempTuple);
if (typeof afdeling_names[oRs("prs_afdeling_key").value] === 'undefined')
afdeling_names[oRs("prs_afdeling_key").value] = oRs("prs_afdeling_omschrijving").value;
oRs.MoveNext();
}
for (var j = 0; j < ruimte_key_arr.length; j++)
{ // Verwijderen
var sql = "DELETE prs_ruimteafdeling"
@@ -121,7 +71,7 @@ if (submitting)
if (!oRs.eof)
{ // Update
var sql = "UPDATE prs_ruimteafdeling SET"
+ " prs_ruimteafdeling_bezetting = " + bezettingen[i]
+ " prs_ruimteafdeling_bezetting = " + bezetting_keys[i]
+ " WHERE prs_ruimteafdeling_key = " + oRs("prs_ruimteafdeling_key").Value;
Oracle.Execute(sql);
}
@@ -131,60 +81,11 @@ if (submitting)
+ " (alg_ruimte_key, prs_afdeling_key, prs_ruimteafdeling_bezetting)"
+ " VALUES (" + ruimte_key_arr[j] + ","
+ afdeling_keys[i] + ","
+ bezettingen[i] + ")";
+ bezetting_keys[i] + ")";
Oracle.Execute(sql);
}
oRs.Close();
}
}
var trackingArr = new Object();
var fromLbl = "";
var toLbl = "";
var rowNr = -1;
var doneAfdeling = new Array();
for (var i = 0; i < ruimte_key_arr.length; i++)
{
if (typeof oldvals[ruimte_key_arr[i]] !== 'undefined')
for (var x = 0; x < oldvals[ruimte_key_arr[i]].length; x++)
{
fromLbl = shorttxt(afdeling_names[oldvals[ruimte_key_arr[i]][x].afd_key]) + " (" + oldvals[ruimte_key_arr[i]][x].bez + "%) ";
rowNr = sharedIndexOf(oldvals[ruimte_key_arr[i]][x].afd_key, afdeling_keys);
if (rowNr > -1) // Update
{
doneAfdeling[rowNr] = true;
if (oldvals[ruimte_key_arr[i]][x].bez == bezettingen[rowNr]) // No change
continue;
toLbl = " " + shorttxt(afdeling_names[afdeling_keys[rowNr]]) + " (" + bezettingen[rowNr] + "%)";
}
else // Delete
toLbl = " " + L("lcl_tracktoempty");
if (typeof trackingArr[ruimte_key_arr[i]] === 'undefined')
trackingArr[ruimte_key_arr[i]] = new Array();
trackingArr[ruimte_key_arr[i]].push(fromLbl + L("lcl_trackto") + toLbl);
}
for (var y = 0; y < afdeling_keys.length; y++)
{
if (doneAfdeling[y])
continue;
else if (typeof trackingArr[ruimte_key_arr[i]] === 'undefined')
trackingArr[ruimte_key_arr[i]] = new Array();
// Insert
fromLbl = L("lcl_trackfromempty") + " ";
toLbl = " " + shorttxt(afdeling_names[afdeling_keys[y]]) + " (" + bezettingen[y] + "%)";
trackingArr[ruimte_key_arr[i]].push(fromLbl + L("lcl_trackto") + toLbl);
}
}
for (var i = 0; i < ruimte_key_arr.length; i++)
{
if (typeof trackingArr[ruimte_key_arr[i]] !== 'undefined')
shared.trackaction("ALGRUP", ruimte_key_arr[i], L("lcl_alg_is_algrup") + "\n" + trackingArr[ruimte_key_arr[i]].join("\n"));
}
%>
<script type="text/javascript">
FcltMgr.closeDetail(window, { success: true });
@@ -282,11 +183,9 @@ else
</tr>
<% BLOCK_END();
/* deze Add is niet fraai zo, maar soi. Of: er is geen cancel ook */
var buttons = [ {title: L("lcl_add"), icon: "submit.png", action: "alg_add('"+ safe.displayfloat(tot_oppervlak, 2) +"')", importance: 1 },
{title: L("lcl_submit"), icon: "undo.png", action: "alg_submit()", importance: 1 } ];
var buttons = [ {title: L("lcl_add"), icon: "submit.png", action: "alg_add('"+ safe.displayfloat(tot_oppervlak, 2) +"')" },
{title: L("lcl_submit"), icon: "undo.png", action: "alg_submit()" } ];
CreateButtons(buttons);
IFACE.FORM_END();
%>
</form>
</div>

View File

@@ -39,7 +39,7 @@ function CreateRow(afd_key, afd_name, bezetting, oppervlak, bruto)
cell = tr.insertCell(-1);
cell.className = "result";
cell.align = "center";
cell.innerHTML = "<i class='fa fa-fw fa-times' OnClick='delRow(this)' style='cursor:pointer'></i>";
cell.innerHTML = "<img src='../Pictures/order_cancel.gif' OnClick='delRow(this)' style='cursor:pointer'>";
// innerHTML opent een htmlparser die overbodige spaties en line breaks verwijderd in IE, daarom met innerText oplossen
// Input velden moeten wel met innerHTML of outerHTML anders wordt het text
@@ -73,22 +73,18 @@ function CreateRow(afd_key, afd_name, bezetting, oppervlak, bruto)
function delRow(img)
{
// Verwijder de aangeklikte afdeling uit de lijst (de regel)
FcltMgr.confirm(L("lcl_alg_cancelDepartment"), function() {
var tr = $(img).closest("tr")[0];
if (tr.myData.afd_key != null) {
document.getElementById("afdbezettingtable").deleteRow(tr.rowIndex);
}
});
if (!confirm(L("lcl_alg_cancelDepartment")))
return;
var tr = $(img).closest("tr")[0];
if (tr.myData.afd_key != null)
{
document.getElementById("afdbezettingtable").deleteRow(tr.rowIndex);
}
}
function alg_submit()
{
if ($(document).has('span.bad').length)
{
FcltMgr.alert(L("lcl_shared_validator_invalid"));
return false;
}
var percValid = true;
var percValid = true;
var i=0;
while (percValid && (i<=rowIndex))
{
@@ -98,7 +94,7 @@ function alg_submit()
if (oppPerc > 100)
{
percValid = false;
FcltMgr.alert(L("lcl_alg_bezetting_ongeldig"));
alert(L("lcl_alg_bezetting_ongeldig"));
$("#bez"+i).select();
$("#bez"+i).focus();
}
@@ -116,9 +112,9 @@ function alg_add(oppervlak)
if ($("#afdeling_key").val() > 0)
{
var exist = false;
$("#afdbezettingtable tr").each(function(i, value)
$("tr[value]").each(function(i, value)
{
if (this.myData && $("#afdeling_key").val() == this.myData.afd_key)
if ($("#afdeling_key").val() == $(value)[0].myData.afd_key)
exist = true;
});
if (!exist)
@@ -133,41 +129,49 @@ function alg_add(oppervlak)
function changeOppervlak(prowIndex)
{
var $thisObj = $("#bezopp"+prowIndex);
var valid = isGoodNumber($thisObj.val(), false,false,8,2);
validateField($thisObj, valid, L("lcl_alg_bezetting_ongeldig"))
var bereken = true;
if (!isGoodNumber($("#bezopp"+prowIndex).val(), false,false,8,2))
{
bereken = false;
alert(L("lcl_alg_bezetting_ongeldig"));
$("#bezopp"+prowIndex).select();
$("#bezopp"+prowIndex).focus();
}
if (bereken && (!isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2)))
$("#totaalopp"+prowIndex).val($("#bezopp"+prowIndex).val());
if (valid)
{
if (!isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2))
$("#totaalopp"+prowIndex).val($thisObj.val());
var oppBezet = parseFloat($thisObj.val().replace(',', '.'));
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
if (oppBruto > 0)
{
var oppPercF = (oppBezet * 100) / oppBruto;
var oppPerc = num2currEditable(oppPercF);
$("#bez" + prowIndex).val(oppPerc);
}
}
if (bereken)
{
var oppBezet = parseFloat($("#bezopp" +prowIndex).val().replace(',', '.'));
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
if (oppBruto > 0)
{
var oppPercF = (oppBezet * 100) / oppBruto;
var oppPerc = num2currEditable(oppPercF);
$("#bez" + prowIndex).val(oppPerc);
}
}
}
function changeBezetting(prowIndex)
{
var $thisObj = $("#bez"+prowIndex);
var valid = isGoodNumber($thisObj.val(), false,false,8,2) &&
parseFloat($thisObj.val().replace(',', '.')) <= 100 &&
parseFloat($thisObj.val().replace(',', '.')) >= 0;
validateField($thisObj, valid, L("lcl_alg_bezetting_ongeldig"));
if (valid && !multiRuimte)
{
var oppPerc = parseFloat($thisObj.val().replace(',', '.'));
if (isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2))
{
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
var oppBezet = num2currEditable( ((oppPerc * oppBruto) / 100) );
$("#bezopp" + prowIndex).val(oppBezet);
}
if (!isGoodNumber($("#bez"+prowIndex).val(), false,false,8,2) || parseFloat($("#bez"+prowIndex).val().replace(',', '.')) > 100)
{
alert(L("lcl_alg_bezetting_ongeldig"));
$("#bez"+prowIndex).select();
$("#bez"+prowIndex).focus();
}
else
{
if (!multiRuimte)
{
var oppPerc = parseFloat($("#bez" +prowIndex).val().replace(',', '.'));
if (isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2))
{
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
var oppBezet = num2currEditable( ((oppPerc * oppBruto) / 100) );
$("#bezopp" + prowIndex).val(oppBezet);
}
}
}
}

View File

@@ -51,7 +51,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
</script>
</head>
<body class="modal" id="mod_ruimtefunctie">
<body id="editbody">
<%
var page="alg_edit_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key; // Edit
//if (srtruimte_lg_key == -1)
@@ -59,7 +59,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
//else
// var page="alg_show_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key ;
IFRAMER("algrfFrame", page, { title: L("lcl_prs_dienst_frame"),
IFRAMER("prsFrame", page, { title: L("lcl_prs_dienst_frame"),
initHeight: "450px",
FcltClose: "algClose" } );
%>

View File

@@ -6,18 +6,18 @@
File: alg_ruimtefunctie_delete.asp
Description: Verwijderen ruimtefunctie locatie/gebouw relatie
Parameters:
Parameters:
key Strin van ruimtefunctie locatie/gebouw keys (required)
Context: Vanuit show-schermen en of vanuit overzichten
Result: JSON object
Note:
*/
var JSON_Result = true;
DOCTYPE_Disable = 1;
%>
<!--#include file="../Shared/common.inc"-->
<!--#include file="../Shared/json2.js" -->
<%
protectRequest.validateToken();
var autfunction = "WEB_ALGMAN";

View File

@@ -9,6 +9,7 @@
Note:
*/ %>
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/getkenmerksql.inc" -->
<!-- #include file="alg.inc" -->
@@ -43,23 +44,22 @@ function ruimtefunctie_list(pautfunction, params)
function ruimtefunctie_edit(row)
{
var srtruimte_lg_key = row.getAttribute("ROWKEY");
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var subject = "<%=L("lcl_estate_ruimte_man_sort")%>" + ' ' + algData.oms;
var url = "alg_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key;
FcltMgr.openModalDetail(url, subject, { width: 650, callback: FcltMgr.reload });
FcltMgr.openModalDetail(url, subject, { width: 700, callback: FcltMgr.reload });
}
function ruimtefunctie_delete(row, isMulti)
{
FcltMgr.confirm(L("lcl_alg_del_txt_ruimtefunctie"), { autoconfirm: isMulti }, function() {
$(row).addClass('dirty');
var srtruimte_lg_key = row.getAttribute("ROWKEY");
var data = { key: srtruimte_lg_key
};
<% protectRequest.dataToken("data"); %>
$.post("alg_ruimtefunctie_delete.asp", data, FcltCallbackRefresh, "json");
});
$(row).addClass('dirty');
var srtruimte_lg_key = row.getAttribute("ROWKEY");
if (isMulti || confirm(L("lcl_alg_del_txt_ruimtefunctie")))
$.post("alg_ruimtefunctie_delete.asp",
{ key: srtruimte_lg_key },
FcltCallbackRefresh,
"json");
}
</script>
</head>

View File

@@ -1,72 +0,0 @@
<%@language = "javascript"%>
<% /*
$Revision$
$Id$
File: alg_ruimteresscope.asp
Description: Laat een ruimtes x res_catalogus kiezen bulk kiezen
Parameters: ruimte_keys: komma separated lijst met alg_ruimte_keys
Context:
Note:
k
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="alg.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"]
});
user.checkAutorisation('WEB_RESMSU');
var ruimte_key_arr = getQParamIntArray("ruimte_keys");
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<script>
function alg_submit(scopemode)
{
if ($('select#objcatmulti option:selected').length == 0)
return;
FcltMgr.confirm(L(scopemode == "A" ? "lcl_add" : "lcl_delete") + "\n" + L("lcl_R_U_sure"), function() {
$('input#scopemode').val(scopemode);
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackClose, "json");;
});
}
</script>
</head>
<body class="modal" id="mod_ruimteresscope">
<form name="u2" method="post" action="alg_ruimteresscope_save.asp?ruimte_keys=<%=ruimte_key_arr.join(",")%>">
<input type='hidden' name='scopemode' id='scopemode'>
<% BLOCK_START("alg_ruimteresscope", L("lcl_alg_geselecteerde_ruimten") + ": " + ruimte_key_arr.length);
var sql = "SELECT rd.ins_discipline_key"
+ ", "+ lcl.xsql('rd.ins_discipline_omschrijving','rd.ins_discipline_key') +" omschrijving"
+ " FROM res_v_aanwezigdiscipline rd"
+ " WHERE rd.ins_discipline_min_level = 2"
+ " ORDER BY ins_discipline_volgnr, 2";
FCLTselector("objcatmulti",
sql,
{
label: L("lcl_res_objcat"),
size: 10,
multi: true,
startmulti: true
});
BLOCK_END();
var buttons = [ {title: L("lcl_add"), action: "alg_submit('A')", importance: 1 },
{title: L("lcl_delete"), action: "alg_submit('D')", importance: 1 },
{title: L("lcl_cancel"), action: "gen_cancel()", importance: 3} ];
CreateButtons(buttons);
IFACE.FORM_END();
%>
</form>
</body>
</html>

View File

@@ -1,58 +0,0 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
SUBMIT-form
*/ %>
<%
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../API2/api2.inc" -->
<%
protectRequest.validateToken();
user.checkAutorisation('WEB_RESMSU');
var ruimte_key_arr = getQParamIntArray("ruimte_keys");
var scope_key_arr = getFParamIntArray("objcatmulti");
var scopemode = getFParamSafe("scopemode"); // A=Add, D=Delete
var toaster;
if (scopemode == 'A')
{
var sql = "INSERT INTO res_srtartikel_onrgoed"
+ " (alg_onrgoed_niveau, alg_onrgoed_key, res_discipline_key)"
+ " SELECT 'R', alg_ruimte_key, ins_discipline_key"
+ " FROM alg_ruimte,"
+ " res_discipline"
+ " WHERE alg_ruimte_key IN ({0})".format(ruimte_key_arr.join(", "))
+ " AND ins_discipline_key IN ({0})".format(scope_key_arr.join(", "))
+ " AND NOT EXISTS ("
+ " SELECT 1 FROM res_srtartikel_onrgoed"
+ " WHERE res_srtartikel_og_verwijder IS NULL"
+ " AND alg_onrgoed_niveau = 'R'"
+ " AND alg_onrgoed_key = alg_ruimte_key"
+ " AND res_discipline_key = ins_discipline_key"
+ " )";
Oracle.Execute(sql);
//var toaster = L("lcl_scf_is_added").format(L("res_srtartikel_onrgoed_m"));
}
else if (scopemode == 'D')
{
var sql = "UPDATE res_srtartikel_onrgoed"
+ " SET res_srtartikel_og_verwijder = SYSDATE"
+ " WHERE res_srtartikel_og_verwijder IS NULL"
+ " AND alg_onrgoed_niveau = 'R'"
+ " AND alg_onrgoed_key IN ({0})".format(ruimte_key_arr.join(", "))
+ " AND res_discipline_key IN ({0})".format(scope_key_arr.join(", "));
Oracle.Execute(sql);
var toaster = L("lcl_scf_is_deleted").format(L("res_srtartikel_onrgoed_m"));
}
var result = { toaster: toaster,
success: true };
Response.Write(JSON.stringify(result));
%>

View File

@@ -49,8 +49,8 @@ var authparams = alg.checkAutorisation();
</head>
<body id="searchbody">
<div id="search">
<form name="u2" id="algform" target="workFrame" action="dynamischbepaald" method="get" onsubmit="return false;">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<form name="u2" id="algform" target="workFrame" action="dynamischbepaald" method="get">
<tr>
<td class="searchkolom1">
<table>
@@ -68,9 +68,10 @@ var authparams = alg.checkAutorisation();
%>
</table>
</td><!-- end column 1 -->
<td class="searchkolom2"><input type="hidden" name="noref" value="1"><input type="hidden" name="chkgeb" value="1">
</td><!-- end column 1 -->
<td class="searchkolom2"><input type="hidden" name="noref" value="1">
</td><!-- end column 1 -->
</tr>
</form>
<% BLOCK_END();
var buttons = [
@@ -80,10 +81,8 @@ var authparams = alg.checkAutorisation();
{title: L("lcl_menu_alg_ruimte"), action: "doSubmit('R')"},
{title: L("lcl_menu_alg_terreinsector"), action: "doSubmit('T')"}
];
CreateButtons(buttons, { entersubmit: true });
%>
</form>
</div> <!-- search -->
CreateButtons(buttons);
%></div> <!-- search -->
<div id="result">
<iframe width="100%" height="100%"

View File

@@ -47,17 +47,12 @@ oRs.Close();
}
function dis_delete()
{
FcltMgr.confirm(L("lcl_alg_del_txt_district"), function() {
var data = {
key: <%=dis_key%>,
level: "D"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp",
data,
FcltCallbackClose,
"json");
});
if (confirm(L("lcl_alg_del_txt_district")))
$.post("alg_delete.asp",
{ key: <%=dis_key%>,
level: "D" },
FcltCallbackClose,
"json");
}
</script>
</head>
@@ -81,7 +76,7 @@ oRs.Close();
}
%>
<form name=u2 onSubmit="return false;">
<% BLOCK_START("algInfo", "&nbsp;");
<% BLOCK_START("algInfo", "");
FCLTplaatsselector(-1,
{ regiokey: reg_key,
districtkey: dis_key,

View File

@@ -16,8 +16,6 @@
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="alg_flexkenmerk.inc" -->
<!-- #include file="alg.inc" -->
@@ -25,7 +23,6 @@
FCLTHeader.Requires({ plugins:["jQuery"],
js: [] })
var ins_score_enabled = S("ins_score_enabled") == 1;
var bld_key = getQParamInt("bld_key");
var onrgoedlvl = "G";
var this_alg = alg.func_enabled(bld_key, onrgoedlvl);
@@ -35,38 +32,29 @@ var sql = " SELECT * "
+ " FROM alg_gebouw "
+ " WHERE alg_gebouw_key = " + bld_key;
var oRs = Oracle.Execute(sql);
var bld_srtkey = oRs("alg_srtgebouw_key").Value;
var bld_naam = oRs("alg_gebouw_naam").Value;
var bld_code = oRs("alg_gebouw_code").Value;
var bld_descr = oRs("alg_gebouw_omschrijving").Value;
var bld_maak = oRs("alg_gebouw_aanmaak").Value;
var bld_email = oRs("alg_gebouw_email").Value;
var bld_teken = oRs("alg_gebouw_getekend").Value;
var bld_opp = oRs("alg_gebouw_bruto_vloeropp").Value;
var bld_omtrek = oRs("alg_gebouw_omtrek").Value;
var bld_inhoud = oRs("alg_gebouw_inhoud").Value;
var bld_opmerk = oRs("alg_gebouw_opmerking").Value;
var mld_adres = oRs("mld_adres_key").Value;
var prs_kstpl = oRs("prs_kostenplaats_key").Value;
var bld_ordrnr = oRs("alg_gebouw_ordernr").Value;
var bld_dwgx = oRs("alg_gebouw_dwgx").Value;
var bld_dwgy = oRs("alg_gebouw_dwgy").Value;
var bld_x = oRs("alg_gebouw_x").Value;
var bld_y = oRs("alg_gebouw_y").Value;
var bld_bez = oRs("alg_gebouw_bez").Value;
var bld_deleted = oRs("alg_gebouw_verwijder").Value != null;
var bld_groep = oRs("alg_gebouw_groep").Value;
var dienstniveau_key = oRs("mld_dienstniveau_key").Value;
var beginuur = oRs("alg_gebouw_beginuur").Value;
var einduur = oRs("alg_gebouw_einduur").Value;
var werkdagen = oRs("alg_gebouw_werkdagen").Value;
var toon_telefoon = oRs("alg_gebouw_toon_telefoon").Value;
var toon_email = oRs("alg_gebouw_toon_email").Value;
var toon_kenteken = oRs("alg_gebouw_toon_kenteken").Value;
var verantw = oRs("prs_perslid_key_verantw").Value;
var verantw2 = oRs("prs_perslid_key_verantw2").Value;
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value;
var geb_score1 = oRs("alg_gebouw_mjb_score1").value;
var bld_srtkey = oRs("alg_srtgebouw_key").value;
var bld_naam = oRs("alg_gebouw_naam").value;
var bld_code = oRs("alg_gebouw_code").value;
var bld_descr = oRs("alg_gebouw_omschrijving").value;
var bld_maak = oRs("alg_gebouw_aanmaak").value;
var bld_teken = oRs("alg_gebouw_getekend").value;
var bld_opp = oRs("alg_gebouw_bruto_vloeropp").value;
var bld_omtrek = oRs("alg_gebouw_omtrek").value;
var bld_inhoud = oRs("alg_gebouw_inhoud").value;
var bld_opmerk = oRs("alg_gebouw_opmerking").value;
var mld_adres = oRs("mld_adres_key").value;
var prs_kstpl = oRs("prs_kostenplaats_key").value;
var bld_ordrnr = oRs("alg_gebouw_ordernr").value;
var bld_dwgx = oRs("alg_gebouw_dwgx").value;
var bld_dwgy = oRs("alg_gebouw_dwgy").value;
var bld_x = oRs("alg_gebouw_x").value;
var bld_y = oRs("alg_gebouw_y").value;
var bld_bez = oRs("alg_gebouw_bez").value;
var bld_deleted = oRs("alg_gebouw_verwijder").value != null;
var dienstniveau = oRs("mld_dienstniveau_key").value;
var beginuur = oRs("alg_gebouw_beginuur").value;
var einduur = oRs("alg_gebouw_einduur").value;
var werkdagen = oRs("alg_gebouw_werkdagen").value;
oRs.Close();
%>
@@ -81,37 +69,20 @@ oRs.Close();
}
function bld_delete()
{
FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), function() {
var data = {
key: <%=bld_key%>,
level: "G"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp",
data,
FcltCallbackClose,
"json");
});
if (confirm(L("lcl_alg_del_txt_gebouw")))
{
$.post("alg_delete.asp",
{ key: <%=bld_key%>,
level: "G" },
FcltCallbackClose,
"json");
}
}
<% if (S("alg_fg_remote_maps") != "" && bld_x && bld_y) { %>
function openMaps(bldKey)
{
FcltMgr.windowopen('../cad/ShowGoogleMap.asp?bld_key=' + bldKey, 'FGShow',
"width=800, height=600, directories=no, location=no, menubar=no,"
+ "resizable=yes, status=no, titlebar=yes, toolbar=no");
return;
}
<% } %>
</script>
</head>
<body id="showbody">
<% var buttons = [];
if (S("alg_fg_remote_maps") != "" && bld_x && bld_y) {
buttons.push({title: L("lcl_maps"), action:"openMaps("+bld_key+")", icon: "map.png" });
}
if (!bld_deleted)
{
if (this_alg.writeman || this_alg.writeuse)
@@ -130,166 +101,87 @@ oRs.Close();
%>
<div id="show">
<form name=u2 onSubmit="return false;">
<% BLOCK_START("algLoc1", L("lcl_alg_gebouw_algemeen"));
<% BLOCK_START("algLoc1", "");
FCLTplaatsselector(-1,
{ gebouwkey: bld_key,
startlevel: 2, //Locatie
eindlevel: 3, // Gebouw
moreinfo: true, // wel beetje suf om door te linken naar jezelf
readonly: true
});
params = { infoPointer: { Url: "appl/shared/status_info.asp?bld_key=" + bld_key,
Title: L("lcl_status_details") + " " + bld_naam
}
}
ROFIELDTR("fld", L("lcl_estate_gebouw_man_code"), bld_code, params);
sql = "SELECT alg_srtgebouw_key"
+ " , " + lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
+ " FROM alg_srtgebouw"
+ " WHERE alg_srtgebouw_verwijder IS NULL"
+ " ORDER BY alg_srtgebouw_upper"
FCLTselector("bld_srtkey",
sql,
readonly: true });
sql = "SELECT alg_srtgebouw_key, "
+ " "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
+ " FROM alg_srtgebouw "
+ " WHERE alg_srtgebouw_verwijder IS NULL "
+ "ORDER BY alg_srtgebouw_upper "
FCLTselector("bld_srtkey", sql,
{ label: L("lcl_estate_gebouw_srtgebouw"),
initKey: bld_srtkey,
emptyOption: "",
suppressEmpty: true,
readonly: true
});
readonly: true });
ROFIELDTR("fld", L("lcl_estate_gebouw_man_code"), bld_code, {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_opmerk"), bld_opmerk, {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_estate_gebouw_groepkenmerk"), bld_groep, {suppressEmpty:true});
sql = "SELECT prs_kostenplaats_key, "
+ " k.prs_kostenplaats_nr || ' ' || k.prs_kostenplaats_omschrijving "
+ " FROM prs_kostenplaats k "
+ " WHERE k.prs_kostenplaats_module = 'ALG' "
+ "ORDER BY prs_kostenplaats_upper ";
FCLTselector("prs_kstpl", sql,
{ label: L("lcl_prs_dept_kosten"),
initKey: prs_kstpl,
emptyOption: "",
readonly: true });
ROFIELDTR("fld", L("lcl_estate_gebouw_ordernr"), bld_ordrnr, {suppressEmpty:true});
if (dienstniveau)
{
sql = "SELECT mld_dienstniveau_key, "
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
+ " FROM mld_dienstniveau "
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
oRs = Oracle.Execute(sql);
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
oRs.Close();
}
BLOCK_END();
sql = "SELECT prs_kostenplaats_key"
+ " , k.prs_kostenplaats_nr || ' ' || k.prs_kostenplaats_omschrijving"
+ " FROM prs_kostenplaats k"
+ " WHERE k.prs_kostenplaats_module = 'ALG'"
+ " ORDER BY prs_kostenplaats_upper";
var fldcls = "fld";
if (vervaldatum <= new Date())
fldcls += " expired2";
ROFIELDTR(fldcls, L("lcl_alg_vervaldatum"), toDateString(vervaldatum), {suppressEmpty: true});
BLOCK_END();
BLOCK_START("algLoc2", L("lcl_alg_gebouw_fysiek"));
var calcopp = alg.calc_algm2(bld_key, onrgoedlvl);
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {suppressEmpty: true, datatype: "float"});
BLOCK_START("algLoc2", "");
ROFIELDTR("fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {suppressEmpty:true});
sql ="SELECT mld_adres_key, "
+ " mld_adres_naam "
+ " FROM mld_v_afleveradres "
+ "ORDER BY mld_adres_naam ";
FCLTselector("del_address", sql,
{ label: L("lcl_delivery_address"),
initKey: mld_adres,
emptyOption: "",
readonly: true
}
);
ROFIELDTR("fld", L("lcl_geoxcoord"), bld_x, {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_geoycoord"), bld_y, {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_alg_gebouw_mjb_score1"), geb_score1, {suppressEmpty: true});
BLOCK_END();
ROCHECKBOXTR("fldalgbez", L("lcl_estate_gebouw_bez"), bld_bez==1);
// suppressempty explicits
if (!(prs_kstpl==null && bld_ordrnr == null && verantw==null && verantw2 == null && bld_email ==null))
{
BLOCK_START("algLoc3", L("lcl_alg_gebouw_administr"));
FCLTselector("prs_kstpl",
sql,
{ label: L("lcl_prs_dept_kosten"),
initKey: prs_kstpl,
emptyOption: "",
suppressEmpty: true,
readonly: true
});
ROFIELDTR("fld", L("lcl_estate_gebouw_ordernr"), bld_ordrnr, {suppressEmpty:true});
FCLTpersoonselector("verantw",
"sgVerantw",
{ perslidKey: verantw,
label: L("lcl_alg_verantw"),
readonly: true,
suppressEmpty: true,
moreinfo: this_alg.readman
});
FCLTpersoonselector("verantw2",
"sgVerantw2",
{ perslidKey: verantw2,
label: L("lcl_alg_verantw2"),
readonly: true,
suppressEmpty: true,
moreinfo: this_alg.readman
});
if (beginuur >= 0 && einduur > 0)
{
var dd = new Date();
var hh = Math.floor(beginuur);
var mm = (beginuur*60) % 60;
dd.setHours(hh,mm,0,0);
ROFIELDTR("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(dd), {suppressEmpty:true});
var hh = Math.floor(einduur);
var mm = (beginuur*60) % 60;
dd.setHours(hh,mm,0,0);
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), toTimeString(dd), {suppressEmpty:true});
}
ROCHECKBOXTR("fldalgwerk", L("lcl_estate_gebouw_werkdagen"), werkdagen==1);
ROFIELDTR("fld", L("lcl_alg_gebouw_email"), bld_email, { suppressEmpty: true, type: "email" });
BLOCK_END();
}
if (!(dienstniveau_key == null && mld_adres == null && beginuur == null && einduur == null && werkdagen == 0))
{
BLOCK_START("algLoc4", L("lcl_alg_gebouw_facilitair"));
if (dienstniveau_key)
{
sql = "SELECT mld_dienstniveau_key"
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
+ " FROM mld_dienstniveau"
+ " WHERE mld_dienstniveau_key = " + dienstniveau_key;
oRs = Oracle.Execute(sql);
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
oRs.Close();
}
sql = "SELECT mld_adres_naam"
+ " FROM mld_adres"
+ " WHERE mld_adres_key = " + mld_adres;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
ROFIELDTR("fld", L("lcl_delivery_address"), oRs("mld_adres_naam").value, {suppressEmpty: true});
}
oRs.Close();
ROFIELDTR("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(beginuur), {suppressEmpty:true} );
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), toTimeString(einduur), {suppressEmpty:true} );
ROCHECKBOXTR("fldalgwerk", L("lcl_estate_gebouw_werkdagen"), werkdagen==1);
BLOCK_END();
}
if (user.checkAutorisation("WEB_BEZMGT", true) && bld_bez==1)
{
BLOCK_START("algLoc5", L("lcl_alg_gebouw_bezoek"));
ROCHECKBOXTR("fldalgbez", L("lcl_estate_gebouw_bez"), bld_bez==1);
var sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toontelfLOV"));
FCLTselector("toon_telefoon",
sql,
{ label: L("lcl_estate_gebouw_toon_telefoon"),
initKey: toon_telefoon,
readonly: true,
suppressEmpty: true,
extraclass: "notmulti"
});
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonmailLOV"));
FCLTselector("toon_email",
sql,
{ label: L("lcl_estate_gebouw_toon_email"),
initKey: toon_email,
readonly: true,
suppressEmpty: true,
extraclass: "notmulti"
});
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonkentLOV"));
FCLTselector("toon_kenteken",
sql,
{ label: L("lcl_estate_gebouw_toon_kenteken"),
initKey: toon_kenteken,
readonly: true,
suppressEmpty: true,
extraclass: "notmulti"
});
BLOCK_END();
}
generateFlexKenmerkBlock ({ onrgoed_key : bld_key,
onrgoed_niveau : onrgoedlvl,
reado : true,
flexcolumns : S("alg_flexcolumns"),
this_alg : this_alg
});
generateFlexKenmerkBlock ({ onrgoed_key : bld_key,
onrgoed_niveau : onrgoedlvl,
reado : true,
flexcolumns : S("alg_flexcolumns"),
this_alg : this_alg });
%>
</form>
</div>

View File

@@ -21,7 +21,6 @@
<%
FCLTHeader.Requires({plugins:["jQuery"], js: []})
var ins_score_enabled = S("ins_score_enabled") == 1;
var loc_key = getQParamInt("loc_key");
var onrgoedlvl = "L";
var this_alg = alg.func_enabled(loc_key, onrgoedlvl);
@@ -41,30 +40,27 @@ var loc_vwtel = oRs("alg_locatie_verantw_tel").value;
var loc_x = oRs("alg_locatie_x").value;
var loc_y = oRs("alg_locatie_y").value;
var loc_mail = oRs("alg_locatie_email").value;
var loc_score1 = oRs("alg_locatie_mjb_score1").value;
var pst_adres = oRs("alg_locatie_post_adres").value;
var pst_postc = oRs("alg_locatie_post_postcode").value;
var pst_adres = oRs("alg_locatie_post_adres").value;
var pst_plaats = oRs("alg_locatie_post_plaats").value;
var pst_land = oRs("alg_locatie_post_land").value;
var loc_deleted = oRs("alg_locatie_verwijder").value != null;
var vervaldatum = oRs("alg_locatie_vervaldatum").Value;
var dienstniveau_key = oRs("mld_dienstniveau_key").value;
var dienstniveau = oRs("mld_dienstniveau_key").value;
oRs.Close();
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript" >
$(function()
{
$('textarea').resize(function () { FcltMgr.resized(window) } );
$('textarea').autogrow();
jQuery(document).ready(function() {
$('textarea').resize(function () { FcltMgr.resized(window) } );
$('textarea').autogrow();
});
function alg_showphotos()
{
FcltMgr.openDetail("appl/shared/show_foto.asp?urole=bo&loc_key=<%=loc_key%>", "<%=L("lcl_photos")%>");
FcltMgr.openDetail("appl/shared/show_foto.asp?urole=bo&root_path=<%=custpath%>/location_images/&loc_key=<%=loc_key%>", "<%=L("lcl_photos")%>");
}
function loc_change()
@@ -75,41 +71,24 @@ oRs.Close();
function loc_delete()
{
FcltMgr.confirm(L("lcl_alg_del_txt_locatie"), function() {
var data = {
key: <%=loc_key%>,
level: "L"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp",
data,
FcltCallbackClose,
"json");
});
if (confirm(L("lcl_alg_del_txt_locatie")))
{
$.post("alg_delete.asp",
{ key: <%=loc_key%>,
level: "L" },
FcltCallbackClose,
"json");
}
}
<% if (S("alg_fg_remote_maps") != "" && loc_x && loc_y) { %>
function openMaps(locKey)
{
FcltMgr.windowopen('../cad/ShowGoogleMap.asp?loc_key=' + locKey, 'FGShow',
"width=800, height=600, directories=no, location=no, menubar=no,"
+ "resizable=yes, status=no, titlebar=yes, toolbar=no");
return;
}
<% } %>
</script>
</head>
<body id="showbody">
<% var buttons = [];
buttons.push({title: L("lcl_photos"), icon: "camera.png", action: "alg_showphotos()"});
if (S("alg_fg_remote_maps") != "" && loc_x && loc_y) {
buttons.push({title: L("lcl_maps"), action:"openMaps("+loc_key+")", icon: "map.png" });
}
if (!loc_deleted)
{
if (this_alg.writeman || this_alg.writeuse)
if (this_alg.writeman || this_alg.writeman)
buttons.push({title: L("lcl_change"), action: "loc_change()", icon: "wijzigen.png"});
if (this_alg.writeman) // ALGMAN nodig
buttons.push({title: L("lcl_delete"), action: "loc_delete()", icon: "delete.png"});
@@ -124,7 +103,7 @@ oRs.Close();
}
%>
<form name=u2 onSubmit="return false;">
<% BLOCK_START("algLoc1", "&nbsp;");
<% BLOCK_START("algLoc1", "");
FCLTplaatsselector(-1,
{ locatiekey: loc_key,
startlevel: 1, //District
@@ -136,12 +115,12 @@ oRs.Close();
ROFIELDTR("fld", L("lcl_prs_address_bezoek_postcode"), bez_postc, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_prs_address_bezoek_plaats"), bez_plaats, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_prs_address_bezoek_land"), bez_land, {suppressEmpty: true});
if (dienstniveau_key)
if (dienstniveau)
{
sql = "SELECT mld_dienstniveau_key, "
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
+ " FROM mld_dienstniveau "
+ " WHERE mld_dienstniveau_key = " + dienstniveau_key;
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
oRs = Oracle.Execute(sql);
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
oRs.Close();
@@ -150,21 +129,15 @@ oRs.Close();
ROFIELDTR("fld", L("lcl_geoycoord"), loc_y, {suppressEmpty: true});
BLOCK_END();
BLOCK_START("algLoc2", "&nbsp;");
BLOCK_START("algLoc2", "");
var fldcls = "fld";
if (vervaldatum <= new Date())
fldcls += " expired2";
ROFIELDTR(fldcls, L("lcl_alg_vervaldatum"), toDateString(vervaldatum), {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_prs_address_post_adres"), pst_adres, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_prs_address_post_postcode"), pst_postc, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_prs_address_post_plaats"), pst_plaats, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_prs_address_post_land"), pst_land, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_locatie_man_verantw"), loc_vw, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_locatie_man_verantw_tel"), loc_vwtel, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_noti_email"), loc_mail, { suppressEmpty: true, type: "email" });
if (ins_score_enabled)
ROFIELDTR("fld", L("lcl_alg_locatie_mjb_score1"), loc_score1, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_noti_email"), loc_mail, {suppressEmpty: true});
BLOCK_END();

View File

@@ -18,23 +18,22 @@
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="alg_flexkenmerk.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="../API2/model_regions.inc" -->
<!-- #include file="alg.inc" -->
<%
FCLTHeader.Requires({plugins:["jQuery"], js: []})
var regio_key = getQParamInt("regio_key");
var onrgoedlvl = "RG";
var this_alg = alg.func_enabled(regio_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
var regio_params = { filter: { id: regio_key
, show_deleted: true // Ook indien verwijderd ophalen.
}};
var regio_array = model_regions.REST_GET(regio_params); // Roep de API2 GET aan
var regio_data = (regio_array[0] ? regio_array[0] : {id: -1}); // GET kan meerdere records opleveren, maar we verwachten hier maar 1.
var this_alg = regio_params.func_enabled; // regio_params bevat nu ook waarden die in API2 zijn bepaald.
var regio_exists = (regio_array.length ? true : false);
var regio_deleted = regio_exists && !!regio_data.deleted;
var sql = "SELECT *"
+ " FROM alg_regio"
+ " WHERE alg_regio_key = " + regio_key;
var oRs = Oracle.Execute(sql);
var reg_deleted = oRs("alg_regio_verwijder").value != null;
oRs.Close();
%>
<html>
@@ -44,30 +43,28 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
function reg_change()
{
if (FcltMgr.startEdit(window))
window.location.href = "alg_edit_regio.asp?regio_key=<%=regio_data.id%>&embedded=1"
window.location.href = "alg_edit_regio.asp?regio_key=<%=regio_key%>&embedded=1"
}
function reg_delete()
{
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), function() {
var data = {
action: "D"
};
<% protectRequest.dataToken("data"); %>
$.post($("form[name=u2]")[0].action,
data,
FcltCallbackClose,
"json");
});
if (confirm(L("lcl_alg_del_txt_regio")))
{
$.post("alg_delete.asp",
{ key: <%=regio_key%>,
level: "RE" },
FcltCallbackClose,
"json");
}
}
</script>
</head>
<body id="showbody">
<% var buttons = [];
if (!regio_deleted)
if (!reg_deleted)
{
if (this_alg.writeman || this_alg.writeuse)
if (this_alg.writeman || this_alg.writeman)
buttons.push({title: L("lcl_change"), action:"reg_change()", icon: "wijzigen.png" });
if (this_alg.writeman) // ALGMAN nodig
buttons.push({title: L("lcl_delete"), action:"reg_delete()", icon: "delete.png" });
@@ -76,17 +73,15 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
IFRAMER_HEADER(L("lcl_alg_regio_frame"), buttons);
%>
<div id="show">
<% if (regio_deleted)
<% if (reg_deleted == 1)
{
%> <div class="alg_deleted"><%=L("lcl_record_is_deleted")%></div><%
}
%>
<form name=u2
action="alg_edit_regio_save.asp?regio_key=<%=regio_data.id%>"
onSubmit="return false">
<% BLOCK_START("algInfo", "&nbsp;");
<form name=u2 onSubmit="return false;">
<% BLOCK_START("algInfo", "");
FCLTplaatsselector(-1,
{ regiokey: regio_data.id,
{ regiokey: regio_key,
startlevel: 0, // Regio
eindlevel: 0, // Regio
readonly: true });

View File

@@ -16,59 +16,92 @@
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="alg_flexkenmerk.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="../API2/model_rooms.inc" -->
<!-- #include file="alg.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"],
js: [] })
var room_key = getQParamInt("room_key");
var room_params = { filter: { id: room_key
, scope: "fe"
, show_deleted: true // Ook indien verwijderd ophalen.
},
include: ["cadcontours"]
};
var rooms = new model_rooms(room_key, room_params);
var room_data = rooms.data
var this_alg = room_params.func_enabled; // room_params bevat nu ook waarden die in API2 zijn bepaald.
var room_deleted = !!room_data.deleted;
if (!room_data.cadcontours.length)
room_data.cadcontours = [{}];
var room_key = getQParamInt("room_key");
var onrgoedlvl = "R";
var this_alg = alg.func_enabled(room_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
// Voorkom ellende met alg_ruimte_key ambigue gedefinieerd
var sqlSync = "SELECT sync.alg_ruimte_key cad_ar_key"
+ " , c.cad_imp_contour_opp"
+ " , c.cad_imp_contour_opp_alt1"
+ " , c.cad_imp_contour_opp_alt2"
+ " FROM " + S("fg_syncruimteview") + " sync"
+ " , cad_imp_contour c"
+ " , cad_tekening t"
+ " , alg_ruimte ar "
+ " WHERE sync.cadlabel = c.cad_imp_contour_nr"
+ " AND t.cad_tekening_key = c.cad_tekening_key"
+ " AND t.alg_verdieping_key = sync.alg_verdieping_key"
+ " AND sync.alg_ruimte_key = ar.alg_ruimte_key";
var sql = "SELECT g.alg_ruimte_key"
+ " , g.alg_ruimte_nr"
+ " , g.alg_ruimte_omschrijving"
+ " , g.alg_srtruimte_key"
+ " , g.alg_ruimte_bruto_vloeropp"
+ " , g.alg_ruimte_opp_alt1"
+ " , g.alg_ruimte_opp_alt2"
+ " , g.alg_ruimte_omtrek"
+ " , g.alg_ruimte_inhoud"
+ " , g.alg_ruimte_opmerking"
+ " , g.alg_ruimte_verwijder"
+ " , sync.cad_imp_contour_opp"
+ " , sync.cad_imp_contour_opp_alt1"
+ " , sync.cad_imp_contour_opp_alt2"
+ " , mld_dienstniveau_key"
+ " FROM alg_ruimte g"
+ " , (" + sqlSync + ") sync"
+ " WHERE sync.cad_ar_key (+)= g.alg_ruimte_key"
+ " AND alg_ruimte_key = " + room_key;
var oRs = Oracle.Execute(sql);
var room_srt = oRs("alg_srtruimte_key").value;
var room_nr = oRs("alg_ruimte_nr").value;
var room_oms = oRs("alg_ruimte_omschrijving").value;
var room_opp = oRs("alg_ruimte_bruto_vloeropp").value;
var room_omt = oRs("alg_ruimte_omtrek").value;
var room_inh = oRs("alg_ruimte_inhoud").value;
var room_opm = oRs("alg_ruimte_opmerking").value;
var room_oppa1 = oRs("alg_ruimte_opp_alt1").value;
var room_oppa2 = oRs("alg_ruimte_opp_alt2").value;
var room_deleted = oRs("alg_ruimte_verwijder").value != null;
var contour_opp = oRs("cad_imp_contour_opp").value;
var contour_opp1 = oRs("cad_imp_contour_opp_alt1").value;
var contour_opp2 = oRs("cad_imp_contour_opp_alt2").value;
var dienstniveau = oRs("mld_dienstniveau_key").value;
oRs.Close();
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript" >
function room_change()
{
if (FcltMgr.startEdit(window))
window.location.href = "alg_edit_ruimte.asp?room_key=<%=room_key%>"
}
function room_delete()
{
FcltMgr.confirm(L("lcl_alg_del_txt_ruimte"), function() {
var data = {
room_action: "D"
};
<% protectRequest.dataToken("data"); %>
$.post($("form[name=u2]")[0].action,
data,
function room_change()
{
if (FcltMgr.startEdit(window))
window.location.href = "alg_edit_ruimte.asp?room_key=<%=room_key%>"
}
function room_delete()
{
if (confirm(L("lcl_alg_del_txt_ruimte")))
{
$.post("alg_delete.asp",
{ key: <%=room_key%>,
level: "R" },
FcltCallbackClose,
"json");
});
}
function openFG()
{
var url = '../cad/ShowRoom.asp?rKey=' + <%=room_key%>;
FcltMgr.openModalDetail(url, { titel: L("lcl_prs_wp_fgraph" ) + ": <%=safe.jsstring(room_data.name) %>"});
}
}
}
function openFG()
{
var url = '../cad/ShowRoom.asp?rKey=' + <%=room_key%>;
FcltMgr.openModalDetail(url, { titel: L("lcl_prs_wp_fgraph" ) + ": <%=safe.jsstring(room_nr) %>"});
}
</script>
</head>
@@ -82,78 +115,84 @@ if (!room_data.cadcontours.length)
var xfunc = user.func_enabled2("CAD", { isOptional: true });
if (xfunc && xfunc.canRead("WEB_CADUSE"))
buttons.push({title: L("lcl_prs_wp_fgraph"), action:"openFG()", icon: "zone.png" });
if (this_alg.writeman) // RUIMAN nodig
if (this_alg.writeman) // ALGMAN nodig
buttons.push({title: L("lcl_delete"), action:"room_delete()", icon: "delete.png" });
}
IFRAMER_HEADER(L("lcl_alg_ruimte_frame"), buttons);
%>
<div id="show">
<%
if (room_deleted)
<% if (room_deleted)
{
%> <div class="alg_deleted"><%=L("lcl_record_is_deleted")%></div><%
}
%>
<form name=u2
action="alg_edit_ruimte_save.asp?room_key=<%=room_data.id%>"
onSubmit="return false">
<form name=u2 onSubmit="return false;">
<%
BLOCK_START("algLoc1", "&nbsp;");
BLOCK_START("algLoc1", "");
FCLTplaatsselector(-1, {
ruimtekey: room_key,
startlevel: 2, //Locatie
eindlevel: 4, //Verdieping
moreinfo: true,
readonly: true });
FCLTplaatsselector(-1, {
ruimtekey: room_key,
startlevel: 2, //Locatie
eindlevel: 4, //Verdieping
moreinfo: true,
readonly: true });
var params = { infoPointer: { Url: "appl/shared/status_info.asp?room_key=" + room_key + "&urole=bo",
Title: L("lcl_status_details") + " " + room_data.name
}
}
var params = { infoPointer: { Url: "appl/shared/status_info.asp?room_key=" + room_key + "&urole=bo",
Title: L("lcl_status_details") + " " + room_nr
}
}
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_nr"), room_data.name, params);
ROFIELDTR("fld", L("lcl_estate_ruimte_man_descr"), room_data.description);
ROFIELDTR("fld", L("lcl_estate_ruimte_man_sort"), (room_data.roomtype ? room_data.roomtype.name : ""), {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), (room_data.servicelevel ? room_data.servicelevel.name : ""), {suppressEmpty:true});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_nr"), room_nr, params);
ROFIELDTR("fld", L("lcl_estate_ruimte_man_descr"), room_oms);
if (room_srt)
{
sql = "SELECT alg_srtruimte_key, "
+ lcl.xsqla("alg_srtruimte_omschrijving", "alg_srtruimte_key")
+ " FROM alg_srtruimte "
+ " WHERE alg_srtruimte_key="+room_srt ;
oRs = Oracle.Execute(sql);
ROFIELDTR("fld", L("lcl_estate_ruimte_man_sort"), oRs("alg_srtruimte_omschrijving").value);
oRs.Close();
}
if (dienstniveau)
{
sql = "SELECT mld_dienstniveau_key, "
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
+ " FROM mld_dienstniveau "
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
oRs = Oracle.Execute(sql);
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
oRs.Close();
}
BLOCK_END();
BLOCK_START("algLoc2", "&nbsp;");
BLOCK_START("algLoc2", "");
ROFIELDTR("fldshort", L("lcl_estate_ruimte_bruto_vloeropp"), room_data.grossarea, {suppressEmpty:true, datatype: "float"});
if (room_data.grossarea != room_data.cadcontours[0].cadarea)
ROFIELDTR("fldshort", L("lcl_estate_ruimte_getekendopp"), room_data.cadcontours[0].cadarea, {suppressEmpty:true, datatype: "float"});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_opp_alt1"), room_data.area1, {suppressEmpty:true, datatype: "float"});
if (room_data.area1 != room_data.cadcontours[0].cadalt1)
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt1"), room_data.cadcontours[0].cadalt1, {suppressEmpty:true, datatype: "float"});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_opp_alt2"), room_data.area2, {suppressEmpty:true, datatype: "float"});
if (room_data.area2 != room_data.cadcontours[0].cadalt2)
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt2"), room_data.cadcontours[0].cadalt2, {suppressEmpty:true, datatype: "float"});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_omtrek"), room_data.perimeter, {suppressEmpty:true, datatype: "float"});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_inhoud"), room_data.volume, {suppressEmpty:true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_ruimte_man_opmerk"), room_data.remark, {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(room_data.openfrom), {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), room_data.opento==24?"24:00":toTimeString(room_data.opento), {suppressEmpty:true});
switch (room_data.workdays)
{
case 0: werkdagentekst = L("lcl_No"); break;
case 1: werkdagentekst = L("lcl_Yes"); break;
default: werkdagentekst = L("lcl_alg_ruimte_volgens_gebouw");
}
ROFIELDTR("fld", L("lcl_estate_gebouw_werkdagen"), werkdagentekst);
ROFIELDTR("fldshort", L("lcl_estate_ruimte_bruto_vloeropp"), room_opp, {suppressEmpty:true});
if (room_opp != contour_opp)
ROFIELDTR("fldshort", L("lcl_estate_ruimte_getekendopp"), contour_opp, {suppressEmpty:true});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_opp_alt1"), room_oppa1, {suppressEmpty:true});
if (room_oppa1 != contour_opp1)
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt1"), contour_opp1, {suppressEmpty:true});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_opp_alt2"), room_oppa2, {suppressEmpty:true});
if (room_oppa2 != contour_opp2)
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt2"), contour_opp2, {suppressEmpty:true});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_omtrek"), room_omt, {suppressEmpty:true});
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_inhoud"), room_inh, {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_estate_ruimte_man_opmerk"), room_opm, {suppressEmpty:true});
BLOCK_END();
generateFlexKenmerkBlock ({
onrgoed_key : room_key,
onrgoed_niveau : rooms.defaults.onrgoedlvl,
reado : true,
flexcolumns : S("alg_flexcolumns"),
this_alg : this_alg
});
onrgoed_key : room_key,
onrgoed_niveau : onrgoedlvl,
reado : true,
flexcolumns : S("alg_flexcolumns"),
this_alg : this_alg
});
%>
</form>
</div>

View File

@@ -16,7 +16,6 @@
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="alg_flexkenmerk.inc" -->
<!-- #include file="alg.inc" -->
@@ -26,7 +25,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
var ter_key = getQParamInt("ter_key");
var onrgoedlvl = "T";
var this_alg = alg.func_enabled(ter_key, onrgoedlvl);
var this_alg = alg.func_enabled(loc_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
var sql = "SELECT ts.alg_locatie_key"
@@ -42,9 +41,6 @@ var sql = "SELECT ts.alg_locatie_key"
+ " , ts.alg_terreinsector_aanmaak"
+ " , ts.alg_terreinsector_omschrijving"
+ " , ts.alg_terreinsector_ordernr"
+ " , ts.alg_terreinsector_toon_telef"
+ " , ts.alg_terreinsector_toon_email"
+ " , ts.alg_terreinsector_toon_kentk"
+ " , ts.prs_kostenplaats_key"
+ " ,(SELECT " + S("prs_kpn_string") + " kpstring"
+ " FROM prs_kostenplaats k"
@@ -53,7 +49,6 @@ var sql = "SELECT ts.alg_locatie_key"
+ " , (SELECT prs_afdeling_omschrijving"
+ " FROM prs_afdeling a"
+ " WHERE a.prs_afdeling_key = ts.prs_afdeling_key) afdeling_oms"
+ " , ts.alg_terreinsector_vervaldatum"
+ " , ts.alg_terreinsector_verwijder"
+ " FROM alg_terreinsector ts"
+ " WHERE ts.alg_terreinsector_key = " + ter_key;
@@ -69,50 +64,39 @@ var ter_omt = oRs("alg_terreinsector_omtrek").value;
var ter_aanmk = oRs("alg_terreinsector_aanmaak").value;
var ter_oms = oRs("alg_terreinsector_omschrijving").value;
var ter_ordnr = oRs("alg_terreinsector_ordernr").value;
var toon_telefoon = oRs("alg_terreinsector_toon_telef").Value;
var toon_email = oRs("alg_terreinsector_toon_email").Value;
var toon_kenteken = oRs("alg_terreinsector_toon_kentk").Value;
var prs_kstn = oRs("prs_kostenplaats_key").value;
var prs_kstpl = oRs("kostenplaats_oms").value;
var prs_afd = oRs("afdeling_oms").value;
var ter_deleted = oRs("alg_terreinsector_verwijder").value != null;
var vervaldatum = oRs("alg_terreinsector_vervaldatum").Value;
oRs.Close();
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript">
$(function()
{
$('textarea').resize(function () { FcltMgr.resized(window) } );
$('textarea').autogrow();
<script type="text/javascript" >
jQuery(document).ready(function() {
$('textarea').resize(function () { FcltMgr.resized(window) } );
$('textarea').autogrow();
});
function ter_change()
{
if (FcltMgr.startEdit(window))
window.location.href = "alg_edit_terreinsector.asp?ter_key=<%=ter_key%>"
if (FcltMgr.startEdit(window))
window.location.href = "alg_edit_terreinsector.asp?ter_key=<%=ter_key%>"
}
function ter_delete()
{
FcltMgr.confirm(L("lcl_alg_del_txt_terreinsector"), function() {
var data = {
key: <%=ter_key%>,
level: "T"
};
<% protectRequest.dataToken("data"); %>
var ter_key = <%=ter_key%>
$.post("alg_delete.asp",
data,
FcltCallbackClose,
"json");
});
if (confirm(L("lcl_alg_del_txt_terreinsector")))
{
var ter_key = <%=ter_key%>
$.post("alg_delete.asp",
{ key: <%=ter_key%>,
level: "T" },
FcltCallbackClose,
"json");
}
}
</script>
</head>
@@ -144,45 +128,14 @@ oRs.Close();
readonly: true
});
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_sort"), ter_sroms, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_sort"), ter_sroms);
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_code"), ter_code);
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_name"), ter_naam);
ROFIELDTR("fld", L("lcl_prs_dept_kosten"), prs_kstpl, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_prs_dept_kosten"), prs_kstpl);
ROFIELDTR("fld", L("lcl_dep_name_level2"), prs_afd);
ROFIELDTR("fld", L("lcl_estate_terreinsector_ordernr"), ter_ordnr, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_oppervlak"), ter_opp, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_omtrek"), ter_omt, {suppressEmpty: true, datatype: "float"});
var fldcls = "fld";
if (vervaldatum <= new Date())
fldcls += " expired2";
ROFIELDTR(fldcls, L("lcl_alg_vervaldatum"), toDateString(vervaldatum), {suppressEmpty: true});
var sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toontelfLOV"));
FCLTselector("toon_telefoon",
sql,
{ label: L("lcl_estate_gebouw_toon_telefoon"),
initKey: toon_telefoon,
readonly: true,
suppressEmpty: true,
extraclass: "notmulti"
});
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonmailLOV"));
FCLTselector("toon_email",
sql,
{ label: L("lcl_estate_gebouw_toon_email"),
initKey: toon_email,
readonly: true,
suppressEmpty: true,
extraclass: "notmulti"
});
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonkentLOV"));
FCLTselector("toon_kenteken",
sql,
{ label: L("lcl_estate_gebouw_toon_kenteken"),
initKey: toon_kenteken,
readonly: true,
suppressEmpty: true,
extraclass: "notmulti"
});
ROFIELDTR("fld", L("lcl_estate_terreinsector_ordernr"), ter_ordnr);
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_oppervlak"), ter_opp);
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_omtrek"), ter_omt);
BLOCK_END();

View File

@@ -36,7 +36,7 @@ var flr_omschr = oRs("alg_verdieping_omschrijving").value;
var flr_volgnr = oRs("alg_verdieping_volgnr").value;
var flr_code = oRs("alg_verdieping_code").value;
var flr_deleted = oRs("alg_verdieping_verwijder").value != null;
var dienstniveau_key = oRs("mld_dienstniveau_key").value;
var dienstniveau = oRs("mld_dienstniveau_key").value;
oRs.Close();
%>
@@ -52,17 +52,14 @@ oRs.Close();
function flr_delete()
{
FcltMgr.confirm(L("lcl_alg_del_txt_verdieping"), function() {
var data = {
key: <%=flr_key%>,
level: "V"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp",
data,
FcltCallbackClose,
"json");
});
if (confirm(L("lcl_alg_del_txt_verdieping")))
{
$.post("alg_delete.asp",
{ key: <%=flr_key%>,
level: "V" },
FcltCallbackClose,
"json");
}
}
</script>
</head>
@@ -86,35 +83,27 @@ oRs.Close();
}
%>
<form name=u2 onSubmit="return false;">
<% BLOCK_START("algLoc1", "&nbsp;");
<% BLOCK_START("algLoc1", "");
FCLTplaatsselector(-1, {
verdiepingkey: flr_key,
startlevel: 2, //locatie
eindlevel: 4, // Verdieping
moreinfo: true,
readonly: true });
ROFIELDTR("fld", L("lcl_estate_verdieping_man_code"), flr_code);
ROFIELDTR("fld", L("lcl_estate_verdieping_man_volgnr"), flr_volgnr);
if (dienstniveau_key)
if (dienstniveau)
{
sql = "SELECT mld_dienstniveau_key, "
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
+ " FROM mld_dienstniveau "
+ " WHERE mld_dienstniveau_key = " + dienstniveau_key;
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
oRs = Oracle.Execute(sql);
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
oRs.Close();
}
BLOCK_END();
BLOCK_START("algLoc2", "&nbsp;");
var calcopp = alg.calc_algm2(flr_key, onrgoedlvl);
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true, datatype: "float"});
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true, datatype: "float"});
BLOCK_END();
generateFlexKenmerkBlock ({
onrgoed_key : flr_key,
onrgoed_niveau : onrgoedlvl,

View File

@@ -40,6 +40,7 @@ var wp_opp = oRs("prs_werkplek_opp").value;
var wp_vstopp = oRs("prs_werkplek_vastopp").value;
var wp_virt = oRs("prs_werkplek_virtueel").value;
var room_key = oRs("prs_alg_ruimte_key").value;
var wp_deleted = oRs("prs_werkplek_verwijder").value != null;
var wp_type = oRs("PRS_WERKPLEK_TYPE").value;
oRs.Close();
@@ -58,31 +59,34 @@ var wp_typ_str = (wp_type == 1 ? L("lcl_wptype_1") : L("lcl_wptype_0"));
function wp_delete()
{
var wp_key = <%=wp_key%>;
FcltMgr.confirm(L("lcl_alg_del_txt_werkplek"), function() {
var data = {
key: <%=wp_key%>,
level: "W"
};
<% protectRequest.dataToken("data"); %>
if (confirm(L("lcl_alg_del_txt_werkplek")))
$.post("alg_delete.asp",
data,
FcltCallbackClose,
"json");
});
{ key: <%=wp_key%>,
level: "W" },
FcltCallbackClose,
"json");
}
</script>
</head>
<body id="showbody">
<% var buttons = [];
if (alg.canWriteRuimte(room_key, authparams.rmALGwritelevel)) // ALGUSE schrijfrechten nodig
if (!wp_deleted)
{
var buttons = [ {title: L("lcl_change"), action:"wp_change()", icon: "wijzigen.png" },
{title: L("lcl_delete"), action:"wp_delete()", icon: "delete.png" } ];
if (alg.canWriteRuimte(room_key, authparams.uALGwritelevel)) // ALGUSE schrijfrechten nodig
{
var buttons = [ {title: L("lcl_change"), action:"wp_change()", icon: "wijzigen.png" },
{title: L("lcl_delete"), action:"wp_delete()", icon: "delete.png" } ];
}
}
IFRAMER_HEADER(L("lcl_alg_wp_frame"), buttons);
%>
<div id="show">
<% if (wp_deleted == 1)
{
%> <div class="prs_deleted"><%=L("lcl_record_is_deleted")%></div><%
}
%>
<form name=u2 onSubmit="return false;">
<% BLOCK_START("algInfo", "");
FCLTplaatsselector(authparams.ALGreadlevel,
@@ -106,10 +110,13 @@ var wp_typ_str = (wp_type == 1 ? L("lcl_wptype_1") : L("lcl_wptype_0"));
</label>
</td>
</tr>
<% ROFIELDTR("fld", L("lcl_estate_wp_area"), wp_opp, {suppressEmpty:true, datatype: "float"});
if (wp_virt==1)
CHECKBOXTR(L("lcl_estate_wp_virt"), "fldalgbez", "wp_virt", wp_virt, { suppressEmpty:true, html: " disabled" });
ROFIELDTR("wp_type", L("lcl_wptype"), wp_typ_str);
<% ROFIELDTR("fld", L("lcl_estate_wp_area"), wp_opp, {suppressEmpty:true});
%>
<tr>
<td class="label"><label><%=L("lcl_estate_wp_virt")%>:</label></td>
<td><input class="fldalgbez" type="checkbox" id="wp_virt" name="wp_virt" value="<%=wp_virt%>" <%= wp_virt==1 ? " checked " : "" %>disabled></td>
</tr>
<% ROFIELDTR("wp_type", L("lcl_wptype"), wp_typ_str);
%>
</table>
<% BLOCK_END();

View File

@@ -1,338 +0,0 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: alg_srtruimte.asp
Description: Wijzigen van srtruimte gegevens
Parameters:
Context:
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/disciplineselector.inc" -->
<!-- #include file="../Shared/stdmeldingselector.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<%
FCLTHeader.Requires({js: ["jquery-ui.js"]});
var srtruimte_key = getQParamInt("alg_srtruimte_key", -1); // default is nieuwe
var mode = getQParam("mode", "show");
if (srtruimte_key == -1 && mode == "show")
mode = "new";
var authparams = user.checkAutorisation("WEB_ALGMSU");
var srtr_info = {};
if (srtruimte_key > 0)
{ // bestaande ruimtesoort
var sql = "SELECT r.alg_srtruimte_key"
+ " , r.alg_srtruimte_omschrijving"
+ " , r.alg_srtruimte_prijs"
+ " , r.alg_srtruimte_prijs2"
+ " , r.alg_srtruimte_prijs3"
+ " , r.alg_srtruimte_prijs4"
+ " , r.alg_srtruimte_prijs5"
+ " , r.alg_srtruimte_code"
+ " , r.prs_bevat_werkplek"
+ " , r.prs_verhuurbaar"
+ " , r.alg_srtruimte_t_uitvoertijd.tijdsduur uitvoertijd_t"
+ " , r.alg_srtruimte_t_uitvoertijd.eenheid uitvoertijd_e"
+ " , r.alg_srtruimte_verwijder"
+ " FROM alg_srtruimte r"
+ " WHERE alg_srtruimte_key = " + srtruimte_key;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
var srtr_info = { alg_srtruimte_omschrijving: oRs("alg_srtruimte_omschrijving").Value,
alg_srtruimte_prijs: oRs("alg_srtruimte_prijs").Value,
alg_srtruimte_prijs2: oRs("alg_srtruimte_prijs2").Value,
alg_srtruimte_prijs3: oRs("alg_srtruimte_prijs3").Value,
alg_srtruimte_prijs4: oRs("alg_srtruimte_prijs4").Value,
alg_srtruimte_prijs5: oRs("alg_srtruimte_prijs5").Value,
alg_srtruimte_code: oRs("alg_srtruimte_code").Value,
prs_bevat_werkplek: oRs("prs_bevat_werkplek").Value,
prs_verhuurbaar: oRs("prs_verhuurbaar").Value,
tijd_uitvoertijd: oRs("uitvoertijd_t").Value,
eenh_uitvoertijd: oRs("uitvoertijd_e").Value
};
var srtruimte_deleted = oRs("alg_srtruimte_verwijder").value != null;
}
oRs.close();
}
else
{ // nieuwe ruimtesoort
var srtr_info = { alg_srtruimte_omschrijving: "",
alg_srtruimte_code: "",
tijd_uitvoertijd: null,
eenh_uitvoertijd: null
};
}
%>
<html>
<head>
<%
FCLTHeader.Generate();
if (mode == "save")
{
var fields = [ { dbs: "alg_srtruimte_omschrijving", typ: "varchar", frm: "omschrijving" },
{ dbs: "alg_srtruimte_prijs", typ: "float", frm: "prijs" },
{ dbs: "alg_srtruimte_prijs2", typ: "float", frm: "prijs2" },
{ dbs: "alg_srtruimte_prijs3", typ: "float", frm: "prijs3" },
{ dbs: "alg_srtruimte_prijs4", typ: "float", frm: "prijs4" },
{ dbs: "alg_srtruimte_prijs5", typ: "float", frm: "prijs5" },
{ dbs: "alg_srtruimte_code", typ: "varchar", frm: "code" },
{ dbs: "prs_bevat_werkplek", typ: "check", frm: "bevatwerkplek" },
{ dbs: "prs_verhuurbaar", typ: "check", frm: "verhuurbaar" }
];
// Checken of het eenheden selectveld met dagen/uren bij "Uitvoertijd" niet readonly was en wel is meegegeven.
// Als dit eenheden selectieveld readonly was dan is er geen waarde voor uitvoertijd ingevuld en moeten beide waarden null worden.
fields = shared.add_time_field(fields, "alg_srtruimte_t_uitvoertijd", "uitvoertijd", "dayshours_urg");
// Update, delete of insert uitvoeren.
if (srtruimte_key > 0)
{
var sql = buildUpdate("alg_srtruimte", fields)
+ " alg_srtruimte_key = " + srtruimte_key;
var err = Oracle.Execute(sql, true);
}
else
{
fields.push( { dbs: "alg_srtruimte_key", typ: "key", seq: "alg_s_alg_srtruimte_key" } );
var algIns = buildInsert("alg_srtruimte", fields);
var alg_srtruimte_key = algIns.sequences["alg_srtruimte_key"];
var err = Oracle.Execute(algIns.sql, true);
srtruimte_key = alg_srtruimte_key;
}
if (err.friendlyMsg)
{
%>
<script>
FcltMgr.alert("<%=safe.jsstring(err.friendlyMsg)%>");
</script>
<%
}
else
{
%>
<script>
$(function () {parent.window.location.href="alg_srtruimte.asp?mode=show&alg_srtruimte_key=<%=srtruimte_key%>";} );
</script>
<%
}
Response.End;
}
else if (srtruimte_key > 0 && mode == "delete")
{
var sql = "UPDATE alg_srtruimte"
+ " SET alg_srtruimte_verwijder = SYSDATE"
+ " WHERE alg_srtruimte_verwijder IS NULL"
+ " AND alg_srtruimte_key = " + srtruimte_key;
var err = Oracle.Execute(sql, true);
%>
<script>
$(function ()
{
FcltMgr.closeDetail(window, { alg_srtruimte_key: <%=srtruimte_key%>,
warning: "<%=safe.jsstring(err.friendlyMsg)%>",
keepForm: <%=err.friendlyMsg? "true" : "false"%>
});
});
</script>
<%
Response.End;
}
%>
<script type="text/javascript" >
function alg_submit()
{
$("#verhuurbaar").prop("disabled", false); // Weer enabled zodat waarde ook gesubmit wordt.
if (!validateForm("u2"))
return false;
document.forms.u2.submit();
}
function alg_edit()
{
window.location.href = "alg_srtruimte.asp?mode=edit&alg_srtruimte_key=<%=srtruimte_key%>";
}
function alg_delete()
{
FcltMgr.confirm("<%=safe.jsstring(L("lcl_R_U_sure"))%>",
function() {
window.location.href = "../alg/alg_srtruimte.asp?mode=delete&alg_srtruimte_key=<%=srtruimte_key%>";
});
}
function alg_cancel()
{
if (<%=srtruimte_key%> > 0)
{
window.location.href = "alg_srtruimte.asp?mode=show&alg_srtruimte_key=<%=srtruimte_key%>";
}
else
{
FcltMgr.closeDetail(window, { cancel: true });
}
}
function alg_close(params)
{
<% if (srtruimte_key == -1)
{
%>
if (params.cancel)
{
FcltMgr.closeDetail(window, params);
return true;
}
<% }
else
{ // Bestaand ruimtesoort bewerkt, switch naar show-mode
%>
if (params.close)
{
FcltMgr.closeDetail(window, { close: true})
}
<% }
%>
if (!params.keepForm)
window.location.href = "alg_srtruimte.asp?mode=show&alg_srtruimte_key=" + params.srtruimte_key;
}
function onChangeBevatWerkplek()
{
// Als bevat_werkplek is aangevinkt, moet verhuurbaar ook aangevinkt worden (constraint ALG_C_PRS_WERKPLEK_VERHUURBAAR)
if ($("#bevatwerkplek").is(":checked"))
{
$("#verhuurbaar").prop("checked", "checked");
$("#verhuurbaar").prop("disabled", true);
}
else
{
$("#verhuurbaar").prop("disabled", false);
}
}
function onChangeUitvoertijd()
{
if (isNaN(parseFloat($("#uitvoertijd").val())))
$("#dayshours_urg").prop("disabled", true);
else
$("#dayshours_urg").prop("disabled", false);
}
$(function()
{
$('textarea').resize(function () { FcltMgr.resized(window) } );
$('textarea').autogrow();
});
</script>
</head>
<body id="<%=((mode == "show")? "showbody" : "editbody")%>">
<%
var buttons = [];
if (!srtruimte_deleted)
{
if (mode == "show")
{
buttons.push( {title: L("lcl_change"), action:"alg_edit()", icon: "wijzigen.png" } );
buttons.push( {title: L("lcl_delete"), action:"alg_delete()", icon: "delete.png" } );
}
else
{
buttons.push( {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" } );
buttons.push( {title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } );
}
}
IFRAMER_HEADER(L("lcl_alg_srtruimte_details"), buttons);
if (mode == "show")
{
myFIELD = function (a, b, c, d, e) { ROFIELDTR(b, c, d, e) };
myTEXTAREA = function (a, b, c, d, e) { ROTEXTAREATR(b, c, d, e) };
myCHECKBOX = function (a, b, c, d, e) { ROCHECKBOXTR(b, c, d, e) };
}
else
{
myFIELD = RWFIELDTR;
myTEXTAREA = RWTEXTAREATR;
myCHECKBOX = RWCHECKBOXTR;
}
if (srtruimte_deleted)
{
%> <div class="alg_deleted"><%=L("lcl_record_is_deleted")%></div><%
}
%>
<div id="show">
<form name="u2"
action="alg_srtruimte.asp?mode=save&alg_srtruimte_key=<%=srtruimte_key%>"
method="post"
target="hidFrameSubmit"
onSubmit="alg_submit()">
<%
BLOCK_START("algInfo", L("lcl_general_properties"));
ROFIELDTR( "fld", L("lcl_key"), srtruimte_key);
myFIELD("omschrijving", "fld", L("lcl_descr"), srtr_info.alg_srtruimte_omschrijving, { translate: {fld: "mld_afmeldtekst_naam", key: srtruimte_key} });
myFIELD("prijs", "fld", L("lcl_alg_alg_tarief")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs), {datatype: "float", suppressEmpty: true} );
myFIELD("prijs2", "fld", L("lcl_alg_alg_tariefA")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs2), {datatype: "float", suppressEmpty: true} );
myFIELD("prijs3", "fld", L("lcl_alg_alg_tariefB")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs3), {datatype: "float", suppressEmpty: true} );
myFIELD("prijs4", "fld", L("lcl_alg_alg_tariefC")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs4), {datatype: "float", suppressEmpty: true} );
myFIELD("prijs5", "fld", L("lcl_alg_alg_tariefD")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs5), {datatype: "float", suppressEmpty: true} );
myFIELD("code", "fld", L("lcl_alg_srtruimte_code"), srtr_info.alg_srtruimte_code);
myCHECKBOX("bevatwerkplek", "fldcheck", L("lcl_prs_has_workplace"), srtr_info.prs_bevat_werkplek, {html: "onChange='onChangeBevatWerkplek();'"});
myCHECKBOX("verhuurbaar", "fldcheck", L("lcl_prs_rentable"), srtr_info.prs_verhuurbaar);
sql = "SELECT 'U', " + safe.quoted_sql(L("lcl_mld_hours")) + " FROM DUAL"
+ " UNION "
+ "SELECT 'D', " + safe.quoted_sql(L("lcl_mld_days")) + " FROM DUAL"
+ " ORDER BY 2";
var selectparams = { fieldName: "dayshours_urg",
sql: sql,
params: { id: "dayshours_urg",
initKey: srtr_info.eenh_uitvoertijd,
readonly: (mode == "show"),
disable: !srtr_info.tijd_uitvoertijd
}
}
myFIELD("uitvoertijd", "fldalg_uitvtijd", L("lcl_mld_stduitvoertijd"), srtr_info.tijd_uitvoertijd? Math.round(srtr_info.tijd_uitvoertijd * 100000) / 100000 : ""
, {maxlength: 8, datatype: "float", html: "onChange='onChangeUitvoertijd();'", suppressEmpty: true, selector: selectparams});
BLOCK_END();
IFACE.FORM_END();
if (srtruimte_key > -1 && (user.checkAutorisation("WEB_MLDMGT", true)))
{ // 2. De overruling van de SLA (acceptatietijd en uitvoertijd)
page = "../mld/mld_stdmsrtruimte_search_list.asp?embedded=1&srtruimte_key=" + srtruimte_key;
IFRAMER("mldstdmsrtruimte", page, { refreshOnClose: true, initHide: false } );
}
%>
</form>
</div>
<iframe src="../Shared/empty.html"
name="hidFrameSubmit"
FcltClose="alg_close"
style="display:none"></iframe>
</body>
</html>

View File

@@ -1,84 +0,0 @@
<%@ LANGUAGE = JavaScript %>
<% /*
$Revision$
$Id$
File: alg_srtruimte_search.asp
Description: Zoekscherm ruimtesoort
Parameters:
Context:
Note:
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"]});
var autosearch = getQParamInt("autosearch", 0) == 1;
var authparams = user.checkAutorisation("WEB_ALGMSU");
%>
<html>
<head>
<%
FCLTHeader.Generate();
%>
<script type="text/javascript">
function doSubmit()
{
document.forms.u2.submit();
}
$(function()
{
<% if (autosearch) { %> document.forms.u2.submit();<%}%>
});
</script>
</head>
<body id="searchbody">
<div id="search">
<form name="u2" target="workFrame" action="alg_srtruimte_search_list.asp" method="get">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<tr>
<td class="searchkolom1">
<table><!-- x rijen, 2 kolommen: label + veld -->
<tr class="primsearch">
<td class="label"><label for="searchtext"><%=L("lcl_descr")%>:</label></td>
<td><input type="text" class="fldsrch wildcard" name="searchtext" id="searchtext"></td>
</tr>
</table>
</td><!-- end column 1 -->
<td class="searchkolom2">
<table><!-- x rijen, 2 kolommen: label + veld -->
<%
%>
</table>
</td><!-- end column 2 -->
</tr>
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" } ];
CreateButtons(buttons, { entersubmit: true});
%>
</form>
</div> <!-- search -->
<div id="result">
<iframe width="100%" height="100%"
src="../Shared/empty.asp"
name="workFrame" id="workFrame"
onload="FcltMgr.iframeLoaded(this)"
frameborder="0" scrolling="no">
</iframe>
</div>
</body>
</html>

View File

@@ -1,114 +0,0 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: alg_srtruimte_search_list.asp
Description: Vangt de parameters van alg_srtruimte_search op en verwerkt die tot een lijst
Parameters:
Context: Vanuit alg_srtruimte_search.asp
Note:
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<%
var searchtext = getQParam("searchtext", null);
//var fkdmodule = getQParamSafe("fkdmodule", -1);
var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = excel etc
var showall = getQParamInt("showall", 0) == 1;
var authparams = user.checkAutorisation("WEB_ALGMSU");
%>
<html>
<head>
<%
FCLTHeader.Generate({outputmode: outputmode});
%>
<script>
function fkd_edit(row)
{
var srtruimte_key = row.getAttribute("ROWKEY");
var url = "appl/alg/alg_srtruimte.asp?alg_srtruimte_key="+srtruimte_key;
FcltMgr.openDetail(url, "<%=L("lcl_alg_srtruimte_details")%>", {callback: FcltMgr.reload } );
}
</script>
</head>
<body>
<%
var sql = "SELECT sr.alg_srtruimte_key"
+ " , sr.alg_srtruimte_omschrijving"
+ " , sr.alg_srtruimte_prijs"
+ " , sr.alg_srtruimte_prijs2"
+ " , sr.alg_srtruimte_prijs3"
+ " , sr.alg_srtruimte_prijs4"
+ " , sr.alg_srtruimte_prijs5"
+ " , sr.alg_srtruimte_code"
+ " , CASE WHEN sr.prs_bevat_werkplek = 1"
+ " THEN " + safe.quoted_sql(L("lcl_yes"))
+ " ELSE " + safe.quoted_sql(L("lcl_no"))
+ " END bevat_werkplek"
+ " , CASE WHEN sr.prs_verhuurbaar = 1"
+ " THEN " + safe.quoted_sql(L("lcl_yes"))
+ " ELSE " + safe.quoted_sql(L("lcl_no"))
+ " END verhuurbaar"
+ " , sr.alg_srtruimte_t_uitvoertijd.tijdsduur tijdsduur"
+ " , sr.alg_srtruimte_t_uitvoertijd.eenheid eenheid"
+ " FROM alg_srtruimte sr"
+ " WHERE sr.alg_srtruimte_verwijder IS NULL"
+ (searchtext
? " AND sr.alg_srtruimte_upper LIKE " + safe.quoted_sql_wild("%" + searchtext + "%")
: ""
)
+ " ORDER BY sr.alg_srtruimte_omschrijving";
function fnUitvoertijdKolom(oRs)
{
var tmp = "";
if (oRs("tijdsduur").Value)
tmp = oRs("tijdsduur").Value + " " + (oRs("eenheid").Value == "U" ? L("lcl_mld_hours") : L("lcl_mld_days"))
return tmp;
}
buttons = {};
//if (canAdd)
{
var addurl = "appl/alg/alg_srtruimte.asp?mode=edit";
buttons = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "', {callback: FcltMgr.reload })" }]
}
var rst = new ResultsetTable({ sql: sql,
keyColumn: "alg_srtruimte_key",
ID: "algsrtruimtetable",
showAll: showall,
outputmode: outputmode,
title: L("lcl_menu_alg_ruimtefuncties"),
buttons: buttons
});
rst.addColumn(new Column({caption: "Key", content: "alg_srtruimte_key", datatype: "number"}));
rst.addColumn(new Column({caption: L("lcl_descr"), content: "alg_srtruimte_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_alg_alg_tarief"), content: "alg_srtruimte_prijs", datatype: "currency"}));
rst.addColumn(new Column({caption: L("lcl_alg_alg_tariefA"), content: "alg_srtruimte_prijs2", datatype: "currency"}));
rst.addColumn(new Column({caption: L("lcl_alg_alg_tariefB"), content: "alg_srtruimte_prijs3", datatype: "currency"}));
rst.addColumn(new Column({caption: L("lcl_alg_alg_tariefC"), content: "alg_srtruimte_prijs4", datatype: "currency"}));
rst.addColumn(new Column({caption: L("lcl_alg_alg_tariefD"), content: "alg_srtruimte_prijs5", datatype: "currency"}));
rst.addColumn(new Column({caption: L("lcl_alg_srtruimte_code"), content: "alg_srtruimte_code"}));
rst.addColumn(new Column({caption: L("lcl_prs_has_workplace"), content: "bevat_werkplek"}));
rst.addColumn(new Column({caption: L("lcl_prs_rentable"), content: "verhuurbaar"}));
rst.addColumn(new Column({caption: L("lcl_mld_stduitvoertijd"), content: fnUitvoertijdKolom}));
rst.addAction({ action: "fkd_edit", caption: L("lcl_edit"), isDefault: true});
var cnt = rst.processResultset();
%>
</body>
</html>

View File

@@ -71,7 +71,7 @@ else
</script>
</head>
<body>
<body id="editbody">
<% if (ter_key == -1)
var page = "alg_edit_terreinsector.asp"; // Maak een nieuw
else

View File

@@ -10,6 +10,7 @@
*/
%>
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/getkenmerksql.inc" -->
<!-- #include file="alg.inc" -->
@@ -19,9 +20,9 @@ FCLTHeader.Requires({ plugins:["jQuery"] });
function fnrowData(oRs)
{
var parent_key = oRs("alg_locatie_key").Value;
var key = oRs("alg_terreinsector_key").Value;
var oms = oRs("alg_terreinsector_omschrijving").Value;
var parent_key = oRs("alg_locatie_key").value;
var key = oRs("alg_terreinsector_key").value;
var oms = oRs("alg_terreinsector_omschrijving").value;
var data = {parent_key: parent_key, key: key, oms: oms};
@@ -34,28 +35,27 @@ function fnrowData(oRs)
function gotoParent(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_locatie_search.asp?locatie_key=" + algData.parent_key + "&autosearch=" + autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_location")%>");
}
function terreinEdit(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_terreinsector.asp?mode=viewUpdate&ter_key="+algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_terra")%>" + ' ' + algData.oms);
}
function doDelete(rowArray, isMulti)
{
FcltMgr.confirm(L("lcl_alg_del_txt_terreinsector"), { autoconfirm: isMulti }, function() {
var terKeyString = getKeyString(rowArray);
var data = { key: terKeyString,
level: "T"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
});
var terKeyString = getKeyString(rowArray);
if (isMulti || confirm(L("lcl_alg_del_txt_terreinsector")))
$.post("alg_delete.asp",
{ key: terKeyString,
level: "T" },
FcltCallbackRefresh,
"json");
}
</script>
<%
@@ -65,8 +65,7 @@ function terrein_list(pautfunction, params)
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
var addButton = [];
var authparams = alg.checkAutorisation();
// Met ALG* bepaal je wat je ziet (Read), met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
var canAdd = (authparams.tmALGwritelevel < 9); //wat moet het zijn voor terriensector
var canAdd = (authparams.mALGwritelevel < 9); //wat moet het zijn voor terriensector
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
@@ -74,29 +73,17 @@ function terrein_list(pautfunction, params)
var noref = params.noref;
var reg_key = params.reg_key;
var dis_key = params.dis_key;
var loc_key = params.loc_key;
var ter_code = params.ter_code;
var ter_func_key = params.ter_func_key;
var expalgincl = params.expalgincl;
var ter_func = params.ter_func;
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
{
var eDelete = false;
if (alg.canWriteLocatie(oRs("alg_locatie_key").Value, authparams.tmALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var ter_key = oRs("alg_terreinsector_key").Value;
var this_alg = alg.func_enabled(ter_key, "T");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
{
var eDelete = false;
if (alg.canWriteLocatie(oRs("alg_locatie_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
%>
<html>
@@ -113,7 +100,6 @@ function terrein_list(pautfunction, params)
+ " g.alg_terreinsector_code, "
+ " g.alg_terreinsector_oppervlak, "
+ " g.alg_terreinsector_omtrek, "
+ " g.alg_terreinsector_vervaldatum, "
+ " g.alg_srtterreinsector_key, "
+ lcl.xsqla('s.alg_srtterreinsec_omschrijving', 's.alg_srtterreinsector_key')
+ " FROM alg_v_aanwezigterreinsector g, "
@@ -137,25 +123,18 @@ function terrein_list(pautfunction, params)
{
sqln += " AND g.alg_locatie_key = " + loc_key;
}
else if (dis_key)
sqln += " AND l.alg_district_key = " + dis_key;
else if (reg_key)
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key = " + reg_key+")";
if (ter_func_key)
if (ter_func)
{
sqln += " AND g.alg_srtterreinsector_key = " + ter_func_key;
sqln += " AND g.ALG_SRTTERREINSECTOR_KEY = " + ter_func;
}
if (ter_code)
{
sqln += " AND UPPER(g.alg_terreinsector_code) LIKE " + safe.quoted_sql_wild("%" + ter_code + "%");
sqln += " AND UPPER(g.ALG_TERREINSECTOR_CODE) LIKE " + safe.quoted_sql_wild("%" + ter_code + "%");
}
if (!expalgincl)
sqln += " AND (g.alg_terreinsector_vervaldatum IS NULL OR g.alg_terreinsector_vervaldatum > TRUNC(SYSDATE)) ";
sqln += " ORDER BY g.alg_terreinsector_upper ASC "
sqln += " ORDER BY g.alg_terreinsector_upper ASC "
var addurl = "appl/alg/alg_terreinsector.asp";
@@ -174,7 +153,6 @@ function terrein_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_terreinsector_key",
flexParams: fnrowFlexParams,
filterParams: params,
buttons: addButton
});
@@ -185,7 +163,6 @@ function terrein_list(pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_estate_terreinsector_man_sort"), content: "alg_srtterreinsec_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_terreinsector_man_oppervlak"), content: "alg_terreinsector_oppervlak"}));
rst.addColumn(new Column({caption: L("lcl_estate_terreinsector_man_omtrek"), content: "alg_terreinsector_omtrek"}));
rst.addColumn(new Column({caption: L("lcl_alg_vervaldatum"), content: "alg_terreinsector_vervaldatum", datatype: "date"}));
rst.addAction({ action: "terreinEdit", caption: L("lcl_edit"), isDefault: true});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single: !noref, multi: true, multiOnce: true});

View File

@@ -15,7 +15,7 @@ FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
var locatie_key = getQParamInt("locatie_key", -1); // locatie
var vak_code = getQParam("vak_code", "");
var ter_func_key = getQParamInt("ter_func_key", -1);
var ter_func = getQParamInt("ter_func", -1);
var autosearch = getQParamInt("autosearch", 0) == 1;
var authparams = alg.checkAutorisation();
@@ -24,25 +24,22 @@ var authparams = alg.checkAutorisation();
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript">
function doSubmit()
{
function doSubmit()
{
// Submitten met kenmerken
doSubmitWithKenmerken();
}
}
function myModal(init)
function myModal()
{
var lvl = "T";
var key = 0;
var bld_key = "";
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" + bld_key + "&onrgoed_niveau=" + lvl;
var titel = "<%=L("lcl_properties")%>";
showKenmerkModal(url, titel, init)
showKenmerkModal(url, titel)
}
$(function() {<% if (autosearch) { %> document.forms.u2.submit();<%}%>});
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit();<%}%>});
</script>
</head>
<body id="searchbody">
@@ -67,7 +64,7 @@ var authparams = alg.checkAutorisation();
FCLTselector("srt",
sql,
{ initKey: ter_func_key,
{ initKey: ter_func,
label: L("lcl_estate_terreinsector_man_sort"),
emptyOption: "",
trclass: "primsearch",
@@ -75,14 +72,6 @@ var authparams = alg.checkAutorisation();
});
%>
</tr>
<!-- Vervallen terreinen -->
<tr class="primsearch">
<td></td>
<td align=left>
<input type="checkbox" class="fldexpalgincl" name="expAlgIncl" id="expAlgIncl" value="1" >
<label for="expAlgIncl"><%=L("lcl_alg_terreinsector_vervallen_incl")%></label>
</td>
</tr>
</table>
</td><!-- end column 1 -->
@@ -98,9 +87,9 @@ var authparams = alg.checkAutorisation();
</tr>
<% BLOCK_END(); %>
<%
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch", importance: 1 },
{title: L("lcl_obj_advanced"), action: "myModal()", id:"bAdvanced", importance: 3 } ];
CreateButtons(buttons, { entersubmit: true });
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
{title: L("lcl_obj_advanced"), action: "myModal()", id:"bAdvanced" } ];
CreateButtons(buttons);
%>
</form>
</div> <!-- search -->

View File

@@ -22,23 +22,17 @@
var outputmode = getQParamInt("outputmode", 0) // 0 = screen, 1 = print, 2 = excel etc
var showall = getQParamInt("showall", 0) == 1;
var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijzingen)
var reg_key = getQParamInt("regiokey", -1); // Regio
var dis_key = getQParamInt("districtkey", -1); // District
var loc_key = getQParamInt("locatiekey", -1); // Locatie
var ter_code = getQParam("descr", null);
var expalgincl = getQParamInt("expAlgIncl", 0) == 1; // Ook vervallen terreinen
var ter_func_key = getQParamInt("srt", -1);
var ter_func = getQParamInt("srt", -1);
terrein_list ( "*",
{ outputmode: outputmode,
showall: showall,
reg_key: (reg_key != -1? reg_key : null),
dis_key: (dis_key != -1? dis_key : null),
loc_key: (loc_key != -1? loc_key : null),
ter_code: (ter_code != ""? ter_code : null),
ter_func_key: (ter_func_key != -1? ter_func_key : null),
noref: (noref != -1? noref : null),
expalgincl: expalgincl
ter_func: (ter_func != -1? ter_func : null),
noref: (noref != -1? noref : null)
}
);
%>

View File

@@ -75,27 +75,16 @@ else
</script>
</head>
<body>
<% if (flr_key == -1)
<body id="editbody">
<% if (flr_key == -1)
var page="alg_edit_verdieping.asp"; // Maak een nieuw
else
else
var page="alg_show_verdieping.asp";
page += "?flr_key="+flr_key;
page += "?flr_key="+flr_key;
IFRAMER("algFrame", page, { title: L("lcl_alg_verdieping_frame"),
IFRAMER("algFrame", page, { title: L("lcl_alg_verdieping_frame"),
initHeight: "450px",
FcltClose: "algClose" } );
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
var curole = "bo";
if (!authparamsCNTMAN && authparamsCNTUSE)
curole = "fe";
if (authparamsCNTMAN || authparamsCNTUSE)
{
var page2="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&flr_key="+ flr_key
IFRAMER("cntFrame", page2, { initHide: true } );
}
%>
</body>
</html>

View File

@@ -9,6 +9,8 @@
Note:
*/ %>
<!-- #include file="../Shared/disCxprs3d.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/getkenmerksql.inc" -->
<!-- #include file="alg.inc" -->
@@ -34,33 +36,32 @@ function fnrowData(oRs)
function gotoDetails(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var url = "appl/ALG/alg_ruimte_search.asp?verdieping_key=" + algData.detail_key + "&autosearch=" + autosearch + "&chkgeb=1";
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_ruimte_search.asp?verdieping_key=" + algData.detail_key + "&autosearch=" + autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_room")%>");
}
function gotoParent(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_gebouw_search.asp?gebouw_key=" + algData.parent_key + "&autosearch=" + autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_building")%>");
}
function verdiepingEdit(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_verdieping.asp?mode=viewUpdate&key=" + algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_floor")%>" + ' ' + algData.oms);
}
function doDelete(rowArray, isMulti)
{
FcltMgr.confirm(L("lcl_alg_del_txt_verdieping"), { autoconfirm: isMulti }, function() {
var flrKeyString = getKeyString(rowArray);
var data = { key: flrKeyString,
level: "V"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
});
var flrKeyString = getKeyString(rowArray);
if (isMulti || confirm(L("lcl_alg_del_txt_verdieping")))
$.post("alg_delete.asp",
{ key: flrKeyString,
level: "V" },
FcltCallbackRefresh,
"json");
}
</script>
@@ -79,29 +80,17 @@ function verdiepingen_list(pautfunction, params)
var noref = params.noref;
var reg_key = params.reg_key;
var dis_key = params.dis_key;
var loc_key = params.loc_key;
var bld_key = params.bld_key;
var lvl_key = params.lvl_key;
var chkgeb = params.chkgeb;
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var ver_key = oRs("alg_verdieping_key").Value;
var this_alg = alg.func_enabled(ver_key, "V");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
{
var eDelete = false;
if (alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
%>
<html>
@@ -122,7 +111,7 @@ function verdiepingen_list(pautfunction, params)
+ " alg_locatie l "
+ " WHERE g.alg_gebouw_key = v.alg_gebouw_key "
+ " AND l.alg_locatie_key(+) = g.alg_locatie_key "
+ " AND v.alg_verdieping_verwijder IS NULL ";
+ " AND v.alg_verdieping_verwijder IS NULL "
if ( authparams.ALGreadlevel > -1 )
{ // Er is een scope-beperking van kracht
@@ -148,13 +137,7 @@ function verdiepingen_list(pautfunction, params)
{
sqln += " AND g.alg_locatie_key = " + loc_key;
}
else if (dis_key)
sqln += " AND l.alg_district_key = " + dis_key;
else if (reg_key)
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key = " + reg_key+")";
if (!chkgeb)
sqln += " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE)) ";
sqln += " ORDER BY l.alg_locatie_upper ASC, "
+ " g.alg_gebouw_upper ASC, "
@@ -176,7 +159,6 @@ function verdiepingen_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_verdieping_key",
flexParams: fnrowFlexParams,
filterParams: params,
rowData: fnrowData,
rowActionEnabler: fnrowActionEnabler,
@@ -186,7 +168,7 @@ function verdiepingen_list(pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_descr"), content: "alg_gebouw_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_verdieping_man_code"), content: "alg_verdieping_code"}));
rst.addColumn(new Column({caption: L("lcl_estate_verdieping_man_descr"), content: "alg_verdieping_omschrijving" }));
rst.addColumn(new Column({caption: L("lcl_estate_verdieping_man_descr"), content: "alg_verdieping_omschrijving", hasActions: true}));
rst.addAction({ action: "verdiepingEdit", caption: L("lcl_edit"), isDefault: true});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single: !noref, multi: true, multiOnce: true});

View File

@@ -17,7 +17,6 @@ var locatie_key = getQParamInt("locatie_key", -1); // Locatie
var gebouw_key = getQParamInt("gebouw_key", -1); // Gebouw
var verdieping_key = getQParamInt("verdieping_key", -1); // Verdieping
var autosearch = getQParamInt("autosearch", 0) == 1;
var chkgeb = getQParamInt("chkgeb", 0) == 1;
var authparams = alg.checkAutorisation();
%>
@@ -25,33 +24,30 @@ var authparams = alg.checkAutorisation();
<head>
<% FCLTHeader.Generate(); %>
<script>
function doSubmit()
{
// Submitten met kenmerken
doSubmitWithKenmerken();
}
function myModal(init)
function myModal()
{
var lvl = "V";
var key = 0;
var bld_key = "";
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" + bld_key + "&onrgoed_niveau=" + lvl;
var titel = "<%=L("lcl_properties")%>";
showKenmerkModal(url, titel, init)
showKenmerkModal(url, titel)
}
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
</script>
</head>
<body id="searchbody">
<div id="search">
<form name="u2" target="workFrame" action="alg_verdieping_search_list.asp" method="get">
<input type="hidden" id="chkgeb" name="chkgeb" value="<%=(chkgeb?1:0)%>">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<form name="u2" target="workFrame" action="alg_verdieping_search_list.asp" method="get">
<td valign=top>
<table>
<% // <!-- Locatie, gebouw en verdieping -->
@@ -68,13 +64,13 @@ var authparams = alg.checkAutorisation();
</td>
</tr>
</table>
</form>
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action: "doSubmit();", id: "bSearch", importance: 1 },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced", importance: 3 } ];
CreateButtons(buttons, { entersubmit: true });
var buttons = [ {title: L("lcl_search"), action: "doSubmit();", id: "bSearch" },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];
CreateButtons(buttons);
%>
</form>
</div> <!-- search -->
<div id="result">

View File

@@ -22,24 +22,17 @@
var outputmode = getQParamInt("outputmode", 0) // 0 = screen, 1 = print, 2 = excel etc
var showall = getQParamInt("showall", 0) == 1;
var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijzingen)
var reg_key = getQParamInt("regiokey", -1); // Regio
var dis_key = getQParamInt("districtkey", -1); // District
var loc_key = getQParamInt("locatiekey", -1); // Locatie
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
var lvl_key = getQParamInt("verdiepingkey", -1); // Verdieping
var chkgeb = getQParamInt("chkgeb", 0) == 1; //Controleer tegen de vervallenstatus van het gebouw (vertrouw geb_key niet)
verdiepingen_list ( "*",
{ outputmode: outputmode,
showall: showall,
reg_key: (reg_key != -1? reg_key : null),
dis_key: (dis_key != -1? dis_key : null),
loc_key: (loc_key != -1? loc_key : null),
bld_key: (bld_key != -1? bld_key : null),
lvl_key: (lvl_key != -1? lvl_key : null),
noref: (noref != -1? noref : null),
chkgeb: chkgeb
noref: (noref != -1? noref : null)
}
);
%>

View File

@@ -10,6 +10,7 @@
Note:
*/
%>
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="alg.inc" -->
@@ -24,9 +25,7 @@ FCLTHeader.Requires({ plugins:["jQuery"],
var key = oRs("prs_werkplek_key").value;
var oms = oRs("prs_werkplek_omschrijving").value;
var data = {parent_key:parent_key, key:key, oms:oms,
wp_type: oRs("prs_werkplek_type").Value
};
var data = {parent_key:parent_key, key:key, oms:oms};
return JSON.stringify(data);
}
@@ -36,26 +35,15 @@ FCLTHeader.Requires({ plugins:["jQuery"],
function gotoParent(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_ruimte_search.asp?ruimte_key="+algData.parent_key+"&autosearch="+autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_room")%>");
}
function werkplekEdit(row)
function werkplekEdit(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
<% if (S("prs_werkplek_implicit") == 1) { %>
if (algData.wp_type == 0) // Een vaste. Bewerk de bezetting van de ene persoon erop
{
var url = "../prs/prs_edit_perslidwerkplek.asp?wp_key=" + algData.key;
FcltMgr.openModalDetail(url, "<%=L("lcl_change")%>", {callback: refreshall });
}
else
<% } %>
{
var url = "appl/ALG/alg_wp.asp?mode=viewUpdate&key="+algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_workspace")%>" + ' ' + algData.oms);
}
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_wp.asp?mode=viewUpdate&key="+algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_workspace")%>" + ' ' + algData.oms);
}
function refreshall(data)
@@ -66,14 +54,13 @@ FCLTHeader.Requires({ plugins:["jQuery"],
function doDelete(rowArray, isMulti)
{
FcltMgr.confirm(L("lcl_alg_del_txt_werkplek"), { autoconfirm: isMulti }, function() {
var wpKeyString = getKeyString(rowArray);
var data = { key: wpKeyString,
level: "W"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
});
var wpKeyString = getKeyString(rowArray);
if (isMulti || confirm(L("lcl_alg_del_txt_werkplek")))
$.post("alg_delete.asp",
{ key: wpKeyString,
level: "W" },
FcltCallbackRefresh,
"json");
}
function doAddWP(room_key) // als impliciet==0
@@ -88,6 +75,12 @@ FCLTHeader.Requires({ plugins:["jQuery"],
FcltMgr.openModalDetail(addurl, "<%=L("lcl_add")%>", {callback: refreshall });
}
function doEditWPBezeting(row) // als impliciet==1
{
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "../prs/prs_edit_perslidwerkplek.asp?wp_key=" + algData.key;
FcltMgr.openModalDetail(url, "<%=L("lcl_add")%>", {callback: refreshall });
}
</script>
<%
@@ -96,7 +89,7 @@ function werkplek_list(pautfunction, params)
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
var buttons = [];
var authparams = alg.checkAutorisation();
var canAdd = (authparams.rmALGwritelevel < 6); // TODO: fijner, ik denk 3. Ik moet voor deze locatie, dit district of deze regio schrijfrechten hebben
var canAdd = (authparams.mALGwritelevel < 6); // TODO: fijner, ik denk 3. Ik moet voor deze locatie, dit district of deze regio schrijfrechten hebben
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
@@ -112,7 +105,7 @@ function werkplek_list(pautfunction, params)
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteRuimte(oRs("alg_ruimte_key").value, authparams.rmALGwritelevel))
if (alg.canWriteRuimte(oRs("alg_ruimte_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
@@ -151,7 +144,6 @@ function werkplek_list(pautfunction, params)
+ " p.prs_werkplek_opp, "
+ " p.prs_perslidwerkplek_bezetting, "
+ " p.prs_afd_perslid_naam, "
+ " w.prs_werkplek_type, "
+ " w.prs_werkplek_virtueel "
+ " FROM prs_v_perslidwerkplek_gegevens p, "
+ " alg_locatie l, "
@@ -206,32 +198,9 @@ function werkplek_list(pautfunction, params)
if (canAdd)
{
buttons.push({ icon: "page_refresh.png", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
if (S("prs_werkplek_implicit") == 1)
{
buttons.push({ icon: "plus.png", title: L("lcl_add")+ " " + L("lcl_occupation"), action: "doAddWPBezeting("+room_key+")"});
buttons.push({ icon: "plus.png", title: L("lcl_add") + " " + L("lcl_prs_workplace"), action: "doAddWP("+room_key+")"});
}
else // Altijd werkplek knop
buttons.push({ icon: "plus.png", title: L("lcl_add"), action: "doAddWP("+room_key+")"});
buttons.push({ icon: "plus.png", title: L("lcl_add"), action: S("prs_werkplek_implicit") == 1?"doAddWPBezeting("+room_key+")":"doAddWP("+room_key+")"});
}
function fnWPType(oRs)
{
switch (oRs("prs_werkplek_type").Value)
{
case 0: return L("lcl_wptype_0");
case 1: return L("lcl_wptype_1") + (S("prs_werkplek_implicit")==1?" "+safe.html(oRs("prs_werkplek_omschrijving").Value):""); // Impliciet flex de code erachter
};
}
function fnBezetting(oRs)
{
switch (oRs("prs_werkplek_type").Value)
{
case 0: return oRs("prs_perslidwerkplek_bezetting").Value;
case 1: return "";
};
}
var rst = new ResultsetTable({sql:sqln,
keyColumn: "prs_werkplek_key",
ID: "algtable",
@@ -241,21 +210,19 @@ function werkplek_list(pautfunction, params)
noPrint: tiny,
outputmode: outputmode,
filterParams: params,
title: L("lcl_workplace") + "/" + L("lcl_prs_werkplekbezetting"),
title: L("lcl_workplace"),
buttons: buttons
});
rst.addColumn(new Column({caption: L("lcl_room"), content: "Samengesteld", nowrap: true}));
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_descr"), content: "alg_ruimte_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_wp_seq"), content: "prs_werkplek_volgnr", datatype: "number"}));
if (S("prs_werkplek_implicit")==0)
{
rst.addColumn(new Column({caption: L("lcl_workplace"), content: "prs_werkplek_omschrijving" }));
rst.addColumn(new Column({caption: L("lcl_workplace"), content: "prs_werkplek_omschrijving", hasActions: true}));
rst.addColumn(new Column({caption: L("lcl_estate_wp_fixed"), content: "decode_vastopp"}));
rst.addColumn(new Column({caption: L("lcl_estate_wp_area"), content: prepareArea}));
}
rst.addColumn(new Column({caption: L("lcl_wptype"), content: fnWPType}));
rst.addColumn(new Column({caption: L("lcl_occupation")+" (%)", content: fnBezetting }));
rst.addColumn(new Column({caption: L("lcl_occupation")+" (%)", content: "prs_perslidwerkplek_bezetting"}));
rst.addColumn(new Column({caption: L("lcl_name"), content: "prs_afd_perslid_naam"}));
function prepareArea(oRs)
@@ -269,7 +236,7 @@ function werkplek_list(pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_estate_wp_virt"), content: "prs_werkplek_virtueel"}));
}
rst.addAction({ action: "werkplekEdit", caption: L("lcl_edit"), isDefault: true});
rst.addAction({ action: S("prs_werkplek_implicit") == 1?"doEditWPBezeting":"werkplekEdit", caption: L("lcl_edit"), isDefault: true});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single: !tiny, multi: !tiny, multiOnce: true});
if (!tiny)
rst.addAction({ action: "gotoParent", caption: L("lcl_goto_ruimte_list")});

View File

@@ -34,13 +34,13 @@ var authparams = alg.checkAutorisation();
<head>
<% FCLTHeader.Generate(); %>
<script>
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
</script>
</head>
<body id="searchbody">
<div id="search">
<form name="u2" target="workFrame" action="alg_werkplek_search_list.asp" method="get">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<form name="u2" target="workFrame" action="alg_werkplek_search_list.asp" method="get">
<tr>
<td class="searchkolom1">
<table><!-- x rijen, 2 kolommen: label + veld -->
@@ -69,12 +69,12 @@ var authparams = alg.checkAutorisation();
</table>
</td><!-- end column 1 -->
</tr>
</form>
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action: "document.forms.u2.submit();", id: "bSearch" } ];
CreateButtons(buttons, { entersubmit: true });
CreateButtons(buttons);
%>
</form>
</div> <!-- search -->
<div id="result">

View File

@@ -57,14 +57,14 @@ if (wp_key > 0)
{
FcltMgr.closeDetail(window, { close: true})
}
if (!params.keepForm && !params.deleted)
if (!params.keepForm)
$("#algFrame")[0].src = "alg_show_wp.asp?wp_key=<%=wp_key%>";
<% } %>
}
</script>
</head>
<body>
<body id="editbody">
<% if (wp_key == -1)
var page="alg_edit_wp.asp"; // Maak een nieuw
else
@@ -76,11 +76,8 @@ if (wp_key > 0)
FcltClose: "algClose" } );
if (wp_key > -1)
{
var page2 ="../prs/prs_perslidwerkplek_search_list.asp?embedded=1&wp_key=" + wp_key;
var page2 ="../prs/prs_perslidwerkplek_search_list.asp?embedded=1&wp_key=" + wp_key
IFRAMER("algFrame", page2, { initHeight: "450px" } );
var page3 ="../ins/ins_search_list.asp?urole=bo&tiny=1&werkplekkey=" + wp_key;
IFRAMER("algFrame", page3, { initHeight: "450px" } );
}
%>
</body>

View File

@@ -15,10 +15,11 @@
*/ %>
<%
var JSON_Result = true;
DOCTYPE_Disable = 1;
%>
<!-- #include file="../Shared/common.inc"-->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./alg.inc" -->
<%

View File

@@ -11,15 +11,16 @@
*/ %>
<%
var JSON_Result = true;
DOCTYPE_Disable = 1;
%>
<!--#include file="../Shared/common.inc"-->
<!--#include file="../Shared/json2.js" -->
<%
var room_key = getQParamInt("room_key");
var sql = "SELECT COALESCE(MAX (prs_werkplek_volgnr),0) newvolg"
+ " FROM prs_werkplek"
+ " FROM prs_v_aanwezigwerkplek"
+ " WHERE prs_alg_ruimte_key = " + room_key
var oRs = Oracle.Execute(sql);
var result = { volgnr: oRs("newvolg").Value+1 };

View File

@@ -22,7 +22,6 @@ var DOCTYPE_Disable = true;
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="alg.inc" -->
<!-- #include file="alg_flexkenmerk.inc" -->
<%
@@ -31,7 +30,6 @@ generateFlexKenmerkBlock ({ urole: getQParamSafe("urole"),
onrgoed_niveau: getQParam("onrgoed_niveau", ""), // Onroerendgoed niveau
reado: getQParam("reado", 0) == 1, // Readonly
flexcolumns : getQParamInt("advanced", 0) == 1?1:S("alg_flexcolumns"),
this_alg : alg.func_enabled(-1, getQParam("onrgoed_niveau", "")),
advanced: getQParam("advanced", 0) == 1 // Geavanceerd
});
%>

1
APPL/API/.gitignore vendored
View File

@@ -1 +0,0 @@
TESTER

View File

@@ -14,14 +14,14 @@ DOCTYPE_Disable = 1;
LCL_Disable = 1;
ANONYMOUS_Allowed = 1;
FCLTEXPIRES = 8*60; // geen database interactie tenslotte
NO_ADDHEADER = 1; // common.inc voert wat globale acties hierdoor niet meer uit
var EXPIRED_PASSWORD_OK = true; // performance
%>
<!-- #include file="../Shared/common.inc"-->
<!-- #include file="../api/api.inc" -->
<%
var API = new API_func(); // controleert vanzelf
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY); // controleert vanzelf
__Log("Transferring to: " + API.apidata.file);
//__DoLog("Transferring to: " + API.apidata.file);
Server.Transfer(API.apidata.file);
%>

View File

@@ -3,222 +3,51 @@
$Id$
File: api.inc
Description: Functies voor API's
Description:
Parameters:
Context:
Notes:
*/
function API_func()
{
this.APIname = getQParam("API");
var sql = "SELECT *"
+ " FROM fac_api"
+ " WHERE fac_api_name = " + safe.quoted_sql(this.APIname);
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
%>
<%
function API_func(APIname, APIKEY)
{
this.error("Invalid API: " + this.APIname);
oRs.Close();
Response.End;
}
this.APIname = APIname;
this.APIKEY = APIKEY;
if (user_key < 0)
{
this.APIKEY = getQParam("APIKEY", "");
if (!this.APIKEY && S("basic_auth_realm"))
var sql = "SELECT *"
+ " FROM fac_api"
+ " WHERE fac_api_name = " + safe.quoted_sql(APIname);
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
{
Response.Write("Unknown API: " + APIname);
Response.End;
}
else if (oRs("fac_api_apikey").Value != APIKEY)
{
Response.Write("Invalid APIKEY for: " + APIname);
Response.End;
};
this.apidata =
{
Response.Status = "401 Unauthorized";
Response.AddHeader("WWW-Authenticate", "Basic realm=\"" + S("basic_auth_realm") + "\"");
Response.End;
APIname: APIname,
APIKEY: APIKEY,
file: oRs("fac_api_filepath").Value,
// niet meer gebruikt. API=machine2machine is nooit session
// no_session: oRs("fac_api_no_session").Value,
prs_perslid_key: oRs("prs_perslid_key").Value,
loglevel: oRs("fac_api_loglevel").Value,
usrrap_key: oRs("fac_usrrap_key").Value,
stylesheet: oRs("fac_api_stylesheet").Value,
import_app_key: oRs("fac_import_app_key").Value,
options: eval("("+oRs("fac_api_options_json").Value+")"),
viewmapping: eval("("+oRs("fac_api_viewmapping_json").Value+")")
}
else
{
var sql2 = "SELECT prs_perslid_key, prs_perslid_naam"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_apikey = " + safe.quoted_sql(this.APIKEY)
+ " AND prs_perslid_verwijder IS NULL"; // Eigenlijk zou de trigger APIKEY moeten wissen bij verwijderen
var oRs2 = Oracle.Execute(sql2);
if (oRs2.Eof)
{
this.error("Invalid APIKEY: " + this.APIKEY);
oRs2.Close();
Response.End;
};
__Log("API User is: " + oRs2("prs_perslid_naam"));
user_key = oRs2("prs_perslid_key").Value;
oRs2.Close();
}
}
oRs.Close();
this.apidata =
{
APIname: this.APIname,
APIKEY: this.APIKEY,
file: oRs("fac_api_filepath").Value,
prs_perslid_key: user_key,
loglevel: oRs("fac_api_loglevel").Value,
usrrap_key: oRs("fac_usrrap_key").Value,
stylesheet: oRs("fac_api_stylesheet").Value,
stylesheet_out: oRs("fac_api_stylesheet_out").Value,
import_app_key: oRs("fac_import_app_key").Value
};
if (this.apidata.loglevel > 1) // Zet maar op 3 als je HTML logging wilt
{
__Logging = this.apidata.loglevel || __Logging || 0; // Voor de rest van dit bestand
__Log("Logging for this API ({0}) is forced on".format(this.APIname), '#f00');
// We doen niets met eventuele prs_perslid_key; dat doet loginTry.asp maar voor ons
}
try
{
if (oRs("fac_api_options_json").Value)
this.apidata.options = JSON.parse(oRs("fac_api_options_json").Value);
}
catch (e)
{
__DoLog(e);
this.error("Invalid api 'options': " + e.description);
}
try
{
if (oRs("fac_api_viewmapping_json").Value)
this.apidata.viewmapping = JSON.parse(oRs("fac_api_viewmapping_json").Value);
}
catch (e)
{
this.error("Invalid api 'viewmapping': " + e.description);
}
oRs.Close();
// Wij doen niets met eventuele prs_perslid_key; dat doet loginTry.asp maar voor ons
}
API_func.prototype.error = function (msg)
{
if (JSON_Result && JSON) // Merk op dat 'invalid APIKEY' al door /default.asp
{ // is onderschept en dus niet hier komt.
Response.Write(JSON.stringify({ success: false, message: msg }));
}
else
{
Response.Status = "500 Internal server error"; // 500_error.asp blijkt hier niet op in te grijpen
Response.Write(safe.html(msg));
// Op productie zie je bovenstaande Response.Write ook niet terug in Fiddler omdat
// 'detailed error messages' uit staat. Daarom ook maar loggen voor het gemak.
__DoLog(safe.html(msg), "ff0000");
}
Response.End;
}
// LET OP: Verwacht wordt dat de JSON-code in de body utf-8 encoded is, niet windows-1252!
// (in de praktijk moet je *moeite* doen om windows-1252 te krijgen dus dit is handiger)
function RequestJSON()
{
var jvraag;
if(Request.TotalBytes > 0)
{
var lngBytesCount = Request.TotalBytes;
jvraag = BytesToStr(Request.BinaryRead(lngBytesCount));
}
__Log("Vraag: " + jvraag);
try
{
var vraag = myJSON.parse(jvraag);
}
catch (e)
{
__DoLog("eval faalt met: {0}<br>{1}".format(e.description, jvraag), "ffff00");
return null;
}
return vraag;
}
function RequestXML(API)
{
var xvraag;
if(Request.TotalBytes > 0)
{
var lngBytesCount = Request.TotalBytes;
xvraag = BytesToStr(Request.BinaryRead(lngBytesCount));
if (API.apidata.loglevel)
__Log2File(xvraag, API.APIname + "_IN");
}
__Log("Request body: " + xvraag);
try
{
var inputXML = Server.CreateObject("MSXML2.DOMDocument.6.0");
inputXML.loadXML(xvraag); // inputXML.load(Request) zou nog niet vertalen naar Windows-1252
}
catch (e)
{
return { error: e.description };
}
if (inputXML.parseError.errorCode)
{
return { error: inputXML.parseError.reason + " @ " + inputXML.parseError.line + "." + inputXML.parseError.linepos };
}
return { xml: inputXML };
}
// Eventuele input stylesheet is er overheen
function styledRequestXML(API)
{
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.6.0");
var parsed = RequestXML(API);
if (parsed.error)
{
__DoLog( "Error loading XML: " + parsed.error, "#ff0000");
API.error("Error loading XML: " + parsed.error);
}
if (API.apidata.stylesheet)
{
var iXsl = Server.CreateObject("MSXML2.DOMDocument.6.0");
iXsl.resolveExternals = true; // XSL kan includes hebben (MARX#51709)
if( ! iXsl.load(Server.MapPath(API.apidata.stylesheet)) )
{
API.error("Could not load XSL " + API.apidata.stylesheet + "\n" + iXsl.parseError.reason);
}
var inputXML = Server.CreateObject("MSXML2.DOMDocument.6.0");
inputXML = parsed.xml;
inputXML.transformNodeToObject(iXsl, xmlReq);
if (API.apidata.loglevel) __Log2File(xmlReq.xml, API.APIname + "_TUSSEN");
}
else
var xmlReq = parsed.xml;
return xmlReq;
}
function BytesToStr(bytes)
{
var stream = Server.CreateObject("ADODB.STREAM");
stream.type = 1;
stream.open;
stream.write(bytes);
stream.position = 0;
stream.type = 2; // Text
stream.charset = "utf-8";
// Mogelijk was het nog utf-8. Dat is riskant met unicode quotes (FCLT#60591)
// Daarom expliciete conversie
var win1252Stream = new ActiveXObject("ADODB.Stream");
win1252Stream.Open();
win1252Stream.CharSet = "Windows-1252"; // het doel
stream.copyTo(win1252Stream);
stream.close;
win1252Stream.position = 0;
var ReadBytes = 131072; // optimaal volgens https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/readtext-method?view=sql-server-ver15
var sOut = "";
while (!win1252Stream.EOS)
{
sOut = sOut + win1252Stream.ReadText(ReadBytes);
}
win1252Stream.close;
return sOut;
}
%>

View File

@@ -4,80 +4,53 @@
$Id$
File: api_SOAP.asp
Description: API om een SOAP-achtige service te bieden
Parameters:
Context:
Notes: Zie UWVA/KASPRS voor voorbeeld gebruik
TODO: Parameters uit Request-SOAP bericht ook via een XLS er uit vogelen
Description: API om een SOAP-achtige service te bieden gebaseerd op een bestaande view.
Dat is informatie in XML op te leveren (of een ander formaat dat je via een XSL
kunt bewerkstelligen) uit een view en bepaalde toegestande filters.
Wat de API kan en doet (view, filters, limiet) moet in fac_api gedefinieerd zijn,
geidentificeerd door de apiname.
Parameters: apiname, apikey
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes: De readrechten van de user die met de meegegeven apikey wordt geidentificeerd
gehanteerd worden. TODO!
Het is Oracle die in eerste instantie de XML fabriceert.
BELANGRIJK:
De bedoeling is dat de DE M2M SOAP/Machine manier is om info uit FACILITOR te krijgen.
De enige manier.
Dit mechanisme is dus zo generiek mogelijk, en er worden zoveel mogelijk conventies gehanteerd
Iedere aanpassing of gewenste customisation moet kunnen ZONDER dit mechanisme aan te passen en
ZONDER een ander mechanisme te gebruiken. Om een dergelijke service te kunnen gebruiken moet:
- een view bestaan (gebruik bij voorkeur een bestaande voorgedefinieerde MOD_V_API_XXX view)
- een definitierecord (API) in fac_api bestaan/worden toegevoegd die per request aan die views linkt
- een user (met APIKEY) de juiste rechten krijgen
Vervolgens kan de service worden aangeroepen met API en APIKEY, en bevat de geposte XML
de criteria. Een resulterende XML met een Response is het resultaat, alsmede een HTTP-statuscode
waarbij 200 Ok is.
Status: Autorisatie tegen de API_KEY-user checken
*/
var logall=0; // handig met testen
DOCTYPE_Disable = 1;
LCL_Disable = 1
THIS_FILE = "appl/api/api_soap.asp";
// __Logging = 1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<!-- #include file="../api/api.inc" -->
<%
Session.Codepage = 65001;
Response.Charset = 'utf-8';
Session.Abandon(); // Voor de zekerheid
try
{
var API = new API_func(); // Valideert ook
var asJSON = getQParam("json","0")!="0";
var parsed = RequestXML(API);
if (parsed.error)
function XML2TEMP(xml, postfix)
{
__DoLog("Error " + parsed.error);
}
var xmlReq = parsed.xml;
if (!logall) return;
var in_file = Server.MapPath("./temp") + "/" + customerId + "_" + APIname + "_" + postfix + "_";
var jsDate = new Date();
var s = jsDate.getFullYear() + padout(jsDate.getMonth() + 1) + padout(jsDate.getDate())
+ padout(jsDate.getHours()) + padout(jsDate.getMinutes()) + padout(jsDate.getSeconds())
in_file = in_file + s + ".xml";
//Response.Write(in_file);Response.End;
if (xmlReq.documentElement.firstChild.prefix)
var soapns = xmlReq.documentElement.firstChild.prefix + ":";
else
var soapns = "";
var body = xmlReq.getElementsByTagName(soapns+"Body");
if (!body.length) {
throw("Invalid request: No XML body");
var fs = Server.CreateObject("Scripting.FileSystemObject");
var ts = fs.CreateTextFile(in_file, true);
ts.WriteLine (xml);
ts.Close();
}
var GetReq = body[0].firstChild.baseName;
// req heeft vorm GetXXX, met XXX is de req van de definitie in fac_api
var req = GetReq.substring(3);
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
xmlReq.load(Request);
XML2TEMP(xmlReq.xml, "IN");
var body = xmlReq.getElementsByTagName("soap:Body");
var req = body[0].firstChild.nodeName;
var requestData = null;
// de apidata.viewmapping is een JSON string met (voorbeeld)
// {"req": "Reserveringen",
// "node": "reservering",
// "view": "res_v_api_reserveringen",
// "filter":{"locatiecode":"locatiecode", "catalogus": "catalogus", "begindatumtijd": {"colName": "van", "operand":"GT", "datatype": "date"}, "einddatumtijd": {"colName": "tot", "operand":"LT", "datatype": "date"}},
// "limit":75}
for (i=0; i < API.apidata.viewmapping.length; i++)
{
if (API.apidata.viewmapping[i].req == req)
@@ -85,200 +58,21 @@ try
requestData = API.apidata.viewmapping[i];
}
}
if (requestData == null) {
API.error("Invalid request: " + GetReq);
}
var viewname = requestData.view;
var resnodename = requestData.node;
var autfunction = requestData.autfunction; // optioneel
if (!autfunction)
{
autfunction =
{"regio": "WEB_ALGUSE",
"district": "WEB_ALGUSE",
"locatie": "WEB_ALGUSE",
"gebouw": "WEB_ALGUSE",
"verdieping": "WEB_ALGUSE",
"ruimte": "WEB_ALGUSE",
"bestelling": "WEB_BESUSE",
"bestelopdracht": "WEB_BESUSE",
"afspraak": "WEB_BEZUSE",
"contract": "WEB_CNTUSE",
"factuur": "WEB_EXTFIN",
"deel": "WEB_INSUSE",
"melding": "WEB_MLDUSE",
"opdracht": "WEB_MLDUSE",
"afdeling": "WEB_PRSUSE",
"persoon": "WEB_PRSUSE",
"reservering": "WEB_RESUSE",
"voorziening": "WEB_RESUSE"}[resnodename];
}
viewname = requestData.view;
// Nu filters zoeken
var wheres = [];
var filters = body[0].firstChild.childNodes;
for (i=0; i < filters.length; i++)
{
var filterName = filters[i].baseName;
var found = false;
for (xx in requestData.filter) // kennen we dit filter?
var filterName = filters[i].nodeName;
for (xx in requestData.filter) // kennen we deze filter?
{
if (filterName == xx)
{
var found = true;
var wildtext = filters[i].text;
var colHash = requestData.filter[xx];
if (typeof colHash == "string") // backwards compatible
{
colHash = { colName: colHash,
datatype: "string",
operand : "LIKE"
};
wildtext += "%";
}
else
{
// heeft colHash de volgende structuur
/*
res_datum: { colName: "res_rsv_ruimte_van",
datatype: "date",
operand: "LT"
}
*/
}
var criterium = safe.quoted_sql(filters[i].text);
switch(colHash.datatype)
{
case "string" :
criterium = safe.quoted_sql_upper(filters[i].text);
break;
case "date" :
// Er zijn regels over datums
// http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#isoformats
// We willen natuurlijk dat het datatype in de view gewoon datum is
// en dan moeten we van de string van het criterium volgens conventie een date maken
// TODO: Oracle vindt dat standaard Date niet DateTime is...
// Voor filtering is dit perfect zo, maar de presentatie in de XML moet ..?
// TOCH TODO: wel of geen seconden??!?
criterium = "TO_DATE("+safe.quoted_sql(filters[i].text)+", 'yyyy-mm-dd\"T\"hh24:mi:ss')";
break;
}
switch(colHash.operand)
{
case "EQ":
wheres.push("UPPER("+colHash.colName + ") = " + criterium)
break;
case "LIKE":
// altijd case-insensitive vind ik oke, maar de wildcard zou IMO in het filter moeten worden meegegeven.
wheres.push("UPPER("+colHash.colName + ") LIKE " + safe.quoted_sql_wild(wildtext))
break;
case "LT":
wheres.push(""+colHash.colName + " < " + criterium)
break;
case "GT":
wheres.push(""+colHash.colName + " > " + criterium)
break;
case "LTE":
wheres.push(""+colHash.colName + " <= " + criterium)
break;
case "GTE":
wheres.push(""+colHash.colName + " >= " + criterium)
break;
}
wheres.push("UPPER("+requestData.filter[xx] + ") LIKE " + safe.quoted_sql_wild(filters[i].text + "%"))
}
}
if (!found && (filterName.match(/\_KEY$/i) || filterName.toUpperCase() == "KEY") // fallback: op _KEY velden mag je automatisch filteren met EQ
&& parseInt(filters[i].text, 10))
{
var sql = "SELECT data_type"
+ " , data_length"
+ " , data_precision"
+ " , data_scale"
+ " FROM user_tab_columns"
+ " WHERE table_name = " + safe.quoted_sql_upper(viewname)
+ " AND column_name = " + safe.quoted_sql_upper(filterName);
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
wheres.push(filterName + " = " + parseInt(filters[i].text, 10))
}
oRs.Close();
}
}
// Bu: 3D scope toepassen
// Check for our special 3D column names
var has3D = {};
var any3D = false;
sql = "SELECT UPPER(column_name) column_name"
+ " FROM user_tab_columns"
+ " WHERE table_name = " + safe.quoted_sql_upper(viewname)
+ " AND UPPER(column_name) LIKE 'FCLT_3D_%'";
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
{
any3D = true;
has3D[oRs("column_name").Value] = true;
oRs.MoveNext();
}
oRs.Close();
if (any3D)
{
if (!autfunction)
API.error("3d yet autfunction undefined"); // Strict genomen niet nodig voor FCLT_3D_USER_KEY
var authparams = user.checkAutorisation(autfunction);
// TODO: Onderstaande code gaan delen met fac_usrrap.inc?
if (has3D["FCLT_3D_DISCIPLINE_KEY"])
{
var disc_3d = " FCLT_3D_DISCIPLINE_KEY IN"
+ " (SELECT ins_discipline_key FROM fac_v_webgebruiker "
+ " WHERE fac_functie_key = " + authparams.autfunctionkey
+ " AND prs_perslid_key = " + user_key + ")";
if (has3D["FCLT_3D_DISCIPLINE2_KEY"])
disc_3d = " (" + disc_3d + " OR "
+ " FCLT_3D_DISCIPLINE2_KEY IN"
+ " (SELECT ins_discipline_key FROM fac_v_webgebruiker "
+ " WHERE fac_functie_key = " + authparams.autfunctionkey
+ " AND prs_perslid_key = " + user_key + ")"
+ ")";
wheres.push(disc_3d);
}
if (has3D["FCLT_3D_LOCATIE_KEY"] && authparams.ALGreadlevel > -1)
{
wheres.push(" FCLT_3D_LOCATIE_KEY IN"
+ " (SELECT alg_locatie_key FROM fac_v_my_locations "
+ " WHERE niveau ="+authparams.ALGreadlevel
+ " AND prs_perslid_key="+user_key+")");
}
if (has3D["FCLT_3D_GEBOUW_KEY"] && authparams.ALGreadlevel > -1)
{
wheres.push(" FCLT_3D_GEBOUW_KEY IN"
+ " (SELECT alg_gebouw_key FROM fac_v_my_buildings "
+ " WHERE niveau ="+authparams.ALGreadlevel
+ " AND prs_perslid_key="+user_key+")");
}
if (has3D["FCLT_3D_AFDELING_KEY"] && authparams.PRSreadlevel > 0)
{
wheres.push(" FCLT_3D_AFDELING_KEY IN"
+ " (SELECT prs_afdeling_key FROM prs_v_afdeling_familie a"
+ " WHERE a.prs_afdeling_elder_key IN"
+ " (SELECT aa.prs_afdeling_elder_key"
+ " FROM prs_v_afdeling_familie aa"
+ " WHERE aa.prs_afdeling_key = " + user.prs_afdeling_key()
+ " AND aa.niveau = " + authparams.PRSreadlevel + "))");
}
if (has3D["FCLT_3D_USER_KEY"] )
{
wheres.push(" FCLT_3D_USER_KEY = " + user_key);
}
}
if (requestData.limit)
@@ -288,87 +82,30 @@ try
if (wheres.length)
where = "WHERE " + wheres.join(" AND ");
var resultnode = GetReq+'Response'; // Dit is volgens onze eigen conventie zo
var stylesheet = API.apidata.stylesheet;
var mode = req;
var key = -1;
var xtrakey = -1;
var sql_params = safe.quoted_sql(viewname) + ", "
+ key + " , "
+ safe.quoted_sql(customerId) + ", "
+ "'$AspSession$', "
+ xtrakey + ", "
+ safe.quoted_sql(where)
+ ", " + safe.quoted_sql(resultnode)
+ ", " + safe.quoted_sql(resnodename);
var sql = "SELECT xml.make_view_xml2(" + sql_params + ") xml_blob FROM dual";
var oRs = Oracle.Execute(sql);
var xml_content = oRs("xml_blob").Value;
oRs.Close();
__Log("XML blob is {0} karakters.".format(xml_content.length));
Oracle.Execute("BEGIN DBMS_SESSION.free_unused_user_memory; END;");
if (API.apidata.loglevel) __Log2File(xml_content, API.APIname + "_DATA");
if (asJSON)
Response.ContentType = "application/json";
else
Response.ContentType = "text/xml";
Response.AddHeader("Access-Control-Allow-Origin", "*"); // Opdat FireFox cross-domain toestaat
// Als er geen afwijkende xsl is gedefinieerd dan leveren we gewoon generiek de rapport_data node
// op van het resultaat,dus maar zonder de metadata, dus alleen de facilitor/[resultnode]/
if (stylesheet == null)
{
var xmldoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
xmldoc.async = false;
xmldoc.loadXML(xml_content);
if (xmldoc.parseError.errorCode != 0)
{
var myErr = xmldoc.parseError;
throw("Error in xmlfile: " + myErr.reason);
}
else
{
var resultdoc = xmldoc.getElementsByTagName(resultnode)[0];
if (resultdoc)
{
if (asJSON)
{
var antwoord = JSON.stringify(xmlToJson(resultdoc),null, getQParam("pretty","0")=="1"?2:0);
}
else
var antwoord = resultdoc.xml;
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
var eTag = '"' + oCrypto.hex_sha1(antwoord).toLowerCase() + '"';
Response.AddHeader("ETag", eTag);
if (Request.ServerVariables("HTTP_IF_NONE_MATCH") == eTag)
{ // We hebben een match!
Response.Clear();
Response.Status = "304 Not modified";
Response.End;
}
if (API.apidata.loglevel) __Log2File(antwoord, API.APIname + "_OUT");
Response.write(antwoord);
}
}
var stylesheet = API.apidata.stylesheet;
sql = "BEGIN xml.make_view_xml(" + safe.quoted_sql(viewname) + ", " + key + " , "
+ safe.quoted_sql(customerId) + ", " + safe.quoted_sql(Session.SessionId)
+ ", " + xtrakey + ", " + safe.quoted_sql(where) + "); END;";
Oracle.Execute(sql);
sql = "SELECT fac_xml_xml FROM fac_xml WHERE fac_session_id = " + safe.quoted_sql(Session.SessionId) + " ORDER BY fac_xml_volgnr";
oRs = Oracle.Execute( sql);
var xml_content = "";
while (!oRs.eof) {
xml_content = xml_content + oRs(0).value;
oRs.moveNext();
}
else
{
// die req-parameter is waarschijnlijk vrij zinloos
var params = { mode: req };
if (API.apidata.loglevel)
params.log_postfix = API.APIname + "_OUT";
STR2Stream(xml_content, stylesheet, Response, params);
}
}
catch (e)
{
API.error(typeof e == "string"? e : e.description);
}
__Log("XML is " + xml_content.length + " karakters");
ASPPAGE_END();
XML2TEMP(xml_content, "DATA");
//stylesheet = GetStylesheet(pcompany);
var srtnotificatie = "";
Response.ContentType = "text/xml";
STR2Stream(xml_content,stylesheet, Response, mode, srtnotificatie);
Session.Abandon(); // Voor de zekerheid
%>

View File

@@ -8,7 +8,7 @@
Parameters:
Context:
Notes: Zie UWVA/KASPRS voor voorbeeld gebruik
TODO: Parameters uit Request-SOAP bericht ook via een XSL er uit vogelen
TODO: Parameters uit Request-SOAP bericht ook via een XLS er uit vogelen
*/
DOCTYPE_Disable = 1;
@@ -19,8 +19,6 @@
<!-- #include file="../api/api.inc" -->
<%
var API = new API_func();
Session.Codepage = 65001;
Response.Charset = 'utf-8';
@@ -28,7 +26,7 @@
function XML2TEMP(xml, postfix)
{
if (!API.apidata.loglevel) return;
var in_file = shared.tempFolder() + "/" + customerId + "_" + API.APIname + "_" + postfix + "_";
var in_file = Server.MapPath("./temp") + "/" + customerId + "_" + APIname + "_" + postfix + "_";
var jsDate = new Date();
var s = String(jsDate.getFullYear()) + padout(jsDate.getMonth() + 1) + padout(jsDate.getDate())
+ padout(jsDate.getHours()) + padout(jsDate.getMinutes()) + padout(jsDate.getSeconds())
@@ -41,12 +39,13 @@
ts.Close();
}
var parsed = RequestXML(API);
if (parsed.error)
{
__DoLog("Error " + xmlReq.parseError.reason);
}
var xmlReq = parsed.xml;
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
Session("logging") = API.apidata.loglevel||0;
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
xmlReq.load(Request);
XML2TEMP(xmlReq.xml, "IN");
@@ -76,25 +75,36 @@
var oRsW = Oracle.Execute(whichSQL);
var xml_nodes_arr = [];
var xml_nodes_dom = new ActiveXObject("MSXML2.DOMDocument.6.0");
var xml_nodes_dom = new ActiveXObject("MSXML2.DOMDocument.4.0");
var FCLTElement = xml_nodes_dom.createElement("facilitor");
var headerDone = false;
where = "";
while (!oRsW.Eof)
{
var xml_content = make_xml({ xmlnode: oRsW("xmlnode").Value,
key: oRsW("fac_tracking_refkey").Value,
xtrakey: xtrakey,
where: where
});
sql = "BEGIN xml.make_xml(" + safe.quoted_sql(oRsW("xmlnode").Value) + ", " + oRsW("fac_tracking_refkey").Value + " , "
+ safe.quoted_sql(customerId) + ", " + safe.quoted_sql(Session.SessionId)
+ ", " + xtrakey + ", " + safe.quoted_sql(where) + "); END;";
Oracle.Execute(sql);
sql = "SELECT fac_xml_xml FROM fac_xml WHERE fac_session_id = " + safe.quoted_sql(Session.SessionId) + " ORDER BY fac_xml_volgnr";
oRs = Oracle.Execute( sql);
var xml_content_arr = [];
while (!oRs.eof)
{
xml_content_arr.push(oRs(0).value);
oRs.moveNext();
}
oRs.Close();
var xml_content = xml_content_arr.join("");
// Loggen van de individuele XMLNODE's
// XML2TEMP(xml_content, "XML_" + oRsW("xmlnode").Value + "_" + oRsW("fac_tracking_refkey").Value);
__Log("XML '" + oRsW("xmlnode").Value + "' voor key " + oRsW("fac_tracking_refkey").Value + " is " + xml_content.length + " karakters");
xml_nodes_arr.push(xml_content); // E<>n node
var xmldoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
var xmldoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
xmldoc.async = false;
xmldoc.loadXML(xml_content);
xmldoc.setProperty("SelectionLanguage", "XPath");

View File

@@ -23,5 +23,7 @@
Session.Codepage = 65001;
Response.Charset = 'utf-8';
var API = new API_func();
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
%>

View File

@@ -16,7 +16,7 @@
Notes:
*/
DOCTYPE_Disable = 1;
THIS_FILE = "appl/api/api_besordsoap.asp";
THIS_FILE = "appl/api/api_mldsoap.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
@@ -28,15 +28,17 @@
Session.Codepage = 65001;
Response.Charset = 'utf-8';
var API = new API_func();
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
var tsql = "-"; // Voor tijdelijke statement(s)
var sql = "-"; // De uiteindelijke update-sql
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
var resulttekst = "";
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
xmlReq.load(Request);
var xmlReq = styledRequestXML(API);
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.4.0");
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
// The response
@@ -45,7 +47,7 @@
var now = new Date();
var nowtxt = now.getFullYear()+'-'+padout(now.getMonth()+1) +'-'+padout(now.getDate()) +' '
+padout(now.getHours()) +':'+padout(now.getMinutes())+':'+padout(now.getSeconds());
var elmHeader = xmlResp.createElement("header");
var FCLTHeader = xmlResp.createElement("header");
var headerinfo = {
// file: String(Request.ServerVariables("SCRIPT_NAME")).toLowerCase(),
datum: nowtxt,
@@ -57,9 +59,22 @@
{
var FCLTdata = xmlResp.createElement(param);
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
elmHeader.appendChild(FCLTdata);
FCLTHeader.appendChild(FCLTdata);
}
FCLTElement.appendChild(elmHeader);
FCLTElement.appendChild(FCLTHeader);
function XMLval(xml, tag)
{
if (!xml)
return null;
var xx = xml.getElementsByTagName(tag);
if (!xx || !xx.length)
return null;
xx = xx[0].childNodes
if (!xx || !xx.length)
return null;
return xx[0].nodeValue;
}
// Hier zou het echte werk moeten gebeuren nav. xmlReq
// en FCLTElement moeten we uitbreiden met antwoorden.
@@ -86,41 +101,34 @@
var bes_key = parseInt(idarr[0], 10);
var opdrvolgnr = parseInt(idarr[1], 10);
if (isNaN (bes_key) || isNaN (opdrvolgnr))
{
resultcode = 2;
resulttekst = "Invalid ID (key="+ opdrid +")";
}
else if (opdraction != "update")
{
resultcode = 2;
resulttekst = "Invalid action (type="+ opdraction +")";
}
else
{
if (isNaN (bes_key) || isNaN (opdrvolgnr)) {
resultcode = 2;
resulttekst = "Invalid ID (key="+ opdrid +")";
} else if (opdraction != "update") {
resultcode = 2;
resulttekst = "Invalid action (type="+ opdraction +")";
} else {
tsql = "SELECT bes_bestelopdr_key, prs_bedrijf_key, bes_bestelopdr_status "
+ " FROM bes_bestelopdr"
+ " WHERE bes_bestelopdr_id="+ safe.quoted_sql(opdrid);
var oRs = Oracle.Execute(tsql);
if (!oRs.eof)
{
if (!oRs.eof) {
opdr_key = oRs("bes_bestelopdr_key").value;
lev_key = oRs("prs_bedrijf_key").value;
curstatus = oRs("bes_bestelopdr_status").value;
}
if (opdr_key == -1)
{
if (opdr_key == -1) {
resultcode = 3;
resulttekst = "Unknown order";
}
else
{ // Hier heb ik een geldige bes_bestelling_key + bes_bestelopdr_key.
// Bericht bevat statuswijziging of artikellijst; nooit beide!
if (opdrstatus != null)
{ // Hier is dus een status meegegeven; evt. artikellijst wordt genegeerd!
switch (opdrstatus)
{
} else {
// Hier heb ik een geldige bes_bestelling_key + bes_bestelopdr_key.
// Bericht bevat statuswijziging of artikellijst met "geleverde" aantallen;
// in principe nooit beide!
if (opdrstatus != null) // Statuswijziging; evt. artikellijst wordt genegeerd!
{
// Er is dus wel een status meegegeven.
switch (opdrstatus) {
case 'BES2CO':
case 'BES2RE':
var opdropm_kolom = "BES_BESTELOPDR_OPMERKING";
@@ -129,29 +137,22 @@
tsql = "SELECT prs_bedrijf_order_confirm "
+ " FROM prs_bedrijf"
+ " WHERE prs_bedrijf_key="+ lev_key;
oRs = Oracle.Execute(tsql);
if (oRs("prs_bedrijf_order_confirm").value == 1)
{
var oRs = Oracle.Execute(tsql);
if (oRs("prs_bedrijf_order_confirm").value == 1) {
if (curstatus == 5) { // Ter bevestiging
if (opdrstatus == 'BES2CO')
{
if (opdrstatus == 'BES2CO') {
tsql = "BEGIN BES.acceptopdracht(" + opdr_key + ", " + user_key +", ''); END;";
Oracle.Execute(tsql);
}
else
{
} else {
tsql = "BEGIN BES.rejectopdracht(" + opdr_key + ", " + user_key +", ''); END;";
Oracle.Execute(tsql);
}
}
else
{
} else {
resultcode = 5;
resulttekst = "Invalid status change";
}
}
else
{
} else {
resultcode = 4;
resulttekst = "Remote confirmation not enabled";
}
@@ -166,17 +167,16 @@
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
+ " AND sd.bes_srtgroep_key=sg.bes_srtgroep_key"
+ " AND sg.ins_discipline_key=dp.bes_ins_discipline_key";
oRs = Oracle.Execute(tsql);
if (oRs("bes_disc_params_remoteconfirm").value == 1)
{
if (curstatus == 4 )
{ // In bestelling
var oRs = Oracle.Execute(tsql);
if (oRs("bes_disc_params_remoteconfirm").value == 1) {
if (curstatus == 4 ) { // In bestelling
// Zeg dat alles geleverd is wat besteld is.
tsql = "UPDATE bes_bestelopdr_item "
+ " SET bes_bestelopdr_item_aantalontv=bes_bestelopdr_item_aantal"
+ " , bes_bestelopdr_item_ontvangen=SYSDATE"
+ " WHERE bes_bestelopdr_key="+ opdr_key;
Oracle.Execute(tsql);
var oRs = Oracle.Execute(tsql);
bes.updatebestelopdrstatus(opdr_key, user_key);
// Sluit alle aanvraagregels af die nu geheel geleverd zijn.
@@ -191,17 +191,13 @@
+ " AND bi.bes_bestelopdr_item_key=boi.bes_bestelopdr_item_key"
+ " AND boi.bes_bestelopdr_key="+ opdr_key
+ " AND boi.bes_bestelopdr_item_aantal=boi.bes_bestelopdr_item_aantalontv)";
Oracle.Execute(tsql);
var oRs = Oracle.Execute(tsql);
bes.updatebestellingstatus (bes_key, user_key);
}
else
{
} else {
resultcode = 5;
resulttekst = "Invalid status change";
}
}
else
{
} else {
resultcode = 4;
resulttekst = "Remote delivery not enabled";
}
@@ -210,162 +206,108 @@
resultcode = 2;
resulttekst = "Invalid status";
} // switch
}
else
{ // Hier is dus een artikellijst meegegeven (prijswijzigingen, aantallen en/of alleen opmerking)!
} else { // Artikellijst met "geleverde" aantallen (of alleen opmerking).
var artikelen = opdrachten[i].getElementsByTagName("artikel");
if (artikelen.length > 0)
{ // Loop door artikelen.
if (curstatus == 4 )
{ // In bestelling; alleen in deze toestand mogen - via API - artikelen worden bijgewerkt!
var opdropm_kolom = "BES_BESTELOPDR_DELIVERY_OPMERK";
if (artikelen.length > 0) { // Loop door artikelen.
var opdropm_kolom = "BES_BESTELOPDR_DELIVERY_OPMERK";
for (i=0; i < artikelen.length && resultcode == -1; i++)
{ // Lees per node weer de tags en waarden.
var artikelnr = artikelen[i].getAttribute("nummer");
var newprijs = XMLval(artikelen[i], "prijs");
var newprijsval = parseFloat(XMLval(artikelen[i], "prijs"));
var newink = XMLval(artikelen[i], "inkprijs");
var newinkval = parseFloat(XMLval(artikelen[i], "inkprijs"));
var newbruto = XMLval(artikelen[i], "brutoprijs");
var newbrutoval = parseFloat(XMLval(artikelen[i], "brutoprijs"));
var newontv = XMLval(artikelen[i], "aantalontv");
var newontvval = parseInt(XMLval(artikelen[i], "aantalontv"), 10);
// Check of vinkje bij catalogus registratie van levering toestaat.
tsql = "SELECT MAX(dp.bes_disc_params_remoteconfirm) bes_disc_params_remoteconfirm "
+ " FROM bes_bestelling_item bi, bes_srtdeel sd, bes_srtgroep sg, bes_disc_params dp"
+ " WHERE bi.bes_bestelling_key="+ bes_key
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
+ " AND sd.bes_srtgroep_key=sg.bes_srtgroep_key"
+ " AND sg.ins_discipline_key=dp.bes_ins_discipline_key";
var oRs = Oracle.Execute(tsql);
// Bepaal item-keys plus huidige aantallen besteld/geleverd voor artikel.
tsql = "SELECT bi.bes_bestelling_item_key, bi.bes_bestelopdr_item_key, "
+ " boi.bes_bestelopdr_item_aantal curaant, "
+ " COALESCE(boi.bes_bestelopdr_item_aantalontv, 0) curontv "
+ " FROM bes_bestelopdr_item boi, bes_bestelling_item bi, bes_srtdeel sd"
+ " WHERE boi.bes_bestelopdr_key="+ opdr_key
+ " AND boi.bes_bestelopdr_item_key=bi.bes_bestelopdr_item_key"
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
+ " AND sd.bes_srtdeel_nr="+ safe.quoted_sql(artikelnr);
oRs = Oracle.Execute(tsql);
if (!oRs.eof)
{
var bi_key = oRs("bes_bestelling_item_key").value;
var boi_key = oRs("bes_bestelopdr_item_key").value;
var curaant = oRs("curaant").value;
var curontv = oRs("curontv").value;
if (oRs("bes_disc_params_remoteconfirm").value == 1) {
if (curstatus == 4 ) { // In bestelling
for (i=0; i < artikelen.length; i++)
{
// Lees per node weer de tags en waarden.
var artikelnr = artikelen[i].getAttribute("nummer");
var newontv = parseInt(XMLval(artikelen[i], "aantalontv"), 10);
if ((newprijs && (isNaN (newprijsval) || newprijsval < 0)) ||
(newink && (isNaN (newinkval) || newinkval < 0)) ||
(newbruto && (isNaN (newbrutoval) || newbrutoval < 0)))
{
resultcode = 8;
resulttekst = "Invalid price(s)";
}
else if (newprijs || newink || newbruto)
{ // Werk de eventuele prijzen bij; zover meegegeven zijn die geldig.
// In de bestelaanvraag!
tsql = "UPDATE bes_bestelling_item "
+ " SET bes_srtdeel_key=bes_srtdeel_key"
+ (newprijs ? ", bes_bestelling_item_prijs="+ newprijsval : "")
+ (newink ? ", bes_bestelling_item_inkprijs="+ newinkval : "")
+ (newbruto ? ", bes_bestelling_item_brutoprijs="+ newbrutoval : "")
+ " WHERE bes_bestelling_item_key="+ bi_key;
Oracle.Execute(tsql);
shared.trackaction("BESUPD", bes_key, L("lcl_bes_is_besupdtrackprice").format(S("bes_bestelling_prefix") + bes_key, safe.curr(newprijsval)));
// Bepaal huidige aantallen besteld/geleverd voor artikel.
tsql = "SELECT boi.bes_bestelopdr_item_aantal curaant, COALESCE(boi.bes_bestelopdr_item_aantalontv, 0) curontv "
+ " FROM bes_bestelopdr_item boi, bes_bestelling_item bi, bes_srtdeel sd"
+ " WHERE boi.bes_bestelopdr_key="+ opdr_key
+ " AND boi.bes_bestelopdr_item_key=bi.bes_bestelopdr_item_key"
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
+ " AND sd.bes_srtdeel_nr="+ safe.quoted_sql(artikelnr);
var oRs = Oracle.Execute(tsql);
if (!oRs.eof) {
var curaant = oRs("curaant").value;
var curontv = oRs("curontv").value;
// En de bestelopdracht!
tsql = "UPDATE bes_bestelopdr_item "
+ " SET bes_bestelopdr_item_posnr=bes_bestelopdr_item_posnr"
+ (newprijs ? ", bes_bestelopdr_item_prijs="+ newprijsval : "")
+ (newink ? ", bes_bestelopdr_item_inkprijs="+ newinkval : "")
+ (newbruto ? ", bes_bestelopdr_item_brutoprijs="+ newbrutoval : "")
+ " WHERE bes_bestelopdr_item_key="+ boi_key;
Oracle.Execute(tsql);
shared.trackaction("BES2UP", opdr_key, L("lcl_bes_is_bes2uptrackprice").format(S("bes_bestelopdr_prefix") + opdrid, safe.curr(newprijsval)));
}
if (newontv && resultcode == -1)
{ // Nieuw aantal ontvangen en nog steeds geen fouten.
// Check of vinkje bij catalogus registratie van levering toestaat.
tsql = "SELECT MAX(dp.bes_disc_params_remoteconfirm) bes_disc_params_remoteconfirm "
+ " FROM bes_bestelling_item bi, bes_srtdeel sd, bes_srtgroep sg, bes_disc_params dp"
+ " WHERE bi.bes_bestelling_key="+ bes_key
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
+ " AND sd.bes_srtgroep_key=sg.bes_srtgroep_key"
+ " AND sg.ins_discipline_key=dp.bes_ins_discipline_key";
oRs = Oracle.Execute(tsql);
if (oRs("bes_disc_params_remoteconfirm").value == 1)
{ // Correcties of (deel)registratie retouren met negatieve <aantalontv> niet toegestaan; wel via BES2AF!
if (isNaN (newontvval) || newontvval < 0 || (curontv + newontvval) > curaant)
{
resultcode = 8;
resulttekst = "Invalid delivery count";
}
else
{ // Werk het geleverde aantal bij.
tsql = "UPDATE bes_bestelopdr_item "
+ " SET bes_bestelopdr_item_ontvangen=SYSDATE"
+ " , bes_bestelopdr_item_aantalontv=COALESCE(bes_bestelopdr_item_aantalontv,0)+"+ newontvval
+ " WHERE bes_bestelopdr_item_key="+ boi_key;
Oracle.Execute(tsql);
bes.updatebestelopdrstatus(opdr_key, user_key);
}
}
else
{
resultcode = 4;
resulttekst = "Remote delivery not enabled";
}
}
}
else
{
resultcode = 7;
resulttekst = "Unknown article number";
if (!isNaN (newontv) && (curontv + newontv) <= curaant) {
// Werk het geleverde aantal bij.
tsql = "UPDATE bes_bestelopdr_item boi "
+ " SET boi.bes_bestelopdr_item_aantalontv=COALESCE(boi.bes_bestelopdr_item_aantalontv, 0)+"+ newontv
+ " , bes_bestelopdr_item_ontvangen=SYSDATE"
+ " WHERE boi.bes_bestelopdr_key="+ opdr_key
+ " AND COALESCE(boi.bes_bestelopdr_item_aantalontv, 0)+"+ newontv + ">0"
+ " AND EXISTS"
+ " (SELECT 1 FROM bes_bestelling_item bi, bes_srtdeel sd "
+ " WHERE bi.bes_bestelopdr_item_key=boi.bes_bestelopdr_item_key"
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
+ " AND sd.bes_srtdeel_nr="+ safe.quoted_sql(artikelnr) +")";
var oRs = Oracle.Execute(tsql);
bes.updatebestelopdrstatus(opdr_key, user_key);
} else {
resultcode = 7;
resulttekst = "Invalid delivery count";
}
} else {
resultcode = 6;
resulttekst = "Unknown article number";
}
}
// Sluit alle aanvraagregels af die - mogelijk - nu geheel geleverd zijn.
tsql = "UPDATE bes_bestelling_item "
+ " SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal"
+ " WHERE bes_bestelling_item_key IN"
+ " (SELECT bi.bes_bestelling_item_key "
+ " FROM bes_bestelling b, bes_bestelling_item bi, bes_bestelopdr_item boi"
+ " WHERE b.bes_bestelling_key="+ bes_key
+ " AND b.bes_bestelling_status=5" // Besteld
+ " AND b.bes_bestelling_key=bi.bes_bestelling_key"
+ " AND bi.bes_bestelopdr_item_key=boi.bes_bestelopdr_item_key"
+ " AND boi.bes_bestelopdr_key="+ opdr_key
+ " AND boi.bes_bestelopdr_item_aantal=boi.bes_bestelopdr_item_aantalontv)";
var oRs = Oracle.Execute(tsql);
bes.updatebestellingstatus (bes_key, user_key);
} else {
resultcode = 5;
resulttekst = "Invalid delivery timing";
}
// Sluit alle aanvraagregels af die - mogelijk - nu geheel geleverd zijn.
tsql = "UPDATE bes_bestelling_item "
+ " SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal"
+ " WHERE bes_bestelling_item_key IN"
+ " (SELECT bi.bes_bestelling_item_key "
+ " FROM bes_bestelling b, bes_bestelling_item bi, bes_bestelopdr_item boi"
+ " WHERE b.bes_bestelling_key="+ bes_key
+ " AND b.bes_bestelling_status=5" // Besteld
+ " AND b.bes_bestelling_key=bi.bes_bestelling_key"
+ " AND bi.bes_bestelopdr_item_key=boi.bes_bestelopdr_item_key"
+ " AND boi.bes_bestelopdr_key="+ opdr_key
+ " AND boi.bes_bestelopdr_item_aantal=boi.bes_bestelopdr_item_aantalontv)";
Oracle.Execute(tsql);
bes.updatebestellingstatus (bes_key, user_key);
}
else
{
resultcode = 6;
resulttekst = "Invalid update timing";
}
}
else
{ // Raar, alleen opmerking, heeft dan vast niets met levering te maken?
} else {
resultcode = 4;
resulttekst = "Remote delivery not enabled";
}
} else {
// Raar, alleen opmerking, heeft dan vast niets met levering te maken?
var opdropm_kolom = "BES_BESTELOPDR_OPMERKING";
}
}
}
// Dit zijn de overige wijzigingen (alleen opmerking), die voeren we alleen uit
// bij geen of een geldige statuswijziging.
if (resultcode == -1)
{ // Nog steeds geen fouten.
if (opdropm != null )
{
if (resultcode == -1) { // Nog steeds geen fouten.
if (opdropm != null ) {
tsql = "UPDATE bes_bestelopdr "
+ " SET "+ opdropm_kolom
+ "=DECODE ("+ opdropm_kolom
+ " , NULL, "+ safe.quoted_sql(opdropm, 320)
+ " , SUBSTR ("+ opdropm_kolom +"||CHR(13)||CHR(10)||"+ safe.quoted_sql(opdropm, 320) +", 1, 320))"
+ " , NULL, "+ safe.quoted_sql(opdropm)
+ " , SUBSTR ("+ opdropm_kolom +"||CHR(13)||CHR(10)||"+ safe.quoted_sql(opdropm) +", 1, 4000))"
+ " WHERE bes_bestelopdr_key="+ opdr_key;
Oracle.Execute(tsql);
oRs = Oracle.Execute(tsql);
}
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze bestelopdracht.
}
} // end geldige opdrachtkey
oRs.Close();
} // end geldige opdrid
var binfo = {
@@ -392,13 +334,5 @@
xmlResp.appendChild(FCLTElement);
Response.ContentType = "text/xml";
if (API.apidata.stylesheet)
{
// Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
STR2Stream(xmlResp.xml, API.apidata.stylesheet, Response, {});
}
else
{
Response.Write(xmlResp.xml)
}
Response.Write(xmlResp.xml)
%>

View File

@@ -1,272 +0,0 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_bes_soap.asp
Description: API voor bes-soap berichten (bestelAANVRAGEN)
Interpreteert bericht zodanig dat een bestelaanvraag wordt aangemaakt/aangepast.
Parameters: Een xml
Status: Eerste implementatie in kader FSN#26296 (tbv Corsa/BCT)
Context:
Notes:
*/
DOCTYPE_Disable = 1;
THIS_FILE = "appl/api/api_bessoap.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../Shared/flexfiles.inc" -->
<!-- #include file="../api/api.inc" -->
<!-- #include file="../shared/kpl_ksrt_validate.inc" -->
<!-- #include file="../bes/bes.inc" -->
<%
// We sturen het antwoord in UTF-8.
Session.Codepage = 65001;
Response.Charset = 'utf-8';
var API = new API_func();
var tsql = "-"; // Voor tijdelijke statement(s)
var sql = "-"; // De uiteindelijke insert/update-sql
var xmlReq = styledRequestXML(API);
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
// The response.
var FCLTElement = xmlResp.createElement("facilitor");
// The response header.
var now = new Date();
var nowtxt = now.getFullYear()+'-'+padout(now.getMonth()+1) +'-'+padout(now.getDate()) +' '
+padout(now.getHours()) +':'+padout(now.getMinutes())+':'+padout(now.getSeconds());
var FCLTHeader = xmlResp.createElement("header");
var headerinfo = {
// file: String(Request.ServerVariables("SCRIPT_NAME")).toLowerCase(),
datum: nowtxt,
naam: user.naam(),
custId: customerId,
language: user.lang()
}
for (param in headerinfo)
{
var FCLTdata = xmlResp.createElement(param);
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
FCLTHeader.appendChild(FCLTdata);
}
FCLTElement.appendChild(FCLTHeader);
// Hier zou het echte werk moeten gebeuren nav. xmlReq
// en FCLTElement moeten we uitbreiden met antwoorden.
var detected ="?";
// xmlReq.setProperty("SelectionLanguage", "XPath"); // Weet niet of noodzakelijk
// Dit is de bestellingenloop (mochten er ooit nog anderen gaan volgen).
var bestellingen = xmlReq.getElementsByTagName("bestelling");
for (i=0; i < bestellingen.length; i++)
{
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
var resulttekst = "";
// Lees per node de (optionele) tags en waarden.
var fields = []; // Bij te werken velden.
var besid = bestellingen[i].getAttribute("key"); // Bij type=update/delete
var besaction = bestellingen[i].getAttribute("type").toLowerCase();
var nwStatus = XMLval(bestellingen[i], "status");
if (besid == null) { // Voorkom problemen als key-attribuut ontbreekt!
besid = '';
}
var bestelling_key = parseInt(besid, 10); // En anders bepaald bij insert!
user.checkAutorisation("WEB_BESUSE"); // Dit is nog ongeacht de reservering
if (besaction == 'insert') {
resultcode = 999;
resulttekst = "Insert unsupported";
}
else if (besaction == 'update')
{
if (besid == '') {
resultcode = 2;
resulttekst = "Undefined bestelling (key)";
}
else if (isNaN (bestelling_key)) {
resultcode = 2;
resulttekst = "Invalid bestelling (key) "+besid;
}
else {
tsql = "SELECT bes_bestelling_key"
+ " FROM bes_bestelling"
+ " WHERE bes_bestelling_key="+bestelling_key
+ " AND 1=1"; // Niet verwijderd, ...???
var toRs = Oracle.Execute(tsql);
if (!toRs.eof) {
// Hier heb ik een geldige bes_bestelling_key.
bes_bestelling_key = toRs("bes_bestelling_key").value;
var bes_info = bes.bestelling_info(bes_bestelling_key); // Globale variabele met alle bes_bestelling informatie
var this_bes = bes.func_enabled_bestelling(bes_info); // Wat heb ik zoal aan rechten op deze specifieke reservering
var bes_disc_info = bes.disc_info(bes_info.dis_key); // alle discipline informatie
if(!this_bes.canChange) {
resultcode = 9;
resulttekst = "Niet geautoriseerd voor bestelling "+besid;
}
else {
if (nwStatus != null) { // Bij update optioneel
// statusdiagram afdwingen:
// * BESFIT alleen vanuit status 2 als bes_disc_info.disc_params_fiatflow == 0.
// vanuit sattus 4 als bes_disc_info.disc_params_fiatflow == 1.
// * BESREJ alleen vanuit status 2 en 3 als bes_disc_info.disc_params_fiatflow == 0.
// vanuit status 2 en 4 als bes_disc_info.disc_params_fiatflow == 1.
sql = "SELECT bes_bestelling_status"
+ " FROM bes_bestelling"
+ " WHERE bes_bestelling_key="+bestelling_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof) {
curStatus = oRs("bes_bestelling_status").value;
// Feitelijke UPDATE status.
// BESFIT: alleen vanuit status 2 als bes_disc_info.disc_params_fiatflow == 0.
// vanuit sattus 4 als bes_disc_info.disc_params_fiatflow == 1.
if (nwStatus == "BESFIT") {
if ((bes_disc_info.disc_params_fiatflow == 0 && curStatus == 2) ||
(bes_disc_info.disc_params_fiatflow == 1 && curStatus == 4))
{
bes.setbestellingstatus(bes_bestelling_key, 3); // Gefiatteerd
sql = "SELECT bes_bestelling_status"
+ " FROM bes_bestelling"
+ " WHERE bes_bestelling_key="+bestelling_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof) {
var bes_status = oRs("bes_bestelling_status").value;
if (bes_status == 3) {
resulttekst = "Bestelling "+bes_bestelling_key+" gefiatteerd";
resultcode = 0;
}
else {
resulttekst = "Bestelling "+bes_bestelling_key+" niet gefiatteerd";
resultcode = 308;
}
}
else {
resulttekst = "Fout bij ophalen nieuwe status";
resultcode = 307;
}
}
else if (curStatus == 3) {
resulttekst = "Bestelling "+bes_bestelling_key+" is al gefiatteerd";
resultcode = 306;
}
else {
resulttekst = "Kan niet fiatteren; ongeldige beginstatus";
resultcode = 305;
}
}
// BESREJ: alleen vanuit status 2 en 3 als bes_disc_info.disc_params_fiatflow == 0.
// vanuit status 2 en 4 als bes_disc_info.disc_params_fiatflow == 1.
else if (nwStatus == "BESREJ") {
if ((bes_disc_info.disc_params_fiatflow == 0 && (curStatus == 2 || curStatus == 3)) ||
(bes_disc_info.disc_params_fiatflow == 1 && (curStatus == 2 || curStatus == 4)))
{
bes.setbestellingstatus(bes_bestelling_key, 1); // Afgewezen
sql = "SELECT bes_bestelling_status"
+ " FROM bes_bestelling"
+ " WHERE bes_bestelling_key="+bestelling_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof) {
var bes_status = oRs("bes_bestelling_status").value;
if (bes_status == 1) {
resulttekst = "Bestelling "+bes_bestelling_key+" afgewezen";
resultcode = 0;
} else {
resulttekst = "Bestelling "+bes_bestelling_key+" niet afgewezen";
resultcode = 108;
}
} else {
resulttekst = "Fout bij ophalen nieuwe status";
resultcode = 107;
}
}
else if (curStatus == 1) {
resulttekst = "Bestelling "+bes_bestelling_key+" is al afgewezen";
resultcode = 106;
}
else {
resulttekst = "Kan niet afwijzen; ongeldige beginstatus";
resultcode = 105;
}
}
else {
resultcode = 3;
resulttekst = "Ongeldige status "+nwStatus;
}
} else {
resultcode = 4;
resulttekst = "Ongedefinieerde huidige status";
}
} // nwStatus != null
if (resultcode == -1) { // nog steeds geen fouten
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze bestelling.
}
}
////////////////////////////////////////////////////////////////////////////////
} else {
resultcode = 5;
resulttekst = "Not updatable bestelling "+besid;
}
toRs.Close();
}
}
else if (besaction == 'delete')
{
resultcode = 999;
resulttekst = "Delete unsupported";
}
else {
resultcode = 2;
resulttekst = "Undefined operation (type)";
}
var binfo = {
returncode: resultcode,
returntekst: resulttekst,
// executed:sql, // debug
datum: nowtxt, // TODO: Beter ook xml-datum???
besid: besid
}
var FCLTBody = xmlResp.createElement("bestelling"); // type=response
FCLTBody.setAttribute('key', besid);
FCLTBody.setAttribute('type', 'response');
for (param in binfo)
{
var FCLTdata = xmlResp.createElement(param);
FCLTdata.appendChild(xmlResp.createTextNode(binfo[param]));
FCLTBody.appendChild(FCLTdata);
}
FCLTElement.appendChild(FCLTBody);
} // end for
// Alle bestelling-nodes zijn behandeld.
xmlResp.appendChild(FCLTElement);
//__DoLog("Ik gebruik stylesheet '"+API.apidata.stylesheet+"'");
if (API.apidata.stylesheet)
{
var outputXML = Server.CreateObject("MSXML2.DOMDocument.6.0");
xmlResp.transformNodeToObject(iXsl, outputXML);
Response.ContentType = "text/xml";
Response.Write(outputXML.xml)
}
else
{
Response.ContentType = "text/xml";
Response.Write(xmlResp.xml)
}
%>

View File

@@ -10,283 +10,20 @@
Status:
Context:
Notes:
Onderstaand het voorstel van RWSN/MOOP. Wij doen XML ipv JSON, daar moet getransformeerd worden
(2) Versturen van de bezoekersregistraties
Voor het versturen van de registraties stel ik voor om een HTTP-POST service te maken, deze is bijvoorbeeld te bereiken op ~/visitations
In de request header geef ik de Api Key mee:
Api-Key: 'te_bepalen_door_facilitor'
In de body stel ik voor <20><>n key-value pair mee te geven met de naam jsonData waarin de hele json van de bezoekersregistratie in verwerkt zit:
json_data={
"start":"Fri, 03 Aug 2012 10:09:39 +0200", //begindatum in RFC2822 formaat
"end":"HH:MM",
"host_id":2934, //id van de ingelogde gebruiker
"building_id":4712, //id van gekozen locatie
"visitors":
[
{
"name":"Pietje Puk",
"company":"RUG"
},
{
"name":"Jan Janssen",
"company":"Achmea"
},
{...}
]
}
Bij een juiste verwerking wordt http status code 201 teruggegeven met enkel een succes json:
{
"success":true,
}
Anders een 4xx of 5xx code met daarin een json geformatteerde fout:
{
"success":false,
"errors":
[
{
"description":"start is not a valied RFC2822 format"
},
{
"description":"building_id cannot be null"
},
{...}
]
}
*/
DOCTYPE_Disable = 1;
THIS_FILE = "appl/api/api_bezsoap.asp";
DOCTYPE_Disable = 1;
THIS_FILE = "appl/api/api_bezsoap.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../api/api.inc" -->
<%
// We sturen het antwoord in UTF-8.
Session.Codepage = 65001;
Response.Charset = 'utf-8';
// We sturen het antwoord in UTF-8.
Session.Codepage = 65001;
Response.Charset = 'utf-8';
var API = new API_func();
// XML Omzetten naar equivalente JSON
// var xmlReq = Server.CreateObject("MSXML2.DOMDocument.6.0");
// xmlReq.load(Request);
// The response.
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
var FCLTElement = xmlResp.createElement("facilitor");
// The response header.
var now = new Date();
var nowtxt = now.getFullYear() + '-' + padout(now.getMonth() + 1) + '-' + padout(now.getDate()) + ' '
+ padout(now.getHours()) + ':' + padout(now.getMinutes()) + ':' + padout(now.getSeconds());
var elmHeader = xmlResp.createElement("header");
var headerinfo = {datum: nowtxt,
naam: user.naam(),
custId: customerId,
language: user.lang()
}
for (param in headerinfo)
{
var FCLTdata = xmlResp.createElement(param);
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
elmHeader.appendChild(FCLTdata);
}
FCLTElement.appendChild(elmHeader);
// Hier zou het echte werk moeten gebeuren nav. xmlReq
// en FCLTElement moeten we uitbreiden met antwoorden.
//var afspraken = xmlReq.getElementsByTagName("afspraak");
user.checkAutorisation("WEB_BEZUSE"); // Dit is nog ongeacht de bestelling
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
var resulttekst = "";
var json_txt = Request.Form;
var json_data = JSON.parse(json_txt);
SaveOneAfspraak(json_data); // The one and only
// TODO: onderstaande code moet een generieke bez.afspraak_create (of afspraak_save) worden
// en ook gebruikt worden door bez_edit_afspraak_save.asp. Zo ver zijn we nog niet...
function SaveOneAfspraak(json_data)
{
var afspr_key;
var bez_actie;
var alg_locatie_key;
var alg_onrg_key;
var date_to;
var date_from = new Date(json_data.start);
if (json_data.start == "undefined" || typeof date_from != "object" || isNaN(date_from))
{
resultcode = 2;
resulttekst = "Undefined aankomst datum";
}
else
{
date_to = date_from;
date_to = new Date(date_from.getTime());
var time_end = json_data.end;
if (json_data.time_end != "undefined" && typeof time_end == "string")
var time_end = time_end.split(":");
date_to.setHours(time_end[0], time_end[1]);
if (time_end.length != 2 || typeof date_to != "object" || isNaN(date_to))
{
resultcode = 2;
resulttekst = "Undefined vertrek tijd";
}
else if (date_to < date_from)
{
resultcode = 2;
resulttekst = "Vertrek tijd voor aankomst tijd";
}
else
{
// Standaard actie voor mobile: Opbellen en op laten halen.
var sql = " SELECT bez_actie_key FROM bez_actie WHERE bez_actie_omschrijving LIKE 'Op laten halen (bellen)'"
var oRs = Oracle.Execute(sql);
bez_actie = oRs("bez_actie_key").Value;
var alg_gebouw_key = json_data.building_id;
if (!alg_gebouw_key || alg_gebouw_key < 0)
{
resultcode = 2;
resulttekst = "Undefined alg_gebouw_key";
}
else if (S("vis_afspraak_onrgoed_uses_keys") == 0)
{
sql = "SELECT SUBSTR (alg_plaatsaanduiding, 1, 30) plaats"
+ " FROM alg_v_plaatsaanduiding_all"
+ " WHERE alg_onroerendgoed_keys = " + alg_gebouw_key
+ " AND alg_onroerendgoed_type <> 'L'";
if (!oRs.eof)
var plaats = oRs("plaats").Value;
else
{
resultcode = 5;
resulttekst = "Building_id not found";
}
}
else
{
sql = "SELECT alg_locatie_key FROM alg_gebouw WHERE alg_gebouw_key = " + alg_gebouw_key;
oRs = Oracle.Execute(sql);
alg_locatie_key = oRs("alg_locatie_key").Value;
if (!alg_locatie_key || alg_locatie_key < 0)
{
resultcode = 2;
resulttekst = "Undefined alg_locatie_key";
}
else
{
var fields = []; // Bij te werken velden.
// Altijd nieuwe afspraak vooralsnog
fields.push({ dbs: "bez_afspraak_key", typ: "key", seq: "bez_s_bez_afspraak_key" });
fields.push({ dbs: "bez_afspraak_opmerking", typ: "varchar", val: "Created by mobile", len: 320 });
// Deze velden altijd opslaan (geen bez_afspraak_telefoonnr)
var fields = [ { dbs: "prs_perslid_key", typ: "key", val: user_key /* invoerder, notrack */ },
{ dbs: "bez_afspraak_datum", typ: "datetime", val: date_from, track: L("lcl_vis_start_date") },
{ dbs: "bez_actie_key", typ: "key", val: bez_actie, track: L("lcl_action"), foreign: "bez_actie" },
{ dbs: "bez_afspraak_eind", typ: "datetime", val: date_to, track: L("lcl_vis_end_date") },
{ dbs: "alg_locatie_key", typ: "key", val: alg_locatie_key, track: true /* afzonderlijke tracking, wel oldjsval */ },
{ dbs: "bez_afspraak_contact_key", typ: "key", val: user_key, track: L("lcl_vis_contactperson"), foreign: "prs_perslid" }
];
if (S("vis_afspraak_host_uses_keys") == 0)
fields.push({ dbs: "bez_afspraak_gastheer", typ: "varchar", val: user.naam(), track: L("lcl_vis_visit") });
else
fields.push({ dbs: "bez_afspraak_host_key", typ: "key", val: user_key, track: L("lcl_vis_visit"), foreign: "prs_perslid" });
if (S("vis_afspraak_onrgoed_uses_keys") == 0)
{
fields.push({ dbs: "bez_afspraak_ruimte", typ: "varchar", val: plaats, track: true /* afzonderlijke tracking, wel oldjsval */ });
}
else
{
alg_onrg_key = alg_gebouw_key; // Building_id is meegegeven
fields.push({ dbs: "alg_onrgoed_keys", typ: "key", val: alg_onrg_key, track: true /* afzonderlijke tracking, wel oldjsval */ });
}
fields.push({ dbs: "bez_afspraak_key", typ: "key", seq: "bez_s_bez_afspraak_key" });
var bezIns = buildInsert("bez_afspraak", fields, { noValidateToken: true });
afspr_key = bezIns.sequences["bez_afspraak_key"];
Oracle.Execute(bezIns.sql);
for (var i = 0; i < json_data.visitors.length; i++)
{
var visitor_data = json_data.visitors[i];
var naam = visitor_data.name;
var bedrijf = visitor_data.company;
// Geen prs_contactpersoon_key, prs_perslid_key en bez_bezoekers_pasnr
var bezfields = [ { dbs: "bez_afspraak_key", typ: "key", val: afspr_key },
{ dbs: "bez_afspraak_naam", typ: "varchar", val: naam, track: L("lcl_vis_name"), len: 30 },
{ dbs: "bez_afspraak_bedrijf", typ: "varchar", val: bedrijf, track: L("lcl_vis_company") + (S("bez_sel_internpersoon") == 1? "/" + L("lcl_department") : ""), len: 60 }
];
bezfields.push({ dbs: "bez_bezoekers_key", typ: "key", seq: "bez_s_bez_bezoekers_key" });
// Niet door BO aangemeld. Niet direct 'in' boeken.
var bezIns = buildInsert("bez_bezoekers", bezfields, { noValidateToken: true });
var bez_key = bezIns.sequences["bez_bezoekers_key"];
Oracle.Execute(bezIns.sql);
//var bezUpd = {trackarray: [L("lcl_bez_is_bezadd") + ": " + naam + "/" + bedrijf]};
}
shared.trackaction("BEZMUT", afspr_key);
}
}
}
}
if (resultcode == -1) // nog steeds geen fouten
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze reservering.
var ainfo = {returncode: resultcode,
returntekst: resulttekst,
// executed:sql, // debug
user_key: user_key,
afspr_key: afspr_key,
bez_afspraak_datum: date_from, // TODO: Beter ook xml-datum???
bez_afspraak_eind: date_to,
bez_actie_key: bez_actie,
alg_locatie_key: alg_locatie_key,
alg_onrgoed_keys: alg_onrg_key
}
if (S("vis_afspraak_host_uses_keys") == 0)
ainfo.gastheer = user.naam();
else
ainfo.host_key = user_key;
var FCLTBody = xmlResp.createElement("afspraak"); // type=response
FCLTBody.setAttribute('key', afspr_key);
FCLTBody.setAttribute('type', 'response');
for (param in ainfo)
{
var FCLTdata = xmlResp.createElement(param);
FCLTdata.appendChild(xmlResp.createTextNode(ainfo[param]));
FCLTBody.appendChild(FCLTdata);
}
FCLTElement.appendChild(FCLTBody);
}
xmlResp.appendChild(FCLTElement);
Response.ContentType = "text/xml";
Response.Write(xmlResp.xml)
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
%>

View File

@@ -25,15 +25,17 @@
Session.Codepage = 65001;
Response.Charset = 'utf-8';
var API = new API_func();
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
var tsql = "-"; // Voor tijdelijke statement(s)
var sql = "-"; // De uiteindelijke insert/update-sql
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
var resulttekst = "";
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
xmlReq.load(Request);
var xmlReq = styledRequestXML(API);
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.4.0");
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
// The response.
@@ -42,7 +44,7 @@
var now = new Date();
var nowtxt = now.getFullYear()+'-'+padout(now.getMonth()+1) +'-'+padout(now.getDate()) +' '
+padout(now.getHours()) +':'+padout(now.getMinutes())+':'+padout(now.getSeconds());
var elmHeader = xmlResp.createElement("header");
var FCLTHeader = xmlResp.createElement("header");
var headerinfo = {
// file: String(Request.ServerVariables("SCRIPT_NAME")).toLowerCase(),
datum: nowtxt,
@@ -54,9 +56,32 @@
{
var FCLTdata = xmlResp.createElement(param);
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
elmHeader.appendChild(FCLTdata);
FCLTHeader.appendChild(FCLTdata);
}
FCLTElement.appendChild(FCLTHeader);
// Luie oplossing: Oracle kan dit simpeler dan JavaScript.
function XMLtoJsDate(xmlDate)
{
var sql = "SELECT TO_DATE("+safe.quoted_sql(xmlDate)+", 'YYYY-MM-DD HH24:MI:SS') FROM DUAL";
var oRs = Oracle.Execute(sql);
var dt = new Date(oRs(0).Value);
oRs.Close();
return dt;
}
function XMLval(xml, tag)
{
if (!xml)
return null;
var xx = xml.getElementsByTagName(tag);
if (!xx || !xx.length)
return null;
xx = xx[0].childNodes
if (!xx || !xx.length)
return null;
return xx[0].nodeValue;
}
FCLTElement.appendChild(elmHeader);
// Hier zou het echte werk moeten gebeuren nav. xmlReq
// en FCLTElement moeten we uitbreiden met antwoorden.
@@ -108,15 +133,8 @@
if (this_cnt.canChange) {
// Bepaal de door te voeren wijzigingen.
if (van_datum != null) {
try {
var looptijd_van = XMLtoJsDate(van_datum);
var looptijd_tot = XMLtoJsDate(tot_datum);
}
catch (e)
{
__Log2File(xmlReq.xml, API.APIname + "_IN");
Response.End;
}
if (looptijd_van <= looptijd_tot) {
fields.push({ dbs: "cnt_contract_looptijd_van", typ: "date", val: looptijd_van, track: L("lcl_cnt_date_start") });
}
@@ -134,7 +152,7 @@ catch (e)
if (resultcode == -1) { // Nog steeds geen fouten.
if (fields.length > 0) {
// Construct/uitvoeren update.
var cntUpd = buildTrackingUpdate("cnt_contract", "cnt_contract_key = " + cnt_key, fields, { noValidateToken: true });
var cntUpd = buildTrackingUpdate("cnt_contract", "cnt_contract_key = " + cnt_key, fields);
oRs = Oracle.Execute(cntUpd.sql);
// Tot slot nog de tracking toevoegen.

View File

@@ -21,7 +21,9 @@
<!-- #include file="../api/api.inc" -->
<%
var API = new API_func();
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
var usrrap_key = API.apidata.usrrap_key;
//var viewname = API.apidata.viewname;

View File

@@ -23,5 +23,7 @@
Session.Codepage = 65001;
Response.Charset = 'utf-8';
var API = new API_func();
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
%>

View File

@@ -1,43 +0,0 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_flex.asp
Description: API voor opvragen van flexfiles
Parameters: Een xml
Status:
Context: (alleen) door Putorders
Notes: Zie flexfiles.inc/flexProps2 voor ondersteunde coderingen
*/
JSON_Result = true;
THIS_FILE = "appl/api/api_flex.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/flexfiles.inc" -->
<!-- #include file="../api/api.inc" -->
<%
var API = new API_func();
// TODO checkAuthorization("WEB_PUOxxx") ?
var flexcode = getQParam("flexcode");
if (flexcode.match(/^M=CAD/))
{
// <xsl:element name="img">
// <xsl:attribute name="frc">M=CAD&amp;labelPos=2&amp;vKey=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/key"/>&amp;highlight=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/ruimte/key"/>&amp;mode=0&amp;discs=981&amp;sizeX=700&amp;sizeY=400&amp;offsetX=10&amp;offsetY=10&amp;scale=950&amp;paperColor=16777215
// </xsl:attribute>
// </xsl:element>
Server.Transfer(rooturl + "/APPL/CAD/mySlnk2IMG.asp"); // Die kan het ook wel oplossen
}
// Else gewone flexfiles
var props = flexProps2(flexcode);
__Log(props);
Response.Write(JSON.stringify(props));
Response.End;
%>

View File

@@ -1,5 +1,4 @@
<%@ language = "JavaScript" %>
<% Server.ScriptTimeout=6000; %>
<% /*
$Revision$
$Id$
@@ -17,62 +16,39 @@
%>
<!-- #include file="../../appl/Shared/common.inc" -->
<!-- #include file="../../appl/api/api.inc" -->
<!-- #include file="../../appl/shared/FlexFiles.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<script language="javascript" src="../imp/imp_shared.js" runat="server"></script>
<%
// We sturen het antwoord in UTF-8.
Session.Codepage = 65001;
Response.Charset = 'utf-8';
var API = new API_func();
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
var import_app_key = API.apidata.options['import_app_key'];
var bytes = Request.TotalBytes;
if (bytes == 0)
{
__DoLog("api_gen_import empty body posted", "#ffff00");
Response.Write("Error: no data posted for API import");
Response.End; // Grof maar anders AiAi, dat is nog erger
}
fileStream = Server.CreateObject("ADODB.Stream");
fileStream.Type = 1; // adTypeBinary eerst nog
fileStream.Open();
fileStream.Write(Request.BinaryRead(bytes));
fileStream.Write(Request.BinaryRead(Request.TotalBytes));
if (API.apidata.loglevel & 1 || __Logging > 0)
{
var savename = __Log2FileName("{0}_{1}".format(API.APIname, user_key));
fileStream.SaveToFile(savename, 2); // 2=adSaveCreateOverWrite
__DoLog("Import file was saved in {0}".format(savename), "#ff4");
}
if (API.apidata.loglevel & 1)
fileStream.SaveToFile(Server.MapPath(rooturl + "/temp/") + "/" + customerId + "_" + APIname + ".tmp", 2); // 2=create
var res = impReadStream(fileStream, import_app_key,
{ fac_home: Server.MapPath(rooturl + "/") + "/",
filepathname: "API " + API.APIname,
customerId: customerId,
keep_old: 300, // Parallelle import 300 seconden ondersteunen
user_key: user_key,
stylesheet: API.apidata.stylesheet,
keep_backup: true // mits fac_import_app_folder gezet
});
var import_key = res.import_key;
filepathname: "API " + APIname,
customerId: customerId});
if (res.success)
{
var warn = L("lcl_imp_read_lines") + res.read_lines;
var res = impProcessStream(res.import_key, { customerId: customerId,
user_key: user_key });
var res = impProcessStream(res.import_key, { customerId: customerId });
}
else
{
var warn = res.warning;
__DoLog("Import (app_key={0}) mislukt: {1}".format(import_app_key, warn), "#ffff00");
API.error(warn); // Abort met 500-status
}
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.4.0");
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""));
// The response
@@ -82,56 +58,8 @@
var elementResultText = xmlResp.createTextNode(warn);
elementResult.appendChild(elementResultText);
FCLTElement.appendChild(elementResult);
if (import_key > 0)
{
var elementDetails = xmlResp.createElement("details");
var sql = "SELECT imp_log_status,"
+ " imp_log_omschrijving,"
+ " imp_log_hint"
+ " FROM imp_log"
+ " WHERE fac_import_key = " + import_key
+ " AND imp_log_status <> 'I'";
var oRs = Oracle.Execute(sql);
while (!oRs.Eof)
{
var elementDetail = xmlResp.createElement("detail");
var elementStatus = xmlResp.createElement("status");
var elementStatusText = xmlResp.createTextNode(oRs("imp_log_status").Value);
elementStatus.appendChild(elementStatusText);
elementDetail.appendChild(elementStatus);
if (oRs("imp_log_omschrijving").Value != null )
{
var elementOms = xmlResp.createElement("omschrijving");
var elementOmsText = xmlResp.createTextNode(oRs("imp_log_omschrijving").Value);
elementOms.appendChild(elementOmsText);
elementDetail.appendChild(elementOms);
}
if (oRs("imp_log_hint").Value != null )
{
var elementHint = xmlResp.createElement("hint");
var elementHintText = xmlResp.createTextNode(oRs("imp_log_hint").Value);
elementHint.appendChild(elementHintText);
elementDetail.appendChild(elementHint);
}
elementDetails.appendChild(elementDetail);
oRs.moveNext();
}
oRs.Close();
FCLTElement.appendChild(elementDetails);
}
xmlResp.appendChild(FCLTElement);
Response.ContentType = "text/xml";
if (API.apidata.stylesheet_out)
{
var params = {};
STR2Stream(xmlResp.xml, API.apidata.stylesheet_out, Response, params);
}
else
Response.Write(xmlResp.xml);
ASPPAGE_END();
Response.Write(xmlResp.xml);
%>

View File

@@ -1,356 +0,0 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_hmail.asp
Description: API voor opvangen van hMailserver e-mails
Parameters: Een xml
Status:
Context: 1-op-1 met \UTILS\mail_receive\EventHandlers.js
Notes: Deze API krijgen we XML binnen, en geven JSON terug.
Dat was het eenvoudigst
*/
JSON_Result = true;
THIS_FILE = "appl/api/api_hmail.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<!-- #include file="../Shared/flexfiles.inc" -->
<!-- #include file="../api/api.inc" -->
<%
var API = new API_func();
function abortRejectMail(tekst, maillog)
{
var result = { success: false,
message: tekst,
maillog: maillog||tekst
}
__Log(result.maillog); // komt altijd ook in hmail log
Response.Write(JSON.stringify(result));
Response.End;
}
function stripHtml(html)
{
html = (html||"");
html = stripStyle(html);
// verwijder html-tags
html = html.replace(/(<([^>]+)>)/ig,"");
// &nbsp; naar spatie
html = html.replace(/\&nbsp\;/ig, " ");
//verwijder leading spaces and tabs
html = html.replace(/^[ \t]+/gm,"");
// verwijder lege regels
html = html.replace(/[(\n\r)]+/g,"\n\r");
// zet een regel die begint met : maar achter de vorige
html = html.replace(/(\n\r:)/g,":");
return html;
}
function stripStyle(html)
{
html = (html||"");
html = html.replace(/<style>[^<]*<\/style>/igm, "");
return html;
}
function get_XMLval(psessionid, pxml, ptag, pindex)
{
var tag_value = XMLval(pxml, ptag);
var sql_ins = "INSERT INTO fac_result"
+ " (fac_result_sessionid, fac_result_naam, fac_result_waarde)"
+ " VALUES"
+ " (" + safe.quoted_sql(psessionid)
+ " ," + safe.quoted_sql(ptag + (pindex ? "_"+pindex : ""), 30) // Een mail kan meerdere bijlagen bevatten. Voor elke bijlage is er dan een filename en size.
+ " ," + safe.quoted_sql(tag_value, 1000)
+ " )";
Oracle.Execute(sql_ins);
return tag_value;
}
// puur intern gebruik dus geen stylesheet conversie nodig
var parsed = RequestXML(API);
if (parsed.error)
{
abortRejectMail("Error " + parsed.error);
}
var xmlReq = parsed.xml;
var psession_id = Session.SessionID;
// verwijder entries in de FAC_RESULT table zodat de action nieuwe resultaten kan schrijven
var sql = "DELETE fac_result WHERE fac_result_sessionid = " + safe.quoted_sql(psession_id);
Oracle.Execute(sql);
var Subject = get_XMLval(psession_id, xmlReq, "subject");
var fromAddr = get_XMLval(psession_id, xmlReq, "fromaddr"); // "Returns the address that the sender gave in the MAIL FROM SMTP-command."
var from = get_XMLval(psession_id, xmlReq, "from"); // "This property returns the content of the From MIME-header of the email."
var toAddr = get_XMLval(psession_id, xmlReq, "to");
var RecipientNr = get_XMLval(psession_id, xmlReq, "RecipientNr"); // 0 voor 1e recipient, soms 1 voor tweede
var htmlBody = get_XMLval(psession_id, xmlReq, "htmlbody");
var Body = get_XMLval(psession_id, xmlReq, "body");
var CC = get_XMLval(psession_id, xmlReq, "CC");
//htmlBody = stripStyle(htmlBody);
//Body = stripStyle(Body);
// functie om velden in fac_result te zetten
__Log("To: " + toAddr);
var mailuser = toAddr.split("@")[0];
sql = "SELECT fac_email_setting_key,"
+ " fac_email_setting_action,"
+ " fac_email_setting_expire,"
+ " fac_email_setting_from,"
+ " fac_email_setting_frommode,"
+ " fac_email_setting_attachpath,"
+ " fac_email_setting_attachext,"
+ " fac_email_setting_loglevel,"
+ " prs_perslid_key_auth"
+ " FROM fac_email_setting"
+ " WHERE upper(fac_email_setting_user) = upper("+safe.quoted_sql(mailuser)+")";
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
{
abortRejectMail(L("lcl_fac_hmail_unknown_user").format(mailuser), "E-mail user niet ontvankelijk: " + mailuser);
}
var allowed_attachext = oRs("fac_email_setting_attachext").Value;
var email_setting_key = oRs("fac_email_setting_key").Value;
var prs_perslid_key_auth = oRs("prs_perslid_key_auth").Value;
var email_setting_loglevel = oRs("fac_email_setting_loglevel").Value;
if (email_setting_loglevel > 0)
/* global */ __Logging = email_setting_loglevel || __Logging || 0; // Voor de rest van dit bestand
__Log("Subject: " + Subject);
__Log("From: " + from);
__Log("FromAddr: " + fromAddr);
__Log("To: " + toAddr);
__Log("RecipientNr: " + RecipientNr);
__Log("htmlBody: " + htmlBody);
__Log("body: " + Body);
__Log("E-mail user ontvankelijk: " + mailuser);
if (oRs("fac_email_setting_expire").Value != null)
{
var expire = new Date(oRs("fac_email_setting_expire").Value);
if (expire.getTime() < (new Date).getTime())
{
abortRejectMail(L("lcl_fac_hmail_expired"), "Te laat, moest voor: " + expire);
}
}
var theFrom = fromAddr; // SMTP communicatie, werkt matig bij forwards
if (oRs("fac_email_setting_frommode").Value == 1)
theFrom = from; // uit email MIME-header
else if (oRs("fac_email_setting_frommode").Value == 2)
{
// example srs address: servicedesk+SRS=kWNyq=RW=manutan.nl=Paul.Gozeling@hsleiden.nl
// output groups of RegExp: 1. servicedesk 2. kWNyq 3. manutan.nl 4. Paul.Gozeling
// from e-mail address when SRS is detected: Paul.Gozeling@manutan.nl
var regExpr = RegExp("(.+)[+]SRS=(.+)[=].+=(.+)=(.+)[@]");
if (regExpr.test(fromAddr)) // test whether the fromAddr is a SRS address
theFrom = regExpr.exec(fromAddr)[4] + "@" + regExpr.exec(fromAddr)[3]; // concat (group-4 @ group-3) as the fromAddr
}
var shouldFrom = oRs("fac_email_setting_from").Value;
if (shouldFrom)
{
if (String(shouldFrom).toUpperCase() != String(theFrom).toUpperCase())
{
abortRejectMail(L("lcl_fac_hmail_wrong_sender").format(theFrom), "Foute afzender. Verwacht: " + shouldFrom + ", kreeg: " + theFrom);
}
}
var action = oRs("fac_email_setting_action").Value; // Package aanroep
var setting_attachpath = oRs("fac_email_setting_attachpath").Value;
var path = setting_attachpath;
if (path && path.substr(0,1) == "@") // @/?API=OPDR_VO&APIKEY=**** zet automatisch de huidige url ervoor
{
path = HTTP.urlzelf() + path.substr(1);
}
if (path && path.substr(0, 1) == "*") // Bijvoorbeeld '*flexfilespath'
{
path = S(path.substr(1)) + "/";
}
oRs.Close();
var result = { success: true
, path: path
, attachments: []
, tempfolder: shared.tempFolder()
, loglevel: email_setting_loglevel || 0
};
var kenmerkpath = "";
if (action) // Bijv "fac.processemail" of "uwva.closeorder-sample"
{
if (!Body || Body == "") // Voorkeur voor plaintekst
{
var v_body = L("lcl_fac_hmail_empty_body") + stripHtml(htmlBody);
}
else
{
var v_body = Body;
}
sql = "BEGIN " + action + " (" + safe.quoted_sql(theFrom) + ","
+ safe.quoted_sql(toAddr) + ","
+ safe.quoted_sql(Subject || L("lcl_fac_hmail_no_subject")) + "," // de actions kunnen slecht tegen lege subject
+ safe.quoted_sql(v_body, 3990) + "," // HSLE#33588 10 karakters speling
+ safe.quoted_sql(psession_id) + ","
+ email_setting_key + ");"
+ "END;";
Oracle.Execute(sql);
// Nog iets specifieks terug te melden voor de logging?
sql = "SELECT fac_result_waarde"
+ " FROM fac_result"
+ " WHERE fac_result_naam = 'maillog'"
+ " AND fac_result_sessionid = " + safe.quoted_sql(psession_id);
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
result.maillog = oRs("fac_result_waarde").Value;
}
else
result.maillog = "E-mail afgehandeld via: " + action;
oRs.Close();
sql = "SELECT fac_result_waarde"
+ " FROM fac_result"
+ " WHERE fac_result_naam = 'errormsg'"
+ " AND fac_result_sessionid = " + safe.quoted_sql(psession_id);
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
abortRejectMail(oRs("fac_result_waarde").Value, result.maillog);
}
oRs.Close();
sql = "SELECT fac_result_waarde"
+ " FROM fac_result"
+ " WHERE fac_result_naam = 'kenmerkpath'"
+ " AND fac_result_sessionid = " + safe.quoted_sql(psession_id);
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
kenmerkpath = oRs("fac_result_waarde").Value;
result.path = result.path + kenmerkpath;
}
oRs.Close();
}
else
result.maillog = "Verder geen e-mail action gedefinieerd";
// debug
//kenmerkpath = "MLD\\M1180___\\M1180706\\2803\\";
//result.path = result.path + kenmerkpath;
__Log(result.maillog);
var isUrl = false;
if (result.path && (result.path.substr(0,5) == "http:" || result.path.substr(0,6) == "https:"))
{
isUrl = true;
result.path = result.path.format(safe.url(theFrom), safe.url(toAddr), safe.url(Subject)); // supports &from={0}&to={1}&subject={2}
// bij de echte aanroep wordt &filename={filename} nog ingevuld met de echte filenaam
var fso = Server.CreateObject("Scripting.FileSystemObject");
if (!fso.FolderExists(result.tempfolder))
fso.CreateFolder(result.tempfolder);
}
// opruimen
var sql = "DELETE fac_result WHERE fac_result_sessionid = " + safe.quoted_sql(psession_id);
Oracle.Execute(sql);
if (result.path)
{
var Attachments = xmlReq.getElementsByTagName("attachment");
for (i=0; i < Attachments.length; i++)
{
var safefilename = safe.filename(XMLval(Attachments[i], "filename", i));
var attsize = parseInt(XMLval(Attachments[i], "size", i), 10);
if (safefilename == 'tmpl_logo.gif')
{ // Waarschijnlijk een FACILITOR bon gereply'd
__Log("Bijlage {0} genegeerd.".format(safefilename));
}
else if (attsize < S("flex_min_size"))
{
__Log("Bijlage {0} genegeerd, te klein met {1} bytes.".format(safefilename, attsize));
}
else if (!new RegExp(S("flexallowedext"), "ig").test(safefilename))
{
// TODO: Misschien ook terugkoppelen aan zender?
__DoLog("Onbekende extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, theFrom));
}
else if (allowed_attachext && !new RegExp(allowed_attachext, "ig").test(safefilename))
{
__Log("Ongewenste extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, theFrom));
}
else if (isUrl)
{
__Log('{0} bijlage ({1} bytes) verwerken met {2}'.format(safefilename, attsize, result.path));
var tempfilename = result.tempfolder + "\\" + shared.random(32);
__Log('Tijdelijk bewaard onder {0}'.format(tempfilename));
result.attachments.push ({ sequence: i,
safefilename: safefilename,
tempfilename: tempfilename,
safeurl: result.path,
headers: { "Content-Type": "application/json" } // meer extensies her/onderkennen?
})
}
else
{
if (setting_attachpath == "*flexfilespath" && kenmerkpath)
{ // Dan ook alvast registreren in fac_bijlagen.
// kenmerkpath zal iets zijn met MLD\M1180___\M1180707\2803\, helaas hier weer terugparsen
// naar module, kenmerkkey en melding_key
kenmerkpath = kenmerkpath.replace(/\\/g, "/"); // altijd forward slashed
kenmerkpath = kenmerkpath.replace(/\/$/, ""); // laatste er af
// Nu MLD/M1180___/M1180707/2803
var mm = kenmerkpath.match(/(.*)\/.*\/([A-Z])(\d+)\/(\d+)/);
__Log(mm);
if (mm && mm.length == 5)
{
var module = mm[1];
var niveau = mm[2];
var key = mm[3];
var kenmerk_key = mm[4];
var sql = "BEGIN "
+ " flx.setflexbijlage"
+ "(" + safe.quoted_sql(module)
+ ", " + kenmerk_key
+ ", " + key
+ ", " + safe.quoted_sql(kenmerkpath)
+ ", " + "NULL"
+ ", " + safe.quoted_sql(safefilename)
+ ", " + attsize
+ ", " + "SYSDATE"
+ ", " + "NULL" // Helaas (nog) zonder digest omdat we het bestand nog niet hebben
+ ");"
+ " END;";
Oracle.Execute(sql);
}
}
__Log('{0} bijlage ({1} bytes) mag naar {2}'.format(safefilename, attsize, result.path));
CreateFullPath(result.path); // Hoeft hMailserver dat niet meer te doen. Eist wel dat hMail op 'onze' webserver draait
result.attachments.push ({ sequence: i,
safefilename: result.path + safefilename
})
}
}
// Strikt genomen filtert allowed_attachext alleen maar. In de praktijk zetten we hem echter op XML
// als we een XML-bijlage ter importeren verwachten dan kan er maar beter ook eentje zijn ook!
if (allowed_attachext && !result.attachments.length)
{
__DoLog("Vreemd: ik had eigenlijk een '{0}' bijlage verwacht van {1}".format(allowed_attachext, theFrom), "#ff4");
}
}
__Log(result);
Response.Write(JSON.stringify(result));
Response.End;
%>

View File

@@ -7,255 +7,23 @@
Description: API voor INS-soap berichten
Parameters: Een xml
Status: Opzet. Vereist bevestiging van SOAP-aanroepers en dan afmaken
Status:
Context:
Notes:
Wat is het idee momenteel? Deze service is vooralsnog voor sensoren.
De bedoeling is dat een sensor (een ins_deel) bij het relevant veranderen van de status
een aanroep doet, met in essentie
- id (key en/of omschrijving)
- (nieuwe) waarde => alfanumeriek
- (nieuwe) status => INSOUT/INSINN
- optioneel: tijdstip
De waarde wordt in ins_deel_state opgeslagen. Dat is het, maar daarop wordt elders
indien de sensor in een reserveerbare ruimte zit gekeken of er een reservering
bezig is/zou moeten zijn, en dan wordt daarop geacteerd, in de hoek van
noshow en zo.
Het meegegeven tijdstip kan worden gebruikt ipv sysdate om vertragingen te corrigeren..
*/
DOCTYPE_Disable = 1;
THIS_FILE = "appl/api/api_inssoap.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../api/api.inc" -->
<%
// We sturen het antwoord in UTF-8.
Session.Codepage = 65001;
Response.Charset = 'utf-8';
var API = new API_func();
var asJSON = getQParam("json","0")!="0";
var tsql = "-"; // Voor tijdelijke statement(s)
var sql = "-"; // De uiteindelijke insert/update-sql
var xmlReq = styledRequestXML(API);
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
// The response.
var FCLTElement = xmlResp.createElement("facilitor");
// The response header.
var now = new Date();
var nowtxt = now.getFullYear()+'-'+padout(now.getMonth()+1) +'-'+padout(now.getDate()) +' '
+padout(now.getHours()) +':'+padout(now.getMinutes())+':'+padout(now.getSeconds());
var elmHeader = xmlResp.createElement("header");
var headerinfo = {
// file: String(Request.ServerVariables("SCRIPT_NAME")).toLowerCase(),
datum: nowtxt,
naam: user.naam(),
custId: customerId,
language: user.lang()
}
for (param in headerinfo)
{
var FCLTdata = xmlResp.createElement(param);
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
elmHeader.appendChild(FCLTdata);
}
//FCLTElement.appendChild(elmHeader);
// Hier zou het echte werk moeten gebeuren nav. xmlReq
// en FCLTElement moeten we uitbreiden met antwoorden.
var detected ="?";
// Dit is de objecteenloop (mochten er ooit nog anderen gaan volgen).
var delen = xmlReq.getElementsByTagName("deel");
for (i=0; i < delen.length; i++)
{
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
var resulttekst = "";
// Lees per node de (optionele) tags en waarden.
var fields = []; // Bij te werken velden.
var deel_key = delen[i].getAttribute("key"); // Bij type=update/delete
var insaction = delen[i].getAttribute("type").toLowerCase();
var deel_omschrijving = XMLval(delen[i], "omschrijving"); // soort van foreign ID
var tijd = XMLval(delen[i], "tijd");
var waarde = XMLval(delen[i], "waarde");
var outinn = XMLval(delen[i], "status");
if (deel_key == null) { // Voorkom problemen als key-attribuut ontbreekt!
deel_key = '';
}
user.checkAutorisation("WEB_INSUSE");
if (insaction == 'update') // of specifiek signal?
{
if (deel_key == '' && deel_omschrijving == '') {
resultcode = 2;
resulttekst = "Undefined object (key/omschrijving)";
}
else {
// Waar hoort-ie bij?
tsql = "SELECT MAX(ins_deel_key) deel_key, MAX(ins_deel_omschrijving) deel_oms, MAX(ins_deel_state) cur_state, MAX(ins_alg_ruimte_key_org) org_place, COUNT (*) aantal"
+ " FROM ins_deel"
+ " WHERE ins_deel_verwijder IS NULL"
+ (deel_key
? " AND ins_deel_key=" + safe.quoted_sql(deel_key)
: "")
+ (deel_omschrijving
? " AND ins_deel_upper = " + safe.quoted_sql(deel_omschrijving.toUpperCase())
: "");
var oRs = Oracle.Execute(tsql);
var aantal = oRs("aantal").value;
if (aantal == 0) {
resultcode = 2;
resulttekst = "Invalid object (key/omschrijving)";
}
else if (aantal > 1) {
resultcode = 3;
resulttekst = "Object cannot be identified uniquely";
}
else {
// Hier heb ik een geldige deel_key.
deel_key = oRs("deel_key").value;
var deel_oms = oRs("deel_oms").value;
var cur_state = oRs("cur_state").value;
var org_place = oRs("org_place").value;
//var old_statedate = new Date(oRs("deel_statedate").Value);
//var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op dit object
//user.auth_required_or_abort(this_res.canChange);
// Meegegeven meetdatumtijd of anders now als laatste teken van leven!
//if (tijd != null) { // Bij update optioneel
// try {
// var new_statedate = XMLtoJsDate(tijd);
// }
// catch (e) {
// // Verkeerde datum-formaat, dan now gebruiken!
// __DoLog("Formaat ontvangen XML-datum incorrect: "+tijd, "#00FF00");
// new_statedate = now;
// }
//} else {
// var new_statedate = now;
//}
if (waarde) {
// Alleen bij wijziging!
if (waarde != cur_state) {
// te kiezen: moet de datum altijd aangepast worden (als laatste teken van leven) of
// juist niet (als recentste moment van verandering)
// veilig kan zijn dit met een waarde in het bericht te sturen, maar ik wil wel graag
// dat wij een beste default gekozen hebben: wat is logisch?
sql = "UPDATE ins_deel"
+ " SET ins_deel_state=" + safe.quoted_sql(waarde)
+ " , ins_deel_statedate=SYSDATE" // TODO: de meegegeven meetdatumtijd nemen
+ " WHERE ins_deel_key=" + deel_key;
Oracle.Execute(sql);
// FSN#28896: state-changes worden automatisch getrackt in ins_deel_state_history; geen updtracking meer
//shared.trackaction("INSUPD", deel_key, L("lcl_deel_state")+" "+safe.quoted_sql(waarde));
}
}
else { // outinn != ''
// Er zou dus een status moet zijn meegegeven.
switch (outinn) {
case 'INSOUT':
// Alleen bij wijziging; object was ingenomen en wordt uitgegeven!
if (!org_place) {
sql = "UPDATE ins_deel "
+ " SET ins_alg_ruimte_key_org=ins_alg_ruimte_key"
+ " , ins_alg_ruimte_type_org=ins_alg_ruimte_type"
+ " , ins_alg_ruimte_key=" + user_key
+ " , ins_alg_ruimte_type='P'"
+ " WHERE ins_deel_key=" + deel_key;
Oracle.Execute(sql);
// Object [Fiets 1] is uitgegeven aan [Pseudo-user tbv. XXX-API]
shared.trackaction("INSOUT", deel_key, L("lcl_obj_is_uitgegeven_to").format(user.naam(), deel_oms));
}
break;
case 'INSINN':
// Alleen bij wijziging; object was uitgegeven en wordt ingenomen!
if (org_place) {
sql = "UPDATE ins_deel "
+ " SET ins_alg_ruimte_key=ins_alg_ruimte_key_org"
+ " , ins_alg_ruimte_type=ins_alg_ruimte_type_org"
+ " , ins_alg_ruimte_key_org=NULL"
+ " , ins_alg_ruimte_type_org=NULL"
+ " WHERE ins_deel_key=" + deel_key;
Oracle.Execute(sql);
// Object is ingenomen
shared.trackaction("INSINN", deel_key, L("lcl_obj_is_ingenomen"));
shared.trackaction("INSIN2", deel_key, L("lcl_obj_is_ingenomen2").format(deel_oms));
}
break;
default:
resultcode = 4;
resulttekst = "Invalid waarde/status";
} // switch
}
if (resultcode == -1) { // nog steeds geen fouten
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor dit object.
}
} // if aantal
oRs.Close();
} // if deel_key
}
else {
resultcode = 2;
resulttekst = "Undefined operation (type)";
} // if insaction
var binfo = {
returncode: resultcode,
returntekst: resulttekst,
// executed:sql, // debug
datum: nowtxt, // TODO: Beter ook xml-datum??? Of de teruggequeriede datumtijd?
deel_key: deel_key
}
var FCLTBody = xmlResp.createElement("deel"); // type=response
FCLTBody.setAttribute('key', deel_key);
FCLTBody.setAttribute('type', 'response');
for (param in binfo)
{
var FCLTdata = xmlResp.createElement(param);
FCLTdata.appendChild(xmlResp.createTextNode(binfo[param]));
FCLTBody.appendChild(FCLTdata);
}
FCLTElement.appendChild(FCLTBody);
} // end for
// Alle deel-nodes zijn behandeld.
xmlResp.appendChild(FCLTElement);
if (API.apidata.loglevel) __Log2File(xmlResp.xml, API.APIname + "_TUSSEN_OUT");
if (API.apidata.stylesheet)
{
// Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
Response.ContentType = "text/xml";
STR2Stream(xmlResp.xml, API.apidata.stylesheet, Response, {});
}
else
{
if (asJSON)
Response.ContentType = "application/json";
else
Response.ContentType = "text/xml";
if (asJSON)
var antwoord = JSON.stringify(xmlToJson(xmlResp), null, getQParam("pretty","0")=="1"?2:0);
else
var antwoord = xmlResp.xml;
Response.Write(antwoord);
}
%>
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
%>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,171 +0,0 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_perslid.asp
Description: API om een perslid te kunnen muteren.
Parameters: apiname, apikey
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes:
Status:
*/
DOCTYPE_Disable = 1;
LCL_Disable = 1
THIS_FILE = "appl/api/api_perslid.asp";
INTERNAL_ERROR_api_perslid_ISUNSAFE; // abort abort.....
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../api/api.inc" -->
<!-- #include file="../Shared/save2db.inc"-->
<%
Session.Codepage = 65001;
Response.Charset = 'utf-8';
Session.Abandon(); // Voor de zekerheid
try
{
var API = new API_func(); // Valideert ook
var asJSON = getQParam("json","0")!="0";
var params = RequestJSON();
if (!params)
API.error("Error parsing input JSON");
// FAC_API_OPTIONS_JSON
var urole = "fe"; // Altijd?
var autfunction = urole == "fe"? "WEB_RESUSE" : "WEB_RESFOF";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
/*
params = {
externId: "AAFM_12345", // Zelf zorgen dat het uniek is in het doel-systeem
voornaam: "Jos",
achternaam: "Groot Lipman",
email: "user@example.com",
telefoon: "053-1234567",
mobiel: "06-12345678"
};
*/
warning = "";
// TODO: Autorisatie
prs_key = -1;
switch (params.request)
{
case "select": // zoekt een persoon op basis van params.externId
var sql = "SELECT prs_perslid_key"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_oslogin = " + safe.quoted_sql("_" + params.externId);
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
prs_key = oRs("prs_perslid_key").Value;
}
oRs.Close();
break;
case "update": // doet desnoods een insert
var fields = [];
if ("voornaam" in params)
fields.push({ dbs: "prs_perslid_voornaam", typ: "varchar", val: params.voornaam });
if ("achternaam" in params)
fields.push({ dbs: "prs_perslid_naam", typ: "varchar", val: params.achternaam });
if ("tussenvoegsel" in params)
fields.push({ dbs: "prs_perslid_tussenvoegsel", typ: "varchar", val: params.tussenvoegsel });
if ("email" in params)
fields.push({ dbs: "prs_perslid_email", typ: "varchar", val: params.email });
if ("geslacht" in params)
fields.push({ dbs: "geslacht", typ: "varchar", val: params.geslacht });
if ("prs_perslid_mobiel" in params)
fields.push({ dbs: "prs_perslid_mobiel", typ: "varchar", val: params.mobiel });
var sql = "SELECT prs_perslid_key"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_oslogin = " + safe.quoted_sql("_" + params.externId);
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
prs_key = oRs("prs_perslid_key").Value;
sql = buildUpdate("prs_perslid", fields, { noValidateToken: true })
+ " prs_perslid_key = " + prs_key;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
//else
// shared.trackaction("PRSUPD", prs_key);
}
else // Nieuwe
{ /// TODO: Speciale flags?
/// TODO: _default groep (door de trigger) is te veel. Misschien _defaultextern?
fields.push({ dbs: "prs_perslid_key", typ: "key", seq: "prs_s_prs_alluitvoerende_keys" });
fields.push({ dbs: "prs_perslid_oslogin", typ: "varchar", val: "_" + params.externId }); // De underscore voorkomt nagenoeg volledig dat ze ergens in beeld komen
fields.push({ dbs: "prs_afdeling_key", typ: "key", val: user.prs_afdeling_key() }); // Vooralsnog altijd zelfde als de API-user!
fields.push({ dbs: "prs_srtperslid_key", typ: "key", val: user.prs_srtperslid_key() });
fields.push({ dbs: "prs_perslid_ingids", typ: "check", val: 0 });
var prsIns = buildInsert("prs_perslid", fields, { noValidateToken: true });
prs_key = prsIns.sequences["prs_perslid_key"];
var err = Oracle.Execute(prsIns.sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
else
{
shared.trackaction("PRSNEW", prs_key);
// We willen niet in authgroep _default maar in _defaultextern
var sql = "DELETE FROM fac_gebruikersgroep"
+ " WHERE prs_perslid_key = " + prs_key;
Oracle.Execute(sql);
var sql = " INSERT INTO fac_gebruikersgroep"
+ " (fac_groep_key, prs_perslid_key)"
+ " SELECT fac_groep_key, " + prs_key
+ " FROM fac_groep"
+ " WHERE fac_groep_upper = '_DEFAULTEXTERN'";
Oracle.Execute(sql);
}
}
oRs.Close();
break;
default:
API.error("Unknown API request");
}
// We hebben nu een prs_key
Response.ContentType = "application/json";
Response.AddHeader("Access-Control-Allow-Origin", "*"); // Opdat FireFox cross-domain toestaat
var result = { success: true };
if (warning)
result = { succes: false, error: warning };
else
{
result.prs_key = prs_key;
if (prs_key > 0)
{ // plak prs_auth achter een deeplink en deze gebruiker kan daarmee (vandaag) inloggen
result.prs_auth = "userauth=" + prs_key + "&userhmac=" + safe.url(protectHMAC.create(String(prs_key)));
}
}
var antwoord = JSON.stringify(result, null, getQParam("pretty","0")=="1"?2:0);
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
var eTag = '"' + oCrypto.hex_sha1(antwoord).toLowerCase() + '"';
Response.AddHeader("ETag", eTag);
if (Request.ServerVariables("HTTP_IF_NONE_MATCH") == eTag)
{ // We hebben een match!
Response.Clear();
Response.Status = "304 Not modified";
Response.End;
}
if (API.apidata.loglevel) __Log2File(antwoord, API.APIname + "_OUT");
Response.write(antwoord);
}
catch (e)
{
API.error(typeof e == "string"? e : "API_error: " + e.description);
}
%>

View File

@@ -0,0 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style>
#phonebookdetails * { font-size:9pt; font-family: Verdana, Arial; }
</style>
<script type="text/javascript">
function initPhonebook()
{
var phone = new facilitor.phonebook(document.getElementById("phone_canvas"), { } );
}
</script>
<script type="text/javascript"
src="http://dit03/Facilitor5iwork/?fac_id=XXXX&API=PHONEBOOK&APIKEY=0123456789ABCDEF">
</script>
</head>
<body onload="initPhonebook();">
<div id="phone_canvas"></div>
Andere tekst
</body>
</html>

View File

@@ -23,5 +23,7 @@
Session.Codepage = 65001;
Response.Charset = 'utf-8';
var API = new API_func();
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
%>

View File

@@ -17,7 +17,9 @@
<!-- #include file="../api/api.inc" -->
<%
var API = new API_func();
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
var BOOKMARK = getQParam("BOOKMARK", "");

View File

@@ -9,7 +9,7 @@
aangemaakt.
Parameters: Een xml
Status: Eerste implementatie in kader AAEN#25223 (tbv. TIBCO/Smart Signs)
Status: GEEN
Context:
Notes:
*/
@@ -19,22 +19,24 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../Shared/flexfiles.inc" -->
<!-- #include file="../api/api.inc" -->
<!-- #include file="../shared/kpl_ksrt_validate.inc" -->
<!-- #include file="../res/res.inc" -->
<!-- #include file="../mld/mld.inc" -->
<%
// We sturen het antwoord in UTF-8.
Session.Codepage = 65001;
Response.Charset = 'utf-8';
var API = new API_func();
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
var tsql = "-"; // Voor tijdelijke statement(s)
var sql = "-"; // De uiteindelijke insert/update-sql
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
var resulttekst = "";
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
xmlReq.load(Request);
var xmlReq = styledRequestXML(API);
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.4.0");
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
// The response.
@@ -43,7 +45,7 @@
var now = new Date();
var nowtxt = now.getFullYear()+'-'+padout(now.getMonth()+1) +'-'+padout(now.getDate()) +' '
+padout(now.getHours()) +':'+padout(now.getMinutes())+':'+padout(now.getSeconds());
var elmHeader = xmlResp.createElement("header");
var FCLTHeader = xmlResp.createElement("header");
var headerinfo = {
// file: String(Request.ServerVariables("SCRIPT_NAME")).toLowerCase(),
datum: nowtxt,
@@ -55,363 +57,83 @@
{
var FCLTdata = xmlResp.createElement(param);
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
elmHeader.appendChild(FCLTdata);
FCLTHeader.appendChild(FCLTdata);
}
FCLTElement.appendChild(FCLTHeader);
// Luie oplossing: Oracle kan dit simpeler dan JavaScript.
function XMLtoJsDate(xmlDate)
{
var sql = "SELECT TO_DATE("+safe.quoted_sql(xmlDate)+", 'YYYY-MM-DD HH24:MI:SS') FROM DUAL";
var oRs = Oracle.Execute(sql);
var dt = new Date(oRs(0).Value);
oRs.Close();
return dt;
}
function XMLval(xml, tag)
{
if (!xml)
return null;
var xx = xml.getElementsByTagName(tag);
if (!xx || !xx.length)
return null;
xx = xx[0].childNodes
if (!xx || !xx.length)
return null;
return xx[0].nodeValue;
}
FCLTElement.appendChild(elmHeader);
// Hier zou het echte werk moeten gebeuren nav. xmlReq
// en FCLTElement moeten we uitbreiden met antwoorden.
var detected ="?";
// xmlReq.setProperty("SelectionLanguage", "XPath"); // Weet niet of noodzakelijk
// Dit is de reserveringenloop (mochten er ooit nog anderen gaan volgen).
// Dit is de meldingenloop (mochten er ooit nog anderen gaan volgen).
var reserveringen = xmlReq.getElementsByTagName("reservering");
for (i=0; i < reserveringen.length; i++)
{
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
var resulttekst = "";
// Lees per node de (optionele) tags en waarden.
var fields = []; // Bij te werken velden.
var resid = reserveringen[i].getAttribute("key"); // Bij type=update/delete
var resaction = reserveringen[i].getAttribute("type").toLowerCase();
var ruimtekey = parseInt(XMLval(reserveringen[i], "ruimtekey"), 10); // res_ruimte_key
var van = XMLval(reserveringen[i], "van");
var tot = XMLval(reserveringen[i], "tot");
var res_oms = XMLval(reserveringen[i], "omschrijving");
var shown = XMLval(reserveringen[i], "shown");
//var reskenmerken = (reserveringen[i].getElementsByTagName("kenmerk")); // Unsupported yet
var ext_id = reserveringen[i].getAttribute("key");
var meldaction = reserveringen[i].getAttribute("type").toLowerCase();
var melddatum = XMLval(reserveringen[i], "datum");
var stdmld_key = parseInt(XMLval(reserveringen[i], "stdmelding"), 10); // Numeriek
var stdmld_sla = -1; // Normale uitvoertijd (prio door melder nog unsupported)
var meldloc = XMLval(reserveringen[i], "locatiecode");
var meldgeb = XMLval(reserveringen[i], "gebouwcode");
var meldver = XMLval(reserveringen[i], "verdiepingcode");
var meldrnr = XMLval(reserveringen[i], "ruimtecode");
var locatie_key = -1; // Bepaald op basis van meldloc
var plaats_key = -1; // Bepaald op basis van meldgeb/meldver/meldrnr
var meld_oms = XMLval(reserveringen[i], "omschrijving");
//var meldkenmerken = (reserveringen[i].getElementsByTagName("kenmerk"))[0].childNodes[0].nodeValue; // Unsupported yet
var mld_key = -1; // Bepaald na insert
if (resid == null) { // Voorkom problemen als key-attribuut ontbreekt!
resid = '';
}
if (isNaN(ruimtekey) ) { // Voorkom problemen als ruimtekey ontbreekt!
ruimtekey = -1;
}
var idarr = resid.split('/');
var reservering_key = parseInt(idarr[0], 10); // En anders bepaald bij insert!
var rsv_ruimte_volgnr = parseInt(idarr[1], 10); // En anders 1 bij insert!
var rsv_ruimte_key = -1; // Bepalen we later bij insert/update/delete!
user.checkAutorisation("WEB_RESUSE"); // Dit is nog ongeacht de melding
user.checkAutorisation("WEB_RESFOF"); // Dit is nog ongeacht de reservering
if (resaction == 'insert') {
tsql = " SELECT rad.res_discipline_key, rad.res_activiteit_key, rro.res_ruimte_opstel_key,"
+ " COALESCE(rr.res_ruimte_begintijd, " + S("res_t1") + ") begintijd,"
+ " COALESCE(rr.res_ruimte_eindtijd, " + S("res_t2") + ") eindtijd"
+ " FROM res_ruimte_opstelling rro, res_ruimte rr, res_activiteitdiscipline rad,"
+ " (SELECT * FROM res_activiteit ra1"
+ " WHERE NOT EXISTS"
+ " (SELECT 1 FROM res_activiteit ra2"
+ " WHERE COALESCE (ra2.res_activiteit_volgnr, 999 + ra2.res_activiteit_key) <"
+ " COALESCE (ra1.res_activiteit_volgnr, 999 + ra1.res_activiteit_key))) ra"
+ " WHERE rro.res_ruimte_key="+ruimtekey
+ " AND rro.res_ruimte_key = rr.res_ruimte_key"
+ " AND res_ruimte_verwijder IS NULL"
+ " AND rr.res_discipline_key = rad.res_discipline_key"
+ " AND rad.res_activiteit_key = ra.res_activiteit_key"
+ " ORDER BY rro.res_ruimte_opstel_default DESC NULLS LAST"; // die met '1' komt vooraan
var oRs = Oracle.Execute(tsql);
if (oRs.eof) {
resultcode = 3;
resulttekst = "Invalid/undefined ruimtekey";
}
else {
// Hier heb ik een geldige res_ruimte_key en weet ik de discipline, default activiteit en default opstelling!
var disc_key = oRs("res_discipline_key").value;
var act_key = oRs("res_activiteit_key").value;
var opstel_key = oRs("res_ruimte_opstel_key").value;
if (van != null) {
try {
var vandate = XMLtoJsDate(van);
}
catch (e) {
__DoLog("Formaat ontvangen XML-datum incorrect (van): "+van, "#00FF00");
// Datum-formaat niet volgens spec.? Dan exit!
resultcode = 4;
resulttekst = "Invalid date format";
}
}
else {
__DoLog("Geen XML-datum ontvangen (van): ", "#00FF00");
// Geen van-datum, dan exit!
resultcode = 4;
resulttekst = "Missing parameter(s)";
}
if (tot != null) {
try {
var totdate = XMLtoJsDate(tot);
}
catch (e) {
__DoLog("Formaat ontvangen XML-datum incorrect (tot): "+tot, "#00FF00");
// Datum-formaat niet volgens spec.? Dan exit!
resultcode = 4;
resulttekst = "Invalid date format";
}
}
else {
__DoLog("Geen XML-datum ontvangen (tot): ", "#00FF00");
// Geen tot-datum, dan exit!
resultcode = 4;
resulttekst = "Missing parameter(s)";
}
if (res_oms == null) { // Geen/lege omschrijving wordt gezien als ongeplande reservering!
res_oms = "Ongeplande reservering";
}
if (resultcode == -1) { // nog steeds geen fouten
// Check van-dag = tot-dag = vandaag!
if (1==0) {
resultcode = 6;
resulttekst = "Illegal reservering (date)";
}
}
if (resultcode == -1) { // nog steeds geen fouten
// Check van < tot en beide tegen openingstijden ruimte!
var df = vandate.getHours() + vandate.getMinutes()/60;
var dt = totdate.getHours() + totdate.getMinutes()/60;
if (vandate > totdate ||
df < oRs("begintijd").value || df > oRs("eindtijd").value ||
dt < oRs("begintijd").value || dt > oRs("eindtijd").value) {
resultcode = 6;
resulttekst = "Illegal reservering (time)";
}
}
if (resultcode == -1) { // nog steeds geen fouten
// Combinatievalidatie ruimte discipline!
if (!kpl_ksrt_validate(user.afdeling().prs_kostenplaats_key(), null, disc_key)) {
resultcode = 6;
resulttekst = "Illegal reservering (cost)";
}
}
if (resultcode == -1) { // nog steeds geen fouten
// Feitelijke ad-hoc of ongeplande insert! Eerst ook altijd een res_reservering record aanmaken!
var resfields = [ { dbs: "res_reservering_key", typ: "key", seq: "res_s_res_reservering_key" },
{ dbs: "res_reservering_aanmaak", typ: "datetime", val: new Date() }
];
var resIns = buildInsert("res_reservering", resfields, { noValidateToken: true });
reservering_key = resIns.sequences["res_reservering_key"];
Oracle.Execute(resIns.sql);
resid = reservering_key+"/1";
fields.push({ dbs: "res_activiteit_key", typ: "key", val: act_key });
fields.push({ dbs: "res_status_fo_key", typ: "key", val: 2 }); // definitief = 2???
fields.push({ dbs: "res_ruimte_opstel_key", typ: "key", val: opstel_key });
fields.push({ dbs: "res_rsv_ruimte_van", typ: "datetime", val: vandate });
fields.push({ dbs: "res_rsv_ruimte_tot", typ: "datetime", val: totdate });
fields.push({ dbs: "res_rsv_ruimte_bezoekers", typ: "number", val: 1 }); // altijd 1
fields.push({ dbs: "prs_kostenplaats_key", typ: "key", val: user.afdeling().prs_kostenplaats_key() });
fields.push({ dbs: "res_rsv_ruimte_host_key", typ: "key", val: user_key });
fields.push({ dbs: "res_rsv_ruimte_contact_key", typ: "key", val: user_key });
fields.push({ dbs: "res_rsv_ruimte_omschrijving", typ: "varchar", val: res_oms, len: 4000 });
fields = fields.concat(
[ { dbs: "res_rsv_ruimte_key", typ: "key", seq: "res_s_res_rsv_ruimte_key" },
{ dbs: "res_reservering_key", typ: "key", val: reservering_key },
{ dbs: "res_rsv_ruimte_volgnr", typ: "number", val: 1 }, // altijd 1
{ dbs: "res_status_bo_key", typ: "key", val: 2 } // ingevoerd
]);
var resIns = buildInsert("res_rsv_ruimte", fields, { noValidateToken: true });
rsv_ruimte_key = resIns.sequences["res_rsv_ruimte_key"];
sql = "BEGIN "
+ resIns.sql + ";"
+ "res.set_ruimte_dirty (" + rsv_ruimte_key + "); " // Zelf dirty geworden?
+ "END;";
Oracle.Execute(sql);
// RESNEW-tracking toevoegen!
shared.trackaction("RESNEW", rsv_ruimte_key);
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze reservering.
}
oRs.Close();
}
}
else if (resaction == 'update')
{
if (resid == '') {
if (ext_id == null) {
resultcode = 1;
resulttekst = "Undefined external ID (key)";
} else if (meldaction != 'insert') {
resultcode = 2;
resulttekst = "Undefined reservering (key)";
}
else if (isNaN (reservering_key) || isNaN (rsv_ruimte_volgnr)) {
resultcode = 2;
resulttekst = "Invalid reservering (key) "+resid;
}
else {
tsql = "SELECT res_rsv_ruimte_key, res_rsv_ruimte_van, res_rsv_ruimte_tot"
+ " FROM res_v_aanwezigrsv_ruimte"
+ " WHERE res_reservering_key="+reservering_key
+ " AND res_rsv_ruimte_volgnr="+rsv_ruimte_volgnr
+ " AND TRUNC(res_rsv_ruimte_van)>=TRUNC(SYSDATE)" // Alleen vandaag of in de toekomst???
+ " AND 1=1"; // Niet dirty, niet verwijderd, ...???
var oRs = Oracle.Execute(tsql);
if (!oRs.eof) {
// Hier heb ik een geldige res_rsv_ruimte_key.
rsv_ruimte_key = oRs("res_rsv_ruimte_key").value;
resulttekst = "Undefined operation (type)";
} else {
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
user.auth_required_or_abort(this_res.canChange);
DO OUT THING HERE
if (shown != null) { // Bij update optioneel
// Feitelijke UPDATE shown.
// Verder geen checks (Oracle fout als shown < 0 of shown > 999 niet afvangen???)!
if (S("res_noshow_detailed") == 1) {
sql = "UPDATE res_rsv_ruimte"
+ " SET res_rsv_ruimte_bezoekers_shown="+parseInt(shown, 10)
+ " WHERE res_rsv_ruimte_key="+rsv_ruimte_key
+ " AND 1=1"; // Niet dirty, niet verwijderd, ...???
Oracle.Execute(sql);
}
else {
if (parseInt(shown, 10) == 0) {
sql = "UPDATE res_rsv_ruimte"
+ " SET res_rsv_ruimte_noshow = 1"
+ " WHERE res_rsv_ruimte_key="+rsv_ruimte_key
+ " AND 1=1"; // Niet dirty, niet verwijderd, ...???
Oracle.Execute(sql);
}
}
// RESNOS-tracking toevoegen!
shared.trackaction("RESNOS", rsv_ruimte_key);
}
var oldvan = new Date(oRs("res_rsv_ruimte_van").Value);
var oldtot = new Date(oRs("res_rsv_ruimte_tot").Value);
if (tot != null) { // Bij update optioneel
try {
var totdate = XMLtoJsDate(tot);
}
catch (e) {
__DoLog("Formaat ontvangen XML-datum incorrect (tot): "+tot, "#00FF00");
// Datum-formaat niet volgens spec.? Dan exit!
resultcode = 4;
resulttekst = "Invalid date format";
}
if (resultcode == -1) { // nog steeds geen fouten
// Check van-dag = tot-dag = vandaag!
if (1==0) {
resultcode = 6;
resulttekst = "Illegal update (tot-date)";
}
}
if (resultcode == -1) { // nog steeds geen fouten
// Check oldvan < tot (openingstijden ruimte niet afvangen???)!
if (oldvan > totdate) {
resultcode = 6;
resulttekst = "Illegal update (tot-time)";
}
}
if (resultcode == -1) { // nog steeds geen fouten
// Feitelijke UPDATE tot-tijd (tijd in minuten/seconden niet afvangen???)!
// Meerdaags op dit moment hieronder nog in UPDATE voorkomen.
sql = "UPDATE res_rsv_ruimte"
+ " SET res_rsv_ruimte_tot="+totdate.toSQL(true)
+ " WHERE res_rsv_ruimte_key="+rsv_ruimte_key
+ " AND TRUNC(res_rsv_ruimte_tot)=TRUNC("+totdate.toSQL(true)+")"
+ " AND 1=1"; // Niet dirty, niet verwijderd, niet meerdaags, niet overlappend, ...???
Oracle.Execute(sql);
sql = "BEGIN "
+ "res.set_ruimte_dirty (" + rsv_ruimte_key + "); " // Zelf dirty geworden?
+ "res.set_ruimtes_clean (" + oldvan.toSQL() + "); " // Anderen clean geworden
+ "res.follow_artikel (" + rsv_ruimte_key + ", " + oldvan.toSQL(true) + ", " + oldtot.toSQL(true) + "); " // catering mee verplaatsen
+ "res.follow_deel (" + rsv_ruimte_key + ", " + oldvan.toSQL(true) + ", " + oldtot.toSQL(true) + "); " // objecten mee verplaatsen
+ "res.follow_afspraak (" + rsv_ruimte_key + ", " + S("res_copy_to_bez") + "); " // bezoekers mee verplaatsen
+ "END;";
Oracle.Execute(sql);
// TODO: Nog iets met parkeerplaatsen???
// RESUPD-tracking toevoegen!
shared.trackaction("RESUPD", rsv_ruimte_key);
}
}
if (resultcode == -1) { // nog steeds geen fouten
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze reservering.
}
} else {
resultcode = 5;
resulttekst = "Not updatable reservering "+resid;
}
oRs.Close();
}
}
else if (resaction == 'delete')
{
if (resid == '') {
resultcode = 2;
resulttekst = "Undefined reservering (key)";
}
else if (isNaN (reservering_key) || isNaN (rsv_ruimte_volgnr)) {
resultcode = 2;
resulttekst = "Invalid reservering (key) "+resid;
}
else {
tsql = "SELECT r.res_rsv_ruimte_key"
+ " FROM res_v_aanwezigrsv_ruimte r, fac_tracking t, fac_srtnotificatie sn"
+ " WHERE r.res_reservering_key="+reservering_key
+ " AND r.res_rsv_ruimte_volgnr="+rsv_ruimte_volgnr
+ " AND TRUNC(r.res_rsv_ruimte_van)>=TRUNC(SYSDATE)" // Alleen vandaag of in de toekomst???
+ " AND 1=1" // Niet dirty, niet verwijderd, geen voorzieningen, ...???
+ " AND r.res_rsv_ruimte_key=t.fac_tracking_refkey"
+ " AND t.fac_srtnotificatie_key=sn.fac_srtnotificatie_key"
+ " AND sn.fac_srtnotificatie_code='RESNEW'"
+ " AND t.prs_perslid_key="+user_key;
var oRs = Oracle.Execute(tsql);
if (!oRs.eof) {
// Hier heb ik een geldige res_rsv_ruimte_key die kan/mag worden verwijderd!
rsv_ruimte_key = oRs("res_rsv_ruimte_key").value;
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
user.auth_required_or_abort(this_res.canDelete);
// Feitelijke delete (voorlopig?) alleen toegestaan voor eerder via API aangemaakte ad-hoc/ongeplande reservering!
sql = "UPDATE res_rsv_ruimte r"
+ " SET r.res_rsv_ruimte_verwijder=SYSDATE"
+ " WHERE r.res_rsv_ruimte_key="+rsv_ruimte_key;
Oracle.Execute(sql);
// TODO: Nog iets met anderen clean geworden???
// RESDEL-tracking toevoegen (zonder opmerking???)!
shared.trackaction("RESDEL", rsv_ruimte_key);
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze reservering.
}
else {
resultcode = 5;
resulttekst = "Not deletable reservering "+resid;
}
oRs.Close();
}
}
else {
resultcode = 2;
resulttekst = "Undefined operation (type)";
}
} // end geldige ext_id
var binfo = {
returncode: resultcode,
returntekst: resulttekst,
// executed:sql, // debug
datum: nowtxt, // TODO: Beter ook xml-datum???
resid: resid
// executed:sql, // debug
datum: nowtxt,
meldingnr: mld_key
}
var FCLTBody = xmlResp.createElement("reservering"); // type=response
FCLTBody.setAttribute('key', resid);
FCLTBody.setAttribute('key', ext_id);
FCLTBody.setAttribute('type', 'response');
for (param in binfo)
{
@@ -422,18 +144,10 @@
FCLTElement.appendChild(FCLTBody);
} // end for
// Alle reservering-nodes zijn behandeld.
// Alle melding-nodes zijn behandeld.
xmlResp.appendChild(FCLTElement);
Response.ContentType = "text/xml";
if (API.apidata.stylesheet)
{
// Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
STR2Stream(xmlResp.xml, API.apidata.stylesheet, Response, {});
}
else
{
Response.Write(xmlResp.xml)
}
Response.Write(xmlResp.xml)
%>

Some files were not shown because too many files have changed in this diff Show More