diff --git a/APPL/API2/api2.inc b/APPL/API2/api2.inc index 94e27e20fe..ffa492fb84 100644 --- a/APPL/API2/api2.inc +++ b/APPL/API2/api2.inc @@ -1184,6 +1184,9 @@ api2 = { }, toDate: function (dt) { + if (dt instanceof Array) + MULTI_DATE_NOT_SUPPORTED; + if (dt instanceof Date) return dt; // LET OP: Een (new Date) gemaakt binnen een plugin is vreemd genoeg geen (instanceof Date) diff --git a/APPL/API2/model_companies.inc b/APPL/API2/model_companies.inc index 9e7b849e82..f294ccb9db 100644 --- a/APPL/API2/model_companies.inc +++ b/APPL/API2/model_companies.inc @@ -12,57 +12,70 @@ */ %> + <% -model_companies = +function model_companies() { - table: "prs_bedrijf", - primary: "prs_bedrijf_key", - records_name: "companies", - record_name: "company", - fields: {"id" : { dbs: "prs_bedrijf_key" , typ: "key", filter: "exact" }, - "name" : { dbs: "prs_bedrijf_naam" , typ: "varchar", filter: "like" }, - "postaddress" : { dbs: "prs_bedrijf_post_adres" , typ: "varchar", filter: "like" }, - "postzipcode" : { dbs: "prs_bedrijf_post_postcode" , typ: "varchar", filter: "like" }, - "postcity" : { dbs: "prs_bedrijf_post_plaats" , typ: "varchar", filter: "like" }, - "postcountry" : { dbs: "prs_bedrijf_post_land" , typ: "varchar", filter: "like" }, - "visitaddress" : { dbs: "prs_bedrijf_bezoek_adres" , typ: "varchar", filter: "like" }, - "visitzipcode" : { dbs: "prs_bedrijf_bezoek_postcode" , typ: "varchar", filter: "like" }, - "visitcity" : { dbs: "prs_bedrijf_bezoek_plaats" , typ: "varchar", filter: "like" }, - "visitcountry" : { dbs: "prs_bedrijf_bezoek_land" , typ: "varchar", filter: "like" }, - "phone" : { dbs: "prs_bedrijf_telefoon" , typ: "varchar", filter: "like" }, - "phone2" : { dbs: "prs_bedrijf_telefoon2" , typ: "varchar", filter: "like" }, /*?*/ - "contactname" : { dbs: "prs_bedrijf_contact_persoon" , typ: "varchar", filter: "like" }, - "contactphone" : { dbs: "prs_bedrijf_contact_telefoon", typ: "varchar", filter: "like" }, - "remark" : { dbs: "prs_bedrijf_opmerking" , typ: "varchar", filter: "like" }, - "remark2" : { dbs: "prs_bedrijf_opmerking2" , typ: "varchar", filter: "like" }, /*?*/ - "hourrate" : { dbs: "prs_bedrijf_uurloon" , typ: "float", filter: "like" }, - "code" : { dbs: "prs_leverancier_nr" , typ: "varchar", filter: "like" }, - "agreement" : { dbs: "prs_overeenkomst_nr" , typ: "varchar", filter: "like" }, - "agreementdate": { dbs: "prs_overeenkomst_datum" , typ: "date", filter: "range" }, - "isinternal" : { dbs: "prs_bedrijf_intern" , typ: "varchar", filter: "exact" }, - "issupplier" : { dbs: "prs_bedrijf_leverancier" , typ: "varchar", filter: "exact" }, - "isexecutor" : { dbs: "prs_bedrijf_uitvoerende" , typ: "varchar", filter: "exact" }, /*naam?*/ - "iscontractor" : { dbs: "prs_bedrijf_contract" , typ: "varchar", filter: "exact" }, - "isrenter" : { dbs: "prs_bedrijf_huurder" , typ: "varchar", filter: "exact" }, - "email" : { dbs: "prs_bedrijf_email" , typ: "varchar", filter: "like" }, - "location" : { dbs: "prs_bedrijfdienstlocatie.alg_locatie_key", typ: "key", foreign: "alg_locatie", filter: prs.getLocationSql }, - "service" : { dbs: "prs_bedrijfdienstlocatie.prs_dienst_key", typ: "key", foreign: "prs_dienst", filter: "like" } - }, - REST_GET: function _GET(params) + this.table = "prs_bedrijf"; + this.primary = "prs_bedrijf_key"; + this.records_name = "companies"; + this.record_name = "company"; + + + this.fields = { + "id" : { dbs: "prs_bedrijf_key" , typ: "key", filter: "exact" }, + "name" : { dbs: "prs_bedrijf_naam" , typ: "varchar", filter: "like" }, + "postaddress" : { dbs: "prs_bedrijf_post_adres" , typ: "varchar", filter: "like" }, + "postzipcode" : { dbs: "prs_bedrijf_post_postcode" , typ: "varchar", filter: "like" }, + "postcity" : { dbs: "prs_bedrijf_post_plaats" , typ: "varchar", filter: "like" }, + "postcountry" : { dbs: "prs_bedrijf_post_land" , typ: "varchar", filter: "like" }, + "visitaddress" : { dbs: "prs_bedrijf_bezoek_adres" , typ: "varchar", filter: "like" }, + "visitzipcode" : { dbs: "prs_bedrijf_bezoek_postcode" , typ: "varchar", filter: "like" }, + "visitcity" : { dbs: "prs_bedrijf_bezoek_plaats" , typ: "varchar", filter: "like" }, + "visitcountry" : { dbs: "prs_bedrijf_bezoek_land" , typ: "varchar", filter: "like" }, + "phone" : { dbs: "prs_bedrijf_telefoon" , typ: "varchar", filter: "like" }, + "phone2" : { dbs: "prs_bedrijf_telefoon2" , typ: "varchar", filter: "like" }, /*?*/ + "contactname" : { dbs: "prs_bedrijf_contact_persoon" , typ: "varchar", filter: "like" }, + "contactphone" : { dbs: "prs_bedrijf_contact_telefoon", typ: "varchar", filter: "like" }, + "remark" : { dbs: "prs_bedrijf_opmerking" , typ: "varchar", filter: "like" }, + "remark2" : { dbs: "prs_bedrijf_opmerking2" , typ: "varchar", filter: "like" }, /*?*/ + "hourrate" : { dbs: "prs_bedrijf_uurloon" , typ: "float", filter: "like" }, + "code" : { dbs: "prs_leverancier_nr" , typ: "varchar", filter: "like" }, + "agreement" : { dbs: "prs_overeenkomst_nr" , typ: "varchar", filter: "like" }, + "agreementdate": { dbs: "prs_overeenkomst_datum" , typ: "date", filter: "range" }, + "isinternal" : { dbs: "prs_bedrijf_intern" , typ: "varchar", filter: "exact" }, + "issupplier" : { dbs: "prs_bedrijf_leverancier" , typ: "varchar", filter: "exact" }, + "isexecutor" : { dbs: "prs_bedrijf_uitvoerende" , typ: "varchar", filter: "exact" }, /*naam?*/ + "iscontractor" : { dbs: "prs_bedrijf_contract" , typ: "varchar", filter: "exact" }, + "isrenter" : { dbs: "prs_bedrijf_huurder" , typ: "varchar", filter: "exact" }, + "email" : { dbs: "prs_bedrijf_email" , typ: "varchar", filter: "like" }, + "location" : { dbs: "prs_bedrijfdienstlocatie.alg_locatie_key", typ: "key", foreign: "alg_locatie", filter: prs.getLocationSql }, + "service" : { dbs: "prs_bedrijfdienstlocatie.prs_dienst_key", typ: "key", foreign: "prs_dienst", filter: "like" } + }; + + + this.includes = { + "custom_fields" : { + "model": new model_custom_fields(this, "PRS", { readman: true, readuse: true, pNiveau: "B" }), + "joinfield": "flexparentkey" + } + }; + + this.REST_GET = function _GET(params) { var autfunction = "WEB_RELMAN"; params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch // TODO: Add authorization - var query = api2.sqlfields(params, model_companies); + var query = api2.sqlfields(params, this); query.wheres.push("prs_bedrijf_verwijder IS NULL"); /* we need the dienstlocatie for the service and location */ query.tables.push("prs_bedrijfdienstlocatie"); query.wheres.push("prs_bedrijfdienstlocatie.prs_bedrijf_key(+) = prs_bedrijf.prs_bedrijf_key") - var wheres = api2.sqlfilter(params, model_companies) + var wheres = api2.sqlfilter(params, this) query.wheres = query.wheres.concat(wheres); var sql = "SELECT " + query.selects.join(", ") @@ -70,18 +83,18 @@ model_companies = + " WHERE " + query.wheres.join(" AND " ) + " ORDER BY prs_bedrijf_naam"; - var json = api2.sql2json (params, sql, model_companies); + var json = api2.sql2json (params, sql, this); return json; - }, - PUT: function (params) /* update company */ + }; + this.PUT = function (params) /* update company */ { - }, - POST: function (params) /* new company */ + }; + this.POST = function (params) /* new company */ { - }, - DELETE: function (params) /* delete company */ + }; + this.DELETE = function (params) /* delete company */ { - } + }; } %> \ No newline at end of file diff --git a/APPL/API2/model_mld_workflowrule.inc b/APPL/API2/model_mld_workflowrule.inc index 1dd977d5e6..8299492c7d 100644 --- a/APPL/API2/model_mld_workflowrule.inc +++ b/APPL/API2/model_mld_workflowrule.inc @@ -94,6 +94,14 @@ function model_mld_workflowrule(mystart_key) "dbs": "mld_workflowrule_condition", "label": L("mld_workflowrule_condition"), "typ": "memo" + }, + "otherpath": { + "dbs": "mld_workflowrule_result", + "label": "Otherpath", + "typ": "number", + "required": true, + "hidden_fld": true, + "defaultvalue": 1 } }; var prev_key = getQParamInt("prevstep", -1) @@ -120,7 +128,7 @@ function model_mld_workflowrule(mystart_key) "columns": ["id", "nextstep"] }; - this.REST_GET = generic_REST_GET(this); + this.REST_GET = generic_REST_GET(this); this.REST_POST = generic_REST_POST(this); this.REST_PUT = generic_REST_PUT(this); this.REST_DELETE = generic_REST_DELETE(this); diff --git a/APPL/API2/model_persons.inc b/APPL/API2/model_persons.inc index f6c4bde3e1..1b1a3011d0 100644 --- a/APPL/API2/model_persons.inc +++ b/APPL/API2/model_persons.inc @@ -56,6 +56,7 @@ function model_persons() "initials" : { dbs: "prs_perslid_voorletters", "label": L("lcl_prs_person_initials"), typ: "varchar" }, "prefix" : { dbs: "prs_perslid_tussenvoegsel", "label": L("lcl_prs_person_tussen"), typ: "varchar" }, "gender" : { dbs: "prs_perslid_geslacht", "label": L("lcl_prs_person_geslacht"), typ: "varchar", LOV: genderLOV() }, + "language" : { dbs: "prs_perslid_lang", "label": L("lcl_lcl_taal"), typ: "varchar" }, "phone" : { dbs: "prs_perslid_telefoonnr", "label": L("lcl_prs_person_phone"), typ: "varchar" }, "mobile" : { dbs: "prs_perslid_mobiel", "label": L("lcl_prs_person_mobile"), typ: "varchar" }, "email" : { dbs: "prs_perslid_email", "label": L("lcl_prs_person_email"), typ: "varchar", filter: "exact"}, @@ -73,14 +74,14 @@ function model_persons() }; this.includes = { - "custom_fields" : { - "model": new model_custom_fields(this, "PRS", { readman: true, readuse: true }), - "joinfield": "flexparentkey" - }, "authorization": { "model": new model_fac_gebruikersgroep(), "joinfield": "user" }, + "custom_fields" : { + "model": new model_custom_fields(this, "PRS", { readman: true, readuse: true, pNiveau: "P" }), + "joinfield": "flexparentkey" + }, "tracking": { "model": new model_tracking(["perslid"]), "joinfield": "fac_tracking_refkey" diff --git a/APPL/API2/model_prs_ruimteafdeling.inc b/APPL/API2/model_prs_ruimteafdeling.inc new file mode 100644 index 0000000000..9e6f312de1 --- /dev/null +++ b/APPL/API2/model_prs_ruimteafdeling.inc @@ -0,0 +1,63 @@ +<% /* + $Revision$ + $Id$ + + File: model_prs_ruimteafdeling.inc + + Description: + + Context: + + Notes: +*/ +%> +<% + +function model_prs_ruimteafdeling() +{ + this.table = "prs_ruimteafdeling"; + this.primary = "prs_ruimteafdeling_key"; + this.records_name = "prs_ruimteafdelings"; + this.record_name = "prs_ruimteafdeling"; + this.autfunction = "WEB_ALGUSE"; + this.record_title = L("prs_ruimteafdeling"); + this.records_title = L("prs_ruimteafdeling_m"); + + + this.fields = { + "id": { + "dbs": "prs_ruimteafdeling_key", + "label": "Key", + "typ": "key", + "required": true, + "filter": "exact", + "seq": "prs_s_prs_ruimteafdeling_key" + }, + "department": { + "dbs": "prs_afdeling_key", + "label": L("lcl_prs_organisatie"), + "typ": "key", + "required": true, + "foreign": "PRS_AFDELING" + }, + "room": { + "dbs": "alg_ruimte_key", + "label": L("lcl_room"), + "typ": "key", + "required": true + }, + "occupation": { + "dbs": "prs_ruimteafdeling_bezetting", + "label": L("lcl_prs_ruimtebezetting"), + "typ": "float", + "required": true + } + }; + + + this.REST_GET = generic_REST_GET(this); + this.REST_POST = generic_REST_POST(this); + this.REST_PUT = generic_REST_PUT(this); + this.REST_DELETE = generic_REST_DELETE(this); +} +%> \ No newline at end of file diff --git a/APPL/API2/model_reservations.inc b/APPL/API2/model_reservations.inc index 9c1a99fee2..b6381337a3 100644 --- a/APPL/API2/model_reservations.inc +++ b/APPL/API2/model_reservations.inc @@ -17,7 +17,7 @@ */ %> - + @@ -63,7 +63,8 @@ function model_reservations(rsv_key, params) "resroom" : { dbs: "res_ruimte_opstelling.res_ruimte_key", typ: "key", filter: "exact", label: L("lcl_room"), foreign: "res_ruimte" }, "configuration" : { dbs: "res_ruimte_opstelling.res_opstelling_key", typ: "key", foreign: "res_opstelling" }, "approved" : { dbs: "res_rsv_ruimte_afgerond", typ: "number", label: L("lcl_res_resappr"), track: true }, - "warning" : { dbs: "res_rsv_ruimte_dirtlevel", typ: "number", foreign: fndirtwarn, readonly: true } + "warning" : { dbs: "res_rsv_ruimte_dirtlevel", typ: "number", foreign: fndirtwarn, readonly: true }, + "reservation" : { dbs: "res_reservering_key", typ: "key", label: L("lcl_reservation") } }; // Mogelijke waarden voor res_rsv_ruimte_flag is afhankelijk van het aantal toegestane flags. @@ -114,9 +115,27 @@ function model_reservations(rsv_key, params) if (!params.filter.id) query.wheres.push("res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res")); } + else + { + if (!params.filter.from && !params.filter.to) + query.wheres.push("res_rsv_ruimte_van >= SYSDATE"); // reserveringen die nog moeten beginnen! + } query.tables.push("res_ruimte_opstelling"); - query.wheres.push("res_rsv_ruimte.res_ruimte_opstel_key = res_ruimte_opstelling.res_ruimte_opstel_key"); + query.tables.push("res_ruimte rr"); + query.tables.push("res_alg_ruimte ra"); + query.tables.push("alg_v_ruimte_gegevens_all rg"); + query.tables.push("alg_district di"); + query.tables.push("prs_perslid p"); + query.tables.push("prs_v_afdeling_boom boom"); + + query.wheres.push("res_rsv_ruimte.res_ruimte_opstel_key = res_ruimte_opstelling.res_ruimte_opstel_key(+)"); + query.wheres.push("rr.res_ruimte_key(+) = ra.res_ruimte_key"); + query.wheres.push("ra.res_ruimte_key(+) = res_ruimte_opstelling.res_ruimte_key"); + query.wheres.push("rg.alg_ruimte_key = COALESCE(res_rsv_ruimte.alg_ruimte_key, ra.alg_ruimte_key)"); + query.wheres.push("rg.alg_district_key = di.alg_district_key"); + query.wheres.push("res_rsv_ruimte.res_rsv_ruimte_contact_key = p.prs_perslid_key"); + query.wheres.push("boom.prs_afdeling_key = p.prs_afdeling_key"); var wheres = api2.sqlfilter(params, this); query.wheres = query.wheres.concat(wheres); @@ -125,9 +144,25 @@ function model_reservations(rsv_key, params) var sql = "SELECT " + query.selects.join(", ") + " FROM " + query.tables.join(", ") - + " WHERE " + query.wheres.join(" AND " ) - + " ORDER BY res_rsv_ruimte.res_rsv_ruimte_key"; // Order by nodig voor includes + + " WHERE " + query.wheres.join(" AND " ); + // Over het resultaat moet nog de 3D rasp, altijd + sql = discx3d (sql, + "rr.res_discipline_key", + "di.alg_regio_key", + "rg.alg_district_key", + "rg.alg_locatie_key", + "rg.alg_gebouw_key", + "rg.alg_verdieping_key", + "rg.alg_ruimte_key", + "boom.prs_bedrijf_key", + "boom.prs_afdeling_key", + autfunction, + "", + 2,null,3 + ); + + sql += " ORDER BY res_rsv_ruimte.res_rsv_ruimte_key"; // Order by nodig voor includes if (query.orderbys.length) sql += ", " + query.orderbys.join(", "); diff --git a/APPL/API2/model_rooms.inc b/APPL/API2/model_rooms.inc index 4283e403ad..cbc973e649 100644 --- a/APPL/API2/model_rooms.inc +++ b/APPL/API2/model_rooms.inc @@ -15,6 +15,7 @@ + <% function model_rooms(room_key, params) { @@ -75,14 +76,19 @@ function model_rooms(room_key, params) + " AND sync.cad_tekening_key = cad_imp_contour.cad_tekening_key(+)" } } - }, - "custom_fields" : { model: new model_custom_fields(this, "ALG", { readman: true, readuse: true }), - joinfield: "flexparentkey" - }, + }, + "custom_fields" : { + "model": new model_custom_fields(this, "ALG", { readman: true, readuse: true }), + "joinfield": "flexparentkey" + }, "tracking": { - model: new model_tracking(['ruimte']), - joinfield: "fac_tracking_refkey" - } + "model": new model_tracking(["ruimte"]), + "joinfield": "fac_tracking_refkey" + }, + "departments": { + "model": new model_prs_ruimteafdeling(), + "joinfield": "room" + } } function _check_authorization (params, method) diff --git a/APPL/API2/model_visitors.inc b/APPL/API2/model_visitors.inc index 20f7cb8f8d..5815662986 100644 --- a/APPL/API2/model_visitors.inc +++ b/APPL/API2/model_visitors.inc @@ -13,6 +13,7 @@ %> + <% model_visitors = { @@ -29,6 +30,14 @@ model_visitors = "out" : { dbs: "bez_bezoekers_out", typ: "datetime", label: L("lcl_bez_out_date")}, "appointment": { dbs: "bez_afspraak_key", typ: "key", xforeign: "bez_afspraak"} }, + + includes: { + "custom_fields" : { + "model": new model_custom_fields(this, "BEZ", { readman: true, readuse: true }), + "joinfield": "flexparentkey" + } + }, + list: { columns: ["name", "company", "in", "out"] }, REST_GET: function _GET(params) diff --git a/APPL/BEZ/bez_edit_afspraak.asp b/APPL/BEZ/bez_edit_afspraak.asp index c86c9d0b57..0d602564a0 100644 --- a/APPL/BEZ/bez_edit_afspraak.asp +++ b/APPL/BEZ/bez_edit_afspraak.asp @@ -257,7 +257,7 @@ else } else { - RWFIELDTR("personH", "fld", L("lcl_vis_visit"), bez_afspraak.gastheer, {maxlength : 30, required: (S("vis_afspraak_host_uses_keys") & 2) == 2 }) + RWFIELDTR("personH", "fld", L("lcl_vis_visit"), bez_afspraak.gastheer.substr(0, 50), {maxlength : 50, required: (S("vis_afspraak_host_uses_keys") & 2) == 2 }) RWFIELDTR("phone", "fld", L("lcl_phone"), bez_afspraak.telf_nr, {maxlength : 15, required: S("vis_afspraak_tel_required") == 1 }) } %> diff --git a/APPL/BEZ/bez_edit_afspraak.js b/APPL/BEZ/bez_edit_afspraak.js index 813e41c34d..013272e43f 100644 --- a/APPL/BEZ/bez_edit_afspraak.js +++ b/APPL/BEZ/bez_edit_afspraak.js @@ -277,7 +277,7 @@ function bezFlexListACallbackJs(rowNr) function BezoekerSelected(data, orgData) { var rowNr = orgData.rownr; - $("#bez" + rowNr).val(data.naam); + $("#bez" + rowNr).val(data.naam.substr(0, 30)); $("#bed" + rowNr).val(data.bedrijf); if (data.contkey) $("#contkey" + rowNr).val(data.contkey); diff --git a/APPL/BEZ/bez_edit_bezoekers.inc b/APPL/BEZ/bez_edit_bezoekers.inc index acc2c5ae1c..25bbba5310 100644 --- a/APPL/BEZ/bez_edit_bezoekers.inc +++ b/APPL/BEZ/bez_edit_bezoekers.inc @@ -159,14 +159,15 @@ function bez_edit_bezoekers(afspraak_key, afspraak_begin, afspraak_eind, loc_key <% } %> <% /* ContactpersoonBedrijfSelected laadt nieuwe flexkenmerken en bijbehorende verplichte flexkenmerk bij personen zorgen er ook voor dat personen eventueel verplicht wordt [checkRequiredGroup("10S" + params.suggestid.substr(3))]; */ %> -<% +<% // Bij suggestbox met contactpersonen (params.contactonly) geen maximale lengte eis. var bezreado = res_ruimte_extern || oRs("prs_contactpersoon_key").Value != null || oRs("prs_perslid_key").Value != null RWFIELD("bez" + next_vis, "fld", "", oRs("bez_afspraak_naam").Value, - { maxlength: "30", readonly: bezreado, html: (params.contactonly? "sgonChange='ContactpersoonBedrijfSelected'" : 'onChange="checkRequiredGroup(\'10S' + next_vis + '\')"') }) %> + { maxlength: (params.contactonly? null : "30"), readonly: bezreado, html: (params.contactonly? "sgonChange='ContactpersoonBedrijfSelected'" : 'onChange="checkRequiredGroup(\'10S' + next_vis + '\')"') }) %> -<% RWFIELD("bed" + next_vis, "fld", "", oRs("bez_afspraak_bedrijf").Value, - { maxlength: "60", readonly: bezreado, html: (params.contactonly? "sgonChange='ContactpersoonBedrijfSelected'" : '') } ) %> +<% // Bij suggestbox met bedrijven (params.contactonly) geen maximale lengte eis. + RWFIELD("bed" + next_vis, "fld", "", oRs("bez_afspraak_bedrijf").Value, + { maxlength: (params.contactonly? null : "60"), readonly: bezreado, html: (params.contactonly? "sgonChange='ContactpersoonBedrijfSelected'" : '') } ) %> @@ -317,9 +318,10 @@ function bez_edit_bezoekers(afspraak_key, afspraak_begin, afspraak_eind, loc_key { %> ih.insertCell(-1).innerHTML = ''; <% } %> - <% /* ContactpersoonBedrijfSelected laadt nieuwe flexkenmerken en bijbehorende verplichte flexkenmerk bij personen zorgen er ook voor dat personen eventueel verplicht wordt [checkRequiredGroup("10S" + params.suggestid.substr(3))]; */ %> - ih.insertCell(-1).innerHTML = ' onChange="checkRequiredGroup(\'10S' + next_vis + '\')" <% } %> <%=params.contactonly? 'sgonChange="ContactpersoonBedrijfSelected"' : 'onChange="checkRequiredGroup(\\\'10S' + next_vis + '\\\')"'%>>'; - ih.insertCell(-1).innerHTML = '>'; + <% /* ContactpersoonBedrijfSelected laadt nieuwe flexkenmerken en bijbehorende verplichte flexkenmerk bij personen zorgen er ook voor dat personen eventueel verplicht wordt [checkRequiredGroup("10S" + params.suggestid.substr(3))]; + Bij suggestbox met contactpersonen/bedrijven (params.contactonly) geen maximale lengte eis. */ %> + ih.insertCell(-1).innerHTML = ' onChange="checkRequiredGroup(\'10S' + next_vis + '\')" <% } %> <%=params.contactonly? 'sgonChange="ContactpersoonBedrijfSelected"' : 'maxlength="30" onChange="checkRequiredGroup(\\\'10S' + next_vis + '\\\')"'%>>'; + ih.insertCell(-1).innerHTML = '>'; <% if (S("vis_parking_key") != -1 && this_bez.canWritePrk) { %> ih.insertCell(-1).innerHTML = '
'; diff --git a/APPL/Localscripts/FcltMgr.js b/APPL/Localscripts/FcltMgr.js index 20b20efbc4..156d573251 100644 --- a/APPL/Localscripts/FcltMgr.js +++ b/APPL/Localscripts/FcltMgr.js @@ -680,7 +680,6 @@ var FcltMgr = +' id="fcltmodal'+FcltMgr._modalCount+'" name="fcltmodal'+FcltMgr._modalCount+'" style="padding: 0px; '+ css_scroll +'"' +' src="' + url + '">' +''; - this.fixActiveelementError(); $(html).dialog(params).dialog('open'); }, diff --git a/APPL/MLD/mld_edit_melding.asp b/APPL/MLD/mld_edit_melding.asp index e6d654b805..34343c7f9e 100644 --- a/APPL/MLD/mld_edit_melding.asp +++ b/APPL/MLD/mld_edit_melding.asp @@ -576,21 +576,6 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY"); }); personForExist = true; } - // Een FE kan niet togglen - - // Als bij nieuwe meldingen de peroon initieel wordt ingevuld dan de OnChange van de persoon suggestbox uitvoeren, - // maar bij een melding bij Reservering niet, dan hebben we die gegevens juist al bepaald en overgenomen - if (rsv_ruimte_key < 0) { -%> - -<% - } if (!stdm_info.is_kto_antwoord) { @@ -624,6 +609,23 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY"); <% } + // Een FE kan niet togglen + + // Als bij nieuwe meldingen de peroon initieel wordt ingevuld dan de OnChange van de persoon suggestbox uitvoeren, + // maar bij een melding bij Reservering niet, dan hebben we die gegevens juist al bepaald en overgenomen + + if (rsv_ruimte_key < 0) { +%> + +<% + } + BLOCK_START("mldMelding", L("lcl_mld_categorie"), true); // Setting mld_selector_mode: // Selector mode vakgroep/melding voor de frontend. diff --git a/APPL/RES/res.inc b/APPL/RES/res.inc index 0c0ceea35f..b051fa0259 100644 --- a/APPL/RES/res.inc +++ b/APPL/RES/res.inc @@ -482,7 +482,11 @@ res = { if (typeof mode == "undefined") mode = 0; var sql = "SELECT fac.DatumTijdPlusUitvoerTijd(SYSDATE, COALESCE(" + (mode == 1? "res_disc_params_cancel_dagen" : "res_disc_params_expire_dagen") + ", 1)," + " 'DAGEN', " + ((restype == "CV" && S("res_cat_t1") >= 0)? S("res_cat_t1") : S("res_t1")) + ", " - + " COALESCE(res_disc_params_expire_tijd, " + ((restype == "CV" && S("res_cat_t2") >= 0)? S("res_cat_t2") : S("res_t2")) + "), 1) datum" + + " COALESCE(CASE" + + " WHEN res_disc_params_expire_tijd = -1 OR res_disc_params_expire_tijd IS NULL" + + " THEN NULL" + + " ELSE res_disc_params_expire_tijd" + + " END, " + ((restype == "CV" && S("res_cat_t2") >= 0)? S("res_cat_t2") : S("res_t2")) + "), 1) datum" + " , res_disc_params_expire_tijd" + " , COALESCE(" + (mode == 1? "res_disc_params_cancel_dagen" : "res_disc_params_expire_dagen") + ", 1) dagen" + " , ins_discipline_min_level" diff --git a/APPL/RES/res_edit_rsv_ruimte.asp b/APPL/RES/res_edit_rsv_ruimte.asp index 0ee7a9823a..72973f9a4f 100644 --- a/APPL/RES/res_edit_rsv_ruimte.asp +++ b/APPL/RES/res_edit_rsv_ruimte.asp @@ -797,6 +797,14 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"], var date_from = new Date(parseInt($("#date_from").val())); var date_to = new Date(parseInt($("#date_to").val())); + // FSN#36654 door een oude bug zijn er gepinde tabbladen naar 'nieuwe reservering' die tot AiAi's leiden + // Dat lossen we hier silent op (tot we ooit die foutieve tabbladen hebben opgeruimd) + // Merk op dat *heel* incidenteel een gebruiker het via de gewone interface ook lukte + // deze error te krijgen. Dat was dan niet relaxed en die AiAi willen we wel blijven zien + // en hopelijk ooit oplossen + if (relaxed && !(date_from && date_from.getTime() && date_to && date_to.getTime())) + return; + date_to.setFullYear(date_from.getFullYear()); // We hebben alleen een tijdstip namelijk date_to.setMonth(date_from.getMonth()); date_to.setDate(date_from.getDate()); @@ -816,6 +824,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"], url += "&vis=" + nbez; // nog niet moeilijk doen over ongeldige waarden visheader = nbez ? " (" + nbez + L("lcl_res_nrpers_inplanbord") + ")": ""; } + FcltMgr.fixActiveelementError(); // Ging soms mis met IE8 FcltMgr.openModalDetail(url, L("lcl_res_select_inplanbord") + $('#sel_activity :selected').text() + visheader, { resizable: false, diff --git a/APPL/Shared/default.inc b/APPL/Shared/default.inc index c750a83d56..03a6e82096 100644 --- a/APPL/Shared/default.inc +++ b/APPL/Shared/default.inc @@ -9,7 +9,7 @@ Note: Sinds 5.2.2 zitten de settings in de database */ -var FCLTVersion="2016.1c UC"; +var FCLTVersion="2016.1d"; var FCLTMinDatabaseSchema="28"; var custpath = rooturl + "/cust/" + customerId; // path to customer files diff --git a/APPL/Shared/kenmerk_js.asp b/APPL/Shared/kenmerk_js.asp index decd2796d1..98c36dc772 100644 --- a/APPL/Shared/kenmerk_js.asp +++ b/APPL/Shared/kenmerk_js.asp @@ -70,91 +70,97 @@ function checkRequiredGroup(group) } } +var in_use = false; // Semaphore(Seinvlag) om nested loop van de alerts van twee velden met te lange invoer te vermijden. function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax) { - var valid = true; - var value = field.value; - var err = "<%=L("lcl_mld_invalid_kenmerk_format")%>"; - - if (value != '') + if (!in_use) { - if (ktype == 'D') + in_use = true; + var valid = true; + var value = field.value; + var err = "<%=L("lcl_mld_invalid_kenmerk_format")%>"; + + if (value != '') { - $(field).change(cal_show_onChange); - // Test of er nu een geldig datumformaat staat. - var arr = /^(\d{1,2})[-](\d{1,2})[-](\d{1,4})$/.exec(value); - if (arr) + if (ktype == 'D') { - var dt = new Date( arr[3], arr[2] -1, arr[1] ); - if ((arr[1] != dt.getDate()) || - (arr[2] != dt.getMonth() + 1) || - (arr[3] != dt.getYear() && arr[3] != dt.getFullYear())) + $(field).change(cal_show_onChange); + // Test of er nu een geldig datumformaat staat. + var arr = /^(\d{1,2})[-](\d{1,2})[-](\d{1,4})$/.exec(value); + if (arr) { - valid = false; + var dt = new Date( arr[3], arr[2] -1, arr[1] ); + if ((arr[1] != dt.getDate()) || + (arr[2] != dt.getMonth() + 1) || + (arr[3] != dt.getYear() && arr[3] != dt.getFullYear())) + { + valid = false; + } } + else valid = false; } - else valid = false; - } - else if (ktype == 'C' || ktype == 'L' || ktype == 'Q') - { // newlines verdubbelen naar %0D%0A dus aantal regels bijtellen - if (value.length + (value.split("\n").length-1) > klen) valid = false; - } - else if (ktype == 'N') - { - if (kdec) - { - var l1 = klen-kdec; - var l2 = kdec; - // Als een punt én een komma in een getal behouden we alleen de laatste - if (value.lastIndexOf(".") > value.lastIndexOf(",")) - { - value = value.replace(/\,/ig, ""); - field.value = value; - } - if (value.lastIndexOf(",") > value.lastIndexOf(".")) - { - value = value.replace(/\./ig, ""); - field.value = value; - } - var s = '^\\-?(\\d{1,'+l1+'}[.,]?|\\d{0,'+l1+'}[.,]\\d{1,'+l2+'})$'; - valid = value.match(new RegExp(s)) && valid; - if (valid) { var t = parseFloat(value.replace(',','.'));} + else if (ktype == 'C' || ktype == 'L' || ktype == 'Q') + { // newlines verdubbelen naar %0D%0A dus aantal regels bijtellen + if (value.length + (value.split("\n").length-1) > klen) valid = false; } - else + else if (ktype == 'N') { - if (klen == 1 && kmin == 0 && kmax == 1) + if (kdec) { - // Checkbox; waarde in checked is altijd true of false, dus altijd valid. - valid = true; - t = (field.checked?1:0); + var l1 = klen-kdec; + var l2 = kdec; + // Als een punt én een komma in een getal behouden we alleen de laatste + if (value.lastIndexOf(".") > value.lastIndexOf(",")) + { + value = value.replace(/\,/ig, ""); + field.value = value; + } + if (value.lastIndexOf(",") > value.lastIndexOf(".")) + { + value = value.replace(/\./ig, ""); + field.value = value; + } + var s = '^\\-?(\\d{1,'+l1+'}[.,]?|\\d{0,'+l1+'}[.,]\\d{1,'+l2+'})$'; + valid = value.match(new RegExp(s)) && valid; + if (valid) { var t = parseFloat(value.replace(',','.'));} } else { - var s = '^\\-?\\d{1,'+klen+'}[.,]?$'; - valid = value.match(new RegExp(s)) && valid; - if (valid) { var t = parseInt(value);} + if (klen == 1 && kmin == 0 && kmax == 1) + { + // Checkbox; waarde in checked is altijd true of false, dus altijd valid. + valid = true; + t = (field.checked?1:0); + } + else + { + var s = '^\\-?\\d{1,'+klen+'}[.,]?$'; + valid = value.match(new RegExp(s)) && valid; + if (valid) { var t = parseInt(value);} + } + } + if (valid) + { + if ((kmin !== null) && (t < kmin)) { valid = false; err = "<%=L("lcl_mld_kenmerk_out_range")%>"; } + if ((kmax !== null) && (t > kmax)) { valid = false; err = "<%=L("lcl_mld_kenmerk_out_range")%>"; } } } - if (valid) - { - if ((kmin !== null) && (t < kmin)) { valid = false; err = "<%=L("lcl_mld_kenmerk_out_range")%>"; } - if ((kmax !== null) && (t > kmax)) { valid = false; err = "<%=L("lcl_mld_kenmerk_out_range")%>"; } - } } - } - if (show && !valid) - { - alert(err); - field.focus(); - } - else if (!show && valid && field.className.match(/required\d*S\d*/g) && field.className.match(/required\d*S\d*/g).length > 0) - { // Er is een required groep aanwezig. - var requiredgroup = field.className.match(/required\d*S\d*/g)[0]; - var group = requiredgroup.substr(8); - checkRequiredGroup(group); - } + if (show && !valid) + { + field.focus(); + alert(err); + } + else if (!show && valid && field.className.match(/required\d*S\d*/g) && field.className.match(/required\d*S\d*/g).length > 0) + { // Er is een required groep aanwezig. + var requiredgroup = field.className.match(/required\d*S\d*/g)[0]; + var group = requiredgroup.substr(8); + checkRequiredGroup(group); + } - return valid; + in_use = false; + return valid; + } } // Op een generieke manier documenten openen diff --git a/CUST/AKZA/Exchange/ImportExchangeFull.bat b/CUST/AKZA/Exchange/ImportExchangeFull.bat new file mode 100644 index 0000000000..402ee6c33a --- /dev/null +++ b/CUST/AKZA/Exchange/ImportExchangeFull.bat @@ -0,0 +1,3 @@ +IF EXIST tmp_Exchange_all.bat DEL tmp_Exchange_all.bat +CScript ..\..\..\UTILS\Exchange\exchange_all.js AKZA EXCHFULL EXCHSYNC +::CALL tmp_Exchange_all.bat diff --git a/CUST/AKZA/Exchange/exchange.config.js b/CUST/AKZA/Exchange/exchange.config.js index cadfad9c2f..080db24ae3 100644 --- a/CUST/AKZA/Exchange/exchange.config.js +++ b/CUST/AKZA/Exchange/exchange.config.js @@ -4,5 +4,8 @@ password : 'pass@word1', // Let op: dat werkt alleen als ServerXMLHTTP denkt op intranet te zitten maxchange : 25, // Maximaal 25 wijzigingen tegelijk. De rest komt de volgende keer wel maxrecurring: 100, // Maximaal 1e 100 occurences van een recurring afspraak - xmlfolder : "./xml/" // Hier komen alle opgehaalde XML's geplaatst. Moet bestaan + fullpast : 0, // Tot 0 dagen in het verleden bij nachtelijke EXCHFULL calendar-sync + fullfuture : 90, // Tot 90 dagen in de toekomst bij nachtelijke EXCHFULL calendar-sync + xmlfolder : "./xml/", // Hier komen alle opgehaalde XML's geplaatst. Moet bestaan + loglevel : 0 } \ No newline at end of file diff --git a/CUST/AKZA/xsl/cust.xsl b/CUST/AKZA/xsl/cust.xsl index 441f6e5d60..7bc5c4aca9 100644 --- a/CUST/AKZA/xsl/cust.xsl +++ b/CUST/AKZA/xsl/cust.xsl @@ -308,18 +308,12 @@ p.MsoNormal { - Locatie: - - () - Afdeling: + + - Werkplek: - - - Kosten aanvrager @@ -1906,7 +1900,7 @@ p.MsoNormal { Amount
Bedrag
Betrag
Montant
- + @@ -1938,7 +1932,7 @@ p.MsoNormal { OF NO COMMERCIAL VALUE
FREE OF CHARGE
- VALUE FOR CUSTOMS PURPOSES ONLY: €
+ VALUE FOR CUSTOMS PURPOSES ONLY: €
EORI NUMBER: NL 001824521 @@ -2412,11 +2406,7 @@ p.MsoNormal { :  - - - - :  - + :  @@ -3067,8 +3057,15 @@ p.MsoNormal { - + + + + + + + + height: 4.25cm; width: 4.25cm; margin:0cm; padding:0; border:none @@ -3084,234 +3081,241 @@ p.MsoNormal { ../../cust/akza/akzonobel.gif -

-    
+
   
+     - + -
-
- - + - - + - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
-
Geen gegevens gevonden
-
SleutelkaartDatum: -
-
Personeelsnr.:
Naam: - - -
Afdeling: - -
Telefoon: - -
-
- Volgens ons systeem bent u in het bezit van de volgende sleutels. Bent u van mening dat het overzicht niet klopt neem dan even contact op met de sleutelwerkgroep. -
-
+ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - -
+
Geen gegevens gevonden
+
SluitplanSoortSleutelnr.DatumOpmerking
-
Het verlies van een sleutel, of de vermindering van de bruikbaarheid moet direct gemeld worden bij de bedrijfsbeveiliging!
- Overdracht mag UITSLUITEND via de bedrijfsbeveiliging plaatsvinden!
-
Sleutelwerkgroep ALF-VS
Telefoon:3500 - - -
E-mail:Meldkamer Beveiliging ALF_VS
SleutelkaartDatum: +
+
Personeelsnr.:
Naam: + + +
Afdeling: + +
Telefoon: + +
+
+ Volgens ons systeem bent u in het bezit van de volgende sleutels. Bent u van mening dat het overzicht niet klopt neem dan even contact op met de sleutelwerkgroep. +
+
-
+ + Sluitplan + Soort + Sleutelnr. + Datum + Opmerking + + + + + + + + + + + + + + + Het verlies van een sleutel, of de vermindering van de bruikbaarheid moet direct gemeld worden bij de bedrijfsbeveiliging!
+ Overdracht mag UITSLUITEND via de bedrijfsbeveiliging plaatsvinden! + + + + + + Sleutelwerkgroep ALF-VS + + + Telefoon: + 3500 + + + + + + E-mail: + Meldkamer Beveiliging ALF_VS - - - - - -
 
-
- - - - + +
+
- - - - - - - - - - - - - - - - - - - - - - - - + + + + + +
 
+
+ + + + -
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + - -
GROEPOMSCHRIJVINGPLAATSBEREIKENNUMMER/EMAIL
+
Geen gegevens gevonden
+
+ + + + + - - - - - + + + + + - - - + +
GROEPOMSCHRIJVINGPLAATSBEREIKENNUMMER/EMAIL + + + + mailto: + + + + + + + +
-
Geen gegevens gevonden
-
+
- - - - - + + + - - - - - - - - - - mailto: - - - - - - - - - - - - - - - - - - - - - - - === Na elke p_rows*p_cols records (m*n passen op 1 A4) ===== - - - - - -
 
-
- - === De laatste paar, zijn minder dan m*n ===== - - - - - - -
+ + + + === Na elke p_rows*p_cols records (m*n passen op 1 A4) ===== + + + + + +
 
+ + === De laatste paar, zijn minder dan m*n ===== + + + + + + +
+
+ + + + + + + + + + + + + +
  
+
@@ -3355,6 +3359,14 @@ p.MsoNormal { + + +

Beste ,

+

Voor een aantal van de objecten die je beheert, is deze maand een actie vereist. Kijk in het overzicht http://facws001/branch20161/?fac_id=AKZA&u=oBgLrHAaWPpDxuuY_blankTaken op mijn objecten in FACILITOR voor meer informatie.

+

Met vriendelijke groet,

+

TS Deventer

+
+ @@ -3403,6 +3415,8 @@ p.MsoNormal {
+
+
diff --git a/CUST/DJIN/export/NACHTWERK/.gitignore b/CUST/DJIN/export/NACHTWERK/.gitignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/CUST/DJIN/export/gen_export_NACHTWERK.bat b/CUST/DJIN/export/gen_export_NACHTWERK.bat new file mode 100644 index 0000000000..972cecf892 --- /dev/null +++ b/CUST/DJIN/export/gen_export_NACHTWERK.bat @@ -0,0 +1,18 @@ +REM GEN_EXPORT_NACHTWERK.BAT +REM +REM DJIN +REM +REM "Dummy" export die feitelijk niets exporteert, maar elke nacht +REM zaken bijwerkt in de database (bv. het schonen van afspraken). +REM +REM Context : roep deze file aan indien nodig, of schedule deze +REM Vereist : de randvoorwaarde voor het gebruik van gen_export +REM +REM $Revision$ +REM $Id$ +REM +REM (c) 2016 Facilitor B.V. +REM + +REM ================================================== create exportfile +CALL ..\..\..\utils\gen_export\gen_export.bat NACHTWERK diff --git a/CUST/HCAS/xsl/cust.xsl b/CUST/HCAS/xsl/cust.xsl index 43452dde8a..638a03c353 100644 --- a/CUST/HCAS/xsl/cust.xsl +++ b/CUST/HCAS/xsl/cust.xsl @@ -188,20 +188,20 @@ - + - -
+ +
- ../../appl/shared/qrcode.asp?size=16&text=/%3Fu%3D%26ins_key%3D + ../../appl/shared/qrcode.asp?size=2&text=/%3Fu%3D%26ins_key%3D - - 400px + position: absolute; margin: 0; padding: 0; top: 1mm; left: 1mm; width: 17.5mm; height: 17.5mm; border: none; + + + position: absolute; margin: 0; padding: 0; top: pt; left: 22mm; width: 36mm; color: white; font-size: pt; font-family: Verdana, Arial, sans-serif; font-weight: bold; + -
-
-
diff --git a/CUST/KFHT/export/ftp_opdr2htc.scr b/CUST/KFHT/export/ftp_opdr2htc.scr index 29109cfe04..343da55a29 100644 --- a/CUST/KFHT/export/ftp_opdr2htc.scr +++ b/CUST/KFHT/export/ftp_opdr2htc.scr @@ -1,8 +1,7 @@ open csmftp01.hightechcampus.nl user Facilitor hH5Aqj3 -quote pasv +hash cd Import -binary -mput EXACT*.xml +mput EXACT\Facilitor*.xml bye diff --git a/CUST/KFHT/export/gen_export_EXACT.bat b/CUST/KFHT/export/gen_export_EXACT.bat index f91dcfa025..75196ad591 100644 --- a/CUST/KFHT/export/gen_export_EXACT.bat +++ b/CUST/KFHT/export/gen_export_EXACT.bat @@ -14,12 +14,11 @@ REM (c) 2015 Facilitor B.V. REM REM ================================================== cleanup -copy .\Exact\EXACT*.xml .\Exact\Backup -del .\Exact\EXACT*.xml +copy .\EXACT\Facilitor*.xml .\EXACT\Backup +del .\EXACT\Facilitor*.xml REM ================================================== create exportfile CALL ..\..\..\utils\gen_export\gen_export.bat EXACT REM ================================================== transfer file to HTC/Exact -DATE /t >> ftp.log -@FOR %%F in (*.xml) do cscript /NoLogo sendftp.js %%F %%~nxF>>ftp.log 2>>ftperr.log +ftp.exe -ni -s:ftp_opdr2htc.scr diff --git a/CUST/KFHT/import/ftp_htc2opdr.scr b/CUST/KFHT/import/ftp_htc2opdr.scr index e41220f439..4bb8d8af59 100644 --- a/CUST/KFHT/import/ftp_htc2opdr.scr +++ b/CUST/KFHT/import/ftp_htc2opdr.scr @@ -1,9 +1,8 @@ open csmftp01.hightechcampus.nl user Facilitor hH5Aqj3 -pasv hash -lcd Export +cd Export mget *.xml mdelete *.xml bye diff --git a/CUST/KFHT/import/gen_import_exact.bat b/CUST/KFHT/import/gen_import_exact.bat index 2617caf547..9512b05fea 100644 --- a/CUST/KFHT/import/gen_import_exact.bat +++ b/CUST/KFHT/import/gen_import_exact.bat @@ -13,13 +13,8 @@ REM REM (c) 2015 Facilitor B.V. REM -REM ================================================== cleanup -copy .\Exact\EXACT*.xml .\Exact\Backup -del .\Exact\EXACT*.xml - REM ================================================== transfer file to KIEN/FACILITOR -ftp.exe -n -s:ftp_htc2opdr.scr +ftp.exe -ni -s:ftp_htc2opdr.scr REM ================================================== create exportfile REM cscript ..\..\..\utils\gen_import\gen_import.wsf KFHT EXACT >>gen_import.log 2>>&1 - diff --git a/CUST/MDUX/xsl/cust.xsl b/CUST/MDUX/xsl/cust.xsl index 42d87e8879..48ea66190a 100644 --- a/CUST/MDUX/xsl/cust.xsl +++ b/CUST/MDUX/xsl/cust.xsl @@ -831,7 +831,7 @@ Klantnummer: - +
diff --git a/CUST/PCHE/xsl/cust.xsl b/CUST/PCHE/xsl/cust.xsl index 3225a9d3c0..673bf9ba19 100644 --- a/CUST/PCHE/xsl/cust.xsl +++ b/CUST/PCHE/xsl/cust.xsl @@ -97,6 +97,16 @@


Geachte heer/mevrouw


+ + + Hierbij ontvangt u de factuur voor aanpassingen op uw abonnement(en) t.b.v. parkeren op Strijp-S.
+
+ +
+
+
+
+ Hierbij ontvangt u de factuur voor uw abonnement(en) t.b.v. parkeren op Strijp-S.
Uw abonnement(en) zijn geldig van t/m .
@@ -120,6 +130,9 @@ + + + + + - + @@ -110,8 +110,7 @@

U ontvangt bericht zodra bovengenoemde aansluitingen zijn aangemeld bij energieleverancier Engie. - U ontvangt binnenkort de eindafrekening(en). -
+ U ontvangt bericht zodra bovengenoemde aanlsuiting(en) zijn afgemeld bij energieleverancier Engie.
@@ -608,695 +607,4 @@ - - - - - -
@@ -158,12 +171,14 @@
Totaal excusief BTWTotaal exclusief BTW diff --git a/CUST/PCHH/xsl/cust.xsl b/CUST/PCHH/xsl/cust.xsl index 77e2884117..f27c1f3424 100644 --- a/CUST/PCHH/xsl/cust.xsl +++ b/CUST/PCHH/xsl/cust.xsl @@ -73,7 +73,7 @@
- GASAANSLUITINGEN + GAS AANSLUITINGEN
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - :  - - - :  - - -   - - / -
- - - - : - - - -
- - : - - -
- - : - - -
- - : - - -
- - : - - -
- : - - - -
- : - - - - - : - - -
- - : - - -
- - : - - -
- - : - - -
- - : - - -
- : - - - - -
-
-
- - - - -
- -
-
-
-
- : - - -  Ã  €  - - (  -  Ã  € ) - - - : - €  - - ( € ) - -
- - : - €  - - ( € ) - -
- - : - €  - - ( € ) - -
- - : - - €  - - - ( € ) - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - :  - - - :  - - -   - - /  - Koninklijke Volker Wessels Stevin N.V. -
Reden: Organisatie: Koninklijke Volker Wessels Stevin N.V.
Product: - electra - Gas - 1875025594
Emailadres voor meterstanden/vko overzichten: Contactpersoon: Nadine Kappert
Verzamelfactuur: Telefoonnummer: 088-186 1000
Eerste factuurreferentie: E-mail energie@pch-fm.nl
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- GEGEVENS ELECTRA AANSLUITING(EN) -
EAN code Ingangsdatum Adres Postcode Plaats Type gebruiker Verw. jaarverbruik Soort meter Verw. piek % Verblijfsfunctie Doorlaatwaarde Soort aansluiting Energiebel. cluster Naam cluster Factuurtenaamstelling Debiteurnummer Factuuradres Postcode Plaats Freq. verbruiksoverzicht Verzamelfactuur Fee
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- MEETDATA ELECTRA -
EAN nummer Verw. jaarverbruik Opnamedatum Meterstand Stand telwerk II Stand telwerk III Stand telwerk IV Emailadres meterstanden
- - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- GEGEVENS GASAANSLUITING(EN) -
EAN code Ingangsdatum Adres Postcode Plaats Type gebruiker Verw. jaarverbruik Blokverwarming Factuurtenaamstelling Debiteurnummer Factuuradres Postcode Plaats Freq. verbruiksoverzicht Verzamelfactuur Fee
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- MEETDATA GAS - -
EAN code Verw. jaarverbruik Opnamedatum Meterstand Emailadres meterstanden
- - - - - - - - - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Gegevens electra aansluiting(en) -
EAN code Gewenste afmelddatum Adres Postcode Plaats
- - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
- Gegevens gasaansluiting(en) -
EAN code Gewenste afmelddatum Adres Postcode Plaats
- - - - - - - - - -
-
- -
-
- - -

- - - - - - - - - - - - - - - - - - - - -
-
- Middels onderstaande ondertekening bevestigd u niet alleen de genoemde mutatie maar tekent u ook voor de aansluit en transport overeenkomst. De algemene voorwaarden behorend bij deze overeenkomst zijn terug te vinden op onze website www.gdfsuez.nl. -
Datum:
Naam tekenbevoegde:
Handtekening:
-
-
- - - diff --git a/UTILS/Exchange/exchange.config.js.sample b/UTILS/Exchange/exchange.config.js.sample index 5ce9246408..939643cb81 100644 --- a/UTILS/Exchange/exchange.config.js.sample +++ b/UTILS/Exchange/exchange.config.js.sample @@ -4,6 +4,8 @@ password : 'pass@word1', // Let op: dat werkt alleen als ServerXMLHTTP denkt op intranet te zitten maxchange : 25, // Maximaal 25 wijzigingen tegelijk. De rest komt de volgende keer wel maxrecurring: 100, // Maximaal 1e 100 occurences van een recurring afspraak + fullpast : 0, // Tot 0 dagen in het verleden bij nachtelijke calendar-sync + fullfuture : 90, // Tot 90 dagen in de toekomst bij nachtelijke calendar-sync xmlfolder : "./xml/", // Hier komen alle opgehaalde XML's geplaatst. Moet bestaan loglevel : 0 } \ No newline at end of file diff --git a/UTILS/Exchange/exchange.js b/UTILS/Exchange/exchange.js index 7a55496675..1486c140d5 100644 --- a/UTILS/Exchange/exchange.js +++ b/UTILS/Exchange/exchange.js @@ -7,11 +7,15 @@ Description: Exchange EWS koppeling Dit bestand maakt voor één ruimte-mailbox Arguments(0) de xml-bestanden met calenderitems aan sinds de laatste sync-actie, Arguments(1) + + Parameters (0) e-mail adres van de zaal + (1) - syncstate van de zaal of + "EXCHFULL" alles (in de toekomst tot config.fullfuture) */ var fso = new ActiveXObject("Scripting.FileSystemObject"); var zaalemail = WScript.Arguments(0); -var zaalsync = WScript.Arguments(1); +var zaalsync = WScript.Arguments(1); // Gebruik EXCHFULL voor alles in bepaalde periode var inifile = ".\\exchange.config.js"; var f = fso.OpenTextFile(inifile, 1); // ForReading @@ -23,10 +27,24 @@ WScript.Echo("Connecting to " + config.endpointurl) // --- // kunnen we niets mee doExchange(config.endpointurl, "", "roomlist.xml"); +if (!Date.prototype.toISOString) { + Date.prototype.toISOString = function() { + function pad(n) { return n < 10 ? '0' + n : n } + return this.getUTCFullYear() + '-' + + pad(this.getUTCMonth() + 1) + '-' + + pad(this.getUTCDate()) + 'T' + + pad(this.getUTCHours()) + ':' + + pad(this.getUTCMinutes()) + ':' + + pad(this.getUTCSeconds()) + 'Z'; + }; +} + var oCrypto = new ActiveXObject("SLNKDWF.Crypto"); var sha = oCrypto.hex_sha1(zaalsync); // Gemakkelijker verschillen te zien WScript.Echo("\n\n==== Room: " + zaalemail + "\nOld sync hash: " + sha); +if (zaalsync != "EXCHFULL") +{ var soapRequest = '' @@ -35,11 +53,6 @@ var soapRequest = '' + ' ' + ' ' - // + ' ' // 3=PidLidGlobalObjectId - // + ' ' // 35=PidLidCleanGlobalObjectId - // + ' ' // 40=PidLidOldLocation - // + ' ' // 98=PidTagOwnerAppointmentId - // + ' ' + ' ' + ' ' + ' ' @@ -49,10 +62,40 @@ var soapRequest = '' + ' ' + ' ' - + ' ' + zaalsync + ' ' + + ' ' + zaalsync + '' + ' ' + config.maxchange + '' + ' NormalItems' + ''; +} +else +{ +var dtFrom = new Date(); +dtFrom.setHours(0, 0, 0, 0); +var dtTo = new Date(dtFrom); +dtFrom.setDate(dtFrom.getDate() - config.fullpast); +dtTo.setDate(dtTo.getDate() + config.fullfuture); +WScript.Echo("Full syncing from " + dtFrom.toISOString() + " to " + dtTo.toISOString() + " (" + (config.fullfuture + config.fullpast) + " days)"); +var soapRequest = '' + + ' ' + + ' IdOnly' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + //+ ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + zaalemail + '' + + ' ' + + ' ' + + ' ' + + ''; +} var room_id = safefilename(zaalemail); var exch = doExchange(config.endpointurl, soapRequest, null); @@ -66,10 +109,14 @@ if (exch.response != 'NoError') WScript.Echo("Geen NoError responsecode in response: " + exch.response); WScript.Quit(1); } -var newsyncstate = xmlDoc.selectSingleNode("//m:SyncState"); -var sha = oCrypto.hex_sha1(newsyncstate.text); // Gemakkelijker verschillen te zien -WScript.Echo("New syncstate: " + newsyncstate.text + "\nHash: " + sha + "\nlength: " + newsyncstate.text.length); +if (zaalsync != "EXCHFULL") +{ + var newsyncstate = xmlDoc.selectSingleNode("//m:SyncState"); + var sha = oCrypto.hex_sha1(newsyncstate.text); // Gemakkelijker verschillen te zien + WScript.Echo("New syncstate: " + newsyncstate.text + "\nHash: " + sha + "\nlength: " + newsyncstate.text.length); +} + var calItems = xmlDoc.selectNodes("//t:CalendarItem"); if (calItems.length == 0) { @@ -118,6 +165,12 @@ for (var i = 0; i < calItems.length; i++) fso.DeleteFile(config.xmlfolder + fname); continue; } + if (exch.response == 'ErrorAccessDenied') + { + WScript.Echo(" Access Denied negeren we"); + fso.DeleteFile(config.xmlfolder + fname); + continue; + } var start = xmlDoc.selectSingleNode("//t:Start").text; var type = xmlDoc.selectSingleNode("//t:CalendarItemType").text; WScript.Echo(" Start: " + start + " " + type); diff --git a/UTILS/Exchange/exchange_all.js b/UTILS/Exchange/exchange_all.js index 4ca6f0c8fe..753e37fb84 100644 --- a/UTILS/Exchange/exchange_all.js +++ b/UTILS/Exchange/exchange_all.js @@ -10,7 +10,7 @@ Parameters: (net als gen_import.wsf) 0: customerId - 1: fac_import_app_key/code voor de EXCHANGE import + 1: fac_import_app_key/code voor de EXCHANGE import of de EXCHFULL import 2: fac_import_app_key/code voor de EXCHSYNC import */ @@ -48,21 +48,28 @@ var sql = "SELECT res_ruimte_key," var oRs = Oracle.Execute(sql); + +function pad(n) { return n < 10 ? '0' + n : n }; +var dt = new Date(); +var logfile = "Exchange_" + dt.getUTCFullYear() + '_' + pad(dt.getUTCMonth() + 1) + "_" + import_app_key + ".log"; + + var fbat = fso.CreateTextFile(batfile, true /* overwrite */); while (!oRs.Eof) { var line = 'CScript /NoLogo ..\\..\\..\\utils\\Exchange\\Exchange.js "' - + oRs("res_ruimte_extern_id").Value + '" "' + (oRs("res_ruimte_syncstate").Value||"") + '"'; + + oRs("res_ruimte_extern_id").Value + '" "' + (oRs("res_ruimte_syncstate").Value||"") + '"' + + ' >>' + logfile + ' 2>>&1'; fbat.WriteLine(line); var line = 'Cscript /NoLogo ..\\..\\..\\utils\\gen_import\\gen_import.wsf ' - + customerId + ' ' + sync_app_key + ' ' + oRs("res_ruimte_key").Value + '>>ExchangeAll.log 2>>&1'; + + customerId + ' ' + sync_app_key + ' ' + oRs("res_ruimte_key").Value + ' >>' + logfile + ' 2>>&1'; fbat.WriteLine(line); oRs.MoveNext(); } // Eén import aan het eind; de room-id is toch uit de XML te halen var line = 'Cscript /NoLogo ..\\..\\..\\utils\\gen_import\\gen_import.wsf ' - + customerId + ' ' + import_app_key + ' >>ExchangeAll.log 2>>&1'; + + customerId + ' ' + import_app_key + ' >>' + logfile + ' 2>>&1'; fbat.WriteLine(line); fbat.Close();