109 Commits

Author SHA1 Message Date
ebb5936377 FMHN#80859 r62550 refactored en verplaatst van 2023.3 Gold A naar 2023.2 Gold E
svn path=/Website/branches/v2023.2/; revision=62553
2023-11-10 13:52:06 +00:00
5ef8fba144 FMHN#80733 resevering_key/volgnr tonen ipv res_rsv_ruimte_key, en default host_key moet als FE'er altijd je zelf zijn
svn path=/Website/branches/v2023.2/; revision=62455
2023-11-03 13:07:45 +00:00
969d178b9d FMHN#80646 FCLT#79969 ook in 2023.2 Gold E
svn path=/Website/branches/v2023.2/; revision=62373
2023-10-30 10:26:03 +00:00
Jos Groot Lipman
cf33956175 PROR#79462 Outlook-koppeling deadlocks
svn path=/Website/branches/v2023.2/; revision=62058
2023-10-05 10:54:32 +00:00
Jos Groot Lipman
26b3247fea Release 2023.2 Gold D
svn path=/Website/branches/v2023.2/; revision=62047
2023-10-05 07:26:26 +00:00
Jos Groot Lipman
2c6c5a726c BVB1#79194 MJOB scherm controleert niet op INS rechten
svn path=/Website/branches/v2023.2/; revision=61898
2023-09-26 13:20:16 +00:00
Jos Groot Lipman
12fc92b906 YKPN#80168 Fout bij toevoegen object aan melding via een API2 POST request
svn path=/Website/branches/v2023.2/; revision=61884
2023-09-25 08:09:58 +00:00
Jos Groot Lipman
666e902ea9 FCLT#79972 Custom-queue portal teller opsplitsen in oud en nieuw
svn path=/Website/branches/v2023.2/; revision=61850
2023-09-20 08:42:10 +00:00
Jos Groot Lipman
2d39456578 MAAS#79984 Accorderen lukt niet op cluster niveau testomgeving
svn path=/Website/branches/v2023.2/; revision=61838
2023-09-19 13:50:16 +00:00
Erik Groener
94c9f4cef1 YASK#79849 Graag veld startmelding toevoegen aan de issues API
svn path=/Website/branches/v2023.2/; revision=61776
2023-09-12 08:41:08 +00:00
Erik Groener
59f858fb76 YASK#79849 Graag veld startmelding toevoegen aan de issues API
svn path=/Website/branches/v2023.2/; revision=61773
2023-09-12 06:27:35 +00:00
943f7a681b Release 2023.2 Gold C
svn path=/Website/branches/v2023.2/; revision=61727
2023-09-05 20:48:35 +00:00
89e0b6b366 FCLT#79516 Mobile begint met een hoofdletter en matched niets viel me op
svn path=/Website/branches/v2023.2/; revision=61722
2023-09-05 16:43:56 +00:00
43b3dd0f82 PROR#79954 geen directe room-events imorteren bij sync_level & 2
svn path=/Website/branches/v2023.2/; revision=61701
2023-09-04 12:38:35 +00:00
29b91963fa DRIE#79946 parseInt("string") -> Number
svn path=/Website/branches/v2023.2/; revision=61698
2023-09-04 10:45:30 +00:00
fc13609e92 FCLT#79940 quickfix
svn path=/Website/branches/v2023.2/; revision=61693
2023-09-01 13:47:02 +00:00
886c1ba0c9 FCLT#79516 prs_perslid_inactief toegevoegd aan 'Elke tabel bekijken'
svn path=/Website/branches/v2023.2/; revision=61688
2023-09-01 11:14:40 +00:00
7728ed87ee PNBR#79811 move_new_bb_files niet aanroepen vanuit de API
svn path=/Website/branches/v2023.2/; revision=61569
2023-08-24 12:44:42 +00:00
f09afea57d PNBR#79811 de bb_files niet zelf ophalen maar meegeven als argument van move_new_bb_files()
svn path=/Website/branches/v2023.2/; revision=61568
2023-08-24 10:34:38 +00:00
Jos Groot Lipman
a265670b4f FCLT#79516 Profiel-> rapport en appregistratie overzicht beter scheiden
svn path=/Website/branches/v2023.2/; revision=61543
2023-08-23 09:05:27 +00:00
Jos Groot Lipman
3712b6c19e UWVA#79728 'slepen' van reserveringen op het planbord
svn path=/Website/branches/v2023.2/; revision=61524
2023-08-22 12:21:15 +00:00
91a30de42c NYBU#79669 aantal niet opvragen indien gegroepeerd op rsv
svn path=/Website/branches/v2023.2/; revision=61492
2023-08-18 10:43:31 +00:00
Jos Groot Lipman
201a5cad4a HCAS#79268 SAML EntityId moet bewerkbaar blijven
svn path=/Website/branches/v2023.2/; revision=61483
2023-08-17 11:58:59 +00:00
Erik Groener
9cf1349c50 FMHN#79593 Bij reserveringen word de bijlagen niet mee gestuurd
svn path=/Website/branches/v2023.2/; revision=61454
2023-08-15 10:17:45 +00:00
b2c129d945 FCLT#79622 de variabele-naam 'url' conflicteert met die uit common.inc als je via pda/productsearch komt
svn path=/Website/branches/v2023.2/; revision=61452
2023-08-15 08:29:39 +00:00
Maykel Geerdink
576187c2d6 WOHW#79637: Herplannen taken in scenario's werkt niet.
svn path=/Website/branches/v2023.2/; revision=61451
2023-08-15 08:11:14 +00:00
Maykel Geerdink
9b171120c5 WOHW#79640: Doorvoeren van scenario's gaat niet goed.
svn path=/Website/branches/v2023.2/; revision=61450
2023-08-15 07:41:45 +00:00
7d9c9650cb AAGN#79632 ook in puo; imgstart en imgend elke iteratie updaten
svn path=/Website/branches/v2023.2/; revision=61442
2023-08-14 09:38:24 +00:00
Maykel Geerdink
8424ac811e KMMO#79106: In de opdracht onder MJOB uitvoeringsmelding kun je objecten verwijderen/toeveog.
svn path=/Website/branches/v2023.2/; revision=61423
2023-08-10 07:30:44 +00:00
Maykel Geerdink
3a4d5980cf KMMO#79106: In de opdracht onder MJOB uitvoeringsmelding kun je objecten verwijderen/toeveog.
svn path=/Website/branches/v2023.2/; revision=61419
2023-08-09 14:51:17 +00:00
Maykel Geerdink
7de2e7773f VOLK#79590: in de afdruk van afhandelen reservering wordt niet alle informatie meegenomen.
svn path=/Website/branches/v2023.2/; revision=61418
2023-08-09 13:26:39 +00:00
Maykel Geerdink
c7ce4b8c6d WOIJ#79519: Vervaldatum of aangepaste cyclus wordt niet onthouden.
WOHA#79578: Wijzigen prijzen in MJOB console werkt niet meer.

svn path=/Website/branches/v2023.2/; revision=61410
2023-08-09 07:50:59 +00:00
99c579e6b4 FCLT#79535 "aantal" toegevoegd aan de gegroepeerde query
svn path=/Website/branches/v2023.2/; revision=61382
2023-08-07 07:19:18 +00:00
f8bc90de46 FCLT#79531 params.filter niet meer (altijd) met een String(pKey) overschrijven
svn path=/Website/branches/v2023.2/; revision=61378
2023-08-04 15:24:51 +00:00
cb4545dbec FCLT#79526 imgstart en imgend elke iteratie updaten
svn path=/Website/branches/v2023.2/; revision=61371
2023-08-04 12:59:35 +00:00
52dab4cd8c FCLT#79202 Revert van het savepoint tbv de 2023.2 Gold B release
svn path=/Website/branches/v2023.2/; revision=61367
2023-08-03 17:14:34 +00:00
Jos Groot Lipman
e906a99068 Release 2023.2 Gold B
svn path=/Website/branches/v2023.2/; revision=61365
2023-08-03 14:56:20 +00:00
Maykel Geerdink
30b310dbaa RABO#79495: Freezeyear ophogen naar 2024 - De uitvoeringconsole geeft dan AiAi.
svn path=/Website/branches/v2023.2/; revision=61364
2023-08-03 13:35:10 +00:00
Jos Groot Lipman
7878496362 AAIT#79506 Dienstniveau wordt na wijzigen leeg en overschreven
svn path=/Website/branches/v2023.2/; revision=61363
2023-08-03 13:21:35 +00:00
Jos Groot Lipman
4540f0b01a LOGC#79493 AiAi bij openen melding met meerdere MLDAFM tracking
svn path=/Website/branches/v2023.2/; revision=61359
2023-08-03 07:42:24 +00:00
Maykel Geerdink
4ccf1cb544 WOHW#79398: AiAi in Acceptatie omgeving WOHW - logfile 216mb.
svn path=/Website/branches/v2023.2/; revision=61354
2023-08-02 14:15:49 +00:00
ef5d4fe51d ALLR#79438 Knip hewt onderwerp af zodat de update_exchange-procedure ermee overweg kan
svn path=/Website/branches/v2023.2/; revision=61353
2023-08-02 14:08:22 +00:00
30f78f6647 ALLR#79484 Het organizerEventID updaten adhv de juiste ruimte
svn path=/Website/branches/v2023.2/; revision=61350
2023-08-02 10:41:32 +00:00
8bd35ff260 FCLT#79367 Als de reservering niet gekoppeld was kunnen we hem ook niet verwijderen (2/2)
svn path=/Website/branches/v2023.2/; revision=61349
2023-08-02 10:07:42 +00:00
Jos Groot Lipman
f13244110e FCLT#79367 cad_verify.asp iets beter geklikte (en herkende) contournummer tonen
svn path=/Website/branches/v2023.2/; revision=61348
2023-08-02 09:34:40 +00:00
ad4dbaf278 ALLR#79421 Ook aan de import-procedure het geconfigureerde tijdsframe meegeven
svn path=/Website/branches/v2023.2/; revision=61342
2023-08-01 13:53:06 +00:00
b9cd0321d3 ALLR#79421 Ook aan import-functies extra parameters mee kunnen geven
svn path=/Website/branches/v2023.2/; revision=61341
2023-08-01 13:52:24 +00:00
919d8189ba FCLT#79439 de overrule is nu natuurlijk helemaal niet meer nodig ..
svn path=/Website/branches/v2023.2/; revision=61340
2023-08-01 13:48:25 +00:00
ac55fc3f44 FCLT#79367 Ook timeouts van batched-requests opgehoogd
svn path=/Website/branches/v2023.2/; revision=61336
2023-08-01 11:47:03 +00:00
d12a184280 FCLT#79367 Als de reservering niet gekoppeld was kunnen we hem ook niet verwijderen
svn path=/Website/branches/v2023.2/; revision=61333
2023-08-01 08:07:59 +00:00
8f9e4cf196 FCLT#79439 Revert vd mld_autolink_regexp instelling
svn path=/Website/branches/v2023.2/; revision=61331
2023-07-31 15:35:12 +00:00
934714d87d FCLT#79367 Timeouts omhoog
svn path=/Website/branches/v2023.2/; revision=61324
2023-07-28 15:58:10 +00:00
Erik Groener
43d4440286 FCLT#79202 Nieuwspagina only berichten verschijnen niet; savepoint
svn path=/Website/branches/v2023.2/; revision=61322
2023-07-28 11:13:57 +00:00
e0ea34c55d FCLT#79367 externnr2 ook kunnen aanpassen bij 'elke tabel bekijken'
svn path=/Website/branches/v2023.2/; revision=61321
2023-07-28 10:36:35 +00:00
38a6c76910 FCLT#79387 Synchroniseer-knop alleen tonen als er reserveringen bestaan in het geconfigureerde tijdsframe
svn path=/Website/branches/v2023.2/; revision=61313
2023-07-27 09:27:57 +00:00
4833a51a40 FCLT#79367 pop-up weer bovenin het scherm
svn path=/Website/branches/v2023.2/; revision=61304
2023-07-26 12:27:59 +00:00
1786d9682c FCLT#77238 hoort bij; BLCC#77343; ook nieuwe reserveringen op gekoppelde ruimtes mogen niet dirty zijn
svn path=/Website/branches/v2023.2/; revision=61295
2023-07-25 11:13:58 +00:00
8c6293a240 FCLT#79333 komma
svn path=/Website/branches/v2023.2/; revision=61287
2023-07-24 14:49:21 +00:00
89547ce7c9 FCLT#79333 fclt-links ook in chat opnemen, fixes
svn path=/Website/branches/v2023.2/; revision=61286
2023-07-24 14:41:58 +00:00
bea17906ab FMHN#79301 Multiselect-filters ook meenemen bij de klikactie
svn path=/Website/branches/v2023.2/; revision=61280
2023-07-24 10:27:41 +00:00
65a7467d5d RWSN#78906 Eerst de kenmerken afwachten alvorens te submitten
svn path=/Website/branches/v2023.2/; revision=61272
2023-07-21 11:57:17 +00:00
725bfff46b BLST#79278 contentType = false om als multipart/form-data te versturen
svn path=/Website/branches/v2023.2/; revision=61268
2023-07-21 08:38:26 +00:00
b52673b8fb FCLT#79290 reshuffle
svn path=/Website/branches/v2023.2/; revision=61267
2023-07-21 07:33:20 +00:00
Maykel Geerdink
6ce0cd714e FCLT#76749: Autorisaties mbt facturen fiatteren/goedkeuren.
UWVA#75608: Fiatteur van factuur ook bijbehorende verplichting zien.

svn path=/Website/branches/v2023.2/; revision=61264
2023-07-20 16:26:25 +00:00
Maykel Geerdink
0a68aa29e3 FCLT#76749: Autorisaties mbt facturen fiatteren/goedkeuren.
UWVA#75608: Fiatteur van factuur ook bijbehorende verplichting zien.

svn path=/Website/branches/v2023.2/; revision=61263
2023-07-20 15:32:06 +00:00
b3aeb56d84 FCLT#79142 Alleen de niet-verwijderde prs_perslid (2/2) :)
svn path=/Website/branches/v2023.2/; revision=61261
2023-07-20 14:31:14 +00:00
6086329e46 FCLT#79142 Alleen de niet-verwijderde prs_perslid
svn path=/Website/branches/v2023.2/; revision=61260
2023-07-20 14:27:25 +00:00
b1b879af84 FCLT#79142 prs_perslid_oslogin is altijd al UPPER
svn path=/Website/branches/v2023.2/; revision=61259
2023-07-20 14:20:08 +00:00
4556c922cd FCLT#79142 Afspraken vanuit Outlook met een -in Facilitor- onbekende gastheer ook in Facilitor boeken
svn path=/Website/branches/v2023.2/; revision=61257
2023-07-20 13:27:32 +00:00
Jos Groot Lipman
fabc557c35 PCHX#79267 Overzicht vd workflow is leeg
svn path=/Website/branches/v2023.2/; revision=61255
2023-07-20 12:53:45 +00:00
Jos Groot Lipman
dde810396f VLKC#79283 rapportages naar Excel currency format
svn path=/Website/branches/v2023.2/; revision=61252
2023-07-20 11:35:43 +00:00
c8a07225bf FCLT#79142 Afspraken vanuit Outlook met een -in Facilitor- onbekende gastheer ook in Facilitor boeken
svn path=/Website/branches/v2023.2/; revision=61250
2023-07-20 10:48:53 +00:00
b988b2e556 FCLT#77238 Syntax fout ..
svn path=/Website/branches/v2023.2/; revision=61242
2023-07-19 13:41:12 +00:00
c775bf70fb FCLT#77238 import_APP_key
svn path=/Website/branches/v2023.2/; revision=61241
2023-07-19 13:29:46 +00:00
54714f0f74 FCLT#77238 Alleen uit de EXCHANGE & EXCHFULL importfuncties
svn path=/Website/branches/v2023.2/; revision=61240
2023-07-19 13:17:33 +00:00
f411f2166b FCLT#77238 Oude 'pending' regels uit de exc_import-tabel verwijderen na de full sync
svn path=/Website/branches/v2023.2/; revision=61238
2023-07-19 12:58:59 +00:00
23c8d0b931 VRTW#79242 Alleen de bijlagen versturen
svn path=/Website/branches/v2023.2/; revision=61233
2023-07-19 09:14:40 +00:00
Erik Groener
e3794723bf VENR#79161 Atos Bezoekersbalie aantallen lijken niet te kloppen
svn path=/Website/branches/v2023.2/; revision=61232
2023-07-19 08:41:07 +00:00
Erik Groener
a20549bb65 VENR#79161 Atos Bezoekersbalie aantallen lijken niet te kloppen
svn path=/Website/branches/v2023.2/; revision=61231
2023-07-19 08:26:10 +00:00
Maykel Geerdink
929ca587cb PZEE#78447: Opsplitsen opstelling en voorzieningen in afhandelen reserveringen.
svn path=/Website/branches/v2023.2/; revision=61228
2023-07-19 07:29:51 +00:00
Maykel Geerdink
ddee5d09e0 RWSN#78906: BOF krijgt een aanvraag met lege kenmerken binnen.
svn path=/Website/branches/v2023.2/; revision=61220
2023-07-18 14:58:52 +00:00
73afcea85b ALKM#79174 Alleen de subscriptions deleten van onze eigen omgeving
svn path=/Website/branches/v2023.2/; revision=61210
2023-07-17 15:15:08 +00:00
Maykel Geerdink
d51da13462 WZUV#79212: AiAi op mld_doublecheck.asp als geen ruimtegegeven.
svn path=/Website/branches/v2023.2/; revision=61209
2023-07-17 14:23:20 +00:00
aba548c49b FCLT#79158 Extra logging bij fouten
svn path=/Website/branches/v2023.2/; revision=61208
2023-07-17 13:03:58 +00:00
14ef6de023 FCLT#79158 Extra logging (timers) en 1x opnieuw proberen bij het ontbreken van het Bearer-token
svn path=/Website/branches/v2023.2/; revision=61207
2023-07-17 12:40:40 +00:00
Maykel Geerdink
12c974d9c9 AAGN#79191: MJOB2.0 - Bij uitvoerings-console taken koppelen aan bestaande meldingen.
svn path=/Website/branches/v2023.2/; revision=61206
2023-07-17 11:14:48 +00:00
Maykel Geerdink
4cd77c9456 BVB1#79190: MJOB taken worden ten onrechte aan bestaande melding gekoppeld.
svn path=/Website/branches/v2023.2/; revision=61205
2023-07-17 09:47:18 +00:00
08e7ac0b4c FCLT#79204 alle bijlagen weer tonen op verzoek, en style module toegevoegd
svn path=/Website/branches/v2023.2/; revision=61203
2023-07-15 08:09:55 +00:00
988c1e6557 ALKM#79174 create_webhooks.wsf heeft safe.csv nodig, maar die kent wsf_shared.js niet
svn path=/Website/branches/v2023.2/; revision=61197
2023-07-14 11:00:37 +00:00
f48cafb3a1 FCLT#77238 icon-knop gebruikt verkeerde default (en kent geen custom-default)
svn path=/Website/branches/v2023.2/; revision=61196
2023-07-14 09:51:28 +00:00
Erik Groener
5c8452264f FCLT#79023 tijdelijke ASP overrule van een nieuwe default waarde van S(cnt_autolink_regexp)
svn path=/Website/branches/v2023.2/; revision=61194
2023-07-14 08:55:58 +00:00
da85ef0938 AAXX#79126 Beetje opgeruimd nog, + comments - overbodige code
svn path=/Website/branches/v2023.2/; revision=61185
2023-07-13 14:48:56 +00:00
Jos Groot Lipman
694416465c Release 2023.2 Gold A
svn path=/Website/branches/v2023.2/; revision=61183
2023-07-13 14:44:22 +00:00
Maykel Geerdink
83cf8849e7 UBRH#79116: Wijzigen basisgegevens 'geslacht' persoonsgegevens.
svn path=/Website/branches/v2023.2/; revision=61181
2023-07-13 14:01:20 +00:00
1518a166e0 FCLT#79174
svn path=/Website/branches/v2023.2/; revision=61178
2023-07-13 12:25:00 +00:00
Peter Feij
ae1e67dedc NOUR#79049 verbeterd voor onderdelen
svn path=/Website/branches/v2023.2/; revision=61177
2023-07-13 11:47:40 +00:00
Maykel Geerdink
0199786b41 CONN#79154: Het gereedmelden van meerdere taken werkt niet.
svn path=/Website/branches/v2023.2/; revision=61176
2023-07-13 09:32:28 +00:00
9951c5a8fe FCLT#79158 request ook loggen bij MS Graph errors
svn path=/Website/branches/v2023.2/; revision=61174
2023-07-13 08:22:50 +00:00
Jos Groot Lipman
2ba947c433 LOGC#79147 Float in gemailde rapportage ontbeert decimale scheider in XLS
svn path=/Website/branches/v2023.2/; revision=61173
2023-07-12 16:08:16 +00:00
d556b94218 AAXX#79126 Bijlage bij technische adressen en in de style-editor mogen weer het(zelfde; optioneel) bestand uit een map kiezen
svn path=/Website/branches/v2023.2/; revision=61172
2023-07-12 15:39:31 +00:00
Maykel Geerdink
99d072d5f4 FCLT#79148: INS: AiAi "Ongeldige tabelnaam" op ins/ins_search_list.asp.
svn path=/Website/branches/v2023.2/; revision=61171
2023-07-12 14:44:43 +00:00
4e277821ae FCLT#79119 icoontje & bij deze FGII module de delete knop niet echt laten deleten
svn path=/Website/branches/v2023.2/; revision=61170
2023-07-12 13:20:42 +00:00
24bc25bff3 KFSG#79134 AiAi voorkomen bij verdiepingen met alleen verwijderde ruimten
svn path=/Website/branches/v2023.2/; revision=61169
2023-07-12 12:55:05 +00:00
Peter Feij
615d37e715 NYBU#79112 Datum en tijd gereed weer zichtbaar
svn path=/Website/branches/v2023.2/; revision=61165
2023-07-12 11:58:18 +00:00
Erik Groener
2ed587e00b SVRZ#79125 Verplicht niveau bij standaardmelding aanpassen
svn path=/Website/branches/v2023.2/; revision=61162
2023-07-12 11:15:35 +00:00
Erik Groener
c515520248 VENR#79133 Verdieping kan niet meer worden aangepast
svn path=/Website/branches/v2023.2/; revision=61152
2023-07-12 07:18:08 +00:00
Peter Feij
6b595eba50 NOUR#79049 Overzicht toonde geen terreingebonden objecten meer
svn path=/Website/branches/v2023.2/; revision=61147
2023-07-11 15:37:29 +00:00
Maykel Geerdink
bdeb500f10 BLCC#79069: BCC51292 2x afgemeld.
svn path=/Website/branches/v2023.2/; revision=61143
2023-07-11 14:27:52 +00:00
Jos Groot Lipman
c4625e1eee LOGC#78960 Rapport via de mail verzenden werkt niet
svn path=/Website/branches/v2023.2/; revision=61140
2023-07-11 13:47:43 +00:00
80 changed files with 686 additions and 432 deletions

View File

@@ -411,9 +411,8 @@ alg = {
+ " MAX(alg_verdieping_bruto_vloeropp) opp_bruto, "
+ " SUM (alg_ruimte_opp_alt1) opp2, "
+ " SUM (alg_ruimte_opp_alt2) opp3 "
+ " FROM alg_ruimte r, alg_verdieping v "
+ " WHERE v.alg_verdieping_key = r.alg_verdieping_key(+) "
+ " AND r.alg_ruimte_verwijder IS NULL";
+ " FROM alg_v_aanwezigruimte r, alg_verdieping v "
+ " WHERE v.alg_verdieping_key = r.alg_verdieping_key(+)";
if (lvl == "G") {
sql += " AND alg_gebouw_key = " + alg_key

View File

@@ -31,7 +31,7 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
if (bld_key > 0)
{
var sql = " SELECT *"
var sql = " SELECT g.*, alg_locatie_adres, alg_locatie_postcode"
+ " FROM alg_gebouw g, alg_locatie l"
+ " WHERE g.alg_locatie_key = l.alg_locatie_key"
+ " AND alg_gebouw_key = " + bld_key;

View File

@@ -45,7 +45,8 @@ var warning = "";
if (flr_key > 0)
{
var algUpd = buildTrackingUpdate("alg_verdieping", " alg_verdieping_key = " + flr_key, fields);
var err = Oracle.Execute(sql, true);
sql = algUpd.sql;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
}

View File

@@ -42,15 +42,16 @@ switch (req_info)
{
var alg_locatie_key = getQParamInt("alg_locatie_key", -1);
var result = [];
var sql = "SELECT alg_gebouw_key"
+ " FROM alg_gebouw"
+ " WHERE alg_locatie_key = " + alg_locatie_key
+ " AND alg_gebouw_verwijder IS NULL"
+ " AND (alg_gebouw_vervaldatum IS NULL OR alg_gebouw_vervaldatum > TRUNC(SYSDATE))";
var sql = "SELECT g.alg_gebouw_key"
+ ", " + S("alg_geb_string") + " gebouw_naam"
+ " FROM alg_gebouw g"
+ " WHERE g.alg_locatie_key = " + alg_locatie_key
+ " AND g.alg_gebouw_verwijder IS NULL"
+ " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE))";
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
{
result.push(oRs("alg_gebouw_key").Value);
result.push( {key: oRs("alg_gebouw_key").Value, name: oRs("gebouw_naam").Value});
oRs.MoveNext();
}
oRs.Close();

View File

@@ -187,7 +187,7 @@ function model_aut_idp(params)
fld_hide = ["samlmetaurl"];
break;
case 5: // saml
fld_hide = "algorithm audience issuer secret timeout duration remoteloginurl remotelogouturl ipfilter ipauto".split(" ");
fld_hide = "algorithm audience secret timeout duration remoteloginurl remotelogouturl ipfilter ipauto".split(" ");
break;
}
for (var d=0; d<fld_hide.length; d++)

View File

@@ -21,7 +21,7 @@ function model_issueobjects()
this.fields = {"id" : { dbs: "mld_melding_object_key", typ: "key", seq: "mld_s_mld_object_key" },
"object" : { dbs: "ins_deel_key", typ: "key", foreign: "ins_deel" },
"issue" : { dbs: "mld_melding_key", typ: "key" },
"inspection": { dbs: "ins_deelsrtcontrole_key", typ: "key", foreign: "ins_deelsrtcontrole" }
"inspection": { dbs: "ins_deelsrtcontrole_key", typ: "key" }
};
this.REST_GET = generic_REST_GET(this);

View File

@@ -73,6 +73,7 @@ function model_issues(mld_key, params)
"room" : { dbs: "alg_v_allonroerendgoed.alg_ruimte_key", typ: "key", foreign: "alg_ruimte", label: L("lcl_room"), track: true },
"terrain" : { dbs: "alg_v_allonroerendgoed.alg_terreinsector_key", typ: "key", foreign: "alg_terreinsector", label: L("lcl_room"), track: true },
"parent" : { dbs: "mld_melding_parentkey", typ: "key", xforeign: "mld_melding", label: L("lcl_mld_completion_in"), track: true },
"continuedfrom": { dbs: "mld_melding_start_key", typ: "key", xforeign: "mld_melding", label: L("lcl_mld_continue_of"), track: true },
"extern_id" : { dbs: "mld_melding_externnr", typ: "varchar", label: L("lcl_mld_externr"), track: true },
"extern_sync": { dbs: "mld_melding_externsyncdate", typ: "datetime", label: L("extern_syncdate"), readonly: !user.has("WEB_FACTAB") },
"kto_key" : { dbs: "mld_melding_kto_key", typ: "key", label: L("lcl_mld_linktoparent"), track: true },
@@ -490,6 +491,7 @@ function model_issues(mld_key, params)
delete_fld(jsondata, "kto_type", kto_key_readonly );
delete_fld(jsondata, "subject", oms_readonly );
delete_fld(jsondata, "description", oms_readonly );
delete_fld(jsondata, "continuedfrom", true);
}
function _validate_close (params, jsondata, the_key) /* uit: mld_close_save.asp */
@@ -753,6 +755,19 @@ function model_issues(mld_key, params)
{ // Kon ook geen default kostenplaats vinden.
api2.error(500, "Account could not be validated");
}
if (jsondata.continuedfrom)
{
var sql = "SELECT COUNT(m.mld_workflowstep_key) is_workflow"
+ " FROM mld_melding m"
+ " WHERE m.mld_melding_key = " + jsondata.continuedfrom;
var oRs = Oracle.Execute(sql);
var isWorkflow = oRs("is_workflow").Value != 0;
oRs.Close();
if (isWorkflow)
api2.error(500, "Issue is part of workflow. Cannot be continued");
}
jsondata.account = kpkey;
if (!jsondata.issuedate)
jsondata.issuedate = new Date();

View File

@@ -333,9 +333,9 @@ function model_reports(fac_usrrap_key)
};
// Voor gewone rapporten zijn expressies via tablesql opgelost
// Styled rapporten gaan echter via xml.make_xml2 welke tablesql niet gebruikt
if (model.styling && (model.styling & 1))
if (model.styling && (model.styling & 1))
{
field.sql = usrrap.columns[i].expression;
field.sql = usrrap.columns[i].expression;
}
if (usrrap.columns[i].urllink)
@@ -519,7 +519,7 @@ function report_GET(params)
if (fld in params.filter)
transitList.push(fld);
}
params.urllink.link = params.urllink.link.replace(/\&##TRANSIT##/i, buildTransitParam(transitList));
params.urllink.link = params.urllink.link.replace(/\&##TRANSIT##/i, "&scf_transit=" + transitList.join(",") + buildTransitParam(transitList) + "&scf_transitend=1");
}
if (params.columns && params.groupby && params.groupby.length > 0)

View File

@@ -56,10 +56,14 @@ function onChangeLocatie()
}
function changeLocatieCallback(data) {
if (data.length == 1 && typeof sgBld != "undefined" && !sgBld.isReadOnly()) {
$("#gebouwkey").val(data[0]);
if (typeof sgBld != "undefined") {
if (data.length == 1 && !sgBld.isReadonly()) {
sgBld.setValue(data[0].key, data[0].name);
}
} else {
var init_act_key = $("#actie option:selected").val();
fill_actie((data[0]?.key || -1), init_act_key);
}
onChangeGebouw();
get_freeprk_info();
}
@@ -207,8 +211,10 @@ function fill_actie(alg_gebouw_key, init_act_key)
{
var sel = -1;
var def = -1;
var init_key = (init_act_key ? init_act_key : -1);
$("#actie").empty().append($("<option>").val(-1).html(""));
var init_key = (init_act_key && init_act_key != -1 ? init_act_key : -1);
$("#actie").empty();
if (data.length > 1)
$("#actie").append($("<option>").val(-1).html(""));
for (var i=0; i< data.length; i++)
{
$("#actie").append($("<option>")

View File

@@ -119,10 +119,8 @@ var authparams = user.checkAutorisation(autfunction);
<% if (!minfo) { %>
if ($("#locatiekey").val() > 0)
{
window.afterfiltersready = function () { document.forms.u2.submit() };
window.afterfiltersready = function () { document.forms.u2.submit() };
}
<% } %>
<% } %>
});
@@ -245,7 +243,6 @@ SEARCH_BLOCK_START();
else
var endlevel = 2; // locatie
}
var pstartlevel = (alg_startlevel >= 0? alg_startlevel : startlevel);
FCLTplaatsselector(authparams.ALGreadlevel,
{ regiokey: regio_key,
districtkey: district_key, // indien startlevel 2 is, dan wordt deze parameter niet gebruikt
@@ -254,6 +251,7 @@ SEARCH_BLOCK_START();
verdiepingkey: verdieping_key, // indien eindlevel 2 is, dan wordt deze parameter niet gebruikt
onLocChange: "onChangeLocatie()",
onGebChange: "onChangeGebouw()",
//autoselect: true,
multitoggle: 4,
multionchange: true,
startlevel: alg_startlevel >= 0? alg_startlevel : startlevel,

View File

@@ -30,10 +30,7 @@ function onChangeLocatie()
, { req_info: "locatie_gebouwen"
, alg_locatie_key: $("#locatiekey").val()
}
, function(data) {
$("#gebouwkey").val( (data.length==1 ? data[0] : -1) );
onChangeGebouw();
}
, function(data) {}
);
}

View File

@@ -95,7 +95,10 @@ else
function MMap_onClick(SlnkEvent)
{
console.log(SlnkEvent);
$("#clicked").show().html("Clicked X=" + Math.round(SlnkEvent.dwgX) + " Y=" + Math.round(SlnkEvent.dwgY));
var txt = "Clicked X=" + Math.round(SlnkEvent.dwgX) + " Y=" + Math.round(SlnkEvent.dwgY);
if (SlnkEvent.ContourKey)
txt += " ({0})".format(SlnkEvent.ContourKey)
$("#clicked").show().html(txt);
return false; // Don't process
}

View File

@@ -54,7 +54,7 @@ var authparams = user.checkAutorisation(autfunction);
ROFIELDTR("fld", L("lcl_location"), loc);
ROFIELDTR("fld", L("lcl_building"), bld);
ROFIELDTR("fld", L("lcl_floor"), flr);
FILEPICKERTR("file", L("lcl_fg_tek_file"), file_name, { "key": cad_tek_key, "module": "FGII", "defaultValue": L("lcl_fg_tek_file") });
FILEPICKERTR("file", L("lcl_fg_tek_file"), file_name, { "key": cad_tek_key, "module": "FGII", "icon": "fa-layer-group", "defaultValue": L("lcl_fg_tek_file") });
MODAL_BLOCK_END();

View File

@@ -27,10 +27,8 @@ if (chatdata.messages)
result.messages = chatdata.messages[fromchannelId];
delete chatdata.messages[fromchannelId];
Application(chat_data_name) = JSON.stringify(chatdata);
if (result.messages)
{
var last_index = result.messages.length-1;
result.messages[last_index].safe_message = safe.fclthtml(result.messages[last_index].message, {"mldlink": true, "cntlink": true, "faqlink": true});
for (var i in result.messages) {
result.messages[i].safe_message = safe.fclthtml(result.messages[i].message, { "fcltlinks": true });
}
}
Application.UnLock();

View File

@@ -86,7 +86,6 @@
<script>
var chatReadchannelId = "<%=safe.jsstring(chatReadchannelId)%>"; // wijzelf
var chatSendchannelId = "<%=safe.jsstring(chatSendchannelId)%>"; // de ander
var chatIncoming = (<%=prs_key%> > 0);
notify.signal(chatSendchannelId, chatReadchannelId);
function add2chat(messages)
@@ -97,8 +96,7 @@
extraClass += messages[i].aborted?' aborted' : '';
extraClass += messages[i].inactive?' inactive' : '';
extraClass += messages[i].mine?' self' : ' other';
var theMessage = (chatIncoming && !messages[i].mine ? messages[i].safe_message : messages[i].message);
$("#chathistory").prepend($('<span>').addClass('chatmsg'+extraClass).html(theMessage))
$("#chathistory").prepend($('<span>').addClass('chatmsg'+extraClass).html(messages[i].safe_message))
.prepend($('<span>').addClass('chatfrom'+extraClass).text(messages[i].fromname))
.prepend($('<span>').addClass('chattime').text(messages[i].sincetime));
}
@@ -131,14 +129,14 @@
// session ended due to inactivity
if (data.end == 1)
{
add2chat([{message: "<%=L('lcl_chat_inactive_ended')%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", inactive: true, mine: false}]);
add2chat([{safe_message: "<%=L('lcl_chat_inactive_ended')%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", inactive: true, mine: false}]);
$("#chat, span.sendbutton").attr('readonly', true);
return false; // stop polling notify
}
// session aborted by user
else if (data.end == 2)
{
add2chat([{message: "<%=L('lcl_chat_user_ended')%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", aborted: true, mine: false}]);
add2chat([{safe_message: "<%=L('lcl_chat_user_ended')%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", aborted: true, mine: false}]);
$("#chat, span.sendbutton").attr('readonly', true);
return false; // stop polling notify
}
@@ -154,18 +152,18 @@
ago15.setMinutes(ago15.getMinutes() - 15);
if (!ended && last_alive < ago15.getTime())
{
add2chat([{message: "<%=L("lcl_chat_ended")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", inactive: true, system: true, mine: false}]);
add2chat([{safe_message: "<%=L("lcl_chat_ended")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", inactive: true, system: true, mine: false}]);
$("#chat, span.sendbutton").attr('readonly', true);
notify.end(chatSendchannelId, chatReadchannelId, 1); // session ended due to inactivity
ended = true;
return false;
} else if (!warning_2 && last_alive < ago14.getTime())
{
add2chat([{message: "<%=L("lcl_chat_inactive_warning_2")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", system: true, mine: false}]);
add2chat([{safe_message: "<%=L("lcl_chat_inactive_warning_2")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", system: true, mine: false}]);
warning_2 = true;
} else if (!warning_1 && last_alive < ago10.getTime())
{
add2chat([{message: "<%=L("lcl_chat_inactive_warning_1")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", system: true, mine: false}]);
add2chat([{safe_message: "<%=L("lcl_chat_inactive_warning_1")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", system: true, mine: false}]);
warning_1 = true;
}
}
@@ -189,15 +187,20 @@
function chat_send()
{
var msg = $("textarea#chat").val();
if (msg)
{
if (msg) {
$("textarea#chat").val("");
chat_dosend(msg);
$.getJSON("../Shared/get_shared_info.asp", {
req_info: "eval_bb_code",
fcltlinks: 1,
input: msg
}, function (json) {
add2chat([{ safe_message: json.fclthtml, sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_selfname')%>", mine: true }]);
chat_dosend(msg);
});
}
}
function chat_dosend(msg)
{
add2chat([{message: msg, sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_selfname')%>", mine: true}]);
$.post( "./ChatSend.asp",
{
fromchannelId: chatReadchannelId,
@@ -216,8 +219,8 @@
$(function () {
FcltMgr.startEdit(window); // hot tab
add2chat([{message: L("lcl_chat_initialmsg"), sincetime: toTimeString(new Date(), true), fromname: "<%=(prs_key > 0 ? L('lcl_chat_selfname') : L('lcl_chatter_naam'))%>", mine: <%=prs_key > 0 ? "true" : "false"%> }]);
add2chat([{message: "<%=safe.jsstring(startMessage)%>", sincetime: toTimeString(new Date(), true), fromname: "<%=safe.jsstring(prs_key > 0 ? other : L('lcl_chat_selfname'))%>", mine: <%=prs_key > 0 ? "false" : "true"%> }]);
add2chat([{safe_message: L("lcl_chat_initialmsg"), sincetime: toTimeString(new Date(), true), fromname: "<%=(prs_key > 0 ? L('lcl_chat_selfname') : L('lcl_chatter_naam'))%>", mine: <%=prs_key > 0 ? "true" : "false"%> }]);
add2chat([{safe_message: "<%=safe.jsstring(safe.fclthtml(startMessage, { "fcltlinks": true }))%>", sincetime: toTimeString(new Date(), true), fromname: "<%=safe.jsstring(prs_key > 0 ? other : L('lcl_chat_selfname'))%>", mine: <%=prs_key > 0 ? "false" : "true"%> }]);
$("#chat").on("keydown", function(event) {
if (event.keyCode == 13 && !event.shiftKey) {
event.preventDefault();
@@ -233,8 +236,8 @@
<!--Debug: reading channel <%=safe.html(chatReadchannelId)%><br>sending channel <%=safe.html(chatSendchannelId)%>-->
<div id="chatinput" class="chatinput">
<div class="text-wrapper">
<textarea id="chat" class="fldtxt" placeholder='<%=L("lcl_chat_entermessage")%>'></textarea>
<span class="sendbutton" onclick="chat_send()" title=<%=safe.htmlattr(L("lcl_chat_send"))%>><%=I("fa-paper-plane fa-lg")%></span>
<textarea id="chat" class="fldtxt" placeholder="<%=L("lcl_chat_entermessage")%>"></textarea>
<span class="sendbutton" onclick="chat_send()" title="<%=safe.htmlattr(L("lcl_chat_send"))%>"><%=I("fa-paper-plane fa-lg")%></span>
</div>
<div id="chathistory" class="chathistory"></div>

View File

@@ -39,6 +39,7 @@ function cleanurl(purl)
autourl = autourl.replace(/[\&|\?]from_search_key=\d+/, "");
autourl = autourl.replace(/[\&|\?]asWidget=\d/, "");
autourl = autourl.replace(/[\&|\?]fcltfilters=.*/, "");
autourl = autourl.replace(/[\&|\?]scf_transit=.*&scf_transitend=1/, "");
autourl = autourl.replace(/[\&|\?]$/, "");
__Log("Cleanurl: " + autourl);
@@ -92,7 +93,7 @@ if (unpin)
else
{
var tab_count = getFParamInt("tab_count", 1); // Wordt alleen bij taboption = "A" meegegeven
var autoopenurl_arr = getFParamArray("autoopenurl", []);
var autoopenurl_arr = getFParamArray("autoopenurl", [], true); // Elk element van "autoopenurl" niet splitsen (want er kunnen komma's in de titel staan)
var autoopenttl_arr = getFParamArray("autoopenttl", [], true); // Elk element van "autoopenttl" niet splitsen (want er kunnen komma's in de titel staan)
var filters_arr = getFParamArray("filters", [], true); // Elk element van "filters" niet splitsen!
var advfilters_arr = getFParamArray("advfilters", [], true); // Elk element van "advfilters" niet splitsen!

View File

@@ -189,12 +189,9 @@ function prettyJson(j)
+ " aria-controls='" + itm + "'"
+ " data-default-title='" + safe.htmlattr(itm) + "'"
+ " data-module='STYLE'"
+ " data-new='1'"
+ " data-upload-url='" + safe.htmlattr(protectQS.create("../shared/BijlagenForm.asp?module=STYLE&itm=" + Server.URLEncode(itm))) + "'>"
+ " data-upload-url='" + safe.htmlattr(protectQS.create("../shared/BijlagenForm.asp?module=STYLE")) + "'>"
+ " </span>"
+ " <span class='default-clickable-icon symbol-delete' aria-controls='" + safe.htmlattr(itm) + "'"
+ " data-delete-url='" + safe.htmlattr(protectQS.create(rooturl + "/appl/Shared/Bijlagenform_delete.asp?style=" + itm + "&module=STYLE" + (con ? "&DoDelete=" + Server.URLEncode(con) : ""))) + "'"
+ " >"
+ " <span class='default-clickable-icon symbol-delete' aria-controls='" + safe.htmlattr(itm) + "'>"
+ I("fa-trash-alt")
+ " </span>"
+ " </td>");
@@ -202,7 +199,11 @@ function prettyJson(j)
<td><input class="fld" id='<%=safe.htmlattr(itm)%>' name='<%=safe.htmlattr(itm)%>' value='<%=safe.htmlattr(con)%>'></td>
<%} %>
<td style="text-align:right"><% =(act && (FCLTHeader.defaultTemplate[itm]).match(/^#(?!#)|^rgb/i) || act.match(/^#(?!#)|^rgb/i)) ? '<div class="color-preview" style="color:'+safe.htmlattr(act)+'">' + I("fa-square fa-2x", { fastyle: "fas" }) + '</div>' : '' %></td>
<% if (itm.slice(-5) === "image" && act && act.match(/^## .* ##$/) === null) { %>
<td><span class="details" onClick="parent.FcltMgr.windowopen('<%=safe.htmlattr(S("style_image_path") + "/" + act)%>');"><%=safe.html(act)%></span></td>
<% } else { %>
<td><%=safe.html(act)%></td>
<% } %>
</tr><%
}
%>

View File

@@ -15,14 +15,17 @@ function init_reportx()
{
if (params_js.model == "report")
{
$("#filter").change( change_filter );
if ($("#filter").val() == "P")
$("#expression").removeClass("required").prop("disabled", true);
$("input[name=fac_usrrap_functie1]").change(function() {change_styling(); });
$("input[name=fac_usrrap_functie2]").change(function() {change_styling(); });
$("#graph").change(function() {change_graph(); });
if ($("#graph").val() != 0)
$("#graph_type").addClass("required");
}
else if (params_js.model == "columns")
{
$("#filter").change( change_filter );
if ($("#filter").val() == "P")
$("#expression").removeClass("required").prop("disabled", true);
if ($("#urllink"))
{
@@ -38,9 +41,7 @@ function init_reportx()
$("#visible option[value='U']").attr("disabled", true);
}
}
}
else if (params_js.model == "columns")
{
if (!params_js.hasfactab && params_js.id == -1)
{
$("#name").closest("tr").hide();
@@ -138,6 +139,9 @@ function pre_submit()
function kenmerkkolom(p_autostart)
{
if ($("#expression").is(":disabled")) {
return false;
}
var col_id = -1;
var rap_id = $("#fac_usrrap_key").val();
// Haal id van reportcolumns uit de url-parameters.

View File

@@ -110,13 +110,13 @@ var JSON_Result = true;
}
oRs.Close();
// Custom queue
// Custom queue old
var sql = "SELECT count(*) cnt,"
+ " MIN(fac_notificatie_datum) fac_notificatie_datum,"
+ " MAX(fac_notificatie_datum) max_notificatie_datum"
+ " FROM fac_v_notifyqueue"
+ " WHERE BITAND (fac_notificatie_status, " + (puo_const.STATUS_CUST) + ") > 0"
+ " AND fac_notificatie_datum < SYSDATE - 1/2/24"; // minstens half uur oud
+ " AND fac_notificatie_datum < TRUNC(SYSDATE)";
var oRs = Oracle.Execute(sql);
result.custqueue = oRs("cnt").Value;
if (result.custqueue)
@@ -126,6 +126,22 @@ var JSON_Result = true;
}
oRs.Close();
// Custom queue today
var sql = "SELECT count(*) cnt,"
+ " MIN(fac_notificatie_datum) fac_notificatie_datum,"
+ " MAX(fac_notificatie_datum) max_notificatie_datum"
+ " FROM fac_v_notifyqueue"
+ " WHERE BITAND (fac_notificatie_status, " + (puo_const.STATUS_CUST) + ") > 0"
+ " AND fac_notificatie_datum > TRUNC(SYSDATE)"; // minstens half uur oud
var oRs = Oracle.Execute(sql);
result.custqueuenew = oRs("cnt").Value;
if (result.custqueuenew)
{
result.custnotidatenew = new Date(oRs("fac_notificatie_datum").Value);
result.lastcustnotidatenew = new Date(oRs("max_notificatie_datum").Value);
}
oRs.Close();
// Krachtige users. Pas op: fac_v_webgebruiker is hier uitgewerkt omdat die bij UWV te traag was
var sql = "SELECT p.prs_perslid_key, "
+ " prs_perslid_oslogin, "

View File

@@ -114,7 +114,7 @@ prs.checkAutorisation(prs_key);
{
page = "../mgt/fac_notificatie_job.asp?mode=list&niveau=S&receiver=" + prs_key;
IFRAMER("appFrame", page, { icon: "fa-list", title: L("lcl_scheduled_reports") } );
IFRAMER("rapFrame", page, { icon: "fa-list", title: L("lcl_scheduled_reports") } );
}
if (hasAppRegistrations)

View File

@@ -1332,7 +1332,7 @@ if (this.S) // (deze test werkt niet vanuit verify.asp.inc)
{
if (!S("puo_fclt_web_url"))
{
return { result: resultcodes.warning, message: "S('puo_fclt_web_url') is not set.<br>Embedded photos in e-mails will not be available" };
return { result: resultcodes.error, message: "S('puo_fclt_web_url') is not set.<br>Scheduled reports and embedded photos in e-mails will not be available" };
}
var puo_web_url = S("puo_fclt_web_url") + "/appl/fac/fac_verify_test.asp?checkINSTANCE=1&fac_id=" + custID;
// Controleer of we via S("puo_fclt_web_url") op dezelfde webserver uitkomen als de huidige request

View File

@@ -38,7 +38,7 @@ FCLTHeader.Requires({ plugins:["jQuery"], js: ["jQuery-ui.js"]});
$(".card-header-content").append("<span class='filter fal fa-search'><input type='text' id='autofilter' placeholder='" + L("lcl_autofilter_eng") + "'></span>");
$("#autofilter").on("keyup", e => {
var searchStr = $("#autofilter").val();
var searchStr = $("#autofilter").val().toLowerCase();
$(".fa-icon-picker").find("i").each((i, elem) => {
$(elem).toggle(String($(elem).attr("title")).indexOf(searchStr) > -1);
});

View File

@@ -253,7 +253,8 @@ function impReadStream(fileStream, import_app_key, params)
}
// De _IMPORT_ proc zal doorgaans de data van FAC_IMP_FILE naar bijv. FAC_IMP_CATALOGUS overzetten
sql = "BEGIN " + procprefix + "_IMPORT_" + import_app + "(" + import_key + "); END;"
var extra_params = (params.proc_params ? params.proc_params : "");
sql = "BEGIN " + procprefix + "_IMPORT_" + import_app + "(" + import_key + extra_params + "); END;"
Oracle.Execute(sql);
var read_lines = teller-1;

View File

@@ -2743,10 +2743,11 @@ ins = {checkAutLevel:
var v_sqlPositionParent = ( params.parent_key
? " AND ( (i.ins_alg_ruimte_type IN ('A','P') AND dl.alg_locatie_key IS NULL)"
+ " OR (i.ins_alg_ruimte_type NOT IN ('A','P') AND dl.alg_locatie_key = o.alg_locatie_key AND bld.alg_gebouw_key = o.alg_gebouw_key)"
+ " OR (i.ins_alg_ruimte_type NOT IN ('A','P') "
+ " AND dl.alg_locatie_key = o.alg_locatie_key)"
+ " )"
: " AND dl.alg_locatie_key = o.alg_locatie_key"
+" AND bld.alg_gebouw_key = o.alg_gebouw_key"
+" AND bld.alg_gebouw_key(+) = o.alg_gebouw_key"
);
if (auth_org)
@@ -6067,6 +6068,10 @@ ins = {checkAutLevel:
}
}
if (commit)
// Alleen bij het doorvoeren van een scenario het xcp record (ins_srtcontroledl_xcp_key) verwijderen.
Oracle.Execute("DELETE FROM ins_srtcontroledl_xcp WHERE ins_srtcontroledl_xcp_key = " + xcp_key);
if (err && err.friendlyMsg)
{
result.warning = err.friendlyMsg;

View File

@@ -519,7 +519,7 @@ if (!catclose && ins_key_arr.length == 1)
var autoconfirm = true;
var nextdatum;
var uitvoerdatum;
<% if (!eersteinspectie)
<% if (ingesloten.length == 1 && !eersteinspectie)
{ // Het is NIET de eerste inspectie.
var sqln = "SELECT ins.nextcyclusdate (" + ingesloten[0] + ", " + ingeslotensc[0] + ", 1, 1) nextdate FROM DUAL"
var oRsn = Oracle.Execute(sqln);

View File

@@ -52,6 +52,7 @@ if (freeze && groupby < 9)
var disc_key_arr = getFParamInt("disc_key_arr", []);
var srtgroep_key_arr = getFParamInt("srtgroep_key_arr", []);
var srtdeel_key_arr = getFParamInt("srtdeel_key_arr", []);
var srtgebouw_key_arr = getFParamIntArray("srtgebouw_key_arr", []);
var groep_str_arr = getFParamArray("groep_str_arr", []); // Groep
var categorie_key = getFParamInt("categorie_key", -1); // Categorie
var srtcontrole_key_arr = getFParamIntArray("srtcontrole_key_arr", []); // Taak
@@ -91,6 +92,7 @@ if (freeze && groupby < 9)
disc_key_arr: disc_key_arr,
srtgroep_key_arr: srtgroep_key_arr,
srtdeel_key_arr: srtdeel_key_arr,
srtgebouw_key_arr: srtgebouw_key_arr,
groep_str_arr: groep_str_arr,
categorie_key: categorie_key,
srtcontrole_key_arr: srtcontrole_key_arr,

View File

@@ -638,6 +638,7 @@ var authparams = user.checkAutorisation(autfunction);
werkplekkey: wpl_key, // indien eindlevel 5 is, dan wordt deze parameter niet gebruikt
terrein: true,
multitoggle: 5,
multionchange: true,
onRegChange: alg_startlevel==0? "UnSelectOwner()" : null,
onDisChange: alg_startlevel==1? "UnSelectOwner()" : null,
onLocChange: alg_startlevel==2? "UnSelectOwner()" : null,
@@ -661,6 +662,7 @@ var authparams = user.checkAutorisation(autfunction);
startlevel: alg_startlevel,
eindlevel: (frontend ? 2 : 3), // frontend: locatie(2), fronto: gebouw(3)
multitoggle: 5,
multionchange: true,
trclass: "noxd",
whenEmpty: L("lcl_search_generic"), // want filter
cadSelect: true,

View File

@@ -75,12 +75,42 @@ function UnSelectPos()
{
switch (alg_startlevel)
{
case 0: sgReg.setValue(-1, ""); // zou dat niet al voldoende moeten zijn?
case 1: if (typeof sgDis !== "undefined") sgDis.setValue(-1, "");
case 2: if (typeof sgLoc !== "undefined") sgLoc.setValue(-1, "");
case 3: if (typeof sgBld !== "undefined") sgBld.setValue(-1, "");
case 4: if (typeof sgFlr !== "undefined") sgFlr.setValue(-1, "");
case 5: if (typeof sgRoom !== "undefined") sgRoom.setValue(-1, "");
case 0: if ($("#regio").prop("tagName") == "INPUT")
{
sgReg.setValue(-1, ""); // zou dat niet al voldoende moeten zijn?
}
else // $("#regio").prop("tagName") == "SELECT"
$("#regio option:selected").prop("selected", false);
case 1: if ($("#district").prop("tagName") == "INPUT")
{
if (typeof sgDis !== "undefined") sgDis.setValue(-1, "");
}
else // $("#district").prop("tagName") == "SELECT"
$("#district option:selected").prop("selected", false);
case 2: if ($("#locatie").prop("tagName") == "INPUT")
{
if (typeof sgLoc !== "undefined") sgLoc.setValue(-1, "");
}
else // $("#locatie").prop("tagName") == "SELECT"
$("#locatie option:selected").prop("selected", false);
case 3: if ($("#gebouw").prop("tagName") == "INPUT")
{
if (typeof sgBld !== "undefined") sgBld.setValue(-1, "");
}
else // $("#gebouw").prop("tagName") == "SELECT"
$("#gebouw option:selected").prop("selected", false);
case 4: if ($("#verdieping").prop("tagName") == "INPUT")
{
if (typeof sgFlr !== "undefined") sgFlr.setValue(-1, "");
}
else // $("#verdieping").prop("tagName") == "SELECT"
$("#verdieping option:selected").prop("selected", false);
case 5: if ($("#ruimte").prop("tagName") == "INPUT")
{
if (typeof sgRoom !== "undefined") sgRoom.setValue(-1, "");
}
else // $("#ruimte").prop("tagName") == "SELECT"
$("#ruimte option:selected").prop("selected", false);
}
}

View File

@@ -505,11 +505,16 @@ var iface =
if (!file_input.value) { // Leeggemaakt
return false;
}
var formData = new FormData();
for (var i = 0; i < file_input.files.length; i++) {
formData.append(file_input.name, file_input.files[i]);
}
formData.append("RVT_token", window.RVT_token);
// Hier wordt $.ajax gebruikt ipv $.post omdat we contentType & processData = false willen verzenden, dat kan niet met $.post
$.ajax({
"url": $(file_input).data("upload-url"),
"type": "POST",
"data": new FormData(file_input.form),
"data": formData,
"dataType": "json",
"processData": false,
"contentType": false,
@@ -563,20 +568,24 @@ var iface =
if (valType == 1 || isPlaceholder) {
iface.update_symbol_fld({ "delete": true }, fld);
} else if (valType == 2) {
FcltMgr.confirm(L("lcl_delete") + " " + fileName + "?", function() {
let data = {};
protectRequest.dataToken(data);
let url = $("[aria-controls=" + fld + "].symbol-delete").attr("data-delete-url");
let isNew = $filebtn.data("new");
if (isNew && $val_fld.val()) {
url += "&newfilename=" + $val_fld.val();
let url = $("[aria-controls=" + fld + "].symbol-delete").attr("data-delete-url");
if (!url) { // Hier unlinken we alleen en hoeven we het bestand niet echt te deleten
iface.update_symbol_fld({ "delete": true }, fld);
} else {
FcltMgr.confirm(L("lcl_delete") + " " + fileName + "?", function() {
let data = {};
protectRequest.dataToken(data);
let isNew = $filebtn.data("new");
if (isNew && $val_fld.val()) {
url += "&newfilename=" + $val_fld.val();
}
$.post(
url,
data,
FcltCallbackAndThen(function (json) { iface.update_symbol_fld({ "delete": true }, fld); })
);
});
}
$.post(
url,
data,
FcltCallbackAndThen(function (json) { iface.update_symbol_fld({ "delete": true }, fld); })
);
});
}
},
// Opent de iconpicker in een modal en callbacked naar update_symbol_fld
@@ -611,14 +620,16 @@ var iface =
$filebtn = $(".symbol-upload[aria-controls=" + fld + "]");
$filebtn.val(json.fileName).attr("title", json.fileName); // Knop
$val_fld.val(json.fileName).closest("td[data-type]").attr("data-type", "2");
$del_btn.attr("data-delete-url", json.deleteUrl); // Om de delete knop te doen werken
if (json.deleteUrl) {
$del_btn.attr("data-delete-url", json.deleteUrl); // Om de delete knop te doen werken
}
}
} else {
iface.update_symbol_fld({ delete: true }, fld);
}
}
} else if (json.delete) {
$iconbtn.val($filebtn.data("default-value") || L("mgt_kenmerk_icon")).attr("title", $iconbtn.data("default-title"));
$iconbtn.val(L("mgt_kenmerk_icon")).attr("title", $iconbtn.data("default-title"));
$filebtn.val($filebtn.data("default-value") || L("lcl_image")).attr("title", $filebtn.data("default-title"));
$val_fld.val("").closest("td[data-type]").attr("data-type", "0"); // Leeg
$iconbtn.closest(".button-icon-wrapper").find("i").replaceWith(I("fa-flag")); // Default FA-icoon

View File

@@ -131,7 +131,8 @@
"fields": ["ins_deel_key"]
},
"prs_perslid": { "track": "#PRSUPD",
"fields": ["prs_perslid_flags"]
"fields": ["prs_perslid_flags",
"prs_perslid_inactief"]
},
"fac_bookmark": { "track": null,
"fields": ["fac_bookmark_id"]
@@ -163,7 +164,7 @@
fld.match(/externsyncdate$/) ||
fld.match(/extsyncdate$/) ||
fld.match(/extsyncd$/) ||
fld.match(/externnr$/) ||
fld.match(/externnr2?$/) ||
fld.match(/externid$/) ||
exception && inArray(fld, exception.fields))
{

View File

@@ -160,24 +160,38 @@ if (mode == "show" && res_ruimte_key > -1 && user.has("WEB_RESMGT")) {
}
if (mode == "show" && res_ruimte_key > -1 && (S("msgraph_sync_level") & 6)) {
var sql = "SELECT ''"
+ " FROM res_rsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr"
+ " WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key"
+ " AND rro.res_ruimte_key = rr.res_ruimte_key"
+ " AND rrr.res_rsv_ruimte_van > SYSDATE"
+ " AND rr.res_ruimte_extern_id IS NOT NULL"
+ " AND rrr.res_rsv_ruimte_verwijder IS NULL"
+ " AND rrr.res_rsv_ruimte_externsyncdate IS NULL"
+ " AND rrr.res_rsv_ruimte_externnr IS NULL"
+ " AND rrr.res_rsv_ruimte_externnr2 IS NULL"
+ " AND rro.res_ruimte_key = " + res_ruimte_key;
var oRs = Oracle.Execute(sql);
if (!oRs.EoF) {
res_ruimtemodel_params.show.buttons.unshift(
{ "title": L("res_ruimte_sync"), "tooltip": L("res_ruimte_sync_hint"), "id": "sync_outlook", "singlepress": true, "action": "sync_outlook", "icon": "fa-cloud-arrow-up" }
);
try {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var configPath = Server.MapPath(custpath) + "\\Exchange\\exchange.config";
if (fso.FileExists(configPath)) {
var f = fso.OpenTextFile(configPath, 1);
var config = eval("(" + f.ReadAll() + ")");
f.Close();
}
} catch (e) {
__DoLog(e.message, "#FF0000");
}
if (config) {
var sql = "SELECT ''"
+ " FROM res_rsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr"
+ " WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key"
+ " AND rro.res_ruimte_key = rr.res_ruimte_key"
+ " AND rrr.res_rsv_ruimte_tot >= TRUNC(SYSDATE) - " + config.fullpast
+ " AND rrr.res_rsv_ruimte_van <= TRUNC(SYSDATE) + " + config.fullfuture
+ " AND rr.res_ruimte_extern_id IS NOT NULL"
+ " AND rrr.res_rsv_ruimte_verwijder IS NULL"
+ " AND rrr.res_rsv_ruimte_externsyncdate IS NULL"
+ " AND rrr.res_rsv_ruimte_externnr IS NULL"
+ " AND rrr.res_rsv_ruimte_externnr2 IS NULL"
+ " AND rro.res_ruimte_key = " + res_ruimte_key;
var oRs = Oracle.Execute(sql);
if (!oRs.EoF) {
res_ruimtemodel_params.show.buttons.unshift(
{ "title": L("res_ruimte_sync"), "tooltip": L("res_ruimte_sync_hint"), "id": "sync_outlook", "singlepress": true, "action": "sync_outlook", "icon": "fa-cloud-arrow-up" }
);
}
oRs.Close();
}
oRs.Close();
}
scaffolding(res_ruimtemodel, res_ruimtemodel_params);

View File

@@ -138,7 +138,8 @@ DOCTYPE_Disable = 1;
}
else
{ // Fouten blijken als PNG terug te komen
Response.contenttype = "image/png";
var ctype = String(objXMLHTTP.getResponseHeader("Content-Type"));
Response.contenttype = ctype;
Response.BinaryWrite(objXMLHTTP.responseBody);
//Response.End;

View File

@@ -222,9 +222,21 @@ for (var i = 0; i < ingesloten.length; i++)
var err = Oracle.Execute(insIns.sql, true);
}
}
// Het inspectierecord (ins_deelsrtcontrole) verwijderen.
Oracle.Execute("DELETE FROM ins_deelsrtcontrole"
+ " WHERE ins_deel_key = " + ingesloten[i].ins_key
+ " AND ins_srtcontrole_key = " + ingesloten[i].srtcont_key
+ " AND ins_scenario_key = " + scen_key);
if ((i % 100) == 99) // Modulus. Bij elke 100 committen.
{
Oracle.Commit();
Oracle.Transaction();
}
}
// Nu nog het scenario verwijderen.
// Een scenario gooit via de cascade zijn ins_deelsrtcontrole en ins_srtcontroledl_xcp records mee weg.
// Een scenario gooit via de cascade zijn ins_deelsrtcontrole en ins_srtcontroledl_xcp records mee weg. Maar die zijn al verwijderd.
Oracle.Execute("DELETE FROM ins_scenario WHERE ins_scenario_key = " + scen_key);
Oracle.Commit();

View File

@@ -359,7 +359,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
$("#btn_new").hide();
$("#mjbnewmld").show();
FcltMgr.resized(window);
//$("#mld_key").val(-1); // Nieuwe melding => mld_key waarde -1 geven.
$("#mld_key").val(-1); // Nieuwe melding => mld_key waarde -1 geven.
$("#mld_key_show").removeClass("required");
$("#mjbsubject").addClass("required");
$("#stdm_show").addClass("required");

View File

@@ -235,10 +235,13 @@ user.anything_todo_or_abort(((hasReadCTRUSE || hasReadCTRBOF) && scen_key == 1)
if (S("mjb_start_year") >= start_year)
start_year = S("mjb_start_year");
if (mode != 2)
if (mode == 1)
{ %>
<input type="hidden" name="fromyear" value="<%=start_year%>">
<% }
//else if (mode == 2) // FCLTselector verderop.
//else if (mode == 3) // Dan wordt door mjb_search_list.asp altijd het freeze jaar genomen.
RWFIELDTR("deel", "fld", L("lcl_obj_identification"), deel, { trclass: "primsearch", datatype: "text" });
FCLTplaatsselector(authparamsINSUSE.ALGreadlevel,
{ regiokey: reg_key,
@@ -263,7 +266,7 @@ user.anything_todo_or_abort(((hasReadCTRUSE || hasReadCTRBOF) && scen_key == 1)
module: "INS",
filtercode: "I", // alleen disciplines met inspecties
perslidKey: user_key,
autfunctionKey: authparamsINSUSE.ALGreadlevel,
autfunctionKey: authparamsINSUSE.autfunctionkey,
autRW: "R",
onChange: "onChangeDiscipline", // disgroepChanged
multitoggle: true,
@@ -595,6 +598,7 @@ user.anything_todo_or_abort(((hasReadCTRUSE || hasReadCTRBOF) && scen_key == 1)
label: L("lcl_mjb_fromyear")
});
}
//else if (mode == 3) // Dan wordt door mjb_search_list.asp altijd het freeze jaar genomen.
RWCHECKBOXTR("incbtw", "fldincbtw", L("lcl_mjb_inclusiefbtw"), incbtw, { html: " value='1' "});
sql = "SELECT 1, " + safe.qL("lcl_district") + ", 1 FROM DUAL"

View File

@@ -82,8 +82,8 @@ var mjb_show_years = S("mjb_show_years");
var groupby = getQParamInt("groupby"); // kan obv filtering nog wijzigen verderop
var fulldetails = (groupby == 9); // Geen aggregate, dan kun je van alles manipuleren
var fromyear = getQParamInt("fromyear", new Date().getFullYear());
var toyear = getQParamInt("toyear", new Date().getFullYear());
var fromyear = (mode == 3)? mjb_freeze_year : getQParamInt("fromyear", new Date().getFullYear());
var toyear = (mode == 3)? mjb_freeze_year : getQParamInt("toyear", new Date().getFullYear());
var deel = getQParam("deel", ""); // Identieficatie
var categorie_key = getQParamInt("categorie_key", -1); // Categorie
@@ -1021,7 +1021,9 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
if (fulldetails)
{
rst.addAction({ action: "mjb_dragdrop", caption: L("lcl_mjb_dragdrop"), multi: true, multiOnce: true, onlyMulti: true });
rst.addAction({ action: "mjb_moveYearBack", caption: L("lcl_mjb_move_back"), multi: true, multiOnce: true, onlyMulti: true });
if (scenario == 1)
// De button "Terugplannen" alleen in de actuele situatie tonen.
rst.addAction({ action: "mjb_moveYearBack", caption: L("lcl_mjb_move_back"), multi: true, multiOnce: true, onlyMulti: true });
}
if (scenario == 1)

View File

@@ -216,7 +216,7 @@ function mjb_dragdrop_1x(evt, ins_key, srtcont_key, scen_key, dlsrtcont_key, sta
}
function mjb_moveYearBack(rowArray, isMulti)
{
{ // Deze functie wordt alleen aangeroepen in de actuele situatie (scenario key is 1) (WOHW#79637).
var ins_key_arr = [];
var srtcont_key_arr = [];
var dlsrtcont_key_arr = [];

View File

@@ -522,12 +522,34 @@ mld = {
oRs.Close();
}
// Objecten verwijderen.
// Als de verwijderde objecten taken hebben, dan moet de status van die taken van "Ter uitvoering(3)" teruggezet worden naar "Gaccepteerd(2)".
sql = " SELECT ins_deel_key"
+ " , ins_deelsrtcontrole_key"
+ " FROM mld_melding_object"
+ " WHERE mld_melding_key = " + mld_key
+ " AND ins_deelsrtcontrole_key IS NOT NULL" // Alleen de objecten met taken.
+ (obj_arr.length != 0
? " AND ins_deel_key NOT IN (" + obj_arr.join(",") + ")" // Uitgezonderd de objecten die niet zijn verwijderd.
: "");
oRs = Oracle.Execute(sql);
while(!oRs.eof)
{ // Status terugzetten van "Ter uitvoering(3)" naar "Gaccepteerd(2)" en geef de bijpassende tracking en notificatie.
// I.p.v. ins.setinspectstatus aan te roepen, roepen we zelf de database procedure aan.
// Dan hoeven we hier het bestand ins.inc niet te includen.
//ins.setinspectstatus(oRs("ins_deelsrtcontrole_key").Value, 2); // Geaccordeerd(2).
var sql = "BEGIN ins.setinspectstatus(" + oRs("ins_deelsrtcontrole_key").Value + ", 2, " + user_key + "); END;"
Oracle.Execute(sql);
oRs.MoveNext();
}
oRs.Close();
// Objecten verwijderen uit de melding.
sql = " DELETE mld_melding_object"
+ " WHERE mld_melding_key = " + mld_key
+ (obj_arr.length != 0
? " AND ins_deel_key NOT IN (" + obj_arr.join(",") + ")"
: "")
: "");
Oracle.Execute(sql);
// Objecten opslaan.
@@ -2659,12 +2681,7 @@ mld = {
+ " , mld_melding_onderwerp"
+ " , mld_melding_datum"
+ " , mld_melding_actiedatum"
+ " , (SELECT fac_tracking_datum"
+ " FROM fac_tracking"
+ " WHERE fac_tracking_refkey = mld_melding_key "
+ " AND fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key"
+ " FROM fac_srtnotificatie"
+ " WHERE fac_srtnotificatie_code = 'MLDAFM')) afmelddatum"
+ " , fac.gettrackingdate('MLDAFM', mld_melding_key) afmelddatum"
+ " , s.mld_ins_discipline_key stdm_ins_discipline_key"
+ " , s.prs_dienst_key"
+ " , m.mld_stdmelding_key"
@@ -5952,7 +5969,7 @@ mld = {
if (mld_key > 0)
{
var sql = "SELECT d.ins_deel_key"
var sql = "SELECT DISTINCT d.ins_deel_key"
+ " , " + element_description + " deel"
+ " , CASE"
+ " WHEN d.ins_deel_t_uitvoertijd.eenheid = 'U'"

View File

@@ -63,7 +63,9 @@ if (!mld_info.parent_key && (stdm_info.doublecheck == 2 || stdm_info.doublecheck
// else if (stdm_info.alg_onrgoed_niveau == "L")
// var where_alg = "org.alg_locatie_key = " + mld_info.loc_key;
else if (stdm_info.alg_onrgoed_niveau == "L")
where_alg = "m.mld_alg_locatie_key = " + mld_info.loc_key;
var where_alg = "m.mld_alg_locatie_key = " + mld_info.loc_key;
else // stdm_info.alg_onrgoed_niveau == null
var where_alg = "1=1"
var where_obj = "";
@@ -76,6 +78,7 @@ if (!mld_info.parent_key && (stdm_info.doublecheck == 2 || stdm_info.doublecheck
{ // Haal de key van dit ene object op.
where_obj = " OR mo.ins_deel_key = " + oRs("ins_deel_key").value;
}
oRs.Close();
sql = "SELECT DISTINCT m.mld_melding_key"
+ " FROM mld_melding m"
@@ -93,6 +96,7 @@ if (!mld_info.parent_key && (stdm_info.doublecheck == 2 || stdm_info.doublecheck
{ // Er is mogelijk een dubbele melding aanwezig
result.maybeDouble = true;
}
oRs.Close();
}
Response.Write(JSON.stringify(result));

View File

@@ -5,6 +5,7 @@
File: mld_edit_melding.js
*/
var finishBeforeSubmit = [];
function isGoodInteger(str)
{
var anum=/(^\d+$)/
@@ -133,6 +134,8 @@ async function mld_submit()
$("form[name=u2] input.expression:hidden").val("");
$('#r_objs>option').prop("selected", "true"); // Zet selected zodat verplicht ze ziet en zodat waarden worden gesubmit
await Promise.all(finishBeforeSubmit);
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
if (!await validateForm("u2"))
return false;
@@ -186,11 +189,18 @@ function loadKenmerk()
+ (copy? "&copy=1" : "")
+ (mld_key > 0 && !canFlexChange? "&reado=1" : "")
+ "&prs_key=" + prs_key;
$.get(s, data => {
flexReloaded(data);
if (copy)
make_attachments_readonly();
});
finishBeforeSubmit.push(
new Promise((resolve, reject) => {
$.when($.get(s, async data => {
flexReloaded(data);
if (copy)
make_attachments_readonly();
resolve();
}).fail(() => {
reject();
}));
})
);
}
function setReferentie(kanverwijzen)
@@ -1190,7 +1200,7 @@ function onChangeStdMelding(stdmelding_key, txt, params)
$("#req_r_objs,#r_objs,#r_objs_button,#r_objs option,#r_objs_show").removeClass("required");
_toggleObjects(false);
}
if (!params.init && !params.copy) {loadKenmerk();} // Bij initialisatie (initOnChange) niet de kenmerken herladen anders worden de waarden gewist.
if (!params.init && !params.copy) { loadKenmerk(); } // Bij initialisatie (initOnChange) niet de kenmerken herladen anders worden de waarden gewist.
}
function _hasObjects() {

View File

@@ -608,8 +608,10 @@ if (savemode)
{
if (alg_onroerendgoed_keys > 0)
newsql = "SELECT alg_plaatsaanduiding FROM alg_v_plaatsaanduiding_all WHERE alg_onroerendgoed_keys = " + alg_onroerendgoed_keys;
else
else if (locatiekey > 0)
newsql = "SELECT alg_locatie_code FROM alg_locatie WHERE alg_locatie_key = " + locatiekey;
else
newsql = "SELECT '' FROM DUAL";
var og_key = mldUpd.oldjsvals["mld_alg_onroerendgoed_keys"];
var loc_key = mldUpd.oldjsvals["mld_alg_locatie_key"];
if (og_key>0)

View File

@@ -45,13 +45,45 @@ if (opmerk)
// Er zijn alleen opdrachten met de status Afgemeld/Technisch voltooid(6), dus geen open opdrachten.
// Dan zetten we de Melding hier terug naar Geaccepteerd(4), zodat die bij de FO weer onder Inbehandeling valt.
// Dat is dan status Niet opgelost(99).
mld.setmeldingstatus(mld_key, 4); // Zorgt er ook voor dat de MLDAFM tracking wordt omgezet naar een MLDUPD tracking.
// BLCC#79069: Niet via "mld.setmeldingstatus(mld_key, 4);" De status op 4 zetten. Anders kans dat er 2x moet worden afgemeld.
var mld_key_arr = [];
var sql = "SELECT mld_melding_key"
+ " FROM mld_melding "
+ " WHERE mld_melding_key = " + mld_key
+ " OR mld_melding_parentkey = " + mld_key; // De statussen van de childmeldingen synchroon laten lopen aan die van de parent.
oRs = Oracle.Execute(sql);
while (!oRs.eof)
{
mld_key_arr.push(oRs("mld_melding_key").Value);
oRs.MoveNext();
}
oRs.Close();
// Indien het heropen niet goed is gegaan, dan een warning geven.
sql = "UPDATE mld_melding"
+ " SET mld_melding_status = 4"
+ " WHERE mld_melding_key IN (" + mld_key_arr.join(",") + ")";
Oracle.Execute(sql);
// De MLDAFM trackingen omzetten in een MLDUPD tracking. De tekst (fac_srtnotificatie_oms) blijft hetzelfde.
sql = "UPDATE fac_tracking"
+ " SET fac_srtnotificatie_key = ((SELECT fac_srtnotificatie_key"
+ " FROM fac_srtnotificatie tr"
+ " WHERE fac_srtnotificatie_code = 'MLDUPD'))"
+ " , fac_tracking_oms = lcl.l('lcl_mld_is_mldafm')"
+ " WHERE fac_tracking_refkey IN (" + mld_key_arr.join(",") + ")"
+ " AND fac_srtnotificatie_key = ((SELECT sn.fac_srtnotificatie_key"
+ " FROM fac_srtnotificatie sn"
+ " WHERE sn.fac_srtnotificatie_code = 'MLDAFM'))";
Oracle.Execute(sql);
// Een extra heropenen tracking toevoegen.
for (var i = 0; i < mld_key_arr.length; i++)
mld.trackmeldingupdate(mld_key_arr[i], L("lcl_mld_reopen_done"));
// Indien het heropenen niet goed is gegaan, dan een warning geven. Alleen de parent controleren.
sql = "SELECT ''"
+ " FROM mld_melding"
+ " WHERE mld_melding_key = " + mld_key
+ " WHERE mld_melding_key = " + mld_key_arr[0]
+ " AND mld_melding_status = 4";
oRs = Oracle.Execute(sql);
if (oRs.eof)

View File

@@ -359,7 +359,7 @@ SUBFRAME_START();
modal: true,
width: "auto",
resizable: false,
position: { my: "center", at: "center", of: window },
position: { my: "center top", at: "center bottom", of: ".fcltframeheader" },
close: function()
{
if (FcltMgr.detailManager()._editactive && FcltMgr._panelModalHot)

View File

@@ -98,7 +98,7 @@ var JSON_Result = true;
fields.pop();
}
var nkey = req.sequences["fac_nieuws_key"];
move_new_bb_files("MSG", nkey);
move_new_bb_files("MSG", nkey, getFParamStringArray("bb_files", []));
result = {success: true, nieuws_key: nkey, close: false, keepForm: !!warning, warning: warning};
} else {
//update van bestaand portalitem (1 vernieuwd portalitem)

View File

@@ -695,7 +695,7 @@ var canAdd = addparams && addparams.ALGwritelevel;
+ (actiecode & 2 ? "<span class='ac2'>" + I("fa-user-circle", { fastyle: "fas" }) + "&nbsp;" + L("lcl_mld_actiecodeFE") + "</span>" : "")
+ (oRs("melder").Value != oRs("behandelaar").Value || actiecode & 128 || actiecode & 2 ? "<br>" : "")
+ (oRs("plaatsmelding").Value? I("fa-map-marker") + "&nbsp;" + safe.html(oRs("plaatsmelding").Value) + "<br>" : "")
+ (oRs("mld_stdmelding_planbaar").Value&2 != 2
+ ((oRs("mld_stdmelding_planbaar").Value&2) != 2
? I("fa-clock") + "&nbsp;" + toDateTimeString(oRs("mld_melding_einddatum").Value, false, false, true) + "<br>"
: ""
)

View File

@@ -692,28 +692,24 @@ FCLTHeader.Requires({ plugins: ["kenmerk"], css: [rooturl+"/appl/res/res.css"] }
}
// Maak een mooie header als er een foto is, met de beschrijving er overheen
if (foto) {
var url, descr;
if (!foto.match(/^http/)) {
url = S("res_image_path");
if (RuimteMode) {
descr = res_ruimte_nr;
} else if (DeelMode) {
url += "deel/";
descr = res_deel_omschrijving;
} else if (ArtikelMode) {
url += "artikel/";
descr = res_deel_omschrijving;
}
url += foto;
var headerImageUrl;
if (foto && !foto.match(/^http/)) {
var module;
if (RuimteMode) {
module = "RESPHR";
} else if (DeelMode) {
module = "RESPHD";
} else if (ArtikelMode) {
module = "RESPHA";
}
headerImageUrl = flexProps(module).RelativePath + foto;
var fso = new ActiveXObject("Scripting.FileSystemObject");
if (url && fso.FileExists(Server.MapPath(url))) {
if (fso.FileExists(Server.MapPath(headerImageUrl))) {
var hasImageHeader = true;
}
}
PAGE_START({pclass: (nubezet ? "pbezet" : "pvrij"), headerImage: url });
PAGE_START({pclass: (nubezet ? "pbezet" : "pvrij"), headerImage: headerImageUrl });
HEADER ({title: RuimteMode ? res_ruimte_nr : res_deel_omschrijving, back:!qrc, home: !qrc});
CONTENT_START({pclass: (nubezet ? "dbezet" : "dvrij") });
%> <form id="resform" name="resform" action="reserveringen.asp?submit=1<%=transitParam%>" method="post"><%
@@ -808,13 +804,18 @@ FCLTHeader.Requires({ plugins: ["kenmerk"], css: [rooturl+"/appl/res/res.css"] }
var myres_rsv_ruimte_key = getQParamInt("res_rsv_ruimte_key", -1);
if (myres_rsv_ruimte_key > 0) { // Altijd?
sql_vt = "SELECT res_rsv_ruimte_van, res_rsv_ruimte_tot FROM res_rsv_ruimte WHERE res_rsv_ruimte_key = " + myres_rsv_ruimte_key;
sql_vt = "SELECT res_rsv_ruimte_van"
+ " , res_rsv_ruimte_tot"
+ " , res_reservering_key"
+ " , res_rsv_ruimte_volgnr"
+ " FROM res_rsv_ruimte"
+ " WHERE res_rsv_ruimte_key = " + myres_rsv_ruimte_key;
oRs_vt = Oracle.Execute(sql_vt);
var mystart = oRs_vt("res_rsv_ruimte_van").Value;
var myend = oRs_vt("res_rsv_ruimte_tot").Value;
oRs_vt.Close();
myres_reservering_nrs = [myres_rsv_ruimte_key];
myres_reservering_nrs = [oRs_vt("res_reservering_key").Value + "/" + oRs_vt("res_rsv_ruimte_volgnr").Value];
myres = true;
oRs_vt.Close();
}
}
@@ -849,7 +850,7 @@ FCLTHeader.Requires({ plugins: ["kenmerk"], css: [rooturl+"/appl/res/res.css"] }
bezet_key: <%=oRs_pers("host_key").Value%>,
res_deel_key: <%=(RuimteMode ? "null" : oRs_pers("res_deel_key").Value)%>,
res_rsv_ruimte_key: <%=oRs_pers("res_rsv_ruimte_key").Value%>,
res_reservering_nr: "<%=oRs_pers("res_reservering_key").Value+"/"+oRs_pers("res_rsv_ruimte_volgnr").Value%>",
res_reservering_nr: "<%=oRs_pers("res_reservering_key").Value + "/" + oRs_pers("res_rsv_ruimte_volgnr").Value%>",
resvan: new Date(<%=van.getTime()%>),
restot: new Date(<%=tot.getTime()%>)
});
@@ -909,7 +910,7 @@ FCLTHeader.Requires({ plugins: ["kenmerk"], css: [rooturl+"/appl/res/res.css"] }
FCLTpersoonselector("person",
"sgPerson",
{ label: L("lcl_res_reserve_for"),
perslidKey: S("res_fo_default_user") ? user_key : -1,
perslidKey: !authRES.canWrite("WEB_RESFOF") || S("res_fo_default_user") ? user_key : -1,
autlevel: authRES._funcodes["WEB_RESFOF"] && authRES._funcodes["WEB_RESFOF"].PRSwritelevel,
required: true,
hidden: !authRES.canWrite("WEB_RESFOF"),

View File

@@ -93,9 +93,9 @@ else
var username = oRs("prs_bedrijfadres_username").Value;
var password = oRs("prs_bedrijfadres_password").Value;
var authmethod = oRs("prs_bedrijfadres_authmethod").Value;
var token_url = oRs('prs_bedrijfadres_oa_token_url').value;
var oa_scope = oRs('prs_bedrijfadres_oa_scope').value;
var oa_resource = oRs('prs_bedrijfadres_oa_resource').value;
var token_url = oRs('prs_bedrijfadres_oa_token_url').Value;
var oa_scope = oRs('prs_bedrijfadres_oa_scope').Value;
var oa_resource = oRs('prs_bedrijfadres_oa_resource').Value;
var prs_ordermode = oRs("prs_bedrijfadres_ordermode").Value;
var soapversion = oRs("prs_bedrijfadres_soapversion").Value;
var soapaction = oRs("prs_bedrijfadres_soapaction").Value;
@@ -111,8 +111,8 @@ else
var flexfiles = oRs("prs_bedrijfadres_flexfiles").Value;
var encoding = oRs("prs_bedrijfadres_encoding").Value;
var charset = oRs("prs_bedrijfadres_charset").Value;
var plugin = oRs('prs_bedrijfadres_plugin').value;
var plugindata = oRs('prs_bedrijfadres_plugindata').value;
var plugin = oRs('prs_bedrijfadres_plugin').Value;
var plugindata = oRs('prs_bedrijfadres_plugindata').Value;
oRs.Close();
}
@@ -262,7 +262,7 @@ else
RWFIELDTR("locksecret", "fld", L("lcl_prs_bedrijfadres_locksecret"), locksecret);
RWFIELDTR("lockexpire", "fld", L("lcl_prs_bedrijfadres_lockexpire"), lockexpire, {datatype: "number" });
RWFIELDTR("loglevel", "fldshort", L("lcl_prs_bedrijfadres_loglevel"), loglevel, {required: true});
FILEPICKERTR("bijlage", L("lcl_prs_bedrijfadres_bijlage"), bijlage, { "key": badr_key, "module": "BDRADR" });
FILEPICKERTR("bijlage", L("lcl_prs_bedrijfadres_bijlage"), bijlage, { "key": badr_key, "module": "BDRADR", "icon": "fa-file-lines", "defaultValue": L("lcl_prs_bedrijfadres_bijlage") });
BLOCK_END();
// De andere kant van de configuratie

View File

@@ -245,7 +245,7 @@ if (prs_key > 0) // Fotoblokje alleen bij bestaande records
+ " SELECT 9, "+safe.quoted_sql(L("lcl_prs_person_geslachtX"))+" FROM DUAL";
FCLTselector("prs_geslacht", sql,
{ label: L("lcl_prs_person_geslacht"),
initKey: prs_geslacht,
initKey: prs_key > -1? prs_geslacht : null, // Bij een nieuwe melding dan moet de eerste ("Onbekend") genomen worden.
emptyKey: "",
emptyOption: L("lcl_prs_person_geslachtO"),
readonly: !prsauthparams.writeman,

View File

@@ -806,14 +806,17 @@ res = {
+ " , r.res_rsv_ruimte_externnr" // Ruimte-event-id
+ " , r.res_rsv_ruimte_externnr2" // Organisator-event-id
+ " , r.res_rsv_ruimte_externsyncdate" // sync (export) datum
+ " , DECODE(p.prs_perslid_oslogin, '_MSGRAPH_FALLBACK_ROOMS', 1, '_MSGRAPH_FALLBACK_UNKNOWN', 1, 0) fallback_host" // Deze zijn niet in Facilitor wijzigbaar
+ " , ra.res_activiteit_notfrontend"
+ " , ra.res_activiteit_meteindtijd"
+ " , ra.res_activiteit_ismaster"
+ " , ra.res_activiteit_master_key"
+ " FROM res_rsv_ruimte r,"
+ " res_activiteit ra"
+ " res_activiteit ra,"
+ " prs_perslid p"
+ " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key
+ " AND r.res_activiteit_key = ra.res_activiteit_key";
+ " AND r.res_activiteit_key = ra.res_activiteit_key"
+ " AND r.res_rsv_ruimte_host_key = p.prs_perslid_key(+)";
var roRs = Oracle.Execute(sql);
if (roRs.EOF) // vanuit API2 niet bestaande id
return null;
@@ -837,6 +840,7 @@ res = {
var met_eindtijd = roRs("res_activiteit_meteindtijd").Value == 1;
var rsv_ruimte_externnr = roRs("res_rsv_ruimte_externnr").Value;
var rsv_ruimte_externnr2 = roRs("res_rsv_ruimte_externnr2").Value;
var fallback_host = roRs("fallback_host").Value == 1;
var rsv_ruimte_externsyncdate = roRs("res_rsv_ruimte_externsyncdate").Value;
// Bepaal discipline parkeerplaatsen voor reserveringen. Deze moet uitgesloten worden voor de autorisatie controle.
@@ -1113,6 +1117,7 @@ res = {
rsv_ruimte_externnr2 == null &&
rsv_ruimte_externsyncdate != null)) // Deze reservering is vanuit Facilitor ge-initieerd (vanuit Outlook is de externsyncdate niet gevuld)
|| (S("msgraph_sync_level") & 4); // We hebben schrijfrechten op alle gebruikers
rresult.canWriteExtern = rresult.canWriteExtern && !fallback_host; // Deze mag niet in Facilitor gewijzigd worden.
// -- CONTROLE SCHRIJFRECHTEN --
// Je moet tenminste schrijfrechten hebben

View File

@@ -264,8 +264,10 @@ var authparams = user.checkAutorisation(autfunction)
var $this = $(this);
var $labelgrid = $this.parent().prevAll("div.labelgrid").first();
$this.removeClass("bad");
var value = parseInt($this.val(), 10);
var max = parseInt($this.attr("max"), 10);
if ($("input[type=checkbox]", $labelgrid).prop("checked") &&
($this.val() > $this.attr("max") || $this.val() < $this.attr("min")))
(value > max || value < 0))
{
$this.addClass("bad");
returnValue = false;

View File

@@ -136,7 +136,7 @@ if (!isNew)
onlineProviderChanged = true;
if (hasFParam("descript") && getFParam("descript", "") != res_oms_old)
omsChanged = true;
if (hasFParam("opmerk") && getFParam("opmerk", "") != res_opm_old)
if (hasFParam("opmerk") && getFParam("opmerk", "") != (res_opm_old || ""))
opmChanged = true;
var sql = "SELECT COUNT(*)"
@@ -639,7 +639,7 @@ if (isNew) // Nieuw, dan moeten we ook nog een res_reservering record aanmaken
// CV kan nog niet echt dirty zijn? Jawel, als je planbord lang laat staan
// dirty is te forceren door nodirty mee te submitten
var check_fail_sql = "";
if (getFParamInt("nodirty",0) == 1 || (S("res_fe_allow_dirty") != 1 && urole == 'fe'))
if (getFParamInt("nodirty",0) == 1 || (S("res_fe_allow_dirty") != 1 && urole == 'fe') || extern_id) // Ook Externe reserveringen mogen niet dirty worden
{
check_fail_sql = " if res.dirty_level_all(" + rsv_ruimte_key + ") <> 0 then"
+ " raise_application_error (-20001, " + safe.qL("lcl_res_fe_no_dirty") + ");"

View File

@@ -2392,6 +2392,12 @@ function res_list (pautfunction, params)
return ((oRs("categorie").value != "R")? safe.html(oRs("res_voorziening").value) + c_flex : "");
}
function fnrowNrObject(oRs)
{
var c_flex = getFlexArticle(oRs);
return ((oRs("categorie").value != "R")? (oRs("aantal").Value? oRs("aantal").Value + " * " : "") + safe.html(oRs("res_voorziening").value) + c_flex : "");
}
function fnrowConfiguration(oRs)
{ // Print.
var isDefault = true;
@@ -2606,15 +2612,18 @@ function res_list (pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_resnr"), content: fnrowResNr, colName: "fnrowResNr", customSort: fncustomSort}));
rst.addColumn(new Column({caption: L("lcl_res_pers_n"), content: fnrowVisitors, colName: "fnrowVisitors"}));
// Aparte kolommen voor opstelling en aantal/voorzieningen.
rst.addColumn(new Column({caption: L("lcl_res_opstelling"), content: fnrowOpstelling, colName: "fnrowOpstelling", keepKeyRepeat: true}));
if (excel)
{ // Aparte kolommen voor aantal/config en aantal/voorzieningen
rst.addColumn(new Column({caption: L("lcl_res_opstelling"), content: fnrowOpstelling, colName: "fnrowOpstelling"}));
{
if (groupres != 1)
rst.addColumn(new Column({caption: L("lcl_res_aantalvoorziening"), content: "aantal", datatype: "number"}));
rst.addColumn(new Column({caption: L("lcl_reserved_object"), content: fnrowObject, colName: "fnrowObject"}));
}
else
rst.addColumn(new Column({caption: L("lcl_config_instance"), content: fnrowConfiguration, colName: "fnrowConfiguration", colText: L("lcl_res_opstelling"), keepKeyRepeat: true}));
else if (groupres != 1)
rst.addColumn(new Column({caption: L("lcl_reserved_object"), content: fnrowNrObject, colName: "fnrowNrObject", combine: true, keepKeyRepeat: true}));
if (S("res_allow_for_others") && S("res_bo_show_host") == 1)
rst.addColumn(new Column({caption: L("lcl_host"), content: "gastheer"}));
rst.addColumn(new Column({caption: L("lcl_res_requestor"), content: "aanvrager"}));

View File

@@ -154,11 +154,12 @@ else
{
var bTimeChanged = old_van.getHours() != new_van.getHours() || old_van.getMinutes() != new_van.getMinutes();
}
if (!this_res.canChange)
badmsg = L("lcl_res_no_auth_change"); // "Geen autorisatie voor het wijzigen van de ruimte";
else if (!can_reserve_newroom)
badmsg = L("lcl_res_select_diff_room"); // "Er moet wel een andere ruimte gekozen worden dan de huidige waarde";
else if (hours_new_van < S("res_t1") || hours_new_tot > S("res_t2"))
else if (bTimeChanged && (hours_new_van < S("res_t1") || hours_new_tot > S("res_t2")))
badmsg = L("lcl_res_time_out_limit"); // "De gekozen tijd valt buiten de grenzen";
else if (!bTimeChanged && old_ruimte_key == new_ruimte_key)
badmsg = L("lcl_res_no_changes"); // "Geen aanpassingen";

View File

@@ -323,6 +323,12 @@ function scaffolding_search(model, scf_params)
<form name="u2" method="get" target="workFrame" onsubmit="doSubmit()">
<%
var defaults = shared.qs2json(model); // TODO: Ook via scf_params
if (!("fcltfilters" in scf_params)) {
scf_params.fcltfilters = shared.qs2json(model, true);
if (!isEmptyObject(scf_params.fcltfilters)) {
Response.Write("<script>var fcltfilters = '" + safe.jsstring(JSON.stringify(scf_params.fcltfilters)) + "';</script>");
}
}
for (var fld in model.fields)
{

View File

@@ -29,7 +29,7 @@ function bijlagen(autfunction, label, module, reado, imp_exp_key)
{
if (xfunc.canWrite(autfunction))
{
var url = "../shared/BijlagenForm.asp?key=0&module=" + module + transitParam;
var url = "../shared/BijlagenForm.asp?showall=1&module=" + module + transitParam;
if (reado)
url += "&reado=1";
if (imp_exp_key)
@@ -67,6 +67,7 @@ if (!groep || user.has("WEB_PRSSYS"))
bijlagen("WEB_PRSSYS", "Locatie foto's", "ALGPHL");
bijlagen("WEB_PRSSYS", "Gebouw foto's", "ALGPHG");
bijlagen("WEB_PRSSYS", "Terrein foto's", "ALGPHT");
bijlagen("WEB_PRSSYS", "Opdrachtverstrekking bijlagen", "BDRADR");
bijlagen("WEB_PRSSYS", "Bestelartikel catalogus symbolen", "BESD");
bijlagen("WEB_PRSSYS", "Bestelartikel plaatjes", "BESPH");
bijlagen("WEB_PRSSYS", "Budgetprojecten symbolen", "BGTD");
@@ -88,7 +89,7 @@ if (!groep || user.has("WEB_PRSSYS"))
bijlagen("WEB_PRSSYS", "Melding plaatjes", "MLDS");
bijlagen("WEB_PRSSYS", "Marktplaats foto's", "MRK");
bijlagen("WEB_PRSSYS", "Menu plaatjes", "MENU");
bijlagen("WEB_PRSSYS", "Opdrachtverstrekking bijlagen", "BDRADR");
bijlagen("WEB_PRSSYS", "Styling plaatjes", "STYLE");
BLOCK_END();
}

View File

@@ -30,6 +30,7 @@
*/
var pKey = getQParamInt("key", -1);
var pModule = getQParamSafe("module");
var showall = getQParamInt("showall", 0) == 1;
var imp_exp_key = getQParamInt("imp_exp_key", -1);
var pNiveau = getQParamSafe("niveau", "");
var pTmpfolder = getQParam("tmpfolder", "");
@@ -64,7 +65,7 @@ var showFilter = getFParam("showFilter", ""); // zoek mogelijkheid binnen lijst
var pAlgLevel = getQParam("kenmerk_module", "");
var transitParam = buildTransitParam(["key", "module", "niveau", "kenmerk_key", "encrypt", "extFilter", "pregexp",
"showFilter", "reado", "multi", "tmpfolder", "kenmerk_module", "itm",
"showFilter", "reado", "multi", "tmpfolder", "kenmerk_module",
"zipfile", "autozipfile", "candelete", "imp_exp_key"]);
// Sorteer afhankelijk van de setting S("flexFilesOrdering") twee FileToAdd record's
@@ -89,7 +90,7 @@ var transitParam = buildTransitParam(["key", "module", "niveau", "kenmerk_key",
return 0;
}
params = flexProps(pModule, pKey === -1 ? getQParam("newfilename", getQParam("itm", "")) : pKey, String(pKenmerk_key), pNiveau, {getFiles: true, alglevel: pAlgLevel, imp_exp_key: imp_exp_key});
params = flexProps(pModule, pKey === -1 ? getQParam("newfilename", "") : pKey, String(pKenmerk_key), pNiveau, {getFiles: true, showall: showall, alglevel: pAlgLevel, imp_exp_key: imp_exp_key});
//var pregexp = getQParam("pregexp", null);
var default_afmeting = (params.regexp ? params.regexp.substr(1) : "");
@@ -349,6 +350,7 @@ __Log("Zoeken bestanden onder " + params.AttachPath);
type: $form.attr("method"),
data: ajaxData,
cache: false,
contentType: false,
processData: false,
success: FcltCallbackAndThen(uploadDone)
});
@@ -489,7 +491,7 @@ __Log("Zoeken bestanden onder " + params.AttachPath);
FcltMgr.topmanager().window.$.toast({ loaderBg: "#fff", text: L("lcl_appendix_added").format(safe.html(uploaded_files[i])), icon: "success", position: "top-center"});
}
let extraTransitParam = "";
<% if (pKey === -1 && "linkImmediate" in params && !params.multi || pModule === "STYLE") { %>
<% if (pKey === -1 && "linkImmediate" in params && !params.multi) { %>
extraTransitParam = "&newfilename=" + encodeURIComponent(uploaded_files[0].replace(/\.dwf$/, ""));
<% } %>
window.location = "<%=protectQS.create("BijlagenForm.asp?x=x" + transitParam)%>" + extraTransitParam;
@@ -501,41 +503,20 @@ __Log("Zoeken bestanden onder " + params.AttachPath);
{
FcltMgr.alert(L("lcl_busy_upload_file"));
}
if (defVal) {
new Promise((resolve, reject) => {
<% if (fileArray.length) { %>
var fileName = "<%=safe.jsstring(fileArray[0].name)%>";
var deleteUrl = "<%=safe.jsstring(protectQS.create("Bijlagenform_delete.asp?DoDelete=" + Server.URLEncode(fileArray[0].name) + transitParam))%>";
FcltMgr.confirm(L("lcl_delete") + " " + fileName + "?", { "fncancel": function () { return resolve({ "success": false }); } }, function() {
var data = {};
protectRequest.dataToken(data);
resolve($.post(
deleteUrl,
data
));
});
<% } else { %>
resolve({ "success": true });
<% } %>
}).then((json) => {
if (json && json.success) {
window.return_data.org_data = FcltMgr.dialogArguments();
window.return_data.fileName = defVal;
FcltMgr.closeDetail(window, return_data);
}
});
} else {
var unUploadedFiles = (looseFiles.length ? looseFiles.length : (document.forms.u2.imgfile ? document.forms.u2.imgfile.files.length : 0));
FcltMgr.confirm(L("lcl_shared_unfinished_uploads"),
{ autoconfirm: !unUploadedFiles,
fncancel: function() { /* geen actie bij confirm=cancel */ }
},
function()
{
window.return_data.org_data=FcltMgr.dialogArguments();
FcltMgr.closeDetail(window, return_data);
});
}
var unUploadedFiles = (looseFiles.length ? looseFiles.length : (document.forms.u2.imgfile ? document.forms.u2.imgfile.files.length : 0));
FcltMgr.confirm(L("lcl_shared_unfinished_uploads"),
{ autoconfirm: !unUploadedFiles,
fncancel: function() { /* geen actie bij confirm=cancel */ }
},
function()
{
window.return_data.org_data=FcltMgr.dialogArguments();
if (defVal) {
window.return_data.fileName = defVal;
delete window.return_data.multi;
}
FcltMgr.closeDetail(window, return_data);
});
}
</script>

View File

@@ -51,14 +51,6 @@ if (pDoDelete === "" && "linkImmediate" in params) {
}
}
if (pModule === "STYLE") {
if (pDoDelete === "## grijstint ##" || pDoDelete === "## transparant ##") {
Response.Write(JSON.stringify({ "success": true }));
ASPPAGE_END();
Response.End();
}
}
result = { success: true, toaster: L("lcl_appendix_removed").format(safe.html(pDoDelete))};
if (pDoDelete != "")

View File

@@ -329,9 +329,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.multi = true;
result.searchfile = true;
result.extFilter = "dwf";
if (!result.multi && typeof pKey === "string") {
params.filter = "^" + safe.regexp(pKey) + ".dwf$";
}
break;
case "FGIIV": // Vluchtplannen
result.AttachRootPath = S("flexfilespath") + "/cad/vlucht/";
@@ -348,9 +345,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
"key_col" : "ins_srtdeel_key",
"link_col" : "ins_srtdeel_acadsymbol"
}
if (typeof pKey === "string") {
params.filter = "^" + safe.regexp(pKey) + ".dwf$";
}
break;
case "FGIIP":
result.AttachRootPath = S("flexfilespath") + "/cad/prj/";
@@ -388,9 +382,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("ins_photo_size");
result.directlink = true;
result.linkImmediate = "ins_srtdeel";
if (typeof pKey === "string") {
params.filter = "^" + safe.regexp(pKey) + "$";
}
break;
case "BESD": // bes_discipline symbolen
result.AttachRootPath = Server.MapPath(S("besd_image_path"));
@@ -400,9 +391,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("bes_photo_size");
result.directlink = true;
result.linkImmediate = "discipline";
if (typeof pKey === "string") {
params.filter = safe.regexp(pKey);
}
break;
case "BGTD": // bgt_discipline symbolen
result.AttachRootPath = Server.MapPath(S("bgtd_image_path"));
@@ -412,9 +400,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("bgt_photo_size");
result.directlink = true;
result.linkImmediate = "discipline";
if (typeof pKey === "string") {
params.filter = safe.regexp(pKey);
}
break;
case "INSD": // ins_discipline symbolen
result.AttachRootPath = Server.MapPath(S("insd_image_path"));
@@ -424,9 +409,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("ins_photo_size");
result.directlink = true;
result.linkImmediate = "discipline";
if (typeof pKey === "string") {
params.filter = safe.regexp(pKey);
}
break;
case "CNTD": // cnt_discipline symbolen
result.AttachRootPath = Server.MapPath(S("cntd_image_path"));
@@ -436,9 +418,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("cnt_photo_size");
result.directlink = true;
result.linkImmediate = "discipline";
if (typeof pKey === "string") {
params.filter = safe.regexp(pKey);
}
break;
case "RESD": // ins_discipline symbolen
result.AttachRootPath = Server.MapPath(S("resd_image_path"));
@@ -448,9 +427,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("res_photo_size");
result.directlink = true;
result.linkImmediate = "discipline";
if (typeof pKey === "string") {
params.filter = safe.regexp(pKey);
}
break;
case "MLDS": // Stdmelding symbolen
result.AttachRootPath = Server.MapPath(S("mlds_image_path"));
@@ -460,9 +436,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("mld_photo_size");
result.directlink = true;
result.linkImmediate = "mld_stdmelding";
if (typeof pKey === "string") {
params.filter = safe.regexp(pKey);
}
break;
case "MLDG": // Meldinggroep symbolen
result.AttachRootPath = Server.MapPath(S("mldg_image_path"));
@@ -472,9 +445,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("mld_photo_size");
result.directlink = true;
result.linkImmediate = "mld_stdmeldinggroep";
if (typeof pKey === "string") {
params.filter = safe.regexp(pKey);
}
break;
case "MLDD": // mld_discipline symbolen
result.AttachRootPath = Server.MapPath(S("mldd_image_path"));
@@ -484,9 +454,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("mld_photo_size");
result.directlink = true;
result.linkImmediate = "discipline";
if (typeof pKey === "string") {
params.filter = safe.regexp(pKey);
}
break;
case "MLDSD": // mld_srtdiscipline symbolen
result.AttachRootPath = Server.MapPath(S("mldsd_image_path"));
@@ -496,9 +463,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("mld_photo_size");
result.directlink = true;
result.linkImmediate = "ins_srtdiscipline";
if (typeof pKey === "string") {
params.filter = safe.regexp(pKey);
}
break;
case "ALG":
case "BES":
@@ -583,9 +547,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.extFilter = S("imgAllowedExt");
result.regexp = S("alg_photo_size");
result.directlink = true;
if (typeof pKey === "string") {
params.filter = "^" + safe.regexp(pKey) + "$";
}
break;
case "RESPHR": /* Reserveerbare Ruimte */
case "RESPHO": /* Opstelling */
@@ -614,10 +575,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.extFilter = S("imgAllowedExt");
result.regexp = S("res_photo_size");
result.directlink = true;
/* result.linkImmediate = "discipline"; TODO */
if (typeof pKey === "string") {
params.filter = "^" + safe.regexp(pKey) + "$";
}
break;
case "MRK":
result.AttachRootPath = Server.MapPath(S("mrk_image_path"));
@@ -654,9 +611,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("ins_photo_size"); // "r200x150", Resized naar binnen 200x150 (zonder crop, met behoud aspect ratio)
result.directlink = true;
result.linkImmediate = "ins_deel";
if (typeof pKey === "string") {
params.filter = "^" + safe.regexp(pKey) + "$";
}
break;
case "MENU":
result.AttachRootPath = Server.MapPath(S("menu_image_path"));
@@ -666,9 +620,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.regexp = S("menu_photo_size");
result.directlink = true;
result.linkImmediate = "fac_menu";
if (typeof pKey === "string") {
params.filter = "^" + safe.regexp(pKey) + "$";
}
break;
case "BDRADR":
result.AttachRootPath = Server.MapPath(S("bdradrfiles_path"));
@@ -676,14 +627,8 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.RelativePath = S("bdradrfiles_path") + "/";
result.extFilter = S("flexExtensionFilter"); // Mag in principe alles zijn
result.directlink = true;
result.linkImmediate = {
"table": "prs_bedrijfadres",
"key_col": "prs_bedrijfadres_key",
"link_col": "prs_bedrijfadres_attachfile"
};
if (typeof pKey === "string") {
params.filter = "^" + safe.regexp(pKey) + "$";
}
result.pickfile = true;
result.multi = true;
break;
case "CUSTXSL":
result.AttachRootPath = Server.MapPath(custpath + "/xsl");
@@ -877,15 +822,8 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.extFilter = S("imgAllowedExt");
result.regexp = S("menu_photo_size");
result.directlink = true;
if (typeof pKey === "string" && pKey in S("csstemplate")) { // Style-variabele-naam, bijv. 'headerimage'
params.filter = "^" + safe.regexp(sharedTrim(S("csstemplate")[pKey])) + "$";
} else if (typeof pKey === "string" && !(pKey in FCLTHeader.defaultTemplate)) { // Bestandsnaam
params.filter = "^" + safe.regexp(sharedTrim(pKey)) + "$";
} else {
params.filter = "$^"; // Matched niets
}
result.pickfile = true;
result.multi = true;
break;
default:
_AiAi("INTERNAL_ERROR, invalid module {0}".format(pModule));
@@ -932,7 +870,10 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
{
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
if (!params.getFile && params.getFiles && "linkImmediate" in result && !result.multi) {
if (params.showall) { // 'Alle bijlagen'
result.pickfile = false;
result.multi = true;
} else if (!params.getFile && params.getFiles && "linkImmediate" in result && !result.multi) {
params.getFiles = false; // Ik wil er eigenlijk altijd maar 1
if (pKey > 0) {
var sql = "SELECT " + result.linkImmediate.link_col
@@ -1556,8 +1497,8 @@ function DeleteFile(fullpath, km_params)
}
// Verplaats nieuwe bb-bijlages
function move_new_bb_files(module, refkey) {
var bb_files = getFParamStringArray("bb_files", []);
function move_new_bb_files(module, refkey, bb_files) {
var bb_files = bb_files || [];
if (bb_files.length) {
var fso = Server.CreateObject("Scripting.FileSystemObject");
var newProps = flexProps(module);

View File

@@ -405,33 +405,36 @@ var shared = {
}
return strval;
},
form2json: function _form2json(model)
form2json: function _form2json(model, transit)
{
return shared._coll2json(model, Request.Form);
return shared._coll2json(model, Request.Form, transit);
},
qs2json: function _qs2json(model)
qs2json: function _qs2json(model, transit)
{
return shared._coll2json(model, Request.QueryString);
return shared._coll2json(model, Request.QueryString, transit);
},
tempFolder: function _tempFolder()
{
return Server.MapPath(rooturl + '/temp/' + customerId);
},
_coll2json: function _coll2json(model, pColl) // Vergelijk ook api2.form2JSONdata die er erg op lijkt
_coll2json: function _coll2json(model, pColl, transit) // Vergelijk ook api2.form2JSONdata die er erg op lijkt
{
var filter = {};
var scf_transit = getQParamArray("scf_transit", []);
for (var i = 1; i <= pColl.Count; i++)
{
var name = pColl.key(i).toLowerCase();
var data = pColl(i);
if (data.Count > 1)
{
filter[name] = [];
for (var j = 1; j <= data.Count; j ++)
filter[name].push(shared._qssafe(model, name, String(data(j))));
if (inArray(name, scf_transit) === !!transit) {
if (data.Count > 1)
{
filter[name] = [];
for (var j = 1; j <= data.Count; j ++)
filter[name].push(shared._qssafe(model, name, String(data(j))));
}
else
filter[name] = shared._qssafe(model, name, String(data));
}
else
filter[name] = shared._qssafe(model, name, String(data));
}
return filter;
},
@@ -1473,13 +1476,13 @@ safe = {
var re = new RegExp(strre, "g");
safehtml = safehtml.replace(re, strnew);
}
if (params.mldlink)
if (params.fcltlinks || params.mldlink)
var safehtml = safe.mldlinkhtml(safehtml);
if (params.cntlink)
if (params.fcltlinks || params.cntlink)
var safehtml = safe.cntlinkhtml(safehtml);
if (params.faqlink)
if (params.fcltlinks || params.faqlink)
var safehtml = safe.faqlinkhtml(safehtml);
// Nu de <br>'s binnen de tabel terugzetten. Let op dat ze *binnen* <td>'s weer wel moeten blijven
@@ -1533,7 +1536,7 @@ safe = {
if (!S("cnt_autolink_regexp")) {
return safehtml;
} else if (S("cnt_autolink_regexp") == "(?:((?:contract\\s?)|(?:C\\s?))(\\d+))|((?:contract#\\s?|(?:C#\\s?))(([a-z]|[0-9])+))") {
settings.overrule_setting("cnt_autolink_regexp", "(?:((?:contract\\s?)|(?:\\WC\\s?))(\\d+))|((?:contract#\\s?|(?:\\WC#\\s?))(([a-z]|[0-9])+))");
settings.overrule_setting("cnt_autolink_regexp", "(?:((?:contract)\\s+)([\\w-/]*))");
}
var cnt_arr = safehtml.match(new RegExp(S("cnt_autolink_regexp"), "ig"));
@@ -1542,7 +1545,7 @@ safe = {
for (var i=0; i<cnt_arr.length; i++)
{
var cnt_str = cnt_arr[i];
var cnt_num = (cnt_str.indexOf("#") > 0 ? cnt_str.substr(cnt_str.indexOf("#") + 1) : cnt_str.replace(/\D/g, ""));
var cnt_num = cnt_str.substr(cnt_str.indexOf(" ") + 1);
var sql = "SELECT cnt_contract_key"
+ " FROM cnt_v_aanwezigcontract"
+ " WHERE UPPER(cnt_contract_nummer_intern) = " + safe.quoted_sql_upper(cnt_num)

View File

@@ -91,27 +91,31 @@ if (ikBenVerantwoordelijke || mld_read)
+ " , mld_stdmelding sm"
+ " , mld_discipline md"
+ " , ins_srtdiscipline sd"
+ " , mld_disc_params dp"
+ (filtercode != "MJBU"
? " , mld_disc_params dp"
: "")
+ " , mld_statuses st"
+ (filtercode == "MJBU"
? " , mld_melding_object mo"
+ " , mld_stdmelding_srtinst msi"
? " , mld_stdmelding_srtinst msi"
+ " , ins_srtgroep isg"
+ " , ins_srtdeel isd"
: "")
// Zoektekst op melding, vakgroep, meldingnummer.
+ " WHERE (TO_CHAR(m.mld_melding_key) LIKE " + safe.quoted_sql_wild2(chars)
+ ((filtercode == "MG" || filtercode == "MGO" || filtercode == "MJBU")?" OR UPPER(mld_melding_omschrijving) LIKE " + safe.quoted_sql_wild2(chars)
+ " OR UPPER(mld_melding_onderwerp) LIKE " + safe.quoted_sql_wild2(chars):"")
+ ")"
+ ((filtercode == "MG" || filtercode == "MGO" || filtercode == "MJBU")
? " OR UPPER(mld_melding_omschrijving) LIKE " + safe.quoted_sql_wild2(chars)
+ " OR UPPER(mld_melding_onderwerp) LIKE " + safe.quoted_sql_wild2(chars)
: "")
+ ")"
+ " AND sm.mld_ins_discipline_key = md.ins_discipline_key"
+ " AND m.mld_stdmelding_key = sm.mld_stdmelding_key"
+ " AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key"
+ " AND md.ins_discipline_key = dp.mld_ins_discipline_key"
+ (filtercode != "MJBU"
? " AND md.ins_discipline_key = dp.mld_ins_discipline_key"
: "")
+ " AND m.mld_melding_status = st.mld_statuses_key"
+ (filtercode == "MJBU"
? " AND m.mld_melding_key = mo.mld_melding_key"
+ " AND sm.mld_stdmelding_key = msi.mld_stdmelding_key"
? " AND sm.mld_stdmelding_key = msi.mld_stdmelding_key"
+ " AND ((msi.ins_srtinstallatie_key = isg.ins_discipline_key AND msi.ins_srtinstallatie_niveau = 'D')"
+ " OR (msi.ins_srtinstallatie_key = isg.ins_srtgroep_key AND msi.ins_srtinstallatie_niveau = 'G')"
+ " OR (msi.ins_srtinstallatie_key = isd.ins_srtdeel_key AND msi.ins_srtinstallatie_niveau = 'S'))"

View File

@@ -334,31 +334,21 @@ function getFiltClausePersoon(pfiltcode, params)
+ " )";
break;
case 'INSB': // Objectbeheerders, met schrijfrechten op INSMAN of INSUSE - gokje
lfiltClause = " AND ( (1 = "+ S("ins_can_edit_own_objects")+" )"
+ " OR p.prs_perslid_key IN"
+ "( SELECT prs_perslid_key"
+ " FROM fac_v_webgebruiker g"
+ " WHERE g.fac_functie_key IN"
+ "( SELECT fac_functie_key"
+ " FROM fac_functie"
+ " WHERE fac_functie_code IN ('WEB_INSMAN', 'WEB_INSUSE')"
+ ")"
+ " AND g.fac_gebruiker_alg_level_write < 9"
+ " AND g.fac_gebruiker_prs_level_write < 9"
+ ")"
+ " )"
+ " AND (p.prs_perslid_key IN"
+ "( SELECT prs_perslid_key"
+ " FROM fac_v_webgebruiker g"
+ " WHERE g.fac_functie_key IN"
+ "( SELECT fac_functie_key"
+ " FROM fac_functie"
+ " WHERE fac_functie_code IN ('WEB_INSMAN', 'WEB_INSUSE')"
+ ")"
+ " AND g.fac_gebruiker_alg_level_read < 9"
+ " AND g.fac_gebruiker_prs_level_read < 9"
+ ")"
+ " )"
lfiltClause = " AND (p.prs_perslid_key IN"
+ " ( SELECT prs_perslid_key"
+ " FROM fac_v_webgebruiker g"
+ " WHERE g.fac_functie_key IN"
+ " ( SELECT fac_functie_key"
+ " FROM fac_functie"
+ " WHERE fac_functie_code IN ('WEB_INSMAN', 'WEB_INSUSE')"
+ " )"
+ ((S("ins_can_edit_own_objects") == 1) // Dan volstaan leesrechten
? " AND g.fac_gebruiker_alg_level_read < 9"
+ " AND g.fac_gebruiker_prs_level_read < 9"
: " AND g.fac_gebruiker_alg_level_write < 9"
+ " AND g.fac_gebruiker_prs_level_write < 9")
+ " )"
+ " )";
break;
case 'INS': // Bestaande beheerders van bestaande objecten
lfiltClause = " AND p.prs_perslid_key IN (SELECT prs_perslid_key_beh FROM ins_deel WHERE ins_deel_verwijder IS NULL)";

View File

@@ -169,7 +169,6 @@ function getFiltClauseReferentie(pfiltcode, params)
+ " AND m.mld_melding_status IN (0,2,3,4,7)"; // en status is niet gesloten
if (pfiltcode == "MJBU")
lfiltClause.M += " AND m.mld_melding_status IN (2,4,7)" // open meldingen.
+ " AND mo.ins_deelsrtcontrole_key IS NOT NULL" // Meldingen met taken.
+ " AND sd.ins_srtdiscipline_key != " + S("cnd_gebreken_srtdisc_key"); // Geen conditie metingen.
break;
case 'O': // Weergeven van alle mogelijke eigen referenties

View File

@@ -166,7 +166,7 @@ var oorzaak_bekend = false;
else
{
var savedfilename = safefilename;
if (("linkImmediate" in params) || pModule === "STYLE") { // Deze willen we niet overschrijven omdat meerdere instanties 1 map delen
if ("linkImmediate" in params) { // Deze willen we niet overschrijven omdat meerdere instanties 1 map delen
savedfilename = uniqueFileName(params.AttachPath, savedfilename);
}
var BinaryStream = Server.CreateObject("ADODB.Stream");

View File

@@ -8,7 +8,7 @@
Context: Vanuit ELK asp bestand
*/
var FCLTVersion="2023.2";
var FCLTVersion="2023.2d";
var FCLTMinDatabaseSchema="45"; // Alleen de cijfers
var custpath = rooturl + "/cust/" + customerId; // path to customer files

View File

@@ -29,12 +29,18 @@ switch (req_info)
{
case "eval_bb_code":
{
var file_params = {
"key": getQParamInt("key", -1),
"module": getQParam("module", "")
var params = {
"file_params": {
"key": getQParamInt("key", -1),
"module": getQParam("module", "")
},
"mldlink": getQParamInt("mldlink", 0) == 1,
"cntlink": getQParamInt("cntlink", 0) == 1,
"faqlink": getQParamInt("faqlink", 0) == 1,
"fcltlinks": getQParamInt("fcltlinks", 0) == 1
}
result = {
"fclthtml": safe.fclthtml(getQParam("input"), { "file_params": file_params })
"fclthtml": safe.fclthtml(getQParam("input"), params)
}
}
}

View File

@@ -1064,7 +1064,7 @@ function FILEPICKER_HTML(pname, plabel, pvalue, params) {
+ " data-module='" + params.module + "'"
+ (params.reloadOnCallback ? " data-reload-on-callback='1'" : "")
+ (params.callback ? " data-callback='" + params.callback + "'" : "")
+ " data-upload-url='" + protectQS.create("../shared/BijlagenForm.asp?key=" + (params.key || -1) + "&module=" + params.module + (params.module === "STYLE" ? "&style=" + params.itm : "")) + "'>"
+ " data-upload-url='" + protectQS.create("../shared/BijlagenForm.asp?key=" + (params.key || -1) + "&module=" + params.module) + "'>"
+ "</span>";
return result;
}
@@ -1092,9 +1092,11 @@ function ICONPICKERTR_HTML(pname, plabel, pvalue, params) {
}
function FILEPICKERTR_HTML(pname, plabel, pvalue, params) {
if (params.readonly || pvalue === null) {
var fileProps = flexProps(params.module, params.key, null, null, { getFiles: true });
if (pvalue === null && fileProps.files.length > 0 && !fileProps.multi) { // Geen waarde, wel files gevonden; 1 map per 'key' -> pak de eerste (normaal is dit er ook max. 1)
var fileProps = flexProps(params.module);
if (pvalue !== null || // -> Vind 0 of 1 bestand
!fileProps.multi && !fileProps.pickfile) { // (Deprecated) Soms zit hier toch een bestand bij, bijv. in de SML/MRK module
fileProps = flexProps(params.module, params.key, null, null, { getFiles: true, getFile: pvalue });
if (pvalue === null && fileProps.files.length > 0) { // Geen waarde, wel files gevonden; 1 map per 'key' -> pak de eerste (normaal is dit er ook max. 1)
pvalue = fileProps.files[0].name;
params.addDeleteUrl = "&DoDelete=" + Server.URLEncode(pvalue);
}
@@ -1105,8 +1107,10 @@ function FILEPICKERTR_HTML(pname, plabel, pvalue, params) {
}
var regex = new RegExp(S("flexPreviewExt"), "i");
var anyPreview = false;
for (var i = 0; !anyPreview && i < fileProps.files.length; i++) {
anyPreview |= regex.test(fileProps.files[i].name);
if (!fileProps.pickfile) {
for (var i = 0; !anyPreview && i < fileProps.files.length; i++) {
anyPreview |= regex.test(fileProps.files[i].name);
}
}
var result = "<tr>"
@@ -1119,7 +1123,7 @@ function FILEPICKERTR_HTML(pname, plabel, pvalue, params) {
: "")
+ " </td>"
+ " <td>"
+ (fileProps.files.length && !fileProps.multi
+ (fileProps.files.length && (!fileProps.multi || fileProps.pickfile) // => Max. 1 bestand
? "<span class='details' onclick='FcltMgr.windowopen(\"" + safe.htmlattr(safe.jsstring(fileProps.files[0].deepurl)) + "\", \"" + safe.htmlattr(plabel) + "\")'>" + safe.html(pvalue || fileProps.files[0].name) + "</span>"
: "")
+ " </td>"
@@ -1133,7 +1137,9 @@ function FILEPICKERTR_HTML(pname, plabel, pvalue, params) {
+ " <input type='hidden' id='" + pname + "' name='" + pname + "' value='" + safe.htmlattr(pvalue) + "'>"
+ FILEPICKER_HTML(pname, plabel, pvalue, params)
+ " <span class='default-clickable-icon symbol-delete' aria-controls='" + pname + "' title='" + L("lcl_delete") + "'"
+ " data-delete-url='" + safe.htmlattr(protectQS.create(rooturl + "/appl/Shared/Bijlagenform_delete.asp?key=" + (params.key || -1) + "&module=" + params.module + (params.addDeleteUrl || ""))) + "'"
+ (fileProps.linkImmediate || !(fileProps.multi && fileProps.pickfile) // Bij multi = true && pickfile = true wordt er met deze knop niets gedelete
? " data-delete-url='" + safe.htmlattr(protectQS.create(rooturl + "/appl/Shared/Bijlagenform_delete.asp?key=" + (params.key || -1) + "&module=" + params.module + (params.addDeleteUrl || ""))) + "'"
: "")
+ ">"
+ I("fa-trash-alt")
+ " </span>"

View File

@@ -807,7 +807,9 @@ notes =
note_key = noteIns.sequences[params.table + "_note_key"];
Oracle.Execute(noteIns.sql);
var note_module = (params.table == "mld_opdr" ? "ORD" : params.module) + "N";
move_new_bb_files(note_module, note_key);
if (!params.noValidateToken) { // Uit API, we kunnen hier getFParam niet meer gebruiken (en is deze functie uberhaupt nvt)
move_new_bb_files(note_module, note_key, getFParamStringArray("bb_files", []));
}
// Alleen bij nieuwe notities, notificaties van 'mentions' versturen
var mentionRegexpStr = "\\[mention\\](\\d+)\\|(.+?)\\[\\/mention\\]";

View File

@@ -112,7 +112,7 @@ function bestandenlijst(pmodule, pniveau, pkey)
if (pmodule && pniveau)
{
var refkey = (pmodule == "RES" ? xkey : pkey);
var flex_bijlagen = flexProps(pmodule, refkey, null, pniveau);
var flex_bijlagen = flexProps(pmodule, refkey, null, pniveau, {kenmerk_geldig: true});
if (flex_bijlagen && flex_bijlagen.files.length > 0)
bestandlijst = flex_bijlagen.files;
}

View File

@@ -413,6 +413,7 @@ ResultsetTable.prototype.ProcessAsCSV = function _ProcessAsCSV()
var fso = new ActiveXObject("Scripting.FileSystemObject")
var tmpcsv = "CSV_" + shared.random(16) +".csv"
var uitvoerstream = fso.CreateTextFile(shared.tempFolder() + "/" + tmpcsv, true);
Session.LCID = 1033; // English(United States) omdat csv2xlsx_386.exe dat verwacht voor floating points
}
else
{
@@ -464,7 +465,7 @@ ResultsetTable.prototype.ProcessAsCSV = function _ProcessAsCSV()
case "date" : csvtype = "date"; break; // kan dit beter? format:"d-m-jjjj" of zo?
case "datetime": csvtype = "date"; break; // kan dit beter? format:"d-m-jjjj uu:mm" of zo?
case "time" : csvtype = "standard"; break; // kan dit beter? format:"uu:mm" of zo?
case "currency": csvtype = "format:#,##0.00"; break;
case "currency": csvtype = "format:###0.00"; break;
case "float" : csvtype = "number"; break;
case "number" : csvtype = "integer"; break;
case "html" : return val;

View File

@@ -45,19 +45,20 @@
FCLTHeader.Requires({ plugins: ["jQuery"] });
// Functie kijkt of de waarde pvalue voorkomt in de array parray
function valueInArray(parray, pvalue, pmulti)
function valueInArray(parray, pvalue, pmulti, pemptyIsRealValue)
{
// TODO return $.inArray()
var vvalue = (pemptyIsRealValue && pvalue == null ? "" : pvalue);
if (pmulti && parray.length > 1) // parray is nu een array met waarden
{
for (i = 0; i < parray.length; i++)
{
if (parray[i] == pvalue) return true;
if (parray[i] == vvalue) return true;
}
}
else
{
return (parray[0] == pvalue)
return (parray[0] == vvalue)
}
return false
}
@@ -247,7 +248,7 @@ function FCLTselectorOptionsHTML(sql, params)
var extraPVI = params.extraParamValueInit.split(",");
}
// TODO: als required en initKey dan hoeft emptyoption er natuurlijk niet bij zou ik zeggen
// TODO: als required en initKey dan hoeft emptyOption er natuurlijk niet bij zou ik zeggen
if ((((params.emptyOption || params.emptyOption == "") && !(justone && params.required == 1)) || params.initEmpty) && !(params.selectjustone && justone))
{
var hasEmpty = true; // afgeleide var voor het gemak
@@ -274,7 +275,7 @@ function FCLTselectorOptionsHTML(sql, params)
result.initKey = oRs(0).value;
result.initText = oRs(1).value;
}
result.html += '<option value="' + safe.htmlattr(oRs(0).value) + '" ' + (valueInArray(params.initKey, oRs(0).value, params.multi) || (justone && !hasEmpty) ? ' selected ' : '');
result.html += '<option value="' + safe.htmlattr(oRs(0).value) + '" ' + (valueInArray(params.initKey, oRs(0).value, params.multi, params.emptyIsRealValue) || (justone && !hasEmpty) ? ' selected ' : '');
if (params.titleCol)
{
title = oRs(params.titleCol).value;

View File

@@ -224,6 +224,8 @@ function STR2Stream(xmlstr, xslfile, Stream, params)
}
}
var startPos = p_bodyhtml.indexOf("frc=", eindPos) + 4;
var imgstart = p_bodyhtml.lastIndexOf("<img", startPos); // moet wel binnen een <img> vallen
var imgend = p_bodyhtml.indexOf(">", imgstart);
var quote = p_bodyhtml.substr(startPos, 1);
var eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
}

View File

@@ -89,6 +89,9 @@
+ " WHERE res_ruimte_verwijder IS NULL"
+ " AND res_ruimte_extern_id IS NOT NULL";
oRs = Oracle.Execute(sql);
var full_import_app_key = getImportAppKey("EXCHFULL");
while (!oRs.Eof) {
// Fullsync bij het aanmaken van een nieuwe subscription zodat we volgens updates snel met een deltatoken kunnen ophalen
var zaalemail = oRs("res_ruimte_extern_id").Value;
@@ -97,6 +100,16 @@
res_ruimte_key,
webhookurl,
true); // Voorkomt onnodige validaties van de notificatie-url, want dat is hierboven al gebeurd
// Verwijder de regels van deze ruimte die wachten om opnieuw geprobeert te worden, dat is deprecated;
var del_sql = "DELETE FROM exc_import"
+ " WHERE gelukt IS NULL"
+ " AND fac_import_key IN (SELECT fac_import_key"
+ " FROM fac_import"
+ " WHERE fac_import_refkey = " + res_ruimte_key
+ " AND fac_import_app_key = " + full_import_app_key + ")";
Oracle.Execute(del_sql);
oRs.MoveNext();
}
oRs.Close();

View File

@@ -35,18 +35,21 @@
subscriptionList.push(response.value[i]);
}
}
var success = true;
var deleted = 0;
for (var i = 0; i < subscriptionList.length; i++) {
var request = {
"method": "DELETE",
"url": "https://graph.microsoft.com/v1.0/subscriptions/" + subscriptionList[i].id,
"headers": { "Accept": "application/json", "Authorization": "Bearer " + token }
if (config.hookurl && subscriptionList[i].notificationUrl.toUpperCase().indexOf(config.hookurl.toUpperCase()) != -1 // Alleen de subscriptions van deze omgeving verwijderen
|| subscriptionList[i].notificationUrl.indexOf("ngrok.io") != -1) { // en gewoon alle lokale
var request = {
"method": "DELETE",
"url": "https://graph.microsoft.com/v1.0/subscriptions/" + subscriptionList[i].id,
"headers": { "Accept": "application/json", "Authorization": "Bearer " + token }
}
if (doHTTP(request)) {
deleted++;
}
}
success = success && doHTTP(request);
}
if (success) {
WScript.Echo(subscriptionList.length + " subscription(s) deleted");
}
WScript.Echo(deleted + "/" + subscriptionList.length + " subscription(s) deleted");
}
</script>
</job>

View File

@@ -1,6 +1,6 @@
{
// Facilitor properties
hookurl : 'https://CUST.facilitor.nl/', // De url van de omgeving, leeglaten bij lokaal gebruik (-> ngrok)
hookurl : 'https://CUST.facilitor.nl/api_intern/', // De url van de omgeving, leeglaten bij lokaal gebruik (-> ngrok)
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 : "./csv/", // csv voor graph: Hier worden alle opgehaalde CSV's geplaatst. Moet bestaan bij gebruik van exchange_graph.wsf

View File

@@ -197,18 +197,15 @@ function getReserveringByEvent(event, zaalemail)
+ " , rr.res_rsv_ruimte_tot"
+ " , rr.res_rsv_ruimte_externnr"
+ " , rr.res_rsv_ruimte_externnr2"
+ " , p.prs_perslid_email host_email"
+ " FROM res_rsv_ruimte rr,"
+ " res_ruimte_opstelling ro,"
+ " res_ruimte r,"
+ " prs_v_aanwezigperslid p"
+ " res_ruimte r"
+ " WHERE rr.res_rsv_ruimte_externnr IS NOT NULL"
+ " AND " + compareExternnrSql
+ " AND rr.res_rsv_ruimte_verwijder IS NULL"
+ " AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key"
+ " AND r.res_ruimte_key = ro.res_ruimte_key"
+ " AND r.res_ruimte_verwijder IS NULL"
+ " AND rr.res_rsv_ruimte_host_key = p.prs_perslid_key"
+ " AND UPPER(r.res_ruimte_extern_id) = " + safe.quoted_sql_upper(zaalemail);
var eventoRs = Oracle.Execute(eventSql);
var result = [];
@@ -264,6 +261,43 @@ function makeCSV(data, zaalemail)
var maxPastMS = curDate.setHours(0, 0, 0, 0) - (config.fullpast * millisPerDay);
var maxFutureMS = curDate.setHours(23, 59, 59, 999) + (config.fullfuture * millisPerDay);
var _roomFallbackEmail;
var _unknownFallbackEmail;
if (data.length) {
var sql = "SELECT prs_perslid_email FROM prs_v_aanwezigperslid WHERE prs_perslid_oslogin = " + safe.quoted_sql_upper("_MSGRAPH_FALLBACK_ROOMS");
var oRs = Oracle.Execute(sql);
if (!oRs.EoF) {
_roomFallbackEmail = oRs("prs_perslid_email").Value;
}
oRs.Close();
sql = "SELECT prs_perslid_email FROM prs_v_aanwezigperslid WHERE prs_perslid_oslogin = " + safe.quoted_sql_upper("_MSGRAPH_FALLBACK_UNKNOWN");
oRs = Oracle.Execute(sql);
if (!oRs.EoF) {
_unknownFallbackEmail = oRs("prs_perslid_email").Value;
}
oRs.Close();
}
// Past de organizer.emailAddress.address aan van het meegegeven event indien nodig
function validateOrganizer(event) {
// Als de organisator niet als prs_perslid in Facilitor bekend is, kennen we 2 fallback-accounts;
// 1) De organisator is een ruimte; externe software boekt vaak direct in de agenda vd ruimte, zoals Yealink, maar ook Facilitor zelf (bij msgraph_sync_level & 2)
// 2) De organisator is onbekend; technisch/funcioneel account, of gewoon onbekend in Facilitor
// Als de relevante fallback-account niet (juist) is geconfigureerd, returnen we een falsy value en wordt de regel niet geimporteerd
if (event.isOrganizer) { // Ruimte = organizer (Yealink)
event.organizer.emailAddress.address = _roomFallbackEmail;
} else { // Try to find host by email
sql = "SELECT COUNT (*) aantal FROM prs_v_aanwezigperslid WHERE UPPER(prs_perslid_email) = " + safe.quoted_sql_upper(event.organizer.emailAddress.address);
oRs = Oracle.Execute(sql);
if (oRs("aantal").Value !== 1) { // Unknown or non-unique organizer
event.organizer.emailAddress.address = _unknownFallbackEmail;
}
oRs.Close();
}
return event.organizer.emailAddress.address;
}
// Header
var headerRow = [
"Subject",
@@ -300,10 +334,13 @@ function makeCSV(data, zaalemail)
}
var reserveringenFacilitor = getReserveringByEvent(thisEvent, zaalemail) || []; // Dit levert meerdere records op bij type = seriesMaster
if (( getMSGraphSyncLevel() > 2 && reserveringenFacilitor == "pending") || // Deze is zojuist aangemaakt in Facilitor en wacht nog op een externnr
if (( getMSGraphSyncLevel() > 2 && reserveringenFacilitor == "pending") || // Deze is zojuist aangemaakt in Facilitor en wacht nog op een externnr
( (getMSGraphSyncLevel() & 2) == 2 && // Als wij zelf afspraken op naam van de ruimte boeken, willen we zulke events nooit importeren
( (reserveringenFacilitor.length > 0 && reserveringenFacilitor[0].organisatorId == thisEvent.id) || // Deze is bekend in Facilitor en de ruimte is de organisator
(reserveringenFacilitor.length === 0 && thisEvent.isOrganizer)))) { // Deze is niet bekend in Facilitor en de ruimte is de organisator
(reserveringenFacilitor.length === 0 && /* Ooit; !_roomFallbackEmail && // Als je de fallback-user gebruikt dan is dit supported, anders niet */
(thisEvent.isOrganizer || // Deze is niet bekend in Facilitor en de ruimte is de organisator
inArray(thisEvent.type, ["occurrence", "exception"]) &&
(getSeriesMaster(data, thisEvent.seriesMasterId) || {}).isOrganizer))))) { // idem, maar dan bij de seriesMaster
// Deze slaan we over
continue;
}
@@ -333,11 +370,11 @@ function makeCSV(data, zaalemail)
"",
"",
"D", // [D]elete
eventId,
occurrenceId,
safe.csv(eventId),
safe.csv(occurrenceId),
++seqNbr
];
trs.push(tds.join(";"));
trsXpush(tds);
}
}
}
@@ -351,15 +388,18 @@ function makeCSV(data, zaalemail)
var modifier = reserveringenFacilitor.length === 0 ? "C" : "U"; // [U]pdate of [C]reate
if (thisEvent.type == "singleInstance") // Simpel, single event
{
if (!validateOrganizer(thisEvent)) {
continue;
}
tds = [
'"' + thisEvent.subject + '"',
safe.csv(thisEvent.subject),
_startDate.toISOString(),
_endDate.toISOString(),
'"' + thisEvent.organizer.emailAddress.address + '"',
safe.csv(thisEvent.organizer.emailAddress.address),
"",
"",
modifier,
thisEvent.id,
safe.csv(thisEvent.id),
"",
++seqNbr
];
@@ -376,23 +416,26 @@ function makeCSV(data, zaalemail)
"",
"",
"D", // cancelled or deleted
thisEvent.seriesMasterId,
thisEvent.id,
safe.csv(thisEvent.seriesMasterId),
safe.csv(thisEvent.id),
++seqNbr
];
trs.push(tds.join(";"));
trsXpush(tds);
continue;
} else {
if (!validateOrganizer(masterEvent)) {
continue;
}
tds = [
'"' + masterEvent.subject + '"',
safe.csv(masterEvent.subject),
_startDate.toISOString(),
_endDate.toISOString(),
'"' + masterEvent.organizer.emailAddress.address + '"',
safe.csv(masterEvent.organizer.emailAddress.address),
"",
"",
modifier,
thisEvent.seriesMasterId,
thisEvent.id,
safe.csv(thisEvent.seriesMasterId),
safe.csv(thisEvent.id),
++seqNbr
];
}
@@ -421,17 +464,17 @@ function makeCSV(data, zaalemail)
"",
"",
"D", // [D]eleted
reserveringenFacilitor[f].externnr.split("|")[0],
reserveringenFacilitor[f].externnr.split("|")[1],
safe.csv(reserveringenFacilitor[f].externnr.split("|")[0]),
safe.csv(reserveringenFacilitor[f].externnr.split("|")[1]),
++seqNbr
];
trs.push(tds.join(";"));
trsXpush(tds);
}
}
continue; // Klaar
}
trs.push(tds.join(";"));
trsXpush(tds);
// Deelnemers
if ("attendees" in thisEvent)
@@ -439,21 +482,23 @@ function makeCSV(data, zaalemail)
var eventId = inArray(thisEvent.type, ["occurrence", "exception"]) ? thisEvent.seriesMasterId : thisEvent.id;
var occurrenceId = inArray(thisEvent.type, ["occurrence", "exception"]) ? thisEvent.id : "";
for (var attendee in thisEvent.attendees) {
if (thisEvent.attendees[attendee].emailAddress.address !== thisEvent.organizer.emailAddress.address && // Organisator hoeft niet
if (thisEvent.attendees[attendee].emailAddress &&
thisEvent.attendees[attendee].emailAddress.address &&
thisEvent.attendees[attendee].emailAddress.address !== thisEvent.organizer.emailAddress.address && // Organisator hoeft niet
thisEvent.attendees[attendee].emailAddress.address.toUpperCase() !== zaalemail.toUpperCase()) { // Ruimte ook niet
tds = [
'"' + thisEvent.subject + '"',
safe.csv(thisEvent.subject),
_startDate.toISOString(),
_endDate.toISOString(),
'"' + thisEvent.organizer.emailAddress.address + '"',
'"' + thisEvent.attendees[attendee].emailAddress.address + '"',
'"' + thisEvent.attendees[attendee].emailAddress.name + '"',
safe.csv(thisEvent.organizer.emailAddress.address),
safe.csv(thisEvent.attendees[attendee].emailAddress.address),
safe.csv(thisEvent.attendees[attendee].emailAddress.name),
modifier,
eventId,
occurrenceId,
safe.csv(eventId),
safe.csv(occurrenceId),
seqNbr
];
trs.push(tds.join(";"));
trsXpush(tds);
}
}
}
@@ -461,6 +506,19 @@ function makeCSV(data, zaalemail)
}
}
}
function trsXpush(tds) { // Tijdelijke asp fix voor #79438
if (zaalemail.length + tds[0].length + 35 > 200) { // v_aanduiding = VARCHAR2(200), 35 is de maximale overhead min de safe.csv quotes
var subjectMaxLength = 200 - 37 - zaalemail.length;
tds[0] = '"' + tds[0] // Het onderwerp
.slice(1, -1) // Min de begin en eind quotes
.substring(0, subjectMaxLength) // Knip af op maximale lengte
.replace(/"*$/, "") // Verwijder trailing double quotes tbv veilige escaping
+ '"'; // Met nieuwe omvattende dubbele quotes
}
trs.push(tds.join(";"));
}
if (trs.length)
trs = [headerRow].concat(trs);
return trs.join("\r\n");

View File

@@ -108,10 +108,9 @@ function requestTokenCertificate(config)
}
var pfx = new ActiveXObject("Chilkat_9_5_0.Pfx");
var success = pfx.LoadPfxFile(custabspath + "\\Exchange\\" + config.certificate, config.certificate_password);
if (success != 1)
{
__Log("LoadEncryptedPemFile geen succes");
__Log(pfx.LastErrorText);
if (success != 1) {
__DoLog("LoadEncryptedPemFile geen succes", "#FF0000");
__DoLog(pfx.LastErrorText);
return null;
}
var privKey = pfx.GetPrivateKey(0);
@@ -491,15 +490,20 @@ function doHTTP(method, url, body, headers, params)
var params = params || {};
}
//var SXH_PROXY_SET_PROXY = 2;
// var SXH_PROXY_SET_PROXY = 2;
var SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS = 2;
var SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 0x3300;
var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
// objXMLHTTP.setProxy(SXH_PROXY_SET_PROXY, "127.0.0.1:8888");
objXMLHTTP.setTimeouts(1200000, 270000, 255000, 240000);
// Defaults: Unlimited, 60000, 30000, 30000
objXMLHTTP.open(method, url, !!params.async);
if (headers) {
if ("Authorization" in headers && headers.Authorization === "Bearer null") {
headers.Authorization = "Bearer " + requestToken(config);
}
var header;
for (header in headers) {
objXMLHTTP.setRequestHeader(header, headers[header]);
@@ -520,10 +524,15 @@ function doHTTP(method, url, body, headers, params)
__Log2File("request.xml", body);
}
var start = new Date().getTime();
try {
objXMLHTTP.send(body);
} catch (e) {
__DoLog("doHTTP ERROR: " + e.description, "#FF0000"); // Bijvoorbeeld; 'A connection with the server could not be established' als ngrok lokaal niet draait
var duration = new Date().getTime() - start;
__DoLog("doHTTP ERROR: " + e.description + " (" + duration + "ms)", "#FF0000"); // Bijvoorbeeld; 'A connection with the server could not be established' als ngrok lokaal niet draait
if (request) {
__DoLog(request);
}
return null;
}
@@ -535,7 +544,7 @@ function _handleMsGraphResponse(request, httpResponse)
{
if (request.params.async) {
if (httpResponse.readyState && httpResponse.readyState != 4) {
httpResponse.waitForResponse(29); // Wacht max. 29s op antwoord (default timeout = 30s)
httpResponse.waitForResponse(180); // Wacht max. 180s op antwoord
}
}
@@ -610,6 +619,9 @@ function _handleMsGraphFailure(request, httpResponse) {
break;
default:
__DoLog("[" + httpResponse.status + "] - MS Graph error code [" + msGraphResponse.error.code + "]: " + msGraphResponse.error.message, "#FF0000");
if (request) {
__DoLog(request);
}
return msGraphResponse;
}
} else if (typeof msGraphResponse == "object" && typeof msGraphResponse.error == "string") { // Azure errors
@@ -655,7 +667,7 @@ function doImport(res_ruimte_key, zaalemail, import_type) {
user_key = DEZE.user_key;
customerId = DEZE.customerId;
}
var procedure_params = ", " + (config.fullpast || 0) + ", " + (config.fullfuture || 90);
var res = impReadStream(fileStream,
import_app_key,
{ fac_home: custabspath + "/exchange/",
@@ -665,12 +677,13 @@ function doImport(res_ruimte_key, zaalemail, import_type) {
keep_old: 300, // Parallelle import 300 seconden ondersteunen (nodig voor deze import?)
user_key: user_key,
keep_backup: false, // mits fac_import_app_folder gezet
is_stream: true
is_stream: true,
proc_params: procedure_params
});
if (res.success) {
var processres = impProcessStream(res.import_key, {
customerId: customerId,
proc_params: ", " + (config.fullpast || 0) + ", " + (config.fullfuture || 90)
proc_params: procedure_params
});
} else {
__DoLog(res);
@@ -733,7 +746,7 @@ function unlockChilkat() {
try {
var glob = new ActiveXObject("Chilkat_9_5_0.Global");
} catch (e) {
__Log(e.description);
__DoLog(e.description, "#FF0000");
}
var sql = "SELECT COALESCE(fac_setting_pvalue, fac_setting_default) fac_setting_value"
+ " FROM fac_setting"
@@ -742,7 +755,7 @@ function unlockChilkat() {
var success = glob.UnlockBundle(oRs("fac_setting_value").Value);
oRs.Close();
if (success != 1) {
__Log("Chilkat_9_5_0 Unlock failed:\n" + oChilglob.LastErrorText);
__DoLog("Chilkat_9_5_0 Unlock failed:\n" + oChilglob.LastErrorText, "#FF0000");
return false;
}
return true;

View File

@@ -289,7 +289,12 @@ function _resToGraph(oRs, CRUD, params)
res_ruimte_extern_id = params.old_extern_id; // -> Verwijder de afspraak gekoppeld aan de [oude] ruimte
} else if (CRUD == "U") {
if (res_ruimte_extern_id == null) { // [Nieuwe] ruimte is niet aan Outlook gekoppeld (De oude wel, anders komen we hier niet)
return _resToGraph(oRs, "D", params); // -> Verwijder de hele afspraak in Outlook
if (roomEventID === "" && organizerEventID === "") { // De oude ruimte was wel gekoppeld, maar de reservering zelf niet
__Log("Oude reservering was niet gekoppeld -> Geen actie");
return false;
} else {
return _resToGraph(oRs, "D", params); // -> Verwijder de hele afspraak in Outlook
}
} else if (params.old_extern_id == null) { // [Oude] ruimte was niet aan Outlook gekoppeld
return _resToGraph(oRs, "C", params); // -> Maak een [nieuwe] afspraak in Outlook
} else { // [Oude] ruimte was ook aan Outlook gekoppeld
@@ -297,6 +302,8 @@ function _resToGraph(oRs, CRUD, params)
var res_D = _resToGraph(oRs, "D", params); // -> Verwijder de afspraak van de [oude] ruimte
var res_C = _resToGraph(oRs, "C", params); // -> Maak een nieuwe afspraak aan voor de [nieuwe] ruimte
return (params.batch ? res_D.concat(res_C) : res_C);
} else if (organizerEventID == "") { // Van deze Outlook reservering moeten we eerst nog (bij de oude ruimte) het organizerEventID opvragen
organizerEventID = updateExternnr2(params.old_extern_id, roomEventID, host_mail);
}
}
}
@@ -308,6 +315,10 @@ function _resToGraph(oRs, CRUD, params)
}
if ((CRUD == "U" || CRUD == "D") && organizerEventID == "") {
if (roomEventID == "") {
__Log("Deze reservering is niet gekoppeld -> Geen actie");
return false
}
if (getMSGraphSyncLevel() & 4) {
organizerEventID = updateExternnr2(res_ruimte_extern_id, roomEventID, host_mail);
} else if ((getMSGraphSyncLevel() & 6) == 2) {

View File

@@ -247,11 +247,11 @@ function notificationMail(rec, p_notificationXSL, params)
var stdTxt = WshShellExec.StdOut.ReadAll();
if (errTxt)
{
Log2File(2, "Error calling csv2xlsx: " + errTxt);
Log2File(1, "Error calling csv2xlsx: " + errTxt);
}
if (!fso.FileExists(tmpxlsx))
{
Log2File(2, "csv2xlsx output " + stdTxt);
Log2File(1, "csv2xlsx output " + stdTxt);
throw { description: "Weird: csv2xlsx did not convert {0} to {1}\nPossible cause: putorders was not run from the server?".format(jresult.tmpcsv, tmpxlsx) };
}
mail_params.include_cust_file = tmpxlsx;

View File

@@ -284,6 +284,8 @@ function sendMail( p_mailfrom
}
// Volgende zoeken
startPos = p_bodyhtml.indexOf("frc=", eindPos) + 4;
imgstart = p_bodyhtml.lastIndexOf("<img", startPos); // moet wel binnen een <img> vallen
imgend = p_bodyhtml.indexOf(">", imgstart);
quote = p_bodyhtml.substr(startPos, 1);
eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
}

View File

@@ -133,6 +133,14 @@ safe = { // extracted from shared.inc
filename: function (naam) // geen 'lage' karakters een geen (back)slashes, *,%,<,>, '"', ':', '?' and '|'
{
return naam.replace(/[\x00-\x1F|\/|\\|\*|\%\<\>\"\:\;\?\|]+/g, "_"); // " syntax highlight correctie
},
// Altijd quotes er om, we verdubbelen interne
// CR+LF binnen een waarde maken we alleen LF van
csv: function (waarde)
{
if (waarde==null)
return "";
return "\"" + String(waarde).replace(/\x0D\x0A/g,'\x0A').replace(/\"/g,'""') + "\""; // " syntax highlight correctie
}
}