6 Commits

Author SHA1 Message Date
Jos Groot Lipman
55a4a145e3 AAIT#28088 Share & Meet: einde 5.3.4
svn path=/Website/branches/v5.3.4/; revision=20603
2014-02-11 08:25:10 +00:00
Jos Groot Lipman
8636b9476d AAIT#28088 Share & Meet falende getJSON iets beter loggen.
svn path=/Website/branches/v5.3.4/; revision=20497
2014-01-30 11:48:09 +00:00
Jos Groot Lipman
ac719337ba AAIT#28088 Share & Meet Authenticatie via APIKEY is uiteindelijk niet nodig en eigenlijk ook heel fout.
Dus maar terugdraaien.

svn path=/Website/branches/v5.3.4/; revision=20496
2014-01-30 11:43:14 +00:00
Jos Groot Lipman
5ed185fc28 Merge v5.3.3 patches
svn path=/Website/branches/v5.3.4/; revision=20495
2014-01-30 11:25:18 +00:00
Jos Groot Lipman
4a2bddf4e2 AAIT#28088 Share & Meet: Rating fixje
svn path=/Website/branches/v5.3.4/; revision=20486
2014-01-30 08:54:12 +00:00
Jos Groot Lipman
421a673f4d AAIT#28088 Share & Meet: Rating tonen bij PDA, plaatsnaam erbij
svn path=/Website/branches/v5.3.4/; revision=20456
2014-01-28 08:39:18 +00:00
16 changed files with 211 additions and 125 deletions

View File

@@ -57,9 +57,16 @@ function API_func(APIname, APIKEY)
API_func.prototype.error = function (msg) API_func.prototype.error = function (msg)
{ {
Response.Status = "500 Internal server error"; if (JSON_Result && JSON) // Merk op dat 'invalid APIKEY' al door /default.asp
Response.Write(msg); { // is onderschept en dus niet hier komt.
Response.End; Response.Wxrite(JSON.stringify({ success: false, message: msg }));
}
else
{
Response.Status = "500 Internal server error";
Response.Write(msg);
Response.End;
}
} }
// LET OP: Verwacht wordt dat de JSON-code in de body utf-8 encoded is, niet windows-1252! // LET OP: Verwacht wordt dat de JSON-code in de body utf-8 encoded is, niet windows-1252!

View File

@@ -29,6 +29,7 @@
%> %>
<!-- #include file="../Shared/common.inc" --> <!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" --> <!-- #include file="../Shared/xml_converter.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../api/api.inc" --> <!-- #include file="../api/api.inc" -->
<% <%
// We sturen het antwoord in UTF-8. // We sturen het antwoord in UTF-8.
@@ -38,6 +39,9 @@
var APIname = getQParam("API"); var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY"); var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY); var API = new API_func(APIname, APIKEY);
var asJSON = getQParam("json","0")!="0";
var tsql = "-"; // Voor tijdelijke statement(s) var tsql = "-"; // Voor tijdelijke statement(s)
var sql = "-"; // De uiteindelijke insert/update-sql var sql = "-"; // De uiteindelijke insert/update-sql
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0"); var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
@@ -258,7 +262,14 @@
} }
else else
{ {
Response.ContentType = "text/xml"; if (asJSON)
Response.Write(xmlResp.xml) 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;
} }
%> %>

View File

@@ -172,7 +172,7 @@
+ " FROM prs_perslidkostenplaats ppk," + " FROM prs_perslidkostenplaats ppk,"
+ " prs_kostenplaats pk" + " prs_kostenplaats pk"
+ " WHERE pk.prs_kostenplaats_key = ppk.prs_kostenplaats_key" + " WHERE pk.prs_kostenplaats_key = ppk.prs_kostenplaats_key"
+ " AND pk.prs_perslid_key = " + voor_key + " AND ppk.prs_perslid_key = " + voor_key
+ " AND prs_kostenplaats_verwijder IS NULL" + " AND prs_kostenplaats_verwijder IS NULL"
+ " AND prs_perslidkostenplaats_boeken = 1"; + " AND prs_perslidkostenplaats_boeken = 1";
var oRs = Oracle.Execute(sql); var oRs = Oracle.Execute(sql);

View File

@@ -11,7 +11,7 @@
Notes: Notes:
*/ */
DOCTYPE_Disable = 1; JSON_Result = true;
LCL_Disable = 1 LCL_Disable = 1
THIS_FILE = "appl/api/api_ressoap_info.asp"; THIS_FILE = "appl/api/api_ressoap_info.asp";

View File

@@ -124,8 +124,8 @@ function fnLike(oRs)
if (isGereed(xmlnode, (xmlnode == "reservering"? bostatuskey : statuskey))) if (isGereed(xmlnode, (xmlnode == "reservering"? bostatuskey : statuskey)))
{ {
//likesymbol = "<img src='" + shared.satisfactionsymbol(oRs.Fields("satisfaction").Value, {shownone: true}) + "'>"; likesymbol = "<img src='" + shared.satisfactionsymbol(oRs.Fields("satisfaction").Value, {shownone: true}) + "'>";
likesymbol = rater(oRs.Fields("satisfaction").Value, {shownone: true, readonly: true}); //likesymbol = rater(oRs.Fields("satisfaction").Value, {shownone: true, readonly: true});
likesymbol = "<div onclick='fLike(event, \"" + oRs.Fields("item_key").Value + "\", \"" + oRs.Fields("xmlnode").Value +"\")'>" + likesymbol + "</div>"; likesymbol = "<div onclick='fLike(event, \"" + oRs.Fields("item_key").Value + "\", \"" + oRs.Fields("xmlnode").Value +"\")'>" + likesymbol + "</div>";
} }
return likesymbol; return likesymbol;

View File

@@ -122,6 +122,11 @@ function fnrowData(oRs, processParams)
case "resruimte": case "resruimte":
data.url = "appl/res/res_reservering.asp?res_ruimte_key="+oRs.Fields("product_key").Value; data.url = "appl/res/res_reservering.asp?res_ruimte_key="+oRs.Fields("product_key").Value;
data.ttl = L("lcl_reservation"); data.ttl = L("lcl_reservation");
if (processParams && processParams.disc_key)
{
data.deepurl = oRs.Fields("deepurl").Value;
data.disc = processParams.disc_key;
}
break; break;
case "resartikel": case "resartikel":
data.url = "appl/res/res_reservering.asp?restype=CV&res_artikel_key="+oRs.Fields("product_key").Value; data.url = "appl/res/res_reservering.asp?restype=CV&res_artikel_key="+oRs.Fields("product_key").Value;
@@ -130,11 +135,6 @@ function fnrowData(oRs, processParams)
case "resdeel": case "resdeel":
data.url = "appl/res/res_reservering.asp?restype=CV&res_deel_key="+oRs.Fields("product_key").Value; data.url = "appl/res/res_reservering.asp?restype=CV&res_deel_key="+oRs.Fields("product_key").Value;
data.ttl = L("lcl_reservation"); data.ttl = L("lcl_reservation");
if (processParams && processParams.disc_key)
{
data.deepurl = oRs.Fields("deepurl").Value;
data.disc = processParams.disc_key;
}
break; break;
case "bescatalogus": case "bescatalogus":
case "besartikelgroep": case "besartikelgroep":
@@ -582,7 +582,7 @@ function suggest_box_resruimte (titel, histograms, kolom, params)
} }
rst.sql = null; rst.sql = null;
rst.ID = "prodtable2"; rst.ID = "prodtable_" + disc_key;
rst.dataset = []; rst.dataset = [];
for (var i in prodsearch_rooms_info) for (var i in prodsearch_rooms_info)

View File

@@ -546,6 +546,7 @@ function ins_list (pautfunction, params)
+ sqlInspectie_where + sqlInspectie_where
+ (fronto + (fronto
? " AND s.ins_srtdeel_uitleenbaar = 1" ? " AND s.ins_srtdeel_uitleenbaar = 1"
+ " AND BITAND(s.ins_srtdeel_binding, 16) = 16" // Object moet uitgegeven kunnen worden aan een persoon (BIND_PERSOO = 0x10)
: "") : "")
+ (koppel_key + (koppel_key
? " AND idk.ins_deelkoppeling_verwijder IS NULL" ? " AND idk.ins_deelkoppeling_verwijder IS NULL"
@@ -691,6 +692,7 @@ function ins_list (pautfunction, params)
+ " AND s.ins_srtdeel_key = i.ins_srtdeel_key" + " AND s.ins_srtdeel_key = i.ins_srtdeel_key"
+ (fronto + (fronto
? " AND s.ins_srtdeel_uitleenbaar = 1" ? " AND s.ins_srtdeel_uitleenbaar = 1"
+ " AND BITAND(s.ins_srtdeel_binding, 16) = 16" // Object moet uitgegeven kunnen worden aan een persoon (BIND_PERSOO = 0x10)
: "") : "")
+ ((insLentOut && !insAvail) + ((insLentOut && !insAvail)
? " AND i.ins_alg_ruimte_key_org IS NOT NULL" ? " AND i.ins_alg_ruimte_key_org IS NOT NULL"

View File

@@ -252,6 +252,42 @@ plaatsselector =
if (key > 0) plaatsselector.checkLowerLevels(6, key, idadd); if (key > 0) plaatsselector.checkLowerLevels(6, key, idadd);
}, },
checkReadonlyVer: function (idadd)
{
if ($("#bttype" + (idadd? idadd : "")).val() == 'T')
{ // Indien een terrein gekozen is, maak dan onderstaande velden readonly
if (requiredlevel >= 4) // Verplichtheid eraf halen indien required.
$("#verdieping" + (idadd? idadd : "")).removeClass("required");
var sgFlr = psObject[idadd? idadd : 0].sgFlr;
sgFlr.makeReadOnly();
$("#verdieping" + (idadd? idadd : "")).val("");
}
},
checkReadonlyRui: function (idadd)
{
if ($("#bttype" + (idadd? idadd : "")).val() == 'T')
{ // Indien een terrein gekozen is, maak dan onderstaande velden readonly
if (requiredlevel >= 5) // Verplichtheid eraf halen indien required.
$("#ruimte" + (idadd? idadd : "")).removeClass("required");
var sgRoom = psObject[idadd? idadd : 0].sgRoom;
sgRoom.makeReadOnly();
$("#ruimte" + (idadd? idadd : "")).val("");
}
},
checkReadonlyWer: function (idadd)
{
if ($("#bttype" + (idadd? idadd : "")).val() == 'T')
{ // Indien een terrein gekozen is, maak dan onderstaande velden readonly
if (requiredlevel >= 6) // Verplichtheid eraf halen indien required.
$("#werkplek" + (idadd? idadd : "")).removeClass("required");
var sgWpl = psObject[idadd? idadd : 0].sgWpl;
sgWpl.makeReadOnly();
$("#werkplek" + (idadd? idadd : "")).val("");
}
},
_werkplekken: [], // Deze proberen we te autoselecten. Komen uit prs_info.werkplekken _werkplekken: [], // Deze proberen we te autoselecten. Komen uit prs_info.werkplekken
preferWerkplekken: function(werkplekken, idadd) preferWerkplekken: function(werkplekken, idadd)
{ {

View File

@@ -8,8 +8,6 @@
Parameters: rsv_ruimte_key voor bestaande deelreservering Parameters: rsv_ruimte_key voor bestaande deelreservering
rsv_ruimte_key=-1 voor nieuwe (deel)reservering rsv_ruimte_key=-1 voor nieuwe (deel)reservering
Note: DRAFT - TODO
*/ %> */ %>
<!-- #include file="../Shared/common.inc" --> <!-- #include file="../Shared/common.inc" -->
@@ -123,7 +121,6 @@ else
} }
else else
{ {
var bezoekers = getQParamInt("bez_cnt", 0)
// //
var rsv = { loc_key: getQParamInt("loc_key", -1) var rsv = { loc_key: getQParamInt("loc_key", -1)
, act_key: getQParamInt("act_key", -1) , act_key: getQParamInt("act_key", -1)
@@ -133,6 +130,7 @@ else
, ruimtekey: ruimtekey , ruimtekey: ruimtekey
, ruimte_van: res_van , ruimte_van: res_van
, ruimte_tot: res_tot , ruimte_tot: res_tot
, bezoekers: getQParamInt("bez_cnt", 0)
}; };
if (rsv.kostenklant) if (rsv.kostenklant)
{ {
@@ -169,13 +167,12 @@ else
+ " , res_ruimte rr" + " , res_ruimte rr"
+ " WHERE rro.res_ruimte_key = rr.res_ruimte_key" + " WHERE rro.res_ruimte_key = rr.res_ruimte_key"
+ " AND rro.res_ruimte_key = " + rsv.ruimtekey + " AND rro.res_ruimte_key = " + rsv.ruimtekey
+ (bezoekers > 0 ? " AND res_ruimte_opstel_bezoekers >= " + bezoekers : "") + (rsv.bezoekers > 0 ? " AND res_ruimte_opstel_bezoekers >= " + rsv.bezoekers : "")
+ " ORDER BY res_ruimte_opstel_default DESC NULLS LAST" + " ORDER BY res_ruimte_opstel_default DESC NULLS LAST"
+ " , res_ruimte_opstel_bezoekers"; + " , res_ruimte_opstel_bezoekers";
var oRs = Oracle.Execute(sql); var oRs = Oracle.Execute(sql);
rsv.ruimtenr = oRs("res_ruimte_nr").value; rsv.ruimtenr = oRs("res_ruimte_nr").value;
rsv.opstel_key = oRs("res_ruimte_opstel_key").value; rsv.opstel_key = oRs("res_ruimte_opstel_key").value;
rsv.bezoekers = (bezoekers > 0 ? bezoekers : oRs("res_ruimte_opstel_bezoekers").value);
oRs.Close(); oRs.Close();
// //
var sql = "SELECT rsa.res_srtactiviteit_metomschr" var sql = "SELECT rsa.res_srtactiviteit_metomschr"
@@ -324,65 +321,25 @@ if (rsv.restype == "CV")
<input type="hidden" name="kostenklant" id="kostenklant" value="<%=(rsv.kostenklant?"on":"")%>"> <input type="hidden" name="kostenklant" id="kostenklant" value="<%=(rsv.kostenklant?"on":"")%>">
<input type="hidden" name="account" id="account" value="<%=rsv.account%>"> <input type="hidden" name="account" id="account" value="<%=rsv.account%>">
<% } <% }
%>
<%
if (rsv_ruimte_key == -1) if (rsv_ruimte_key == -1)
{ // Nieuw { // Nieuw. Datum en tijd heb je al in vorige schermen gekozen
ROFIELD("fld", L("lcl_place") , rsv.ruimtenr.replace(/\n/,"<br>"));
ROFIELD("fld", L("lcl_date"), toDateTimeString(rsv.ruimte_van) + "-" + toTimeString(rsv.ruimte_tot));
%> %>
<input type="hidden" name="person" id="person" value="<%=user_key%>"> <input type="hidden" name="person" id="person" value="<%=user_key%>">
<input type="hidden" name="personH" id="personH" value="<%=user_key%>"> <input type="hidden" name="personH" id="personH" value="<%=user_key%>">
<input type='hidden' name='date_from' value='<%=rsv.ruimte_van.getTime()%>'>
<input type='hidden' name='date_to' value='<%=rsv.ruimte_tot.getTime()%>'>
<% <%
ROFIELD("fld", L("lcl_place") , rsv.ruimtenr.replace(/\n/,"<br>"));
ROFIELD("fld", L("lcl_date"), toDateString(rsv.ruimte_van) );
if (fe_lastminute)
{
ROFIELD("fld", L("lcl_from"), toDateString(rsv.ruimte_van), { });
ROFIELD("fld", L("lcl_to"), toDateString(rsv.ruimte_tot), {combine: true});
}
else
{
FCLTcalendar("date_from",
{ label : L("lcl_from"),
datum: new Date(rsv.ruimte_van),
maxPast: 0,
maxFuture: (S("res_fe_reservering_limiet") > 0? S("res_fe_reservering_limiet") : S("res_reservering_limiet")),
timeField: true,
timeStep: S("res_h") * 60,
startTime: S("res_t1"),
endTime: S("res_t2"),
hidden: true, // Meerdaags ruimte ondersteunen we nog niet echt
required: true,
volgnr: 1,
mobile: true
}
);
FCLTcalendar("date_to",
{ label : L("lcl_to"),
datum: new Date(rsv.ruimte_tot),
maxFuture: (S("res_fe_reservering_limiet") > 0? S("res_fe_reservering_limiet") : S("res_reservering_limiet")),
timeField: true,
timeStep: S("res_h") * 60,
startTime: S("res_t1"),
endTime: S("res_t2"),
hidden: true, // Meerdaags ruimte ondersteunen we nog niet echt
required: true,
volgnr: 2,
mobile: true
}
);
}
if (rsv.toonBez) if (rsv.toonBez)
RWFIELD("bezoekers", L("lcl_visitors"), rsv.bezoekers, {datatype:"number"}); ROFIELD("bezoekers", L("lcl_visitors"), rsv.bezoekers, {suppressEmpty: true});
if (rsv.toonOms) if (rsv.toonOms)
RWFIELD("descript", L("lcl_txt") , rsv.omschrijving); RWFIELD("descript", L("lcl_txt") , rsv.omschrijving);
if (rsv.toonOpm) if (rsv.toonOpm)
RWFIELD("opmerk", L("lcl_remark") , rsv.opmerking, {multi:true}); RWFIELD("opmerk", L("lcl_remark") , rsv.opmerking, {multi:true});
} }
else else // Bestaand
{ {
if (rsv.restype == "CV" || fe_lastminute) if (rsv.restype == "CV" || fe_lastminute)
{ // Voor "CV" reservering is de plaats niet aanpasbaar. { // Voor "CV" reservering is de plaats niet aanpasbaar.

View File

@@ -23,8 +23,8 @@
<!-- #include file="./iface.inc" --> <!-- #include file="./iface.inc" -->
<!-- #include file="../shared/data_recordset.inc" --> <!-- #include file="../shared/data_recordset.inc" -->
<!-- #include file="./resultset_table.inc" --> <!-- #include file="./resultset_table.inc" -->
<!--#include file="../Shared/json2.js" --> <!-- #include file="../Shared/json2.js" -->
<!-- #include file="../shared/rater.inc" -->
<% <%
FCLTHeader.Requires({ js: ["./modernizr.custom.06495.js"] }); FCLTHeader.Requires({ js: ["./modernizr.custom.06495.js"] });
@@ -32,21 +32,20 @@ FCLTHeader.Requires({ js: ["jquery.timepicker-table.js"],
css: ["timePicker-table.css"] }); css: ["timePicker-table.css"] });
var urole = "fe"; var urole = "fe";
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key"); var rsv_ruimte_key = getQParamInt("rsv_ruimte_key");
var date_from = getQParamDate("date_from", null); var date_from = getQParamDate("date_from", null);
var date_to = getQParamDate("date_to", null); var date_to = getQParamDate("date_to", null);
var act_key = getQParamInt("act_key", -1); var act_key = getQParamInt("act_key", -1);
var bez_cnt = getQParamInt("bez_cnt", null); var bez_cnt = getQParamInt("bez_cnt", null);
var loc_key = getQParamInt("loc_key", -1); var loc_key = getQParamInt("loc_key", -1);
var res_ruimte_key = getQParamInt("res_ruimte_key",-1); var res_ruimte_key = getQParamInt("res_ruimte_key",-1);
var qrc = getQParamInt("qrc", 0) != 0; var qrc = getQParamInt("qrc", 0) != 0;
autfunction = ("WEB_RESUSE"); autfunction = ("WEB_RESUSE");
var authparams = user.checkAutorisation(autfunction); var authparams = user.checkAutorisation(autfunction);
var transitParam = buildTransitParam(["act_key", "date_from", "date_to", "bez_cnt", "loc_key", "res_ruimte_key"]); var transitParam = buildTransitParam(["act_key", "date_from", "date_to", "bez_cnt", "loc_key", "loc_plaats", "res_ruimte_key"]);
var transitParamExtern = buildTransitParam(["date_from", "date_to", "bez_cnt"]); var transitParamExtern = buildTransitParam(["date_from", "date_to", "bez_cnt", "loc_plaats"]);
var sql = "SELECT COALESCE(MIN(fac_gebruiker_alg_level_write), 9) writelevel" var sql = "SELECT COALESCE(MIN(fac_gebruiker_alg_level_write), 9) writelevel"
+ " FROM fac_v_webgebruiker g, fac_functie f " + " FROM fac_v_webgebruiker g, fac_functie f "
@@ -68,7 +67,7 @@ if (rsv_ruimte_key == -1)
var srtact = getQParamInt("srtact", 1); // Vooralsnog alleen ruimte reserveringen. var srtact = getQParamInt("srtact", 1); // Vooralsnog alleen ruimte reserveringen.
// default begin en eindtijd // default begin en eindtijd
var res_van = new Date().setFloatHours(S("res_t1"), S("res_h")); var res_van = new Date().setFloatHours(S("res_t1") + 24, S("res_h")); // default morgen
var res_tot = res_van.addFloatHours(S("res_dur"), S("res_h")); var res_tot = res_van.addFloatHours(S("res_dur"), S("res_h"));
// Activiteiten // Activiteiten
var sql_a = "SELECT a.res_activiteit_key" var sql_a = "SELECT a.res_activiteit_key"
@@ -108,6 +107,7 @@ if (rsv_ruimte_key == -1)
var filtClause = getFiltClauseLocatie("RES"); var filtClause = getFiltClauseLocatie("RES");
var sql_l = "SELECT l.alg_locatie_key" var sql_l = "SELECT l.alg_locatie_key"
+ ", " + S("alg_loc_string") + " naam" + ", " + S("alg_loc_string") + " naam"
+ ", alg_locatie_plaats"
+ " FROM alg_v_aanweziglocatie l" + " FROM alg_v_aanweziglocatie l"
+ " WHERE 1=1" + " WHERE 1=1"
+ filtClause + filtClause
@@ -124,11 +124,13 @@ if (rsv_ruimte_key == -1)
// res_tot: einde van reservering (niet meerdaags) // res_tot: einde van reservering (niet meerdaags)
var params = { loc: loc_key, var params = { loc: loc_key,
loc_plaats: getQParam("loc_plaats", ""),
forSelectRoom: true, forSelectRoom: true,
res_van: date_from, res_van: date_from,
res_tot: date_to, res_tot: date_to,
vis: bez_cnt, vis: bez_cnt,
activiteit_key: act_key, activiteit_key: act_key,
with_satisfaction: true,
authparams: user.checkAutorisation("WEB_RESUSE", null, null, true), // urole == "fe" en pessimistisch. authparams: user.checkAutorisation("WEB_RESUSE", null, null, true), // urole == "fe" en pessimistisch.
ruimtecat: [] ruimtecat: []
}; };
@@ -173,16 +175,45 @@ if (rsv_ruimte_key == -1)
var activiteit = $("#act_key").val(); var activiteit = $("#act_key").val();
var bezoekers = $("#bez_cnt").val(); var bezoekers = $("#bez_cnt").val();
var locatie = $("#loc_key").val(); var locatie = $("#loc_key").val();
var loc_plaats = $("#loc_plaats").val();
var purl = "?rsv_ruimte_key=-1" var purl = "?rsv_ruimte_key=-1"
+ "&date_from=" + datum + "&date_from=" + datum
+ "&date_to=" + $("#date_to").val() + "&date_to=" + $("#date_to").val()
+ "&act_key=" + activiteit + "&act_key=" + activiteit
+ (locatie > 0 ? "&loc_key=" + locatie : "") + (locatie > 0 ? "&loc_key=" + locatie : "")
+ (loc_plaats ? "&loc_plaats=" + escape(loc_plaats) : "")
+ (bezoekers ? "&bez_cnt=" + bezoekers : "") + (bezoekers ? "&bez_cnt=" + bezoekers : "")
+ "<%=safe.jsstring(transitParam)%>"; + "<%=safe.jsstring(transitParam)%>";
window.location.href = "reservering_new.asp" + purl; window.location.href = "reservering_new.asp" + purl;
} }
function autosetEindtijd() // ongeacht activiteit altijd res_dur
{
var res_duur = <%=safe.jsfloat(S("res_dur"))%>;
if (res_duur)
{
var startDate = new Date(parseInt($('#date_from').val()));
var endDate = new Date(parseInt($('#date_to').val()));
var estEndDate = startDate.addFloatHours(res_duur, <%=safe.jsfloat(S("res_h"))%>);
if (!isNaN(startDate) && endDate.getTime() != estEndDate.getTime())
{
$("#show_date_to").datepicker('setDate',new Date(estEndDate));
$("#date_to").val(estEndDate.getTime());
$("#time_from_date_to").val(toTimeString(estEndDate)).css("color", "red");
}
}
}
function changeLoc(elm)
{
var loc_key = $(elm).val();
if (loc_key > 0)
$('#loc_plaats').val($(elm).find('option:selected').attr('alg_locatie_plaats')).textinput('disable');
else
$('#loc_plaats').textinput('enable');
}
</script> </script>
</head> </head>
<body> <body>
@@ -214,9 +245,11 @@ if (rsv_ruimte_key == -1)
timeStep: S("res_h") * 60, timeStep: S("res_h") * 60,
startTime: S("res_t1"), startTime: S("res_t1"),
endTime: S("res_t2"), endTime: S("res_t2"),
res_dur: S("res_dur"),
required: true, required: true,
volgnr: 1, volgnr: 1,
mobile: true mobile: true,
onChange : "autosetEindtijd()"
} }
); );
FCLTcalendar("date_to", FCLTcalendar("date_to",
@@ -244,15 +277,27 @@ if (rsv_ruimte_key == -1)
} }
); );
var loc_key = user.alg_locatie_key( { withcurrent:true });
var plaats = "";
if (loc_key > 0)
plaats = new Locatie(loc_key).alg_locatie_plaats();
var anyremote = res.anyremotes();
FCLTselector( "loc_key", FCLTselector( "loc_key",
sql_l, sql_l,
{ initKey: user.alg_locatie_key({withcurrent:true}), { initKey: loc_key,
emptyOption: anyremote?L("lcl_shared_other"):null,
label: L("lcl_location"), label: L("lcl_location"),
initEmpty: true, initEmpty: true,
mobile:true mobile:true,
extraParamValue: "alg_locatie_plaats",
onChange: "changeLoc(this)"
} }
); );
if (anyremote)
RWFIELD("loc_plaats", "" , plaats, { html: 'disabled=1' });
CONTROLGROUP_START() CONTROLGROUP_START()
BUTTON(L("lcl_next"), {click: "fn_res_next1()", dataicon: "arrow-r", dataajax: "false"}); BUTTON(L("lcl_next"), {click: "fn_res_next1()", dataicon: "arrow-r", dataajax: "false"});
CONTROLGROUP_END() CONTROLGROUP_END()
@@ -311,6 +356,17 @@ if (rsv_ruimte_key == -1)
// return toTimeString(dataregel.begintijd); // return toTimeString(dataregel.begintijd);
} }
function fnHeader(oRs)
{
var txt = safe.html(oRs.Fields("res_ruimte_nr").Value);
if (oRs.Fields("satisfaction").Value)
{
var likesymbol = rater(oRs.Fields("satisfaction").Value, { readonly: true } );
txt += "<br>" + likesymbol;
}
return txt;
}
function fnSubheader(oRs) function fnSubheader(oRs)
{ {
// Toon extra gegevens over deze ruimte. // Toon extra gegevens over deze ruimte.
@@ -383,7 +439,7 @@ if (rsv_ruimte_key == -1)
, keyColumn: "res_ruimte_key" , keyColumn: "res_ruimte_key"
, iconColumn: fncolIcon , iconColumn: fncolIcon
, linkColumn: fncol1Link , linkColumn: fncol1Link
, headerColumn: "res_ruimte_nr" , headerColumn: fnHeader
//, detailColumn: fnDetail //, detailColumn: fnDetail
, subheaderColumn: fnSubheader , subheaderColumn: fnSubheader
, dividerColumn: (loc_key == -1 ? "locatie" : "") , dividerColumn: (loc_key == -1 ? "locatie" : "")
@@ -412,16 +468,16 @@ if (rsv_ruimte_key == -1)
var resparams = { var resparams = {
res_van: params.res_van, res_van: params.res_van,
res_tot: params.res_tot, res_tot: params.res_tot,
reg: getFParamInt("regiokey", -1), reg: -1,
dist: getFParamInt("districtkey", -1), dist: -1,
loc: getFParamInt("locatiekey", -1), loc: -1,
bld: getFParamInt("gebouwkey", -1), bld: -1,
ver: getFParamInt("verdiepingkey", -1), ver: -1,
rui: getFParamInt("ruimtekey", -1), rui: -1,
ruimtecat: [] ruimtecat: []
}; };
if (params.loc) // Aan de andere kant kennen we onze key niet, daarom via plaats.
resparams.alg_locatie_plaats = new Locatie(params.loc).alg_locatie_plaats(); resparams.alg_locatie_plaats = params.loc_plaats;// Aan de andere kant kennen we onze key niet, daarom via plaats.
resparams.request = "plan_rooms_info"; resparams.request = "plan_rooms_info";
resparams.mobile = true; resparams.mobile = true;
@@ -430,8 +486,8 @@ if (rsv_ruimte_key == -1)
/*global*/ plan_bezet_info = HTTP.getJSON(url, resparams).plan_bezet_info; /*global*/ plan_bezet_info = HTTP.getJSON(url, resparams).plan_bezet_info;
set_will_fit(plan_rooms_info, plan_bezet_info, resparams) set_will_fit(plan_rooms_info, plan_bezet_info, resparams)
__DoLog("plan_rooms_info") __Log("plan_rooms_info")
__DoLogj(plan_rooms_info) __Logj(plan_rooms_info)
rst.dataset = plan_rooms_info; rst.dataset = plan_rooms_info;
rst.sql = null; rst.sql = null;

View File

@@ -795,8 +795,8 @@ res = {
{ {
params.loc_key_arr = [-1]; // Voorkom dat we 'alles' krijgen bij niet gevonden plaats params.loc_key_arr = [-1]; // Voorkom dat we 'alles' krijgen bij niet gevonden plaats
var sql = "SELECT alg_locatie_key" var sql = "SELECT alg_locatie_key"
+ " FROM alg_locatie" + " FROM alg_v_aanweziglocatie"
+ " WHERE alg_locatie_plaats = " + safe.quoted_sql(params.alg_locatie_plaats); + " WHERE UPPER(alg_locatie_plaats) = " + safe.quoted_sql_wild(params.alg_locatie_plaats + '%');
var oRs = Oracle.Execute(sql); var oRs = Oracle.Execute(sql);
while (!oRs.Eof) while (!oRs.Eof)
{ {
@@ -830,6 +830,13 @@ res = {
else if (params.reg > 0) else if (params.reg > 0)
sql_loc_where = " AND l.alg_district_key = d.alg_district_key" sql_loc_where = " AND l.alg_district_key = d.alg_district_key"
+ " AND d.alg_regio_key = " + params.reg; + " AND d.alg_regio_key = " + params.reg;
var sati_sql = " (SELECT AVG(res_rsv_ruimte_satisfaction) "
+ " FROM res_rsv_ruimte rrr, res_ruimte_opstelling rro"
+ " WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key"
+ " AND rro.res_ruimte_key = fr.res_ruimte_key"
+ " AND res_rsv_ruimte_van > sysdate - 180)";
// RES_RUIMTE informatie // RES_RUIMTE informatie
// Deze query bepaalt het aantal regels in het planbord // Deze query bepaalt het aantal regels in het planbord
var sql = "SELECT DISTINCT fr.res_ruimte_key" var sql = "SELECT DISTINCT fr.res_ruimte_key"
@@ -845,6 +852,7 @@ res = {
+ " , fr.res_ruimte_image" + " , fr.res_ruimte_image"
+ " , res_disc_params_preposttime" + " , res_disc_params_preposttime"
+ " , fr.res_ruimte_prijs" + " , fr.res_ruimte_prijs"
+ " ," + (params.with_satisfaction?sati_sql:"0") + " satisfaction"
+ " , rg.res_discipline_key" + " , rg.res_discipline_key"
+ " FROM alg_locatie l" + " FROM alg_locatie l"
+ " , opstel_bez" + " , opstel_bez"
@@ -859,7 +867,7 @@ res = {
+ " AND res_disc_params.res_ins_discipline_key = rg.res_discipline_key " + " AND res_disc_params.res_ins_discipline_key = rg.res_discipline_key "
+ sql_loc_where; + sql_loc_where;
// Altijd 3D Rechten ook meenemen // Altijd 3D Rechten ook meenemen
sql = discxalg3d (sql, sql = discxalg3d (sql,
"fr.res_discipline_key", "fr.res_discipline_key",
"rg.alg_regio_key", "rg.alg_regio_key",
@@ -954,6 +962,7 @@ res = {
omschrijving : oRs("res_ruimte_omschrijving").Value, omschrijving : oRs("res_ruimte_omschrijving").Value,
locatie : oRs("alg_locatie_omschrijving").Value, locatie : oRs("alg_locatie_omschrijving").Value,
plaats : oRs("alg_locatie_plaats").Value, plaats : oRs("alg_locatie_plaats").Value,
satisfaction : oRs("satisfaction").Value,
prijs : oRs("res_ruimte_prijs").Value prijs : oRs("res_ruimte_prijs").Value
}; };
if (room.begintijd < S("res_t1")) room.begintijd = S("res_t1"); if (room.begintijd < S("res_t1")) room.begintijd = S("res_t1");
@@ -1224,6 +1233,14 @@ res = {
+ " AND g.prs_perslid_key = " + user_key + ")"; + " AND g.prs_perslid_key = " + user_key + ")";
return sql; return sql;
}, },
anyremotes: function () // TODO: Bij veel aanroepen gaan cachen in session?
{
var sql = res.getremotes_sql("WEB_RESUSE");
var oRs = Oracle.Execute(sql);
var any = !oRs.EOF;
oRs.Close()
return any;
},
hour_px: function (width_px, nr_days) hour_px: function (width_px, nr_days)
{ {
var nr_hours = nr_days * (S("res_t2") - S("res_t1")); var nr_hours = nr_days * (S("res_t2") - S("res_t1"));

View File

@@ -256,11 +256,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
+ " , ins_deel d" + " , ins_deel d"
+ " , alg_v_ruimte_gegevens rg" + " , alg_v_ruimte_gegevens rg"
+ " WHERE rd.res_ins_deel_key = d.ins_deel_key" + " WHERE rd.res_ins_deel_key = d.ins_deel_key"
+ " AND rg.alg_ruimte_key = CASE d.ins_alg_ruimte_key_org" + " AND COALESCE(d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key) = rg.alg_ruimte_key"
+ " WHEN NULL"
+ " THEN d.ins_alg_ruimte_key"
+ " ELSE d.ins_alg_ruimte_key_org"
+ " END"
+ " AND res_deel_key = " + res_deel_key; + " AND res_deel_key = " + res_deel_key;
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
rrr.alg_locatie_key = oRs("alg_locatie_key").value; rrr.alg_locatie_key = oRs("alg_locatie_key").value;

View File

@@ -1174,7 +1174,17 @@ HTTP =
else else
{ {
__Log(http_request.ResponseText); __Log(http_request.ResponseText);
return myJSON.parse(http_request.ResponseText); try
{
var result = myJSON.parse(http_request.ResponseText)
}
catch (e)
{
__DoLog("Parse error: " + e.message);
__DoLog(http_request.ResponseText);
result = { success: false, message: e.message };
}
return result;
} }
}, },
urlzelf: function () urlzelf: function ()

View File

@@ -1109,6 +1109,10 @@ tr.rejected td {
height: 80px; height: 80px;
margin: 0px; margin: 0px;
} }
div.rater img {
height: 16px!important;
}
.prodsrchmess { .prodsrchmess {
margin: 20px; margin: 20px;
font-size: 1.2em; font-size: 1.2em;

View File

@@ -90,30 +90,17 @@ if (user_key < 0)
} }
} }
// Authenticatie door APIKEY. Meestal in combinatie met API's // Pas h<><68>l laat api_user_key zetten om te voorkomen dat je
// Maar ook wel bij bookmarks als alternatief voor fallback_user // bestaande sessie ongeldig wordt (Vinder/ telefoongids)
// Pas h<><68>l laat api_user_key zetten om te voorkomen dat bij API's // JGL (later) maar volgens mij komt je dan hier helemaal niet dus is het niet echt relevant
// je bestaande sessie ongeldig wordt (Vinder/ telefoongids) var APIname = getQParam("API", "");
var APIKEY = getQParam("APIKEY", ""); var APIKEY = getQParam("APIKEY", "");
if (user_key < 0 && APIKEY) if (user_key < 0 && APIname && APIKEY)
{ {
var sql2 = "SELECT prs_perslid_key, prs_perslid_naam" var API = new API_func(APIname, APIKEY); // controleert vanzelf
+ " FROM prs_perslid"
+ " WHERE prs_perslid_apikey = " + safe.quoted_sql(APIKEY);
var oRs = Oracle.Execute(sql2);
if (oRs.Eof)
{
this.error("Invalid APIKEY: " + APIKEY);
oRs.Close();
Response.End;
};
__Log("APIKEY User is: " + oRs("prs_perslid_naam"));
if (getQParam("API", ""))
user_key = oRs("prs_perslid_key").Value;
else
doLogin(oRs("prs_perslid_key").Value); // Interactief
oRs.Close(); if (API.apidata.prs_perslid_key)
user_key = API.apidata.prs_perslid_key;
} }
// LogOff.asp kan Session("no_sso") gezet hebben // LogOff.asp kan Session("no_sso") gezet hebben

View File

@@ -601,6 +601,7 @@ function FCLTplaatsselector(alglevel, params)
keyField: $("#verdiepingkey<%=idadd%>")[0] keyField: $("#verdiepingkey<%=idadd%>")[0]
}); });
psObject[<%=idadd? idadd : 0%>].sgFlr = sgFlr<%=idadd%>; psObject[<%=idadd? idadd : 0%>].sgFlr = sgFlr<%=idadd%>;
plaatsselector.checkReadonlyVer(<%=idadd? idadd : ""%>);
}); });
function onChangeVer<%=idadd%>(key) function onChangeVer<%=idadd%>(key)
{ {
@@ -671,6 +672,7 @@ function FCLTplaatsselector(alglevel, params)
keyField: $("#ruimtekey<%=idadd%>")[0] keyField: $("#ruimtekey<%=idadd%>")[0]
}); });
psObject[<%=idadd? idadd : 0%>].sgRoom = sgRoom<%=idadd%>; psObject[<%=idadd? idadd : 0%>].sgRoom = sgRoom<%=idadd%>;
plaatsselector.checkReadonlyRui(<%=idadd? idadd : ""%>);
<% if (params.cadSelect) <% if (params.cadSelect)
{ {
var xfunc = user.func_enabled2("CAD", { isOptional: true }); var xfunc = user.func_enabled2("CAD", { isOptional: true });
@@ -756,6 +758,7 @@ function FCLTplaatsselector(alglevel, params)
keyField: $("#werkplekkey<%=idadd%>")[0] keyField: $("#werkplekkey<%=idadd%>")[0]
}); });
psObject[<%=idadd? idadd : 0%>].sgWpl = sgWpl<%=idadd%>; psObject[<%=idadd? idadd : 0%>].sgWpl = sgWpl<%=idadd%>;
plaatsselector.checkReadonlyWer(<%=idadd? idadd : ""%>);
}); });
function onChangeWer<%=idadd%>(key) function onChangeWer<%=idadd%>(key)
{ {