From 74f1db9d4f03d50a51a98b142a6cad2e196f1d78 Mon Sep 17 00:00:00 2001 From: Peter Feij Date: Mon, 2 Nov 2009 15:44:52 +0000 Subject: [PATCH] svn path=/Website/trunk/; revision=35 --- APPL/FAC/fac_list.asp | 21 +- APPL/FAC/fac_user_info.asp | 6 +- APPL/FAC/login.asp | 82 ++-- APPL/FAC/login_save.asp | 37 +- APPL/RES/res_list.inc | 230 ++++----- APPL/RES/res_load_plan_obj.asp | 76 +-- APPL/RES/res_plan_obj.inc | 755 ++++++++++++------------------ APPL/RES/res_search.asp | 161 ++++--- APPL/RES/res_search_plan_room.asp | 220 ++++++--- 9 files changed, 772 insertions(+), 816 deletions(-) diff --git a/APPL/FAC/fac_list.asp b/APPL/FAC/fac_list.asp index 48d12cbd35..2ffa09c90c 100644 --- a/APPL/FAC/fac_list.asp +++ b/APPL/FAC/fac_list.asp @@ -1,30 +1,35 @@ <%@ language = "JavaScript" %> <% /* - $Revision: 1 $ - $Modtime: 30-09-09 14:01 $ + $Revision: 2 $ + $Modtime: 1-11-09 22:39 $ File: fac_list.asp Description: Toont verplichtingen etc van user, refresht zelf Status: 80% Parameters: prs_key optioneel (anders user_key) Context: - Note: - is details een action of niet? - - TODO hoe urole te gebruiken? + Note: De urole (voor vervolgacties) wordt impliciet bepaald door + de prs_key: is het de lijst van mezelf, dan ga ik met fe verder, + is het de lijst van een ander, dan ga ik met fo verder. + TODO: voor verplichtingen van een ander moet ik de respectievelijke read-scopes + gebruiken, dus reserveringen die in volgens WEB_RESFOF mag zien, meldingen + die ik volgens WEB_MLDFOF mag zien etc. */ %> -<% Response.Expires = -1; -%> <% FCLTHeader.Requires({js: ["FcltMgr.js"]}); - var urole = getQParam("urole", "fe"); var pkey = getQParam("prs_key", user_key); var outputmode = parseInt(getQParam("outputmode", 0), 10); // 0 = screen, 1 = print, 2 = excel etc - var embedded = getQParamInt("embedded", -1) == 1; var showall = getQParam("showall", -1) == 1; + var urole = "?"; + if (pkey == user_key) + urole = "fe"; + else + urole = "fo"; function fncolType(oRs) { diff --git a/APPL/FAC/fac_user_info.asp b/APPL/FAC/fac_user_info.asp index 812c9ec884..d721aa96b9 100644 --- a/APPL/FAC/fac_user_info.asp +++ b/APPL/FAC/fac_user_info.asp @@ -1,6 +1,6 @@ <%@language = "javascript" %> -<%/* $Revision: 2 $ - $Modtime: 30-10-09 17:40 $ +<%/* $Revision: 3 $ + $Modtime: 2-11-09 11:47 $ File: fac_user.asp Status: 90% @@ -143,7 +143,7 @@ IFRAMER_HEADER(lcl_prs_frame_algemeen, buttons); if (fac_profiel_limiet != -1) { ROFIELDTR('fld', lcl_prs_profile , fac_profiel_omschrijving); ROFIELDTR('fld', lcl_BES_orderlimit, fac_profiel_limiet, - {infoPointer: {Url:"appl/prs/kpn_mandate.asp?prs_key="+prs_key, Title:lcl_menu_fin_mandatering} }); + {infoPointer: {Url:"appl/prs/kpn_mandate_search.asp?prs_key="+prs_key, Title:lcl_menu_fin_mandatering} }); } BLOCK_END(); } diff --git a/APPL/FAC/login.asp b/APPL/FAC/login.asp index cd25a94f95..edf7876af3 100644 --- a/APPL/FAC/login.asp +++ b/APPL/FAC/login.asp @@ -1,73 +1,73 @@ <%@language = "javascript" %> <% /* - $Revision: 1 $ - $Modtime: 8-05-09 18:16 $ + $Revision: 2 $ + $Modtime: 1-11-09 23:40 $ */ %> -<% Response.Expires = 0; -var HelpDisable = true; %> -<%dis = Request.QueryString ("dis").Count > 0; %> +<% + var dis = Request.QueryString ("dis").Count > 0; + FCLTHeader.Requires({plugins: ["jQuery"]}); +%> <% FCLTHeader.Generate() -%> +%> - + -
- - - <%//spacer%> + + +
 
- + +  SMS <% } %> + - - <%//spacer%> - - <% - BUTTONS_END(); -%> - -
<% if (mobile_password == 1) { %> - - -
size="20" maxlength="30" name="vis_pswd"> - + size="20" maxlength="30" id="vispswd" name="vis_pswd"> + <%if ((dis)||(!os_logon)) {%> <%}%>
 
-
<% - BUTTONS_START(); - CreateButton(lcl_logon, "document.forms.ifl_f.submit()","L"); - if ((!dis)&&(os_logon)) { - CreateButton("" + lcl_know_me + "", "document.forms.ifl_f.action = 'testauth.asp';document.forms.ifl_f.submit();", "B"); - } - %>
+ +
+ <% + buttons = [ { title: lcl_logon, action: "submit()" } ]; + if (true || (!dis)&&(os_logon)) { + buttons.push({ title: lcl_know_me, action: "youknowme()" }); + // CreateButton("" + lcl_know_me + "", "document.forms.ifl_f.action = 'testauth.asp';document.forms.ifl_f.submit();", "B"); + } + CreateButtons(buttons); + %>
+ +
- diff --git a/APPL/FAC/login_save.asp b/APPL/FAC/login_save.asp index cea32d0469..ea82a99944 100644 --- a/APPL/FAC/login_save.asp +++ b/APPL/FAC/login_save.asp @@ -1,13 +1,16 @@ <%@language = "javascript" %> <% /* - $Revision: 1 $ - $Modtime: 26-02-09 11:50 $ + $Revision: 2 $ + $Modtime: 2-11-09 10:00 $ */ %> -<% Response.Expires = -1; %> + + <% + FCLTHeader.Requires({plugins: ["jQuery"], + js: []}) var nm = ('' + Request.Form("vis_name")).toUpperCase(); @@ -30,22 +33,22 @@ { tryLogin(nm, ps, mobile); // nm = username, ps = wachtwoord } - if (user_key!=-1) { -%> - <%// checking if there should be orders to close%> -<% - } - var dtc = new Date(); - dtc = dtc.valueOf(); + var msg = null + if (user_key!=-1) { + msg = countOpenOrders(); + } %> - - - - - + + <% FCLTHeader.Generate() %> + + + + diff --git a/APPL/RES/res_list.inc b/APPL/RES/res_list.inc index 884960d3e8..f16e1dd790 100644 --- a/APPL/RES/res_list.inc +++ b/APPL/RES/res_list.inc @@ -1,6 +1,6 @@ <% /* - $Revision: 1 $ - $Modtime: 26-09-09 16:15 $ + $Revision: 2 $ + $Modtime: 2-11-09 17:20 $ File: res_list.inc Description: Show an overview of reservations in list-form, @@ -41,7 +41,7 @@ Note: @@TODO ZOU NOG MOETEN WORDEN GESPLITST IN res_list.inc en res_fo_search_list.asp en res_bomi_search_list.asp waarbij de formfields worden vertaald naar filterparameters - EN IK DENK DAT DEZE MET PLAN=1 HET PLANBORD MOET GAAN TONEN + TODO: de afhankelijkheden van urole moeten er uit! Deze functie levert een lijst op die voldoet aan de criteria en gegeven de user en de autorisatie. Punt! @@ -58,7 +58,7 @@ <% FCLTHeader.Requires({ plugins:["jQuery"], - js: ["expand_frame.js", "wpos.js", "FcltMgr.js", "../RES/res_list.js"] + js: ["wpos.js", "../RES/res_list.js"] }); function res_list (pautfunction, params) @@ -160,9 +160,6 @@ function res_list (pautfunction, params) var print = (<%=print? 1 : 0%> == 1); var excel = (<%=excel? 1 : 0%> == 1); var lcl_reservation = "<%=lcl_reservation%>"; - var lcl_RES_completed_unknowed = "<%=lcl_RES_completed_unknowed%>"; - var lcl_res_all_future = "<%=lcl_res_all_future%>"; - var lcl_res_future_res = "<%=lcl_res_future_res%>"; var user_naam = "<%=user.naam()%>"; var todayString = "<%=toDateString(new Date())%>"; @@ -174,9 +171,6 @@ function res_list (pautfunction, params) <% - if (frontend || fronto) - { // Make ResultsetTable for FE or FO - /***** Build sql *****/ thePerslid = " WITH" + " thePerslid AS" @@ -184,6 +178,10 @@ function res_list (pautfunction, params) + ", prs_afdeling_key" + ", " + prs_pers_string + " naam FROM prs_perslid p)" + if (frontend || fronto) + { // Make ResultsetTable for FE or FO + + // RES_RSV_ROOM sqlR = ""; @@ -191,17 +189,6 @@ function res_list (pautfunction, params) + ", rm.res_rsv_ruimte_key" + ", rm.res_rsv_ruimte_omschrijving descr" + ", rm.res_status_fo_key, r.res_ruimte_nr waar" - + ", ((SELECT COUNT(rd.res_rsv_ruimte_key) aantal" - + (res_deleted - ? " FROM res_rsv_deel rd" - : " FROM res_v_aanwezigrsv_deel rd") - + " WHERE rd.res_rsv_ruimte_key = rm.res_rsv_ruimte_key)" - + " +" - + " (SELECT COUNT(ra.res_rsv_ruimte_key) aantal" - + (res_deleted - ? " FROM res_rsv_artikel ra" - : " FROM res_v_aanwezigrsv_artikel ra") - + " WHERE ra.res_rsv_ruimte_key = rm.res_rsv_ruimte_key)) aantalVC" + ", res_rsv_ruimte_van tvan" + ", res_rsv_ruimte_tot ttot" + ", pcontact.naam contact" @@ -251,27 +238,19 @@ function res_list (pautfunction, params) if (!res_key) { // If there is no res_key then determine sql_date + // If from and to are given both are used + // If only one of from and to are give, this is used as a (1) day, not an half open interval + // 20-10-2009 9:46:28/PF + datefrom = datefrom || dateto; + dateto = dateto || datefrom; if (datefrom && dateto) { var ora_date1 = datefrom.beginToSQL(); var ora_date2 = dateto.endToSQL(); - sql_date = " BETWEEN " + ora_date1 + " AND " + ora_date2; - //sqlR += " AND rm.res_rsv_ruimte_van BETWEEN " + ora_date1 + " AND " + ora_date2; - } - else if (datefrom) - { - var ora_date1 = datefrom.beginToSQL(); - sql_date = " >= " + ora_date1; - //sqlR += " AND rm.res_rsv_ruimte_van >= " + ora_date1; - } - else if (dateto) - { - var ora_date2 = dateto.endToSQL(); - sql_date = " < " + ora_date2; - //sqlR += " AND rm.res_rsv_ruimte_van < " + ora_date2; + sql_date = " AND res_rsv_ruimte_van < " + ora_date2 + " AND res_rsv_ruimte_tot > " + ora_date1; } if (sql_date) - sqlR += " AND rm.res_rsv_ruimte_van" + sql_date; + sqlR += sql_date; //var ora_date1 = datefrom.beginToSQL(); //var ora_date2 = dateto.endToSQL(); @@ -279,6 +258,9 @@ function res_list (pautfunction, params) //sqlR += " AND rm.res_rsv_ruimte_van BETWEEN " + ora_date1 + " AND " + ora_date2; } + if (room_key_str) + sqlR += " AND r.res_discipline_key IN (" + room_key_str + ")"; + if (fronto) { var sql_onrgoed = ""; @@ -337,7 +319,6 @@ function res_list (pautfunction, params) // in 4.70 kunnen we direct een regel per deelreservering bepalen sqlDeelCount = "SELECT rvard.res_rsv_ruimte_key" - + ", rvard.res_rsv_deel_van datum" + ", COUNT(rvard.res_rsv_ruimte_key) aantal" + ", resd.res_discipline_key" + (res_deleted @@ -355,7 +336,6 @@ function res_list (pautfunction, params) + ", res_rsv_ruimte_omschrijving descr" + ", rvarr.res_status_fo_key" + ", alg_ruimte_aanduiding waar" - + ", rd.aantal aantalVC" + ", res_rsv_ruimte_van tvan" + ", res_rsv_ruimte_tot ttot" + ", pcontact.naam contact" @@ -398,7 +378,7 @@ function res_list (pautfunction, params) sqlDe += " AND rvarr.res_rsv_ruimte_verwijder IS NOT NULL"; if (sql_date) - sqlDe += " AND rd.datum" + sql_date; + sqlDe += sql_date; if (fronto) { if (sql_onrgoed != "") @@ -439,7 +419,6 @@ function res_list (pautfunction, params) + ", res_rsv_ruimte_omschrijving descr" + ", rvarr.res_status_fo_key" + ", alg_ruimte_aanduiding waar" - + ", ra.aantal aantalVC" + ", ra.res_rsv_artikel_levering tvan" + ", res_rsv_ruimte_tot ttot" //afruimtijd + ", pcontact.naam contact" @@ -486,7 +465,6 @@ function res_list (pautfunction, params) + ", rec2.descr" + ", rec2.res_status_fo_key" + ", rec2.waar" - + ", SUM(rec2.aantalvc) aantalVC" + ", MIN(rec2.tvan) tvan" + ", MAX(rec2.ttot) ttot" + ", rec2.contact" @@ -527,7 +505,7 @@ function res_list (pautfunction, params) + ", rec2.res_user"; if (sql_date) - sqlA += " AND res_rsv_ruimte_van" + sql_date; + sqlA += sql_date; if (fronto) { if (sql_onrgoed != "") @@ -543,21 +521,17 @@ function res_list (pautfunction, params) "rg.alg_ruimte_key", pautfunction, ""); - - sql = "SELECT " + sql_select - + " FROM (" + thePerslid + " " + sqlR + " UNION ALL " + sqlDe + " UNION ALL " + sqlA + ") rec2" - + " WHERE 1=1"; } else // frontend { sqlA += " AND (res_rsv_ruimte_contact_key IN (" + prsKeys + ")" + " OR res_rsv_ruimte_host_key IN (" + prsKeys + "))"; - - sql = "SELECT " + sql_select - + " FROM (" + thePerslid + " " + sqlR + " UNION ALL " + sqlDe + " UNION ALL " + sqlA + ") rec2" - + " WHERE 1=1 "; } // fronto + sql = "SELECT " + sql_select + + " FROM (" + thePerslid + " " + sqlR + " UNION ALL " + sqlDe + " UNION ALL " + sqlA + ") rec2" + + " WHERE 1=1 "; + if (resstatus) sql += " AND res_status_fo_key = " + resstatus; @@ -628,6 +602,17 @@ function res_list (pautfunction, params) return rowclass; } + function fnrowDataF(oRs) + { + var resKey = oRs("res_reservering_key").value; // Reservering key + var resVolgnr = oRs("res_rsv_ruimte_volgnr").value; // Reservering volgnummer + var resRsvRuimteKey = oRs("res_rsv_ruimte_key").value; // rsv_ruimte_key + + var data = {resKey: resKey, resVolgnr: resVolgnr, resRsvRuimteKey: resRsvRuimteKey}; + + return JSON.stringify(data); + } + function fnHasVZ(oRs) { if (oRs("nrObjects").value > 0) @@ -655,6 +640,7 @@ function res_list (pautfunction, params) var rst = new ResultsetTable({keyColumn: "res_rsv_ruimte_key", ID: "restable", rowClass: fnrowClassF, + rowData: fnrowDataF, sql: sql, filterParams: params, outputmode: outputmode, @@ -718,25 +704,25 @@ function res_list (pautfunction, params) { var ora_date1 = datefrom.beginToSQL(); var ora_date2 = dateto.endToSQL(); - fdate_sql = " BETWEEN " + ora_date1 + " AND " + ora_date2; + fdate_sql = " AND res_rsv_ruimte_van < " + ora_date2 + " AND res_rsv_ruimte_tot > " + ora_date1; + //fdate_sql = " BETWEEN " + ora_date1 + " AND " + ora_date2; } else if (datefrom) { var ora_date1 = datefrom.beginToSQL(); - fdate_sql = " >= " + ora_date1; + fdate_sql = " res_rsv_ruimte_tot > " + ora_date1; } else if (dateto) { var ora_date2 = dateto.endToSQL(); - fdate_sql = " < " + ora_date2; + fdate_sql = " res_rsv_ruimte_van < " + ora_date2; } - //ora_date1 = datefrom.beginToSQL(); - //ora_date2 = dateto.endToSQL(); +// JGL: Niet meer nodig volgens mij: de afzonderlijke takken hebben zelf al wel gefilterd. +// if (fdate_sql) //fdate_sql = " BETWEEN " + ora_date1 + " AND " + ora_date2; - if (fdate_sql) - date_sql = " AND res_geg.res_reservering_van" + fdate_sql; +// date_sql = " AND res_geg.res_reservering_van" + fdate_sql; if (dep_key) { @@ -814,8 +800,7 @@ function res_list (pautfunction, params) var sql = ""; // New res structure // Volgens mij willen we 1 regel per reservering hier; wat doen we dan met de mogelijk varierende kolommen? - // Onderstaand is nu 4-11-2006 1:54 wel syntactisch juist. - var sql_select = "rrr.res_reservering_key reservering" + var sql_select = "rrr.res_reservering_key" + ", ruimte_geg.alg_locatie_key" + ", l.alg_locatie_code locatie" + ", ruimte_geg.alg_gebouw_key" @@ -829,8 +814,8 @@ function res_list (pautfunction, params) + ", res_geg.res_reservering_van datum" + ", res_geg.res_reservering_van tijd" + ", res_geg.res_reservering_tot tot" - + ", (SELECT " + prs_pers_string - + " FROM prs_perslid p " + + ", (SELECT naam" + + " FROM thePerslid p " + " WHERE p.prs_perslid_key = rrr.res_rsv_ruimte_contact_key) aanvrager" + ", res_geg.res_ins_discipline_key" + ", res_rsv_ruimte_omschrijving omschrijving" @@ -855,9 +840,6 @@ function res_list (pautfunction, params) + " res_status_bo_key" + ", res_geg.res_type categorie" + ", rrr.res_rsv_ruimte_bezoekers bezoekers" - //+ ", " + DatePart('res_geg.res_reservering_van', 'DD') + " day" - //+ ", " + DatePart('res_geg.res_reservering_van', 'MM') + " maand" - //+ ", " + DatePart('res_geg.res_reservering_van', 'YYYY') + " jaar" + ", " + prs_pers_string + " gastheer" + ", p.prs_perslid_telefoonnr prs_perslid_telefoonnr" + ", COALESCE((SELECT k.prs_kostenplaats_nr " @@ -914,8 +896,8 @@ function res_list (pautfunction, params) + " WHERE d.ins_discipline_key = res_ins_discipline_key" + " AND d.prs_kostensoort_key = ks.prs_kostensoort_key) prs_kostensoortgrp_key" : "") - + ", (SELECT " + prs_pers_string - + " FROM prs_perslid p " + + ", (SELECT naam " + + " FROM thePerslid p " + " WHERE p.prs_perslid_key = res_geg.afmelder_key) afmelder_naam" + ", res_geg.afmeld_datum afmeld_datum" + ", rrr.res_rsv_ruimte_volgnr" @@ -957,8 +939,8 @@ function res_list (pautfunction, params) + sql_art_key + sql_article + sql_art_group; - if (date_sql != "") - sql_from_art_part += " AND res_rsv_ruimte_van" + fdate_sql; + if (fdate_sql != "") + sql_from_art_part += fdate_sql; var sql_from_obj_part = "SELECT 'V' as res_type" + ", 'CV' AS rcv_type" @@ -995,8 +977,8 @@ function res_list (pautfunction, params) ? " AND rrr.alg_ruimte_key IS NOT NULL" : "") + sql_obj_key; - if (date_sql != "") - sql_from_obj_part += " AND res_rsv_ruimte_van" + fdate_sql; + if (fdate_sql != "") + sql_from_obj_part += fdate_sql; var sql_from_room_part = "SELECT 'R' AS res_type" + ", 'R' AS rcv_type" @@ -1028,38 +1010,37 @@ function res_list (pautfunction, params) + " AND rro.res_opstelling_key = ro.res_opstelling_key" + sql_room_key; - - if (date_sql != "") - sql_from_room_part += " AND res_rsv_ruimte_van" + fdate_sql; + if (fdate_sql != "") + sql_from_room_part += fdate_sql; //=================================================== if (groupres == 1) { // Alleen backoffice reserveringen, group by deelreservering (rsv_ruimte_key and rcv_type DESC) if (sortout == 1) // locatie, tijd - var sql_order = " ORDER BY locatie, num_datum_tijd, rsv_ruimte_key, rcv_type DESC, reservering, categorie DESC"; + var sql_order = " ORDER BY locatie, datum, rsv_ruimte_key, rcv_type DESC, res_reservering_key, categorie DESC"; else if (sortout == 2) // plaats - var sql_order = " ORDER BY locatie, rsv_ruimte_key, rcv_type DESC, num_datum_tijd"; + var sql_order = " ORDER BY locatie, rsv_ruimte_key, rcv_type DESC, datum"; else if (sortout == 3) // reservering - var sql_order = " ORDER BY reservering, rsv_ruimte_key, rcv_type DESC, num_datum_tijd"; + var sql_order = " ORDER BY res_reservering_key, rsv_ruimte_key, rcv_type DESC, datum"; else if (sortout == 4) // gastheer - var sql_order = " ORDER BY gastheer, rsv_ruimte_key, rcv_type DESC, num_datum_tijd"; + var sql_order = " ORDER BY gastheer, rsv_ruimte_key, rcv_type DESC, datum"; else if (sortout == 5) // tijd - var sql_order = " ORDER BY num_datum_tijd, rsv_ruimte_key, rcv_type DESC, locatie, categorie DESC, bezoekers DESC"; + var sql_order = " ORDER BY datum, rsv_ruimte_key, rcv_type DESC, locatie, categorie DESC, bezoekers DESC"; else - var sql_order = " ORDER BY reservering DESC, rsv_ruimte_key, rcv_type DESC, locatie, categorie DESC, num_datum_tijd, res_ruimte_nr, bezoekers DESC"; + var sql_order = " ORDER BY res_reservering_key DESC, rsv_ruimte_key, rcv_type DESC, locatie, categorie DESC, datum, res_ruimte_nr, bezoekers DESC"; } else { if (sortout == 1) // locatie, tijd - var sql_order = " ORDER BY locatie, num_datum_tijd, res_ruimte_nr, reservering, categorie DESC"; + var sql_order = " ORDER BY locatie, datum, res_ruimte_nr, res_reservering_key, categorie DESC"; else if (sortout == 2) // plaats - var sql_order = " ORDER BY locatie, res_ruimte_nr, num_datum_tijd, reservering, categorie DESC"; + var sql_order = " ORDER BY locatie, res_ruimte_nr, datum, res_reservering_key, categorie DESC"; else if (sortout == 3) // reservering - var sql_order = " ORDER BY reservering, num_datum_tijd, res_ruimte_nr, categorie DESC"; + var sql_order = " ORDER BY res_reservering_key, datum, res_ruimte_nr, categorie DESC"; else if (sortout == 4) // gastheer - var sql_order = " ORDER BY gastheer, num_datum_tijd, res_ruimte_nr, reservering, categorie DESC"; + var sql_order = " ORDER BY gastheer, datum, res_ruimte_nr, res_reservering_key, categorie DESC"; else if (sortout == 5) // tijd - var sql_order = " ORDER BY num_datum_tijd, locatie, res_ruimte_nr, reservering, categorie DESC"; + var sql_order = " ORDER BY datum, locatie, res_ruimte_nr, res_reservering_key, categorie DESC"; } //sql += sql_order; @@ -1085,7 +1066,8 @@ function res_list (pautfunction, params) if (res_key || artcat) sql_from_total += sql_from_art_part; - sql = "SELECT " + sql_select + sql = thePerslid + + "SELECT " + sql_select + " FROM (" + sql_from_total + ") res_geg" + ", res_rsv_ruimte rrr" + ", prs_perslid p" @@ -1135,7 +1117,7 @@ function res_list (pautfunction, params) if (groupres == 1) { // Voor groepering nog verder filteren - sql = " SELECT DISTINCT reservering" + sql = " SELECT DISTINCT res_reservering_key" //+ ", alg_locatie_key" + ", locatie" + ", alg_gebouw_key" @@ -1148,7 +1130,6 @@ function res_list (pautfunction, params) + " WHEN 'C' THEN '" + lcl_reserved_object + "'" + " ELSE res_voorziening" + " END res_voorziening" - //+ ", num_datum_tijd" + ", datum" + ", tijd" + ", tot" @@ -1213,7 +1194,7 @@ function res_list (pautfunction, params) res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true) sql = "SELECT l.alg_locatie_key " + res_keyColumn + ", l.alg_locatie_omschrijving locatie" - + ", COUNT(distinct res.reservering) aantalres" + + ", COUNT(distinct res.res_reservering_key) aantalres" + ", SUM(res.verwerkt_prijs) totaalprijs" + " FROM (" + sql + ") res" + ", alg_locatie l " @@ -1231,7 +1212,7 @@ function res_list (pautfunction, params) res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true) sql = " SELECT g.alg_gebouw_key " + res_keyColumn + ", l.alg_locatie_code || '-' || g.alg_gebouw_naam gebouw" - + ", COUNT(distinct res.reservering) aantalres" + + ", COUNT(distinct res.res_reservering_key) aantalres" + ", SUM(res.verwerkt_prijs) totaalprijs" + " FROM (" + sql + ") res" + ", alg_locatie l" @@ -1250,7 +1231,7 @@ function res_list (pautfunction, params) res_columns[res_columns.length] = new columnData(lcl_res_res_nr, "aantalres", "integer", true) sql = " SELECT a.res_activiteit_key " + res_keyColumn + ", a.res_activiteit_omschrijving activiteit" - + ", COUNT(distinct res.reservering) aantalres" + + ", COUNT(distinct res.res_reservering_key) aantalres" + " FROM (" + sql + ") res" + ", res_activiteit a" + " WHERE res.res_activiteit_key = a.res_activiteit_key" @@ -1267,7 +1248,7 @@ function res_list (pautfunction, params) res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true) sql = " SELECT COALESCE(res.prs_kostensoort_key, 0) " + res_keyColumn + ", res.prs_kostensoort_oms kostensoort" - + ", COUNT(distinct res.reservering) aantalres" + + ", COUNT(distinct res.res_reservering_key) aantalres" + ", SUM(res.verwerkt_prijs) totaalprijs" + " FROM (" + sql + ") res" + " GROUP BY res.prs_kostensoort_key" @@ -1283,7 +1264,7 @@ function res_list (pautfunction, params) res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true) sql = " SELECT COALESCE(res.prs_kostensoortgrp_key, 0) " + res_keyColumn + ", res.prs_kostensoortgrp_oms kostensoortgrp" - + ", COUNT(distinct res.reservering) aantalres" + + ", COUNT(distinct res.res_reservering_key) aantalres" + ", SUM(res.verwerkt_prijs) totaalprijs" + " FROM (" + sql + ") res" + " GROUP BY res.prs_kostensoortgrp_key" @@ -1345,7 +1326,7 @@ function res_list (pautfunction, params) res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true) sql = " SELECT COALESCE(res.kostenplaats_key, 0) " + res_keyColumn + ", res.kostenplaats kostenplaats" - + ", COUNT(DISTINCT res.reservering) aantalres" + + ", COUNT(DISTINCT res.res_reservering_key) aantalres" + ", SUM(res.verwerkt_prijs) totaalprijs" + " FROM (" + sql + ") res" + " GROUP BY kostenplaats_key" @@ -1361,7 +1342,7 @@ function res_list (pautfunction, params) res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true) sql = "SELECT d.alg_district_key " + res_keyColumn + ", d.alg_district_omschrijving district" - + ", COUNT(distinct res.reservering) aantalres" + + ", COUNT(distinct res.res_reservering_key) aantalres" + ", SUM(res.verwerkt_prijs) totaalprijs" + " FROM (" + sql + ") res" + ", alg_district d" @@ -1373,8 +1354,8 @@ function res_list (pautfunction, params) else if (groupres == 4) { // De default als groepering als niets gekozen // minfo reserveringen - res_keyColumn = "reservering"; - res_columns[res_columns.length] = new columnData(lcl_resnr, "reservering") + res_keyColumn = "res_reservering_key"; + res_columns[res_columns.length] = new columnData(lcl_resnr, "res_reservering_key") res_columns[res_columns.length] = new columnData(lcl_location, "locatie") res_columns[res_columns.length] = new columnData(lcl_room_n, "ruimte_aanduiding") res_columns[res_columns.length] = new columnData(lcl_date, "datum") @@ -1387,7 +1368,8 @@ function res_list (pautfunction, params) res_columns[res_columns.length] = new columnData(lcl_remark, "opmerking") res_columns[res_columns.length] = new columnData(lcl_res_no_show, "noshow") res_columns[res_columns.length] = new columnData(lcl_room_n, "totaalprijs", "currency", true) - sql = "SELECT res.reservering " + res_keyColumn + sql = "SELECT res.res_reservering_key || '/' || res.res_rsv_ruimte_volgnr " + res_keyColumn + + ", res.res_rsv_ruimte_volgnr volgnr" + ", res.locatie locatie" + ", res.alg_ruimte_aanduiding ruimte_aanduiding" + ", res.datum datum" @@ -1406,7 +1388,8 @@ function res_list (pautfunction, params) + ", MAX(res.res_item_key) res_item_key" + ", MAX(res.res_ruimte_key) res_ruimte_key" + " FROM (" + sql + ") res" - + " GROUP BY reservering" + + " GROUP BY res_reservering_key || '/' || res.res_rsv_ruimte_volgnr" + + ", res_rsv_ruimte_volgnr" + ", locatie" + ", alg_ruimte_aanduiding" + ", datum" @@ -1453,6 +1436,18 @@ function res_list (pautfunction, params) * Callback functies ResultsetTable for only MI with grouping ****************************************************************/ + function fnrowDataM(oRs) + { + var data = { resKey : oRs(res_keyColumn).value }; // Reservering key + if (res_keyColumn == "res_reservering_key") + { + data.resVolgnr = oRs("volgnr").value; // Reservering volgnummer + data.resRsvRuimteKey = oRs("rsv_ruimte_key").value; // rsv_ruimte_key + } + + return JSON.stringify(data); + } + function fncolDistrict(oRs) { var content = oRs("locatie"); @@ -1466,6 +1461,7 @@ function res_list (pautfunction, params) var rst = new ResultsetTable({keyColumn: res_keyColumn, ID: "restable", //rowClass: fnrowClass, + rowData: fnrowDataM, sql: sql, filterParams: params, outputmode: outputmode, @@ -1503,14 +1499,17 @@ function res_list (pautfunction, params) function fnrowData(oRs) { + var resKey = oRs("res_reservering_key").value; // Reservering key + var resVolgnr = oRs("res_rsv_ruimte_volgnr").value; // Reservering volgnummer + var resRsvRuimteKey = oRs("rsv_ruimte_key").value; // rsv_ruimte_key var resPartkey = oRs("res_item_key").value; // rsv_ruimte_key, rsv_deel_key of rsv_artikel_key - var resPartType = oRs("categorie").Value; // reserveringstype ('C', 'V', 'R') + var resPartType = oRs("categorie").value; // reserveringstype ('C', 'V', 'R') var resVanDatumMidnight = new Date(oRs("tijd").value).midnight(); // rsv_ruimte_van datum om middernacht var now = new Date(); var resFuture = (resVanDatumMidnight > now? 1 : 0) - var data = {resPartkey: resPartkey, resPartType: resPartType, resFuture: resFuture}; + var data = {resKey: resKey, resVolgnr: resVolgnr, resRsvRuimteKey: resRsvRuimteKey, resPartkey: resPartkey, resPartType: resPartType, resFuture: resFuture}; return JSON.stringify(data); } @@ -1547,7 +1546,7 @@ function res_list (pautfunction, params) ////else //{ // if (oRs("afmelder_naam").value == null) - // alt_afmeld_info = 'alt="' + lcl_RES_completed_unknowed + '"'; + // alt_afmeld_info = 'alt="' + LCL.res.completed_unknown + '"'; // else // alt_afmeld_info = 'alt="' + toDateString(oRs("afmeld_datum").value) + '  -  ' + oRs("afmelder_naam").value + '"'; // //content = '' @@ -1564,7 +1563,7 @@ function res_list (pautfunction, params) function fnrowResNr(oRs) { - return oRs("reservering").value + "/" + oRs("res_rsv_ruimte_volgnr").value; + return oRs("res_reservering_key").value + "/" + oRs("res_rsv_ruimte_volgnr").value; } function fnrowVisitors(oRs) @@ -1586,9 +1585,13 @@ function res_list (pautfunction, params) { if (groupres == 1) { - if (oRs("categorie").value == 'R') - c_inst = oRs("res_voorziening").value; - else + if (oRs("categorie").value == 'R') { + // TODO: ik wil hier een span class toevoegen om afwijking van de + // defaultopstelling te markeren. Ik vind het echter nu nogal ondoorzichtig + // waar die kolomwaarde vandaan zou moeten komen. + //c_inst = (oRs('res_ruimte_opstel_default').value != "1" ? "*" : "") + c_inst = oRs("res_voorziening").value; + } else c_inst = lcl_reserved_object; } else @@ -1604,16 +1607,16 @@ function res_list (pautfunction, params) function fnrowDescr(oRs) { - descr = oRs("omschrijving").Value; - if (descr == "" || descr == '' || descr == 'null' || descr == "null" || descr == 0) + var descr = oRs("omschrijving").Value; + if (descr == "" || descr == "null") descr = " "; return descr; } function fnrowRemark(oRs) { - remark = oRs("opmerking").Value; - if (remark == "" || remark == '' || remark == 'null' || remark == "null" || remark == 0) + var remark = oRs("opmerking").Value; + if (remark == "" || remark == "null") remark=" "; return remark; } @@ -1639,8 +1642,11 @@ function res_list (pautfunction, params) }); // Kolommen - rst.addColumn(new Column({caption: lcl_location, content: "locatie"})); - rst.addColumn(new Column({caption: lcl_room_n, content: "res_ruimte_nr", combine: true, hasActions: true})); + // AAFM#14872/PF: Deze locatiekolom is wat dubbelop. We spreken af dat we die + // eerst maar eens niet meer tonen. Als er gefundeerde klachten komen is + // deze snel genoeg combined terug te halen +// rst.addColumn(new Column({caption: lcl_location, content: "locatie"})); + rst.addColumn(new Column({caption: lcl_room_n, content: "res_ruimte_nr", combine: false, hasActions: true})); rst.addColumn(new Column({caption: lcl_date, content: "datum"})); rst.addColumn(new Column({caption: lcl_res_starttime, content: "tijd", datatype: "time"})); rst.addColumn(new Column({caption: lcl_res_endtime, content: "tot", datatype: "time"})); @@ -1687,7 +1693,7 @@ function res_list (pautfunction, params) %> <% - } // else frontend || fronto + } // else bo || mi %> diff --git a/APPL/RES/res_load_plan_obj.asp b/APPL/RES/res_load_plan_obj.asp index 11738e2767..52cf31abd1 100644 --- a/APPL/RES/res_load_plan_obj.asp +++ b/APPL/RES/res_load_plan_obj.asp @@ -1,73 +1,76 @@ <%@ language = "JavaScript" %> <% /* - $Revision: 1 $ - $Modtime: 7-07-09 11:17 $ + $Revision: 2 $ + $Modtime: 28-10-09 16:33 $ File: obj_schedule.asp Description: Create small planboard for reservable objects - At the body.onload it copies its entire innerHTML to the parent + Wordt via Ajax geladen/geplakt in de body res_edit_objcat.asp + als een categorie wordt opengeklapt. Parameters: urole rsv_ruimte_key optioneel. Als meegegeven dan zitten we in edit mode en komen er extra edit veldjes in beeld. Als niet meegegeven dan is rsv_van verplicht en tonen we alleen een planbordje rsv_van datum, optioneel, zie rsv_ruimte_key - Context: Called in hidden frame of reserv_Objects_js.asp when user 'opens' object categorie - ??Let wel: 'onder het grote planbord' en 'na drukken knop voorzieningen bij een - bestaande of nieuwe reservering' geeft iets ander gedrag?? - Notes: See also cons_objects.asp for consumable objects. Solved differently - though. - + Context: Geladen via ajax als user 'opent' object categorie + Notes: Zie ook cons_objects.asp voor catering het RES_RSV_RUIMTE record bestaat altijd al! res_rsv_ruimte_key is dan ook zo'n beetje de enige parameter? + Er wordt combinatie-validate gedaan */ +DOCTYPE_Disable = 1; %> -<% Response.Expires = -1; %> + + + <% var urole = getQParam("urole"); - var rsv_ruimte_key = getQParam("rsv_ruimte_key", -1); + var rsv_ruimte_key = getQParamInt("rsv_ruimte_key", -1); + var sdisc = getQParamInt("sdisc"); if (rsv_ruimte_key>0) { // Zo snel mogelijk relevante basisinformatie opzoeken sql = "select res_reservering_key, " - + " alg_ruimte_key, res_ruimte_opstel_key, " - + " res_rsv_ruimte_van, res_rsv_ruimte_tot," - + " prs_kostenplaats_key" - + " from res_rsv_ruimte" - + " where res_rsv_ruimte_key = " + rsv_ruimte_key; + + " alg_ruimte_key, res_ruimte_opstel_key, " + + " res_rsv_ruimte_van, res_rsv_ruimte_tot," + + " prs_kostenplaats_key" + + " from res_rsv_ruimte" + + " where res_rsv_ruimte_key = " + rsv_ruimte_key; oRs = Oracle.Execute(sql); var res_key = oRs("res_reservering_key").value; var res_van = new Date(oRs("res_rsv_ruimte_van").value); var res_tot = new Date(oRs("res_rsv_ruimte_tot").value); + + if (!kpl_ksrt_validate(oRs("prs_kostenplaats_key"), null, sdisc)) + { + %> + <% + Response.End() + } + } else { - var res_van = new Date(parseInt(getQParam("rsv_van"))); - res_tot = rsv_van; + var res_van = getQParamDate("res_van"); + var res_tot = getQParamDate("res_tot", res_van); } + var hour_px = getQParamInt("hour_px", 48); // setting res_plan_hour_px; var fronto = (urole=='fo');; var backo = (urole=='bo'); var jumped = Request.QueryString("jumped").Count>0; - var sdisc = parseInt( Request.QueryString("sdisc") ); - - var yy = res_van.getFullYear(); - var mm = res_van.getMonth()+1; - var dd = res_van.getDate(); - - var h1 = '00'; // Request.QueryString("h1"); // these params represent _current_ reservation start/end time, - var m1 = '00'; // Request.QueryString("m1"); // but these way they don't show all reserved objects of a day for - var h2 = '23'; // Request.QueryString("h2"); // object editing - var m2 = '59'; // Request.QueryString("m2"); var ch_obj_mode = parseInt(Request.QueryString("ch_obj_mode")); @@ -75,11 +78,14 @@ autfunction = 'WEB_RESUSE'; else autfunction = 'WEB_RESFOF'; -%> - -<% - objSchedule(fronto, backo, jumped, sdisc, - rsv_ruimte_key, - res_van, res_tot, ch_obj_mode); -%> \ No newline at end of file + var authparams = user.checkAutorisation(autfunction, true); + + objSchedule(sdisc, res_van, res_tot, + { jumped: jumped, + hour_px: hour_px, + rsv_ruimte_key: rsv_ruimte_key, + ch_obj_mode: ch_obj_mode + }); + +%> diff --git a/APPL/RES/res_plan_obj.inc b/APPL/RES/res_plan_obj.inc index f742cdea1e..078d7afabf 100644 --- a/APPL/RES/res_plan_obj.inc +++ b/APPL/RES/res_plan_obj.inc @@ -1,14 +1,14 @@ <% /* - $Revision: 1 $ - $Modtime: 3-09-09 13:42 $ + $Revision: 2 $ + $Modtime: 2-11-09 12:31 $ File: obj_schedule.inc - Status: 75% + Status: 75% (PF: hooguit) Description: Create small planboard for reservable objects At the body.onload it copies its entire innerHTML to the parent Parameters: ??? - Context: Called in hidden frame of reserv_Objects_js.asp clientside when user 'opens' object categorie + Context: Geladen via ajaxals gebruiker een object categorie opent as well serverside when object categorie should be open initially ??Let wel: 'onder het grote planbord' en 'na drukken knop voorzieningen bij een bestaande of nieuwe reservering' geeft iets ander gedrag?? @@ -16,157 +16,116 @@ though. */ -%> -<% -var res_color_free = "#b0b0b0"; // Vrij: licht grijs -var res_color_resv = "#990000"; // Definitief: rood -var res_color_optie = "#31398C"; // Optie: blauw -var res_color_techb = "#808080"; // Schoonmaak: donker grijs -var res_color_blok = "#000000"; // Blokkade: zwart -var res_color_verv = "#990099"; // Vervallen: paars -var res_color_na = "#D6D80E"; // Niet beschikbaar: geel -%> +FCLTHeader.Requires({ js: ["./room_schedule.js"] }); - - - -<% -function EmitTimeHeader() // Kopregel plantable +function objSchedule(sdisc, res_van, res_tot, params) { - if (isEdit) { -%> - -<% - } -%> - - - -<% - var showOnlyOddHours = ((res_t2 - res_t1) >= res_roomplan_skiplimit) - var mod_t1 = (res_t1 % (showOnlyOddHours?2:1)); // bepaal restwaarde - if (mod_t1 == 0) mod_t1 = (showOnlyOddHours?2:1); // als even dan restwaarde is 1 of 2 - s0 = res_t1 - (mod_t1); - //s0 = res_t1 - 1; - s = res_t1; - i0 = -1; - m =""; - for (i=0; i<=res_intervals; i++) - { - if (s - s0 >= (showOnlyOddHours?2:1)) // Elke 1 of 2 uur de tijd weergeven - //if (s - s0 >= 1) + params = params || {}; + params.hour_px = params.hour_px || 48; + params.rsv_ruimte_key = params.rsv_ruimte_key || -1; + params.ch_obj_mode = params.ch_obj_mode || 0; + var res_h_px = params.hour_px * res_h; + +mkDiv = function (theClass, h_start, h_end, theClick, theMouse, theOther) +{ + var div; + var overleft=""; + var overright=""; + if (h_start - - - - - - -
<%=m%><%=h%>
- -<% - m = Math.floor((s - h)*60); - if (m < 10) m = "0" + m; - i0 = i; - s0 = s; + h_start = res_t1-res_h; + if (dagen > 0) + overleft = " continueleft"; + else + overleft = " overflowleft"; } - s += res_h; - } -%> - <%=m%> -<% + + if (h_end>res_t2) + { + h_end = res_t2+res_h; + if (dagen < nr_days-1) + overright = " continueright"; + else + overright = " overflowright"; + } + var px_start = (h_start-res_t1)*params.hour_px + 1; // 1 px speling + var px_end = (h_end-res_t1)*params.hour_px; + + var px_width = px_end - px_start; + if (overleft!=""&&overright!="") + { // Maak twee divjes, eentje links en eentje rechts. + // HTML kan maar één background image tegelijk aan + div = "
" + +" 
"; + div += "
" + +" 
"; + } + else + { + div = "
" + +" 
"; + } + return { div: div, overleft: overleft, overright: overright }; } -function h_seg( h1, m1, h2, m2, res_key, rsv_ruimte_key, optie, blokkade, vervallen, rsv_deel_key, alg_ruimte_key, cur_res, bez_key, res_status ) { - this.h_start = h1 + m1/60; - this.h_end = h2 + m2/60; - this.res_key = res_key; - this.rsv_ruimte_key = rsv_ruimte_key; - this.optie = optie; - this.blokkade = blokkade; - this.vervallen = vervallen; - this.rsv_deel_key = rsv_deel_key; - this.alg_ruimte_key = alg_ruimte_key; - this.cur_res = cur_res; - this.bez_key = bez_key; - - this.h1 = h1; - this.h2 = h2; - this.m1 = m1; - this.m2 = m2; - this.res_status = res_status; -} - -// rsv_ruimte_key altijd verplicht! -function objSchedule(fronto, backo, jumped, sdisc, - rsv_ruimte_key1, - res_van, res_tot, ch_obj_mode) { -if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0) - INTERNAL_ERROR_OBJ_SCHEDULE; - var readwrite = func_enabled[ "WEB_RESFOF"] || func_enabled[ "WEB_RESUSE"]; if( readwrite || func_enabled[ "WEB_RESFO2"] ) { // MGE UWVA#12468: In FE planbord wordt obj_schedule.asp niet aangeroepen (Er wordt gechecked op !frontend). // Bij invullen voorzieningen heeft FE wel recht op invoer als FE ALGwrite rechten heeft voor WEB_RESUSE - readwrite=(ALGwritelevel<9); // Ondersteun (FE) gebruikers met *alleen* FO-leesrechten: kijken planbord + readwrite=(authparams.ALGwritelevel<9); // Ondersteun (FE) gebruikers met *alleen* FO-leesrechten: kijken planbord - sql = "SELECT COALESCE(ru.res_ruimte_begintijd, " + res_t1 + ") res_t1" - + ", COALESCE(ru.res_ruimte_eindtijd, " + res_t2 + ") res_t2" - + ", rr.alg_ruimte_key" - + " FROM res_v_aanwezigruimte ru" - + ", res_rsv_ruimte rr" - + ", res_ruimte_opstelling ro" + if (params.rsv_ruimte_key>0) // single-reservering mode + { + sql = "SELECT ru.res_ruimte_begintijd" + + ", ru.res_ruimte_eindtijd" + + ", rr.alg_ruimte_key" + + " FROM res_v_aanwezigruimte ru" + + ", res_rsv_ruimte rr" + + ", res_ruimte_opstelling ro" + " WHERE ru.res_ruimte_key = ro.res_ruimte_key" - + " AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key" - + " AND rr.res_rsv_ruimte_key = " + rsv_ruimte_key1; + + " AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key" + + " AND rr.res_rsv_ruimte_key = " + params.rsv_ruimte_key; oRs = Oracle.Execute(sql); if (!oRs.eof) { var alg_ruimte_key = oRs("alg_ruimte_key").value; - var starttime_room = oRs("res_t1").value; - var endtime_room = oRs("res_t2").value; - if (starttime_room < res_t1) starttime_room = res_t1; - if (endtime_room > res_t2) endtime_room = res_t2; - if (starttime_room > endtime_room) starttime_room = endtime_room; - starttime_room = toJsNumber(starttime_room); - endtime_room = toJsNumber(endtime_room); + // Als de ruimte maar beperkt open is gaan we rekenen met een krappere res_t1/res_t2 + var res_ruimte_begintijd = oRs("res_ruimte_begintijd").Value||res_t1; + var res_ruimte_eindtijd = oRs("res_ruimte_eindtijd").Value||res_t2; + if (res_ruimte_begintijd > res_ruimte_eindtijd) res_ruimte_begintijd = res_ruimte_eindtijd; + if (res_ruimte_begintijd > res_t1) res_t1 = res_ruimte_begintijd; + if (res_ruimte_eindtijd > res_t2) res_t2 = res_ruimte_eindtijd; } - else // CV reserverering + else // CV reserverering, altijd res_t1-res_t2 { sql = "SELECT alg_ruimte_key" + " FROM res_rsv_ruimte" - + " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key1; + + " WHERE res_rsv_ruimte_key = " + params.rsv_ruimte_key; oRs = Oracle.Execute(sql); var alg_ruimte_key = oRs("alg_ruimte_key").value; - starttime_room = res_t1; - endtime_room = res_t2; } + } + var loc_key = params.loc_key || -1; - var loc_key = -1; - pref = 1; + isEdit = (params.ch_obj_mode > 0); - if (isNaN(ch_obj_mode)) ch_obj_mode = 0; - - isEdit = (ch_obj_mode > 0); - - if (rsv_ruimte_key1<0){ - ch_obj_mode = 0; + if (params.rsv_ruimte_key<0){ + params.ch_obj_mode = 0; } if (isNaN(sdisc)) { @@ -178,127 +137,94 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0) { ora_date1 = res_van.beginToSQL(); ora_date2 = res_tot.endToSQL(); - var res_color_free = "#b0b0b0"; // Vrij: licht grijs - var res_color_resv = "#990000"; // Definitief: rood - var res_color_optie = "#31398C"; // Optie: blauw - var res_color_techb = "#808080"; // Schoonmaak: donker grijs - var res_color_blok = "#000000"; // Blokkade: zwart - var res_color_verv = "#990099"; // Vervallen: paars - var res_color_na = "#D6D80E"; // Niet beschikbaar: geel -%> - - -<% - //oude functie CreateObjSchedule ingevoegd + + var nr_days = 1+(res_tot.midnight() - res_van.midnight())/24/60/60/1000; var sql, Autfunction; var existing_res = {}; - - if (isEdit) { // Tijdstip edit velden toevoegen - // Bepaal de standaard duur van de reservering - var res_duur = res_dur; // initial reserving duration - var sql = "SELECT COALESCE(rac.res_activiteit_duur, " + res_dur + ") duur" - + " FROM res_rsv_ruimte rr" - + ", res_activiteit rac" - + " WHERE rr.res_rsv_ruimte_key = " + rsv_ruimte_key1 - + " AND rac.res_activiteit_key = rr.res_activiteit_key"; - var oRsDuur = Oracle.Execute(sql); - if (!oRsDuur.eof) { - res_duur = oRsDuur("duur").value; - } - oRsDuur.close(); - } - // Determine all existing reserved objects and store them in an array 'existing_res' sql = "SELECT " // Via gewone reserveringen, die hebben res_rsv_ruimte_key - + " rrd.RES_RSV_DEEL_VAN, rrd.RES_RSV_DEEL_TOT" - + ", rd.res_deel_key" - + ", rr.res_status_fo_key" - + ", rr.res_reservering_key" - + ", rrd.res_rsv_deel_key" - + ", rrd.res_rsv_ruimte_key" - + ", rr.alg_ruimte_key" - + ", -1 bez_bezoekers_key" - + ", rrd.res_status_bo_key" - + " FROM res_v_aanwezigrsv_ruimte rr" - + ", res_v_aanwezigdeel rd" //PF: aanwezig? - + ", res_v_aanwezigrsv_deel rrd" - + " WHERE rrd.res_rsv_deel_tot BETWEEN " + ora_date1 + " AND " + ora_date2 - + " AND rrd.res_deel_key = rd.res_deel_key" - + " AND rrd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key" - + " AND rd.res_discipline_key = " + sdisc + + " rrd.RES_RSV_DEEL_VAN" + + ", rrd.RES_RSV_DEEL_TOT" + + ", rd.res_deel_key" + + ", rr.res_status_fo_key" + + ", rrd.res_rsv_deel_key" + + ", rrd.res_rsv_deel_dirtlevel" + + ", rrd.res_rsv_ruimte_key" + + ", rr.alg_ruimte_key" + + ", -1 bez_bezoekers_key" + + ", rrd.res_status_bo_key" + + " FROM res_v_aanwezigrsv_ruimte rr" + + ", res_v_aanwezigdeel rd" //PF: aanwezig? + + ", res_v_aanwezigrsv_deel rrd" + + " WHERE rrd.res_rsv_deel_tot >= " + ora_date1 + + " AND rrd.res_rsv_deel_van <= " + ora_date2 + + " AND rrd.res_deel_key = rd.res_deel_key" + + " AND rrd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key" + + " AND rd.res_discipline_key = " + sdisc if (sdisc==vis_parking_key) sql = sql + " UNION ALL " //Die via afspraak/bezoekers (parkeerplaatsen) - + "SELECT rrd.RES_RSV_DEEL_VAN, rrd.RES_RSV_DEEL_TOT" - + ", rd.RES_DEEL_KEY" - + ", -1 res_status_fo_key" - + ", -1" // RES_RESERVERING_key - + ", rrd.res_rsv_deel_key" - + ", rrd.RES_RSV_RUIMTE_KEY" - + ", -1 ALG_RUIMTE_KEY" - + ", rrd.bez_bezoekers_key" - + ", rrd.res_status_bo_key" - + " FROM RES_V_AANWEZIGDEEL RD" - + ", RES_V_AANWEZIGRSV_DEEL rrd" - + ", bez_bezoekers b" - + ", bez_afspraak a" - + " WHERE rrd.RES_RSV_DEEL_TOT BETWEEN " + ora_date1 + " AND " + ora_date2 - + " AND rrd.res_deel_key = rd.res_deel_key" - + " AND rrd.bez_bezoekers_key = b.bez_bezoekers_key" - + " AND b.bez_afspraak_key = a.bez_afspraak_key" - + " AND rrd.res_rsv_ruimte_key is null" - + " AND rd.RES_DISCIPLINE_KEY="+sdisc + + "SELECT rrd.RES_RSV_DEEL_VAN" + + ", rrd.RES_RSV_DEEL_TOT" + + ", rd.RES_DEEL_KEY" + + ", 2 res_status_fo_key" // altijd definitief + + ", rrd.res_rsv_deel_key" + + ", rrd.res_rsv_deel_dirtlevel" + + ", rrd.RES_RSV_RUIMTE_KEY" + + ", -1 ALG_RUIMTE_KEY" + + ", rrd.bez_bezoekers_key" + + ", rrd.res_status_bo_key" + + " FROM RES_V_AANWEZIGDEEL RD" + + ", RES_V_AANWEZIGRSV_DEEL rrd" + + ", bez_bezoekers b" + + ", bez_afspraak a" + + " WHERE rrd.res_rsv_deel_tot >= " + ora_date1 + + " AND rrd.res_rsv_deel_van <= " + ora_date2 + + " AND rrd.res_deel_key = rd.res_deel_key" + + " AND rrd.bez_bezoekers_key = b.bez_bezoekers_key" + + " AND b.bez_afspraak_key = a.bez_afspraak_key" + + " AND rrd.res_rsv_ruimte_key is null" + + " AND rd.RES_DISCIPLINE_KEY="+sdisc oRs = Oracle.Execute(sql); while( !oRs.eof ) { var res_d_key = oRs("RES_DEEL_KEY").Value; if (! existing_res[res_d_key]) existing_res[res_d_key]=new Array(); - existing_res[res_d_key].push(new h_seg(new Date(oRs("RES_RSV_DEEL_VAN").Value).getHours(), - new Date(oRs("RES_RSV_DEEL_VAN").Value).getMinutes(), - new Date(oRs("RES_RSV_DEEL_TOT").Value).getHours(), - new Date(oRs("RES_RSV_DEEL_TOT").Value).getMinutes(), - oRs("RES_RESERVERING_key").Value, oRs("RES_RSV_RUIMTE_KEY").Value, - oRs("res_status_fo_key").Value == "1", - oRs("res_status_fo_key").Value == "3", - oRs("res_status_fo_key").Value == "4", - oRs("res_rsv_deel_key").Value, - oRs("ALG_RUIMTE_KEY").Value, - (rsv_ruimte_key1 == oRs("res_rsv_ruimte_key").Value), // "oude" code - nog rekening houden - oRs("bez_bezoekers_key").Value, - oRs("res_status_bo_key").Value)); - oRs.MoveNext(); // met "Blokkade" + + + existing_res[res_d_key].push({res_van : new Date(oRs("RES_RSV_DEEL_VAN").Value), + res_tot : new Date(oRs("RES_RSV_DEEL_TOT").Value), + rsv_ruimte_key : oRs("RES_RSV_RUIMTE_KEY").Value, + status_fo_key : oRs("res_status_fo_key").Value, + dirtlevel : oRs("res_rsv_deel_dirtlevel").Value, + rsv_deel_key : oRs("res_rsv_deel_key").Value, + alg_ruimte_key : oRs("ALG_RUIMTE_KEY").Value, + bez_key : oRs("bez_bezoekers_key").Value, + res_status : oRs("res_status_bo_key").Value + }); + + oRs.MoveNext(); } oRs.close(); + + var onclick = ""; + if (readwrite&&!params.jumped) + onclick = "onclick=obj_table_click(parseInt(window.event.offsetX)/"+params.hour_px+"+"+res_t1+",'"+urole+"')"; + %> - > +
+> <%//// Extra regel met losse cellen om afmetingen te forceren%> -<% - // Laat 20% over voor ruimteomschrijving e.d. - var t_w = (80 / res_intervals)+"%"; -%> + - -<% - for (i=0; i<=res_intervals+2; i++) { -%> <% // dezelfde breedte voor elke vakje - } -%> + + <% res.emit_planbord_tijdbalk(res_van, nr_days, hour_px); %> - <% EmitTimeHeader() %> - -<% + <% var showOnlyOddHours = ((res_t2 - res_t1) >= res_roomplan_skiplimit) var mod_t1 = (res_t1 % (showOnlyOddHours?2:1)); // bepaal restwaarde if (mod_t1 == 0) mod_t1 = (showOnlyOddHours?2:1); // als even dan restwaarde is 1 of 2 @@ -307,34 +233,33 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0) + ", r.res_deel_opmerking" + ", d.ins_deel_omschrijving" + ", r.res_deel_prijs" - + ", r.res_deel_eenheid" - + ", r.res_deel_prijs_vast "; + + ", r.res_deel_eenheid"; var group_by = " GROUP BY " + select_fields + " ORDER BY 3 "; // d.ins_deel_omschrijving: Don't use column alias with UNION ... - if (!isNaN(rsv_ruimte_key1) || (!isNaN(alg_ruimte_key))) { + + if (params.rsv_ruimte_key>0) { // Iterate through all reservable objects (vertically) and show schedule for them (horizontally) - var n=0,res_deel_key,free,res_key,rsv_ruimte_key; -%> - -<% - var sql1 = getReservedObjectTypes(alg_ruimte_key, rsv_ruimte_key1, select_fields, loc_key, sdisc, group_by); + var n=0,res_deel_key,free,rsv_ruimte_key; + + var sql1 = getReservedObjectTypes(alg_ruimte_key, params.rsv_ruimte_key, select_fields, loc_key, sdisc, group_by); } else { // We hebben dus géén alg_ruimte_key én géén res_rsv_ruimte_key // Deze tak wordt o.a. gebruikt in het grote planbord als je onderin openklapt // Scope is hierbij heel anders? // Iterate through all reservable objects (vertically) and show schedule for them (horizontally) - // Er geldt: rsv_ruimte_key1 == NULL en alg_ruimte_key == NULL - var n=0, res_deel_key, free, res_key, rsv_ruimte_key; + // Er geldt: params.rsv_ruimte_key == NULL en alg_ruimte_key == NULL + var n=0, res_deel_key, free, rsv_ruimte_key; var sql1 = "SELECT " + select_fields - + " FROM ins_deel d, res_v_aanwezigdeel r " + + " FROM ins_deel d," + + " res_v_aanwezigdeel r " + " WHERE r.res_discipline_key="+sdisc + " AND r.res_ins_deel_key=d.ins_deel_key" + ((loc_key > -1) ? " AND d.ins_alg_locatie_key=" + loc_key : "") + " AND d.ins_alg_ruimte_type IN ('R','T')" - + ((ALGreadlevel>-1) + + ((authparams.ALGreadlevel>-1) ? " AND d.ins_alg_locatie_key IN " + " (SELECT alg_locatie_key " + " FROM fac_v_my_locations l, fac_v_webgebruiker gg " @@ -342,42 +267,40 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0) + " AND l.prs_perslid_key = gg.prs_perslid_key " + " AND niveau = gg.fac_gebruiker_alg_level_write " + " AND gg.ins_discipline_key=" + sdisc - + " AND gg.fac_functie_key = " + autfunctionkey+")" + + " AND gg.fac_functie_key = " + authparams.autfunctionkey+")" : "") + " UNION " - + " SELECT" - + " r.res_deel_key" - + ", r.res_deel_opmerking" - + ", d.ins_deel_omschrijving" - + ", r.res_deel_prijs" - + ", r.res_deel_eenheid" - + ", r.res_deel_prijs_vast" - + " FROM ins_deel d, res_v_aanwezigdeel r " - + " WHERE r.res_discipline_key="+sdisc - + " AND r.res_ins_deel_key = d.ins_deel_key " - + " AND d.ins_alg_ruimte_type = 'T' " - + ((ALGreadlevel>-1) + + " SELECT r.res_deel_key" + + ", r.res_deel_opmerking" + + ", d.ins_deel_omschrijving" + + ", r.res_deel_prijs" + + ", r.res_deel_eenheid" + + " FROM ins_deel d, res_v_aanwezigdeel r " + + " WHERE r.res_discipline_key="+sdisc + + " AND r.res_ins_deel_key = d.ins_deel_key " + + " AND d.ins_alg_ruimte_type = 'T' " + + ((authparams.ALGreadlevel>-1) ? "AND d.ins_alg_locatie_key IN " + " (SELECT alg_locatie_key " - + " FROM fac_v_my_locations l, fac_v_webgebruiker gg " - + " WHERE l.prs_perslid_key = " + user_key - + " AND l.prs_perslid_key = gg.prs_perslid_key " - + " AND niveau = gg.fac_gebruiker_alg_level_write " - + " and gg.ins_discipline_key = " + sdisc - + " and gg.fac_functie_key = " + autfunctionkey+")" + + " FROM fac_v_my_locations l, fac_v_webgebruiker gg " + + " WHERE l.prs_perslid_key = " + user_key + + " AND l.prs_perslid_key = gg.prs_perslid_key " + + " AND niveau = gg.fac_gebruiker_alg_level_write " + + " AND gg.ins_discipline_key = " + sdisc + + " ADN gg.fac_functie_key = " + authparams.autfunctionkey+")" : "") + group_by; } oRs = Oracle.Execute(sql1); var cnt = 0; + var any_nofit = false; while( !oRs.eof ) { // Doorloop reserveerbare delen binnen filter res_deel_key = oRs("RES_DEEL_KEY").value; - str1 = escape2(oRs("INS_DEEL_OMSCHRIJVING").value); - str1 = replace( str1 , "\n" , "
" ); - str9 = parseFloat(oRs("RES_DEEL_PRIJS").Value); - str10 = oRs("RES_DEEL_EENHEID").Value; - vast = oRs("RES_DEEL_PRIJS_VAST").Value; + ins_deel_omschrijving = escape2(oRs("INS_DEEL_OMSCHRIJVING").value); + ins_deel_omschrijving = replace( ins_deel_omschrijving , "\n" , "
" ); + res_deel_prijs = oRs("RES_DEEL_PRIJS").Value; + res_deel_eenheid = oRs("RES_DEEL_EENHEID").Value; var res_deel_opm = escape_js(oRs("RES_DEEL_OPMERKING").value); var res_deel_opm2 = oRs("RES_DEEL_OPMERKING").value; //escape2(oRs("RES_DEEL_OPMERKING").value); @@ -386,248 +309,166 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0) res_deel_opm2 = replace( res_deel_opm2 , "'" , "\\'" ); res_deel_opm2 = escape2(res_deel_opm2); - if (str10 == null) str10=''; - else str10='/'+str10; + if (res_deel_eenheid == null) res_deel_eenheid=''; + else res_deel_eenheid='/'+res_deel_eenheid; - res_dag_name = "Dag"; // values RES_DEEL.RES_DEEL_EENHEID - res_uur_name = "Uur"; // used for calculate price/minuut in obj_schedule.asp - - if( !isNaN(str9) && str9 != 0) + if( res_deel_prijs && res_deel_prijs != 0) { - str16 = currency_pref + num2curr(str9)+currency_suff+str10; - str16 = escape2(str16); - if(vast == 0) - { - if(oRs(10).Value == res_dag_name) - { - str9 = parseFloat(parseFloat(str9)/1440); // parseFloat(str9)/1440 prijs per minite - } - else if(oRs(10).Value == res_uur_name) - { - str9 = parseFloat(parseFloat(str9)/60); // parseFloat(str9)/60 prijs per minite - } - } - else - { - str16 = currency_pref + num2curr(str9)+currency_suff; - str16 = escape2(str16); - } + prijs_text = currency_pref + num2curr(res_deel_prijs)+currency_suff+res_deel_eenheid; + prijs_text = escape2(prijs_text); } else { - str16 = ''; - str9 = 0.0; + prijs_text = ''; + res_deel_prijs = 0.0; } var ar = existing_res[res_deel_key]; // Bestaande reserveringen op dit deel - var v1 = "", v2 = "", v3 = "", v4 = "", v5 = "", v6 = 'style="visibility:hidden"', ro = " readonly ", st = false; -__Log("isEdit: " + res_deel_key) + var v1 = "", v2 = "", v3 = "", v4 = "", v5 = "", checked = '', ro = " readonly ", st = false; +//__Log("isEdit: " + res_deel_key) if (isEdit) { // check whether the current resource is reserved for the current reservation - for (ci=0; ar != null && ci ar[ci].res_van) + is_nofit = true; // Overlap! + } } + any_nofit |= is_nofit; } %> - - - + - -<% - - if (isEdit) { // Tijdstip edit velden toevoegen -%> - -<% - } -%> - <% - cnt++; - var cl = res_t1; + divver = { overleft: "", overright: "" }; - var begin_res_intervals = 0; - var eind_res_intervals = 0; - if (cl < starttime_room) begin_res_intervals = (starttime_room - cl) / res_h; - if (res_t2 > endtime_room) eind_res_intervals = (res_t2 - endtime_room) / res_h; - for (i = 0; i < res_intervals; i++) - { - bez_key = -1; + for (dagen=0; dagen + -<% - } - else - { -%> - -<% + if (readwrite&&!params.jumped) + theClick =" onClick=noCClick()" + + divver = mkDiv(theClass, h_start, h_end, theClick, theMouse, " rsv_key='" + rsv_ruimte_key + "'"); + Response.Write("\n"+divver.div); } - } -%> - - - - - + if (dagen + + <% } else { %> + + <% } %> + <% + } // dagen +%> <% oRs.MoveNext(); n++; } //end while oRs.close(); %> - <% EmitTimeHeader() %> - - + + <% res.emit_planbord_tijdbalk(res_van, nr_days, hour_px); %> -
-
- onClick="javascript:rdeelChoosen('rdeel<%=res_deel_key%>',null,'<%=res_deel_key%>', '')" +
+ <% if (is_selected) { %> + + <% } %> + " + str1 + ":
" + res_deel_opm2%>')"> -
- onClick="javascript:rdeelChoosen('rdeel<%=res_deel_key%>',null,'<%=res_deel_key%>', '')" -<% } %>> - <%=str1 + (isEdit ? '':(str16?' ('+str16+')':'')) %> +
+ <%="" + ins_deel_omschrijving + ":
" + res_deel_opm2%>
+
- - - - - - - - - -
<%=st?"style='background-color: #dddddd;'":""%> onBlur="objTimeChanged(<%=res_deel_key%>, <%=res_duur%>, 'inpbh1_')"> <%=st?"style='background-color: #dddddd;'":""%> onBlur="objTimeChanged(<%=res_deel_key%>, <%=res_duur%>, 'inpbm1_')">- <%=st?"style='background-color: #dddddd;'":""%> onBlur="objTimeChanged(<%=res_deel_key%>, <%=res_duur%>, 'inpbh2_')"> <%=st?"style='background-color: #dddddd;'":""%> onBlur="objTimeChanged(<%=res_deel_key%>, <%=res_duur%>, 'inpbm2_')">
-
  + <% + // Maak een dummy res_nieuw aan die we eenvoudig aan kunnen zetten + if (!is_selected || res_deel_key==params.res_deel_key) + { + var h_start = (res_van - res_van.midnight()) /1000/60/60 - 24*dagen; + var h_end = (res_tot - res_tot.midnight()) /1000/60/60 + 24*(nr_days-1-dagen); + var new_divver = mkDiv("gepland res_nieuw", h_start, h_end); + Response.Write("\n"+new_divver.div); + } - theSpan = ""; - free = true; optie=false; blokkade=false; yellow = false; for (ci=0; ar && ci=ar[ci].h_end ) ) - { - free = false; - res_key = ar[ci].res_key; + var statClass = { 1 : "res_optie", + 2 : "res_definitief", + 3 : "res_blok", + 4 : "res_vervallen"}[ar[ci].status_fo_key ]; + + if (ar[ci].rsv_ruimte_key == params.rsv_ruimte_key) + statClass += " res_current"; + + if (ar[ci].dirtlevel & (res.dirtlevel.deel.notavailable | res.dirtlevel.deel.notallowed)) + statClass += " res_fatal"; + + theClass = statClass + " gepland"; + + if (ar[ci].dirtlevel & res.dirtlevel.ruimte.notavailable) + theClass += " res_fatal"; + + var h_start = (ar[ci].res_van - res_van.midnight()) /1000/60/60 - 24*dagen; + var h_end = (ar[ci].res_tot - res_tot.midnight()) /1000/60/60 + 24*(nr_days-1-dagen); + if (h_start>24 || h_end < 0) + continue; + rsv_ruimte_key = ar[ci].rsv_ruimte_key; rsv_deel_key = ar[ci].rsv_deel_key; alg_ruimte_key = isNaN(ar[ci].alg_ruimte_key) ? -1 :ar[ci].alg_ruimte_key; bez_key = ar[ci].bez_key; - optie = ar[ci].optie; - blokkade = ar[ci].blokkade; - vervallen = ar[ci].vervallen; - // Over hoeveel blokjes spant deze reservering - var spanBlk = 1; - while( cl + res_h < ar[ci].h_end && cl + res_h < res_t2) - { - spanBlk ++; - cl += res_h; - i++; - } - if (spanBlk == 1) - theSpan = ""; + var theClick = ""; + var theMouse=""; + + if (bez_key > 0) + theMouse = " onMouseOver='setBezBezoekersTitle(this, "+bez_key+")'"; else + theMouse = " onMouseOver='setResRsvDeelTitle(this, "+rsv_deel_key+")'"; + if (readwrite&&bez_key==-1&&!params.jumped) { - theSpan = " colspan=" + spanBlk; + theClick = ' onClick="rsv_click(this,\''+urole+'\');"' + theClass += " click"; } - break; - } - } - - cl += res_h; - - var before_starttime = false; - if (free && (begin_res_intervals > i || eind_res_intervals >= res_intervals - i)) { - yellow = true; - free = false; - before_starttime = true; - } - th = Math.floor(res_t1 + res_h * i); - tm = Math.floor((res_t1 + res_h * i - th) * 60); - sTime = ''+th+":"+(tm<10?'0':'')+tm - - var theBgcolor=(free?res_color_free:optie?res_color_optie:blokkade?res_color_blok:vervallen?res_color_verv:res_color_resv); - var theTitle, theRest; - theClick = ""; - if (free) // MGE UWVA#12468: (free&&readwrite) readwrite voor tijd is niet nodig - { - theTitle = " title=" + sTime; - } - else if (before_starttime) { - theBgcolor = res_color_na; - theClick = " onClick=noCClick()"; - theTitle = ""; - } - else - { - if (bez_key > 0) - theTitle = " onMouseOver='setBezBezoekersTitle(this, "+bez_key+")'"; - else - theTitle = " onMouseOver='setResRsvDeelTitle(this, "+rsv_deel_key+")'"; - if (readwrite&&bez_key==-1&&!jumped) - theClick = ' onClick=doCClick('+res_key+','+rsv_ruimte_key+',true,'+(isEdit?'1':'0')+',' - +rsv_deel_key+','+alg_ruimte_key+')'; - else - if (readwrite&&!jumped) - theClick =" onClick=noCClick()" - } - - if (free) - { - var stl; - if (!readwrite) - stl='freeNC'; - else - if (((i+1+(mod_t1/res_h))%(1/res_h))==0) // (((i+1+(mod_t1/res_h))%(1/res_h))==0?"otherH":"other") - stl='freeH'; // Uurblokje heeft twee pixels else - stl='free'; -%> title=<%=sTime%> style="width:<%=t_w%>"> id="<%=i%>" - <%= readwrite&&!jumped&&!yellow?'style="cursor:hand" ':'onClick="noCClick()"' %> - <%=' bgcolor='+theBgcolor + theTitle + theClick + ' style="width:' + t_w + '"'%>> -
"> 
 
- - - - - - - - - - - - - - - -
<% = lcl_free %><% = lcl_optie %><% = lcl_def %>
<% = lcl_blokkade %><% = lcl_vervallen %>
-
+ <% + if (any_nofit) + %> + TODO: Alleen beschikbare objecten getoond. Toon alles. + + + TODO: Alle objecten getoond. Toon alleen beschikbare. + <% } -%> - - -<% }//readwrite } // function objSchedule() %> \ No newline at end of file diff --git a/APPL/RES/res_search.asp b/APPL/RES/res_search.asp index 62d869d8f3..a877e729e0 100644 --- a/APPL/RES/res_search.asp +++ b/APPL/RES/res_search.asp @@ -1,7 +1,16 @@ <%@ language = "JavaScript" %> <% /* - $Revision: 1 $ - $Modtime: 29-09-09 16:31 $ + $Revision: 2 $ + $Modtime: 1-11-09 18:31 $ + + File: res_search.asp + Status: 80% + + Parameters: + planbord: indien meegegeven (1) dan is het ALLEEN mogelijk planbords op te vragen + park: indien meegegeven (1) dan is het ALLEEN mogelijk parkeerplaatsen op te vragen + Dit betekent ook minder selectiemogelijkheden en iets aangepaste terminologie + Merk op dat secsearch velden dan bij gebrek aan More knop ook vanzelf onbereikbaar zijn */ %> @@ -11,10 +20,11 @@ + <% FCLTHeader.Requires({ plugins: ["jQuery", "datepicker", "kenmerk"], - js: ["expand_frame.js", "../RES/res_search.js"] + js: ["../RES/res_search.js"] }); /***** Get webform parameters *****/ @@ -27,16 +37,14 @@ var frontend = (urole == "fe" || (!fronto & !backo & !minfo)); var res_key = getQParam("res_key", ""); // reserveringskey var searchtext = getQParam("searchtext", ""); -var planbord = getQParam("planbord", "-1"); -//if (planbord != "-1") -// Response.Redirect("res_table.asp?"+Request.QueryString); - +var planbord = getQParamInt("planbord", -1); +var show_park = getQParamInt("park", 0); var cal_intv = 0; // 14 days from now is default date for calendar 2 @@todo setting (was dat niet al zo?) // Bepaal einddatum if (fronto && res_fo_list_days != -1) { - sql = "SELECT mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(SYSDATE, " + res_fo_list_days + ",'DAGEN') - SYSDATE" + sql = "SELECT fac.DatumTijdPlusUitvoerTijd(SYSDATE, " + res_fo_list_days + ",'DAGEN') - SYSDATE" + " FROM dual"; oRs = Oracle.Execute(sql); cal_intv = oRs(0).Value; @@ -46,10 +54,11 @@ var datefrom = getQParam("date_from", ""); var dateto = getQParam("date_to", ""); var today = new Date (); var nextday = new Date (); +// TODO: voor frontend en planbord dan date_to=date_from denk ik -PF if (frontend || fronto) nextday.setDate(nextday.getDate() + (fronto? cal_intv : res_user_history)); else - nexday = today; + nextday = today; var date_from = (datefrom == ""? today : new Date(parseInt(datefrom, 10))); var date_to = (dateto == ""? nextday : new Date(parseInt(dateto, 10))); @@ -113,6 +122,17 @@ var authparams = user.checkAutorisation(autfunction); <% FCLTHeader.Generate(); %> @@ -526,27 +554,28 @@ var authparams = user.checkAutorisation(autfunction); <% } // !fronto %> + - - <% BLOCK_END();%> +
-<% BUTTONS_START(); - CreateButton(lcl_search, "doSubmit(0);", 120); - - if (!backo) - CreateButton(lcl_planboard, "doSubmit(1);", 120); - - if (!frontend) - CreateButton(lcl_more, "iface_toggleSecondarySearchblock();", 100, "btnMoreLess"); - if (!frontend) - { - CreateButton(lcl_obj_advanced, "javascript:myModal();", 100, 'bAdvanced'); // met actuele waarden van activiteit en vorig filter - } - BUTTONS_END(); %> +<% + var buttons = []; + if (planbord == -1) // niet alleen planbord + buttons.push ( {title: lcl_overview_list, action:"doSubmit(0)" } ); // Overzicht + if (!show_park) // PF: van mij mag backo ook best planbord zien? + buttons.push ( {title: lcl_planboard, action:"doSubmit(1)" } ); + if (!backo) + buttons.push ( {title: show_park ? lcl_planboard : lcl_reserved_object, action:"doSubmit(2)" } ); + if (!frontend && !show_park) { + buttons.push ( {title: LCL.shared.more, action:"iface_toggleSecondarySearchblock()", id : "btnMoreLess" } ); + buttons.push ( {title: lcl_obj_advanced, action:"javascript:myModal()" } ); + } + CreateButtons(buttons); +%>
@@ -554,7 +583,7 @@ var authparams = user.checkAutorisation(autfunction);