816 Commits

Author SHA1 Message Date
Jos Groot Lipman
76a5c63d4d Die hoort weg te zijn
svn path=/Website/branches/v5.4.1/; revision=22097
2014-07-08 11:20:56 +00:00
Daniëlle Tolner
760eeb16c9 PNBR#29793: Nieuw logo op bonnen
svn path=/Website/branches/v5.4.1/; revision=22059
2014-07-02 11:44:36 +00:00
Maarten van der Heide
720fe6df07 SVRZ#29377 Inkoopondersteuning
svn path=/Website/branches/v5.4.1/; revision=21926
2014-06-18 08:32:12 +00:00
Maarten van der Heide
4ecbd8b6b8 SBSH5 patches
svn path=/Website/branches/v5.4.1/; revision=21922
2014-06-18 07:22:15 +00:00
Maarten van der Heide
421e1e142c SVRZ#29377 Inkoopondersteuning
svn path=/Website/branches/v5.4.1/; revision=21920
2014-06-18 07:18:34 +00:00
Maarten van der Heide
dd836e4581 SVRZ#29377 Inkoopondersteuning
svn path=/Website/branches/v5.4.1/; revision=21919
2014-06-18 07:18:16 +00:00
Maarten van der Heide
b469b64992 SVRZ#29377 Inkoopondersteuning
svn path=/Website/branches/v5.4.1/; revision=21918
2014-06-18 07:18:04 +00:00
Maarten van der Heide
e66215e5f7 DCOL#28900 BEDRIJF-import via RELIMP-API vanuit Exact
svn path=/Website/branches/v5.4.1/; revision=21903
2014-06-16 20:45:49 +00:00
Peter Koerhuis
756962ffe9 svn path=/Website/branches/v5.4.1/; revision=21900 2014-06-16 14:25:00 +00:00
Marcel Bourseau
b1a66ea7f8 ALLI#29759
svn path=/Website/branches/v5.4.1/; revision=21899
2014-06-16 14:24:52 +00:00
Maarten van der Heide
6864c0c61a DCOL#28900 BEDRIJF-import via RELIMP-API vanuit Exact
svn path=/Website/branches/v5.4.1/; revision=21893
2014-06-13 14:40:12 +00:00
Peter Koerhuis
5766749267 NYBU#29653 Campus contract op salaris
svn path=/Website/branches/v5.4.1/; revision=21889
2014-06-12 16:11:45 +00:00
Marcel Bourseau
c0277ec8ae VGLD#29791: eenheid van artikel in Punchout
svn path=/Website/branches/v5.4.1/; revision=21885
2014-06-12 14:37:03 +00:00
Marcel Bourseau
b114e1e36c UWVA#29515: ARO check, bsn met voorloopnullen
svn path=/Website/branches/v5.4.1/; revision=21869
2014-06-12 10:51:36 +00:00
Arthur Egberink
22fcf8a323 AAIT#29781 -- Aanpassing koppeling met COM4
svn path=/Website/branches/v5.4.1/; revision=21857
2014-06-11 13:14:53 +00:00
Arthur Egberink
5c05fa00e4 RWSN#29770 -- storing in koppeling RWS - AAFM
svn path=/Website/branches/v5.4.1/; revision=21853
2014-06-11 12:04:32 +00:00
Marcel Bourseau
dd72c6a2b9 ALLI#29775: portaal/menutaken: verbeterde uitlijning
svn path=/Website/branches/v5.4.1/; revision=21847
2014-06-10 14:50:39 +00:00
Arthur Egberink
c73aef9488 RWSN#29770 -- storing in koppeling RWS - AAFM
svn path=/Website/branches/v5.4.1/; revision=21846
2014-06-10 13:01:06 +00:00
Jos Groot Lipman
4bce72fe85 Oops, Automatisch protocol van 'zelf' achterhalen
svn path=/Website/branches/v5.4.1/; revision=21809
2014-06-04 09:13:51 +00:00
Jos Groot Lipman
dbca52153e FSN#29742 Inplakken flexfiles als HEX gaf nog allerlei errors
svn path=/Website/branches/v5.4.1/; revision=21801
2014-06-03 11:57:02 +00:00
Maarten van der Heide
ff1af9b285 Bijgewerkt in lijn met versie bij RWS.
svn path=/Website/branches/v5.4.1/; revision=21800
2014-06-03 10:00:34 +00:00
Jos Groot Lipman
986b85494a Automatisch protocol van 'zelf' achterhalen
svn path=/Website/branches/v5.4.1/; revision=21791
2014-06-02 14:40:02 +00:00
Ruud Lipper
67be066c39 WEHK#29714 verwijderen voorloopcijfers telefoonnummer opdrachtbon
svn path=/Website/branches/v5.4.1/; revision=21735
2014-05-28 09:47:42 +00:00
Daniëlle Tolner
8db91534ef UWVA#29637: opdrachttype op bon tonen
svn path=/Website/branches/v5.4.1/; revision=21731
2014-05-28 08:08:34 +00:00
Marcel Bourseau
6779523048 ALLI#29628: Projectnummer wordt nu afgedrukt
svn path=/Website/branches/v5.4.1/; revision=21721
2014-05-27 11:09:55 +00:00
Ruud Lipper
91f643498b IVET#29398
svn path=/Website/branches/v5.4.1/; revision=21713
2014-05-26 12:58:50 +00:00
Marcel Bourseau
d587c29cde VIAR#29342: Deeplink naar (MIPP)melding/(MIPP)opdracht (puntje 3)
svn path=/Website/branches/v5.4.1/; revision=21706
2014-05-26 09:42:47 +00:00
Marcel Bourseau
d4bd269571 VIAR#29342: Kostenvelden niet meer in MIPP (opdracht)bon
svn path=/Website/branches/v5.4.1/; revision=21699
2014-05-23 13:34:56 +00:00
Peter Koerhuis
63f7b54eb4 NYBU#29674 Aanvullende rapportages voor cateraar Vermaat
svn path=/Website/branches/v5.4.1/; revision=21696
2014-05-22 15:04:59 +00:00
Peter Koerhuis
901c1ae068 svn path=/Website/branches/v5.4.1/; revision=21685 2014-05-22 12:28:30 +00:00
Maarten van der Heide
59d1ab498f RWSN#29343 DID_STATUS-import van CSV naar XML
svn path=/Website/branches/v5.4.1/; revision=21667
2014-05-21 10:12:42 +00:00
Jos Groot Lipman
0a7b0d3799 Versie 5.4.1 Gold D
svn path=/Website/branches/v5.4.1/; revision=21651
2014-05-20 11:16:45 +00:00
Maarten van der Heide
2abbebc21b RWSN#29343 DID_STATUS-import van CSV naar XML
svn path=/Website/branches/v5.4.1/; revision=21639
2014-05-20 07:25:02 +00:00
Daniëlle Tolner
02493a0f5a IVET#29483: dubbele print bij transportaanvraag
svn path=/Website/branches/v5.4.1/; revision=21620
2014-05-19 10:18:34 +00:00
Jos Groot Lipman
f3e2fadcc5 Eerst AADS test: Niet ondersteunde xmlnode bij contract
svn path=/Website/branches/v5.4.1/; revision=21617
2014-05-19 09:34:17 +00:00
Maykel Geerdink
1297020b17 RWSN#29611: 5.3.3 27927 - bevinding: Error: MLD_MELDING_RESPIJT": ongeldige ID.
svn path=/Website/branches/v5.4.1/; revision=21613
2014-05-19 08:55:04 +00:00
Daniëlle Tolner
5c715cffaf IVET#29483: dubbele bon transportaanvraag
svn path=/Website/branches/v5.4.1/; revision=21610
2014-05-19 07:52:20 +00:00
Daniëlle Tolner
73b40ba2d5 IVET#29483: dubbele bon transportaanvraag
svn path=/Website/branches/v5.4.1/; revision=21596
2014-05-15 09:54:12 +00:00
Jos Groot Lipman
70cf526d19 API2 Uitbreiding SWITCHUSER/ X-FACILITOR-SWITCH-USER
svn path=/Website/branches/v5.4.1/; revision=21595
2014-05-15 08:21:23 +00:00
Jos Groot Lipman
ed0faa6885 FSN#29607 Set location sql-statement had te veel plusjes
svn path=/Website/branches/v5.4.1/; revision=21581
2014-05-14 10:23:23 +00:00
Maarten van der Heide
3e3ce471e6 RWSN#29343 DID_STATUS-import van CSV naar XML
svn path=/Website/branches/v5.4.1/; revision=21564
2014-05-12 11:55:25 +00:00
Maarten van der Heide
e4f95954f8 RWSN#29095 Workflow applicatieautorisatie (als webbased, dan direct afmelden)
svn path=/Website/branches/v5.4.1/; revision=21563
2014-05-12 11:54:19 +00:00
Marcel Bourseau
d87eece7bf FSN#29345: VIPS koppeling
svn path=/Website/branches/v5.4.1/; revision=21553
2014-05-08 16:06:41 +00:00
Jos Groot Lipman
4455821f3d Oops, deze hoorde niet in de vorige commit
svn path=/Website/branches/v5.4.1/; revision=21535
2014-05-08 10:44:06 +00:00
Jos Groot Lipman
5641c7d776 API2 Uitbreiding reserveerbare ruimtes, bezoekers ook verwijderen, meer JSON error messages
svn path=/Website/branches/v5.4.1/; revision=21534
2014-05-08 10:37:23 +00:00
Ruud Lipper
0acafe882b AAAR#29569
svn path=/Website/branches/v5.4.1/; revision=21527
2014-05-07 14:41:45 +00:00
Arthur Egberink
c37ae82a05 AAEN#29562 -- Niet bestaande ruimtenaam geeft foutmelding op infobord.
svn path=/Website/branches/v5.4.1/; revision=21522
2014-05-07 09:30:59 +00:00
Jos Groot Lipman
e467d2ff29 UWVA#29542 SOAP response werd niet goed geïnterpreteerd.
svn path=/Website/branches/v5.4.1/; revision=21509
2014-05-06 08:55:49 +00:00
Arthur Egberink
66c8463f0b FSN#29538 -- Nieuwe SQL-injection
svn path=/Website/branches/v5.4.1/; revision=21504
2014-05-05 13:41:36 +00:00
Jos Groot Lipman
b4a341cd42 Zo veel mogelijk 'name' bij entiteiten met soms ook een code (welke RWSN gaat negeren)
svn path=/Website/branches/v5.4.1/; revision=21498
2014-05-05 07:08:29 +00:00
Arthur Egberink
85c250c225 AAVL#27802 -- Aanpassing punchout met euroflorist (BTW toegevoegd)
svn path=/Website/branches/v5.4.1/; revision=21497
2014-05-02 09:46:04 +00:00
Peter Koerhuis
d9a0e26b8c LUDE#28364 Uitvoerdatum geplande melding
svn path=/Website/branches/v5.4.1/; revision=21494
2014-05-02 07:53:22 +00:00
Arthur Egberink
75842fb1ca AAEN#29443 -- Nieuwe versie infoborden.
svn path=/Website/branches/v5.4.1/; revision=21492
2014-05-02 07:37:43 +00:00
Arthur Egberink
7b5fdcc8c3 AAEN#29443 -- Nieuwe versie infoborden.
svn path=/Website/branches/v5.4.1/; revision=21491
2014-05-02 07:26:02 +00:00
Peter Koerhuis
1498c7e4d4 LUDE#28364 Initiële levering naar Productie
svn path=/Website/branches/v5.4.1/; revision=21488
2014-05-01 19:24:10 +00:00
Peter Koerhuis
4c777a8b1c LUDE#28364 Initiële levering naar Productie
svn path=/Website/branches/v5.4.1/; revision=21487
2014-05-01 17:56:44 +00:00
Jos Groot Lipman
25c36cf109 FSN#29520 Firefox 29.0 doet moeilijk bij input type='number'
svn path=/Website/branches/v5.4.1/; revision=21464
2014-05-01 10:12:51 +00:00
Daniëlle Tolner
29b061b73d AADS#29508: stylesheet voor Maas interface
svn path=/Website/branches/v5.4.1/; revision=21454
2014-04-30 12:33:35 +00:00
Marcel Bourseau
59c2698ac0 ALLI#29404: Afgewezen bouwbord via mail.
svn path=/Website/branches/v5.4.1/; revision=21446
2014-04-29 16:16:15 +00:00
Jos Groot Lipman
6b71b260bf IVET#29491 Bij accepteren eerst accepteren, dan pas opslaan
svn path=/Website/branches/v5.4.1/; revision=21443
2014-04-29 12:14:23 +00:00
Marcel Bourseau
bca36640d7 ALLI#28820: Aanpassen VvE visitekaartje - vestiging optioneel
svn path=/Website/branches/v5.4.1/; revision=21439
2014-04-29 11:45:55 +00:00
Maarten van der Heide
d28e1a4fb7 DCOL0
svn path=/Website/branches/v5.4.1/; revision=21429
2014-04-28 14:12:30 +00:00
Jos Groot Lipman
9dc1497949 REQUEST_METHOD ook loggen, handig voor API-controle
svn path=/Website/branches/v5.4.1/; revision=21423
2014-04-28 12:44:40 +00:00
Jos Groot Lipman
f3aea24d26 NYBU#29403 Bij kopie ruimte wel goede default opstelling gebruiken
svn path=/Website/branches/v5.4.1/; revision=21422
2014-04-28 12:31:31 +00:00
Maarten van der Heide
fb7f251ec7 DCOL0
svn path=/Website/branches/v5.4.1/; revision=21412
2014-04-28 07:22:25 +00:00
Ruud Lipper
475e85fc62 UWVA#29468 telefoonnummer verscheen niet op de bez bon
svn path=/Website/branches/v5.4.1/; revision=21399
2014-04-25 08:10:34 +00:00
Peter Feij
86f7fb45e6 UWVA#29467 ambigu-fix
svn path=/Website/branches/v5.4.1/; revision=21398
2014-04-25 07:33:05 +00:00
Jos Groot Lipman
e4063b01ac Versie 5.4.1 Gold C
svn path=/Website/branches/v5.4.1/; revision=21393
2014-04-24 08:29:49 +00:00
Daniëlle Tolner
7c2a7ae49b PCHD#29462: Klikbare e-mail op bon
svn path=/Website/branches/v5.4.1/; revision=21391
2014-04-24 07:55:44 +00:00
Jos Groot Lipman
8f5fb67942 FSN#29385 Concrete Reflective XSS uit de pentest
svn path=/Website/branches/v5.4.1/; revision=21386
2014-04-23 17:33:01 +00:00
Jos Groot Lipman
961e583a3c Merge 5.3.3 patches
svn path=/Website/branches/v5.4.1/; revision=21378
2014-04-23 12:51:02 +00:00
Daniëlle Tolner
2992795edb UWVA#29115: emailadres abo-bonnen
svn path=/Website/branches/v5.4.1/; revision=21373
2014-04-23 09:14:21 +00:00
Jos Groot Lipman
98f48729e2 FSN#29385 Pentest ';' ook uitsluiten in bestandsnamen
svn path=/Website/branches/v5.4.1/; revision=21351
2014-04-17 11:08:42 +00:00
Jos Groot Lipman
2b1ebb3e78 FSN#29385 Pentest Directory traversal voorkomen
svn path=/Website/branches/v5.4.1/; revision=21350
2014-04-17 11:06:31 +00:00
Jos Groot Lipman
9bcc249b59 FSN#29385 SQL*Injection voorkomen
svn path=/Website/branches/v5.4.1/; revision=21349
2014-04-17 10:56:23 +00:00
Jos Groot Lipman
2a6ff822a9 Iets betere logging van connectHTTP fouten
svn path=/Website/branches/v5.4.1/; revision=21346
2014-04-17 09:53:05 +00:00
Maykel Geerdink
276a04a489 IVET#29386: Planbaar maken van een melding werkt niet meer (5.4.1).
svn path=/Website/branches/v5.4.1/; revision=21342
2014-04-17 07:43:14 +00:00
Jos Groot Lipman
18f719e000 API 2.0 in wording
id wordt overal key
Zo veel mogelijk 'name' bij entiteiten met soms ook een code (welke RWSN gaat negeren)

svn path=/Website/branches/v5.4.1/; revision=21341
2014-04-16 15:10:55 +00:00
Jos Groot Lipman
bc401a6988 API 2.0 in wording
id wordt overal key
Zo veel mogelijk 'name' bij entiteiten met soms ook een code (welke RWSN gaat negeren)

svn path=/Website/branches/v5.4.1/; revision=21340
2014-04-16 14:56:31 +00:00
Maykel Geerdink
fbb88d5ec8 SORO#29381: RES voorziening: AIAI - Kolom is ambigu gedefinieerd.
svn path=/Website/branches/v5.4.1/; revision=21336
2014-04-16 12:28:30 +00:00
Arthur Egberink
98b74d265c AAEN#29382 -- Lease aanvragen zichtbaar op mobile
svn path=/Website/branches/v5.4.1/; revision=21331
2014-04-16 10:02:21 +00:00
Maykel Geerdink
841bd8339a PCHD#29236: AiAi toevoegen facturen.
svn path=/Website/branches/v5.4.1/; revision=21330
2014-04-16 10:00:42 +00:00
Maykel Geerdink
7bdba9a05b FSN#29338: Mobile opdrachten openen via mijn lopende zaken geeft verkeerd resultaat.
svn path=/Website/branches/v5.4.1/; revision=21329
2014-04-16 09:49:43 +00:00
Arthur Egberink
da67ea4540 PNBR#29370 -- Ophalen voorraad lukt niet
svn path=/Website/branches/v5.4.1/; revision=21323
2014-04-15 13:51:45 +00:00
Maykel Geerdink
892fc1d138 FSN#29338: Mobile opdrachten openen via mijn lopende zaken geeft verkeerd resultaat.
svn path=/Website/branches/v5.4.1/; revision=21312
2014-04-14 07:47:20 +00:00
Peter Koerhuis
e166e86af6 NYBU#29158 Rapportages voor cateraar Vermaat
NYBU#28970 Spelfout Meldingsbon Delivery
Spelfout RES-reminder

svn path=/Website/branches/v5.4.1/; revision=21310
2014-04-10 14:24:12 +00:00
Maykel Geerdink
d5204074ff PCHD#29236: AiAi toevoegen facturen.
svn path=/Website/branches/v5.4.1/; revision=21309
2014-04-10 13:57:03 +00:00
Arthur Egberink
75010184bc AAEN#29305 -- Maas interface
svn path=/Website/branches/v5.4.1/; revision=21307
2014-04-10 13:44:39 +00:00
Erik Groener
4417efd40a ARAI#29300 Melding niet vindbaar? (missende MLDNEW)
svn path=/Website/branches/v5.4.1/; revision=21304
2014-04-10 13:15:47 +00:00
Erik Groener
f99f1b400b FSN#29329 Legendawaardenfilter werkt niet
svn path=/Website/branches/v5.4.1/; revision=21303
2014-04-10 12:49:19 +00:00
Erik Groener
089a7091b0 ARAI#29300 Melding niet vindbaar? (missende MLDNEW)
svn path=/Website/branches/v5.4.1/; revision=21302
2014-04-10 12:25:53 +00:00
Erik Groener
dfac0b3ca8 ARAI#29300 Melding niet vindbaar? (missende MLDNEW)
svn path=/Website/branches/v5.4.1/; revision=21300
2014-04-10 10:56:22 +00:00
Jos Groot Lipman
6599f73adf API 2.0 in wording, nu met delete appointment
svn path=/Website/branches/v5.4.1/; revision=21295
2014-04-10 09:28:15 +00:00
Jos Groot Lipman
2ef586a69c FSN#29350 controleren op protocol in bedrijfadres URL
svn path=/Website/branches/v5.4.1/; revision=21293
2014-04-10 08:16:08 +00:00
Jos Groot Lipman
0a4f83e639 FSN#29180 SMS notificatie zonder dat het geconfigureerd is iets beter detecteren/ loggen
svn path=/Website/branches/v5.4.1/; revision=21291
2014-04-10 07:30:40 +00:00
Daniëlle Tolner
96965b4c75 AAVL#29336: adreswijziging
svn path=/Website/branches/v5.4.1/; revision=21284
2014-04-09 13:48:51 +00:00
Jos Groot Lipman
f6019fa800 SUTF#29221 Toch maar streamresult gebruiken, anders encoding problemen
svn path=/Website/branches/v5.4.1/; revision=21283
2014-04-09 13:14:39 +00:00
Jos Groot Lipman
a4eddde181 FSN#29330 Minder risico op SQL Injection (niet per se direct gevaarlijk)
svn path=/Website/branches/v5.4.1/; revision=21282
2014-04-09 12:58:17 +00:00
Arthur Egberink
a27bc970cf PNBR#29233 -- Aanpassen Monitor IT Servicedesk
svn path=/Website/branches/v5.4.1/; revision=21280
2014-04-09 12:04:16 +00:00
Jos Groot Lipman
da09854761 FSN#29180 FTP bestand uit data altijd als UTF8. Deed Putorders.exe ook?
svn path=/Website/branches/v5.4.1/; revision=21277
2014-04-09 09:45:32 +00:00
Jos Groot Lipman
3721501088 API 2.0 in wording, nu met update visitors
svn path=/Website/branches/v5.4.1/; revision=21275
2014-04-09 08:57:20 +00:00
Jos Groot Lipman
f95e8467b7 FSN#29330 Gaf ora-error als je geen extracode parameter meegaf
svn path=/Website/branches/v5.4.1/; revision=21274
2014-04-09 08:51:56 +00:00
Jos Groot Lipman
c21c199ade FSN#29330 Minder risico op SQL Injection (niet per se direct gevaarlijk)
svn path=/Website/branches/v5.4.1/; revision=21273
2014-04-09 08:40:23 +00:00
Jos Groot Lipman
a03da42411 FSN#29330 Minder risico op SQL Injection (niet per se direct gevaarlijk)
svn path=/Website/branches/v5.4.1/; revision=21272
2014-04-09 08:10:17 +00:00
Jos Groot Lipman
242432e937 FSN#29180 Passive ook correct ondersteunen
svn path=/Website/branches/v5.4.1/; revision=21270
2014-04-08 15:01:04 +00:00
Erik Groener
f8e4107e57 ARAI#29300 Melding niet vindbaar? (missende MLDNEW)
svn path=/Website/branches/v5.4.1/; revision=21269
2014-04-08 12:06:40 +00:00
Jos Groot Lipman
8d9ee75cf8 API 2.0 in wording, nu met update visitors
svn path=/Website/branches/v5.4.1/; revision=21262
2014-04-07 19:19:10 +00:00
Daniëlle Tolner
9d1da3dd00 AAAR#29303: share_and_meet.png vervangen door gif
svn path=/Website/branches/v5.4.1/; revision=21257
2014-04-07 14:02:36 +00:00
Daniëlle Tolner
4bafdfb7a7 AAAR#29303: png-logo vervangen door gif
svn path=/Website/branches/v5.4.1/; revision=21256
2014-04-07 14:00:55 +00:00
Peter Koerhuis
b652f437e5 HPJI#28971 Geleverde bestellingen bloemen automatisch afmelden
svn path=/Website/branches/v5.4.1/; revision=21251
2014-04-07 13:04:07 +00:00
Maarten van der Heide
9bc9762490 WIBC3 patches.
svn path=/Website/branches/v5.4.1/; revision=21247
2014-04-07 12:42:21 +00:00
Maarten van der Heide
78c51a56d0 UWVA#28930 Uitbreiding ARO-koppeling (MLD/SpoBiLo)
svn path=/Website/branches/v5.4.1/; revision=21245
2014-04-07 11:15:18 +00:00
Maarten van der Heide
ea0e7f53c6 UWVA#28930 Uitbreiding ARO-koppeling (MLD/SpoBiLo)
svn path=/Website/branches/v5.4.1/; revision=21243
2014-04-07 10:16:45 +00:00
Ruud Lipper
423650e392 AAZC#29291
svn path=/Website/branches/v5.4.1/; revision=21238
2014-04-07 07:29:17 +00:00
Ruud Lipper
54a26960bf IVET#29054
svn path=/Website/branches/v5.4.1/; revision=21236
2014-04-04 14:24:33 +00:00
Maarten van der Heide
b5259cff64 UWVA#28930 Uitbreiding ARO-koppeling (MLD/SpoBiLo)
svn path=/Website/branches/v5.4.1/; revision=21229
2014-04-04 12:40:46 +00:00
Erik Groener
fabeb4acc8 FSN#29173 Error bij objectenlijst
svn path=/Website/branches/v5.4.1/; revision=21228
2014-04-04 12:37:28 +00:00
Maarten van der Heide
4bbfbbc6d1 UWVA#28930 Uitbreiding ARO-koppeling (MLD/SpoBiLo)
svn path=/Website/branches/v5.4.1/; revision=21226
2014-04-04 12:12:07 +00:00
Erik Groener
df7bc58741 FSN#29125 Nieuwe SQL-injection in FACMGT
svn path=/Website/branches/v5.4.1/; revision=21225
2014-04-04 10:19:47 +00:00
Erik Groener
8e193b3e59 AAEN#29278 'Kenmerk van bestelregel op artikelgroep niveau niet zichtbaar
svn path=/Website/branches/v5.4.1/; revision=21220
2014-04-03 14:43:30 +00:00
Ruud Lipper
9db0e9d02e IVET#29054
svn path=/Website/branches/v5.4.1/; revision=21219
2014-04-03 13:24:42 +00:00
Jos Groot Lipman
2bf8c7c89b API 2.0 in wording
Gebouw/verdieping/ruimte bij afspraken ook vermelden
adp regio/district/locatie toegevoegd

svn path=/Website/branches/v5.4.1/; revision=21218
2014-04-03 12:00:22 +00:00
Maykel Geerdink
c3f810ec55 SUTF#29145: 5.4.1 Geen locaties weergegeven bij reserveer beamer/laptop (bezorgen).
svn path=/Website/branches/v5.4.1/; revision=21217
2014-04-03 10:42:21 +00:00
Maykel Geerdink
a74809f9d3 FSN#29196: 5.4.1 Mobile reservering fouten.
svn path=/Website/branches/v5.4.1/; revision=21216
2014-04-03 10:34:16 +00:00
Erik Groener
f7f4dd1555 FSN#29214 Ajax error bij afmelden melding met wijzigingen
svn path=/Website/branches/v5.4.1/; revision=21215
2014-04-03 09:59:09 +00:00
Erik Groener
09edc226b1 NYBU#29209 MLD/PDA: Mobiele interface toont altijd jezelf als melder 5.4.1
svn path=/Website/branches/v5.4.1/; revision=21214
2014-04-03 09:49:06 +00:00
Erik Groener
d710e41d0e FSN#29219 Mobile: fouten na afmelden meldingen
svn path=/Website/branches/v5.4.1/; revision=21213
2014-04-03 09:46:13 +00:00
Erik Groener
e291357dc1 NYBU#29209 MLD/PDA: Mobiele interface toont altijd jezelf als melder 5.4.1
svn path=/Website/branches/v5.4.1/; revision=21212
2014-04-03 09:29:20 +00:00
Erik Groener
d7bb882ad4 FSN#29214 Ajax error bij afmelden melding met wijzigingen
svn path=/Website/branches/v5.4.1/; revision=21211
2014-04-03 08:06:25 +00:00
Daniëlle Tolner
04e9b63c19 AAAR#28973: share&meet logo
svn path=/Website/branches/v5.4.1/; revision=21210
2014-04-03 08:03:22 +00:00
Maykel Geerdink
858872a7bd SUTF#29145: 5.4.1 Geen locaties weergegeven bij reserveer beamer/laptop (bezorgen).
svn path=/Website/branches/v5.4.1/; revision=21206
2014-04-02 13:37:34 +00:00
Jos Groot Lipman
c8c7e38a0e Iets specifiekere logging
svn path=/Website/branches/v5.4.1/; revision=21204
2014-04-02 13:13:43 +00:00
Maykel Geerdink
ec95b39ced SUTF#29145: 5.4.1 Geen locaties weergegeven bij reserveer beamer/laptop (bezorgen).
svn path=/Website/branches/v5.4.1/; revision=21203
2014-04-02 12:55:53 +00:00
Jos Groot Lipman
b711b084c7 FSN#29184 prefix naar 60 karakters alleen bij conversie
svn path=/Website/branches/v5.4.1/; revision=21202
2014-04-02 12:46:24 +00:00
Erik Groener
659d09f252 FSN#29184 Nieuwe gen_export problemen
svn path=/Website/branches/v5.4.1/; revision=21201
2014-04-02 12:21:44 +00:00
Erik Groener
5e32f9c91d FSN#29173 Error bij objectenlijst
svn path=/Website/branches/v5.4.1/; revision=21199
2014-04-02 11:31:47 +00:00
Erik Groener
914e5f1672 FSN#29125 Nieuwe SQL-injection in FACMGT
svn path=/Website/branches/v5.4.1/; revision=21198
2014-04-02 11:00:32 +00:00
Erik Groener
e646bedda7 FSN#29125 Nieuwe SQL-injection in FACMGT
svn path=/Website/branches/v5.4.1/; revision=21197
2014-04-02 10:36:55 +00:00
Erik Groener
aba221e6ed FSN#29219 Mobile: fouten na afmelden meldingen
svn path=/Website/branches/v5.4.1/; revision=21196
2014-04-02 09:31:00 +00:00
Ruud Lipper
8b9109b3e8 AAZC#29253 Nieuw factuuradres
svn path=/Website/branches/v5.4.1/; revision=21195
2014-04-02 08:21:54 +00:00
Jos Groot Lipman
6fe1110f83 FSN#29261 Gaf token error sinds 5.3.1(!)
svn path=/Website/branches/v5.4.1/; revision=21194
2014-04-02 08:01:26 +00:00
Erik Groener
b1646fa25f FSN#29184 Nieuwe gen_export problemen
svn path=/Website/branches/v5.4.1/; revision=21193
2014-04-02 07:56:06 +00:00
Jos Groot Lipman
610cf2059b ARAI#29188 Out of memory door onbedoelde recursie
svn path=/Website/branches/v5.4.1/; revision=21188
2014-04-01 11:44:49 +00:00
Jos Groot Lipman
26f04e10e3 FSN#29251 Share and meet eerste praktijk ervaring
svn path=/Website/branches/v5.4.1/; revision=21186
2014-04-01 11:06:03 +00:00
Jos Groot Lipman
2ad3c5b713 UWVA#29252 prs_bedrijf_order_mode zit sinds 5.3.3 niet meer in prs_bedrijf en wordt hier toch niet gebruikt
svn path=/Website/branches/v5.4.1/; revision=21185
2014-04-01 08:41:44 +00:00
Jos Groot Lipman
5dc6d9b47d FSN#29215 isGroupedUser mag niet meer in het menu komen
svn path=/Website/branches/v5.4.1/; revision=21183
2014-04-01 07:38:28 +00:00
Jos Groot Lipman
9d88da5dd9 API 2.0 in wording: gebouw latlong erbij maar dan neutrale naam (want RWSN heeft RD-coordinaten ingevuld)
svn path=/Website/branches/v5.4.1/; revision=21180
2014-03-31 15:19:35 +00:00
Jos Groot Lipman
58f9cb0137 API 2.0 in wording: gebouw latlong erbij
svn path=/Website/branches/v5.4.1/; revision=21177
2014-03-31 15:04:37 +00:00
Jos Groot Lipman
ce1eb68ac8 FSN#29251 Share and meet eerste praktijk ervaring
svn path=/Website/branches/v5.4.1/; revision=21176
2014-03-31 15:03:58 +00:00
Jos Groot Lipman
cbda3200e7 UWVA#29250 expire bij herhalen iets scherper
svn path=/Website/branches/v5.4.1/; revision=21175
2014-03-31 13:48:28 +00:00
Daniëlle Tolner
bc335eed4a AAAR#28973: S&M bonnen met logo
svn path=/Website/branches/v5.4.1/; revision=21174
2014-03-31 12:05:35 +00:00
Marcel Bourseau
ae93c0801b SKAF#29247: Import Catalogus: Braspa lijkt weer mis te gaan
svn path=/Website/branches/v5.4.1/; revision=21173
2014-03-31 11:35:41 +00:00
Erik Groener
f18ce38689 FSN#29219 Mobile: fouten na afmelden meldingen
svn path=/Website/branches/v5.4.1/; revision=21172
2014-03-31 09:34:28 +00:00
Jos Groot Lipman
2c7a95df7e VGLD#29245 getFParamInt is iets kritischer over missende parameters dus ontvangen aantal maar default 0
svn path=/Website/branches/v5.4.1/; revision=21171
2014-03-31 09:17:07 +00:00
Jos Groot Lipman
62ffc8fe4d PNBR#29234 Niet automatisch sorteren op plaats, was er onbedoeld in geslopen
svn path=/Website/branches/v5.4.1/; revision=21170
2014-03-31 09:09:47 +00:00
Erik Groener
376d499cbf LOGI#29229 'AiAi bij reserveren van een ruimte - kostenplaats onzichtbaar
svn path=/Website/branches/v5.4.1/; revision=21164
2014-03-28 10:46:04 +00:00
Marcel Bourseau
55b434f838 ALLI#25784: Rijnja Repro bestellingen via IMBIS
svn path=/Website/branches/v5.4.1/; revision=21156
2014-03-27 12:33:31 +00:00
Jos Groot Lipman
cb1e286dfd NYBU#29167 Fronto mag uitleenkenmerken boven de 900 bewerken
svn path=/Website/branches/v5.4.1/; revision=21155
2014-03-27 12:12:53 +00:00
Jos Groot Lipman
b067563395 Versie 5.4.1 Gold B
svn path=/Website/branches/v5.4.1/; revision=21152
2014-03-27 11:12:25 +00:00
Jos Groot Lipman
cbdc721d87 FSN#29180 Iets meer logging (ook de response text) bij HTTP-submit faal
svn path=/Website/branches/v5.4.1/; revision=21151
2014-03-27 10:06:24 +00:00
Jos Groot Lipman
1341115fb6 SUTF#29221 Adèle kwam niet als UTF-8 in de xml-bijlage terecht.
Even als noodverband de xml-bijlagen *altijd* als utf-8 doen, dekt de praktijk al wel

svn path=/Website/branches/v5.4.1/; revision=21150
2014-03-27 09:37:33 +00:00
Jos Groot Lipman
eeeb046ef6 FSN#29180 E-mail parsen werkt bij parseUrl net iets anders
svn path=/Website/branches/v5.4.1/; revision=21147
2014-03-27 08:51:31 +00:00
Jos Groot Lipman
9af16c26ac FSN#29192 Layout laatste kolom
svn path=/Website/branches/v5.4.1/; revision=21146
2014-03-26 16:21:35 +00:00
Erik Groener
035f33c153 FSN#29173 Error bij objectenlijst
svn path=/Website/branches/v5.4.1/; revision=21145
2014-03-26 15:45:05 +00:00
Jos Groot Lipman
5ccaac4773 FSN#29180 SYS Noti bitje wel goed resetten
svn path=/Website/branches/v5.4.1/; revision=21144
2014-03-26 15:39:33 +00:00
Peter Koerhuis
151c75b6b4 NYBU#28350 Resterende wensen contractbeheer/verhuurregistratie
svn path=/Website/branches/v5.4.1/; revision=21143
2014-03-26 14:17:40 +00:00
Jos Groot Lipman
acfc6c7745 FSN#29025 Undocumented fac_lang parameter ondersteunen
svn path=/Website/branches/v5.4.1/; revision=21142
2014-03-26 13:37:08 +00:00
Erik Groener
13da28819d FSN#29173 Error bij objectenlijst
svn path=/Website/branches/v5.4.1/; revision=21140
2014-03-26 13:18:26 +00:00
Jos Groot Lipman
d0af310dae Batchfiles iets meer silent
svn path=/Website/branches/v5.4.1/; revision=21139
2014-03-26 13:16:56 +00:00
Jos Groot Lipman
778b15299b FSN#29180 FTP was al open en folder was al gezet
svn path=/Website/branches/v5.4.1/; revision=21138
2014-03-26 13:14:48 +00:00
Jos Groot Lipman
2b8109c583 FSN#29180 Beter bestand tegen csv bestanden
svn path=/Website/branches/v5.4.1/; revision=21137
2014-03-26 13:02:34 +00:00
Erik Groener
7695d5a7e6 AANS#29141 5.4.1 locatie filters in fiatteringsverzoeken werken niet
svn path=/Website/branches/v5.4.1/; revision=21136
2014-03-26 12:22:13 +00:00
Peter Koerhuis
7f3e92fd37 NYBU#28350 Resterende wensen contractbeheer/verhuurregistratie
svn path=/Website/branches/v5.4.1/; revision=21135
2014-03-26 11:26:45 +00:00
Jos Groot Lipman
72fffd0832 In ontwikkel omgevingen mag je logging best wissen *zonder* PRSSYS
svn path=/Website/branches/v5.4.1/; revision=21134
2014-03-26 09:51:38 +00:00
Jos Groot Lipman
f7a1857974 Véél sneller bij het samenstellen van het blokje met 'Application' variabelen.
Op productie zijn dat namelijk zo'n 25000 regels (elke setting van elke klant)

svn path=/Website/branches/v5.4.1/; revision=21133
2014-03-26 09:48:32 +00:00
Marcel Bourseau
fff843732b VIAR#28919: 5 artikelblokken ipv 3.
svn path=/Website/branches/v5.4.1/; revision=21130
2014-03-25 15:49:42 +00:00
Ruud Lipper
5ed4b4c13c PNBR#29186 Mijn berichten weer zichtbaar
svn path=/Website/branches/v5.4.1/; revision=21126
2014-03-25 14:33:25 +00:00
Jos Groot Lipman
22e23ac658 Batchfiles iets meer silent
svn path=/Website/branches/v5.4.1/; revision=21125
2014-03-25 14:01:58 +00:00
Jos Groot Lipman
3e27a73b6a Logdestination resetten was nog niet meegekomen uit trunk
svn path=/Website/branches/v5.4.1/; revision=21124
2014-03-25 14:01:26 +00:00
Jos Groot Lipman
bfe131a6d9 FSN#29184 gen_export werkte niet goed als geen export-view gedefinieerd
svn path=/Website/branches/v5.4.1/; revision=21123
2014-03-25 13:59:38 +00:00
Jos Groot Lipman
18a3a3e53d FSN#29180 Subjectregel moet geen key tonen maar ordernr
svn path=/Website/branches/v5.4.1/; revision=21121
2014-03-25 12:36:57 +00:00
Jos Groot Lipman
e4d234d1e2 FSN#29180 E-mail parsen werkt bij parseUrl net iets anders
svn path=/Website/branches/v5.4.1/; revision=21120
2014-03-25 11:34:47 +00:00
Maarten van der Heide
24e0272054 PHBF0
svn path=/Website/branches/v5.4.1/; revision=21119
2014-03-25 09:38:18 +00:00
Peter Koerhuis
a50fed2574 NYBU#28350 Resterende wensen contractbeheer/verhuurregistratie
svn path=/Website/branches/v5.4.1/; revision=21117
2014-03-25 09:23:11 +00:00
Maarten van der Heide
c6d96f6d7c svn path=/Website/branches/v5.4.1/; revision=21116 2014-03-25 08:32:38 +00:00
Jos Groot Lipman
d724203510 In ontwikkel omgevingen mag je logging best aanzetten *zonder* PRSSYS
svn path=/Website/branches/v5.4.1/; revision=21115
2014-03-25 08:30:50 +00:00
Peter Feij
6871f31ba0 NYBY#29161 Reserveringsprijs werd null bij geen korting
svn path=/Website/branches/v5.4.1/; revision=21113
2014-03-24 16:56:02 +00:00
Maarten van der Heide
164b6d9e28 PZHO#27710 Aanpassingen door PZH/Traka bij ingebruikname tweede sleutelkast (zoals door Rainier op 14/3 per mail doorgegeven)
svn path=/Website/branches/v5.4.1/; revision=21108
2014-03-24 14:50:02 +00:00
Peter Feij
6285e87fde ALLI#29159 approved initieel -1 bij null ipv 0
svn path=/Website/branches/v5.4.1/; revision=21107
2014-03-24 14:33:36 +00:00
Jos Groot Lipman
f95c2f63cb AANS#29141 Locatie filters moeten geen autorisatie hebben
svn path=/Website/branches/v5.4.1/; revision=21104
2014-03-24 12:11:59 +00:00
Peter Koerhuis
fefb55807a FSN#26509
svn path=/Website/branches/v5.4.1/; revision=21103
2014-03-24 12:06:08 +00:00
Jos Groot Lipman
489b501eeb Merge 5.3.3 patches die nog moesten
svn path=/Website/branches/v5.4.1/; revision=21102
2014-03-24 10:54:46 +00:00
Jos Groot Lipman
9c7f1baecc FSN#29124 Security scan fixes (minder internal errors)
svn path=/Website/branches/v5.4.1/; revision=21099
2014-03-23 14:39:11 +00:00
Jos Groot Lipman
a28c018beb FSN#29124 Security scan fixes (minder internal errors)
svn path=/Website/branches/v5.4.1/; revision=21098
2014-03-23 09:57:13 +00:00
Jos Groot Lipman
ee85c3a3ba FSN#29124 Security scan fixes
svn path=/Website/branches/v5.4.1/; revision=21097
2014-03-23 08:48:18 +00:00
Peter Koerhuis
e31110aa3c svn path=/Website/branches/v5.4.1/; revision=21096 2014-03-21 17:03:29 +00:00
Erik Groener
2f5f616137 ARBO#29142 5.4.1 Geen autorisatie keuringen en inspecties
svn path=/Website/branches/v5.4.1/; revision=21093
2014-03-21 13:44:41 +00:00
Erik Groener
5c5252dd71 FSN#29125 Nieuwe SQL-injection in FACMGT
svn path=/Website/branches/v5.4.1/; revision=21089
2014-03-21 10:22:18 +00:00
Erik Groener
e30afde455 FSN#29125 Nieuwe SQL-injection in FACMGT
svn path=/Website/branches/v5.4.1/; revision=21088
2014-03-21 09:14:05 +00:00
Erik Groener
7c00a603ef FSN#29125 Nieuwe SQL-injection in FACMGT
svn path=/Website/branches/v5.4.1/; revision=21084
2014-03-21 08:22:32 +00:00
Jos Groot Lipman
ae92f59152 Merge 5.3.3 patches
svn path=/Website/branches/v5.4.1/; revision=21083
2014-03-20 18:27:07 +00:00
Jos Groot Lipman
79d8a227fe FSN#29124 Security scan: Nog even lege parameters zoals vanouds
svn path=/Website/branches/v5.4.1/; revision=21079
2014-03-20 15:47:28 +00:00
Daniëlle Tolner
614340b28b VGLD#29134: gewenste afleverdatum op bestelopdrachtbon
svn path=/Website/branches/v5.3.3/; revision=21078
2014-03-20 15:34:09 +00:00
Daniëlle Tolner
4b0844e7a5 NYBU#28970: Notificatiejob Delivery at servicepoint
svn path=/Website/branches/v5.3.3/; revision=21077
2014-03-20 15:25:51 +00:00
Jos Groot Lipman
8089931704 Versie 5.4.1 Gold A
svn path=/Website/branches/v5.4.1/; revision=21074
2014-03-20 15:20:28 +00:00
Erik Groener
5fde4fe397 FSN#29125 Nieuwe SQL-injection in FACMGT
svn path=/Website/branches/v5.4.1/; revision=21071
2014-03-20 13:45:52 +00:00
Jos Groot Lipman
34470d085b FSN#29135 Minder loze fac_session records (bij fallback users)
svn path=/Website/branches/v5.4.1/; revision=21070
2014-03-20 13:37:58 +00:00
Jos Groot Lipman
9d37ed5a52 FSN#29124 Security scan: voorkom meer XSS
svn path=/Website/branches/v5.4.1/; revision=21069
2014-03-20 11:54:33 +00:00
Jos Groot Lipman
0e03828c35 UWVA#29129 Leverdatum nooit meer in het verleden.
svn path=/Website/branches/v5.4.1/; revision=21068
2014-03-20 11:28:32 +00:00
Jos Groot Lipman
72224be61e FSN#29065 '[ ] Melding ook' kwam veel te vaak in beeld
svn path=/Website/branches/v5.4.1/; revision=21067
2014-03-20 11:04:09 +00:00
Jos Groot Lipman
f7da1001f2 FSN#29124 Security scan: voorkom meer ORA-errors
svn path=/Website/branches/v5.4.1/; revision=21064
2014-03-20 09:55:23 +00:00
Erik Groener
29bb8de622 FSN#29065 Afhandeling invullen mld werkt niet als wordt afgemeld via laatste opdracht 541
svn path=/Website/branches/v5.4.1/; revision=21063
2014-03-20 09:31:27 +00:00
Jos Groot Lipman
ec12d0661a FSN#29124 Security scan: voorkom meer ORA-errors
svn path=/Website/branches/v5.4.1/; revision=21062
2014-03-20 09:28:55 +00:00
Jos Groot Lipman
6f0426bde8 FSN#29111 AiAi op datum submitten
svn path=/Website/branches/v5.4.1/; revision=21058
2014-03-19 12:36:41 +00:00
Jos Groot Lipman
6bb58f5012 FSN#29106: AiAi bij opvragen persoon bij factuurinvoer had in 541 gemoeten
svn path=/Website/branches/v5.4.1/; revision=21057
2014-03-19 11:41:40 +00:00
Jos Groot Lipman
86b3af7de8 Errors iets beter loggen
svn path=/Website/branches/v5.4.1/; revision=21055
2014-03-19 11:08:10 +00:00
Jos Groot Lipman
fd0c0a2382 FSN#29118 mld_key is undefined
svn path=/Website/branches/v5.4.1/; revision=21052
2014-03-19 10:04:16 +00:00
Daniëlle Tolner
231ecbd4d3 NYBU#28968: Afleverdatum op bestelopdrachtbon
svn path=/Website/branches/v5.3.3/; revision=21051
2014-03-19 09:34:01 +00:00
Jos Groot Lipman
26df8b937a AANS#29105 Share and Meet vanuit mobiel
svn path=/Website/branches/v5.4.1/; revision=21049
2014-03-19 08:29:30 +00:00
Jos Groot Lipman
4f3485f18d FSN#29111 AiAi op datum submitten
svn path=/Website/branches/v5.4.1/; revision=21047
2014-03-18 15:14:18 +00:00
Arthur Egberink
873074c866 PZHO#28821 -- Export vergaderschema tbv narrowcasting schermen
svn path=/Website/branches/v5.3.3/; revision=21042
2014-03-18 12:49:59 +00:00
Erik Groener
48cb47cfbc PNBR#29084 5.4.1 Reservering via Facilitor mobile: aantal personen wordt gewist
svn path=/Website/branches/v5.4.1/; revision=21041
2014-03-18 12:45:58 +00:00
Erik Groener
d0c7a0598d PNBR#29077 Objectkenmerk selectieveld is leeg (5.4.1)
svn path=/Website/branches/v5.4.1/; revision=21040
2014-03-18 12:18:06 +00:00
Jos Groot Lipman
d2d137b01c AiAi als in ander tabje afspraak werd verwijderd
svn path=/Website/branches/v5.4.1/; revision=21038
2014-03-18 09:28:00 +00:00
Jos Groot Lipman
a2a4f2a27d FSN#29090 ARAI standalone van meldingenscherm
svn path=/Website/branches/v5.4.1/; revision=21037
2014-03-18 09:25:48 +00:00
Jos Groot Lipman
b9e38153d4 FSN#29090 ARAI standalone van meldingenscherm
svn path=/Website/branches/v5.4.1/; revision=21036
2014-03-18 09:13:12 +00:00
Maykel Geerdink
054a22bb07 AAIT#29071: 5.4.1 ontvangen van bestelaanvragen.
svn path=/Website/branches/v5.4.1/; revision=21033
2014-03-17 15:25:08 +00:00
Jos Groot Lipman
6dd8017e3f FSN#29085 PRS_OPENST_OPDRACHT moet echt niets doen schijnbaar
svn path=/Website/branches/v5.4.1/; revision=21031
2014-03-17 13:56:21 +00:00
Jos Groot Lipman
3d3832f99b FSN#29063 Importeren van nieuwe imports niet meer mogelijk
svn path=/Website/branches/v5.4.1/; revision=21030
2014-03-17 13:31:59 +00:00
Maykel Geerdink
67866ea999 AAIT#29060: 5.4.1 objecten wijzigen niet meer mogelijk.
svn path=/Website/branches/v5.4.1/; revision=21029
2014-03-17 12:41:38 +00:00
Erik Groener
602fd88b7b FSN#29063 Importeren van nieuwe imports niet meer mogelijk
svn path=/Website/branches/v5.4.1/; revision=21027
2014-03-17 12:26:16 +00:00
Maarten van der Heide
e4374a827f FSN#28900 DCOL0
svn path=/Website/branches/v5.3.3/; revision=21025
2014-03-17 11:40:51 +00:00
Maarten van der Heide
4a1a6d526a FSN#28726 PHBF0
svn path=/Website/branches/v5.3.3/; revision=21024
2014-03-17 11:32:06 +00:00
Maykel Geerdink
787e877836 AALB#29059: 5.4.1 AiAi mld_key=undefined bij goedkeuren (ook AADO+AAHU).
svn path=/Website/branches/v5.4.1/; revision=21023
2014-03-17 10:34:03 +00:00
Maarten van der Heide
cb4ba084f2 MAYF#29009 Onderscheid mandaat vs. uitvoeringsopdracht
svn path=/Website/branches/v5.3.3/; revision=21022
2014-03-17 09:45:30 +00:00
Jos Groot Lipman
12dd57d6d4 AAIT#29057 Sluiten 'alle' tabbladen gaf clientside error
svn path=/Website/branches/v5.4.1/; revision=21021
2014-03-17 09:38:42 +00:00
Erik Groener
fa842904a4 FSN#29063 Importeren van nieuwe imports niet meer mogelijk
svn path=/Website/branches/v5.4.1/; revision=21020
2014-03-17 09:07:05 +00:00
Maykel Geerdink
1d65afd854 AADS#29058: 5.4.1 AiAi startdatum is NOT integer.
svn path=/Website/branches/v5.4.1/; revision=21019
2014-03-17 09:01:45 +00:00
Jos Groot Lipman
cc04870014 FSN#29074 AiAi Ambiguous column engelstalig
svn path=/Website/branches/v5.4.1/; revision=21018
2014-03-17 08:51:36 +00:00
Maarten van der Heide
3b280588b5 WIBC#28752+WIBC#28756+WIBC#28908 Opmaak factuur/bonnen
svn path=/Website/branches/v5.3.3/; revision=21017
2014-03-14 16:36:26 +00:00
Ruud Lipper
6aa4c1b7b8 AAIT#29023 nieuw thema
svn path=/Website/branches/v5.4.1/; revision=21014
2014-03-14 12:50:17 +00:00
Maarten van der Heide
e3965d9300 WTCA#29051 Periodeoverzicht als factuurvoorstel (definitief)
svn path=/Website/branches/v5.3.3/; revision=21009
2014-03-13 17:36:46 +00:00
Maarten van der Heide
87efecfd81 WTCA#29051 Periodeoverzicht als factuurvoorstel (definitief)
svn path=/Website/branches/v5.3.3/; revision=21006
2014-03-13 17:24:18 +00:00
Jos Groot Lipman
aa58e250aa Versie 5.4.1 Gold
svn path=/Website/branches/v5.4.1/; revision=20999
2014-03-13 14:07:27 +00:00
Maarten van der Heide
54662255f2 WIBC#28753 Land/WIBC#28756+WIBC#28908 Engelse versie factuur/bonnen
svn path=/Website/branches/v5.3.3/; revision=20996
2014-03-13 13:48:28 +00:00
Jos Groot Lipman
c27d02c422 AANS#29006 Ook: remote's iets robuuster gemaakt (althans: minder harde AiAi bij timeout en meer een DoLog)
svn path=/Website/branches/v5.4.1/; revision=20995
2014-03-13 13:47:21 +00:00
Jos Groot Lipman
d8c5010e6d RWSN#18466 workflowstep pas achteraan als (normaal gesproken) de flex zijn gekopieerd. De workflowstep heeft die namelijk misschien nodig
svn path=/Website/branches/v5.4.1/; revision=20994
2014-03-13 13:42:39 +00:00
Jos Groot Lipman
b68089a469 FSN#28944 'Performance verbetering': res_ruimte_key miste bij slepen
svn path=/Website/branches/v5.4.1/; revision=20990
2014-03-13 13:06:19 +00:00
Marcel Bourseau
2ccdcb4834 VIAR#28919: Geen print popup bij IBA melding
svn path=/Website/branches/v5.3.3/; revision=20989
2014-03-13 13:03:38 +00:00
Jos Groot Lipman
cb865836bb AANS#29006 Ook: remote's iets robuuster gemaakt (althans: minder harde AiAi bij timeout en meer een DoLog)
svn path=/Website/branches/v5.4.1/; revision=20986
2014-03-13 12:12:17 +00:00
Jos Groot Lipman
dc6e6f7c2e FSN#23537 Toevallig ontdekt: worldmeetings attachtments gingen de deur niet uit door exception op objStrm.WriteText
Ook nog: customerId zelf uit database halen en een batchfile om aan te roepen

svn path=/Website/branches/v5.4.1/; revision=20985
2014-03-13 12:07:50 +00:00
Maykel Geerdink
4d85e8a51b AAIT#29037: Foutmelding bij aanpassen project(uren) briefje.
svn path=/Website/branches/v5.4.1/; revision=20982
2014-03-13 10:59:15 +00:00
Jos Groot Lipman
0cff858a42 AANS#29006 Ook: remote's iets robuuster gemaakt (althans: minder harde AiAi bij timeout en meer een DoLog)
svn path=/Website/branches/v5.4.1/; revision=20981
2014-03-13 10:30:28 +00:00
Jos Groot Lipman
311a501b92 FSN#29046 Session("has_no_remote_res"); zodat niet te vaak remote kijken
svn path=/Website/branches/v5.4.1/; revision=20980
2014-03-13 10:28:46 +00:00
Jos Groot Lipman
931f7af2d6 AANS#29006 fac_like klikken ook ondersteunen voor remote
Ook: remote's iets robuuster gemaakt (althans: minder harde AiAi bij timeout en meer een DoLog)

svn path=/Website/branches/v5.4.1/; revision=20979
2014-03-13 09:12:13 +00:00
Jos Groot Lipman
9661fe5195 PNBR#29045 S("mld_note_sort_ascending") iets correcter gebruiken
svn path=/Website/branches/v5.4.1/; revision=20978
2014-03-13 08:36:04 +00:00
Jos Groot Lipman
e89f8303c3 Altijd al wat ongeldige haakjes in de logfile <style>
svn path=/Website/branches/v5.4.1/; revision=20976
2014-03-13 08:21:53 +00:00
Jos Groot Lipman
383c0fb83f FSN#29024 fac_like ook vanuit detailscherm
svn path=/Website/branches/v5.4.1/; revision=20975
2014-03-13 08:13:31 +00:00
Maarten van der Heide
b583bff6e5 UWVA#29005 Opruimen niet (meer) gebruikte exports
svn path=/Website/branches/v5.4.1/; revision=20973
2014-03-12 15:52:05 +00:00
Erik Groener
2657704b8b FSN#29024 fac_like ook vanuit detailscherm
svn path=/Website/branches/v5.4.1/; revision=20972
2014-03-12 14:49:51 +00:00
Arthur Egberink
2f622c52b4 AANS#28946 -- vergaderinfo ns naar nieuwe server.
svn path=/Website/branches/v5.4.1/; revision=20965
2014-03-12 12:25:02 +00:00
Erik Groener
353a8a4018 RWSN#28358 Vervaldatum-werking zoals voor Eigen tabel-domein ook voor View-domein
svn path=/Website/branches/v5.4.1/; revision=20964
2014-03-12 12:02:31 +00:00
Erik Groener
c1f3f9958a FSN#29024 fac_like ook vanuit detailscherm
svn path=/Website/branches/v5.4.1/; revision=20963
2014-03-12 11:58:04 +00:00
Maykel Geerdink
94e568d3d4 AAIT#29027: Contracten blijven ter goedkeuring staan.
svn path=/Website/branches/v5.4.1/; revision=20962
2014-03-12 11:40:23 +00:00
Arthur Egberink
24a3cfc8b4 AANS#28946 -- vergaderinfo ns naar nieuwe server.
svn path=/Website/branches/v5.3.3/; revision=20961
2014-03-12 10:50:59 +00:00
Jos Groot Lipman
1525858eb2 session_customerId iets safe'r maar eigenlijk wil ik hem kwijt natuurlijk
svn path=/Website/branches/v5.4.1/; revision=20960
2014-03-12 10:08:48 +00:00
Jos Groot Lipman
e00b48af6f FSN#29025 Undocumented fac_lang parameter ondersteunen
svn path=/Website/branches/v5.4.1/; revision=20957
2014-03-12 09:42:37 +00:00
Jos Groot Lipman
d80f2c0f6d Freeze 5.4.2 RC2
svn path=/Website/branches/v5.4.1/; revision=20951
2014-03-11 15:57:59 +00:00
Daniëlle Tolner
b54e434a48 AAAR#28973: reservering naar formulierbewerker
svn path=/Website/branches/v5.3.3/; revision=20950
2014-03-11 15:55:12 +00:00
Daniëlle Tolner
e8c721f256 AAAR#28973: Reservering naar formulierbewerker
svn path=/Website/branches/v5.3.3/; revision=20949
2014-03-11 15:53:58 +00:00
Daniëlle Tolner
41b411be7b AAAR#28973: S&M notificaties
svn path=/Website/branches/v5.3.3/; revision=20948
2014-03-11 15:52:58 +00:00
Jos Groot Lipman
7f589ca609 Branch 5.4.1
svn path=/Website/branches/v5.4.1/; revision=20944
2014-03-11 12:24:47 +00:00
Erik Groener
ed1f4b59f8 UWVA#28520 filterveld Ingevoerd door in MI
svn path=/Website/trunk/; revision=20943
2014-03-11 12:21:18 +00:00
Erik Groener
5f6058deb3 FSN#28734 Proof-of-concept voor (touch-)schermpje naast ingang reserveerbare zaal
svn path=/Website/trunk/; revision=20941
2014-03-11 12:00:42 +00:00
Erik Groener
278762d35b FSN#28734 Proof-of-concept voor (touch-)schermpje naast ingang reserveerbare zaal
svn path=/Website/trunk/; revision=20937
2014-03-11 10:03:05 +00:00
Maykel Geerdink
11ad68121a PCHD#28987: Vinkje kostenklant wordt onterecht vanzelf uitgezet.
svn path=/Website/trunk/; revision=20936
2014-03-11 09:59:49 +00:00
Erik Groener
e8dc078e69 FSN#28734 Proof-of-concept voor (touch-)schermpje naast ingang reserveerbare zaal
svn path=/Website/trunk/; revision=20934
2014-03-11 09:30:59 +00:00
Erik Groener
da657264af AAEY#28931 Gebouwomschrijving niet zichtbaar bij CNT scope
svn path=/Website/trunk/; revision=20932
2014-03-11 08:33:51 +00:00
Erik Groener
55f9f3e5a6 NYBU#28124 Annuleren reservering
svn path=/Website/trunk/; revision=20931
2014-03-11 07:39:24 +00:00
Maykel Geerdink
5d4c57f2cf AASA#29002: 5.4.1: Vervallen kostenplaatsen.
svn path=/Website/trunk/; revision=20930
2014-03-11 07:16:32 +00:00
Jos Groot Lipman
73d2eba829 AAIT#28073 onclick uit tijdens reload
svn path=/Website/trunk/; revision=20929
2014-03-10 16:31:50 +00:00
Jos Groot Lipman
cbecbbcec1 AANS#29006 Onverklaarde timeouts op remote-url's. Resolve en Connect eens op 5 seconde zetten?
svn path=/Website/trunk/; revision=20928
2014-03-10 15:27:43 +00:00
Maykel Geerdink
94920e75fb FSN#28996: 5.4.1 AiAi bij toevoegen object.
svn path=/Website/trunk/; revision=20927
2014-03-10 15:24:39 +00:00
Jos Groot Lipman
ac44225d2f Commentaar over overrulen van niet-bestaande lcl's verduidelijkt.
svn path=/Website/trunk/; revision=20926
2014-03-10 15:23:52 +00:00
Jos Groot Lipman
4c75bc55c5 AANS#29006 remote liken is niet mogelijk
svn path=/Website/trunk/; revision=20925
2014-03-10 14:56:53 +00:00
Jos Groot Lipman
9f20b0f668 AANS#29006 Ook kleuren in eigen planbord als je contactpersoon bent
svn path=/Website/trunk/; revision=20924
2014-03-10 14:49:19 +00:00
Maykel Geerdink
390a09f54d AASA#29002: 5.4.1: Vervallen kostenplaatsen.
svn path=/Website/trunk/; revision=20922
2014-03-10 14:30:39 +00:00
Jos Groot Lipman
20174fcd26 FSN#28168 gen_export als js
svn path=/Website/trunk/; revision=20921
2014-03-10 14:19:06 +00:00
Jos Groot Lipman
f8292143e9 FSN#28168 gen_export als js
svn path=/Website/trunk/; revision=20920
2014-03-10 14:02:29 +00:00
Erik Groener
b6b9656d7d FSN#28734 Proof-of-concept voor (touch-)schermpje naast ingang reserveerbare zaal
svn path=/Website/trunk/; revision=20919
2014-03-10 13:48:39 +00:00
Maykel Geerdink
959f4ad336 SORO#28990: Gebouwkostenplaats wordt niet gekozen bij FrontEnd.
svn path=/Website/trunk/; revision=20918
2014-03-10 13:28:17 +00:00
Jos Groot Lipman
d550b08555 Merge 5.3.3 patches
svn path=/Website/trunk/; revision=20917
2014-03-10 13:18:10 +00:00
Jos Groot Lipman
37fa1e1940 Auto widget breedte
svn path=/Website/trunk/; revision=20916
2014-03-10 13:09:39 +00:00
Maykel Geerdink
33d2b4b163 AAIT#26733: Extra goedkeuringsniveau voor opdrachten.
svn path=/Website/trunk/; revision=20915
2014-03-10 13:00:42 +00:00
Jos Groot Lipman
4ff325fde9 Merge 5.3.2 patches
svn path=/Website/trunk/; revision=20914
2014-03-10 12:53:40 +00:00
Erik Groener
257061ba64 NYBU#28124 Annuleren reservering
svn path=/Website/trunk/; revision=20913
2014-03-10 12:39:01 +00:00
Erik Groener
1f8b866223 FSN#28953 CNT Filtering niet helemaal correct
svn path=/Website/trunk/; revision=20912
2014-03-10 12:10:12 +00:00
Jos Groot Lipman
7650559ac1 AAEN#27918 Inlog-link alleen mailen als gebruik OSLOGIN had
svn path=/Website/trunk/; revision=20911
2014-03-10 11:34:04 +00:00
Jos Groot Lipman
9255f076c3 FSN#28966 'null' is nooit een ongeldige key-waarde (gebeurde bij defaults)
svn path=/Website/trunk/; revision=20910
2014-03-10 10:57:46 +00:00
Erik Groener
6474174370 FSN#28732 Flexkenmerken bij inspecties
svn path=/Website/trunk/; revision=20905
2014-03-07 15:05:12 +00:00
Peter Feij
e5562dda74 FSN#28734 zo eerst maar eens
svn path=/Website/trunk/; revision=20901
2014-03-06 16:09:40 +00:00
Erik Groener
af86731861 AANS#28804 Schermen uitbreiden met zoek velden
svn path=/Website/trunk/; revision=20899
2014-03-06 15:56:39 +00:00
Maykel Geerdink
6669e02534 AAIT#26733: Extra goedkeuringsniveau voor opdrachten.
svn path=/Website/trunk/; revision=20898
2014-03-06 15:50:49 +00:00
Jos Groot Lipman
d7c8639c76 AAIT#28814 Share&Meet beter eigen externe reserveringen in planbord tonen
svn path=/Website/trunk/; revision=20895
2014-03-06 15:42:05 +00:00
Erik Groener
335f6a7be9 AAIT#28530 Opmerking bij rating kunnen invullen
svn path=/Website/trunk/; revision=20893
2014-03-06 15:14:22 +00:00
Maykel Geerdink
d176098fa7 FSN#28950: SLE/INS: Geavanceerd knop sleutelsets overzicht geeft geen kenmerken.
svn path=/Website/trunk/; revision=20892
2014-03-06 14:30:51 +00:00
Jos Groot Lipman
1843c39d9c API 2.0 in wording: gebouw filter visitable erbij
svn path=/Website/trunk/; revision=20890
2014-03-06 14:01:51 +00:00
Ruud Lipper
ef40f2f43c SUTF#28967 afleverdatum op bestelopdrachtbon
svn path=/Website/branches/v5.3.3/; revision=20889
2014-03-06 13:07:48 +00:00
Jos Groot Lipman
3d64278bac 5.4.1 RC1 in wording
svn path=/Website/trunk/; revision=20888
2014-03-06 13:06:49 +00:00
Maykel Geerdink
a350690f72 FSN#28840: Melding einddatum vaker verbergen.
svn path=/Website/trunk/; revision=20887
2014-03-06 12:53:25 +00:00
Maykel Geerdink
bc5df413ad FSN#28951: INS: Sleutel objectsoort zichtbaar in objectenbeheer.
svn path=/Website/trunk/; revision=20886
2014-03-06 12:52:08 +00:00
Erik Groener
78244a427c FSN#28732 Flexkenmerken bij inspecties
svn path=/Website/trunk/; revision=20885
2014-03-06 12:02:38 +00:00
Marcel Bourseau
69bd41c54e VIAR#28919 - Aanpassen incidentele bestelaanvraag (IBA)
svn path=/Website/branches/v5.3.3/; revision=20884
2014-03-06 12:02:17 +00:00
Peter Feij
4431845f61 FSN#28734 voor res-ruimteschermpje
svn path=/Website/trunk/; revision=20883
2014-03-06 11:30:21 +00:00
Maykel Geerdink
8e83c94522 FSN#28860: Contract wordt niet verzonden indien geen fiattering noodzakelijk is.
svn path=/Website/trunk/; revision=20882
2014-03-06 11:25:04 +00:00
Jos Groot Lipman
4c7e25e2ba PF: More...-regel niet als het maar één regel betreft
svn path=/Website/trunk/; revision=20881
2014-03-06 11:23:04 +00:00
Jos Groot Lipman
3094e02bbc API 2.0 in wording
svn path=/Website/trunk/; revision=20879
2014-03-06 10:56:03 +00:00
Peter Feij
ab70765204 FSN#26509 Portalmenu iets beter te stylen (touch-kleuren volgen nu de settings)
svn path=/Website/trunk/; revision=20878
2014-03-06 10:46:00 +00:00
Maykel Geerdink
a8c4d632a4 FSN#28780: Verplicht object bij melding werkt niet correct.
svn path=/Website/trunk/; revision=20877
2014-03-06 10:33:01 +00:00
Jos Groot Lipman
44b937e493 AANS#28982 Locatie filter heeft nooit goed gewerkt
svn path=/Website/trunk/; revision=20876
2014-03-06 10:18:18 +00:00
Maykel Geerdink
0aaf899960 AAIT#26733: Extra goedkeuringsniveau voor opdrachten.
svn path=/Website/trunk/; revision=20875
2014-03-06 10:10:10 +00:00
Maykel Geerdink
abe6829972 AAIT#26733: Extra goedkeuringsniveau voor opdrachten.
svn path=/Website/trunk/; revision=20874
2014-03-06 10:08:02 +00:00
Jos Groot Lipman
3cc991f06c AAIT#28530 Eigen lcl en layout voor fac-like
svn path=/Website/trunk/; revision=20872
2014-03-06 09:37:24 +00:00
Jos Groot Lipman
c21d34075a FSN#28944 'Performance verbetering' fixes
svn path=/Website/trunk/; revision=20870
2014-03-05 15:11:24 +00:00
Jos Groot Lipman
79fb43f6b1 Zulke oude bestanden met nog verrassend veel globale variabelen
svn path=/Website/trunk/; revision=20868
2014-03-05 15:03:51 +00:00
Erik Groener
20662235af AAIT#28530 Opmerking bij rating kunnen invullen
svn path=/Website/trunk/; revision=20867
2014-03-05 14:23:43 +00:00
Erik Groener
b6cc1469ce AAIT#28530 Opmerking bij rating kunnen invullen
svn path=/Website/trunk/; revision=20865
2014-03-05 14:05:56 +00:00
Maykel Geerdink
5c44a6a109 FSN#28840: Melding einddatum vaker verbergen.
svn path=/Website/trunk/; revision=20864
2014-03-05 11:10:54 +00:00
Marcel Bourseau
0148945199 VGLD#28436: Aansluiten van leverancier Medeco
svn path=/Website/branches/v5.3.3/; revision=20863
2014-03-05 10:55:46 +00:00
Erik Groener
051884478f AANS#28804 Schermen uitbreiden met zoek velden
svn path=/Website/trunk/; revision=20862
2014-03-05 10:23:40 +00:00
Jos Groot Lipman
cd61d735fe FSN#28966 Iets betere kenmerk controle
svn path=/Website/trunk/; revision=20860
2014-03-05 09:39:30 +00:00
Jos Groot Lipman
48a0ae98f6 AAIT#28510 inlezer naam tonen had nog ongewenste invloed op group-by
svn path=/Website/trunk/; revision=20859
2014-03-05 09:04:53 +00:00
Maykel Geerdink
a01827478b FSN#28840: Melding einddatum vaker verbergen.
svn path=/Website/trunk/; revision=20856
2014-03-04 15:43:06 +00:00
Peter Feij
8162c4a167 UWVA#28402 Explicietere tracking van prijswijziging
svn path=/Website/trunk/; revision=20855
2014-03-04 14:57:43 +00:00
Jos Groot Lipman
33b40668d9 FSN#28966 'Foutieve' referentie kenmerkwaarden iets beter tolereren
svn path=/Website/trunk/; revision=20854
2014-03-04 14:06:58 +00:00
Maykel Geerdink
8e5bedd9e0 AAIT#26733: Extra goedkeuringsniveau voor opdrachten.
svn path=/Website/trunk/; revision=20850
2014-03-04 11:21:51 +00:00
Maykel Geerdink
fba075ca31 FSN#28950: SLE/INS: Geavanceerd knop sleutelsets overzicht geeft geen kenmerken.
svn path=/Website/trunk/; revision=20849
2014-03-04 11:03:08 +00:00
Jos Groot Lipman
b9bdd20da4 FSN#28960 fac_verify en consorten toegankelijker maken
svn path=/Website/trunk/; revision=20848
2014-03-04 10:34:04 +00:00
Jos Groot Lipman
bef64a2966 Ook link naar reguliere logfile opnemen. Verder iets correctere HTML code
svn path=/Website/trunk/; revision=20847
2014-03-04 10:00:25 +00:00
Maykel Geerdink
4bf3039cf4 FSN#28780: Verplicht object bij melding werkt niet correct.
svn path=/Website/trunk/; revision=20845
2014-03-04 09:14:40 +00:00
Maykel Geerdink
8a94065020 FSN#28950: SLE/INS: Geavanceerd knop sleutelsets overzicht geeft geen kenmerken.
svn path=/Website/trunk/; revision=20842
2014-03-03 15:06:25 +00:00
Arthur Egberink
3b6f7851ff AANS#28946 -- vergaderinfo ns naar nieuwe server.
svn path=/Website/branches/v5.3.3/; revision=20841
2014-03-03 15:03:58 +00:00
Jos Groot Lipman
0a511cf66c AAIT#26733 approval func_enabled aanroep voor inline actions zo veel mogelijk voorkomen
svn path=/Website/trunk/; revision=20840
2014-03-03 14:51:58 +00:00
Jos Groot Lipman
c705211d9d API 2.0 in wording
svn path=/Website/trunk/; revision=20839
2014-03-03 14:11:32 +00:00
Jos Groot Lipman
b1ac138866 FSN#28914 pda/melding.asp heel stuk opschonen door beter gebruik mld_info en stdm_info
svn path=/Website/trunk/; revision=20838
2014-03-03 14:05:39 +00:00
Jos Groot Lipman
3d789bc632 FSN#28952 Rechten controle eerder alles afbreken
svn path=/Website/trunk/; revision=20837
2014-03-03 13:46:41 +00:00
Jos Groot Lipman
87c48ec326 tikfoutje
svn path=/Website/trunk/; revision=20836
2014-03-03 13:30:36 +00:00
Maykel Geerdink
ec8eacfae6 AKZA#28761: overzicht sleutels op persoonlijk niveau valt niet uit te printen.
svn path=/Website/trunk/; revision=20835
2014-03-03 13:20:12 +00:00
Maykel Geerdink
096df89160 FSN#28951: INS: Sleutel objectsoort zichtbaar in objectenbeheer.
svn path=/Website/trunk/; revision=20834
2014-03-03 13:18:44 +00:00
Maykel Geerdink
6f81fdda63 FSN#28950: SLE/INS: Geavanceerd knop sleutelsets overzicht geeft geen kenmerken.
svn path=/Website/trunk/; revision=20833
2014-03-03 13:10:39 +00:00
Jos Groot Lipman
cf1aedf0b3 AAIT#28530 fac_like opmerking op heel veel plekken safe'r gemaakt
svn path=/Website/trunk/; revision=20832
2014-03-03 12:56:45 +00:00
Erik Groener
394425999e FSN#28914 Save van melding op mobile past datum aan
svn path=/Website/trunk/; revision=20831
2014-03-03 12:23:31 +00:00
Jos Groot Lipman
de45289592 FSN#28949 Lijst was erg trage omdat veelal onnodig werd gekeken of je kon approven
svn path=/Website/trunk/; revision=20830
2014-03-03 11:45:13 +00:00
Jos Groot Lipman
ba50793e22 FSN#28514 Betere HMAC bescherming als bookmark naar hmac
svn path=/Website/trunk/; revision=20829
2014-03-03 09:50:48 +00:00
Jos Groot Lipman
711c876737 FSN#28514 Automatisch customerId uit eerste vier letters URL
svn path=/Website/trunk/; revision=20828
2014-03-03 09:23:06 +00:00
Erik Groener
9faae1ed19 FSN#28732 Flexkenmerken bij inspecties
svn path=/Website/trunk/; revision=20827
2014-03-03 08:58:00 +00:00
Erik Groener
ce5ed0e4f3 FSN#28732 Flexkenmerken bij inspecties
svn path=/Website/trunk/; revision=20826
2014-03-03 08:38:22 +00:00
Jos Groot Lipman
a62a0a07aa FSN#28944 'Performance verbetering': busy loading tonen
svn path=/Website/trunk/; revision=20825
2014-03-02 19:51:11 +00:00
Jos Groot Lipman
f8e790c1ed FSN#28944 Performance (geheugen) verbetering door opslaan minder data in existing_res
svn path=/Website/trunk/; revision=20824
2014-03-02 10:08:52 +00:00
Jos Groot Lipman
a7e17f12ea Compacter *alleen* bij grote (4px) planborden
svn path=/Website/trunk/; revision=20823
2014-03-02 09:52:53 +00:00
Jos Groot Lipman
8d505bdd72 FSN#28944 Performance verbetering door veel minder reserveringen op te halen
svn path=/Website/trunk/; revision=20822
2014-03-02 09:46:40 +00:00
Jos Groot Lipman
f9d96d4c12 NYBU#27467 Planbord met overgang zomertijd erin betere bloklengtes
svn path=/Website/trunk/; revision=20821
2014-03-02 09:14:44 +00:00
Ruud Lipper
e6e1279496 AANS#28941 - telefoonnummer aanvrager op reserveringsbon
svn path=/Website/branches/v5.3.3/; revision=20819
2014-02-28 13:17:38 +00:00
Erik Groener
2e9c06d696 AAIT#26733 Extra goedkeuringsniveau voor opdrachten
svn path=/Website/trunk/; revision=20818
2014-02-28 09:06:53 +00:00
Erik Groener
dfd40b8296 AAIT#28530 Opmerking bij rating kunnen invullen
svn path=/Website/trunk/; revision=20816
2014-02-28 08:12:53 +00:00
Jos Groot Lipman
03610ae374 RWSN#27465 Toelichting controle op dubbel reserveerbare delen aanscherpen
svn path=/Website/trunk/; revision=20814
2014-02-27 15:52:23 +00:00
Ruud Lipper
1ec7b8acbd UWVA#28494
svn path=/Website/branches/v5.3.3/; revision=20813
2014-02-27 15:18:54 +00:00
Maykel Geerdink
4e6ae66d56 AANS#28583: Actie bij bezoek.
svn path=/Website/trunk/; revision=20812
2014-02-27 15:13:13 +00:00
Jos Groot Lipman
c02c1b15c2 RWSN#28872 Bij falen flexkenmerken in ieder geval zorgen dat status al gezet is.
svn path=/Website/trunk/; revision=20811
2014-02-27 14:58:40 +00:00
Ruud Lipper
0ba04f8502 UWVA#28494
svn path=/Website/branches/v5.3.3/; revision=20810
2014-02-27 14:42:59 +00:00
Jos Groot Lipman
f1378eaaa3 UWVA#28455 Performance planbordje iets verbeterd
svn path=/Website/trunk/; revision=20808
2014-02-27 13:17:26 +00:00
Marcel Bourseau
0d3a576032 VIAR#28919 Aanpassen incidentele bestelaanvraag (IBA)
svn path=/Website/branches/v5.3.3/; revision=20804
2014-02-27 12:25:21 +00:00
Peter Feij
836f6669f2 Durf ik zomaar zonder call: standaard moeten geannuleerde aanvragen niet in de selectie zitten
svn path=/Website/trunk/; revision=20803
2014-02-27 12:25:04 +00:00
Marcel Bourseau
9f1dd4db33 VIAR#28919 Aanpassen incidentele bestelaanvraag (IBA)
svn path=/Website/branches/v5.3.3/; revision=20802
2014-02-27 12:20:39 +00:00
Maykel Geerdink
7348bd7650 AAIT#26733: Extra goedkeuringsniveau voor opdrachten.
svn path=/Website/trunk/; revision=20801
2014-02-27 12:16:37 +00:00
Maykel Geerdink
efb2276f7b AAIT#26733: Extra goedkeuringsniveau voor opdrachten.
svn path=/Website/trunk/; revision=20800
2014-02-27 12:15:24 +00:00
Maarten van der Heide
d192e34009 SBSH#26779 Offertes/opdrachten naar uitvoerenden (incl. noti-wensen)
svn path=/Website/branches/v5.3.3/; revision=20799
2014-02-27 12:10:05 +00:00
Ruud Lipper
c6eea78339 UWVA#28494 FDO CNT noti reminder naar LFM
svn path=/Website/branches/v5.3.3/; revision=20798
2014-02-27 11:23:07 +00:00
Jos Groot Lipman
2d955764c7 NYBU#28869 Zaalopstelling bij boeken vanuit planbord
svn path=/Website/trunk/; revision=20795
2014-02-27 10:21:44 +00:00
Jos Groot Lipman
cab83bdb59 AAIT#28530 Opmerking bij rating kunnen invullen tikfoutje
svn path=/Website/trunk/; revision=20794
2014-02-27 09:51:53 +00:00
Jos Groot Lipman
b3b13203bf AAIT#28812 Externe reservering eigen lcl voor tabje
svn path=/Website/trunk/; revision=20793
2014-02-27 09:21:25 +00:00
Marcel Bourseau
b71fd0dc0d VIAR#28919- Aanpassen incidentele bestelaanvraag (IBA)
svn path=/Website/branches/v5.3.3/; revision=20792
2014-02-26 16:39:49 +00:00
Erik Groener
02fe4c56da AAIT#28530 Opmerking bij rating kunnen invullen
svn path=/Website/trunk/; revision=20789
2014-02-26 15:19:50 +00:00
Erik Groener
176c0ee621 AAIT#28530 Opmerking bij rating kunnen invullen
svn path=/Website/trunk/; revision=20787
2014-02-26 14:08:32 +00:00
Erik Groener
2eb1e9c3b3 AAIT#28530 Opmerking bij rating kunnen invullen
svn path=/Website/trunk/; revision=20786
2014-02-26 14:07:18 +00:00
Ruud Lipper
7431601a83 UWVA#28607 - referentie leverancier dikgedrukt mld
svn path=/Website/branches/v5.3.3/; revision=20784
2014-02-26 13:45:51 +00:00
Ruud Lipper
42605e613e GDZW#28845 - commentaar levering op bestelopdrachtbon
svn path=/Website/branches/v5.3.3/; revision=20783
2014-02-26 12:29:47 +00:00
Erik Groener
8efda3e078 NYBU#28869 Zaalopstelling bij boeken vanuit planbord
svn path=/Website/trunk/; revision=20779
2014-02-26 08:29:05 +00:00
Jos Groot Lipman
8f1d5a7017 AAEN#27918 Inlog-link kunnen mailen
svn path=/Website/trunk/; revision=20778
2014-02-25 15:31:41 +00:00
Jos Groot Lipman
cfb549a4a9 Tikfoutje
svn path=/Website/trunk/; revision=20777
2014-02-25 14:43:34 +00:00
Jos Groot Lipman
6d2f90fed7 FSN#28916 Overzicht verversen na wijziging instelling
svn path=/Website/trunk/; revision=20776
2014-02-25 10:48:24 +00:00
Jos Groot Lipman
d8519a9382 FSN#28916 Overzicht verversen na wijziging instelling
svn path=/Website/trunk/; revision=20775
2014-02-25 10:45:02 +00:00
Jos Groot Lipman
23bd74160a UWVA#28913 mld_postsave hook erbij
svn path=/Website/trunk/; revision=20773
2014-02-25 09:24:26 +00:00
Jos Groot Lipman
8bd98eb016 FSN#28730 Fixje: ALG-scope alleen meenemen bij double-check als srtdisc dat aangeeft
svn path=/Website/trunk/; revision=20772
2014-02-25 09:14:09 +00:00
Erik Groener
8f9365cd86 FSN#28732 Flexkenmerken bij inspecties
svn path=/Website/trunk/; revision=20771
2014-02-24 15:36:28 +00:00
Maykel Geerdink
7dde46b2cf FSN#28907: CNT: Verkeerde fiatteurs krijgen bericht.
svn path=/Website/trunk/; revision=20765
2014-02-24 14:02:08 +00:00
Peter Feij
acc3016c7a FSN#28896 Sensorstate-historie
svn path=/Website/trunk/; revision=20761
2014-02-24 09:13:26 +00:00
Jos Groot Lipman
235d01c267 new Perslid(prs_key) is onzinnig voor prs_key==-1
svn path=/Website/trunk/; revision=20758
2014-02-24 08:22:15 +00:00
Peter Feij
f4e0a99a3d FSN#26444 groepering niet standaard
svn path=/Website/trunk/; revision=20757
2014-02-21 16:00:35 +00:00
Peter Feij
2bc0f43408 FSN#28896 Sensorstate-historie
svn path=/Website/trunk/; revision=20755
2014-02-21 14:50:18 +00:00
Peter Feij
e5665edb6e FSN#28896 Sensorstate-historie
svn path=/Website/trunk/; revision=20754
2014-02-21 14:48:43 +00:00
Marcel Bourseau
17bf388671 SKAF#27382: oracle.udl
svn path=/Website/branches/v5.3.3/; revision=20752
2014-02-21 14:35:19 +00:00
Marcel Bourseau
3f982504cb SKAF#27382: Voor inlezen alle catalogi van leveranciers
svn path=/Website/branches/v5.3.3/; revision=20751
2014-02-21 13:45:20 +00:00
Marcel Bourseau
86801eebf4 SKAF#27382: Koppeling catalogus boodschappenonline
svn path=/Website/branches/v5.3.3/; revision=20750
2014-02-21 13:32:12 +00:00
Ruud Lipper
6531032311 svn path=/Website/branches/v5.3.3/; revision=20747 2014-02-21 12:23:30 +00:00
Ruud Lipper
cb7bce19cd SGGR#28854 kleine aanpassing opdrachten bon
svn path=/Website/branches/v5.3.3/; revision=20742
2014-02-21 09:19:13 +00:00
Maarten van der Heide
e84c9c3017 IVET#28885 lcl_sch_programma bestaat niet meer
svn path=/Website/branches/v5.3.3/; revision=20740
2014-02-21 08:26:50 +00:00
Erik Groener
629a2f1419 NYBU#28869 Zaalopstelling bij boeken vanuit planbord
svn path=/Website/trunk/; revision=20739
2014-02-21 08:25:38 +00:00
Ruud Lipper
90933bc834 SGGR#28854
svn path=/Website/branches/v5.3.3/; revision=20738
2014-02-20 15:59:31 +00:00
Jos Groot Lipman
44ade43524 FSN#28636 Gemiddelde 'like' bij groepering klopte niet.
svn path=/Website/trunk/; revision=20737
2014-02-20 15:57:13 +00:00
Ruud Lipper
138f4c91cd SGGR#28854 crediteren facturen bon
svn path=/Website/branches/v5.3.3/; revision=20736
2014-02-20 15:37:04 +00:00
Marcel Bourseau
2d626f42b8 ALLI#28637: Deeplink bouwbord goedkeuren
svn path=/Website/branches/v5.3.3/; revision=20735
2014-02-20 15:16:34 +00:00
Jos Groot Lipman
126f23d7ae AAIT#28073 Layout verbetering
svn path=/Website/trunk/; revision=20733
2014-02-20 15:00:36 +00:00
Jos Groot Lipman
f49c26fed8 AAIT#28088 Luxe Res planbord ruimte tooltip vervangt gewone tooltip
svn path=/Website/trunk/; revision=20732
2014-02-20 14:38:53 +00:00
Erik Groener
eb4b30a184 RENK#28817 Doorklikken vanuit contract naar object geeft onterecht geen resultaat
svn path=/Website/trunk/; revision=20731
2014-02-20 14:13:30 +00:00
Jos Groot Lipman
ff4960bc33 FSN#27794 Voorkom error bij lege bijlagenfolder doorsturen
svn path=/Website/trunk/; revision=20729
2014-02-20 13:26:29 +00:00
Jos Groot Lipman
9de6857571 FSN#26352 Niet meer klagen in de logging over LCL_Disable
svn path=/Website/trunk/; revision=20727
2014-02-20 12:48:04 +00:00
Jos Groot Lipman
826d7821b6 lcl_bes_srtdeel_need_cat (Filter eerst op catalogus) was nog hardcoded
svn path=/Website/trunk/; revision=20726
2014-02-20 12:36:46 +00:00
Jos Groot Lipman
434cd4c4ac new Perslid(prs_key) is onzinnig voor prs_key==-1
svn path=/Website/trunk/; revision=20725
2014-02-20 12:31:44 +00:00
Erik Groener
41e419fc93 AAIT#28809 'S&M: Diverse verfijningen mbt. Zoekfunctionaliteit
svn path=/Website/trunk/; revision=20724
2014-02-20 12:31:07 +00:00
Peter Feij
8164b0225a RENK#28799 srtkenmerk_dimensie ipv srtdeel_eenheid is beter
svn path=/Website/trunk/; revision=20723
2014-02-20 12:18:17 +00:00
Jos Groot Lipman
1517846908 FSN#28844 Betere autorisatie controle like's
svn path=/Website/trunk/; revision=20722
2014-02-20 12:07:13 +00:00
Jos Groot Lipman
bc3ffea88b FSN#26509 Portalmenu iets beter te stylen
svn path=/Website/trunk/; revision=20721
2014-02-20 11:30:02 +00:00
Peter Feij
088f8f1ba3 CSS-class voor reserveringsinfo toegevoegd
svn path=/Website/trunk/; revision=20720
2014-02-20 10:46:57 +00:00
Ruud Lipper
06d8162e4f PZHO#28876 kleine wijziging reserveringsbon
svn path=/Website/branches/v5.3.3/; revision=20719
2014-02-20 10:39:23 +00:00
Erik Groener
8b13266166 RWSN#28358 Vervaldatum-werking zoals voor Eigen tabel-domein ook voor View-domein
svn path=/Website/trunk/; revision=20718
2014-02-20 09:29:16 +00:00
Jos Groot Lipman
ebe05baff9 FSN#28595 ALG_GEBOUW_X,Y is float, geen integer
svn path=/Website/trunk/; revision=20717
2014-02-20 09:09:40 +00:00
Jos Groot Lipman
d8e867bcfa FSN#28568 Iets scherper controleren of een melding mogelijk is.
svn path=/Website/trunk/; revision=20716
2014-02-19 15:23:22 +00:00
Peter Feij
bfca4ba733 svn path=/Website/trunk/; revision=20714 2014-02-19 14:14:36 +00:00
Erik Groener
7a57ed61da RWSN#28358 Vervaldatum-werking zoals voor Eigen tabel-domein ook voor View-domein
svn path=/Website/trunk/; revision=20710
2014-02-19 13:09:29 +00:00
Jos Groot Lipman
50f9fa17f6 FSN#28874 Response.IsClientConnected imlpementeren
svn path=/Website/trunk/; revision=20707
2014-02-19 13:02:12 +00:00
Jos Groot Lipman
1cee418e6c Iets beter herkenbaar in Toad/Session browser etc
svn path=/Website/trunk/; revision=20705
2014-02-19 12:29:32 +00:00
Jos Groot Lipman
cdcfcded77 Merge 5.3.3 patches
svn path=/Website/trunk/; revision=20703
2014-02-19 12:14:36 +00:00
Jos Groot Lipman
47d87378cb FSN#28168 gen_export settings naar de database en implementatie in js
svn path=/Website/trunk/; revision=20702
2014-02-19 12:00:48 +00:00
Jos Groot Lipman
d4b4c42476 FSN#23537 Gen_Export en Putorders omschrijven naar JavaScript
svn path=/Website/trunk/; revision=20700
2014-02-19 11:11:38 +00:00
Arthur Egberink
438e04cef5 AAIT#28681 -- Webshop Benito aansluiten
svn path=/Website/branches/v5.3.3/; revision=20699
2014-02-19 10:24:36 +00:00
Arthur Egberink
2d8d6c1e9c AAIT#28681 -- Webshop Benito aansluiten
svn path=/Website/branches/v5.3.3/; revision=20698
2014-02-19 10:10:20 +00:00
Jos Groot Lipman
5e2d682a2d Versie 3.15: diverse kleine patches
svn path=/Website/trunk/; revision=20697
2014-02-19 09:36:28 +00:00
Erik Groener
db866cda09 AAES#28334 Ai Ai toevoegen dubbele standaard melding
svn path=/Website/trunk/; revision=20696
2014-02-19 09:33:46 +00:00
Maarten van der Heide
8efc4b3ead UWVA#28625 Voortzetting KTO
svn path=/Website/branches/v5.3.3/; revision=20695
2014-02-19 08:45:06 +00:00
Jos Groot Lipman
aecbebde26 AAAR#26799 Bedrag 1.482,50 werkt nu goed bij flexkenmerken
svn path=/Website/trunk/; revision=20691
2014-02-18 16:20:40 +00:00
Jos Groot Lipman
d39aa55c7b FSN#28843 Alleen flex-reload als er echt ##SQL## defaults zijn
svn path=/Website/trunk/; revision=20690
2014-02-18 15:25:21 +00:00
Maarten van der Heide
e456e825b0 AAES#28615 Linken naar klantspecifieke AAES_V_RAP_INFOBORD
svn path=/Website/branches/v5.3.3/; revision=20689
2014-02-18 15:21:02 +00:00
Maarten van der Heide
e9eeaf4452 AAES#28615 Linken naar klantspecifieke AAES_V_RAP_INFOBORD
svn path=/Website/branches/v5.3.3/; revision=20688
2014-02-18 15:18:22 +00:00
Maarten van der Heide
70c77d13b7 WTCA#28744 Periodeoverzicht als factuurvoorstel
svn path=/Website/branches/v5.3.3/; revision=20686
2014-02-18 14:36:50 +00:00
Jos Groot Lipman
c7ad42c5fe password_expired triggert vaak het lezen van de prs_perslid tabel.
Zorg dat dat beter in de logging te zien is.

svn path=/Website/trunk/; revision=20685
2014-02-18 14:34:10 +00:00
Jos Groot Lipman
2759bace19 AAIT#28073 3D plattegrond ook aanklikbaar
svn path=/Website/trunk/; revision=20684
2014-02-18 14:33:04 +00:00
Peter Koerhuis
7803d36407 Leesbaarheid en highlighting verbeteren.
svn path=/Website/trunk/; revision=20683
2014-02-18 13:00:44 +00:00
Erik Groener
ac6c669f4b NYBU#28124 Annuleren reservering
svn path=/Website/trunk/; revision=20682
2014-02-18 12:52:25 +00:00
Erik Groener
7f712e0bf5 HOUT#27908 Extra mogelijkheid kleur toevoegen in reserveringen planbord (bolletjes)
svn path=/Website/trunk/; revision=20679
2014-02-18 12:23:35 +00:00
Peter Feij
4723c52742 Eerste voorbereide readonly versie van Mijn contracten overzicht
svn path=/Website/trunk/; revision=20678
2014-02-18 12:11:48 +00:00
Peter Koerhuis
4ffcf07a32 Leesbaarheid en highlighting verbeteren.
svn path=/Website/trunk/; revision=20676
2014-02-18 11:21:37 +00:00
Maykel Geerdink
8048dbc41a AANS#28583: Actie bij bezoek.
svn path=/Website/trunk/; revision=20675
2014-02-18 11:21:32 +00:00
Jos Groot Lipman
6b0a2808d6 Betere refresh forceren na wissen
svn path=/Website/trunk/; revision=20674
2014-02-18 10:12:02 +00:00
Maykel Geerdink
d7c6a668bb SUTF#27809: Roomservice niet te bezorgen.
svn path=/Website/trunk/; revision=20673
2014-02-18 10:07:03 +00:00
Jos Groot Lipman
9acb703c99 NYBU#27467 Zomer/wintertijd beter als 'Verwacht vertrek' leeg is
svn path=/Website/trunk/; revision=20671
2014-02-18 09:51:52 +00:00
Maykel Geerdink
c961071bc1 AASA#28717: Kostenplaatsen kunnen gekozen blijven worden terwijl ze inactief zijn.
svn path=/Website/trunk/; revision=20669
2014-02-18 08:43:07 +00:00
Erik Groener
19131705bd FSN#28686 RES: Gastheer onderdrukken
svn path=/Website/trunk/; revision=20667
2014-02-18 08:04:09 +00:00
Jos Groot Lipman
7df0188a18 RWSN#28639 abort_with_warning te veel
svn path=/Website/trunk/; revision=20666
2014-02-18 08:02:49 +00:00
Maykel Geerdink
6dd89ec39a AANS#28583: Actie bij bezoek.
svn path=/Website/trunk/; revision=20665
2014-02-18 07:06:12 +00:00
Maarten van der Heide
200fba7ad7 UWVA#28625 Voortzetting KTO
svn path=/Website/branches/v5.3.3/; revision=20664
2014-02-17 16:22:24 +00:00
Jos Groot Lipman
9d7e011c5c NYBU#27467 Zomer/wintertijd beter
svn path=/Website/trunk/; revision=20662
2014-02-17 16:16:51 +00:00
Maykel Geerdink
7b24f9e1a9 SUTF#27809: Roomservice niet te bezorgen.
svn path=/Website/trunk/; revision=20658
2014-02-17 15:20:32 +00:00
Maykel Geerdink
d62be447ad SUTF#27809: Roomservice niet te bezorgen.
svn path=/Website/trunk/; revision=20657
2014-02-17 13:34:45 +00:00
Jos Groot Lipman
8f9bc2e33e AAEN#28667 Verwijderde opbouw, cherrypick van trunk naar branch
svn path=/Website/branches/v5.3.3/; revision=20656
2014-02-17 12:10:54 +00:00
Jos Groot Lipman
e36297131b FSN#28730 ALG-scope alleen meenemen bij double-check als srtdisc dat aangeeft
svn path=/Website/trunk/; revision=20655
2014-02-17 11:16:39 +00:00
Erik Groener
2b64885fc8 FSN#26873 Meer Mobile FE-functionaliteit (RES en meer)
svn path=/Website/trunk/; revision=20654
2014-02-17 11:06:16 +00:00
Maykel Geerdink
3b7cb918b7 FSN#28568: Organisatiegebonden objecten kunnen kiezen bij melding.
svn path=/Website/trunk/; revision=20653
2014-02-17 11:01:05 +00:00
Erik Groener
1a631bac06 HAYG#28762 Slepen van parkeerplaats in planbord geeft AiAi foutmelding
svn path=/Website/trunk/; revision=20652
2014-02-17 09:55:47 +00:00
Maykel Geerdink
54ca9f81b6 ARAI#28248: Klachtenformulier Bezoekers op rai website.
svn path=/Website/trunk/; revision=20650
2014-02-17 08:33:58 +00:00
Maykel Geerdink
65e165ecdc SUTF#27809: Roomservice niet te bezorgen.
svn path=/Website/trunk/; revision=20649
2014-02-17 07:31:28 +00:00
Peter Feij
6664241c81 AANS#28806 Apart label voor mobiel zoeken
svn path=/Website/trunk/; revision=20648
2014-02-14 16:39:33 +00:00
Arthur Egberink
e7f082658d PCHD#28831 -- aanpassen emailadres bij factuurexport
svn path=/Website/branches/v5.3.3/; revision=20647
2014-02-14 14:48:11 +00:00
Erik Groener
e3f84c6fe1 FSN#26873 Meer Mobile FE-functionaliteit (RES en meer)
svn path=/Website/trunk/; revision=20646
2014-02-14 14:18:54 +00:00
Marcel Bourseau
fe3c9c8cbe ALLI#28637: Link in mail naar communicatiemedewerker goedkeuren bouwbord.
svn path=/Website/branches/v5.3.3/; revision=20644
2014-02-14 13:21:22 +00:00
Marcel Bourseau
e7768cbcb8 ALLI#27715: Bouwborden 1) afleveradres 149 '-', en 2) geen notificatie naar besteller verwijderd (uitgecommentarieerd)
svn path=/Website/branches/v5.3.3/; revision=20641
2014-02-14 11:37:46 +00:00
Erik Groener
dbe60c5c77 HOUT#27908 Extra mogelijkheid kleur toevoegen in reserveringen planbord (bolletjes)
svn path=/Website/trunk/; revision=20640
2014-02-14 10:00:12 +00:00
Maarten van der Heide
5928060eca WTCA#28744 Periodeoverzicht als factuurvoorstel
svn path=/Website/branches/v5.3.3/; revision=20639
2014-02-14 09:08:08 +00:00
Arthur Egberink
7341cc31f0 PCHD#27717 -- Koppeling Exact factuur import
svn path=/Website/branches/v5.3.3/; revision=20638
2014-02-14 08:53:11 +00:00
Arthur Egberink
e07d3beeea PCHD#27717 -- Koppeling Exact factuur import
svn path=/Website/branches/v5.3.3/; revision=20636
2014-02-14 08:48:04 +00:00
Jos Groot Lipman
acf32a9ed8 AAIT#28810 Filtering ook naar extern
svn path=/Website/trunk/; revision=20635
2014-02-13 14:31:47 +00:00
Jos Groot Lipman
b67590f2cc AAES#28802 highlighten zoekwoorden via regexp vervanging aangescherpt
svn path=/Website/trunk/; revision=20634
2014-02-13 13:12:38 +00:00
Jos Groot Lipman
2fd40bc999 AAIT#28811 disk_key correct gebruiken zodat je niet altijd de 1e catalogus krijgt
svn path=/Website/trunk/; revision=20633
2014-02-13 12:17:15 +00:00
Peter Feij
0f21919db1 AAIT#28809 resetkruisje grijs
svn path=/Website/trunk/; revision=20632
2014-02-13 10:14:02 +00:00
Maykel Geerdink
4b91ce1de3 FSN#27581: RES: doodlopende weggetjes.
svn path=/Website/trunk/; revision=20631
2014-02-13 09:45:08 +00:00
Erik Groener
d49e04972f FSN#28803 'mld_startdatum' is undefined
svn path=/Website/trunk/; revision=20630
2014-02-13 08:56:34 +00:00
Jos Groot Lipman
23bf24b63f RWSN#28639 Alert iets beter
svn path=/Website/trunk/; revision=20629
2014-02-13 08:26:30 +00:00
Maarten van der Heide
372c9f6f0a UWVA#28625 Voortzetting KTO
svn path=/Website/branches/v5.3.3/; revision=20628
2014-02-12 16:22:07 +00:00
Jos Groot Lipman
d8e39b43f5 RENK#28799 Eenheid moet karakter zijn, niet numeriek
svn path=/Website/trunk/; revision=20626
2014-02-12 14:35:38 +00:00
Erik Groener
51b58f2a20 NYBU#28787 Catalogi verwijderen
svn path=/Website/branches/v5.3.3/; revision=20625
2014-02-12 14:24:23 +00:00
Maykel Geerdink
9fe0d622a4 HAYG#28556: Uitgeleend object verandert van persoon naar organisatie na opslaan.
svn path=/Website/branches/v5.3.3/; revision=20624
2014-02-12 14:17:24 +00:00
Erik Groener
6c520dda3b FSN#28686 RES: Gastheer onderdrukken
svn path=/Website/trunk/; revision=20623
2014-02-12 12:46:50 +00:00
Jos Groot Lipman
ecb897ca68 RWSN#28639 Voorziening reservering lastminute scherper verbieden
svn path=/Website/trunk/; revision=20622
2014-02-12 12:18:24 +00:00
Maykel Geerdink
34f297b5ea ARAI#28248: Klachtenformulier Bezoekers op rai website.
svn path=/Website/trunk/; revision=20620
2014-02-12 10:51:40 +00:00
Jos Groot Lipman
d52cc037d1 NETS#28757 CNT: Omschrijving-veld kolom verplaatsen
svn path=/Website/trunk/; revision=20619
2014-02-12 10:39:02 +00:00
Jos Groot Lipman
4adb01cede FSN#28460 Not-available ook in legenda objecten
svn path=/Website/trunk/; revision=20618
2014-02-12 10:34:45 +00:00
Erik Groener
5bd619d43d NETS#28757 CNT: Omschrijving-veld via Print/Excel kunnen exporteren
svn path=/Website/trunk/; revision=20614
2014-02-12 09:15:43 +00:00
Erik Groener
ccf5c3b0c1 NYBU#28124 Annuleren reservering
svn path=/Website/trunk/; revision=20613
2014-02-12 08:14:03 +00:00
Maykel Geerdink
b766aca325 AAEY#28690: Uitvoerende veld is leeg bij details opdracht.
svn path=/Website/branches/v5.3.3/; revision=20612
2014-02-12 07:04:37 +00:00
Arthur Egberink
2fb374533b AASA#28788 -- toevoegen maas koppeling
svn path=/Website/branches/v5.3.3/; revision=20610
2014-02-11 16:01:48 +00:00
Jos Groot Lipman
cc75ed35e7 Iets meer newlines. Handig als je er twee wilt vergelijken
svn path=/Website/trunk/; revision=20609
2014-02-11 13:55:20 +00:00
Maykel Geerdink
a9a0e577d0 UWVA#27971: RES: na aanmaken van reservering met catering kan je de kpn leeg maken.
svn path=/Website/trunk/; revision=20608
2014-02-11 13:38:28 +00:00
Erik Groener
09d0f6f797 AAIT#28510 Zichtbaar maken wie Standaardimport factuurbestand leverancier inleest
svn path=/Website/trunk/; revision=20607
2014-02-11 11:47:51 +00:00
Jos Groot Lipman
131daeca4b Merge AAIT#28088 Share & Meet: einde 5.3.4
svn path=/Website/trunk/; revision=20604
2014-02-11 08:28:10 +00:00
Maykel Geerdink
44284fa163 ARAI#28248: Klachtenformulier Bezoekers op rai website.
svn path=/Website/trunk/; revision=20602
2014-02-10 14:54:02 +00:00
Maykel Geerdink
b232c18a46 ARAI#28248: Klachtenformulier Bezoekers op rai website.
svn path=/Website/trunk/; revision=20601
2014-02-10 14:49:06 +00:00
Jos Groot Lipman
1cb00ae42e RWSN#28465 Einddatum/tijd kolommen beter splitsen naar Excel
svn path=/Website/trunk/; revision=20598
2014-02-10 13:43:33 +00:00
Maarten van der Heide
82b01d3155 WTCA#24891 Incidentnummer toevoegen
svn path=/Website/branches/v5.3.3/; revision=20596
2014-02-10 12:58:13 +00:00
Ruud Lipper
7b647d77b1 IVET#28674 afhandeling op R verhuizing BO
svn path=/Website/branches/v5.3.3/; revision=20595
2014-02-10 12:52:56 +00:00
Jos Groot Lipman
37bdb0e34c FSN#28730 ALG-scope alleen meenemen bij double-check als srtdisc dat aangeeft
svn path=/Website/trunk/; revision=20594
2014-02-10 12:44:09 +00:00
Maykel Geerdink
dd0337ea9a LOGI#28715: vraag over een activiteit: hoe maak ik aantal bezoekers verplicht.
svn path=/Website/trunk/; revision=20593
2014-02-10 09:21:53 +00:00
Jos Groot Lipman
8d35688b8f UWVA#28743 Iets robuuster bij NaN currentX en currentY
svn path=/Website/trunk/; revision=20592
2014-02-10 09:12:45 +00:00
Peter Feij
381e0a78d1 Typo die er heel lang zit
svn path=/Website/trunk/; revision=20586
2014-02-07 16:15:32 +00:00
Erik Groener
c5bf8523f6 AAIT#28694 Kenmerken aanmaken bij bestel catalogi werkt niet
svn path=/Website/trunk/; revision=20584
2014-02-07 15:44:43 +00:00
Peter Feij
db16957352 FSN#26444 Dividers-groeperingen toegevoegd
svn path=/Website/trunk/; revision=20582
2014-02-07 15:33:20 +00:00
Peter Feij
7d82f38f2d FSN#26444 Dividers-groeperingen toegevoegd
svn path=/Website/trunk/; revision=20581
2014-02-07 14:23:09 +00:00
Erik Groener
c0e6c45bf9 FSN#26873 Meer Mobile FE-functionaliteit (RES en meer)
svn path=/Website/trunk/; revision=20580
2014-02-07 13:17:35 +00:00
Erik Groener
52274c9a7f SORO#28680 Mailadressen in show schermen graag klikbaar
svn path=/Website/trunk/; revision=20575
2014-02-06 18:44:27 +00:00
Erik Groener
1327a0547e UWVA#28664 geen opdrachten afmelden ivm verplicht kenmerk op melding
svn path=/Website/trunk/; revision=20574
2014-02-06 18:05:41 +00:00
Erik Groener
fcdf97d938 AAIT#28519 Outlook meeting met bezoekers foutief in Facilitor overgenomen
svn path=/Website/trunk/; revision=20573
2014-02-06 15:42:41 +00:00
Jos Groot Lipman
b3fbe0c913 UWVA#28493 negatieve leverdagen: datum leeglaten
svn path=/Website/trunk/; revision=20571
2014-02-06 15:25:47 +00:00
Jos Groot Lipman
34e66588bc Iets betere foutmeldingen geven bij problemen
svn path=/Website/trunk/; revision=20570
2014-02-06 15:05:48 +00:00
Jos Groot Lipman
faa5fda3a0 AAIT#28073 3D InfoBord ook aanklikbare ruimtes 1e aanzet
svn path=/Website/trunk/; revision=20569
2014-02-06 15:04:52 +00:00
Maykel Geerdink
d2e999c3b7 FSN#28624: CNT: record bij wijzigen blokkeren.
svn path=/Website/trunk/; revision=20567
2014-02-06 14:38:29 +00:00
Daniëlle Tolner
d9b787b43d svn path=/Website/branches/v5.3.3/; revision=20566 2014-02-06 14:15:08 +00:00
Maykel Geerdink
85793e10b5 FSN#28699: Melding 'kanverwijzen' zou niet naar zichzelf moeten kunnen.
svn path=/Website/trunk/; revision=20564
2014-02-06 14:13:15 +00:00
Jos Groot Lipman
f74025a37b AAEN#28667 Wijzigen reservering werkt niet naar behoren
svn path=/Website/trunk/; revision=20562
2014-02-06 13:48:22 +00:00
Daniëlle Tolner
e5121e4193 LOGI#28598: functie bo-contact verwijderen
svn path=/Website/branches/v5.3.3/; revision=20561
2014-02-06 13:01:35 +00:00
Erik Groener
ce344aad2c UWVA#28664 geen opdrachten afmelden ivm verplicht kenmerk op melding
svn path=/Website/trunk/; revision=20560
2014-02-06 12:53:14 +00:00
Maykel Geerdink
580dc21511 AAEY#28690: Uitvoerende veld is leeg bij details opdracht.
svn path=/Website/branches/v5.3.3/; revision=20558
2014-02-06 12:09:06 +00:00
Jos Groot Lipman
112de0b61e NYBU#28708 Kolom meldingnummer altijd numeriek sorteren
svn path=/Website/trunk/; revision=20557
2014-02-06 10:56:35 +00:00
Maykel Geerdink
68e0e074b3 HAYG#28556: Uitgeleend object verandert van persoon naar organisatie na opslaan.
svn path=/Website/branches/v5.3.3/; revision=20556
2014-02-06 10:55:18 +00:00
Jos Groot Lipman
db310115df AASA#28717 Geen vervallen kostenplaatsen bij nieuwe opdracht en meldracht
svn path=/Website/trunk/; revision=20555
2014-02-06 10:38:29 +00:00
Maykel Geerdink
b5d36d4c83 RENK#28695: Mobile: Gekozen werklocatie overrulled gebouw-parameter op QR-code.
svn path=/Website/trunk/; revision=20554
2014-02-06 10:03:22 +00:00
Maykel Geerdink
aeae667652 FSN#28624: CNT: record bij wijzigen blokkeren.
svn path=/Website/trunk/; revision=20552
2014-02-06 07:22:01 +00:00
Maarten van der Heide
c96e9d2391 FSN#28386 Migratie Netwerkstad naar Borne
svn path=/Website/branches/v5.3.3/; revision=20551
2014-02-05 16:34:36 +00:00
Jos Groot Lipman
007cfe56f9 FSN#28711 Naar Excel van toch te grote rapportages sneller er uit laten klappen
svn path=/Website/trunk/; revision=20549
2014-02-05 14:37:08 +00:00
Maykel Geerdink
dc4aa870ce FSN#28568: Organisatiegebonden objecten kunnen kiezen bij melding.
svn path=/Website/trunk/; revision=20544
2014-02-05 12:49:19 +00:00
Jos Groot Lipman
35d8c54756 Iets betere foutmeldingen geven bij problemen
svn path=/Website/trunk/; revision=20543
2014-02-05 11:04:51 +00:00
Maykel Geerdink
774f5168e7 FSN#28716: BEZ: Foutmelding bij invoer begindatum (aanmelden bezoeker).
svn path=/Website/trunk/; revision=20542
2014-02-05 10:43:14 +00:00
Erik Groener
0cc2b05e94 AAEN#28667 Wijzigen reservering werkt niet naar behoren
svn path=/Website/trunk/; revision=20541
2014-02-05 10:10:59 +00:00
Maykel Geerdink
2012cca5c7 CSUN#28620: Klanten klagen dat er te veel notificaties verzonden worden.
svn path=/Website/trunk/; revision=20539
2014-02-05 09:56:29 +00:00
Jos Groot Lipman
01a4784cd5 HOUT#28661 Standaard kostensoort ook tonen bij nieuw contract
svn path=/Website/trunk/; revision=20538
2014-02-05 09:03:15 +00:00
Erik Groener
00e913194e AAIT#28510 Zichtbaar maken wie Standaardimport factuurbestand leverancier inleest
svn path=/Website/trunk/; revision=20537
2014-02-05 07:23:39 +00:00
Jos Groot Lipman
4ce9568be6 Ook W2D files ondersteunen. Handig voor temp-dwf's
svn path=/Website/trunk/; revision=20536
2014-02-04 14:04:03 +00:00
Jos Groot Lipman
8cdbe2de26 FSN#28699 Referentie melding mag niet naar zichzelf wijzen
svn path=/Website/trunk/; revision=20535
2014-02-04 11:52:20 +00:00
Jos Groot Lipman
6410ebc665 FSN#28700 Datatype "key" iets beter bestand tegen NaN
svn path=/Website/trunk/; revision=20534
2014-02-04 11:51:28 +00:00
Maykel Geerdink
6f44ea363d AAAR#28630: Dubbele meldingen controleren.
svn path=/Website/trunk/; revision=20533
2014-02-04 11:29:22 +00:00
Erik Groener
509ec20b39 AAES#28670 Veld 'zoektekst' toevoegen op afhandelen opdrachten scherm
svn path=/Website/trunk/; revision=20531
2014-02-04 10:12:32 +00:00
Maykel Geerdink
88517a8c2a FSN#28627: AiAi bij automatisch aanmaken opdracht.
svn path=/Website/trunk/; revision=20530
2014-02-04 09:44:35 +00:00
Erik Groener
8ab8c17622 HOUT#28661 kostensoort legal support 55360 verwijderen
svn path=/Website/trunk/; revision=20529
2014-02-04 09:29:59 +00:00
Maykel Geerdink
62b93aa914 FSN#28648: MLD: Leeg respijt in dagen veld wordt niet opgeslagen.
svn path=/Website/trunk/; revision=20526
2014-02-04 08:44:14 +00:00
Erik Groener
5e80d0fd1e FSN#23537 Gen_Export en Putorders omschrijven naar JavaScript
svn path=/Website/trunk/; revision=20525
2014-02-04 08:23:36 +00:00
Erik Groener
80ede9e2bd AANS#28583 Actie bij bezoek
svn path=/Website/trunk/; revision=20524
2014-02-04 07:29:42 +00:00
Maykel Geerdink
7654934de8 FSN#28624: CNT: record bij wijzigen blokkeren.
svn path=/Website/trunk/; revision=20523
2014-02-04 07:06:09 +00:00
Maykel Geerdink
2b75cb733f FSN#28624: CNT: record bij wijzigen blokkeren.
svn path=/Website/trunk/; revision=20522
2014-02-04 06:48:48 +00:00
Maarten van der Heide
89c56b96b8 WTCA#28651 Afwijkende opmaak voor Incident-vakgroep
svn path=/Website/branches/v5.3.3/; revision=20521
2014-02-03 16:44:08 +00:00
Maykel Geerdink
d45f5923fa AANS#28583: Actie bij bezoek.
svn path=/Website/trunk/; revision=20517
2014-02-03 14:18:42 +00:00
Maykel Geerdink
52113e7147 FSN#26873: Meer Mobile FE-functionaliteit (RES en meer).
svn path=/Website/trunk/; revision=20516
2014-02-03 13:00:07 +00:00
Erik Groener
59f5e5a357 AAIT#28510 Zichtbaar maken wie Standaardimport factuurbestand leverancier inleest
svn path=/Website/trunk/; revision=20511
2014-02-03 11:04:42 +00:00
Maykel Geerdink
92f267f642 FSN#28568: Organisatiegebonden objecten kunnen kiezen bij melding.
svn path=/Website/trunk/; revision=20510
2014-02-03 10:03:31 +00:00
Peter Koerhuis
04df8b28db svn path=/Website/branches/v5.3.3/; revision=20509 2014-02-03 09:57:35 +00:00
Marcel Bourseau
569a878d3d ALLI#28637: SSO advanced - 2
svn path=/Website/branches/v5.3.3/; revision=20506
2014-01-31 10:27:47 +00:00
Ruud Lipper
06aa92955a PZHO#28653
svn path=/Website/branches/v5.3.3/; revision=20503
2014-01-30 16:08:35 +00:00
Maykel Geerdink
4b5fc11675 NYBU#28495: AiAi afmelden reserveringen met negatief bedrag.
svn path=/Website/trunk/; revision=20500
2014-01-30 14:22:26 +00:00
Maykel Geerdink
7b19157990 SUTF#27809: Roomservice niet te bezorgen.
svn path=/Website/trunk/; revision=20499
2014-01-30 12:25:22 +00:00
Jos Groot Lipman
98e2a4cfb5 Versie 5.3.3 Gold D
svn path=/Website/branches/v5.3.3/; revision=20494
2014-01-30 11:22:57 +00:00
Maarten van der Heide
7ae26cc98f WTCA#28651 Afwijkende opmaak voor Incident-vakgroep
svn path=/Website/branches/v5.3.3/; revision=20491
2014-01-30 11:05:20 +00:00
Maarten van der Heide
2accb4bf34 RENK#28018 Melding op gebouw QRC
svn path=/Website/branches/v5.3.3/; revision=20489
2014-01-30 10:00:12 +00:00
Jos Groot Lipman
ed251b786a Code deed niet wat het suggereerde: WHEN NULL is *altijd* false
svn path=/Website/trunk/; revision=20488
2014-01-30 08:56:53 +00:00
Jos Groot Lipman
38095d2c55 Merge v5.3.4 patches
svn path=/Website/trunk/; revision=20487
2014-01-30 08:55:59 +00:00
Jos Groot Lipman
c119e51e49 AANS#28616 Beter resizen tabje bij externe pagina
svn path=/Website/trunk/; revision=20480
2014-01-29 13:35:40 +00:00
Maykel Geerdink
1db5562b0b FSN#28648: MLD: Leeg respijt in dagen veld wordt niet opgeslagen.
svn path=/Website/trunk/; revision=20479
2014-01-29 13:25:22 +00:00
Erik Groener
9b2c53af42 AANS#28645 Mobiel NS aanmelden bezoek niet mogelijk
svn path=/Website/trunk/; revision=20477
2014-01-29 12:22:17 +00:00
Jos Groot Lipman
98b7b8b610 FSN#28647 Notificatie bitjes behouden als je geen schrijfrechten erop had
svn path=/Website/trunk/; revision=20476
2014-01-29 11:27:26 +00:00
Jos Groot Lipman
afde753d25 CSUN#28322: Notificatievoorkeur ook door beheerder laten instellen.
svn path=/Website/trunk/; revision=20475
2014-01-29 11:11:00 +00:00
Maykel Geerdink
e6393957a3 UWVA#28656: RES: Respijt dagen niet meegenomen in bepaling overschrijding doorlooptijd.
svn path=/Website/trunk/; revision=20474
2014-01-29 10:17:55 +00:00
Jos Groot Lipman
e44a7bc4f2 FSN#28168 gen_export settings naar de database en implementatie in js
svn path=/Website/trunk/; revision=20472
2014-01-29 10:06:38 +00:00
Maykel Geerdink
ac8f7e1bde FSN#27692: Handmatig invullen datum met ongeldig formaat geeft aiai.
svn path=/Website/trunk/; revision=20469
2014-01-28 13:25:04 +00:00
Erik Groener
5d955f2bab HOUT#28038 Helptekst bij aanmaken contract
svn path=/Website/trunk/; revision=20468
2014-01-28 12:19:37 +00:00
Maykel Geerdink
b6e94a9be2 FSN#27691: 5.3.2 Man info bestellingen toont oude aanvragen bij geen groepering.
svn path=/Website/trunk/; revision=20467
2014-01-28 11:39:11 +00:00
Jos Groot Lipman
0664a4d1ff Merge v5.3.4 patches
svn path=/Website/trunk/; revision=20466
2014-01-28 11:37:45 +00:00
Maykel Geerdink
07b85cb4aa FSN#28568: Organisatiegebonden objecten kunnen kiezen bij melding.
svn path=/Website/trunk/; revision=20464
2014-01-28 11:10:20 +00:00
Maykel Geerdink
1f22db7fc7 FSN#28568: Organisatiegebonden objecten kunnen kiezen bij melding.
svn path=/Website/trunk/; revision=20462
2014-01-28 10:58:34 +00:00
Ruud Lipper
4bc235a6fc AALB#28634 Initieel
svn path=/Website/branches/v5.3.3/; revision=20461
2014-01-28 10:29:46 +00:00
Erik Groener
d076d8c3ac HOUT#28038 Helptekst bij aanmaken contract
svn path=/Website/trunk/; revision=20459
2014-01-28 10:08:40 +00:00
Erik Groener
1e54a65f1e HOUT#28038 Helptekst bij aanmaken contract
svn path=/Website/trunk/; revision=20458
2014-01-28 09:34:06 +00:00
Jos Groot Lipman
849329b89b Compacter bij grote planborden
svn path=/Website/trunk/; revision=20455
2014-01-27 19:47:33 +00:00
Jos Groot Lipman
1557e39fb6 Redundante clientsidecode verwijderd
svn path=/Website/trunk/; revision=20454
2014-01-27 16:40:05 +00:00
Jos Groot Lipman
fdf3100f05 Kleine performance verbetering in bestanden die tot 10 keer per seconde worden aangeroepen
svn path=/Website/trunk/; revision=20453
2014-01-27 16:39:37 +00:00
Jos Groot Lipman
d6bb5f68a7 Op de datum in de logging een A-linkje zetten zodat je gemakkelijker kunt refereren naar een specifieke error
svn path=/Website/trunk/; revision=20452
2014-01-27 16:38:01 +00:00
Peter Koerhuis
590fd42b07 svn path=/Website/branches/v5.3.3/; revision=20451 2014-01-27 16:02:50 +00:00
Peter Koerhuis
12594df9b4 Overzicht aanschafdata ICT-middelen per jaar ('geleend' van HPJI)
svn path=/Website/branches/v5.3.3/; revision=20450
2014-01-27 15:25:54 +00:00
Ruud Lipper
9aed3df4ae UWVA#28607 kenmerk referentie leverancier op opdrachtbon(offerte + opdracht)
svn path=/Website/branches/v5.3.3/; revision=20447
2014-01-27 12:59:50 +00:00
Maykel Geerdink
6ece035cff LOGI#28340: gebruik van terreinen geeft onterecht verplichte velden bij meldingen.
svn path=/Website/branches/v5.3.3/; revision=20444
2014-01-27 09:13:15 +00:00
Maarten van der Heide
517c40adda PZHO#27710 Adapter voor uitlenen dienstfietsen
svn path=/Website/trunk/; revision=20442
2014-01-27 08:10:31 +00:00
Maarten van der Heide
5f2a9e51c9 PZHO#27709 Services voor uitlenen dienstfietsen/Invise-import
svn path=/Website/branches/v5.3.3/; revision=20441
2014-01-27 08:04:34 +00:00
Erik Groener
fe1ae33faa FSN#28591 Activiteit/ soort schermen Facmgt
svn path=/Website/trunk/; revision=20440
2014-01-24 09:20:10 +00:00
Erik Groener
cc17a6f09a ARAI#28067 Veld ‘opdracht afhandeling’ verplicht maken voor leveranciers
svn path=/Website/trunk/; revision=20439
2014-01-24 08:29:48 +00:00
Daniëlle Tolner
c20bbe8d37 SUTF#28597: onderwerpregel email aanpassen
svn path=/Website/branches/v5.3.3/; revision=20437
2014-01-23 16:18:28 +00:00
Jos Groot Lipman
2e23ff10ff Merge v5.3.4 patches
svn path=/Website/trunk/; revision=20436
2014-01-23 16:07:53 +00:00
Jos Groot Lipman
78b7885b71 Merge v5.3.3 Gold D patches
svn path=/Website/trunk/; revision=20435
2014-01-23 16:05:18 +00:00
Maarten van der Heide
3499bfa487 RENK#28593 RES-facturen/diverse aanpassingen
svn path=/Website/branches/v5.3.3/; revision=20434
2014-01-23 16:02:48 +00:00
Maarten van der Heide
7ca8464105 PZHO#27710 Adapter voor uitlenen dienstfietsen
svn path=/Website/trunk/; revision=20431
2014-01-23 15:25:34 +00:00
Maykel Geerdink
44c91e8e79 CSUN#28322: Notificatievoorkeur ook door beheerder laten instellen.
svn path=/Website/trunk/; revision=20430
2014-01-23 15:16:32 +00:00
Maykel Geerdink
b690b1be5d ARAI#28067: Veld ‘opdracht afhandeling’ verplicht maken voor leveranciers.
svn path=/Website/trunk/; revision=20427
2014-01-23 14:34:04 +00:00
Maykel Geerdink
675fa689f8 AAEN#28589: foutmelding bij fiatteren.
svn path=/Website/trunk/; revision=20426
2014-01-23 13:03:48 +00:00
Maykel Geerdink
5b3ea00e7b UWVA#28511: BES/RES/aro: we zouden graag de aro koppeling uit willen breiden.
svn path=/Website/trunk/; revision=20424
2014-01-23 10:50:32 +00:00
Maarten van der Heide
71b79bebff PZHO#27710 Adapter voor uitlenen dienstfietsen
svn path=/Website/trunk/; revision=20423
2014-01-23 10:38:15 +00:00
Maykel Geerdink
07c383e8e5 UWVA#28511: BES/RES/aro: we zouden graag de aro koppeling uit willen breiden.
svn path=/Website/trunk/; revision=20422
2014-01-23 10:16:52 +00:00
Maykel Geerdink
6d571e7c12 UWVA#28511: BES/RES/aro: we zouden graag de aro koppeling uit willen breiden.
svn path=/Website/trunk/; revision=20421
2014-01-23 10:07:08 +00:00
Peter Feij
01459cc789 FSN#28595 verfijningen Mobile
svn path=/Website/trunk/; revision=20419
2014-01-23 09:17:34 +00:00
Jos Groot Lipman
cb21ae0abd Server.URLEncode werkt helemaal niet (door Server.Server) en bovendien hadden we bij nader inzien al safe.url
svn path=/Website/trunk/; revision=20412
2014-01-22 14:28:13 +00:00
Peter Feij
de2d428dbe FSN#28595 verfijningen Mobile
svn path=/Website/trunk/; revision=20411
2014-01-22 14:15:56 +00:00
Jos Groot Lipman
05dc86ad22 Kleine performance verbetering in bestanden die tot 10 keer per seconde worden aangeroepen
svn path=/Website/trunk/; revision=20408
2014-01-22 12:39:11 +00:00
Jos Groot Lipman
8f666b30b8 Experiment met ctrl+W onze tabjes sluiten. Niet aangeschakeld
svn path=/Website/trunk/; revision=20407
2014-01-22 12:36:57 +00:00
Jos Groot Lipman
3ab238e113 HOUT#28038: Helptekst bij aanmaken contract.
svn path=/Website/trunk/; revision=20406
2014-01-22 11:59:19 +00:00
Maykel Geerdink
8df862a617 UWVA#28559: Factuuradressen zonder locatie zijn niet te selecteren met alg gescopte rechten.
svn path=/Website/trunk/; revision=20405
2014-01-22 11:53:56 +00:00
Jos Groot Lipman
9561588540 FSN#28591 Betere controle (srt)activiteiten van reserveringen
(en stiekem instanceid in html body voor 500-logfilenaam van licentie klanten)

svn path=/Website/trunk/; revision=20404
2014-01-22 11:34:33 +00:00
Maykel Geerdink
653fd37b13 UWVA#28559: Factuuradressen zonder locatie zijn niet te selecteren met alg gescopte rechten.
svn path=/Website/trunk/; revision=20403
2014-01-22 09:53:10 +00:00
Erik Groener
7418780708 HOUT#28038 Helptekst bij aanmaken contract
svn path=/Website/trunk/; revision=20402
2014-01-22 08:36:24 +00:00
Arthur Egberink
11391d4373 AAEN#28565 -- Bezoekerspagina veroorzaakt overmatig dataverkeer
svn path=/Website/branches/v5.3.3/; revision=20400
2014-01-22 08:23:55 +00:00
Marcel Bourseau
727eb06043 ALLI#27715: Leverancier bouwborden
svn path=/Website/branches/v5.3.3/; revision=20399
2014-01-22 08:21:46 +00:00
Erik Groener
ff6bd43e3f HOUT#28038 Helptekst bij aanmaken contract
svn path=/Website/trunk/; revision=20398
2014-01-22 08:09:36 +00:00
Marcel Bourseau
82f7aab276 svn path=/Website/branches/v5.3.3/; revision=20397 2014-01-22 08:01:30 +00:00
Maykel Geerdink
b0ef8b6a1c AAAR#28541: Negatieve contractscope niet meer op te voeren.
svn path=/Website/trunk/; revision=20396
2014-01-22 07:09:28 +00:00
Maarten van der Heide
cd3fab0d3a MAYF#27985 FTP-en in PASV-mode (tbv. Van Dorp)
svn path=/Website/branches/v5.3.3/; revision=20395
2014-01-21 17:28:05 +00:00
Maarten van der Heide
2a985b3ad9 MAYF#27985
svn path=/Website/branches/v5.3.3/; revision=20394
2014-01-21 17:22:14 +00:00
Marcel Bourseau
ab132133a1 ARAI#28546: layout verbetering
svn path=/Website/branches/v5.3.3/; revision=20393
2014-01-21 16:08:20 +00:00
Marcel Bourseau
1b56e6664d ARAI#28546: layout verbetering
svn path=/Website/branches/v5.3.3/; revision=20391
2014-01-21 16:05:31 +00:00
Marcel Bourseau
0e28fd2c42 ARAI#28546: layout verbetering
svn path=/Website/branches/v5.3.3/; revision=20390
2014-01-21 16:04:40 +00:00
Maykel Geerdink
2e0d874cf2 AAEN#28539: Gebruiker HHORST heeft zeer lange lopende zaken lijst.
svn path=/Website/trunk/; revision=20388
2014-01-21 14:36:22 +00:00
Maykel Geerdink
21a9702e90 HOUT#28038: Helptekst bij aanmaken contract.
svn path=/Website/trunk/; revision=20386
2014-01-21 14:07:58 +00:00
Maykel Geerdink
e7a921ccd8 FSN#28459: Reserveren van object via planbord geeft AiAi als uitgeleend.
svn path=/Website/branches/v5.3.3/; revision=20385
2014-01-21 11:49:06 +00:00
Maykel Geerdink
ddf71bf93f HAYG#28556: Uitgeleend object veranderd van persoon naar organisatie na opslaan.
svn path=/Website/branches/v5.3.3/; revision=20384
2014-01-21 11:31:07 +00:00
Jos Groot Lipman
982bce99c1 FSN#27581: RES: doodlopende weggetjes: params is niet gedefinieerd vanuit PDA
svn path=/Website/trunk/; revision=20382
2014-01-20 14:50:55 +00:00
Maykel Geerdink
2d3e2a1c5a NYBU#28495: AiAi afmelden reserveringen met negatief bedrag.
svn path=/Website/trunk/; revision=20381
2014-01-20 14:46:11 +00:00
Maykel Geerdink
4430b49b79 LOGI#28340: gebruik van terreinen geeft onterecht verplichte velden bij meldingen.
svn path=/Website/branches/v5.3.3/; revision=20380
2014-01-20 12:34:49 +00:00
Maykel Geerdink
d259fdd484 FSN#27691: 5.3.2 Man info bestellingen toont oude aanvragen bij geen groepering.
svn path=/Website/trunk/; revision=20379
2014-01-20 09:03:19 +00:00
Maarten van der Heide
387432be2a PZHO#27710 Adapter voor uitlenen dienstfietsen
svn path=/Website/trunk/; revision=20378
2014-01-20 09:02:48 +00:00
Jos Groot Lipman
ebe397afa5 Merge v5.3.3 Gold C
svn path=/Website/branches/v5.3.3/; revision=20377
2014-01-20 08:53:11 +00:00
Maarten van der Heide
41e2b75623 WTCA#28225 Onderhuurders + WTCA#28550 Toevoeging (kopie) weg
svn path=/Website/branches/v5.3.3/; revision=20376
2014-01-17 17:14:09 +00:00
Marcel Bourseau
f286c9e772 ARAI#28546 RTM Klachten (opzet)
svn path=/Website/branches/v5.3.3/; revision=20370
2014-01-17 14:09:53 +00:00
Marcel Bourseau
c5360c478e ARAI#28546 RTM Energie: PV in aparte grafieken
svn path=/Website/branches/v5.3.3/; revision=20369
2014-01-17 14:08:53 +00:00
Marcel Bourseau
f4419edfda ARAI#28546 RTM Energie: PV in aparte grafieken
svn path=/Website/branches/v5.3.3/; revision=20368
2014-01-17 14:08:21 +00:00
Marcel Bourseau
a50dc04fe4 ARAI#28546 RTM Energie: PV in aparte grafieken
svn path=/Website/branches/v5.3.3/; revision=20367
2014-01-17 14:06:10 +00:00
Maarten van der Heide
089587cecc PZHO#27710 Adapter voor uitlenen dienstfietsen
svn path=/Website/trunk/; revision=20363
2014-01-16 17:06:40 +00:00
Jos Groot Lipman
0716e99d4d Merge v5.3.3 patches
svn path=/Website/trunk/; revision=20362
2014-01-16 16:12:37 +00:00
Jos Groot Lipman
6503ba6d38 PZHO#27710 INSSET moet voor traka ook via JSON kunnen
svn path=/Website/branches/v5.3.3/; revision=20361
2014-01-16 16:10:37 +00:00
Jos Groot Lipman
882895cfbe UWVA#28558 kostenplaats zoeken bij mandatering, niet budgethouder
svn path=/Website/branches/v5.3.3/; revision=20359
2014-01-16 15:52:37 +00:00
Maykel Geerdink
00ad612073 FSN#27992: Met WEB_INSUSE kun je geen objectgegevens meer wijzigen.
svn path=/Website/trunk/; revision=20358
2014-01-16 14:51:45 +00:00
Maykel Geerdink
132b0bc984 UWVA#27269: Reservering met catering voorbij horizon geboekt/herhalen kijkt niet naar expire.
svn path=/Website/trunk/; revision=20355
2014-01-16 13:49:30 +00:00
Erik Groener
148db87d03 FSN#28551 Na aanpassen volgnummer verschijnt overzicht van 'ongeldige titel'
svn path=/Website/trunk/; revision=20354
2014-01-16 11:19:42 +00:00
Erik Groener
fae741b924 AAIT#28519 Outlook meeting met bezoekers foutief in Facilitor overgenomen
svn path=/Website/trunk/; revision=20353
2014-01-16 09:45:59 +00:00
Maykel Geerdink
38e0eb9ceb UWVA#28457: FACILITOR productie traag? Met name maninfo meldingen.
svn path=/Website/trunk/; revision=20352
2014-01-16 09:05:51 +00:00
Maykel Geerdink
67e3b9d128 FSN#28506: Om mensen te zoeken met zoek&bestel is werkplek noodzakelijk.
svn path=/Website/trunk/; revision=20351
2014-01-16 08:25:13 +00:00
Jos Groot Lipman
28dfa1d7e8 Merge v5.3.4 beta patches
svn path=/Website/trunk/; revision=20350
2014-01-15 16:05:03 +00:00
Ruud Lipper
d82db23133 SUTF#28545 - Kenmerk afdelingsmedewerker juist weergeven
svn path=/Website/branches/v5.3.3/; revision=20347
2014-01-15 15:29:59 +00:00
Maykel Geerdink
2f46662739 FSN#27692: Handmatig invullen datum met ongeldig formaat geeft aiai.
svn path=/Website/trunk/; revision=20344
2014-01-15 13:09:56 +00:00
Jos Groot Lipman
6244f16478 Merge v5.3.3 Gold C patches
svn path=/Website/trunk/; revision=20343
2014-01-15 12:15:55 +00:00
Maykel Geerdink
d3e4b15563 LOGI#28340: gebruik van terreinen geeft onterecht verplichte velden bij meldingen.
svn path=/Website/branches/v5.3.3/; revision=20339
2014-01-15 09:58:48 +00:00
Maykel Geerdink
0ed757ca9a FSN#27992: Met WEB_INSUSE kun je geen objectgegevens meer wijzigen.
svn path=/Website/trunk/; revision=20338
2014-01-15 08:35:44 +00:00
Jos Groot Lipman
d1154c77ac Merge v5.3.3 Gold C en later patches
svn path=/Website/trunk/; revision=20336
2014-01-15 08:09:19 +00:00
Arthur Egberink
d22e83b5f6 PNBR#28529 -- Qualogy koppeling geeft onterechte fouten
svn path=/Website/branches/v5.3.3/; revision=20335
2014-01-14 16:05:20 +00:00
Maykel Geerdink
aaaa8a1b04 AAIT#28508: Leegmaken parkeerplaats van bezoekafspraak geeft AiAi.
svn path=/Website/branches/v5.3.3/; revision=20333
2014-01-14 15:00:34 +00:00
Jos Groot Lipman
20164d2d8a FSN#28518: AiAi bij opvragen bedrijf.
svn path=/Website/branches/v5.3.3/; revision=20332
2014-01-14 14:56:22 +00:00
Maykel Geerdink
22cfe36cfe NYBU#28495: AiAi afmelden reserveringen met negatief bedrag.
svn path=/Website/trunk/; revision=20330
2014-01-14 14:31:24 +00:00
Jos Groot Lipman
c9ee34ccf7 FSN#28477 Iets beter plaatje cachen
svn path=/Website/trunk/; revision=20328
2014-01-14 13:51:35 +00:00
Maykel Geerdink
b22e44708e FSN#28518: AiAi bij opvragen bedrijf.
svn path=/Website/branches/v5.3.3/; revision=20327
2014-01-14 13:14:12 +00:00
Jos Groot Lipman
5e4b8a1e8b FSN#28525 Bij dumpen van een collection proberen millisec datums te formatteren
svn path=/Website/trunk/; revision=20325
2014-01-14 12:40:00 +00:00
Maykel Geerdink
152722a830 AASA#28492: Met alleen WEB_ALGUSE kan een gebouw wijziging niet worden opgeslagen.
svn path=/Website/branches/v5.3.3/; revision=20323
2014-01-14 10:39:59 +00:00
Arthur Egberink
77aa50d4c1 svn path=/Website/branches/v5.3.3/; revision=20321 2014-01-14 08:41:40 +00:00
Arthur Egberink
de001d99db svn path=/Website/trunk/; revision=20320 2014-01-14 08:38:47 +00:00
Erik Groener
9eea3ce8ed UWVA#28320 5.3.3 FACMGT filtervelden verdwijnen na wisselen pagina
svn path=/Website/branches/v5.3.3/; revision=20317
2014-01-14 07:50:57 +00:00
Maykel Geerdink
5e7a319fa8 AAIT#28508: Leegmaken parkeerplaats van bezoekafspraak geeft AiAi.
svn path=/Website/branches/v5.3.3/; revision=20314
2014-01-13 14:47:52 +00:00
Maarten van der Heide
4ab8fcff58 WTCA#28225 Onderhuurders
svn path=/Website/branches/v5.3.3/; revision=20312
2014-01-13 13:26:40 +00:00
Maykel Geerdink
3004fb7b9c LOGI#28340: gebruik van terreinen geeft onterecht verplichte velden bij meldingen.
svn path=/Website/branches/v5.3.3/; revision=20310
2014-01-13 11:03:11 +00:00
Maarten van der Heide
f67b22e555 WTCA#28501 Sortering dienstrapporten
svn path=/Website/branches/v5.3.3/; revision=20309
2014-01-13 09:54:29 +00:00
Maykel Geerdink
f297b77ee9 FSN#28459: Reserveren van object via planbord geeft AiAi als uitgeleend.
svn path=/Website/branches/v5.3.3/; revision=20308
2014-01-13 08:20:28 +00:00
Maarten van der Heide
152b7e14d4 WTCA#24891 Uitrol Security Module
svn path=/Website/branches/v5.3.3/; revision=20298
2014-01-09 14:55:30 +00:00
Daniëlle Tolner
92c752f27b AAEY#28410: Bezoek/afleveradres volgens kenmerken
svn path=/Website/branches/v5.3.3/; revision=20297
2014-01-09 14:44:21 +00:00
Jos Groot Lipman
7388c0cd7d FSN#28439 FACMGT anti-caching ook voor css en jquery
Werking iets meer gelijk aan header.inc

svn path=/Website/trunk/; revision=20293
2014-01-09 10:04:18 +00:00
Maykel Geerdink
91e423ee4f FSN#27691: 5.3.2 Man info bestellingen toont oude aanvragen bij geen groepering.
svn path=/Website/trunk/; revision=20289
2014-01-09 09:09:03 +00:00
Daniëlle Tolner
d460ae3bf2 AAEY#28410: Bezoek/afleveradres volgens kenmerken
svn path=/Website/branches/v5.3.3/; revision=20287
2014-01-08 14:53:57 +00:00
Jos Groot Lipman
05b492fae0 NYBU#28470 achterwege laten dagnaam voor Excel ook bij backoffice lijst natuurlijk
svn path=/Website/branches/v5.3.3/; revision=20286
2014-01-08 11:40:08 +00:00
Jos Groot Lipman
40e37bd26f AAIT#28466 antialias=1 als parameter mee kunnen geven
svn path=/Website/branches/v5.3.3/; revision=20285
2014-01-08 10:20:29 +00:00
Maykel Geerdink
4ba056a184 FSN#27581: RES: doodlopende weggetjes.
svn path=/Website/trunk/; revision=20284
2014-01-07 15:00:44 +00:00
Maykel Geerdink
746b049fa7 FSN#27581: RES: doodlopende weggetjes.
svn path=/Website/trunk/; revision=20283
2014-01-07 14:10:13 +00:00
Erik Groener
afa51bb149 UWVA#28423 Mag de xsl-template leeg zijn bij technische adressen?
svn path=/Website/branches/v5.3.3/; revision=20282
2014-01-07 12:44:44 +00:00
Jos Groot Lipman
fa5106e28e Merge v5.3.3 Gold B en later patches
svn path=/Website/trunk/; revision=20281
2014-01-07 12:07:38 +00:00
Erik Groener
8511aa750d FSN#28439 Ook vanuit FACMGT anti-caching voor js-bestanden
svn path=/Website/trunk/; revision=20279
2014-01-07 10:37:56 +00:00
Jos Groot Lipman
d50a556389 UWVA#28406: PRS:Flexkenmerk 'Type medewerker' kan niet aangepast worden.
svn path=/Website/branches/v5.3.3/; revision=20278
2014-01-07 09:12:22 +00:00
Maykel Geerdink
1a5829357e UWVA#28406: PRS:Flexkenmerk 'Type medewerker' kan niet aangepast worden.
svn path=/Website/branches/v5.3.3/; revision=20277
2014-01-07 09:02:05 +00:00
Maykel Geerdink
00895f23ff UWVA#28406: PRS:Flexkenmerk 'Type medewerker' kan niet aangepast worden.
svn path=/Website/branches/v5.3.3/; revision=20274
2014-01-07 07:16:58 +00:00
Maykel Geerdink
06e3817d92 UWVA#28345: RES: fout in selectie verbruiksartikelen Management Info.
svn path=/Website/branches/v5.3.3/; revision=20269
2014-01-06 13:16:06 +00:00
Erik Groener
33142d6fbd UWVA#28320 5.3.3 FACMGT filtervelden verdwijnen na wisselen pagina
svn path=/Website/branches/v5.3.3/; revision=20268
2014-01-06 13:12:47 +00:00
Maykel Geerdink
bfcf367cc9 WTCA#28388: Datum opdracht onjuist - past vanzelf aan.
svn path=/Website/branches/v5.3.3/; revision=20264
2014-01-06 10:21:53 +00:00
Jos Groot Lipman
9c517c6a83 FSN#28125 FCLTISAPI Versie 0.93
svn path=/Website/trunk/; revision=20262
2014-01-06 09:29:17 +00:00
Maykel Geerdink
1318889c2a PCHD#28236: Notities interne opdracht niet zichtbaar.
svn path=/Website/branches/v5.3.3/; revision=20260
2014-01-06 08:51:04 +00:00
Jos Groot Lipman
7a778038b0 UWVA#28314 Bij gelijke factuurregelnr ook sorteren key zodat het deterministisch is
svn path=/Website/trunk/; revision=20259
2014-01-06 08:32:19 +00:00
Jos Groot Lipman
66987662ac UWVA#28425 Uitpakken ABS.CSV.gz met 7za.exe ipv 7z.exe
svn path=/Website/branches/v5.3.3/; revision=20257
2014-01-02 19:00:30 +00:00
Maarten van der Heide
8b498ce287 HOUT#27850 Urenrapportage PSC
svn path=/Website/branches/v5.3.3/; revision=20256
2014-01-02 14:00:02 +00:00
Peter Koerhuis
a7db7ffe89 AANS#28414 Aanpassingen logo AANS
svn path=/Website/branches/v5.3.3/; revision=20251
2013-12-31 09:54:39 +00:00
Ruud Lipper
27926b3a32 AAEN#28019 Mobielnummer opdrachtbonnen
svn path=/Website/branches/v5.3.3/; revision=20250
2013-12-24 12:01:47 +00:00
Jos Groot Lipman
02591460fc Voorbereiding FCLTISAPI user_key logging
svn path=/Website/branches/v5.3.3/; revision=20248
2013-12-20 22:20:26 +00:00
Ruud Lipper
85b99c5d61 IVET#27936 Veld toevoegen aan verhuisbon
svn path=/Website/branches/v5.3.3/; revision=20242
2013-12-20 10:19:09 +00:00
Erik Groener
16b88bd782 FSN#28344 Beheerlijst ALG-kenmerken toont kenmerken van alle niveau's
svn path=/Website/branches/v5.3.3/; revision=20241
2013-12-20 09:16:48 +00:00
Erik Groener
61b9a4de1a ARAI#28319 Vakgroep - Engelse vertaling doet het niet meer.
svn path=/Website/branches/v5.3.3/; revision=20240
2013-12-20 08:14:59 +00:00
Erik Groener
cdfd423256 FSN#28369 AiAi na zoeken op omschrijving met ' bij reserveerbare ruimten
svn path=/Website/branches/v5.3.3/; revision=20238
2013-12-19 14:58:05 +00:00
Erik Groener
5562dd27eb UWVA#28320 5.3.3 FACMGT filtervelden verdwijnen na wisselen pagina
svn path=/Website/branches/v5.3.3/; revision=20237
2013-12-19 14:17:30 +00:00
Daniëlle Tolner
198b0a48cd AASA#28330: Factuuradres aanpassen
svn path=/Website/branches/v5.3.3/; revision=20230
2013-12-19 10:08:03 +00:00
Daniëlle Tolner
27278c3028 AASA#28330: Factuuradres aanpassen
svn path=/Website/branches/v5.3.3/; revision=20229
2013-12-19 09:48:04 +00:00
Maarten van der Heide
c3a20df10c HOUT#27850 Urenrapportage PSC
svn path=/Website/branches/v5.3.3/; revision=20228
2013-12-19 09:22:37 +00:00
Marcel Bourseau
0841c62a12 ARAI#28368: opvragen/wijzigen ruimtegegevens
svn path=/Website/branches/v5.3.3/; revision=20226
2013-12-19 08:42:03 +00:00
Erik Groener
fb80927492 FSN#28369 AiAi na zoeken op omschrijving met ' bij reserveerbare ruimten
svn path=/Website/branches/v5.3.3/; revision=20225
2013-12-19 07:43:43 +00:00
Jos Groot Lipman
442f65bb6c Versie 5.3.3 Gold B patches
svn path=/Website/trunk/; revision=20224
2013-12-18 20:34:35 +00:00
Jos Groot Lipman
1cd8e16725 Versie 5.3.3 Gold B
svn path=/Website/branches/v5.3.3/; revision=20220
2013-12-18 15:28:07 +00:00
Maarten van der Heide
326de74cfb MAYF#27985
svn path=/Website/branches/v5.3.3/; revision=20218
2013-12-18 11:32:42 +00:00
Jos Groot Lipman
2cb9dc307b UWVA#28310 fallback contract-soort kostensoort omschrijving ook tonen in edit-mode
svn path=/Website/branches/v5.3.3/; revision=20216
2013-12-18 11:02:34 +00:00
Jos Groot Lipman
3aca4e7076 AAAR#28354 Ook tracking van de sum als via de scope gewijzigd
svn path=/Website/branches/v5.3.3/; revision=20215
2013-12-18 10:40:52 +00:00
Jos Groot Lipman
e24a0e2d11 Voorbereiding FCLTISAPI user_key logging
svn path=/Website/branches/v5.3.3/; revision=20212
2013-12-18 10:03:00 +00:00
Maarten van der Heide
a1f4d201ce UWVA#27876 Stylesheet tbv. VOB-gebruik ORD-API + UWVA#28317 Definitieve keys
svn path=/Website/branches/v5.3.3/; revision=20208
2013-12-17 15:52:23 +00:00
Arthur Egberink
5892ad952d PCHD#27717 -- Implementatie koppeling met EXACT
svn path=/Website/branches/v5.3.3/; revision=20207
2013-12-17 15:52:11 +00:00
Maarten van der Heide
30930d6fb6 UWVA#27875 Definitieve URL tbv. Productie
svn path=/Website/branches/v5.3.3/; revision=20206
2013-12-17 15:42:11 +00:00
Jos Groot Lipman
d5b650fa1a PZHO#27710 Traka fietsen uitlenen retour eerste inrichting
svn path=/Website/trunk/; revision=20204
2013-12-17 13:25:58 +00:00
Jos Groot Lipman
92f4e657c8 PZHO#27710 Traka fietsen uitlenen v0
svn path=/Website/trunk/; revision=20203
2013-12-17 13:24:52 +00:00
Jos Groot Lipman
130ea03dad AAAR#28353 Cursors beter sluiten voor bulk approve
svn path=/Website/branches/v5.3.3/; revision=20202
2013-12-17 13:07:09 +00:00
Ruud Lipper
7ea06405f8 AANS#27919 - AANS mobile logo
svn path=/Website/branches/v5.3.3/; revision=20199
2013-12-17 09:42:26 +00:00
Jos Groot Lipman
1d8bc8fabf Ook VB-commentaar door preprocessor laten strippen
svn path=/Website/trunk/; revision=20198
2013-12-17 09:05:38 +00:00
Jos Groot Lipman
1b73e36522 FSN#28336 Alleen vertaallinkjes als S("multi_language_option")
svn path=/Website/trunk/; revision=20191
2013-12-16 14:39:58 +00:00
Jos Groot Lipman
1d7d76a628 AAIT#28331 SumChanged controle niet op het totaal
svn path=/Website/branches/v5.3.3/; revision=20190
2013-12-16 13:16:46 +00:00
Jos Groot Lipman
418da16892 AAEN#28328 Tijdelijke workaround, kan weg met DB21
cnt.splitscontract heeft status onterecht op 2 (nieuw) gezet ipv 0 (actief).

svn path=/Website/branches/v5.3.3/; revision=20188
2013-12-16 10:28:31 +00:00
Ruud Lipper
2175f8562f AAVL#28293
svn path=/Website/branches/v5.3.3/; revision=20186
2013-12-16 08:35:21 +00:00
Jos Groot Lipman
259add4838 Versie 5.3.2 patches
svn path=/Website/branches/v5.3.3/; revision=20185
2013-12-16 08:32:48 +00:00
Jos Groot Lipman
9461850e82 Versie 5.3.2 patches
svn path=/Website/trunk/; revision=20184
2013-12-16 08:27:57 +00:00
Jos Groot Lipman
41eb271a93 Opruimen oude custenv
svn path=/Website/trunk/; revision=20183
2013-12-16 08:25:09 +00:00
Daniëlle Tolner
f1a113e087 PZHO#26917: mutatiemail restpuntje
svn path=/Website/branches/v5.3.3/; revision=20170
2013-12-12 15:53:43 +00:00
Maykel Geerdink
132e2d0654 FSN#27992: Met WEB_INSUSE kun je geen objectgegevens meer wijzigen.
svn path=/Website/trunk/; revision=20168
2013-12-12 15:45:45 +00:00
Maykel Geerdink
fcccbb5759 FSN#27992: Met WEB_INSUSE kun je geen objectgegevens meer wijzigen.
svn path=/Website/trunk/; revision=20160
2013-12-12 15:06:16 +00:00
Jos Groot Lipman
93c06f4c51 AAVL#28309 Regelnummers wel ophogen bij nieuwe factuur
svn path=/Website/branches/v5.3.3/; revision=20156
2013-12-12 13:34:42 +00:00
Jos Groot Lipman
f79dd0ca84 Merge 5.3.3 Gold A patches
svn path=/Website/trunk/; revision=20152
2013-12-12 12:22:31 +00:00
Jos Groot Lipman
532de7a16c Versie 5.3.3 Gold A
svn path=/Website/branches/v5.3.3/; revision=20151
2013-12-12 12:20:25 +00:00
Jos Groot Lipman
5c7e2d2cba UWVA#28284 Ook meldingnummer meenemen in de API tracking
svn path=/Website/branches/v5.3.3/; revision=20148
2013-12-12 11:47:41 +00:00
Maykel Geerdink
b462ba3309 AAAR#28299: Goed te keuren contract niet in fiatteringsverzoeken.
svn path=/Website/branches/v5.3.3/; revision=20147
2013-12-12 11:26:32 +00:00
Maykel Geerdink
208c6fffbc AAAR#28299: Goed te keuren contract niet in fiatteringsverzoeken.
svn path=/Website/branches/v5.3.3/; revision=20145
2013-12-12 10:01:18 +00:00
Maykel Geerdink
5995e3cc69 AAAR#28299: Goed te keuren contract niet in fiatteringsverzoeken.
svn path=/Website/branches/v5.3.3/; revision=20142
2013-12-12 09:25:35 +00:00
Jos Groot Lipman
a30eda3092 FSN#28277 DOCTYPE miste nog
svn path=/Website/branches/v5.3.3/; revision=20140
2013-12-11 15:25:37 +00:00
Jos Groot Lipman
547085c0e6 PNBR#28303 Ook default charset unicode-1-1-utf-8, putorders doet dat al heel lang
svn path=/Website/branches/v5.3.3/; revision=20139
2013-12-11 14:51:05 +00:00
Arthur Egberink
7e08fac2d2 AAEN#28139 -- Rapportage parameter voor infobord.
svn path=/Website/branches/v5.3.3/; revision=20138
2013-12-11 14:12:52 +00:00
Maykel Geerdink
e4b2d2bad3 FSN#28270: 5.3.3 Tracking toevoegen/wijzigen factuurregels is fout.
svn path=/Website/branches/v5.3.3/; revision=20137
2013-12-11 14:09:52 +00:00
Maykel Geerdink
9e37d9c0c3 UWVA#28292: 5.3.3/cnt/abo: punten die veranderd zijn met 5.3.3 ten bate van de abonnementen.
svn path=/Website/branches/v5.3.3/; revision=20136
2013-12-11 13:59:07 +00:00
Ruud Lipper
3a7553b874 AANS#27919 achtergrond invulvelden wit ipv geel
svn path=/Website/branches/v5.3.3/; revision=20134
2013-12-11 13:12:29 +00:00
Jos Groot Lipman
1cf2f42efe Merge 5.3.2 patches
svn path=/Website/branches/v5.3.3/; revision=20132
2013-12-11 12:15:38 +00:00
Jos Groot Lipman
b10b8ef25d Merge 5.3.2 patches
svn path=/Website/trunk/; revision=20131
2013-12-11 12:13:17 +00:00
Maykel Geerdink
ecf48eafbf FSN#28298: Tijdelijke harde LCL tekst in 5.3.3 vervangen door lcl in fac_lclasp.
svn path=/Website/trunk/; revision=20129
2013-12-11 10:01:05 +00:00
Maykel Geerdink
e1e0c84a33 AAEN#28290: AiAi na factuurinvoer zonder factuurnr.
svn path=/Website/branches/v5.3.3/; revision=20128
2013-12-11 09:46:50 +00:00
Maarten van der Heide
9c68019053 UWVA#27876 Stylesheet tbv. VOB-gebruik ORD-API
svn path=/Website/branches/v5.3.3/; revision=20126
2013-12-11 09:28:37 +00:00
Jos Groot Lipman
dc3d7bfb90 Merge 5.3.3 patches
svn path=/Website/trunk/; revision=20124
2013-12-11 08:48:08 +00:00
Maykel Geerdink
cbf1bf0bef FSN#28270: 5.3.3 Tracking toevoegen/wijzigen factuurregels is fout.
svn path=/Website/branches/v5.3.3/; revision=20122
2013-12-11 08:04:44 +00:00
Maykel Geerdink
ca4a7b9606 FSN#28270: 5.3.3 Tracking toevoegen/wijzigen factuurregels is fout.
svn path=/Website/branches/v5.3.3/; revision=20121
2013-12-11 07:15:00 +00:00
Jos Groot Lipman
fe6be3639a FSN#28286 Layout self-registratie
svn path=/Website/branches/v5.3.3/; revision=20119
2013-12-10 15:50:49 +00:00
Maarten van der Heide
615b1863c6 UWVA#27876 Stylesheet tbv. VOB-gebruik ORD-API
svn path=/Website/branches/v5.3.3/; revision=20118
2013-12-10 15:34:10 +00:00
Maarten van der Heide
a86b327988 UWVA#27881 Opdracht-XML naar Worldmeetings
svn path=/Website/branches/v5.3.2/; revision=20117
2013-12-10 15:22:20 +00:00
Maykel Geerdink
6e65c242ed FSN#28283: AiAi sum1_IS_NOT_FLOAT bij opslaan factuur.
svn path=/Website/branches/v5.3.3/; revision=20116
2013-12-10 15:03:06 +00:00
Maarten van der Heide
ef3f4391a4 UWVA#27881 Leverdatum bijwerken zoals ontvangen van Worldmeetings
svn path=/Website/branches/v5.3.3/; revision=20115
2013-12-10 14:40:46 +00:00
Maykel Geerdink
bbe34e3b2a FSN#28282: Soms dubbele notitiebalk en rare 'in bewerking'.
svn path=/Website/branches/v5.3.3/; revision=20114
2013-12-10 13:25:58 +00:00
Maykel Geerdink
889ea512df AANS#28279: Export Inspectie lijst naar Excel geeft deze pagina kan niet worden weergegeven.
svn path=/Website/branches/v5.3.3/; revision=20113
2013-12-10 11:21:55 +00:00
Arthur Egberink
2a48e094ce PNBR#28291 -- Ondersteuning FACILITOR SSO.
svn path=/Website/trunk/; revision=20112
2013-12-10 10:28:44 +00:00
Maykel Geerdink
999c7e613c FSN#28270: 5.3.3 Tracking toevoegen/wijzigen factuurregels is fout.
svn path=/Website/branches/v5.3.3/; revision=20111
2013-12-10 09:51:12 +00:00
Maarten van der Heide
0235063b9b UWVA#28207 >€500-noti (+ opmaak WM-opdrachtbonnen)
svn path=/Website/branches/v5.3.3/; revision=20109
2013-12-10 09:04:43 +00:00
Maarten van der Heide
0ed8cf074e UWVA#28207 >€500-noti
svn path=/Website/branches/v5.3.3/; revision=20108
2013-12-10 08:14:03 +00:00
Maykel Geerdink
8af98b1b53 PNBR#28254: 5.3.2 Bij objecten beheer AIAI melding.
svn path=/Website/branches/v5.3.3/; revision=20107
2013-12-10 07:54:06 +00:00
Maykel Geerdink
4e09586347 AANS#28260: 5.3.3 Bijlages bij factuur invoer worden niet opgeslagen.
svn path=/Website/branches/v5.3.3/; revision=20106
2013-12-09 15:07:19 +00:00
Maykel Geerdink
6ac19e874d AANX#28259: 5.3.3 Kopieer factuur gaat verkeerd.
svn path=/Website/branches/v5.3.3/; revision=20105
2013-12-09 13:21:15 +00:00
Peter Koerhuis
75acea7f58 NYBU#27708 Offerte-rapportage en bon
svn path=/Website/branches/v5.3.2/; revision=20102
2013-12-09 12:44:58 +00:00
Maykel Geerdink
0333847f86 AANS#28256: 5.3.3 AiAi bij zoeken naar opdrachten via backoffice lijst meldingen.
svn path=/Website/branches/v5.3.3/; revision=20101
2013-12-09 12:30:45 +00:00
Marcel Bourseau
178df1544d ARAI#27361: Klachten organisatoren, klachten bezoekers en RTM Energie
svn path=/Website/branches/v5.3.2/; revision=20100
2013-12-09 11:32:46 +00:00
Jos Groot Lipman
339766b789 AANS#28276 Voorkom error als concept wel en gewone tekening niet bestaat
svn path=/Website/branches/v5.3.3/; revision=20097
2013-12-09 11:19:51 +00:00
Jos Groot Lipman
db0bfa51bd Voorkom clientside error op validateForm bij onthouden tabjes
svn path=/Website/branches/v5.3.3/; revision=20096
2013-12-09 09:58:16 +00:00
Maykel Geerdink
c9e2a58c30 FSN#27791: Geen leesrechten op flexkenmerken (volgnr), toch op print en Excel.
svn path=/Website/trunk/; revision=20095
2013-12-09 09:26:26 +00:00
Maykel Geerdink
34967e3efd AALB#28267: Niet mogelijk om contracten te wijzigen 5.3.3.
svn path=/Website/branches/v5.3.3/; revision=20094
2013-12-09 09:01:08 +00:00
Ruud Lipper
057497a172 ARBO#28258 tekst toevoegen aan opdrachtbon met kosten
svn path=/Website/branches/v5.3.3/; revision=20087
2013-12-06 12:15:58 +00:00
Maarten van der Heide
b3fc2528ec UWVA#28207 >€500-noti
svn path=/Website/branches/v5.3.3/; revision=20084
2013-12-06 11:52:19 +00:00
Jos Groot Lipman
76f04cab1b Merg 5.3.2 patches
svn path=/Website/trunk/; revision=20078
2013-12-05 16:53:34 +00:00
Maykel Geerdink
6fc123d0a6 FSN#27791: Geen leesrechten op flexkenmerken (volgnr), toch op print en Excel.
svn path=/Website/trunk/; revision=20077
2013-12-05 16:52:25 +00:00
Ruud Lipper
de402f777e AANX#28241
svn path=/Website/branches/v5.3.2/; revision=20076
2013-12-05 15:03:27 +00:00
Jos Groot Lipman
2ddfb56c14 Merg 5.3.3 Gold pathces
svn path=/Website/trunk/; revision=20074
2013-12-05 14:31:11 +00:00
Jos Groot Lipman
1e2204a361 Versie 5.3.3 Gold
svn path=/Website/branches/v5.3.3/; revision=20073
2013-12-05 13:52:20 +00:00
Jos Groot Lipman
945dade2fb AAEN#28249 Frontend zoeken op nummer moet natuurlijk nog steeds autorisatie controleren
svn path=/Website/branches/v5.3.3/; revision=20071
2013-12-05 13:30:13 +00:00
Maarten van der Heide
93014236bb RENK#24949 Reserveringsfacturen
svn path=/Website/branches/v5.3.2/; revision=20070
2013-12-05 13:20:34 +00:00
Maykel Geerdink
1d2da32d46 MAYF#27974: Personen zoeken op locatie werkt alleen als wordt gezocht op hoofdlocatie.
svn path=/Website/trunk/; revision=20069
2013-12-05 13:20:12 +00:00
Daniëlle Tolner
e27a573ef6 UWVA#28227: Behandelaar van offerte-aanvraag bij VO
svn path=/Website/branches/v5.3.3/; revision=20067
2013-12-05 10:50:57 +00:00
Maarten van der Heide
3aa27c2e32 UWVA#27881 cXML naar Worldmeetings
svn path=/Website/branches/v5.3.2/; revision=20066
2013-12-05 08:28:10 +00:00
Maarten van der Heide
01e27881d7 UWVA#27882 Stylesheet tbv. VOB-gebruik BESORD-API
svn path=/Website/branches/v5.3.3/; revision=20065
2013-12-05 08:24:09 +00:00
Daniëlle Tolner
068726b3da AKZA#28243 gastheer ontbreken sinds 5.3.2
svn path=/Website/branches/v5.3.2/; revision=20062
2013-12-04 16:05:09 +00:00
Maykel Geerdink
2e6684d2be AAEY#27976: Dubbele meldingen in 'Afhandelen meldingen'.
MAYF#28196: Filteren op aantal verstoringen.

svn path=/Website/branches/v5.3.3/; revision=20061
2013-12-04 14:08:02 +00:00
Maykel Geerdink
86b9a0ef87 AAHU#28198: Opdracht niet in te zien via factuurinvoer.
svn path=/Website/branches/v5.3.3/; revision=20060
2013-12-04 13:54:30 +00:00
Maykel Geerdink
c122d62391 UWVA#28028: sleutels verdwenen in Sleutelbeheer?
svn path=/Website/branches/v5.3.3/; revision=20057
2013-12-04 13:07:22 +00:00
Ruud Lipper
4eeb859b6a PNBR#26891
svn path=/Website/branches/v5.3.2/; revision=20056
2013-12-04 11:07:46 +00:00
Jos Groot Lipman
0f8ebb6853 FSN#28222 (komma in float settings) Had in 5.3.3 gemoeten
svn path=/Website/branches/v5.3.3/; revision=20053
2013-12-04 10:22:54 +00:00
Erik Groener
db394f7b2d FSN#28222 Van float-setting moet geforceerd worden dat ze met punt worden opgeslagen
svn path=/Website/trunk/; revision=20050
2013-12-04 09:58:42 +00:00
Maarten van der Heide
4736dac87a RENK#24949 Reserveringsfacturen
svn path=/Website/branches/v5.3.2/; revision=20049
2013-12-04 09:36:25 +00:00
Ruud Lipper
43c6cdddc1 UWVA#28103 - foutmelding BES2SX bon
svn path=/Website/branches/v5.3.3/; revision=20046
2013-12-04 09:12:23 +00:00
Ruud Lipper
82716af35d PNBR#26891 5.3.2 bezoeker node
svn path=/Website/branches/v5.3.2/; revision=20041
2013-12-03 14:58:07 +00:00
Jos Groot Lipman
a8f0e48ff7 UWVA#27881 Punchout meer url parameters ondersteunen
svn path=/Website/branches/v5.3.3/; revision=20040
2013-12-03 14:11:24 +00:00
Ruud Lipper
836e337872 UWVA#28227 Offertebon ook voor vakgroeptype VO
svn path=/Website/branches/v5.3.3/; revision=20038
2013-12-03 12:18:48 +00:00
Ruud Lipper
a1c5aec31b PZHO#28117 ruimtenummer niet leesbaar
svn path=/Website/branches/v5.3.2/; revision=20036
2013-12-03 11:11:42 +00:00
Maykel Geerdink
357221edbf AAHU#28198: Opdracht niet in te zien via factuurinvoer.
svn path=/Website/branches/v5.3.3/; revision=20035
2013-12-03 09:30:57 +00:00
Peter Koerhuis
7f353a420f AKZA#28217 532 foutmelding - prs_v_aanwezigperslidwerkplek bestaat niet
svn path=/Website/branches/v5.3.2/; revision=20034
2013-12-03 09:24:59 +00:00
Maykel Geerdink
335938d1ea AAEY#27976: Dubbele meldingen in 'Afhandelen meldingen'.
MAYF#28196: Filteren op aantal verstoringen.

svn path=/Website/branches/v5.3.3/; revision=20032
2013-12-03 06:41:25 +00:00
Jos Groot Lipman
befde05b68 FSN#25848 Gaf clientside suggest error als S("fin_enable_kostensoort") == 0 (AAHU)
svn path=/Website/branches/v5.3.3/; revision=20030
2013-12-02 15:45:08 +00:00
Arthur Egberink
2226408341 svn path=/Website/branches/v5.3.2/; revision=20025 2013-12-02 14:38:53 +00:00
Ruud Lipper
03b6b22c7d AAIT#28202
svn path=/Website/branches/v5.3.2/; revision=20024
2013-12-02 14:34:25 +00:00
Jos Groot Lipman
85858ccf62 Merge 5.3.2 patches
svn path=/Website/branches/v5.3.3/; revision=20022
2013-12-02 14:12:58 +00:00
Maykel Geerdink
3d09255241 FSN#27927: SLA in MI: vinkje "overschrijding doorlooptijd" kan duidelijker.
svn path=/Website/branches/v5.3.3/; revision=20008
2013-12-02 10:14:00 +00:00
Jos Groot Lipman
fc74e5edb4 Branch 5.3.3
svn path=/Website/branches/v5.3.3/; revision=20006
2013-12-02 09:26:25 +00:00
779 changed files with 32075 additions and 19209 deletions

View File

@@ -85,13 +85,22 @@ function district_list(pautfunction, params)
var reg_key = params.reg_key;
var dis_key = params.dis_key;
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteDistrict(oRs("alg_district_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteDistrict(oRs("alg_district_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var dis_key = oRs("alg_district_key").Value;
var this_alg = alg.func_enabled(dis_key, "D");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
<head>
@@ -146,6 +155,7 @@ function district_list(pautfunction, params)
rowActionEnabler: fnrowActionEnabler,
flexModule: "ALG",
flexId: "alg_district_key",
flexParams: fnrowFlexParams,
filterParams: params,
outputmode: outputmode,
buttons: addButton

View File

@@ -38,10 +38,10 @@
{ dbs: "PRS_KOSTENPLAATS_KEY", typ: "key", frm: "prs_kstpl" },
{ dbs: "MLD_DIENSTNIVEAU_KEY", typ: "key", frm: "dienstniveau" },
{ dbs: "ALG_GEBOUW_ORDERNR", typ: "varchar", frm: "bld_ordrnr" },
{ dbs: "ALG_GEBOUW_DWGX", typ: "number", frm: "bld_dwgx" },
{ dbs: "ALG_GEBOUW_DWGY", typ: "number", frm: "bld_dwgy" },
{ dbs: "ALG_GEBOUW_X", typ: "number", frm: "bld_x" },
{ dbs: "ALG_GEBOUW_Y", typ: "number", frm: "bld_y" },
{ dbs: "ALG_GEBOUW_DWGX", typ: "float", frm: "bld_dwgx" },
{ dbs: "ALG_GEBOUW_DWGY", typ: "float", frm: "bld_dwgy" },
{ dbs: "ALG_GEBOUW_X", typ: "float", frm: "bld_x" },
{ dbs: "ALG_GEBOUW_Y", typ: "float", frm: "bld_y" },
{ dbs: "ALG_GEBOUW_BEZ", typ: "check", frm: "bld_bez" },
{ dbs: "ALG_GEBOUW_WERKDAGEN", typ: "check0", frm: "bld_werkdagen" }];

View File

@@ -90,13 +90,22 @@ function gebouw_list(pautfunction, params)
var bld_key = params.bld_key;
var bld_func = params.bld_func;
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var bld_key = oRs("alg_gebouw_key").Value;
var this_alg = alg.func_enabled(bld_key, "G");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
@@ -181,6 +190,7 @@ function gebouw_list(pautfunction, params)
rowActionEnabler: fnrowActionEnabler,
flexModule: "ALG",
flexId: "alg_gebouw_key",
flexParams: fnrowFlexParams,
filterParams: params,
outputmode: outputmode,
buttons: addButton
@@ -192,7 +202,6 @@ function gebouw_list(pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_srtgebouw"), content: "alg_srtgebouw_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_bruto_vloeropp"), content: "alg_gebouw_bruto_vloeropp"}));
if (outputmode != 0)
{
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_opmerk"), content: "alg_gebouw_opmerking"}));

View File

@@ -101,6 +101,15 @@ function locatie_list(pautfunction, params)
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var loc_key = oRs("alg_locatie_key").Value;
var this_alg = alg.func_enabled(loc_key, "L");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
@@ -173,6 +182,7 @@ function locatie_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_locatie_key",
flexParams: fnrowFlexParams,
filterParams: params,
buttons: addButton
});

View File

@@ -58,7 +58,7 @@ else
addString = (loc_key > 0? "&loc_key=" + loc_key : "")
+ (geb_key > 0? "&geb_key=" + geb_key : "")
+ (ver_key > 0? "&ver_key=" + ver_key : "")
+ (cad_ruimte_nr?"&cad_ruimte_nr="+cad_ruimte_nr:"");
+ (cad_ruimte_nr?"&cad_ruimte_nr="+safe.url(cad_ruimte_nr):"");
}
}
%>

View File

@@ -199,6 +199,15 @@ function ruimte_list(pautfunction, params)
return (floorCache[oRs("alg_verdieping_key").value]);
}
function fnrowFlexParams(oRs)
{
var room_key = oRs("alg_ruimte_key").Value;
var this_alg = alg.func_enabled(room_key, "R");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
var addurl = "appl/alg/alg_ruimte.asp?a=1";
addurl += buildTransitParam(["locatiekey", "gebouwkey", "verdiepingkey", "ruimtekey"], params) // TODO: welke allemaal?
@@ -217,6 +226,7 @@ function ruimte_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_ruimte_key",
flexParams: fnrowFlexParams,
filterParams: params,
buttons: addButton
});

View File

@@ -60,7 +60,7 @@ oRs.Close();
function alg_showphotos()
{
FcltMgr.openDetail("appl/shared/show_foto.asp?urole=bo&root_path=<%=custpath%>/location_images/&loc_key=<%=loc_key%>", "<%=L("lcl_photos")%>");
FcltMgr.openDetail("appl/shared/show_foto.asp?urole=bo&loc_key=<%=loc_key%>", "<%=L("lcl_photos")%>");
}
function loc_change()
@@ -140,7 +140,7 @@ oRs.Close();
ROFIELDTR("fld", L("lcl_prs_address_post_land"), pst_land, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_locatie_man_verantw"), loc_vw, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_locatie_man_verantw_tel"), loc_vwtel, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_noti_email"), loc_mail, {suppressEmpty: true});
AFIELDTR('fldmailto details', L("lcl_noti_email"), "mailto:" + loc_mail, loc_mail, { suppressEmpty: true });
BLOCK_END();

View File

@@ -25,7 +25,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
var ter_key = getQParamInt("ter_key");
var onrgoedlvl = "T";
var this_alg = alg.func_enabled(loc_key, onrgoedlvl);
var this_alg = alg.func_enabled(ter_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
var sql = "SELECT ts.alg_locatie_key"

View File

@@ -82,13 +82,22 @@ function terrein_list(pautfunction, params)
var ter_code = params.ter_code;
var ter_func = params.ter_func;
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
{
var eDelete = false;
if (alg.canWriteLocatie(oRs("alg_locatie_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
{
var eDelete = false;
if (alg.canWriteLocatie(oRs("alg_locatie_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var ter_key = oRs("alg_terreinsector_key").Value;
var this_alg = alg.func_enabled(ter_key, "T");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
@@ -158,6 +167,7 @@ function terrein_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_terreinsector_key",
flexParams: fnrowFlexParams,
filterParams: params,
buttons: addButton
});

View File

@@ -90,12 +90,21 @@ function verdiepingen_list(pautfunction, params)
var lvl_key = params.lvl_key;
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
{
var eDelete = false;
if (alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var ver_key = oRs("alg_verdieping_key").Value;
var this_alg = alg.func_enabled(ver_key, "V");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
@@ -164,6 +173,7 @@ function verdiepingen_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_verdieping_key",
flexParams: fnrowFlexParams,
filterParams: params,
rowData: fnrowData,
rowActionEnabler: fnrowActionEnabler,

View File

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

View File

@@ -57,8 +57,15 @@ function API_func(APIname, APIKEY)
API_func.prototype.error = function (msg)
{
Response.Status = "500 Internal server error";
Response.Write(msg);
if (JSON_Result && JSON) // Merk op dat 'invalid APIKEY' al door /default.asp
{ // is onderschept en dus niet hier komt.
Response.Write(JSON.stringify({ success: false, message: msg }));
}
else
{
Response.Status = "500 Internal server error";
Response.Write(safe.html(msg));
}
Response.End;
}

View File

@@ -160,7 +160,7 @@
Oracle.Execute(tsql);
}
}
else
else
{
resultcode = 5;
resulttekst = "Invalid status change";
@@ -216,7 +216,7 @@
resulttekst = "Invalid status change";
}
}
else
else
{
resultcode = 4;
resulttekst = "Remote delivery not enabled";
@@ -282,7 +282,7 @@
+ (newbruto ? ", bes_bestelling_item_brutoprijs="+ newbrutoval : "")
+ " WHERE bes_bestelling_item_key="+ bi_key;
Oracle.Execute(tsql);
shared.trackaction("BESUPD", bes_key, L("lcl_bes_is_besupdtrack").format(S("bes_bestelling_prefix") + bes_key));
shared.trackaction("BESUPD", bes_key, L("lcl_bes_is_besupdtrackprice").format(S("bes_bestelling_prefix") + bes_key, safe.curr(newprijsval)));
// En de bestelopdracht!
tsql = "UPDATE bes_bestelopdr_item "
@@ -292,7 +292,7 @@
+ (newbruto ? ", bes_bestelopdr_item_brutoprijs="+ newbrutoval : "")
+ " WHERE bes_bestelopdr_item_key="+ boi_key;
Oracle.Execute(tsql);
shared.trackaction("BES2UP", opdr_key, L("lcl_bes_is_bes2uptrack").format(S("bes_bestelopdr_prefix") + opdrid));
shared.trackaction("BES2UP", opdr_key, L("lcl_bes_is_bes2uptrackprice").format(S("bes_bestelopdr_prefix") + opdrid, safe.curr(newprijsval)));
}
if (newontv && resultcode == -1)

View File

@@ -29,6 +29,7 @@
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../api/api.inc" -->
<%
// We sturen het antwoord in UTF-8.
@@ -38,6 +39,9 @@
var APIname = getQParam("API");
var APIKEY = getQParam("APIKEY");
var API = new API_func(APIname, APIKEY);
var asJSON = getQParam("json","0")!="0";
var tsql = "-"; // Voor tijdelijke statement(s)
var sql = "-"; // De uiteindelijke insert/update-sql
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
@@ -172,8 +176,8 @@
+ " , ins_deel_statedate=SYSDATE" // TODO: de meegegeven meetdatumtijd nemen
+ " WHERE ins_deel_key=" + deel_key;
Oracle.Execute(sql);
shared.trackaction("INSUPD", deel_key, L("lcl_deel_state")+" "+safe.quoted_sql(waarde)); // met indicatie van soap/wijzing oid.
// FSN#28896: state-changes worden automatisch getrackt in ins_deel_state_history; geen updtracking meer
//shared.trackaction("INSUPD", deel_key, L("lcl_deel_state")+" "+safe.quoted_sql(waarde));
}
}
else { // outinn != ''
@@ -258,7 +262,14 @@
}
else
{
Response.ContentType = "text/xml";
Response.Write(xmlResp.xml)
if (asJSON)
Response.ContentType = "application/json";
else
Response.ContentType = "text/xml";
if (asJSON)
var antwoord = JSON.stringify(xmlToJson(xmlResp), null, getQParam("pretty","0")=="1"?2:0);
else
var antwoord = xmlResp.xml;
}
%>

View File

@@ -54,6 +54,18 @@
}
var inputXML = Server.CreateObject("MSXML2.DOMDocument.4.0");
inputXML.load(Request);
if (inputXML.parseError.errorCode != 0)
{
__DoLog( "Error loading XML: "
+ inputXML.parseError.errorCode
+ "\n" + inputXML.parseError.reason
+ " regel " + inputXML.parseError.line
+ "(" + inputXML.parseError.linepos + ")"
, "#ff0000");
}
if (API.apidata.loglevel) __Log2File(inputXML.xml, APIname + "_IN");
inputXML.transformNodeToObject(iXsl, xmlReq);
}
else
@@ -172,7 +184,7 @@
+ " FROM prs_perslidkostenplaats ppk,"
+ " prs_kostenplaats pk"
+ " WHERE pk.prs_kostenplaats_key = ppk.prs_kostenplaats_key"
+ " AND pk.prs_perslid_key = " + voor_key
+ " AND ppk.prs_perslid_key = " + voor_key
+ " AND prs_kostenplaats_verwijder IS NULL"
+ " AND prs_perslidkostenplaats_boeken = 1";
var oRs = Oracle.Execute(sql);

View File

@@ -11,7 +11,7 @@
Notes:
*/
DOCTYPE_Disable = 1;
JSON_Result = true;
LCL_Disable = 1
THIS_FILE = "appl/api/api_ressoap_info.asp";
@@ -74,6 +74,19 @@ try
params.anonymous = true; // erg anoniem
params.get_deepurl = true; // we willen graag een bookmark
if (params.prs_externId && !(params.prs_key > 0))
{
var sql = "SELECT prs_perslid_key"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_oslogin = " + safe.quoted_sql("_" + params.prs_externId);
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
params.prs_key = oRs("prs_perslid_key").Value;
}
oRs.Close()
}
switch (params.request)
{
case "plan_rooms_info":
@@ -95,7 +108,7 @@ try
var inc_queries = ["resruimte"];
var queries = prodsearch_queries(w_discs, filter);
var q_items = [];
var q_items = { alg_locatie_plaats: params.alg_locatie_plaats };
var sql = prodsearch_sql(filter, queries, w_discs, q_items, inc_queries);
var oRs = Oracle.Execute(sql);
var plan_info = Oracle.rs2hash(oRs);
@@ -103,18 +116,6 @@ try
set_deep_info(params, plan_info);
break;
case "user_lopend_info": // Alle lopende reserveringen van params.prs_externId
if (params.prs_externId && !(params.prs_key > 0))
{
var sql = "SELECT prs_perslid_key"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_oslogin = " + safe.quoted_sql("_" + params.prs_externId);
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
params.prs_key = oRs("prs_perslid_key").Value;
}
oRs.Close()
}
plan_info = [];
if (params.prs_key > 0)
@@ -175,6 +176,8 @@ function set_deep_info(params, plan_info)
plan_info[r].deepurl = deepurl;
if (plan_info[r].image)
plan_info[r].image_url = HTTP.urlzelfnoroot() + S("res_image_path") + plan_info[r].image;
else if (plan_info[r].foto) // prodsearch
plan_info[r].image_url = HTTP.urlzelfnoroot() + S("res_image_path") + plan_info[r].foto;
}
}
%>

View File

@@ -14,6 +14,7 @@
DOCTYPE_Disable = 1;
FCLTEXPIRES = 8*60; // geen database interactie tenslotte
THIS_FILE = "appl/api/phonebook_js.asp";
var EXPIRED_PASSWORD_OK = true; // performance
%>
<!-- #include file="../Shared/common.inc"-->
<!-- #include file="../Shared/json2.js" -->

679
APPL/API2/api2.inc Normal file
View File

@@ -0,0 +1,679 @@
<% /*
$Revision$
$Id$
File: api.inc
Description: Functies voor API's
Notes:
*/
%>
<!-- #include file="../Shared/save2db.inc" -->
<%
api2 = {
authenticate: function _authenticate(model)
{
var APIKEY;
if (S("fac_api_key_in_url"))
APIKEY = getQParam("APIKEY", "");
if (!APIKEY && Request.ServerVariables("HTTP_X_FACILITOR_API_KEY").Count)
APIKEY = String(Request.ServerVariables("HTTP_X_FACILITOR_API_KEY")); // Meegegeven als X-FACILITOR-API-Key
if (!APIKEY && Session("user_key") > 0)
{
user_key = Session("user_key"); // Hierdoor is de API intern te gebruiken zonder authenticatie
}
else
{
Session.Abandon(); // Altijd, voor de zekerheid
var sql = "SELECT prs_perslid_key, prs_perslid_naam"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_verwijder IS NULL"
+ " AND prs_perslid_apikey = " + safe.quoted_sql(APIKEY);
var oRs = Oracle.Execute(sql);
if (oRs.Eof || !APIKEY)
{
Response.Status = "401 Unauthorized";
//Response.AddHeader("WWW-Authenticate", "Basic realm=\"FACILITOR API\"");
Response.End;
};
__Log("API2 User is: " + oRs("prs_perslid_naam").Value);
/* global */ user_key = oRs("prs_perslid_key").Value;
oRs.Close();
}
/* global */ user = new Perslid(user_key);
// Impersonate?
var IMPERS;
if (S("fac_api_key_in_url"))
IMPERS = getQParam("SWITCHUSER", "");
if (!IMPERS && Request.ServerVariables("HTTP_X_FACILITOR_SWITCH_USER").Count)
IMPERS = String(Request.ServerVariables("HTTP_X_FACILITOR_SWITCH_USER")); // Meegegeven als X-FACILITOR-SWITCH-USER
if (IMPERS) // && S("fac_api_allow_impersonate")
{
var sql = "SELECT prs_perslid_key, prs_perslid_naam"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_verwijder IS NULL"
+ " AND prs_perslid_oslogin = " + safe.quoted_sql_upper(IMPERS);
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
{
Response.Status = "412 Invalid X-Facilitor-Switch-User header";
Response.End;
};
__Log("IMPERS User is: " + oRs("prs_perslid_naam").Value);
var other_user_key = oRs("prs_perslid_key").Value;
oRs.Close();
if (model.impersonate_auth)
{
var xfunc = user.func_enabled2(model.module, { prs_key: other_user_key, isOptional: true });
var can = (xfunc && xfunc.canRead(model.impersonate_auth));
if (can)
/* global */ user_key = other_user_key;
}
if (user_key != other_user_key)
{
Response.Status = "412 Unauthorized X-Facilitor-Switch-User header";
Response.End;
}
}
},
process: function _process(model)
{
CheckForLogging(Request.QueryString("logging"));
Session.Codepage = 65001; // We doen *uitsluitend* utf-8
Response.Charset = 'utf-8';
api2.authenticate(model);
var method = String(Request.ServerVariables("REQUEST_METHOD"));
if (!/GET|PUT|POST|DELETE/.test(method)) // Overigens houdt IIS deze al eerder tegen
{
Response.Status = "405 Method not allowed";
Response.End;
}
if (!("REST_" + method in model))
{
Response.Status = "501 Not Implemented";
// TODO The response MUST include an Allow header containing a list of valid methods for the requested resource.
Response.End;
}
var jsondata = {};
if (/PUT|POST/.test(method))
{
jsondata = RequestJSON(); // TODO: XML ondersteunen
if (!jsondata)
api2.error(500, "Error parsing input JSON");
}
var key = getQParamInt("id", -1); // Voor GET/PUT/DELETE
var data = model["REST_" + method]( { filter: api2.qs2json(), include: getQParamArray("include",[]) }, jsondata, key );
if (method == "DELETE")
{
Response.Status = "204 No Content";
Response.End;
}
api2.deliver(data, getQParamSafe("format", "json"),
model.records_name,
model.record_name,
(method != "GET")||getQParamInt("id","0")>0); // PUT en POST altijd single
},
qs2json: function _qs2json(params)
{
var filter = {};
for (var i = 1; i<= Request.QueryString.Count; i++)
{
filter[Request.QueryString.key(i)] = String(Request.QueryString(i));
}
return filter;
},
// Verwerk filtervelden die in de url zijn meegegeven
sqlfilter: function _sqlfilter(params, model)
{
var wheres = [];
if (params.filter)
{
for (var fld in model.fields)
{
var field = model.fields[fld];
var filter = field.filter;
if (!filter)
continue;
if (field.name in params.filter)
{
var filterval = params.filter[field.name];
// TODO: operand?
var clause;
switch (field.typ)
{
case "key":
var safe_val = parseInt(filterval, 10);
if (isNaN(safe_val))
{
Response.Status = "404 Not Found";
Response.End;
}
break;
case "number":
case "check":
var safe_val = parseInt(filterval, 10);
if (isNaN(safe_val))
{
Response.Status = "404 Not Found";
Response.End;
}
break;
case "varchar":
var safe_val = safe.quoted_sql(filterval);
break;
default:
UNKNOWN_FILTER_TYPE;
}
var dbs = field.dbs;
if (dbs.indexOf(".") < 0)
dbs = model.table + "." + field.dbs;
wheres.push(dbs + " = " + safe_val);
}
}
}
return wheres;
},
sqlfields: function _sqlfields(params, model)
{
var selects = [];
var tables = [ model.table ];
var wheres = [];
var name_cnt = 0;
for (var fld in model.fields)
{
var field = model.fields[fld];
if (!field.name)
continue;
var dbs = field.dbs;
if (field.sql)
{
selects.push(field.sql + " AS " + field.dbs);
}
else
{
if (dbs.indexOf(".") < 0)
dbs = model.table + "." + field.dbs;
selects.push(dbs);
}
if (field.foreign && typeof field.foreign == 'string') // de functions komen later
{
var foreign = foreignKeyTable(field.foreign);
if (!foreign)
MISSING_FOREIGN;
field.foreignsql = "SELECT " + foreign.desc
+ " FROM " + foreign.tbl + " " + (foreign.alias||"xx")
+ " WHERE ";
if (foreign.where)
field.foreignsql += foreign.where + " AND ";
field.foreignsql += (foreign.alias||"xx") + "." + foreign.key + " = " + dbs;
if (foreign.desc.match(/\_CODE$/i))
field.foreigniscode = true;
}
if (field.foreignsql)
{
name_cnt ++;
field._foreignname = "foreign_" + name_cnt; // Genereer een niet al te extreem lange naam
selects.push("(" + field.foreignsql + ") " + field._foreignname);
}
}
if (params.include && model.includes)
{
for (var i in params.include)
{
if (params.include[i] in model.includes)
{
var inc = model.includes[params.include[i]];
if (inc.model)
{
var incquery = api2.sqlfields(params, inc.model);
selects = selects.concat (incquery.selects);
tables = tables.concat (incquery.tables);
wheres = wheres.concat (incquery.wheres);
wheres.push ( model.table + "." + model.primary + "=" + inc.model.table + "." + inc.joinfield);
}
}
}
}
return { selects: selects, tables: tables, wheres: wheres };
},
// TODO the_key *moet* bestaan. Andere filtervelden negeren we
update_fields: function _update_fields(params, model, jsondata)
{
//__DoLogj(jsondata)
if (jsondata[model.record_name])
jsondata = jsondata[model.record_name]; // dereference
var fields = [];
for (var fld in model.fields)
{
var field = model.fields[fld];
// De key halen we uit de url, die in de JSON negeren we
if (field.name == "id")
continue;
if (field.dbs.indexOf(".") >= 0) // complexe foreign key
continue;
if (!(field.name in jsondata) && !field.fnval)
continue;
if (field.fnval)
var newval = field.fnval(jsondata);
else // simpel
var newval = jsondata[field.name];
// De foreign keys action { "id": "5", "name": "afhalen" }
if (field.typ == "key" && newval && typeof newval == "object")
newval = newval.id;
var newfield = { dbs: field.dbs,
typ: field.typ,
val: newval
};
fields.push(newfield);
}
return fields;
},
// Verwerk de POST en PUT (== insert en update)
process_includes: function(params, model, jsondata, the_key)
{
if (jsondata[model.record_name])
jsondata = jsondata[model.record_name]; // dereference
if (!model.includes)
return [];
for (var incname in model.includes)
{
if (incname in jsondata) // i=="visitors"
{
var inc = model.includes[incname];
if (inc.model) // andere includes zijn nog niet bij te werken
{
var incmodel = inc.model;
// Vul existing_includes met bestaande records in de database
var sql = "SELECT " + incmodel.primary
+ " FROM " + incmodel.table
+ " WHERE " + incmodel.table + "." + inc.joinfield + "=" + the_key;
var existing_includes = {};
var oRs = Oracle.Execute(sql);
while (!oRs.Eof)
{
//__DoLog("Found in DB " + incname + " " + oRs(incmodel.primary).Value);
existing_includes[oRs(incmodel.primary).Value] = { found: false }; // vooralsnog niet in json-data gevonden
oRs.MoveNext();
}
oRs.Close();
var incdata = jsondata[incname]; // Array zoals via API aangeleverd
for (var j=0; j<incdata.length; j++)
{
var inckey = incdata[j]["id"]; // Die moet er zijn
if (!inckey || inckey < 0 || params.isNew)
{
//__DoLog("Ik zou moeten inserten");
incmodel.REST_POST(params, incdata[j], the_key);
}
else if (inckey in existing_includes)
{
//__DoLog("Ik zou '{0}' {1} moeten updaten".format(incname, inckey));
incmodel.REST_PUT(params, incdata[j], inckey);
existing_includes[inckey].found = true;
}
}
for (oldi in existing_includes)
{
if (!existing_includes[oldi].found)
{
incmodel.REST_DELETE(params, incdata[j], oldi);
}
}
}
else
{
//if (inc.func)
}
}
}
},
// Geeft de GET terug
sql2jsonval: function(oRs, field)
{
//__DoLog(field.dbs);
if (field.dbs.indexOf(".") < 0)
var val = oRs(field.dbs).Value;
else
var val = oRs(field.dbs.split(".")[1]).Value;
if (field.typ == "date" && (val != null))
val = new Date(val)
if (field.typ == "datetime" && (val != null))
val = new Date(val)
// TODO: Wat te doen met lege waarde
// action: null
// action: {key: null, name: null}
// action: {}
// of helemaal weglaten? We hebben nu de 1e optie
// En wat bij een leeg (include) array? Dan kun je ook nog occupations:[] krijgen
if (val && (field.foreign || field.foreignsql))
{
if (field.foreignsql)
{
var name = oRs(field._foreignname).Value;
if (name != null && typeof name == "date" )
name = new Date(name);
}
else
{
var name = field.foreign(val);
}
val = { id: val };
if (field.foreigniscode)
val.code = name;
else
val.name = name;
}
return val;
},
sql2jsonfields: function (oRs, model)
{
var record = {};
for (var fld in model.fields)
{
var field = model.fields[fld];
if (!field.name)
continue;
record[field.name] = api2.sql2jsonval(oRs, field);
}
return record;
},
sql2json: function _sql2json(params, sql, model)
{
var prefuncdata;
var prefuncdatainitialized = false;
var prefilterfuncdata;
if (model.filter && model.filter.prefunc)
prefilterfuncdata = model.filter.prefunc(params);
var data = [];
var oRs = Oracle.Execute(sql);
var lastkey = -1;
while (!oRs.Eof)
{
var key = oRs(model.primary).Value;
if (key != lastkey)
{
if (lastkey > 0)
data.push(record);
var record = {};
}
if (model.filter && model.filter.func)
{
if (!model.filter.func(oRs, params, prefilterfuncdata))
{
oRs.MoveNext();
continue;
}
}
var fld;
for (fld in model.fields)
{
var field = model.fields[fld];
if (!field.name)
continue;
record[field.name] = api2.sql2jsonval(oRs, field);
}
if (params.include && model.includes)
{
for (var i in params.include)
{
var incname = params.include[i];
if (incname in model.includes)
{
var incmodel = model.includes[incname].model;
if (!(incname in record))
record[incname] = [];
if (incmodel)
{
record[incname].push(api2.sql2jsonfields(oRs, incmodel));
}
else if (model.includes[incname].func)
{
if (model.includes[incname].prefunc && !prefuncdatainitialized)
{
prefuncdata = model.includes[incname].prefunc(params);
prefuncdatainitialized = true;
}
var incdata = model.includes[incname].func(key, params, prefuncdata);
if (incdata !== null)
record[incname].push(incdata);
}
}
}
}
lastkey = key;
oRs.MoveNext();
}
if (lastkey > 0)
data.push(record);
return data;
},
// Data is een array met 'records'
deliver: function _deliver(data, format, records_name, record_name, single )
{
if (single && !data.length)
{
Response.Status = "404 Not Found";
Response.End;
}
switch (format)
{
case "json":
var result = { };
if (single)
result[record_name] = data[0];
else
result[records_name] = data;
var str_antwoord = JSON.stringify(result, null, getQParam("pretty","0")=="1"?2:0);
var jsonp = getQParam("jsonp", getQParam("callback",""));
if (jsonp)
{
str_antwoord = jsonp + "(" + str_antwoord + ")";
Response.ContentType = "application/javascript";
}
else
Response.ContentType = "application/json";
break;
case "html":
Response.ContentType = "text/html";
var result = { };
if (single)
result[record_name] = data[0];
else
result[records_name] = data;
var antwoord = JSON.stringify(result, null, 2);
var str_antwoord = "<!DOCTYPE html><html><head></head><body><pre>"
+ Server.HTMLEncode(antwoord)
+ "</pre></body></html>";
break;
case "xml":
Response.ContentType = "text/xml";
var xml_antwoord = api2.json2xml(data, records_name, record_name, single);
// TODO: Output XSL transform ondersteunen?
var str_antwoord = xml_antwoord.xml;
break;
default:
WRONG_FORMAT;
}
// str_antwoord heeft nu het te versturen antwoord
// Bepaal eTag
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
var eTag = '"' + oCrypto.hex_sha1(String(S("cache_changecounter")) + "_" + str_antwoord).toLowerCase() + '"';
Response.AddHeader("ETag", eTag);
if (Request.ServerVariables("HTTP_IF_NONE_MATCH") == eTag)
{ // We hebben een match! Effectief besparen wel alleen op dataverkeer, de queries zijn al geweest
Response.Clear();
Response.Status = "304 Not modified";
Response.End;
}
// if (API.apidata.loglevel) __Log2File(str_antwoord, APIname + "_OUT");
Response.write(str_antwoord);
},
// TODO: Wanneer attributes gebruiken en wanneer (sub)-elements?
json2xml: function _json2xml(data, rootname, record_name, single)
{
var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.4.0");
xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""));
var record2json = function(record, record_name)
{
var elementRecord = xmlDoc.createElement(record_name);
for (var fld in record)
{
var elementField = xmlDoc.createElement(fld);
if (record[fld] instanceof Date)
{
var elementFieldText = xmlDoc.createTextNode(String(record[fld].toJSON()));
elementField.appendChild(elementFieldText);
}
else if (record[fld] instanceof Array)
{
for (var i = 0; i < record[fld].length; i++)
elementField.appendChild(record2json(record[fld][i], "visitor")); // TODO Hardcoded
}
else if (record[fld] && typeof record[fld] == "object") // TODO: veronderstelt nog hardcoded dat dit foreign met name/key is
{
if ("name" in record[fld] && "id" in record[fld])
{
elementField.setAttribute("name", record[fld].name);
elementField.setAttribute("id", record[fld].id);
}
else
elementField = record2json(record[fld], fld);
}
else
{
var elementFieldText = xmlDoc.createTextNode(record[fld]||"");
elementField.appendChild(elementFieldText);
}
elementRecord.appendChild(elementField);
}
return elementRecord;
};
if (single)
{
xmlDoc.appendChild(record2json(data[0], record_name));
}
else
{
var arrayElement = xmlDoc.createElement(rootname);
for (var i = 0; i < data.length; i++)
arrayElement.appendChild(record2json(data[i], record_name));
xmlDoc.appendChild(arrayElement);
}
return xmlDoc;
},
error: function (code, msg)
{
abort_with_warning(msg, code)
}
}
// LET OP: Verwacht wordt dat de JSON-code in de body utf-8 encoded is, niet windows-1252!
// (in de praktijk moet je *moeite* doen om windows-1252 te krijgen dus dit is handiger)
function RequestJSON()
{
var jvraag;
if(Request.TotalBytes > 0)
{
var lngBytesCount = Request.TotalBytes;
jvraag = BytesToStr(Request.BinaryRead(lngBytesCount));
}
__Log("Vraag: " + jvraag);
try
{
var vraag = myJSON.parse(jvraag);
}
catch (e)
{
__DoLog("eval faalt met: {0}<br>{1}".format(e.description, jvraag), "ffff00");
return null;
}
return vraag;
}
function BytesToStr(bytes)
{
var stream = Server.CreateObject("ADODB.Stream");
stream.type = 1;
stream.open;
stream.write(bytes);
stream.position = 0;
stream.type = 2; // Text
stream.charset = "utf-8";
var sOut = stream.readtext();
stream.close;
return sOut;
}
function getQParamISODate(pName, defVal)
{
return _get_ParamISODate(Request.Querystring, pName, defVal)
}
function getFParamISODate(pName, defVal)
{
return _get_ParamISODate(Request.Form, pName, defVal)
}
function _get_ParamISODate(pColl, pName, defVal)
{
var strval = _get_Param(pColl, pName, defVal, true); // force: een lege waarde wordt als afwezig beschouwd
if (strval)
{
var dt = myJSON.internal_parsedate(null, strval);
if (dt && dt instanceof Date)
return dt;
}
if (defVal instanceof Date)
{
return defVal;
}
if (defVal === null) // bewust triple===
{
return null;
}
// Error message will get to client and/or IIS logfiles
eval("INTERNAL_ERROR_PARAMETER_" + pName + "_IS_NOT_ISODATE");
}
%>

View File

@@ -0,0 +1,27 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_appointments.asp
Description: BEZ_AFSPRAAK API
Parameters:
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes:
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_appointments.asp";
// Session("logging")=1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./model_appointments.inc" -->
<%
api2.process(model_appointments);
%>

View File

@@ -0,0 +1,27 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_buildings.asp
Description: ALG_GEBOUW API
Parameters:
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes:
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_buildings.asp";
// Session("logging")=1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./model_buildings.inc" -->
<%
api2.process(model_buildings);
%>

View File

@@ -0,0 +1,25 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_districts.asp
Description: ALG_LOCATIE API
Parameters:
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes:
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_districts.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./model_districts.inc" -->
<%
api2.process(model_districts);
%>

View File

@@ -0,0 +1,25 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_locations.asp
Description: ALG_LOCATIE API
Parameters:
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes:
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_locations.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./model_locations.inc" -->
<%
api2.process(model_locations);
%>

27
APPL/API2/api_persons.asp Normal file
View File

@@ -0,0 +1,27 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_persons.asp
Description: PRS_PERSLID API
Parameters:
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes:
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_persons.asp";
// Session("logging")=1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./model_persons.inc" -->
<%
api2.process(model_persons);
%>

25
APPL/API2/api_regions.asp Normal file
View File

@@ -0,0 +1,25 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_regions.asp
Description: ALG_REGIO API
Parameters:
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes:
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_regions.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./model_regions.inc" -->
<%
api2.process(model_regions);
%>

View File

@@ -0,0 +1,27 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_reservablerooms.asp
Description: RES_RUIMTE API
Parameters:
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes:
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_reservablerooms.asp";
// Session("logging")=1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./model_reservablerooms.inc" -->
<%
api2.process(model_reservablerooms);
%>

View File

@@ -0,0 +1,27 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_reservations.asp
Description: PRS_PERSLID API
Parameters:
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes:
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_reservations.asp";
// Session("logging")=1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./model_reservations.inc" -->
<%
api2.process(model_reservations);
%>

View File

@@ -0,0 +1,27 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_visitors.asp
Description: BEZ_AFSPRAAK API
Parameters:
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
Notes:
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_visitors.asp";
// Session("logging")=1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./model_visitors.inc" -->
<%
api2.process(model_visitors);
%>

View File

@@ -0,0 +1,134 @@
<% /*
$Revision$
$Id$
File: model_appointments.inc
Description: Afspraken model. Dit bestand heeft niets met interfacing te maken
maar werkt uitsluitend op JSON-data
Parameters:
Context:
Notes:
*/
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<!-- #include file="./model_visitors.inc" -->
<%
function afs_alg_onrgoed_keys(jsondata)
{
// TODO: key-check, auth check
if (jsondata.room && jsondata.room.id > 0)
return jsondata.room.id;
if (jsondata.floor && jsondata.floor.id > 0)
return jsondata.floor.id;
if (jsondata.building && jsondata.building.id > 0)
return jsondata.building.id;
return null;
};
model_appointments =
{
module: "BEZ",
table: "bez_afspraak",
primary: "bez_afspraak_key",
records_name: "appointments",
record_name: "appointment",
fields: [{ name: "id", dbs: "bez_afspraak_key", typ: "key", filter: "exact" },
{ name: "from", dbs: "bez_afspraak_datum", typ: "datetime"},
{ name: "to", dbs: "bez_afspraak_eind", typ: "datetime"},
{ name: "description", dbs: "bez_afspraak_opmerking", typ: "varchar"},
{ name: "action", dbs: "bez_actie_key", typ: "key", foreign: "bez_actie"},
{ name: "location", dbs: "alg_locatie_key", typ: "key", foreign: "alg_locatie"},
{ name: "building", dbs: "alg_v_allonroerendgoed.alg_gebouw_key", typ: "key", foreign: "alg_gebouw" },
{ name: "floor", dbs: "alg_v_allonroerendgoed.alg_verdieping_key", typ: "key", foreign: "alg_verdieping" },
{ name: "room", dbs: "alg_v_allonroerendgoed.alg_ruimte_key", typ: "key", foreign: "alg_ruimte" },
{ dbs: "alg_onrgoed_keys", typ: "key", fnval: afs_alg_onrgoed_keys }
],
includes: {"visitors": { model: model_visitors,
joinfield: "bez_afspraak_key"
}
},
impersonate_auth: "WEB_BEZFOF",
REST_GET: function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization hoewel je eigen afspraken zien natuurlijk niet echt spannend is
var query = api2.sqlfields(params, model_appointments );
query.wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
+ " OR bez_afspraak_host_key = " + user_key + ")");
query.wheres.push("bez_afspraak_datum BETWEEN SYSDATE - " + S("facilitiespast_bez") + " AND SYSDATE + " + S("facilitiesfuture_bez"));
query.tables.push("alg_v_allonroerendgoed");
query.wheres.push("alg_v_allonroerendgoed.alg_onroerendgoed_keys(+) = bez_afspraak.alg_onrgoed_keys");
var wheres = api2.sqlfilter(params, model_appointments);
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY bez_afspraak_datum, bez_afspraak.bez_afspraak_key";
__DoLog(sql);
var json = api2.sql2json (params, sql, model_appointments );
return json;
},
REST_PUT: function (params, jsondata, the_key) /* update appointment */
{
var fields = api2.update_fields(params, model_appointments, jsondata); // Build updater
// bezUpd heeft na afloop eventueel oldjsvals
var wheres = [" bez_afspraak_key = " + the_key];
wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
+ " OR bez_afspraak_host_key = " + user_key + ")");
var bezUpd = buildTrackingUpdate("bez_afspraak", wheres.join(" AND " ), fields, { noValidateToken: true });
__DoLog(bezUpd.sql);
Oracle.Execute(bezUpd.sql);
var beztrack = api2.process_includes(params, model_appointments, jsondata, the_key);
// TODO: Tracking
//var result = saveBezoekers(afspr_key, -1, { urole: urole, loctimechanged: changed });
//if (result.beztrack && result.beztrack.length > 0)
//bezUpd.trackarray.push(result.beztrack.join("\n"));
return model_appointments.REST_GET(params); // resulterende data weer terug
},
REST_POST: function (params, jsondata) /* new appointment */
{
var fields = api2.update_fields(params, model_appointments, jsondata); // Build updater
fields.push({ dbs: "bez_afspraak_key", typ: "key", seq: "bez_s_bez_afspraak_key" });
fields.push({ dbs: "bez_afspraak_host_key", typ: "key", val: user_key });
fields.push({ dbs: "bez_afspraak_contact_key", typ: "key", val: user_key });
var bezIns = buildInsert("bez_afspraak", fields, { noValidateToken: true });
var afs_key = bezIns.sequences["bez_afspraak_key"];
__DoLog(bezIns.sql);
Oracle.Execute(bezIns.sql);
// TODO: Tracking
params.isNew = true; // negeer eventuele bestaande keys
var beztrack = api2.process_includes(params, model_appointments, jsondata, afs_key);
//var bezUpd = {trackarray: [L("lcl_bez_is_bezadd") + ": " + beznaam + "/" + bed]};
params.filter.id = afs_key;
return model_appointments.REST_GET(params); // resulterende data weer terug
},
REST_DELETE: function (params, jsondata, the_key) /* delete appointment */
{
var wheres = [" bez_afspraak_key = " + the_key];
wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
+ " OR bez_afspraak_host_key = " + user_key + ")");
var sql = "DELETE FROM bez_afspraak"
+ " WHERE " + wheres.join(" AND " );
__DoLog(sql);
Oracle.Execute(sql);
}
}
%>

View File

@@ -0,0 +1,65 @@
<% /*
$Revision$
$Id$
File: model_buildings.inc
Description: Gebouwen model. Dit bestand heeft niets met interfacing te maken
maar werkt uitsluitend op JSON-data
Parameters:
Context:
Notes:
*/
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<%
model_buildings =
{
table: "alg_gebouw",
primary: "alg_gebouw_key",
records_name: "buildings",
record_name: "building",
fields: [{ name: "id", dbs: "alg_gebouw_key", typ: "key", filter: "exact" },
{ name: "code", dbs: "alg_gebouw_code", typ: "varchar", filter: "like" },
{ name: "name", dbs: "alg_gebouw_naam", typ: "varchar", filter: "like" },
// is afgeleid gegeven { name: "description", dbs: "alg_gebouw_omschrijving", typ: "varchar"},
{ name: "visitable" , dbs: "alg_gebouw_bez", typ: "check", filter: "exact"},
{ name: "location", dbs: "alg_locatie_key", typ: "key", foreign: "alg_locatie"},
{ name: "coordinate_x", dbs: "alg_gebouw_x", typ: "number"},
{ name: "coordinate_y", dbs: "alg_gebouw_y", typ: "number"},
],
REST_GET: function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization
var query = api2.sqlfields(params, model_buildings);
query.wheres.push("alg_gebouw_verwijder IS NULL");
var wheres = api2.sqlfilter(params, model_buildings)
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY alg_gebouw_code";
var json = api2.sql2json (params, sql, model_buildings);
return json;
},
PUT: function (params) /* update building */
{
},
POST: function (params) /* new building */
{
},
DELETE: function (params) /* delete building */
{
}
}
%>

View File

@@ -0,0 +1,61 @@
<% /*
$Revision$
$Id$
File: model_districts.inc
Description: District model. Dit bestand heeft niets met interfacing te maken
maar werkt uitsluitend op JSON-data
Parameters:
Context:
Notes:
*/
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<%
model_districts =
{
table: "alg_district",
primary: "alg_district_key",
records_name: "districts",
record_name: "district",
fields: [{ name: "id", dbs: "alg_district_key", typ: "key", filter: "exact" },
//{ name: "name", dbs: "alg_district_naam", typ: "varchar", filter: "like" },
{ name: "name", dbs: "alg_district_omschrijving", typ: "varchar"},
{ name: "region", dbs: "alg_regio_key", typ: "key", foreign: "alg_regio"}
],
REST_GET: function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization
var query = api2.sqlfields(params, model_districts);
query.wheres.push("alg_district_verwijder IS NULL");
var wheres = api2.sqlfilter(params, model_districts)
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY alg_district_omschrijving";
var json = api2.sql2json (params, sql, model_districts);
return json;
},
PUT: function (params) /* update district */
{
},
POST: function (params) /* new district */
{
},
DELETE: function (params) /* delete district */
{
}
}
%>

View File

@@ -0,0 +1,64 @@
<% /*
$Revision$
$Id$
File: model_locations.inc
Description: Locatie model. Dit bestand heeft niets met interfacing te maken
maar werkt uitsluitend op JSON-data
Parameters:
Context:
Notes:
*/
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<%
model_locations =
{
table: "alg_locatie",
primary: "alg_locatie_key",
records_name: "locations",
record_name: "location",
fields: [{ name: "id", dbs: "alg_locatie_key", typ: "key", filter: "exact" },
{ name: "code", dbs: "alg_locatie_code", typ: "varchar", filter: "like" },
//{ name: "name", dbs: "alg_locatie_naam", typ: "varchar", filter: "like" },
{ name: "description", dbs: "alg_locatie_omschrijving", typ: "varchar"},
{ name: "district", dbs: "alg_district_key", typ: "key", foreign: "alg_district"},
{ name: "coordinate_x", dbs: "alg_locatie_x", typ: "number"},
{ name: "coordinate_y", dbs: "alg_locatie_y", typ: "number"},
],
REST_GET: function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization
var query = api2.sqlfields(params, model_locations);
query.wheres.push("alg_locatie_verwijder IS NULL");
var wheres = api2.sqlfilter(params, model_locations)
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY alg_locatie_code";
var json = api2.sql2json (params, sql, model_locations);
return json;
},
PUT: function (params) /* update location */
{
},
POST: function (params) /* new location */
{
},
DELETE: function (params) /* delete location */
{
}
}
%>

View File

@@ -0,0 +1,67 @@
<% /*
$Revision$
$Id$
File: model_persons.inc
Description: Perslid model. Dit bestand heeft niets met interfacing te maken
maar werkt uitsluitend op JSON-data
Parameters:
Context:
Notes:
*/
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<%
model_persons =
{
table: "prs_perslid",
primary: "prs_perslid_key",
records_name: "persons",
record_name: "person",
fields: [{ name: "id", dbs: "prs_perslid_key", typ: "key", filter: "exact" },
{ name: "lastname", dbs: "prs_perslid_naam", typ: "varchar"},
{ name: "firstname", dbs: "prs_perslid_voornaam", typ: "varchar"},
{ name: "mail", dbs: "prs_perslid_email", typ: "varchar"},
{ name: "login", dbs: "prs_perslid_oslogin", typ: "varchar"},
{ name: "department", dbs: "prs_afdeling_key", typ: "key", foreign: "prs_afdeling"}
],
REST_GET: function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization
var query = api2.sqlfields(params, model_persons );
query.wheres.push("prs_perslid_key = " + user_key); // Altijd fe vooralnog
var wheres = api2.sqlfilter(params, model_persons);
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY prs_perslid_naam, prs_perslid.prs_perslid_key";
__DoLog(sql);
var json = api2.sql2json (params, sql, model_persons );
return json;
},
PUT: function (params) /* update building */
{
},
POST: function (params) /* new building */
{
},
DELETE: function (params) /* delete building */
{
}
}
%>

View File

@@ -0,0 +1,60 @@
<% /*
$Revision$
$Id$
File: model_regions.inc
Description: Regio model. Dit bestand heeft niets met interfacing te maken
maar werkt uitsluitend op JSON-data
Parameters:
Context:
Notes:
*/
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<%
model_regions =
{
table: "alg_regio",
primary: "alg_regio_key",
records_name: "regions",
record_name: "region",
fields: [{ name: "id", dbs: "alg_regio_key", typ: "key", filter: "exact" },
//{ name: "name", dbs: "alg_region_naam", typ: "varchar", filter: "like" },
{ name: "name", dbs: "alg_regio_omschrijving", typ: "varchar"}
],
REST_GET: function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization
var query = api2.sqlfields(params, model_regions);
query.wheres.push("alg_regio_verwijder IS NULL");
var wheres = api2.sqlfilter(params, model_regions)
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY alg_regio_omschrijving";
var json = api2.sql2json (params, sql, model_regions);
return json;
},
PUT: function (params) /* update region */
{
},
POST: function (params) /* new region */
{
},
DELETE: function (params) /* delete region */
{
}
}
%>

View File

@@ -0,0 +1,170 @@
<% /*
$Revision$
$Id$
File: model_reservablerooms.inc
Description: Bezoekers model. Dit bestand heeft niets met interfacing te maken
maar werkt uitsluitend op JSON-data
Parameters:
Context:
Notes: // TODO: Koppelzalen?
http://uwva.5iwork/Branch541/api2/reservablerooms.json?apikey=APIPFO&pretty=1&location=71&include=occupations&logging=0&freefrom=2014-05-06T11:00:00Z&freeto=2014-05-06T13:00:00Z
*/
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<!-- #include file="../res/res.inc"-->
<%
model_reservablerooms =
{
table: "res_ruimte",
primary: "res_ruimte_key",
records_name: "reservablerooms",
record_name: "reservableroom",
fields: [{ name: "id", dbs: "res_ruimte_key", typ: "key", filter: "exact" },
{ name: "name", dbs: "res_ruimte_nr", typ: "varchar"},
{ name: "description", dbs: "res_ruimte_omschrijving", typ: "varchar"},
// { name: "open", dbs: "res_ruimte_begintijd", typ: "time"}, is geen echte 'time'
{ name: "location", dbs: "alg_v_allonroerendgoed.alg_locatie_key", typ: "key", foreign: "alg_locatie", filter: "exact"},
{ name: "room", dbs: "res_alg_ruimte.res_alg_ruimte_key", typ: "key", foreign: "alg_ruimte"},
{ name: "image", dbs: "res_ruimte_image", typ: "varchar" }
],
filter: { prefunc: function _prefilterfunc(params)
{
//__DoLog("getQParamISODate: " + getQParamISODate("res_van"));
var res_van = getQParamISODate("freefrom", null);
var res_tot = getQParamISODate("freeto", null);
if (res_van && res_tot)
{
var params = {res_van: res_van, // TODO: Welke dag?
res_tot: res_tot,
loc_key: 71, // alkw
//res_ruimte_key: 8065, // even hard
authparams : user.checkAutorisation("WEB_RESUSE", null, null, true),
forSelectRoom: true
}
return res.plan_bezet_info(params); // wordt meegeven aan de volgende func
}
else
return null;
},
func: function _filterfunc(oRs, params, prefuncdata)
{
if (!prefuncdata)
return true;
var res_van = getQParamISODate("freefrom", null);
var res_tot = getQParamISODate("freeto", null); // TODO: Voorkomen dat het een andere dag is
var key = oRs("res_ruimte_key").Value;
var occupations = prefuncdata[key]
prev_end = res_van.setFloatHours(S("res_t1")); // TODO: per ruimte?
for (var i in occupations)
{
var occu = occupations[i];
if (res_van < occu.res_tot && res_tot > occu.res_van)
{
return false; // Overlap
}
prev_end = occu.res_tot;
}
return true;
}
},
includes: {"availability": { //xmodel: model_visitors,
xjoinfield: "bez_afspraak_key"
},
"occupations": { // prefunc om alles tegelijk op te halen
prefunc: function _occupations(params)
{
var params = {res_van: new Date(), // TODO: Welke dag?
res_tot: new Date(),
loc_key: 71, // alkw
//res_ruimte_key: 8065, // even hard
authparams : user.checkAutorisation("WEB_RESUSE", null, null, true),
forSelectRoom: true
}
return res.plan_bezet_info(params); // wordt meegeven aan de volgende func
},
func: function _occupations(key, params, prefuncdata)
{
var occupied = prefuncdata[key] ;
return occupied?occupied[0]:null;
},
xjoinfield: "bez_afspraak_key"
}
},
REST_GET: function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization
var query = api2.sqlfields(params, model_reservablerooms );
query.tables.push("res_alg_ruimte");
query.wheres.push("res_ruimte_verwijder IS NULL");
query.wheres.push("res_alg_ruimte_verwijder IS NULL");
//query.wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
// + " OR bez_afspraak_host_key = " + user_key + ")");
query.wheres.push("res_alg_ruimte.res_ruimte_key = res_ruimte.res_ruimte_key");
//query.wheres.push("bez_afspraak_datum BETWEEN SYSDATE - " + S("facilitiespast_bez") + " AND SYSDATE + " + S("facilitiesfuture_bez"));
query.tables.push("alg_v_allonroerendgoed");
query.wheres.push("alg_v_allonroerendgoed.alg_onroerendgoed_keys = res_alg_ruimte.alg_ruimte_key");
query.wheres.push("alg_v_allonroerendgoed.alg_type = 'R'");
var wheres = api2.sqlfilter(params, model_reservablerooms);
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY res_ruimte_nr";
__DoLog(sql);
var json = api2.sql2json (params, sql, model_reservablerooms );
return json;
},
xxxREST_PUT: function (params, jsondata, the_key) /* update reservablerooms */
{
var fields = api2.update_fields(params, model_reservablerooms, jsondata); // Build updater
// bezUpd heeft na afloop eventueel oldjsvals
var bezUpd = buildTrackingUpdate("bez_bezoekers", " bez_bezoekers_key = " + the_key, fields, { noValidateToken: true });
__DoLog(bezUpd.sql);
Oracle.Execute(bezUpd.sql);
var beztrack = api2.process_includes(params, model_reservablerooms, the_key, jsondata);
//var result = saveBezoekers(afspr_key, -1, { urole: urole, loctimechanged: changed });
//if (result.beztrack && result.beztrack.length > 0)
//bezUpd.trackarray.push(result.beztrack.join("\n"));
return model_reservablerooms.REST_GET(params); // resulterende data weer terug
},
xxxREST_POST: function (params, jsondata, parent_key) /* new reservablerooms */
{
var fields = api2.update_fields(params, model_reservablerooms, jsondata); // Build updater
fields.push({ dbs: "bez_bezoekers_key", typ: "key", seq: "bez_s_bez_bezoekers_key" });
fields.push({ dbs: "bez_afspraak_key", typ: "key", val: parent_key });
var bezIns = buildInsert("bez_bezoekers", fields, { noValidateToken: true });
var bez_key = bezIns.sequences["bez_bezoekers_key"];
__DoLog(bezIns.sql);
Oracle.Execute(bezIns.sql);
//var bezUpd = {trackarray: [L("lcl_bez_is_bezadd") + ": " + beznaam + "/" + bed]};
// TODO: Wat teruggeven?
},
DELETE: function (params) /* delete reservablerooms */
{
}
}
%>

View File

@@ -0,0 +1,92 @@
<% /*
$Revision$
$Id$
File: model_reservations.inc
Description: Reservering model. Dit bestand heeft niets met interfacing te maken
maar werkt uitsluitend op JSON-data
Parameters:
Context:
Notes: In het technisch datamodel heeft een reservering een koppeling naar een
res_ruimte_opstel record (een geldige ruimte<->opstelling combinatie)
In de API splitsen we dat in de meer natuurlijk aanvoelende res_ruimte_key
en res_ruimte_opstel_key
*/
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<!-- #include file="../res/res.inc"-->
<%
var sqlro = "SELECT rg.res_ruimte_nr || CASE WHEN res_ruimte_opstel_default = 1 THEN '' ELSE ' (' || ro.res_opstelling_omschrijving || ')' END CASE"
+ " FROM res_ruimte_opstelling rro"
+ " , res_opstelling ro"
+ " , res_v_alg_ruimte_gegevens rg"
+ " WHERE rro.res_opstelling_key = ro.res_opstelling_key"
+ " AND rro.res_ruimte_key = rg.res_ruimte_key"
+ " AND rro.res_ruimte_opstel_key = res_rsv_ruimte.res_ruimte_opstel_key";
model_reservations =
{
module: "RES",
table: "res_rsv_ruimte",
primary: "res_rsv_ruimte_key",
records_name: "reservations",
record_name: "reservation",
fields: [{ name: "id", dbs: "res_rsv_ruimte_key", typ: "key", filter: "exact" },
{ name: "code", dbs: "res_reservering_id", sql: "res_reservering_key||'/'||res_rsv_ruimte_volgnr", typ: "varchar"},
{ name: "from", dbs: "res_rsv_ruimte_van", typ: "datetime"},
{ name: "to", dbs: "res_rsv_ruimte_tot", typ: "datetime"},
{ name: "description", dbs: "res_rsv_ruimte_omschrijving", typ: "varchar"},
{ name: "remark", dbs: "res_rsv_ruimte_opmerking", typ: "varchar"},
{ name: "host", dbs: "res_rsv_ruimte_host_key", typ: "key", foreign: "prs_perslid"},
{ name: "contact", dbs: "res_rsv_ruimte_contact_key", typ: "key", foreign: "prs_perslid"},
{ name: "visitorscount", dbs: "res_rsv_ruimte_bezoekers", typ: "number" },
{ name: "status", dbs: "res_status_fo_key", typ: "key", foreign: res.getfostatustext },
{ name: "room", dbs: "res_ruimte_opstelling.res_ruimte_key", typ: "key", foreign: "res_ruimte" },
{ name: "configuration", dbs: "res_ruimte_opstelling.res_opstelling_key", typ: "key", foreign: "res_opstelling" },
],
impersonate_auth: "WEB_RESFOF",
REST_GET: function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization
var query = api2.sqlfields(params, model_reservations );
query.wheres.push(user_key + " IN (res_rsv_ruimte_host_key, res_rsv_ruimte_contact_key)"); // Altijd fe vooralnog
query.wheres.push("res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res"));
query.tables.push("res_ruimte_opstelling");
query.wheres.push("res_rsv_ruimte.res_ruimte_opstel_key = res_ruimte_opstelling.res_ruimte_opstel_key");
var wheres = api2.sqlfilter(params, model_reservations);
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY res_rsv_ruimte_van, res_rsv_ruimte.res_rsv_ruimte_key";
__DoLog(sql);
var json = api2.sql2json (params, sql, model_reservations );
return json;
},
PUT: function (params) /* update reservation */
{
},
POST: function (params) /* new reservation */
{
},
DELETE: function (params) /* delete reservation */
{
}
}
%>

View File

@@ -0,0 +1,105 @@
<% /*
$Revision$
$Id$
File: model_visitors.inc
Description: Bezoekers model. Dit bestand heeft niets met interfacing te maken
maar werkt uitsluitend op JSON-data
Parameters:
Context:
Notes:
*/
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<%
model_visitors =
{
table: "bez_bezoekers",
primary: "bez_bezoekers_key",
records_name: "visitors",
record_name: "visitor",
fields: [{ name: "id", dbs: "bez_bezoekers_key", typ: "key", filter: "exact" },
{ name: "name", dbs: "bez_afspraak_naam", typ: "varchar"},
{ name: "company", dbs: "bez_afspraak_bedrijf", typ: "varchar"},
{ name: "badge", dbs: "bez_bezoekers_pasnr", typ: "varchar"},
{ name: "in", dbs: "bez_bezoekers_done", typ: "datetime"},
{ name: "out", dbs: "bez_bezoekers_out", typ: "datetime"}
// niet teruglinken, { name: "appointment", dbs: "bez_afspraak_key", typ: "key", foreign: "bez_afspraak"}
],
REST_GET: function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization
var query = api2.sqlfields(params, model_visitors );
query.tables.push("bez_afspraak");
query.wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
+ " OR bez_afspraak_host_key = " + user_key + ")");
query.wheres.push("bez_afspraak.bez_afspraak_key = bez_bezoekers.bez_afspraak_key");
query.wheres.push("bez_afspraak_datum BETWEEN SYSDATE - " + S("facilitiespast_bez") + " AND SYSDATE + " + S("facilitiesfuture_bez"));
var wheres = api2.sqlfilter(params, model_visitors);
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY bez_afspraak_datum, bez_afspraak.bez_afspraak_key";
__DoLog(sql);
var json = api2.sql2json (params, sql, model_visitors );
return json;
},
REST_PUT: function (params, jsondata, the_key) /* update visitors */
{
var fields = api2.update_fields(params, model_visitors, jsondata); // Build updater
// bezUpd heeft na afloop eventueel oldjsvals
var bezUpd = buildTrackingUpdate("bez_bezoekers", " bez_bezoekers_key = " + the_key, fields, { noValidateToken: true });
__DoLog(bezUpd.sql);
Oracle.Execute(bezUpd.sql);
var beztrack = api2.process_includes(params, model_visitors, the_key, jsondata);
//var result = saveBezoekers(afspr_key, -1, { urole: urole, loctimechanged: changed });
//if (result.beztrack && result.beztrack.length > 0)
//bezUpd.trackarray.push(result.beztrack.join("\n"));
return model_visitors.REST_GET(params); // resulterende data weer terug
},
REST_POST: function (params, jsondata, parent_key) /* new visitors */
{
var fields = api2.update_fields(params, model_visitors, jsondata); // Build updater
fields.push({ dbs: "bez_bezoekers_key", typ: "key", seq: "bez_s_bez_bezoekers_key" });
fields.push({ dbs: "bez_afspraak_key", typ: "key", val: parent_key });
var bezIns = buildInsert("bez_bezoekers", fields, { noValidateToken: true });
var bez_key = bezIns.sequences["bez_bezoekers_key"];
__DoLog(bezIns.sql);
Oracle.Execute(bezIns.sql);
//var bezUpd = {trackarray: [L("lcl_bez_is_bezadd") + ": " + beznaam + "/" + bed]};
// TODO: Wat teruggeven?
},
REST_DELETE: function (params, jsondata, the_key) /* delete visitors */
{
var wheres = [" bez_bezoekers_key = " + the_key];
// TODO: Autorisatie
//wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
// + " OR bez_afspraak_host_key = " + user_key + ")");
var sql = "DELETE FROM bez_bezoekers"
+ " WHERE " + wheres.join(" AND " );
__DoLog(sql);
Oracle.Execute(sql);
}
}
%>

View File

@@ -8,7 +8,7 @@
<html>
<head>
<title><%=titleString%></title>
<title><%=safe.html(titleString)%></title>
<script>
function closeModal(retval)
{

View File

@@ -102,7 +102,7 @@ function doSubmit()
<td class='label'><label for="fav"><%=L("lcl_bes_favour_list")%>:</label></td>
<td><select name="fav" id="fav"><%
// eigen favorieten lijsten van een bepaalde categorie
sql = " SELECT '" + L("lcl_bes_select_fav_list") + "', 'A' FROM DUAL"
sql = " SELECT " + safe.quoted_sql(L("lcl_bes_select_fav_list")) + ", 'A' FROM DUAL"
+ " UNION"
+ " SELECT bf.bes_favoriet_naam"
+ ", 'B'"

View File

@@ -74,6 +74,15 @@
return statustekst;
},
trackbestellingaccepteren:
function (opdr_key, ptxt)
{ // noot: shared.trackaction (fac.trackaction) genereert ook eventuele notificaties.
if (ptxt)
shared.trackaction('BESACP', opdr_key, ptxt);
else
shared.trackaction('BESACP', opdr_key);
},
// Alle (BES) informatie van een disciplnie
disc_info: function _disc_info(disc_key, autfunction)
{
@@ -89,6 +98,10 @@
+ " , bes_disc_params_auto_order"
+ " , bes_disc_params_min_bedrag"
+ " , bes_disc_params_bestellimiet"
+ " , bes_disc_params_bestellimiet2"
+ " , bes_disc_params_bestellimiet3"
+ " , bes_disc_params_bestellimiet4"
+ " , bes_disc_params_bestellimiet5"
+ " , ins_discipline_kpnverplicht"
+ " , bes_disc_params_pgb"
+ " , bes_disc_params_herfiat"
@@ -109,28 +122,32 @@
var oRs = Oracle.Execute(sql);
var result = { disc_key : disc_key,
discipline_omschrijving : oRs("ins_discipline_omschrijving").value,
discipline_kpnverplicht : oRs("ins_discipline_kpnverplicht").value == '1',
disc_params_retour : oRs("bes_disc_params_retour").value == '1',
disc_params_retour_url : oRs("bes_disc_params_retour_url").value,
disc_params_levopm_url : oRs("bes_disc_params_levopm_url").value,
disc_params_leverdagen : oRs("bes_disc_params_leverdagen").value || 0,
disc_params_punchouturl : oRs("bes_disc_params_punchouturl").value,
disc_params_punch_bedr_key : oRs("bes_disc_params_punch_bedr_key").value,
disc_params_logo_url : oRs("bes_disc_params_logo_url").value,
disc_params_autoacceptrfo : oRs("bes_disc_params_autoacceptrfo").value,
disc_params_auto_order : oRs("bes_disc_params_auto_order").value,
disc_params_min_bedrag : oRs("bes_disc_params_min_bedrag").value,
disc_params_bestellimiet : oRs("bes_disc_params_bestellimiet").value,
disc_params_pgb : oRs("bes_disc_params_pgb").value,
disc_params_herfiat : oRs("bes_disc_params_herfiat").value || 0,
disc_params_herfiatpct : oRs("bes_disc_params_herfiatpct").value,
disc_params_herfiatmarge : oRs("bes_disc_params_herfiatmarge").value,
staffelgroepitems : oRs("staffelgroepitems").value,
maxartikel : oRs("bes_disc_params_maxartikel").value? oRs("bes_disc_params_maxartikel").value : -1,
kpautorisatie : oRs("bes_disc_params_kpautorisatie").value == 1,
disc_params_for_others : oRs("bes_disc_params_for_others").value == 1,
can_concept : oRs("bes_disc_params_herfiat").value > 0 // 5.1.2 functionaliteit
discipline_omschrijving : oRs("ins_discipline_omschrijving").Value,
discipline_kpnverplicht : oRs("ins_discipline_kpnverplicht").Value == '1',
disc_params_retour : oRs("bes_disc_params_retour").Value == '1',
disc_params_retour_url : oRs("bes_disc_params_retour_url").Value,
disc_params_levopm_url : oRs("bes_disc_params_levopm_url").Value,
disc_params_leverdagen : oRs("bes_disc_params_leverdagen").Value || 0,
disc_params_punchouturl : oRs("bes_disc_params_punchouturl").Value,
disc_params_punch_bedr_key : oRs("bes_disc_params_punch_bedr_key").Value,
disc_params_logo_url : oRs("bes_disc_params_logo_url").Value,
disc_params_autoacceptrfo : oRs("bes_disc_params_autoacceptrfo").Value,
disc_params_auto_order : oRs("bes_disc_params_auto_order").Value,
disc_params_min_bedrag : oRs("bes_disc_params_min_bedrag").Value,
disc_params_bestellimiet : oRs("bes_disc_params_bestellimiet").Value,
disc_params_bestellimiet2 : oRs("bes_disc_params_bestellimiet2").Value,
disc_params_bestellimiet3 : oRs("bes_disc_params_bestellimiet3").Value,
disc_params_bestellimiet4 : oRs("bes_disc_params_bestellimiet4").Value,
disc_params_bestellimiet5 : oRs("bes_disc_params_bestellimiet5").Value,
disc_params_pgb : oRs("bes_disc_params_pgb").Value,
disc_params_herfiat : oRs("bes_disc_params_herfiat").Value || 0,
disc_params_herfiatpct : oRs("bes_disc_params_herfiatpct").Value,
disc_params_herfiatmarge : oRs("bes_disc_params_herfiatmarge").Value,
staffelgroepitems : oRs("staffelgroepitems").Value,
maxartikel : oRs("bes_disc_params_maxartikel").Value? oRs("bes_disc_params_maxartikel").Value : -1,
kpautorisatie : oRs("bes_disc_params_kpautorisatie").Value == 1,
disc_params_for_others : oRs("bes_disc_params_for_others").Value == 1,
can_concept : oRs("bes_disc_params_herfiat").Value > 0 // 5.1.2 functionaliteit
}
oRs.Close();
if (autfunction)
@@ -143,7 +160,7 @@
BLOCK_START("besInfo" , L("lcl_bes_key") + "&nbsp;" + S("bes_bestelling_prefix") + bes_bestelling.bes_key + (bes_bestelling.parent_key? "*" : ""));
if (bes_bestelling.satisfaction && shared.satisfactionsymbol(bes_bestelling.satisfaction))
{
%><img id="satisfaction" src="<%=shared.satisfactionsymbol(bes_bestelling.satisfaction)%>"><%
%><img id="satisfaction" src="<%=shared.satisfactionsymbol(bes_bestelling.satisfaction)%>" title="<%=safe.htmlattr(bes_bestelling.satisfaction_op)%>"><%
}
ROFIELDTR("fld", L("lcl_bes_discipline"), bes_disc_info.discipline_omschrijving);
@@ -208,13 +225,13 @@
oRs = Oracle.Execute(sql);
while(!oRs.eof)
{
var txt = S("bes_bestelopdr_prefix") + oRs("bes_bestelopdr_id").value;
if (oRs("bes_bestelopdr_status").value == 1) // afgewezen
txt += " (" + bes.getbesopdrstatustext(oRs("bes_bestelopdr_status").value) + ")";
var txt = S("bes_bestelopdr_prefix") + oRs("bes_bestelopdr_id").Value;
if (oRs("bes_bestelopdr_status").Value == 1) // afgewezen
txt += " (" + bes.getbesopdrstatustext(oRs("bes_bestelopdr_status").Value) + ")";
if (bes_bestelling.parent_key)
txt += "*"; // wij zijn een change dus de opdracht ook
l_orders.push(txt);
l_orders_key.push(oRs("bes_bestelopdr_key").value);
l_orders_key.push(oRs("bes_bestelopdr_key").Value);
oRs.MoveNext();
}
oRs.Close();
@@ -266,8 +283,8 @@
+ " ORDER BY bes_bestelling_key";
oRs = Oracle.Execute(sql);
while(!oRs.eof) {
l_retours.push(S("bes_bestelling_prefix") + oRs("bes_bestelling_key").value);
l_retourk.push(oRs("bes_bestelling_key").value);
l_retours.push(S("bes_bestelling_prefix") + oRs("bes_bestelling_key").Value);
l_retourk.push(oRs("bes_bestelling_key").Value);
oRs.MoveNext();
}
oRs.Close();
@@ -302,7 +319,7 @@
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
var params = { infoPointer: { Url: "appl/cnt/cnt_contract.asp?urole=" + urole + "&cnt_key=" + oRs("cnt_contract_key").value,
var params = { infoPointer: { Url: "appl/cnt/cnt_contract.asp?urole=" + urole + "&cnt_key=" + oRs("cnt_contract_key").Value,
Title: L("lcl_contract") + " " + S("bes_bestelling_prefix") + bes_bestelling.bes_key,
suppressEmpty: true }}
ROFIELDTR ("fld", L("lcl_contract"), S("bes_bestelling_prefix") + bes_bestelling.bes_key, params);
@@ -326,8 +343,8 @@
while(!oRs.eof)
{
srtdeel_arr.push(oRs("bes_srtdeel_key").value);
amount_arr.push(oRs("bes_bestelling_item_aantal").value);
srtdeel_arr.push(oRs("bes_srtdeel_key").Value);
amount_arr.push(oRs("bes_bestelling_item_aantal").Value);
oRs.MoveNext();
}
oRs.Close();
@@ -342,39 +359,41 @@
// Get info of existing BES_BESTELLING
var sql = "SELECT b.bes_bestelling_status"
+ ", b.bes_bestelling_datum"
+ ", b.prs_perslid_key"
+ ", b.prs_perslid_key_voor"
+ ", p.prs_afdeling_key"
+ ", b.prs_kostenplaats_key"
+ ", (SELECT " + S("prs_kpn_string")
+ " FROM prs_kostenplaats k"
+ " WHERE k.prs_kostenplaats_key = b.prs_kostenplaats_key) prs_kostenplaats_omschr"
+ ", b.bes_bestelling_plaats"
+ ", b.bes_bestelling_status"
+ ", b.bes_bestelling_ordernr"
+ ", m.mld_adres_naam"
+ ", m.mld_adres_key"
+ ", b.bes_bestelling_leverdatum"
+ ", b.bes_bestelling_retourvan_key"
+ ", prs.getkpverantwoordelijke (b.prs_kostenplaats_key, " + S("prs_approvemethod") + ", " + exclude_fiatter + ") fiatteur_key"
+ ", b.bes_bestelling_fiat_user"
+ ", b.bes_bestelling_korting"
+ ", b.bes_bestelling_levkosten"
+ ", b.mld_melding_key"
+ ", bes_bestelling_opmerking"
+ ", b.fac_activiteit_key"
+ ", b.bes_bestelling_parentkey"
+ ", b.bes_bestelling_satisfaction"
+ ", (SELECT b1.bes_bestelling_key"
+ " FROM bes_bestelling b1"
+ " WHERE b1.bes_bestelling_parentkey = b.bes_bestelling_key) change_key"
+ " FROM bes_bestelling b"
+ ", prs_perslid p"
+ ", mld_adres m"
+ " WHERE b.bes_bestelling_key = " + bes_key
+ " AND p.prs_perslid_key = b.prs_perslid_key"
+ " AND m.mld_adres_key(+) = b.mld_adres_key_lev";
+ " , b.bes_bestelling_datum"
+ " , b.prs_perslid_key"
+ " , b.prs_perslid_key_voor"
+ " , p.prs_afdeling_key"
+ " , b.prs_kostenplaats_key"
+ " , (SELECT " + S("prs_kpn_string")
+ " FROM prs_kostenplaats k"
+ " WHERE k.prs_kostenplaats_key = b.prs_kostenplaats_key) prs_kostenplaats_omschr"
+ " , b.bes_bestelling_plaats"
+ " , b.bes_bestelling_status"
+ " , b.bes_bestelling_ordernr"
+ " , m.mld_adres_naam"
+ " , m.mld_adres_key"
+ " , b.bes_bestelling_leverdatum"
+ " , b.bes_bestelling_retourvan_key"
+ " , prs.getkpverantwoordelijke (b.prs_kostenplaats_key, " + S("prs_approvemethod") + ", " + exclude_fiatter + ") fiatteur_key"
+ " , b.bes_bestelling_fiat_user"
+ " , b.bes_bestelling_korting"
+ " , b.bes_bestelling_levkosten"
+ " , b.mld_melding_key"
+ " , bes_bestelling_opmerking"
+ " , b.fac_activiteit_key"
+ " , b.bes_bestelling_parentkey"
+ " , b.bes_bestelling_satisfaction"
+ " , b.bes_bestelling_satisfaction_op"
+ " , (SELECT b1.bes_bestelling_key"
+ " FROM bes_bestelling b1"
+ " WHERE b1.bes_bestelling_parentkey = b.bes_bestelling_key) change_key"
+ " , b.bes_bestelling_approved"
+ " FROM bes_bestelling b"
+ " , prs_perslid p"
+ " , mld_adres m"
+ " WHERE b.bes_bestelling_key = " + bes_key
+ " AND p.prs_perslid_key = b.prs_perslid_key"
+ " AND m.mld_adres_key(+) = b.mld_adres_key_lev";
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
@@ -383,33 +402,35 @@
var bes_bestelling =
{
bes_key : bes_key,
//rfoStatusText : oRs("status").value,
rfoStatusText : ((oRs("bes_bestelling_status").value == 6 && (oRs("bes_bestelling_retourvan_key").value && oRs("bes_bestelling_retourvan_key").value > 0))
//rfoStatusText : oRs("status").Value,
rfoStatusText : ((oRs("bes_bestelling_status").Value == 6 && (oRs("bes_bestelling_retourvan_key").Value && oRs("bes_bestelling_retourvan_key").Value > 0))
? L("lcl_bes_collected")
: bes.getbesbestellingstatustext(oRs("bes_bestelling_status").value)),
rfoDate : new Date(oRs("bes_bestelling_datum").value),
kostenplaats_key : oRs("prs_kostenplaats_key").value||-1,
kostenplaats_omschr : oRs("prs_kostenplaats_omschr").value||"",
perslid_key : oRs("prs_perslid_key").value, // Persoon die de bestelling aanmaakt
afdeling_key : oRs("prs_afdeling_key").value, // Afdeling van de persoon die de bestelling aanmaakt
perslid_key_voor : oRs("prs_perslid_key_voor").value, // Aanvrager/invoerder/contactpersoon
rfoStatus : oRs("bes_bestelling_status").value,
orderNr : oRs("bes_bestelling_ordernr").value,
afleverruimte : oRs("bes_bestelling_plaats").value,
rfoDeliverydate : new Date(oRs("bes_bestelling_leverdatum").value),
rfoRetourVan : oRs("bes_bestelling_retourvan_key").value,
fiatteur_key : oRs("fiatteur_key").value, // degene die het moet doen
bes_bestelling_fiat_user : oRs("bes_bestelling_fiat_user").value, // degene die al geweest is
rfoBesKosten : oRs("bes_bestelling_korting").value,
rfoLevKosten : oRs("bes_bestelling_levkosten").value,
rfoOpmerking : oRs("bes_bestelling_opmerking").value,
mld_adres_naam : oRs("mld_adres_naam").value,
mld_adres_key : oRs("mld_adres_key").value,
fac_activiteit_key : oRs("fac_activiteit_key").value? oRs("fac_activiteit_key").value : -1,
mld_key : oRs("mld_melding_key").value,
parent_key : oRs("bes_bestelling_parentkey").value,
satisfaction : oRs("bes_bestelling_satisfaction").value,
change_key : oRs("change_key").value
: bes.getbesbestellingstatustext(oRs("bes_bestelling_status").Value)),
rfoDate : new Date(oRs("bes_bestelling_datum").Value),
kostenplaats_key : oRs("prs_kostenplaats_key").Value||-1,
kostenplaats_omschr : oRs("prs_kostenplaats_omschr").Value||"",
perslid_key : oRs("prs_perslid_key").Value, // Persoon die de bestelling aanmaakt
afdeling_key : oRs("prs_afdeling_key").Value, // Afdeling van de persoon die de bestelling aanmaakt
perslid_key_voor : oRs("prs_perslid_key_voor").Value, // Aanvrager/invoerder/contactpersoon
rfoStatus : oRs("bes_bestelling_status").Value,
orderNr : oRs("bes_bestelling_ordernr").Value,
afleverruimte : oRs("bes_bestelling_plaats").Value,
rfoDeliverydate : new Date(oRs("bes_bestelling_leverdatum").Value),
rfoRetourVan : oRs("bes_bestelling_retourvan_key").Value,
fiatteur_key : oRs("fiatteur_key").Value, // degene die het moet doen
bes_bestelling_fiat_user : oRs("bes_bestelling_fiat_user").Value, // degene die al geweest is
rfoBesKosten : oRs("bes_bestelling_korting").Value,
rfoLevKosten : oRs("bes_bestelling_levkosten").Value,
rfoOpmerking : oRs("bes_bestelling_opmerking").Value,
mld_adres_naam : oRs("mld_adres_naam").Value,
mld_adres_key : oRs("mld_adres_key").Value,
fac_activiteit_key : oRs("fac_activiteit_key").Value? oRs("fac_activiteit_key").Value : -1,
mld_key : oRs("mld_melding_key").Value,
parent_key : oRs("bes_bestelling_parentkey").Value,
satisfaction : oRs("bes_bestelling_satisfaction").Value,
satisfaction_op : oRs("bes_bestelling_satisfaction_op").Value,
change_key : oRs("change_key").Value,
approved : oRs("bes_bestelling_approved").Value? oRs("bes_bestelling_approved").Value : -1
}
oRs.close();
@@ -439,28 +460,28 @@
+ " AND bes_bestelling_key = " + bes_bestelling.bes_key;
oRs = Oracle.Execute(sql);
if (oRs("ins_discipline_key").value == null)
if (oRs("ins_discipline_key").Value == null)
shared.internal_error("BES: no item lines.");
bes_bestelling.dis_key = oRs("ins_discipline_key").value,
bes_bestelling.srtgroep = oRs("bes_srtgroep_key").value,
bes_bestelling.singlegroep = oRs("singlegroep").value == 1,
bes_bestelling.inclBTW = oRs("inclBTW").value || 0,
bes_bestelling.totaal = oRs("totaal").value || 0;
bes_bestelling.aantalontv = oRs("aantalontv").value || 0;
bes_bestelling.isAbonnement = oRs("bes_disc_params_contract").value == 1; // Bij abonnement bestellingen mag er maar 1 bestelregel zijn en is er dus 1 srtgroep.
bes_bestelling.dis_key = oRs("ins_discipline_key").Value,
bes_bestelling.srtgroep = oRs("bes_srtgroep_key").Value,
bes_bestelling.singlegroep = oRs("singlegroep").Value == 1,
bes_bestelling.inclBTW = oRs("inclBTW").Value || 0,
bes_bestelling.totaal = oRs("totaal").Value || 0;
bes_bestelling.aantalontv = oRs("aantalontv").Value || 0;
bes_bestelling.isAbonnement = oRs("bes_disc_params_contract").Value == 1; // Bij abonnement bestellingen mag er maar 1 bestelregel zijn en is er dus 1 srtgroep.
// Let op: Als bes_srtdeel_wijzigdagen niet gezet dan wordt bes_bestelling.wijzig_tot
// ook niet gezet en hebben we oude <5.1.1 gedrag (meestal niet te wijzigen)
if (oRs("bes_srtdeel_wijzigdagen").value != 9999)
if (oRs("bes_srtdeel_wijzigdagen").Value != 9999)
{
bes_bestelling.wijzig_tot = new Date(bes_bestelling.rfoDeliverydate);
bes_bestelling.wijzig_tot.setDate(bes_bestelling.wijzig_tot.getDate() - oRs("bes_srtdeel_wijzigdagen").value);
bes_bestelling.wijzig_tot.setDate(bes_bestelling.wijzig_tot.getDate() - oRs("bes_srtdeel_wijzigdagen").Value);
__Log("Wijzigen tot " + bes_bestelling.wijzig_tot);
}
if (oRs("bes_srtdeel_annuleerdagen").value != 9999)
if (oRs("bes_srtdeel_annuleerdagen").Value != 9999)
{
bes_bestelling.annuleer_tot = new Date(bes_bestelling.rfoDeliverydate);
bes_bestelling.annuleer_tot.setDate(bes_bestelling.annuleer_tot.getDate() - oRs("bes_srtdeel_annuleerdagen").value);
bes_bestelling.annuleer_tot.setDate(bes_bestelling.annuleer_tot.getDate() - oRs("bes_srtdeel_annuleerdagen").Value);
__Log("Annuleren tot " + bes_bestelling.annuleer_tot);
}
oRs.close();
@@ -475,8 +496,8 @@
+ " AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key"
+ " AND bi.bes_bestelling_key = " + bes_bestelling.bes_key;
oRs = Oracle.Execute(sql);
bes_bestelling.rfoBestelOpdrStatus = oRs("bes_bestelopdr_status").value||0,
bes_bestelling.isordered = oRs("isordered").value||0,
bes_bestelling.rfoBestelOpdrStatus = oRs("bes_bestelopdr_status").Value||0,
bes_bestelling.isordered = oRs("isordered").Value||0,
oRs.close();
if (bes_bestelling.mld_key)
@@ -491,7 +512,7 @@
+ " AND sm.mld_stdmelding_key = m.mld_stdmelding_key"
+ " AND m.mld_melding_key = " + bes_bestelling.mld_key;
oRs = Oracle.Execute(sql);
bes_bestelling.mld_prefix = oRs("mld_prefix").value||"";
bes_bestelling.mld_prefix = oRs("mld_prefix").Value||"";
oRs.close()
}
@@ -510,7 +531,7 @@
oRs = Oracle.Execute(sql);
while (!oRs.eof)
{
bes_key_str.push(oRs("bes_bestelling_key").value);
bes_key_str.push(oRs("bes_bestelling_key").Value);
oRs.MoveNext();
}
oRs.Close();
@@ -576,37 +597,37 @@
opdr_key : opdr_key,
bestelopdr_id : oRs("bes_bestelopdr_id").Value,
bes_key_str : bes_key_str,
prs_bedrijf_naam : oRs("prs_bedrijf_naam").value,
mld_adres_key_lev : oRs("mld_adres_key_lev").value,
mld_adres_key_fac : oRs("mld_adres_key_fac").value,
opmerking : oRs("bes_bestelopdr_opmerking").value,
delivery_opmerk : oRs("bes_bestelopdr_delivery_opmerk").value,
inclBTW : oRs("prs_kostensoort_btw").value,
status : oRs("bes_bestelopdr_status").value,
statustxt : bes.getbesopdrstatustext(oRs("bes_bestelopdr_status").value),
prs_perslid_naam : oRs("naam").value, // Aangemaakt door
perslid_key : oRs("prs_perslid_key").value,
dis_key : oRs("ins_discipline_key").value,
korting : parseFloat((oRs("bes_bestelopdr_korting").value? oRs("bes_bestelopdr_korting").value : 0).toFixed(2)),
levkosten : parseFloat((oRs("bes_bestelopdr_levkosten").value? oRs("bes_bestelopdr_levkosten").value : 0).toFixed(2))
prs_bedrijf_naam : oRs("prs_bedrijf_naam").Value,
mld_adres_key_lev : oRs("mld_adres_key_lev").Value,
mld_adres_key_fac : oRs("mld_adres_key_fac").Value,
opmerking : oRs("bes_bestelopdr_opmerking").Value,
delivery_opmerk : oRs("bes_bestelopdr_delivery_opmerk").Value,
inclBTW : oRs("prs_kostensoort_btw").Value,
status : oRs("bes_bestelopdr_status").Value,
statustxt : bes.getbesopdrstatustext(oRs("bes_bestelopdr_status").Value),
prs_perslid_naam : oRs("naam").Value, // Aangemaakt door
perslid_key : oRs("prs_perslid_key").Value,
dis_key : oRs("ins_discipline_key").Value,
korting : parseFloat((oRs("bes_bestelopdr_korting").Value? oRs("bes_bestelopdr_korting").Value : 0).toFixed(2)),
levkosten : parseFloat((oRs("bes_bestelopdr_levkosten").Value? oRs("bes_bestelopdr_levkosten").Value : 0).toFixed(2))
}
if(oRs("bes_bestelopdr_status").value == 6 && oRs("bes_bestelling_retourvan_key").Value > 0)
if(oRs("bes_bestelopdr_status").Value == 6 && oRs("bes_bestelling_retourvan_key").Value > 0)
bes_bestelopdr.statustxt = L("lcl_bes_collected");
var totaal = 0;
bes_bestelopdr.artikel_arr = new Array();
while (!oRs.eof)
{ // Nu de artikelregels
var catalogus_omschr = oRs("ins_discipline_omschrijving").value;
var omschr = oRs("bes_srtdeel_omschrijving").value
+ " (" + S("currency_pref") + safe.curr(oRs("item_prijs").value)
+ S("currency_suff") + "/" + (oRs("bes_srtdeel_eenheid").value || "") + ")"
var aantal = oRs("bes_bestelopdr_item_aantal").value;
var aantalontv = oRs("bes_bestelopdr_item_aantalontv").value || 0;
var prijs = parseFloat((oRs("prijs").value? oRs("prijs").value : 0).toFixed(2));
var item_key = oRs("bes_bestelopdr_item_key").value;
var item_prijs = parseFloat((oRs("item_prijs").value? oRs("item_prijs").value : 0).toFixed(2));
var artikelnr = oRs("bes_srtdeel_nr").value;
var catalogus_omschr = oRs("ins_discipline_omschrijving").Value;
var omschr = oRs("bes_srtdeel_omschrijving").Value
+ " (" + S("currency_pref") + safe.curr(oRs("item_prijs").Value)
+ S("currency_suff") + "/" + (oRs("bes_srtdeel_eenheid").Value || "") + ")"
var aantal = oRs("bes_bestelopdr_item_aantal").Value;
var aantalontv = oRs("bes_bestelopdr_item_aantalontv").Value || 0;
var prijs = parseFloat((oRs("prijs").Value? oRs("prijs").Value : 0).toFixed(2));
var item_key = oRs("bes_bestelopdr_item_key").Value;
var item_prijs = parseFloat((oRs("item_prijs").Value? oRs("item_prijs").Value : 0).toFixed(2));
var artikelnr = oRs("bes_srtdeel_nr").Value;
bes_bestelopdr.artikel_arr.push({ catalogus_omschr: catalogus_omschr,
omschr: omschr,
aantal: aantal,
@@ -626,17 +647,21 @@
},
func_enabled_bestelling: // Wat mag ik zoal op deze specifieke bestelling?
function _func_enabled_bestelling(bes_bestelling) // bes_bestelling is een bestelling_info hash
function _func_enabled_bestelling(bes_bestelling, params) // bes_bestelling is een bestelling_info hash
{
params = params || {};
var isVerantwoordelijke = (bes_bestelling.fiatteur_key == user_key || user.isCollega(bes_bestelling.fiatteur_key));
isVerantwoordelijke |= (bes_bestelling.bes_bestelling_fiat_user == user_key || user.isCollega(bes_bestelling.bes_bestelling_fiat_user));
var bresult = user.func_enabled("BES",
bes_bestelling.dis_key,
null,
bes_bestelling.perslid_key,
false, // pessimist
isVerantwoordelijke); // isVerantwoordelijke dan optional
var bresult = user.func_enabled2("BES",
{ ins_discipline_key: bes_bestelling.dis_key,
alg_key: null,
prs_key: bes_bestelling.perslid_key,
checkOptimistic: false, // pessimist
isOptional: isVerantwoordelijke, // isVerantwoordelijke dan optional
knownread: params.knownread
}
);
bresult.isVerantwoordelijke = isVerantwoordelijke;
bresult.canReadAny = bresult.canRead("WEB_BESBOF") ||
@@ -701,65 +726,91 @@
switch (bes_bestelling.rfoStatus) // (*aanvraag* status)
{
case 1: // Afgewezen/verworpen. Je kunt hem effectie wijzigen en weer opnieuw aanbieden
bresult.canDelete = bresult.canWrite("WEB_BESFOF")
|| bresult.canWrite("WEB_BESBOF");
bresult.canDelete = bresult.canWrite("WEB_BESFOF") ||
bresult.canWrite("WEB_BESBOF");
bresult.canMainChange = eigenBestelling || bresult.canWrite("WEB_BESFOF") || bresult.canWrite("WEB_BESBOF");
bresult.canItemsChange = bresult.canMainChange && !isPunchout;
break;
case 2: // Nieuw, ter fiattering
bresult.canApprove = (bes_bestelling.bes_bestelling_fiat_user != user_key) && isVerantwoordelijke;
bresult.canDelete = bresult.canWrite("WEB_BESBOF")
|| (bresult.canWrite("WEB_BESFOF") && bes_bestelling.annuleer_tot)
|| (eigenBestelling && voor_annuleer);
bresult.canMainChange = (bresult.canApprove // fiatteur mag ook aanpassen
|| bresult.canWrite("WEB_BESBOF")
|| (bresult.canWrite("WEB_BESFOF") && bes_bestelling.wijzig_tot)
|| (eigenBestelling && voor_wijzig)
);
bresult.canDelete = bresult.canWrite("WEB_BESBOF") ||
(bresult.canWrite("WEB_BESFOF") && bes_bestelling.annuleer_tot) ||
(eigenBestelling && voor_annuleer);
bresult.canMainChange = bresult.canApprove || // fiatteur mag ook aanpassen
bresult.canWrite("WEB_BESBOF") ||
(bresult.canWrite("WEB_BESFOF") && bes_bestelling.wijzig_tot) ||
(eigenBestelling && voor_wijzig);
bresult.canItemsChange = bresult.canMainChange && !isPunchout;
break;
case 3: // Gefiatteerd
bresult.canAccept = bresult.canWrite("WEB_BESBOF");
var t_cost = bes_bestelling.totaal - bes_bestelling.rfoBesKosten + bes_bestelling.rfoLevKosten;
var bes_approved = bes_bestelling.approved;
var bestellimiet = bes_disc_info.disc_params_bestellimiet;
var bestellimiet2 = bes_disc_info.disc_params_bestellimiet2;
var bestellimiet3 = bes_disc_info.disc_params_bestellimiet3;
var bestellimiet4 = bes_disc_info.disc_params_bestellimiet4;
var bestellimiet5 = bes_disc_info.disc_params_bestellimiet5;
bresult.canAccept = bresult.canWrite("WEB_BESBOF") && // Heb ik de rechten om goed te keuren op dit niveau 1?
((S("bes_approval_all") == 0 && t_cost >= bestellimiet) || // Zijn de kosten hoger als de limiet
(S("bes_approval_all") == 1 && t_cost <= bestellimiet2)) && // Zijn de kosten onder mijn limiet om volledig goed te keuren
bes_approved <= bestellimiet; // Welke goedkeur? 1, 2, 3, 4 of 5?
bresult.canAccept2 = bresult.canWrite("WEB_BESGO2") &&
// Setting mld_opdr_approval_all is
// 0: Het approved bedrag is eigen bestellimiet of vorige goedkeur niveau rechten heb ik al (dan direct niveau hoger)
// 1: Het approved bedrag is kleiner of gelijk aan eigen bestellimiet
((S("bes_approval_all") == 0 && t_cost >= bestellimiet2 && (bes_approved == bestellimiet2 || bresult.canAccept)) ||
(S("bes_approval_all") == 1 && t_cost <= bestellimiet3 && bes_approved <= bestellimiet2));
bresult.canAccept3 = bresult.canWrite("WEB_BESGO3") &&
((S("bes_approval_all") == 0 && t_cost >= bestellimiet3 && (bes_approved == bestellimiet3 || bresult.canAccept2)) ||
(S("bes_approval_all") == 1 && t_cost <= bestellimiet4 && bes_approved <= bestellimiet3));
bresult.canAccept4 = bresult.canWrite("WEB_BESGO4") &&
((S("bes_approval_all") == 0 && t_cost >= bestellimiet4 && (bes_approved == bestellimiet4 || bresult.canAccept3)) ||
(S("bes_approval_all") == 1 && t_cost <= bestellimiet5 && bes_approved <= bestellimiet4));
bresult.canAccept5 = bresult.canWrite("WEB_BESGO5") &&
((S("bes_approval_all") == 0 && t_cost >= bestellimiet5 && (bes_approved >= bestellimiet5 || bresult.canAccept4)) ||
(S("bes_approval_all") == 1 && t_cost > bestellimiet5 && bes_approved <= bestellimiet5)) &&
t_cost > bes_approved;
bresult.canDelete = bresult.canWrite("WEB_BESBOF")
|| (bresult.canWrite("WEB_BESFOF") && bes_bestelling.annuleer_tot)
|| (eigenBestelling && voor_annuleer);
bresult.canReject = bresult.canWrite("WEB_BESBOF");
bresult.canMainChange = ( bresult.canWrite("WEB_BESBOF")
|| (bresult.canWrite("WEB_BESFOF") && bes_bestelling.wijzig_tot)
|| (eigenBestelling && voor_wijzig)
)
bresult.canReject = bresult.canAccept ||
bresult.canAccept2 ||
bresult.canAccept3 ||
bresult.canAccept4 ||
bresult.canAccept5;
bresult.canMainChange = (bresult.canWrite("WEB_BESBOF") ||
(bresult.canWrite("WEB_BESFOF") && bes_bestelling.wijzig_tot) ||
(eigenBestelling && voor_wijzig))
&& !bresult.isChange; // Change bestelaanvraag kan alleen gewijzigd worden als status = 2
bresult.canItemsChange = bresult.canMainChange && !isPunchout;
break;
case 4: // Geaccepteerd door BO
bresult.canDelete = bresult.canWrite("WEB_BESBOF")
|| (bresult.canWrite("WEB_BESFOF") && bes_bestelling.annuleer_tot)
|| (eigenBestelling && voor_annuleer);
bresult.canDelete = bresult.canWrite("WEB_BESBOF") ||
(bresult.canWrite("WEB_BESFOF") && bes_bestelling.annuleer_tot) ||
(eigenBestelling && voor_annuleer);
bresult.canSubmit = bresult.canWrite("WEB_BESBOF") && !bes_bestelling.isordered;
bresult.canRetourURL = _canRetour && (bes_disc_info.disc_params_retour_url != null);
bresult.canMainChange = ( bresult.canWrite("WEB_BESBOF")
|| (bresult.canWrite("WEB_BESFOF") && bes_bestelling.wijzig_tot)
|| (eigenBestelling && voor_wijzig)
)
&& !bresult.isChange; // Change bestelaanvraag kan alleen gewijzigd worden als status = 2
bresult.canMainChange = (bresult.canWrite("WEB_BESBOF") ||
(bresult.canWrite("WEB_BESFOF") && bes_bestelling.wijzig_tot) ||
(eigenBestelling && voor_wijzig)) &&
!bresult.isChange; // Change bestelaanvraag kan alleen gewijzigd worden als status = 2
bresult.canItemsChange = bresult.canMainChange && !isPunchout;
break;
case 5: // Besteld (lees: opdracht is aangemaakt/ligt bij leverancier)
if (bes_bestelling.aantalontv == 0)// Als er artikelen ontvangen zijn houdt het op
{
bresult.canDelete = bresult.canWrite("WEB_BESBOF")
|| (bresult.canWrite("WEB_BESFOF") && bes_bestelling.annuleer_tot)
|| (eigenBestelling && voor_annuleer);
bresult.canDelete = bresult.canWrite("WEB_BESBOF") ||
(bresult.canWrite("WEB_BESFOF") && bes_bestelling.annuleer_tot) ||
(eigenBestelling && voor_annuleer);
bresult.canDelete &= bes_disc_info.can_concept;
}
bresult.canRetourURL = _canRetour && (bes_disc_info.disc_params_retour_url != null);
// Als iemand wijzigt zal het een change-opdracht worden!
bresult.canMainChange = ( bresult.canWrite("WEB_BESBOF")
|| (bresult.canWrite("WEB_BESFOF") && bes_bestelling.annuleer_tot)
|| (eigenBestelling && voor_wijzig)
)
&& !bresult.isChange // Change bestelaanvraag kan niet meer gewijzigd worden
&& bes_disc_info.can_concept;
bresult.canMainChange = (bresult.canWrite("WEB_BESBOF") ||
(bresult.canWrite("WEB_BESFOF") && bes_bestelling.annuleer_tot) ||
(eigenBestelling && voor_wijzig)) &&
!bresult.isChange && // Change bestelaanvraag kan niet meer gewijzigd worden
bes_disc_info.can_concept;
bresult.canItemsChange = bresult.canMainChange && !isPunchout;
break;
@@ -796,9 +847,9 @@
+ " AND s.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND bo.bes_bestelopdr_key = " + opdr_key;
var oRs = Oracle.Execute(sql);
var perslid_key = oRs("prs_perslid_key").value;
var dis_key = oRs("ins_discipline_key").value;
var bestelopdr_status = oRs("bes_bestelopdr_status").value;
var perslid_key = oRs("prs_perslid_key").Value;
var dis_key = oRs("ins_discipline_key").Value;
var bestelopdr_status = oRs("bes_bestelopdr_status").Value;
oRs.Close();
var bresult = user.func_enabled("BES",
@@ -899,31 +950,31 @@
if (!oRs.eof)
{
// Oplaan bedrijf waar alle artikelen worden besteld. Moet voor elke artikel hetzelfde zijn.
prs_bedrijf_key = oRs("prs_bedrijf_key").value;
prs_bedrijf_key = oRs("prs_bedrijf_key").Value;
// Opslaan van staffelgroep van een item
ItemArray.push({ item_key : srtdeel_keys[i],
aantal : itemaantal_arr[i],
prijs : oRs("prijs").value,
eenheid : oRs("eenheid").value,
staffelgroep: oRs("staffelgroep").value
prijs : oRs("prijs").Value,
eenheid : oRs("eenheid").Value,
staffelgroep: oRs("staffelgroep").Value
});
// Opslaan van totaalaantallen van een staffelgroep
if (oRs("staffelgroep").value)
if (oRs("staffelgroep").Value)
{
if (staffelGroepArray[oRs("staffelgroep").value])
if (staffelGroepArray[oRs("staffelgroep").Value])
{
staffelGroepArray[oRs("staffelgroep").value].aantal += itemaantal_arr[i];
staffelGroepArray[oRs("staffelgroep").value].bestelbedrag += (oRs("prijs").value * itemaantal_arr[i]);
staffelGroepArray[oRs("staffelgroep").Value].aantal += itemaantal_arr[i];
staffelGroepArray[oRs("staffelgroep").Value].bestelbedrag += (oRs("prijs").Value * itemaantal_arr[i]);
}
else
{
staffelGroepArray[oRs("staffelgroep").value] =
new StaffelGroep(oRs("staffelgroepnaam").value,
staffelGroepArray[oRs("staffelgroep").Value] =
new StaffelGroep(oRs("staffelgroepnaam").Value,
itemaantal_arr[i],
oRs("eenheid").value,
oRs("eenheid").Value,
0,
oRs("groep").value,
(oRs("prijs").value * itemaantal_arr[i], 10))
oRs("groep").Value,
(oRs("prijs").Value * itemaantal_arr[i], 10))
}
}
}
@@ -941,8 +992,8 @@
if (!oRs.eof)
{
staffelGroepArray[ItemArray[j].staffelgroep].korting += ItemArray[j].aantal * (ItemArray[j].prijs - parseFloat(oRs("kortingsprijs").value, 10));
litemprijsstring.push(oRs("kortingsprijs").value);
staffelGroepArray[ItemArray[j].staffelgroep].korting += ItemArray[j].aantal * (ItemArray[j].prijs - parseFloat(oRs("kortingsprijs").Value, 10));
litemprijsstring.push(oRs("kortingsprijs").Value);
first = false;
}
}
@@ -987,7 +1038,7 @@
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
opdrachtkortingbedrag = oRs("opdrachtkortingbedrag").value;
opdrachtkortingbedrag = oRs("opdrachtkortingbedrag").Value;
}
sql = "SELECT BES.calcopdrachtkorting(" + prs_bedrijf_key + ", " + subtotaal + ") opdrachtkorting FROM DUAL";
@@ -995,7 +1046,7 @@
if (!oRs.eof)
{
// Korting tot grenswaarde
opdrachtkorting = oRs("opdrachtkorting").value;
opdrachtkorting = oRs("opdrachtkorting").Value;
}
// Nieuw subtotaal: Bestelbedrag - alle kortingen
@@ -1009,7 +1060,7 @@
if (!oRs.eof)
{
// Korting tot grenswaarde
grenswaardetot = oRs("grenswaarde").value;
grenswaardetot = oRs("grenswaarde").Value;
}
// Nu grenswaarde bepalen vanaf
@@ -1023,7 +1074,7 @@
if (!oRs.eof)
{
// Korting vanaf grenswaarde
grenswaardevanaf = oRs("grenswaarde").value;
grenswaardevanaf = oRs("grenswaarde").Value;
}
// Extra (transport) kosten en onderlimiet bepalen
@@ -1039,8 +1090,8 @@
if (!oRs.eof)
{
// Extra (transport) kosten
bes_kosten = oRs("bes_kosten").value;
bes_limiet = oRs("bes_limiet").value;
bes_kosten = oRs("bes_kosten").Value;
bes_limiet = oRs("bes_limiet").Value;
}
// Totaalbedrag
@@ -1094,9 +1145,9 @@
+ ", bes_bestelling b"
+ " WHERE b.bes_bestelling_key = tot.bes_bestelling_key"
oRs = Oracle.Execute(sql);
prstotaalbesteld = oRs("totaalbedrag").value || 0;
korting = oRs("korting").value || 0;
levkosten = oRs("levkosten").value || 0;
prstotaalbesteld = oRs("totaalbedrag").Value || 0;
korting = oRs("korting").Value || 0;
levkosten = oRs("levkosten").Value || 0;
budgetbesteld = prstotaalbesteld - korting + levkosten;
}
return budgetbesteld;
@@ -1110,7 +1161,7 @@
{ // Totaalbedrag van eerder bestellingen afgelopen periode van de besteller i.v.m. Afdelings Gebonden Budget (AGB)
var sql = "SELECT prs.getkostenplaats(" + prs_key + ", " + S("prs_approvemethod") + ", -1) kostenplaats FROM DUAL";
var oRs = Oracle.Execute(sql);
var kp_key = oRs("kostenplaats").value;
var kp_key = oRs("kostenplaats").Value;
// Limietperiode kostenplaats (prs_kostenplaats_limietperiode): 0(of NULL)=geen(oneindig) (default), 1=maand, 2=jaar
if (kp_key > 0)
@@ -1119,7 +1170,7 @@
+ " FROM prs_kostenplaats k"
+ " WHERE k.prs_kostenplaats_key = " + kp_key;
var oRs = Oracle.Execute(sql);
var kp_limietperiode = oRs("prs_kostenplaats_limietperiode").value;
var kp_limietperiode = oRs("prs_kostenplaats_limietperiode").Value;
var periode;
if (kp_limietperiode == 1)
periode = "MM"; // Maandelijks budget
@@ -1139,15 +1190,15 @@
? " AND b.bes_bestelling_key <> " + bes_key
: "")
+ (kp_limietperiode && kp_limietperiode > 0
? " AND b.bes_bestelling_datum >= TRUNC (SYSDATE, '" + periode + "')" // De eerste van de deze maand of 1 januari dit jaar
? " AND b.bes_bestelling_datum >= TRUNC (SYSDATE, " + safe.quoted_sql(periode) + ")" // De eerste van de deze maand of 1 januari dit jaar
: "")
+ " GROUP BY b.bes_bestelling_key) tot"
+ ", bes_bestelling b"
+ " WHERE b.bes_bestelling_key = tot.bes_bestelling_key"
oRs = Oracle.Execute(sql);
prstotaalbesteld = oRs("totaalbedrag").value || 0;
korting = oRs("korting").value || 0;
levkosten = oRs("levkosten").value || 0;
prstotaalbesteld = oRs("totaalbedrag").Value || 0;
korting = oRs("korting").Value || 0;
levkosten = oRs("levkosten").Value || 0;
budgetbesteld = prstotaalbesteld - korting + levkosten;
}
}
@@ -1162,7 +1213,7 @@
// Bepaal PGB limiet
var sql = "SELECT prs.getprofiellimiet(" + prs_key + ", " + dis_key + ") pgblimiet FROM DUAL";
var oRs = Oracle.Execute(sql);
var pgblimiet = oRs("pgblimiet").value;
var pgblimiet = oRs("pgblimiet").Value;
if (pgblimiet != null)
{ // Verschil PGB limiet met het besteed budget van persoon en desbetreffende discipline voor dit jaar inclusief bestelbedrag
@@ -1179,7 +1230,7 @@
// Bepaal AGB limiet
var sql = "SELECT prs.getlimietagb(" + prs_key + ", " + S("prs_approvemethod") + ", " + dis_key + ") agblimiet FROM DUAL";
var oRs = Oracle.Execute(sql);
var agblimiet = oRs("agblimiet").value;
var agblimiet = oRs("agblimiet").Value;
if (agblimiet != null)
{ // Verschil AGB limiet met het besteed budget van persoon en desbetreffende discipline voor dit jaar inclusief bestelbedrag
@@ -1237,7 +1288,7 @@
},
// Levert de 'Is ter fiattering aangeboden bij approver' op.
sendNeedApprovalNotification: function(bes_key, requestor, approver)
sendNeedApprovalNotification: function(bes_key, approver)
{
if (approver == null)
return false;
@@ -1250,19 +1301,19 @@
+ " AND b.bes_bestelling_key = " + bes_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof) {
var lsender = oRs(0).value;
var lsender = oRs(0).Value;
} else {
var lsender = null;
}
// notify approver and requestor by message & mail as configured in fac_srtnotificatie with BESAPx
shared.trackaction("BESAP2", bes_key);
Oracle.Execute("BEGIN fac.putnotificationsrtprio(NULL, " + approver + ", 'BESAP1', " + bes_key + ", NULL, NULL, NULL, NULL, NULL, 2, " + (lsender ? "'" + lsender + "'" : "NULL") + "); END;");
Oracle.Execute("BEGIN fac.putnotificationsrtprio(NULL, " + approver + ", 'BESAP1', " + bes_key + ", NULL, NULL, NULL, NULL, NULL, 2, " + (lsender ? safe.quoted_sql(lsender) : "NULL") + "); END;");
sql = "SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames WHERE prs_perslid_key = " + approver;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
return L("lcl_bes_RFO_regApprov") + oRs("prs_perslid_naam_full").value;
return L("lcl_bes_RFO_regApprov") + oRs("prs_perslid_naam_full").Value;
else
return L("lcl_bes_RFO_regApprov");
},
@@ -1304,13 +1355,13 @@
oRs = Oracle.Execute(sql);
while(!oRs.eof)
{
var txt = S("bes_bestelopdr_prefix") + oRs("bes_bestelopdr_id").value;
if (oRs("bes_bestelopdr_status").value == 1) // afgewezen
txt += " (" + bes.getbesopdrstatustext(oRs("bes_bestelopdr_status").value) + ")";
var txt = S("bes_bestelopdr_prefix") + oRs("bes_bestelopdr_id").Value;
if (oRs("bes_bestelopdr_status").Value == 1) // afgewezen
txt += " (" + bes.getbesopdrstatustext(oRs("bes_bestelopdr_status").Value) + ")";
if (bes_bestelling.parent_key)
txt += "*"; // wij zijn een change dus de opdracht ook
l_orders_txt.push(txt);
l_orders_key.push(oRs("bes_bestelopdr_key").value);
l_orders_key.push(oRs("bes_bestelopdr_key").Value);
oRs.MoveNext();
}
oRs.Close();
@@ -1353,8 +1404,5 @@
}
return message;
}
}
%>
%>

View File

@@ -13,7 +13,7 @@
*/ %>
<%
DOCTYPE_Disable = 1;
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
@@ -36,9 +36,22 @@ for (var i = 0; i < bes_key_arr.length; i++)
var bes_bestelling = bes.bestelling_info(bes_key_arr[i]); // Globale variabele met alle bes_bestelling informatie
var bes_disc_info = bes.disc_info(bes_bestelling.dis_key); // alle discipline informatie
var this_bes = bes.func_enabled_bestelling(bes_bestelling);
if (this_bes.canAccept)
if (this_bes.canAccept || this_bes.canAccept2 || this_bes.canAccept3 || this_bes.canAccept4 || this_bes.canAccept5)
{
ingesloten.push(bes_key_arr[i]);
ingesloten.push({ bes_key: bes_key_arr[i],
kosten: bes_bestelling.totaal - bes_bestelling.rfoBesKosten + bes_bestelling.rfoLevKosten,
approved: bes_bestelling.approved,
bestellimiet: bes_disc_info.disc_params_bestellimiet,
bestellimiet2: bes_disc_info.disc_params_bestellimiet2,
bestellimiet3: bes_disc_info.disc_params_bestellimiet3,
bestellimiet4: bes_disc_info.disc_params_bestellimiet4,
bestellimiet5: bes_disc_info.disc_params_bestellimiet5,
canAccept: this_bes.canAccept,
canAccept2: this_bes.canAccept2,
canAccept3: this_bes.canAccept3,
canAccept4: this_bes.canAccept4,
canAccept5: this_bes.canAccept5 }
);
tobeaccepted++;
}
}
@@ -46,13 +59,103 @@ user.anything_todo_or_abort(tobeaccepted > 0); // We klagen niet over enkele wel
for (var i = 0; i < ingesloten.length; i++)
{
bes.setbestellingstatus(ingesloten[i], 4); // Geaccepteerd BO
var bes_key = ingesloten[i].bes_key;
var setnextstatus = false;
if (bes_disc_info.disc_params_auto_order == "1")
bes.makeOrders(user_key, ingesloten[i]);
if (ingesloten[i].canAccept && (S("bes_approval_all") == 1 || !ingesloten[i].canAccept2)) // Kan ik deze bestelling accepteren tot de eerste limiet? Als ik ook al tot de tweede limiet kan accepteren dan direct maar tot de tweede limiet (volgende if).
{
var finalapproval = (S("bes_approval_all") == 1 || ingesloten[i].kosten <= ingesloten[i].bestellimiet2 || ingesloten[i].approved > ingesloten[i].bestellimiet2);
result.message = tobeaccepted + " " + (tobeaccepted == 1 ? L("lcl_bes_accepted1") : L("lcl_bes_accepted"));
result.success = true;
sql = "UPDATE bes_bestelling"
+ " SET bes_bestelling_approved = " + (ingesloten[i].kosten < ingesloten[i].bestellimiet2? ingesloten[i].kosten : ingesloten[i].bestellimiet2) // Gefiatteerd tot een bedrag van limiet1 (<=500 Euro)
+ " WHERE bes_bestelling_key = " + bes_key;
oRs = Oracle.Execute(sql);
if (!finalapproval)
{ // Tracking en alle tweede goedkeurders een notificatie sturen.
bes.trackbestellingaccepteren(bes_key);
}
else
// De bestelling is tot de bestellingkosten goedgekeurd. Verder goedkeuren hoeft niet.
// De status van de bestelling mag (indien mogelijk) naar Geaccepteerd(4) of Besteld(5).
setnextstatus = true;
result.success = true;
}
if (ingesloten[i].canAccept2 && (S("bes_approval_all") == 1 || !ingesloten[i].canAccept3)) // Kan ik deze bestelling accepteren tot de tweede limiet? Als ik ook al tot de derde limiet kan accepteren dan direct maar tot de derde limiet (volgende if).
{
var finalapproval = (S("bes_approval_all") == 1 || ingesloten[i].kosten <= ingesloten[i].bestellimiet3 || ingesloten[i].approved > ingesloten[i].bestellimiet3);
sql = "UPDATE bes_bestelling"
+ " SET bes_bestelling_approved = " + (ingesloten[i].kosten < ingesloten[i].bestellimiet3? ingesloten[i].kosten : ingesloten[i].bestellimiet3) // Gefiatteerd tot een bedrag van limiet2 (<=5000 Euro)
+ " WHERE bes_bestelling_key = " + bes_key;
oRs = Oracle.Execute(sql);
if (!finalapproval)
{ // Tracking en alle derde goedkeurders een notificatie sturen.
bes.trackbestellingaccepteren(bes_key);
}
else
// De bestelling is tot de bestellingkosten goedgekeurd. Verder goedkeuren hoeft niet.
// De status van de bestelling mag (indien mogelijk) naar Geaccepteerd(4) of Besteld(5).
setnextstatus = true;
result.success = true;
}
if (ingesloten[i].canAccept3 && (S("bes_approval_all") == 1 || !ingesloten[i].canAccept4)) // Kan ik deze bestelling accepteren tot de derde limiet? Als ik ook al tot de vierde limiet kan accepteren dan direct maar tot de vierde limiet (volgende if).
{
var finalapproval = (S("bes_approval_all") == 1 || ingesloten[i].kosten <= ingesloten[i].bestellimiet4 || ingesloten[i].approved > ingesloten[i].bestellimiet4);
sql = "UPDATE bes_bestelling"
+ " SET bes_bestelling_approved = " + (ingesloten[i].kosten < ingesloten[i].bestellimiet4? ingesloten[i].kosten : ingesloten[i].bestellimiet4) // Gefiatteerd tot een bedrag van limiet3 (<=125000 Euro)
+ " WHERE bes_bestelling_key = " + bes_key;
oRs = Oracle.Execute(sql);
if (!finalapproval)
{ // Tracking en alle derde goedkeurders een notificatie sturen.
bes.trackbestellingaccepteren(bes_key);
}
else
// De bestelling is tot de bestellingkosten goedgekeurd. Verder goedkeuren hoeft niet.
// De status van de bestelling mag (indien mogelijk) naar Geaccepteerd(4) of Besteld(5).
setnextstatus = true;
result.success = true;
}
if (ingesloten[i].canAccept4 && (S("bes_approval_all") == 1 || !ingesloten[i].canAccept5)) // Kan ik deze bestelling accepteren tot de derde limiet? Als ik ook al tot de vierde limiet kan accepteren dan direct maar tot de vierde limiet (volgende if).
{
var finalapproval = (S("bes_approval_all") == 1 || ingesloten[i].kosten <= ingesloten[i].bestellimiet5 || ingesloten[i].approved > ingesloten[i].bestellimiet5);
sql = "UPDATE bes_bestelling"
+ " SET bes_bestelling_approved = " + (ingesloten[i].kosten < ingesloten[i].bestellimiet5? ingesloten[i].kosten : ingesloten[i].bestellimiet5) // Gefiatteerd tot een bedrag van limiet4 (<=1000000 Euro)
+ " WHERE bes_bestelling_key = " + bes_key;
oRs = Oracle.Execute(sql);
if (!finalapproval)
{ // Tracking en alle derde goedkeurders een notificatie sturen.
bes.trackbestellingaccepteren(bes_key);
}
else
// De bestelling is tot de bestellingkosten goedgekeurd. Verder goedkeuren hoeft niet.
// De status van de bestelling mag (indien mogelijk) naar Geaccepteerd(4) of Besteld(5).
setnextstatus = true;
result.success = true;
}
else if (ingesloten[i].canAccept5) // Kan ik deze bestelling volledig accepteren en geaccepteerd/besteld maken?
{
sql = "UPDATE bes_bestelling"
+ " SET bes_bestelling_approved = " + ingesloten[i].kosten // Gefiatteerd boven bedrag van limiet5 (>1000000 Euro) voor het bedrag van de bestellingkosten.
+ " WHERE bes_bestelling_key = " + bes_key;
oRs = Oracle.Execute(sql);
// De status van de opdracht mag (indien mogelijk) naar Ter fiattering(0) of Uitgegeven(5).
setnextstatus = true;
result.success = true;
}
if (setnextstatus)
{ // Nu naar status 4 (Geaccepteerd) of opdrachten aanmaken en naar status 5 (Besteld).
bes.setbestellingstatus(bes_key, 4); // Geaccepteerd BO
if (bes_disc_info.disc_params_auto_order == "1")
bes.makeOrders(user_key, bes_key);
result.message = tobeaccepted + " " + (tobeaccepted == 1 ? L("lcl_bes_accepted1") : L("lcl_bes_accepted"));
}
}
Response.Write(JSON.stringify(result));

View File

@@ -84,8 +84,7 @@ for (var i = 0; i < ingesloten.length; i++)
// vervolgens naar kostenplaatsgroep fiatteur sturen
// Fiatteringsproces moet gevolgd worden op de naam van de "voor wie" (bestelling voor)
// Als bes_disc_params_for_others niet is gezet zijn perslid_key en perslid_key_voor identiek
var bes_bestelling = bes.bestelling_info(ingesloten[i].bes_key); // fiatteur_key zal veranderd zijn
message = bes.sendNeedApprovalNotification(bes_bestelling.bes_key, bes_bestelling.perslid_key_voor, bes_bestelling.fiatteur_key);
message = bes.sendNeedApprovalNotification(ingesloten[i].bes_key, ingesloten[i].fiatteur_key);
}
result.success = true;

View File

@@ -105,7 +105,10 @@ else // nieuwe bestelling. Defaults bepalen
bes_bestelling.rfoDeliverydate = new Date(leverdatum);
else
{
bes_bestelling.rfoDeliverydate = new Date();
if (bes_disc_info.disc_params_leverdagen < 0)
bes_bestelling.rfoDeliverydate = null;
else
bes_bestelling.rfoDeliverydate = new Date();
if (bes_disc_info.disc_params_leverdagen > 0)
{
sql = "SELECT fac.DatumTijdPlusUitvoerTijd(" + (new Date).toSQL() + "," + bes_disc_info.disc_params_leverdagen + ", 'DAGEN')"
@@ -493,15 +496,17 @@ else // nieuwe bestelling. Defaults bepalen
if (p_key > 0)
{
$.getJSON("../prs/get_prs_info_ajax.asp?req_info=prs_perslid&prs_aflever=1&prs_profiel=<%=bes_bestelling.dis_key%>&prs_perslid_key=" + p_key + "&setmandaat=" + setmandaat, process_besteller_info);
// Droom: niet reloaden igv geen persoonsafhankelijke kenmerken; dat weet ik hier echter niet..
// TEST: wat als niet bes_voor?
var s = "load_kenmerk.asp?urole=<%=urole%>"
+ "&bes_key=<%=bes_bestelling.bes_key%>"
+ "&disc_key="+ dis_key
+ "&kenmerktype=B"
+ (bes_key > 0 && !this_bes.canMainChange? "&reado=1" : "") // testen
+ "&prs_key=" + p_key;
$("#besFlexList").load(s, function () { FcltMgr.resized () });
// Alleen reloaden als persoonsafhankelijke kenmerken; anders heel irritant
if ($("#k_flexsql").val() == 1)
{ // TEST: wat als niet bes_voor?
var s = "load_kenmerk.asp?urole=<%=urole%>"
+ "&bes_key=<%=bes_bestelling.bes_key%>"
+ "&disc_key="+ dis_key
+ "&kenmerktype=B"
+ (bes_key > 0 && !this_bes.canMainChange? "&reado=1" : "") // testen
+ "&prs_key=" + p_key;
$("#besFlexList").load(s, function () { FcltMgr.resized () });
}
}
}
</script>
@@ -621,7 +626,8 @@ else // nieuwe bestelling. Defaults bepalen
FCLTcalendar( "calendar",
{ label : (bes_disc_info.disc_params_leverdagen>0? L("lcl_bes_deli_date_exp") : L("lcl_bes_deli_date")),
datum : bes_bestelling.rfoDeliverydate,
maxPast : (bes_disc_info.disc_params_leverdagen >= 0)? 0 : null,
initEmpty: bes_key < 0 && bes_disc_info.disc_params_leverdagen < 0,
maxPast : 0,
maxFuture: S("bes_datum_limiet"),
readonly: (bes_key > 0 && !this_bes.canMainChange) || leverdatum,
saveValue: (leverdatum!=null), // wel submitten

View File

@@ -479,11 +479,7 @@ if (UseRemoteApproval)
// AP2 notificatie wordt al door sendNeedApprovalNotification gedaan
// bes.setbestellingstatus(bes_key, 2); // terug naar Nieuw/ter acceptering
}
// Fiatteringsproces moet gevolgd worden op de naam van
// S("prs_dep_default_kpn_voor") == 0: de contactpersoon prs_key
// S("prs_dep_default_kpn_voor") == 1: de "voor wie" (bestelling voor) prs_key_voor
// Als bes_disc_params_for_others niet is gezet zijn prs_key en prs_key_voor identiek
strState = bes.sendNeedApprovalNotification(bes_key, (S("prs_dep_default_kpn_voor") == 0? prs_key : prs_key_voor), approver_key);
strState = bes.sendNeedApprovalNotification(bes_key, approver_key);
}
}
}

View File

@@ -199,20 +199,36 @@ var this_bestelopdr = bes.func_enabled_bestelopdracht(opdr_key);
</tr>
<% }
sql = "SELECT mld_adres_key, mld_adres_naam "
+ " FROM mld_v_aanwezigadres"
+ " WHERE mld_adres_afleveradres IS NOT NULL"
+ (authparams.ALGreadlevel >= 0?" AND alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations "
+ " WHERE prs_perslid_key = " + user_key + " AND niveau="+authparams.ALGreadlevel+")":"")
sql = "SELECT aa.mld_adres_key"
+ " , aa.mld_adres_naam"
+ " FROM mld_v_aanwezigadres aa"
+ " WHERE aa.mld_adres_afleveradres IS NOT NULL"
+ (authparams.ALGreadlevel >= 0
? " AND (EXISTS (SELECT ml.alg_locatie_key"
+ " FROM fac_v_my_locations ml"
+ " WHERE ml.prs_perslid_key = " + user_key
+ " AND ml.niveau = " + authparams.ALGreadlevel
+ " AND ml.alg_locatie_key = aa.alg_locatie_key)"
+ " OR aa.alg_locatie_key IS NULL"
+ " OR aa.mld_adres_key = " + bes_bestelopdr.mld_adres_key_lev + ")"
: "")
+ " ORDER BY 2";
FCLTselector("levering", sql, {label: L("lcl_bes_adres_lev"),
initKey: bes_bestelopdr.mld_adres_key_lev,
emptyOption: (bes_bestelopdr.mld_adres_key_lev < 0? null : "")})
sql = "SELECT mld_adres_key, mld_adres_naam "
+ " FROM mld_v_factuuradres"
+ (authparams.ALGreadlevel>=0?" WHERE alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations "
+ " WHERE prs_perslid_key="+user_key+" AND niveau="+authparams.ALGreadlevel+")":"")
sql = "SELECT fa.mld_adres_key"
+ " , fa.mld_adres_naam"
+ " FROM mld_v_factuuradres fa"
+ (authparams.ALGreadlevel >= 0
? " WHERE (EXISTS (SELECT ml.alg_locatie_key"
+ " FROM fac_v_my_locations ml"
+ " WHERE ml.prs_perslid_key = " + user_key
+ " AND ml.niveau = " + authparams.ALGreadlevel
+ " AND ml.alg_locatie_key = fa.alg_locatie_key)"
+ " OR fa.alg_locatie_key IS NULL"
+ " OR fa.mld_adres_key = " + bes_bestelopdr.mld_adres_key_fac + ")"
: "")
+ " ORDER BY 2";
FCLTselector("factuur", sql, {label: L("lcl_bes_adres_fac"),
initKey: bes_bestelopdr.mld_adres_key_fac,

View File

@@ -135,7 +135,7 @@ function generateFlexKenmerkCode(params)
+ " AND k.bes_kenmerk_verwijder IS NULL"
+ " AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND k.bes_kenmerk_type = '" + kenmerktype + "'"
+ " AND k.bes_kenmerk_type = " + safe.quoted_sql(kenmerktype)
+ (!besman ? " AND k.bes_kenmerk_volgnummer < 900 ":"")
+ " ORDER BY k.bes_kenmerk_volgnummer, UPPER("+lcl.xsql('sk.bes_srtkenmerk_omschrijving', 'sk.bes_srtkenmerk_key')+")";

View File

@@ -196,6 +196,18 @@ function bes_list (pautfunction, params)
return S("bes_bestelling_prefix") + (oRs.fields("bes_bestelling_parentkey").value > 0 ? oRs.fields("bes_bestelling_parentkey").value + "*" : oRs.fields("bes_bestelling_key").value);
}
function fncolOordeel(oRs)
{
var result = null;
var displ_val = oRs("oordeel").Value;
var displ_txt = oRs("oordeel_opm").Value;
if (displ_val)
{
result = "<span id='oordeel' title='" + safe.htmlattr(displ_txt)+"'>" + displ_val + "</span>";
}
return result;
}
/**********************************************
* End general Callback functies ResultsetTable
*********************************************/
@@ -208,7 +220,7 @@ function bes_list (pautfunction, params)
if (pcatalogus_key || pgroep_key || pitem_key)
{
sqlDGI = (minfo && (groupbes == 1 || groupbes == 6) // Management Info Opdrachten
? " AND b.bes_bestelopdr_key IN"
? " AND bo.bes_bestelopdr_key IN"
+ " (SELECT bes_bestelopdr_key"
+ " FROM bes_bestelopdr_item boi"
+ ", bes_bestelling_item bi"
@@ -312,7 +324,10 @@ function bes_list (pautfunction, params)
sql_date = " < " + ora_date2;
}
var sql_filter = "";
// Embargo bestellingen uitsluiten (als er eentje met parent is, willen we die zonder niet zien).
var sql_filter = " AND NOT EXISTS (SELECT b1.bes_bestelling_key"
+ " FROM bes_bestelling b1"
+ " WHERE bes_bestelling_parentkey = b.bes_bestelling_key)";
if (params.mld_key)
sql_filter += " AND b.mld_melding_key = " + params.mld_key;
@@ -525,6 +540,7 @@ function bes_list (pautfunction, params)
sql += ", b.bes_bestelling_status"
+ ", b.bes_bestelling_module"
+ ", b.bes_bestelling_satisfaction oordeel"
+ ", MAX(b.bes_bestelling_satisfaction_op) oordeel_opm"
+ " , SUM( bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_prijs, 0)) totaalbedrag"
+ " , SUM( bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_inkprijs, 0)) inktotaalbedrag"
+ " FROM bes_bestelling_item bi"
@@ -547,10 +563,7 @@ function bes_list (pautfunction, params)
+ " AND d.prs_afdeling_key = boom.prs_afdeling_key"
+ " AND b.mld_adres_key_lev = m.mld_adres_key"
+ " AND m.alg_locatie_key = l.alg_locatie_key(+)"
+ " AND l.alg_district_key = di.alg_district_key(+)"
+ " AND b.bes_bestelling_key NOT IN (SELECT b1.bes_bestelling_parentkey"
+ " FROM bes_bestelling b1"
+ " WHERE b1.bes_bestelling_parentkey IS NOT NULL)";
+ " AND l.alg_district_key = di.alg_district_key(+)";
sql += sql_filter;
@@ -597,7 +610,7 @@ function bes_list (pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_rfo_total_sum_eur"), content: "totaalbedrag", datatype: "currency", total: true})); //@@ TODO: AANPASSEN
if (S("bes_show_inkprijs") == 1)
rst.addColumn(new Column({caption: L("lcl_rfo_total_inksum"), content: "inktotaalbedrag", datatype: "currency", total: true}));
rst.addColumn(new Column({caption: L("lcl_bes_oordeel"), content: "oordeel", datatype: "float", decimals: 1, total: true}));
rst.addColumn(new Column({caption: L("lcl_bes_oordeel"), content: fncolOordeel, datatype: "float", decimals: 1, total: true}));
// Acties
rst.addAction({image: "../Pictures/spot1.jpg", action: "besEdit;", caption: L("lcl_edit"), isDefault: true});
@@ -643,17 +656,19 @@ function bes_list (pautfunction, params)
+ ", COUNT(b.bes_bestelling_satisfaction) cnt_satisfaction"
+ ", AVG(b.bes_bestelling_satisfaction) oordeel";
if ((groupbes == 2) || (groupbes == 7))
{ // Aanvraag - Cluster/Aanvraag - Afdeling (Organisatie niveau 1 en 2)
sql = "SELECT d.prs_afdeling_key"
+ ", COUNT(b.bes_bestelling_key) aantalbes"
+ ", " + S("prs_dep_string") + " afdeling"
+ ", SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_prijs, 0)) totaalbedrag"
+ ", SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_inkprijs, 0)) inktotaalbedrag"
+ " , b.bes_bestelling_key"
+ " , " + S("prs_dep_string") + " afdeling"
+ " , SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_prijs, 0)) totaalbedrag"
+ " , SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_inkprijs, 0)) inktotaalbedrag"
+ select_oordeel;
sql_group_by = " GROUP BY d.prs_afdeling_key"
+ ", " + S("prs_dep_string");
+ " , " + S("prs_dep_string")
+ " , b.bes_bestelling_key";
if (groupbes2)
{
@@ -681,7 +696,7 @@ function bes_list (pautfunction, params)
+ " AND p.prs_perslid_key = b.prs_perslid_key"
+ " AND p.prs_afdeling_key = afd.prs_afdeling_key"
+ " AND afd.prs_afdeling_key = boom.prs_afdeling_key"
+ " AND d.prs_afdeling_key = boom.prs_afdeling_key" + (groupbes == 2? "1" : "2")
+ " AND d.prs_afdeling_key(+) = boom.prs_afdeling_key" + (groupbes == 2? "1" : "2")
+ " AND b.mld_adres_key_lev = adr.mld_adres_key"
+ " AND adr.alg_locatie_key = l.alg_locatie_key"
+ " AND l.alg_district_key = di.alg_district_key"
@@ -705,7 +720,24 @@ function bes_list (pautfunction, params)
2,
sql_group_by);
//sql += " ORDER BY " + S("prs_dep_string");
sql = "SELECT x.prs_afdeling_key"
+ " , COUNT(x.bes_bestelling_key) aantalbes"
+ " , COALESCE(x.afdeling, ' ') afdeling"
+ " , SUM(x.totaalbedrag) totaalbedrag"
+ " , SUM(x.inktotaalbedrag) inktotaalbedrag"
+ " , SUM(x.sum_satisfaction) sum_satisfaction"
+ " , SUM(x.cnt_satisfaction) cnt_satisfaction"
+ (groupbes2
? " , x.sel2col sel2col"
: "")
+ " , AVG(x.oordeel) oordeel"
+ " FROM (" + sql + ") x"
+ " GROUP BY x.prs_afdeling_key"
+ " , x.afdeling"
+ (groupbes2
? " , x.sel2col"
: "")
+ " ORDER BY afdeling";
var rst = new ResultsetTable({keyColumn: "prs_afdeling_key",
ID: "bestable",
@@ -734,14 +766,15 @@ function bes_list (pautfunction, params)
if (groupbes == 8)
{ // Aanvraag - Kostenplaats
sql = "SELECT k.prs_kostenplaats_key"
+ ", COUNT(b.bes_bestelling_key) aantalbes"
+ ", b.bes_bestelling_key"
+ " , " + S("prs_kpn_string") + " kostenplaats"
+ " , SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_prijs, 0)) totaalbedrag"
+ " , SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_inkprijs, 0)) inktotaalbedrag"
+ select_oordeel;
sql_group_by = " GROUP BY k.prs_kostenplaats_key"
+ ", " + S("prs_kpn_string");
+ " , " + S("prs_kpn_string")
+ " , b.bes_bestelling_key";
if (groupbes2)
{
@@ -791,7 +824,24 @@ function bes_list (pautfunction, params)
2,
sql_group_by);
sql += " ORDER BY 3";
sql = "SELECT x.prs_kostenplaats_key"
+ " , COUNT(x.bes_bestelling_key) aantalbes"
+ " , x.kostenplaats kostenplaats"
+ " , SUM(x.totaalbedrag) totaalbedrag"
+ " , SUM(x.inktotaalbedrag) inktotaalbedrag"
+ " , SUM(x.sum_satisfaction) sum_satisfaction"
+ " , SUM(x.cnt_satisfaction) cnt_satisfaction"
+ " , AVG(x.oordeel) oordeel"
+ (groupbes2
? " , x.sel2col sel2col"
: "")
+ " FROM (" + sql + ") x"
+ " GROUP BY x.prs_kostenplaats_key"
+ " , x.kostenplaats"
+ (groupbes2
? " , x.sel2col"
: "")
+ " ORDER BY 3";
var rst = new ResultsetTable({keyColumn: "prs_kostenplaats_key",
sql: sql,
@@ -820,22 +870,22 @@ function bes_list (pautfunction, params)
if ((groupbes == 10) || (groupbes == 11))
{ // District/Locatie -->
sql = "SELECT" + (groupbes == 10? " di.alg_district_key" : " l.alg_locatie_key")
+ ", COUNT(b.bes_bestelling_key) aantalbes"
sql = "SELECT" + (groupbes == 10? " di.alg_district_key" : " l.alg_locatie_key") + " dlkey"
+ " , b.bes_bestelling_key"
+ (groupbes == 10
? ", di.alg_district_omschrijving"
: ", l.alg_locatie_omschrijving")
+ " dlomschrijving"
+ ", SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_prijs, 0)) totaalbedrag"
+ ", SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_inkprijs, 0)) inktotaalbedrag"
? " , di.alg_district_omschrijving"
: " , l.alg_locatie_omschrijving") + " dlomschrijving"
+ " , SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_prijs, 0)) totaalbedrag"
+ " , SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_inkprijs, 0)) inktotaalbedrag"
+ select_oordeel;
sql_group_by = " GROUP BY"
+ (groupbes == 10
? " di.alg_district_key"
+ ", di.alg_district_omschrijving"
+ " , di.alg_district_omschrijving"
: " l.alg_locatie_key"
+ ", l.alg_locatie_omschrijving");
+ " , l.alg_locatie_omschrijving")
+ " , b.bes_bestelling_key";
if (groupbes2)
{
@@ -883,12 +933,26 @@ function bes_list (pautfunction, params)
2,
sql_group_by);
// sql += " ORDER BY"
// + (groupbes == 10
// ? " d.alg_district_omschrijving"
// : " l.alg_locatie_omschrijving");
sql = "SELECT x.dlkey dlkey"
+ " , COUNT(x.bes_bestelling_key) aantalbes"
+ " , x.dlomschrijving dlomschrijving"
+ " , SUM(x.totaalbedrag) totaalbedrag"
+ " , SUM(x.inktotaalbedrag) inktotaalbedrag"
+ " , SUM(x.sum_satisfaction) sum_satisfaction"
+ " , SUM(x.cnt_satisfaction) cnt_satisfaction"
+ " , AVG(x.oordeel) oordeel"
+ (groupbes2
? " , x.sel2col sel2col"
: "")
+ " FROM (" + sql + ") x"
+ " GROUP BY x.dlkey"
+ " , x.dlomschrijving"
+ (groupbes2
? " , x.sel2col"
: "")
+ " ORDER BY dlomschrijving";
var rst = new ResultsetTable({keyColumn: (groupbes == 10? "alg_district_key" : "alg_locatie_key"),
var rst = new ResultsetTable({keyColumn: "dlkey",
ID: "bestable",
sql: sql,
filterParams: params,
@@ -913,7 +977,7 @@ function bes_list (pautfunction, params)
}
if ((groupbes == 12) || (groupbes == 3) || (groupbes == 4) || (groupbes == 5))
{ // Geen - Aanvraag - Catalogus/Aanvraag - Groep/Aanvraag - Item
{ // Geen/Aanvraag - Catalogus/Aanvraag - Groep/Aanvraag - Item
if (groupbes == 12) // Geen
{
sql = "SELECT b.bes_bestelling_key"
@@ -933,15 +997,16 @@ function bes_list (pautfunction, params)
if (groupbes == 3) // op catalogus
{
sql = "SELECT dis.ins_discipline_key"
+ ", "+ lcl.xsqla('dis.ins_discipline_omschrijving','dis.ins_discipline_key')
+ ", COUNT(*) aantalbes"
sql = "SELECT dis.ins_discipline_key ins_discipline_key"
+ ", " + lcl.xsqla('dis.ins_discipline_omschrijving','dis.ins_discipline_key')
+ ", b.bes_bestelling_key"
+ ", SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_prijs, 0)) totaalbedrag"
+ ", SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_inkprijs, 0)) inktotaalbedrag"
+ select_oordeel;
sql_group_by = " GROUP BY dis.ins_discipline_key"
+ ", "+ lcl.xsql('dis.ins_discipline_omschrijving','dis.ins_discipline_key');
+ ", " + lcl.xsql('dis.ins_discipline_omschrijving','dis.ins_discipline_key')
+ ", b.bes_bestelling_key";
}
if (groupbes == 4) // op groep
@@ -949,14 +1014,15 @@ function bes_list (pautfunction, params)
sql = "SELECT grp.bes_srtgroep_key"
+ ", "+ lcl.xsqla('dis.ins_discipline_omschrijving','dis.ins_discipline_key')
+ ", "+ lcl.xsqla('grp.bes_srtgroep_omschrijving','grp.bes_srtgroep_key')
+ ", COUNT(*) aantalbes"
+ ", b.bes_bestelling_key"
+ ", SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_prijs, 0)) totaalbedrag"
+ ", SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_inkprijs, 0)) inktotaalbedrag"
+ select_oordeel;
sql_group_by = " GROUP BY grp.bes_srtgroep_key"
+ ", "+ lcl.xsql('grp.bes_srtgroep_omschrijving','grp.bes_srtgroep_key')
+ ", "+ lcl.xsql('dis.ins_discipline_omschrijving','dis.ins_discipline_key');
+ ", "+ lcl.xsql('dis.ins_discipline_omschrijving','dis.ins_discipline_key')
+ ", b.bes_bestelling_key";
}
if (groupbes == 5) // op artikel
@@ -966,7 +1032,7 @@ function bes_list (pautfunction, params)
+ ", "+ lcl.xsqla('grp.bes_srtgroep_omschrijving','grp.bes_srtgroep_key')
+ ", "+ lcl.xsqla('srt.bes_srtdeel_nr','srt.bes_srtdeel_key')
+ ", "+ lcl.xsqla('srt.bes_srtdeel_omschrijving','srt.bes_srtdeel_key')
+ ", COUNT(*) aantalbes"
+ ", b.bes_bestelling_key"
+ ", SUM(bi.bes_bestelling_item_aantal) aantalart"
+ ", SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_prijs, 0)) totaalbedrag"
+ ", SUM(bi.bes_bestelling_item_aantal * COALESCE(bi.bes_bestelling_item_inkprijs, 0)) inktotaalbedrag"
@@ -976,7 +1042,8 @@ function bes_list (pautfunction, params)
+ ", "+ lcl.xsql('srt.bes_srtdeel_nr','srt.bes_srtdeel_key')
+ ", "+ lcl.xsql('srt.bes_srtdeel_omschrijving','srt.bes_srtdeel_key')
+ ", "+ lcl.xsql('grp.bes_srtgroep_omschrijving','grp.bes_srtgroep_key')
+ ", "+ lcl.xsql('dis.ins_discipline_omschrijving','dis.ins_discipline_key');
+ ", "+ lcl.xsql('dis.ins_discipline_omschrijving','dis.ins_discipline_key')
+ ", b.bes_bestelling_key";
}
if (groupbes2)
@@ -1030,7 +1097,54 @@ function bes_list (pautfunction, params)
if (groupbes == 12)
sql += " ORDER BY 1, 3, 4, 5";
else
sql += " ORDER BY 2, 3, 4";
{
if (groupbes == 3)
sql_start = "SELECT x.ins_discipline_key"
+ " , x.ins_discipline_omschrijving";
if (groupbes == 4)
sql_start = "SELECT x.bes_srtgroep_key"
+ " , x.ins_discipline_omschrijving"
+ " , bes_srtgroep_omschrijving";
if (groupbes == 5)
sql_start = "SELECT x.bes_srtdeel_key"
+ " , x.ins_discipline_omschrijving"
+ " , x.bes_srtgroep_omschrijving"
+ " , x.bes_srtdeel_nr"
+ " , x.bes_srtdeel_omschrijving"
+ " , x.aantalart";
sql = sql_start
+ " , COUNT(x.bes_bestelling_key) aantalbes"
+ " , SUM(x.totaalbedrag) totaalbedrag"
+ " , SUM(x.inktotaalbedrag) inktotaalbedrag"
+ " , SUM(x.sum_satisfaction) sum_satisfaction"
+ " , SUM(x.cnt_satisfaction) cnt_satisfaction"
+ " , AVG(x.oordeel) oordeel"
+ (groupbes2
? " , x.sel2col sel2col"
: "")
+ " FROM (" + sql + ") x";
if (groupbes == 3)
sql += " GROUP BY x.ins_discipline_key"
+ " , x.ins_discipline_omschrijving";
if (groupbes == 4)
sql += " GROUP BY x.bes_srtgroep_key"
+ " , x.ins_discipline_omschrijving"
+ " , x.bes_srtgroep_omschrijving";
if (groupbes == 5)
sql += " GROUP BY x.bes_srtdeel_key"
+ " , x.ins_discipline_omschrijving"
+ " , x.bes_srtgroep_omschrijving"
+ " , x.bes_srtdeel_nr"
+ " , x.bes_srtdeel_omschrijving"
+ " , x.aantalart";
sql += (groupbes2
? " , x.sel2col"
: "")
+ " ORDER BY 2, 3, 4";
}
var keyCol = "";
if (groupbes == 3)
@@ -1091,12 +1205,12 @@ function bes_list (pautfunction, params)
if (rfo_key)
{
sql_filter += " AND UPPER(b.bes_bestelopdr_id) LIKE " + safe.quoted_sql_wild(rfo_key + "%");
sql_filter += " AND UPPER(bo.bes_bestelopdr_id) LIKE " + safe.quoted_sql_wild(rfo_key + "%");
}
else
{
if (showordstatus)
sql_filter += " AND b.bes_bestelopdr_status IN (" + showordstatus + ")";
sql_filter += " AND bo.bes_bestelopdr_status IN (" + showordstatus + ")";
if (showbesstatus) {
sql_filter += " AND bi.bes_bestelopdr_item_key IN"
@@ -1109,10 +1223,10 @@ function bes_list (pautfunction, params)
}
if (requestor_key)
sql_filter += " AND b.prs_perslid_key = " + requestor_key;
sql_filter += " AND bo.prs_perslid_key = " + requestor_key;
if (personfor_key)
sql_filter += " AND b.prs_perslid_key_voor = " + personfor_key;
sql_filter += " AND bo.prs_perslid_key_voor = " + personfor_key;
if (kp)
{
@@ -1130,9 +1244,9 @@ function bes_list (pautfunction, params)
sql_filter += makeDisGroepItemsSql(catalogus_key, besgroep_key, item_key);
if (supplier_key)
sql_filter += " AND b.prs_bedrijf_key = " + supplier_key;
sql_filter += " AND bo.prs_bedrijf_key = " + supplier_key;
if (sql_date)
sql_filter += " AND b.bes_bestelopdr_datum" + sql_date;
sql_filter += " AND bo.bes_bestelopdr_datum" + sql_date;
if (dep_key)
sql_filter += " AND d.prs_afdeling_key = " + dep_key;
}
@@ -1142,9 +1256,9 @@ function bes_list (pautfunction, params)
{ // Opdracht
sql = "SELECT bbi.bes_bestelling_key"
+ ", NULL bes_bestelling_parentkey" // doen we hier mee?
+ ", b.bes_bestelopdr_key"
+ ", b.bes_bestelopdr_id"
+ ", bes_bestelopdr_datum"
+ ", bo.bes_bestelopdr_key"
+ ", bo.bes_bestelopdr_id"
+ ", bo.bes_bestelopdr_datum"
+ ", (SELECT bst.bes_bestelling_retourvan_key"
+ " FROM bes_bestelling bst"
+ ", bes_bestelling_item bbi"
@@ -1153,8 +1267,8 @@ function bes_list (pautfunction, params)
+ ", prs_bedrijf_naam supplier"
+ ", " + S("prs_pers_string") + " besteller"
+ ", " + S("prs_dep_string") + " organisation"
+ ", b.bes_bestelopdr_status"
+ ", b.bes_bestelopdr_module"
+ ", bo.bes_bestelopdr_status"
+ ", bo.bes_bestelopdr_module"
+ ", dis.ins_discipline_key"
+ ", d.prs_afdeling_key"
+ ", (bi.bes_bestelopdr_item_aantal * bes_bestelopdr_item_prijs) totaalbedrag" // klopt dit wel?
@@ -1163,13 +1277,14 @@ function bes_list (pautfunction, params)
+ ", di.alg_district_key"
+ ", di.alg_regio_key"
+ " FROM bes_bestelopdr_item bi"
+ ", bes_bestelopdr b"
+ ", bes_bestelopdr bo"
+ ", prs_bedrijf be"
+ ", prs_perslid p"
+ ", prs_v_afdeling d"
// next lines: tbv 3D autorisatie mbt discipline(catalogus) en afdeling (organisatie)
+ ", prs_v_afdeling_boom boom"
+ ", bes_bestelling_item bbi"
+ ", bes_bestelling b"
+ ", bes_srtdeel srt"
+ ", bes_srtgroep grp"
+ ", ins_tab_discipline dis"
@@ -1179,9 +1294,10 @@ function bes_list (pautfunction, params)
+ ", mld_adres adr"
+ ", alg_locatie l"
+ ", alg_district di"
+ " WHERE be.prs_bedrijf_key = b.prs_bedrijf_key"
+ " AND bi.bes_bestelopdr_key = b.bes_bestelopdr_key"
+ " AND p.prs_perslid_key = b.prs_perslid_key" // MB--indien op aanvrager:: deze regel uitcommentarieren
+ " WHERE b.bes_bestelling_key = bbi.bes_bestelling_key"
+ " AND be.prs_bedrijf_key = bo.prs_bedrijf_key"
+ " AND bi.bes_bestelopdr_key = bo.bes_bestelopdr_key"
+ " AND p.prs_perslid_key = bo.prs_perslid_key" // MB--indien op aanvrager:: deze regel uitcommentarieren
// MB--indien op aanvrager: add next 2 lines
// + " and p.prs_perslid_key = bstl.prs_perslid_key "
// + " and bstl.bes_bestelling_key = bbi.bes_bestelling_key"
@@ -1194,7 +1310,7 @@ function bes_list (pautfunction, params)
+ " AND srt.bes_srtgroep_key = grp.bes_srtgroep_key"
+ " AND grp.ins_discipline_key = dis.ins_discipline_key"
// next 3 lines: 3D-autoriatie op district en locatie
+ " AND b.mld_adres_key_lev = adr.mld_adres_key"
+ " AND bo.mld_adres_key_lev = adr.mld_adres_key"
+ " AND adr.alg_locatie_key = l.alg_locatie_key"
+ " AND l.alg_district_key = dI.alg_district_key"
+ sql_filter;
@@ -1202,27 +1318,25 @@ function bes_list (pautfunction, params)
sql += makeDisGroepItemsFilter(catalogus_key, besgroep_key, item_key);
sql = "SELECT x.bes_bestelling_key"
// + ", x.bes_bestelling_parentkey"
+ ", x.bes_bestelopdr_key"
+ ", x.bes_bestelopdr_id"
+ ", x.bes_bestelopdr_datum"
+ ", x.bes_bestelling_retourvan_key"
+ ", x.bes_bestelopdr_status"
+ ", x.bes_bestelopdr_module"
+ ", x.supplier"
+ ", x.besteller"
+ ", x.organisation"
+ ", SUM(x.totaalbedrag) totaalbedrag"
+ ", SUM(x.inktotaalbedrag) inktotaalbedrag"
+ ", x.alg_locatie_key"
+ ", x.alg_district_key"
+ ", x.alg_regio_key"
+ " FROM (" + sql + ") x"
+ ", prs_v_afdeling_boom boom"
+ " , x.bes_bestelopdr_key"
+ " , x.bes_bestelopdr_id"
+ " , x.bes_bestelopdr_datum"
+ " , x.bes_bestelling_retourvan_key"
+ " , x.bes_bestelopdr_status"
+ " , x.bes_bestelopdr_module"
+ " , x.supplier"
+ " , x.besteller"
+ " , x.organisation"
+ " , SUM(x.totaalbedrag) totaalbedrag"
+ " , SUM(x.inktotaalbedrag) inktotaalbedrag"
+ " , x.alg_locatie_key"
+ " , x.alg_district_key"
+ " , x.alg_regio_key"
+ " FROM (" + sql + ") x"
+ " , prs_v_afdeling_boom boom"
+ " WHERE x.prs_afdeling_key = boom.prs_afdeling_key";
sql_group_by = " GROUP BY x.bes_bestelling_key"
// + ", x.bes_bestelling_parentkey"
+ ", x.bes_bestelopdr_key"
+ ", x.bes_bestelopdr_id"
+ ", x.bes_bestelopdr_datum"
@@ -1295,22 +1409,23 @@ function bes_list (pautfunction, params)
if (groupbes == 6)
{ // Opdracht - Leverancier
sql = "SELECT be.prs_bedrijf_key"
+ ", be.prs_bedrijf_naam supplier"
+ ", COUNT(*) aantal"
+ ", SUM(bi.bes_bestelopdr_item_aantal * bi.bes_bestelopdr_item_prijs) totaalbedrag" // klopt dit wel?
+ ", SUM(bi.bes_bestelopdr_item_aantal * bi.bes_bestelopdr_item_inkprijs) inktotaalbedrag";
sql = "SELECT be.prs_bedrijf_key prs_bedrijf_key"
+ " , be.prs_bedrijf_naam supplier"
+ " , bo.bes_bestelopdr_key"
+ " , SUM(bi.bes_bestelopdr_item_aantal * bi.bes_bestelopdr_item_prijs) totaalbedrag" // klopt dit wel?
+ " , SUM(bi.bes_bestelopdr_item_aantal * bi.bes_bestelopdr_item_inkprijs) inktotaalbedrag";
sql_group_by = " GROUP BY be.prs_bedrijf_key, be.prs_bedrijf_naam";
sql_group_by = " GROUP BY be.prs_bedrijf_key, be.prs_bedrijf_naam, bo.bes_bestelopdr_key";
sql += " FROM bes_bestelopdr_item bi"
+ ", bes_bestelopdr b"
+ ", bes_bestelopdr bo"
+ ", prs_bedrijf be"
+ ", prs_perslid p"
+ ", prs_v_afdeling d"
// next line: tbv 3D autorisatie mbt discipline(catalogus) en afdeling (organisatie)
+ ", prs_v_afdeling_boom boom"
+ ", bes_bestelling_item bbi"
+ ", bes_bestelling b"
+ ", bes_srtdeel srt"
+ ", bes_srtgroep grp"
+ ", ins_tab_discipline dis"
@@ -1318,9 +1433,10 @@ function bes_list (pautfunction, params)
+ ", alg_locatie l"
+ ", alg_district di";
sql += " WHERE be.prs_bedrijf_key = b.prs_bedrijf_key"
+ " AND bi.bes_bestelopdr_key = b.bes_bestelopdr_key"
+ " AND p.prs_perslid_key = b.prs_perslid_key"
sql += " WHERE b.bes_bestelling_key = bbi.bes_bestelling_key"
+ " AND be.prs_bedrijf_key = bo.prs_bedrijf_key"
+ " AND bi.bes_bestelopdr_key = bo.bes_bestelopdr_key"
+ " AND p.prs_perslid_key = bo.prs_perslid_key"
// next 2 lines: 3D-autoriatie op organisatie
+ " AND p.prs_afdeling_key = d.prs_afdeling_key"
+ " AND d.prs_afdeling_key = boom.prs_afdeling_key"
@@ -1329,7 +1445,7 @@ function bes_list (pautfunction, params)
+ " AND bbi.bes_srtdeel_key = srt.bes_srtdeel_key"
+ " AND srt.bes_srtgroep_key = grp.bes_srtgroep_key"
+ " AND grp.ins_discipline_key = dis.ins_discipline_key"
+ " AND b.mld_adres_key_lev = adr.mld_adres_key"
+ " AND bo.mld_adres_key_lev = adr.mld_adres_key"
+ " AND adr.alg_locatie_key = l.alg_locatie_key"
+ " AND l.alg_district_key = dI.alg_district_key";
@@ -1351,9 +1467,15 @@ function bes_list (pautfunction, params)
2,
sql_group_by);
// sql += " ORDER BY prs_bedrijf_naam"
// + ", aantal"
// + ", totaalbedrag DESC";
sql = "SELECT x.prs_bedrijf_key"
+ " , x.supplier supplier"
+ " , COUNT (x.bes_bestelopdr_key) aantal"
+ " , SUM (x.totaalbedrag) totaalbedrag"
+ " , SUM (x.inktotaalbedrag) inktotaalbedrag"
+ " FROM (" + sql + ") x"
+ " GROUP BY x.prs_bedrijf_key"
+ " , x.supplier"
+ " ORDER BY supplier";
var rst = new ResultsetTable({keyColumn: "prs_bedrijf_key",
sql: sql,
@@ -1601,8 +1723,6 @@ function bes_list (pautfunction, params)
if (rfo_key)
{
// TODO: een decode oid, als er eentje met parent is, willen we die zonder niet zien
// niet hier overigens, maar in de where.
sql += " AND COALESCE(b.bes_bestelling_parentkey, b.bes_bestelling_key) = " + rfo_key;
}
else
@@ -1701,20 +1821,19 @@ function bes_list (pautfunction, params)
function fnrowActionEnablerFOBO(oRs)
{
var eEdit = true; // Altijd aanwezig
var eAccept = false;
var eReject = false;
var eSubmit = false;
var m_stat = oRs("bes_bestelling_status").value;
if (backo)
{ // SEE NOTE A
eAccept = (m_stat == 3);
eReject = (m_stat == 3);
// Gathering of RFOs is not switched on yet
eSubmit = (m_stat == 4 && !oRs("isordered").value);
if (m_stat == 3) // func_enabled_bestelling is traag, alleen als echt noodzakelijk
{
// We weten al dat we mogen lezen. Geef dat mee aan func_enabled_bestelling, die wordt daar efficienter van
var bes_bestelling = bes.bestelling_info(oRs("bes_bestelling_key").Value);
var this_bes = bes.func_enabled_bestelling(bes_bestelling, { knownread: true });
var eAccept = this_bes.canAccept || this_bes.canAccept2 || this_bes.canAccept3 || this_bes.canAccept4 || this_bes.canAccept5;
var eReject = this_bes.canReject;
}
var eSubmit = (m_stat == 4 && !oRs("isordered").value); // eigenlijk this_bes.canSubmit maar we hebben niet
// altijd bes.func_enabled_bestelling gedaan
var data = {eAccept:eAccept, eReject:eReject, eEdit:eEdit, eSubmit:eSubmit};
var data = {eAccept: eAccept, eReject: eReject, eEdit: eEdit, eSubmit: eSubmit};
return data;
}

View File

@@ -36,7 +36,7 @@ for (var i = 0; i < bes_key_arr.length; i++)
var bes_bestelling = bes.bestelling_info(bes_key_arr[i]); // Globale variabele met alle bes_bestelling informatie
var bes_disc_info = bes.disc_info(bes_bestelling.dis_key); // alle discipline informatie
var this_bes = bes.func_enabled_bestelling(bes_bestelling);
if (this_bes.canApprove || this_bes.canAccept) // Als je mag accepteren mag je ook rejecten
if (this_bes.canApprove || this_bes.canReject) // Als je mag fiatteren mag je ook rejecten
{
ingesloten.push(bes_key_arr[i]);
if (bes_bestelling.parent_key)

View File

@@ -86,7 +86,7 @@ var supplier = getQParamInt("supplier", -1); // Leverancier
var groupby = getQParamInt("groupby", 0); // Groepering 1 (Aanvraag (key = 0) is default)
var groupby2 = getQParamInt("groupby2", -1); // Groepering 2
var rfo_key = getQParamInt("rfo_key", ""); // Aanvraag nummer (rfo key, request for order)
var rfostatus_key_arr = getQParamIntArray("rfostatus", [2,3,4,5,6,7,8]); // Aanvraag status string
var rfostatus_key_arr = getQParamIntArray("rfostatus", [2,3,4,5,6,7]); // Aanvraag status string
var order_key = getQParamInt("order_key", ""); // Opdracht nummer
var orderstatus_key_arr = getQParamIntArray("orderstatus", []); // Opdracht status string
var prs_key = getQParamInt("prs_key", -1); // Aanvrager (Requestor_key)

View File

@@ -128,6 +128,18 @@ var buttons = [];
if (this_bes.canChange)
buttons.push({title: L("lcl_change"), icon: "wijzigen.png", action: "bes_change()"});
if (this_bes.canAccept ||
this_bes.canAccept2 ||
this_bes.canAccept3 ||
this_bes.canAccept4 ||
this_bes.canAccept5)
{
buttons.push({ icon: "accept.png", title: L("lcl_approve"), action: "bes_accept()" });
}
if (this_bes.canReject)
buttons.push({ icon: "reject.png", title: L("lcl_reject"), action: "bes_reject()" });
if (bes_bestelling.fac_activiteit_key == -1)
{
if (this_bes.canDelete)
@@ -218,9 +230,21 @@ var show_price = '<%=show_price%>';
var lower = false;
var inclBTW = <%=bes_bestelling.inclBTW%> == 1;
function bes_accept()
{
if (confirm(L("lcl_bes_accepteren1").format("<%=bes_key%>")))
{
$.post("bes_accept.asp",
{ urole: "<%=urole%>",
bes_key: <%=bes_key%> },
FcltCallbackRefresh,
"json");
}
}
function bes_approve()
{
if (confirm(L("lcl_bes_approve_1") + "<%=bes_key%>" + L("lcl_bes_approve_2")))
if (confirm(L("lcl_bes_approve").format("<%=bes_key%>")))
{
var data = { bes_key: <%=bes_key%>
};

View File

@@ -39,7 +39,7 @@ var authparams = user.checkAutorisation("WEB_BESMSU");
function bes_new()
{
<% if (disc_key<0) { %>
alert(L("lcl_Filter eerst op catalogus"));
alert(L("lcl_bes_srtdeel_need_cat"));
<% } else {
var addurl = "appl/bes/bes_srtdeel.asp?disc_key=" + disc_key;
%>

View File

@@ -54,7 +54,7 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
var besopdr_id = "";
for (i = 0; i < max_o_i; i++)
{
ontv = getFParamInt('cnt' + i);
ontv = getFParamInt('cnt' + i, 0);
oldcnt = getFParamInt('amto' + i);
bokey = getFParamInt('bokey' + i);
bikey = getFParamInt('bi_key' + i);

View File

@@ -58,6 +58,7 @@ if (afspr_key > 0)
var timeBeginInitEmpty = false;
var timeEindInitEmpty = false;
var actie_key = -1;
if (afspr_key < 0)
{ // defaults zetten
contact_key = user_key;
@@ -105,7 +106,15 @@ if (afspr_key < 0)
{
timeEindInitEmpty = true;
}
actie_key = -1;
// Is er een default actie.
var sql = "SELECT bez_actie_key"
+ " FROM bez_actie"
+ " WHERE bez_actie_verwijder IS NULL"
+ " AND bez_actie_default = 1";
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
actie_key = oRs("bez_actie_key").Value;
locatie_key = user.alg_locatie_key();
gebouw_key = user.alg_gebouw_key();
@@ -120,22 +129,24 @@ if (afspr_key < 0)
}
else
{
sql = "SELECT ba.bez_afspraak_gastheer gastheer"
+ " , ba.bez_afspraak_telefoonnr"
+ " , ba.bez_afspraak_datum"
+ " , ba.bez_afspraak_eind"
+ " , ba.bez_actie_key actie_key"
+ " , ba.bez_afspraak_ruimte"
+ " , ba.bez_afspraak_opmerking"
+ " , ba.alg_locatie_key locatie_key"
+ " , ba.alg_onrgoed_keys alg_onrg_key"
+ " , ba.bez_afspraak_host_key gastheer_key"
+ " , bez_afspraak_contact_key contact_key"
+ " ," + S("prs_pers_string") + " aanvrager"
+ " FROM bez_afspraak ba, prs_perslid p"
+ " WHERE ba.bez_afspraak_key = " + afspr_key
+ " AND p.prs_perslid_key = bez_afspraak_contact_key";
var sql = "SELECT ba.bez_afspraak_gastheer gastheer"
+ " , ba.bez_afspraak_telefoonnr"
+ " , ba.bez_afspraak_datum"
+ " , ba.bez_afspraak_eind"
+ " , ba.bez_actie_key actie_key"
+ " , ba.bez_afspraak_ruimte"
+ " , ba.bez_afspraak_opmerking"
+ " , ba.alg_locatie_key locatie_key"
+ " , ba.alg_onrgoed_keys alg_onrg_key"
+ " , ba.bez_afspraak_host_key gastheer_key"
+ " , bez_afspraak_contact_key contact_key"
+ " ," + S("prs_pers_string") + " aanvrager"
+ " FROM bez_afspraak ba, prs_perslid p"
+ " WHERE ba.bez_afspraak_key = " + afspr_key
+ " AND p.prs_perslid_key = bez_afspraak_contact_key";
oRs = Oracle.Execute(sql);
if (oRs.Eof)
shared.record_not_found("<!--" + afspr_key + "-->");
gastheer = oRs("gastheer").value;
contact_key = oRs("contact_key").value;
@@ -326,7 +337,9 @@ else
FCLTselector("actie",
sql,
{ label: L("lcl_action"),
initKey: actie_key
initKey: actie_key,
emptyOption: afspr_key < 0 && actie_key < 0? "" : null,
required: true
}
)
RWTEXTAREATR("remark", "fldtxt", L("lcl_vis_remark"), afspr_key == -1? "" : opm);

View File

@@ -280,6 +280,13 @@ if (S("vis_warning_limit") != -1)
}
}
// Klantspecifieke check functie (hookfunction) voor de invoer
var pResult = new HookResult();
if (!custfunc.bez_postsave(result.bezkeyArr, pResult))
{
abort_with_warning(pResult.errmsg);
}
var closeParams = { afspr_key: afspr_key,
bezkeyArr: result.bezkeyArr,
verynew: verynew == 1,

View File

@@ -105,6 +105,13 @@ if (isRes && appointmentisdeleted)
}
}
// Klantspecifieke check functie (hookfunction) voor de invoer
var pResult = new HookResult();
if (!custfunc.bez_postsave(result.bezkeyArr, pResult))
{
abort_with_warning(pResult.errmsg);
}
var closeParams = { afspraak_key: afspraak_key,
bezkeyArr: result.bezkeyArr,
warning: result.warning

View File

@@ -48,15 +48,19 @@ else
if (afspraak_key == -1) // deeplink met bezoeker ondersteunen
{ // vanuit Pacta of vanuit Outlook
var bez_naam_arr = getQParamArray("bez_naam", "");
var bez_naam_arr = getQParamArray("bez_naam", "", true); // De individuele QParams niet splitsen bij komma
var bez_bedrijf = getQParam("bez_bedrijf", ""); // wel allemaal hetzelfde bedrijf
for (var i=0; i < bez_naam_arr.length; i++)
var outlook_organizer = (getQParam("host_key", -1) == -1);
var start_index = ((getQParam("host_key", -1) == -1) ? 1 : 0); // host_key wordt alleen vanuit Pacta meegegeven.
// Als er geen host_key is, dan komen de namen in bez_naam_arr uit Outlook. De eerste in de lijst is de organisator.
// Die mag niet in de bezoekerslijst staan, want dat ben jezelf.
for (var i=start_index; i < bez_naam_arr.length; i++)
{
var result =
saveOneBezoeker(afspraak_key, rsv_ruimte_key, -1 /* volg */,
{ urole: urole, naam: bez_naam_arr[i], bedrijf: bez_bedrijf,
noValidateToken: true
});
});
afspraak_key = result.afspr_key;
}
}

View File

@@ -15,7 +15,7 @@
<!--#include file="../slnkdwf/Slnk2IMG.inc" -->
<%
FCLTHeader.Requires({ plugins: ["jQuery"],
js: ["jquery-ui.js", "./js/three.js", "./js/Detector.js", "./js/loaders/ColladaLoader.js"],
js: ["jquery-ui.js", "./js/three.js", "./js/Detector.js"],
css: []});
// Jos's PC WebGL kan maximaal 2048 in een richting aan
@@ -70,6 +70,8 @@
<script>
var gSLNKEvent;
var gCustomParameters; // wat er inhoudelijk getoond moet worden (verdieping, thema's etc)
var gimgurl;
var offsetX=<%=offsetX%>;
var offsetY=<%=offsetY%>;
var scale=<%=scl%>;
@@ -86,6 +88,8 @@ function SetCustomParameters(custParams)
function Refresh(actual)
{
document.removeEventListener( 'mousedown', onDocumentMouseDown, false ); // Even geen onclicks
init();
}
@@ -114,7 +118,9 @@ function zoom2DWG(centerX, centerY, newScale)
offsetY = Math.round((centerY - autoMaxY) * newScale + vpix/2);
scale = Math.round(1000.0 / currScale * newScale);
}
function noAutoResize()
{
}
if ( ! Detector.webgl ) Detector.addGetWebGLMessage();
var SCREEN_WIDTH = window.innerWidth;
@@ -134,6 +140,37 @@ function zoom2DWG(centerX, centerY, newScale)
allCast(elm.children[i]);
}
// http://stackoverflow.com/questions/15248872/dynamically-create-2d-text-in-three-js
var projector = new THREE.Projector();
// image XY to canvasXY to 3D
function toXYCoords (imgX, imgY)
{
var imgPos = new THREE.Vector3(imgX - hpix / 2, vpix / 2 - imgY, 10)
camera.lookAt( scene.position );
camera.rotation.z = <%= safe.jsfloat(rot) %>;
camera.updateMatrixWorld();
var vector = projector.projectVector(imgPos.clone(), camera);
vector.x = (vector.x + 1)/2 * window.innerWidth;
vector.y = -(vector.y - 1)/2 * window.innerHeight;
return vector;
}
// 3D to canvas XY to imageXY
function fromXYCoords (vector)
{ var projector = new THREE.Projector();
projector.unprojectVector( vector, camera );
var dir = vector.sub( camera.position ).normalize();
var distance = - camera.position.z / dir.z;
var pos = camera.position.clone().add( dir.multiplyScalar( distance ) );
//alert("Image pos.X=" + pos.x + " pos.Y=" + pos.y);
var imgX = pos.x + hpix / 2;
var imgY = vpix / 2 - pos.y;
return { x: imgX, y: imgY };
}
function init() {
container = document.createElement( 'div' );
@@ -151,7 +188,7 @@ function zoom2DWG(centerX, centerY, newScale)
// GROUND
// PAINTING
var imgurl = "../CAD/mySlnk2IMG.asp?labelPos=2" + gCustomParameters
gimgurl = "../CAD/mySlnk2IMG.asp?labelPos=2" + gCustomParameters
+ "&sizeX="+hpix+"&sizeY="+vpix + "&labelrot=<%=labelrot%>"
+ "&offsetX="+offsetX+"&offsetY="+offsetY+"&scale="+scale+"&paperColor=16777214";
@@ -173,22 +210,8 @@ function zoom2DWG(centerX, centerY, newScale)
//mesh.receiveShadow = true;
$.getJSON(imgurl + "&AsMap=1", { }, callbackWalls );
$.getJSON(gimgurl + "&AsMap=1", { }, callbackWalls );
}
// http://stackoverflow.com/questions/15248872/dynamically-create-2d-text-in-three-js
var projector = new THREE.Projector();
function toXYCoords (pos) {
camera.lookAt( scene.position );
camera.rotation.z = <%= safe.jsfloat(rot) %>;
camera.updateMatrixWorld();
var vector = projector.projectVector(pos.clone(), camera);
vector.x = (vector.x + 1)/2 * window.innerWidth;
vector.y = -(vector.y - 1)/2 * window.innerHeight;
return vector;
}
function drawBord(imgX, imgY, tekst)
{
//console.log("Bord: " + tekst+ " x=" + imgX + " y=" + imgY)
@@ -204,8 +227,7 @@ function zoom2DWG(centerX, centerY, newScale)
//text2.style.zIndex = 1; // if you still don't see the label, try uncommenting this
text2.innerHTML = tekst;
var imgPos = new THREE.Vector3(x0 - image.width / 2, image.height / 2 - y0, 10)
var pos = toXYCoords(imgPos);
var pos = toXYCoords(x0, y0);
// Eigenlijk willen we centreren maar ik weet de breedte van het bord niet.
text2.style.top = pos.y - 20 + "px";
text2.style.left = pos.x - 40 + "px";
@@ -226,7 +248,7 @@ function zoom2DWG(centerX, centerY, newScale)
//img.style.zIndex = 1; // if you still don't see the label, try uncommenting this
var imgPos = new THREE.Vector3(imgX - image.width / 2, image.height / 2 - imgY, 10)
var pos = toXYCoords(imgPos);
var pos = toXYCoords(imgX, imgY);
// Eigenlijk willen we centreren maar ik weet de grootte van het symbool niet.
img.style.top = pos.y + "px";
img.style.left = pos.x + "px";
@@ -305,16 +327,16 @@ function zoom2DWG(centerX, centerY, newScale)
}
// Werkplekken
var loader = new THREE.ColladaLoader();
// var loader = new THREE.ColladaLoader();
loader.load('./models/Desk.dae.txt', function (result)
{
var werkplekSymbol = result.scene;
allCast(werkplekSymbol);
// loader.load('./models/Desk.dae.txt', function (result)
// {
// var werkplekSymbol = result.scene;
// allCast(werkplekSymbol);
//alert(werkplekSymbol.scale.x); // default is 0.0254 ?
werkplekSymbol.scale.set(25.4 / gSLNKEvent.scaleX , 25.4 / gSLNKEvent.scaleX, 25.4 / gSLNKEvent.scaleX);
werkplekSymbol.rotation.set(0, 0, Math.PI / 4);
// werkplekSymbol.scale.set(25.4 / gSLNKEvent.scaleX , 25.4 / gSLNKEvent.scaleX, 25.4 / gSLNKEvent.scaleX);
// werkplekSymbol.rotation.set(0, 0, Math.PI / 4);
//var mat = new THREE.MeshLambertMaterial( { map: modelTex });
// Coordinaten werkplekken
@@ -394,7 +416,7 @@ function zoom2DWG(centerX, centerY, newScale)
render(); // Alles klaar, renderen!!!
});
});
// });
// Lights
@@ -411,7 +433,7 @@ function zoom2DWG(centerX, centerY, newScale)
};
// Hier begint de echte init() code
var png = imgurl;
var png = gimgurl;
var TIMU = THREE.ImageUtils;
TIMU.crossOrigin = null; // Anders wordt voor de IMG-request geen ASP-session meegestuurd
// door Chrome en is het plaatje direct 'expired'
@@ -428,7 +450,6 @@ function zoom2DWG(centerX, centerY, newScale)
container.appendChild( renderer.domElement );
document.addEventListener( 'mousemove', onDocumentMouseMove, false );
document.addEventListener( 'mousedown', onDocumentMouseDown, false );
$(document).on( "mousewheel DOMMouseScroll", function(e){
e.preventDefault();
var delta = e.originalEvent.wheelDelta;
@@ -454,14 +475,25 @@ function zoom2DWG(centerX, centerY, newScale)
}
}
function callbackClicked(data)
{
//alert(data.ContourLabel);
data.Param = "onclick";
parent.MMap_onClick(data);
}
function onDocumentMouseDown( event ) {
event.preventDefault();
var vector = new THREE.Vector3( ( event.clientX / window.innerWidth ) * 2 - 1, - ( event.clientY / window.innerHeight ) * 2 + 1, 0.5 );
//alert("Geklikt X=" + event.clientX + " Y=" + event.clientY);
//alert("Geklikt X=" + vector.x + " Y=" + vector.y);
var xy = fromXYCoords(vector)
var imgX = xy.x;
var imgY = xy.y;
//alert("Image imgX=" + imgX + " imgX=" + imgY);
$.getJSON(gimgurl + "&AsFND=1&findX=" + imgX + "&findY=" + imgY, callbackClicked );
}
function render() {
@@ -471,6 +503,8 @@ function zoom2DWG(centerX, centerY, newScale)
renderer.render( scene, camera );
// Onderstaande niet te vroeg doen, anders kloppen de coordinaten bij onclick mogelijk niet goed
document.addEventListener( 'mousedown', onDocumentMouseDown, false );
}
// Dee moet eigenlijk naar ToonIMG.js

View File

@@ -223,7 +223,11 @@ if (fac_usrrap_key > -1)
function MMap_onClick(SlnkEvent)
{
// TODO: Doorgeven aan refresher.asp dat hij even geen reload moet doen resetReload();
// Voorkom dat de popup verdwijnt door de reload. Laat wel een timeout staan zodat
// het scherm uiteindelijk zich wel ververst als iemand wegloopt met open popup
if (parent.resetReload)
parent.resetReload();
switch (SlnkEvent.Param)
{
case "onclick":
@@ -237,8 +241,7 @@ if (fac_usrrap_key > -1)
var intKey = parseInt(SlnkEvent.Key.substring(2),10);
window.ins_key = intKey; // onthouden
window.alg_ruimte_key = -1
myRefresh();
var url = "../pda/reserveringen.asp?qrc=1&ins_key=" + intKey;
var url = "../pda/reserveringen.asp?qrc=1&modal=1&ins_key=" + intKey;
// alwaysCall zetten lijkt niet genoeg: die reageert niet op het kruisje? alwaysCallbackParams: {} werkt wel
MMap.noAutoResize(true); // rustiger
FcltMgr.openModalDetail(url, "", { callback: callback_reserved, alwaysCallbackParams: {}, xnoClose: true });
@@ -250,8 +253,7 @@ if (fac_usrrap_key > -1)
var alg_ruimte_key = SlnkEvent.Key;
window.ins_key = -1;
window.alg_ruimte_key = alg_ruimte_key; // onthouden
myRefresh();
var url = "../pda/reserveringen.asp?qrc=1&alg_ruimte_key=" + alg_ruimte_key;
var url = "../pda/reserveringen.asp?qrc=1&modal=1&alg_ruimte_key=" + alg_ruimte_key;
MMap.noAutoResize(true); // rustiger
FcltMgr.openModalDetail(url, "", { callback: callback_reserved, alwaysCallbackParams: {}, xnoClose: true });
MMap.noAutoResize(false);
@@ -289,6 +291,7 @@ if (fac_usrrap_key > -1)
var /*global*/ resizeTimerID=null;
function init()
{
// IE11? window.MMap = document.getElementById("MMap");
resizeIframes();
resetMap();
myRefresh();

View File

@@ -33,7 +33,7 @@ sql = "SELECT " + lcl.xsqla('isg.ins_srtgroep_omschrijving', 'isg.ins_srtgroep_k
+ " AND ins_srtdeel_acadsymbol IS NOT NULL"
+ " AND isg.ins_discipline_key IN (" + pDiscs_arr.join(",") + ")"
+ " AND idd.ins_discipline_key = isg.ins_discipline_key"
+ " AND fac_functie_code = '" + (scenario_key <= 0? 'WEB_INSMAN' : 'WEB_INSPRJ') + "'"
+ " AND fac_functie_code = " + safe.quoted_sql(scenario_key <= 0? 'WEB_INSMAN' : 'WEB_INSPRJ')
+ " AND fac_gebruiker_alg_level_write < 9"
+ " AND ins_srtdeel_verwijder IS NULL"
+ " ORDER BY UPPER(" + lcl.xsql('isg.ins_srtgroep_omschrijving', 'isg.ins_srtgroep_key') + "), UPPER(" + lcl.xsql('isd.ins_srtdeel_omschrijving', 'isd.ins_srtdeel_key') + ")";

View File

@@ -39,7 +39,7 @@ function canWriteInsDeel(deel_key, vKey, scenario_key)
+ " WHERE w.ins_discipline_key = " + disc_key
+ " AND w.fac_functie_key = f.fac_functie_key "
+ " AND w.prs_perslid_key = " + user_key
+ " AND fac_functie_code = '" + (scenario_key <= 0? 'WEB_INSMAN' : 'WEB_INSPRJ') + "'";
+ " AND fac_functie_code = " + safe.quoted_sql(scenario_key <= 0? 'WEB_INSMAN' : 'WEB_INSPRJ');
var oRs = Oracle.Execute(sql);
if (oRs.eof)
return false; // Geen rechten

View File

@@ -26,7 +26,7 @@ var showall = getQParamInt("showall", 0) == 1;
var loc_key = getQParamInt("locatiekey", -1); // Locatie
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
var flr_key = getQParamInt("verdiepingkey", -1); // verdieping
var bttype = getQParam("bttype", "");
var bttype = getQParamSafe("bttype", "");
var concept = getQParamInt("concept", 0) == 1;

View File

@@ -129,7 +129,10 @@ xd = new ActiveXObject("SLNKDWF.DWFFile");
xd.Open(fullnameDWF)
xc = new ActiveXObject("SLNKDWF.Whip2PNG")
xc.LoadStream(xd.EplotSections.Item(0))
if (xd.EplotSections.Count == 0)
xc.Load(fullnameDWF);
else
xc.LoadStream(xd.EplotSections.Item(0));
//xc.Maximize=true
//xc.dwgScale=10
xc.SetDimensions(1200,800, 0, 0, 1, 180)
@@ -140,14 +143,17 @@ var layers = [];
for (i = 0; i < xc.layercount; i++)
layers[xc.LayerItem(i)] = 1;
function analyze(stream, contlayer, labellayer)
function analyze(contlayer, labellayer)
{
var y = new ActiveXObject("SLNKDWF.WhipFile")
var opt = new ActiveXObject("SLNKDWF.Options")
opt.SetOption("MINCONTSIZE", 4e6) // 1 vierkante meter
y.SetLayers("^"+contlayer.replace(/\|/g,"\\|")+"$", "^"+ labellayer.replace(/\|/g,"\\|")+"$")
y.LoadStream(xd.EplotSections.Item(0))
if (xd.EplotSections.Count == 0)
y.Load(fullnameDWF);
else
y.LoadStream(xd.EplotSections.Item(0));
var result = { nCont: y.ContourCount,
Labels: [],
@@ -203,7 +209,7 @@ Response.Write("<tr><th>fg_contlayer</th><th>#cont</th><th>fg_labellayer</th><th
var lastcont="";
for (contlayer in layers)
{
var res = analyze(xd.EplotSections.Item(0), contlayer, ".*")
var res = analyze(contlayer, ".*")
if (res.nCont)
{
contlayers.push({ l: contlayer, n: res.nCont});
@@ -212,7 +218,7 @@ for (contlayer in layers)
}
for (labellayer in layers)
{
var res = analyze(xd.EplotSections.Item(0), ".*", labellayer, ".*")
var res = analyze(".*", labellayer, ".*")
if (res.Labels.length)
{
labellayers.push({ l: labellayer, n: res.Labels.length});
@@ -228,7 +234,7 @@ for (contlayer in contlayers)
for (labellayer in labellayers)
{
ll = labellayers[labellayer];
var res = analyze(xd.EplotSections.Item(0), cl.l, ll.l)
var res = analyze(cl.l, ll.l)
if (res.Labels.length)
{
Response.Write("<tr><td class='lcont'>"+(lastcont==cl.l?"":cl.l) + "</td>"

View File

@@ -51,7 +51,7 @@ function myContourProcessor(cHandle)
cHandle.SetFilterLayers("{SLNK Labels}|{SLNK Contours}|" + llt);
//cHandle.SetFilterLayers("{A--LSE--_ruimte element}");
Response.AddHeader("jgl", llt);
// Response.AddHeader("jgl", llt);
//cHandle.SetColor("", S("fg_contourColor"), S("S("fg_contourAlpha")")); // Alle herkende ruimtes initieel transparant
//cHandle.SetColor("", 0x00FF00, 32); // Alle herkende ruimtes initieel transparant

View File

@@ -197,7 +197,7 @@ if (scenario_key != 0)
if (floor_key > 0)
{
MMap.SetCustomParameters(getCustomParameters())
MMap.Refresh(); // Try not to zoom extents
MMap.Refresh(false, true); // Try not to zoom extents, wel force
<% if (concept)
{ %>
MMap2.SetCustomParameters(getCustomParameters() + "&concept=1")
@@ -218,7 +218,7 @@ if (scenario_key != 0)
if (loc_key)
{
MMap.SetCustomParameters(getCustomParameters())
MMap.Refresh(false); // Try not to zoom extents
MMap.Refresh(false, true); // Try not to zoom extents, wel force
showReport(null);
}
else
@@ -644,16 +644,6 @@ if (scenario_key != 0)
<% } %>
}
// Toon de locatie foto's in een popupje
function openLocFoto()
{
var loc_key = $("#locatiekey").val();
if (loc_key >= 0)
{
FcltMgr.openDetail("appl/shared/show_foto.asp?root_path=<%=custpath%>/location_images/&loc_key=" + loc_key, "<%=L("lcl_photos")%>");
}
}
// Toon de locatie mbv Google Maps
function openLocGMaps()
{

View File

@@ -20,7 +20,7 @@
<!--#include file='../CAD/symbols.inc'-->
<!--#include file="../Shared/WPFunctions.inc" -->
<%
var SLNKSymbolkey = getQParam("pSymbolkey", ""); // pSymbolkey is defined SLNKDWF
var SLNKSymbolname = getQParam("pSymbolkey", ""); // pSymbolkey kan nog tekst bevatten
var vKey = getQParamInt("vKey");
var scenario_key = getQParamInt("scenario_key"); // current scenario of 0 for actual.
var pRot = getQParamInt("rotation",0);
@@ -30,9 +30,9 @@
function myContourProcessor(cHandle)
{
if (SLNKSymbolkey.match(/^I:/) || SLNKSymbolkey.match(/^P:/)) // Ins_deel of PRJ_DEEL
if (SLNKSymbolname.match(/^I:/) || SLNKSymbolname.match(/^P:/)) // Ins_deel of PRJ_DEEL
{
SLNKSymbolkey = parseInt(SLNKSymbolkey.substring(2));
var SLNKSymbolkey = parseInt(SLNKSymbolname.substring(2));
if (!canWriteInsDeel(SLNKSymbolkey, vKey, scenario_key))
{
new SLNKDWF({maximize : true}).Warning(L("lcl_fg_obj_noedit"));
@@ -57,9 +57,10 @@ function myContourProcessor(cHandle)
var scl = oRs("scl").value!=null?oRs("scl"):1.0;
var rot = oRs("rot").value;
}
else if (SLNKSymbolkey.match(/^IW:/)) // werkplek gebonden Ins_deel
else if (SLNKSymbolname.match(/^IW:/)) // werkplek gebonden Ins_deel
{
SLNKSymbolkey = SLNKSymbolkey.substring(3);
var SLNKSymbolkey = parseInt(SLNKSymbolname.substring(3));
if (!canWriteInsDeel(SLNKSymbolkey, vKey, scenario_key))
{
new SLNKDWF({maximize : true}).Warning(L("lcl_fg_obj_noedit"));
@@ -92,9 +93,10 @@ function myContourProcessor(cHandle)
var scl = oRs("scl").value!=null?oRs("scl"):1.0;
var rot = wRot;
}
else if (SLNKSymbolkey.match(/^W:/)) // Werkplek
else if (SLNKSymbolname.match(/^W:/)) // Werkplek
{
SLNKSymbolkey = SLNKSymbolkey.substring(2);
SLNKSymbolkey = parseInt(SLNKSymbolname.substring(2));
if (scenario_key==0&&!WPCanWrite(vKey))
{
new SLNKDWF({maximize : true}).Warning(L("lcl_fg_obj_noedit"));

View File

@@ -16,7 +16,7 @@
<%
var discs = getQParamIntArray("discs", []);
var highlight_arr = getQParamIntArray("highlight", []); // Comma-separated room_key_list (terrains). Optional
var floorKey = getQParamInt("vKey", "");
var floorKey = getQParamInt("vKey", -1);
var outputmode = getQParamInt("outputmode", 0);
var showall = getQParamInt("showall", 0) == 1;
@@ -30,7 +30,7 @@ if (dwfPath)
// ==========================
//
// ==========================
if (floorKey !="" && discs != "")
if (floorKey > 0 && discs.length)
{
var sql = "SELECT ins_deel_key, ins_deel_omschrijving, ins_deel_dwgX, ins_deel_dwgY, "
+ " alg_ruimte_nr, cadlabel, " + lcl.xsqla('isd.ins_srtdeel_omschrijving', 'isd.ins_srtdeel_key')

View File

@@ -8,7 +8,7 @@
*/ %>
<%
DOCTYPE_Disable = 1;
JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../../appl/shared/json2.js" -->
@@ -18,7 +18,7 @@ var autfunction = "WEB_USRRAP";
var authparams = user.checkAutorisation(autfunction);
var cak_periode = getQParam("cak_periode");
var message = "U heeft periode " + cak_periode + " gezet";
var message = "U heeft periode " + safe.html(cak_periode) + " gezet";
if (cak_periode != "")
{
sql = " UPDATE fac_usrdata "

View File

@@ -57,11 +57,11 @@ cnt = { setcontractstatus:
var functie_code;
if (kosten <= S("cnt_contract_limit1")) // Dit eerst testen i.v.m. Ter goedkeuring. Verder moet sowieso goedgekeurd worden.
return []; // Het bedrag is lager als de eerste limiet. Het contract hoeft niet goed gekeurd te worden, dus een lege fiatteurs array teruggeven.
else if ((S("cnt_approval_all") == 0 && approved < S("cnt_contract_limit1")) || (S("cnt_approval_all") == 1 && kosten <= S("cnt_contract_limit2")))
else if ((S("cnt_approval_all") == 0 && approved <= S("cnt_contract_limit1")) || (S("cnt_approval_all") == 1 && kosten <= S("cnt_contract_limit2")))
functie_code = "WEB_CNTGO1";
else if ((S("cnt_approval_all") == 0 && approved < S("cnt_contract_limit2")) || (S("cnt_approval_all") == 1 && kosten <= S("cnt_contract_limit3")))
else if ((S("cnt_approval_all") == 0 && approved <= S("cnt_contract_limit2")) || (S("cnt_approval_all") == 1 && kosten <= S("cnt_contract_limit3")))
functie_code = "WEB_CNTGO2";
else if ((S("cnt_approval_all") == 0 && approved < S("cnt_contract_limit3")) || (S("cnt_approval_all") == 1 && kosten > S("cnt_contract_limit3")))
else if ((S("cnt_approval_all") == 0 && approved <= S("cnt_contract_limit3")) || (S("cnt_approval_all") == 1 && kosten > S("cnt_contract_limit3")))
functie_code = "WEB_CNTGO3";
else return []; // Het goedgekeurde bedrag zit al boven de derde limiet. Geen approval meer nodig.
@@ -70,7 +70,7 @@ cnt = { setcontractstatus:
+ " FROM fac_functie f"
+ " , fac_v_webgebruiker g"
+ " WHERE f.fac_functie_key = g.fac_functie_key"
+ " AND f.fac_functie_code LIKE '" + functie_code + "'";
+ " AND f.fac_functie_code = " + safe.quoted_sql(functie_code);
oRs = Oracle.Execute(sql);
while(!oRs.eof)
{
@@ -216,6 +216,8 @@ cnt = { setcontractstatus:
+ " , cc.cnt_contract_looptijd_tot"
+ " , cc.prs_contactpersoon_key"
+ " , cc.cnt_contract_verwijder"
+ " , cc.cnt_contract_locked_user_key"
+ " , cc.cnt_contract_locked_date"
+ " , cc.bes_bestelopdr_key"
+ " , cc.cnt_contract_opzegtermijn"
+ " , (SELECT " + lcl.xsqla('cnt_termijn_omschrijving', 'cnt_termijn_key')
@@ -296,6 +298,8 @@ cnt = { setcontractstatus:
looptijd_tot: new Date(oRs("cnt_contract_looptijd_tot").Value),
contactpersoon_key: oRs("prs_contactpersoon_key").Value,
verwijderdatum: oRs("cnt_contract_verwijder").Value,
locked_user_key: oRs("cnt_contract_locked_user_key").value,
locked_date: new Date(oRs("cnt_contract_locked_date").value),
bestelopdr_key: oRs("bes_bestelopdr_key").Value,
opzegtermijn: oRs("cnt_contract_opzegtermijn").Value,
opzegtermijn_oms: oRs("opzegtermijn_oms").Value,
@@ -328,6 +332,18 @@ cnt = { setcontractstatus:
isAbonnement: oRs("bes_disc_params_contract").Value == 1
};
oRs.Close()
if (result.locked_user_key)
{
var expire = new Date;
expire.setMinutes(expire.getMinutes() - S("mld_locked_expire"));
if (result.locked_date < expire)
{ // In de database laten we het lock gewoon staan ter analyse achteraf welke locks niet worden vrijgegeven.
result.locked_user_key = null;
result.locked_date = null;
}
}
return result;
},
@@ -375,14 +391,15 @@ cnt = { setcontractstatus:
cnt_info.approved <= S("cnt_contract_limit1"); // Welke goedkeur? 1, 2 of 3?
cresult.canGoedkeur2 = cresult.canWrite("WEB_CNTGO2") &&
terGoedkeuring &&
((S("cnt_approval_all") == 0 && cnt_info.kosten >= S("cnt_contract_limit2")) ||
(S("cnt_approval_all") == 1 && cnt_info.kosten <= S("cnt_contract_limit3"))) &&
cnt_info.approved <= S("cnt_contract_limit2");
// Setting cnt_approval_all is
// 0: Het approved bedrag is eigen bestellimiet of vorige goedkeur niveau rechten heb ik al (dan direct niveau hoger)
// 1: Het approved bedrag is kleiner of gelijk aan eigen bestellimiet
((S("cnt_approval_all") == 0 && cnt_info.kosten >= S("cnt_contract_limit2") && (cnt_info.approved == S("cnt_contract_limit2") || cresult.canGoedkeur1)) ||
(S("cnt_approval_all") == 1 && cnt_info.kosten <= S("cnt_contract_limit3") && cnt_info.approved <= S("cnt_contract_limit2")));
cresult.canGoedkeur3 = cresult.canWrite("WEB_CNTGO3") &&
terGoedkeuring &&
((S("cnt_approval_all") == 0 && cnt_info.kosten >= S("cnt_contract_limit3")) ||
(S("cnt_approval_all") == 1 && cnt_info.kosten > S("cnt_contract_limit3"))) &&
cnt_info.approved <= S("cnt_contract_limit3") &&
((S("cnt_approval_all") == 0 && cnt_info.kosten >= S("cnt_contract_limit3") && (cnt_info.approved == S("cnt_contract_limit3") || cresult.canGoedkeur2)) ||
(S("cnt_approval_all") == 1 && cnt_info.kosten > S("cnt_contract_limit3") && cnt_info.approved <= S("cnt_contract_limit3"))) &&
cnt_info.kosten > cnt_info.approved;
cresult.forApproval = nieuw && cresult.canUSEwrite;
cresult.canReject = cresult.canGoedkeur1 || cresult.canGoedkeur2 || cresult.canGoedkeur3;
@@ -491,7 +508,27 @@ cnt = { setcontractstatus:
result.writeuse = xfunc.canWrite("WEB_CNTUSE");
return result;
},
lock: function (cnt_key)
{
var sql = "UPDATE cnt_contract"
+ " SET cnt_contract_locked_user_key = " + user_key
+ " , cnt_contract_locked_date = SYSDATE"
+ " WHERE cnt_contract_key = " + cnt_key;
Oracle.Execute(sql);
},
unlock: function (cnt_key)
{
var sql = "UPDATE cnt_contract"
+ " SET cnt_contract_locked_user_key = NULL"
+ " , cnt_contract_locked_date = SYSDATE"
+ " WHERE cnt_contract_key = " + cnt_key
+ " AND cnt_contract_locked_user_key = " + user_key; // Alleen als we zelf het lock hadden
Oracle.Execute(sql);
}
}
%>

View File

@@ -123,8 +123,11 @@ if (cnt_key > 0) {
// Give the user a list and let him select a srtdiscipline.
mySRTsql = "SELECT cs.ins_discipline_key"
+ " , "+ lcl.xsqla('cs.ins_discipline_omschrijving','cs.ins_discipline_key')
+ " , "+ lcl.xsqla('dp.cnt_disc_params_opmerking','dp.cnt_ins_discipline_key')
+ " FROM cnt_discipline cs"
+ " WHERE cs.ins_discipline_verwijder IS NULL"
+ " , cnt_disc_params dp"
+ " WHERE cs.ins_discipline_key = dp.cnt_ins_discipline_key"
+ " AND cs.ins_discipline_verwijder IS NULL"
+ " AND cs.ins_discipline_key IN"
+ " (SELECT ins_discipline_key"
+ " FROM fac_v_webgebruiker g"
@@ -139,10 +142,11 @@ if (cnt_key > 0) {
oRs = Oracle.Execute(mySRTsql);
while (!oRs.eof)
{
srtdisc = oRs("ins_discipline_key").value;
buttons.push({ title: oRs("ins_discipline_omschrijving").value,
srtdisc = oRs("ins_discipline_key").Value;
buttons.push({ title: oRs("ins_discipline_omschrijving").Value,
action: "srtdisc=" + srtdisc + ";$('div#dmodal').dialog('close').remove();",
showText: false
showText: false,
tooltip: oRs("cnt_disc_params_opmerking").Value
});
oRs.MoveNext();
}

View File

@@ -35,6 +35,12 @@ if (cnt_key > -1)
var cnt_info = cnt.cnt_contract_info(cnt_key); // nog heel beperkt
var this_cnt = cnt.func_enabled_contract(cnt_key, cnt_info); // Wat heb ik zoal aan rechten op dit contract?
user.auth_required_or_abort(this_cnt.canChange);
if (!cnt_info.locked_user_key || cnt_info.locked_user_key == user_key)
{
cnt.lock(cnt_key);
cnt_info.locked_user_key = user_key;
}
}
else // nieuw contract
{
@@ -52,21 +58,23 @@ else // nieuw contract
var sql = "SELECT dp.cnt_srtcontract_type,"
+ lcl.xsqla('cs.ins_discipline_omschrijving','cs.ins_discipline_key')
+", (SELECT prs_kostensoort_oms || '-' || " + lcl.xsqla('prs_kostensoort_opmerking', 'prs_kostensoort_key')
+ " FROM prs_kostensoort"
+ " WHERE prs_kostensoort_key = cs.prs_kostensoort_key) kostensoort_naam"
+ " FROM cnt_disc_params dp,"
+ " cnt_discipline cs"
+ " WHERE dp.cnt_ins_discipline_key = " + l_cnt_srt
+ " AND cs.ins_discipline_key = " + l_cnt_srt;
var oRs = Oracle.Execute( sql );
var cnt_type = oRs("cnt_srtcontract_type").value;
var ins_discoms = oRs("ins_discipline_omschrijving").value;
oRs.close();
var this_cnt = {canChangeKosten: true,
canChangeAlg: true,
isAbonnement: false};
var cnt_info = {contract_status: S("cnt_contract_approval") == 1? 2 : 0,
srtcontract_type: cnt_type,
discipline_omschrijving: ins_discoms,
discipline_key: l_cnt_srt};
srtcontract_type: oRs("cnt_srtcontract_type").value,
discipline_omschrijving: oRs("ins_discipline_omschrijving").value,
discipline_key: l_cnt_srt,
kostensoort_naam: oRs("kostensoort_naam").Value};
oRs.close();
}
%>
<html>
@@ -93,16 +101,42 @@ else // nieuw contract
FcltMgr.closeDetail(window, { cancel: true } );
}
// Meestal unlocken we gewoon in showmode die er achteraan komt
// maar soms wordt het tabblad daarvoor al gesloten. Dan komen
// we hier langs.
function onCloseHot()
{
var data = { cnt_key: <%=cnt_key%> };
<% protectRequest.dataToken("data"); %>
jQuery.ajaxSetup({async: false}); // Anders faalt o.a. bij IE9 de $.post bij afsluiten
$.post("cnt_unlock.asp",
data,
FcltCallback,
"json");
}
</script>
</head>
<body id="editbody">
<%
var buttons = [];
buttons.push({title: L("lcl_submit"), action:"cnt_submit()", icon: "opslaan.png"});
if (!cnt_info.locked_user_key || cnt_info.locked_user_key == user_key)
buttons.push({title: L("lcl_submit"), action:"cnt_submit()", icon: "opslaan.png"});
buttons.push({title: L("lcl_cancel"), action:"cnt_cancel()", icon: "undo.png" });
IFRAMER_HEADER(L("lcl_cnt_frame_algemeen"), buttons);
if (cnt_info.locked_user_key && cnt_info.locked_user_key != user_key)
{
var other = new Perslid(cnt_info.locked_user_key);
%>
<script type="text/javascript">
jQuery(document).ready(function()
{
FcltMgr.closeDetail(window, {cancel: true});
});
</script>
<% Response.End;
}
if (cnt_info.contract_status == 1)
{
%> <div class="cnt_inactive"><%=L("lcl_cnt_is_inactive")%></div><%
@@ -331,11 +365,14 @@ else // nieuw contract
if (cnt_info.isAbonnement || !this_cnt.canChangeAlg)
ROFIELDTR ("fldkp", L("lcl_cnt_kostensoort"), cnt_info.kostensoort_naam, {suppressEmpty: true});
else
{
ROFIELDTR ("fldkp", L("lcl_cnt_kostensoort_standaard"), cnt_info.kostensoort_naam, {suppressEmpty: true});
FCLTkostensoortselector("prs_kstsrtkey",
"prs_kstsrtkey",
{ kostensoortKey: cnt_info.prs_kostensoort_key,
label: L("lcl_cnt_kostensoort")
label: L("lcl_cnt_kostensoort_specifiek")
});
}
RWFIELDTR("cnt_cntkstn", "fld", L("lcl_cnt_contract_sum") + " " + S("currency_pref"),
safe.curreditable(cnt_info.kosten),

View File

@@ -174,6 +174,8 @@ if (!warning)
// Als de contractkosten aangepast zijn wordt nooit opnieuw gefiatteerd. Dan moet er een nieuw contract worden afgesplitst.
// Tijdens het opslaan veranderd nooit de status in Ter goedkeuring. Dus geen cnt.sendNeedApprovalNotifications(..,..).
}
cnt.unlock(cnt_key);
%>
<html>
<head>

View File

@@ -250,8 +250,7 @@ var cnt_srtcontract_type = oRs("cnt_srtcontract_type").value;
+ " WHEN 'G'"
+ " THEN gg.alg_locatie_omschrijving ||"
+ " ' (' ||"
+ " gg.alg_locatie_code || ' - ' || "
+ " gg.alg_gebouw_code || ')'"
+ " gg.alg_gebouw_omschrijving || ')'"
+ " WHEN 'T'"
+ " THEN lo2.alg_locatie_omschrijving ||"
+ " ' (' ||"

View File

@@ -441,7 +441,7 @@ function checkWeight(evt)
var obj = evt.srcElement || evt.target;
var ival = parseInt(obj.value,10);
var retVal = false;
if (( !isNaN(ival) && ival >= 0 && ival < 1000000000) || obj.value =="")
if (( !isNaN(ival) && Math.abs(ival) < 1000000000) || obj.value =="")
retVal = true;
if ( !retVal )
{

View File

@@ -51,7 +51,14 @@ for (var i = 0; i < ingesloten.length; i++)
result.message = cnt.sendNeedApprovalNotifications(ingesloten[i], approver_arr);
}
else // Geen fiatteur, dan direct goedkeuren en naar status Actief(0).
{
sql = "UPDATE cnt_contract"
+ " SET cnt_contract_teverzenden = 1"
+ " WHERE cnt_contract_key = " + ingesloten[i];
oRs = Oracle.Execute(sql);
cnt.setcontractstatus(ingesloten[i], 0); // Zorgt ook voor tracking en daarmee notificatie.
}
result.success = true;
}
if (multi) // Dan een algemener bericht geven.

View File

@@ -154,6 +154,7 @@ function cnt_list (pautfunction, params)
sql = "SELECT c.cnt_contract_nummer"
+ " , c.cnt_contract_versie"
+ " , c.cnt_contract_omschrijving"
+ " , c.cnt_contract_document"
+ " , COALESCE(b.prs_bedrijf_naam, afd2.prs_afdeling_naam) uitvoerder"
+ " , " + S("prs_dep_string") + " eigenaar"
+ " , c.cnt_contract_looptijd_van begindatum"
@@ -585,9 +586,13 @@ function cnt_list (pautfunction, params)
}
function fnrowActionEnabler(oRs)
{
var this_cnt = cnt.func_enabled_contract(oRs("cnt_contract_key").Value);
var eForApproval = this_cnt.forApproval; // Ter goedkeuring
var data = { eForApproval: eForApproval };
var data = {};
// status 2 is 'ter goedkeuring'
if (S("cnt_contract_approval") == 1 && oRs("cnt_contract_status").Value == 2) // Voorkennis. Voorkom dure cnt.func_enabled_contract
{
var this_cnt = cnt.func_enabled_contract(oRs("cnt_contract_key").Value);
data.eForApproval = this_cnt.forApproval; // Ter goedkeuring
}
return data;
}
@@ -665,6 +670,10 @@ function cnt_list (pautfunction, params)
}
rst.addColumn(new Column({caption: L("lcl_cnt_contractnr"), content: "cnt_contract_nummer"}));
rst.addColumn(new Column({caption: L("lcl_cnt_beschrijv"), content: "cnt_contract_omschrijving"}));
if (outputmode != 0)
{
rst.addColumn(new Column({caption: L("lcl_cnt_document"), content: "cnt_contract_document"}));
}
rst.addColumn(new Column({caption: L("lcl_cnt_contractant"), content: "uitvoerder"}));
rst.addColumn(new Column({caption: L("lcl_cnt_owner"), content: "eigenaar"}));
rst.addColumn(new Column({caption: L("lcl_cnt_status"), content: fncolStatus}));
@@ -676,10 +685,13 @@ function cnt_list (pautfunction, params)
}
rst.addColumn(new Column({caption: L("lcl_cnt_enddate"), content: "einddatum"}));
if (outputmode != 0)
{
rst.addColumn(new Column({caption: L("lcl_cnt_contract_sum") + " " + "(" + S("currency_pref") + ")", content: "cnt_contract_kosten", datatype: "currency"}));
}
rst.addAction({ action: "cntEdit", caption: L("lcl_edit"), isDefault: true });
rst.addAction({ action: "cntForApproval", caption: L("lcl_cnt_forapproval"), enabler:"eForApproval", multi: true, multiOnce: true });
if (S("cnt_contract_approval") == 1)
rst.addAction({ action: "cntForApproval", caption: L("lcl_cnt_forapproval"), enabler:"eForApproval", multi: true, multiOnce: true });
// PF: ik vermoed dat de opdrachten -action niet meer nodig is, ik denk aan een opdrachten-frame in het contractdetail (cnt_contract.asp)
//rst.addAction({ action: "cntOrders", caption: L("lcl_cnt_order"), enabler: "eOrder"});
// TODO: IK mis hier nog opdrachten algemeen zonder dat contract_key automatisch wordt ingevuld. Is niet afhankelijk van de geselecteerde regel

View File

@@ -68,12 +68,22 @@ else
var cntInact = getFParamInt("cntInact", 0) == 1; // Status Inactief(1)
var cntNew = getFParamInt("cntNew", 0) == 1; // Status Nieuw(2)
var cntTgoe = getFParamInt("cntTgoe", 0) == 1; // Status Ter goedkeuring(3)
var cntFFutu = getFParamInt("cntFFutu", 0) == 1; // Fase Toekomstig binnen status actief
var cntFAct = getFParamInt("cntFAct", 0) == 1; // Fase Actueel binnen status actief
var cntFRap = getFParamInt("cntFRap", 0) == 1; // Fase Rappel binnen status actief
var cntFOpz = getFParamInt("cntFOpz", 0) == 1; // Fase In opzegtermijn binnen status actief
var cntFVerl = getFParamInt("cntFVerl", 0) == 1; // Fase Verlopen binnen status actief
if (!cntAct && !cntInact && !cntNew && !cntTgoe)
{
// geen parameters voor status, dan defaults zetten (voor gebruikt vanuit ins_show_deel).
cntAct = true;
cntInact = false;
cntNew = true;
cntTgoe = true;
}
params.cntsrt_key = (cntsrt_key != -1? cntsrt_key : null);
params.dienst_key = (dienst_key != -1? dienst_key : null);
params.uitvoerder_key = (uitvoerder_key != -1? uitvoerder_key : null);

View File

@@ -24,6 +24,9 @@ var cnt_key = getQParamInt("cnt_key");
var cnt_info = cnt.cnt_contract_info(cnt_key); // Nog heel beperkt
var this_cnt = cnt.func_enabled_contract(cnt_key, cnt_info); // Wat heb ik zoal aan rechten op dit contract?
user.auth_required_or_abort(this_cnt.canReadAny); // Heb ik enige lees rechten op dit contract?
if (cnt_info.locked_user_key == user_key)
cnt.unlock(cnt_key);
%>
<html>
<head>
@@ -143,7 +146,8 @@ user.auth_required_or_abort(this_cnt.canReadAny); // Heb ik enige lees rechten o
</head>
<body id="showbody">
<% var buttons = [];
if (cnt_info.verwijderdatum == null)
var isLocked = (cnt_info.locked_user_key && cnt_info.locked_user_key != user_key);
if (cnt_info.verwijderdatum == null && !isLocked)
{
if (this_cnt.canChange)
buttons.push({title: L("lcl_change"), icon: "wijzigen.png", action:"cnt_change()" });
@@ -173,6 +177,17 @@ user.auth_required_or_abort(this_cnt.canReadAny); // Heb ik enige lees rechten o
buttons.push({ icon: "print.png", title: L("lcl_print"), action: 'cnt_print()' });
IFRAMER_HEADER(L("lcl_cnt_frame_algemeen"), buttons);
if (cnt_info.locked_user_key && cnt_info.locked_user_key != user_key)
{
var other = new Perslid(cnt_info.locked_user_key);
%> <div class="warning"><%=L("lcl_cnt_contract_locked").format(safe.html(other.naam()), toTimeString(cnt_info.locked_date))%>
<div class="buttoncontainer" style="float:right">
<% var buttonsM = [];
buttonsM.push({ icon: "page_refresh.png", title: L("lcl_refresh"), action: "parent.FcltMgr.reload()" });
CreateButtons(buttonsM, { showIcons: true }) %>
</div>
</div><%
}
%>
<div id="show">
<% if (cnt_info.verwijderdatum != null)
@@ -231,7 +246,7 @@ user.auth_required_or_abort(this_cnt.canReadAny); // Heb ik enige lees rechten o
ROFIELDTR ("flddate", L("lcl_cnt_date_start"), toDateString(cnt_info.looptijd_van));
var fldcls = "flddate";
if (cnt_info.looptijd_tot < new Date())
fldcls += " activeinter`al";
fldcls += " activeinterval";
ROFIELDTR (fldcls, L("lcl_cnt_date_end"), toDateString(cnt_info.looptijd_tot));
// fancy is: als deze periodes nu van toepassing zijn dat tonen (met class activeinterval)

View File

@@ -167,7 +167,7 @@ var showall = getQParamInt("showall", 0) == 1;
+ " AND co.cnt_mld_melding_key IS NULL"
+ " AND co.cnt_contract_key = " + cnt_key + ""
+ " UNION"
+ " SELECT '" + L("lcl_location") + "' plaatsaanduiding"
+ " SELECT " + safe.quoted_sql(L("lcl_location")) + " plaatsaanduiding"
+ ", null totaal_opp"
+ ", co.cnt_contract_onrgoed_opp contract_opp"
+ ", sr.alg_srtruimte_code tariefsrt"

29
APPL/CNT/cnt_unlock.asp Normal file
View File

@@ -0,0 +1,29 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
Unlock een cnt-lock
Meestal doen we dat gewoon in showmode maar als je een hot tabblad
sluit dan komen we daar niet. Dan wordt dit bestand aangeroepen
*/ %>
<%
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="cnt.inc" -->
<%
protectRequest.validateToken();
var cnt_key = getFParamInt("cnt_key");
// Autorisatie is niet echt relevant. Er wordt alleen een unlock gedaan
// als jij het lock had.
cnt.unlock(cnt_key);
result = { success: true };
Response.Write(JSON.stringify(result));
%>

View File

@@ -47,7 +47,7 @@ else if (locatiekey > 0)
alg_niveau = "L";
}
var sql = get_objecten_sql(alg_key, alg_niveau, prs_key, dept_key, -1, true /*geenToolTip*/);
var sql = get_objecten_sql(alg_key, alg_niveau, prs_key, dept_key, -1);
FCLTselectorOptions(sql,
{ multi: true,

69
APPL/EXP/exp_export.asp Normal file
View File

@@ -0,0 +1,69 @@
<%@ LANGUAGE = JavaScript %>
<% /*
$Revision$
$Id$
File: exp_export.asp
Description: Export, resultaat direct downloaden
Parameters:
export_key Export key uit fac_export_app
compress Optional 0 of 1, overrules flag in fac_export_app
Context:
Note: De download limiet ligt meestal rond de 5MB
Daar kun je een beetje omheen werken dooe &compress=1 mee te geven
TODO: Er is nog geen interface om aanroep van dit bestand te regelen
*/ %>
<%
Server.ScriptTimeout = 6000; // Extra tijd
DOCTYPE_Disable = 1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<script language="javascript" src="exp_shared.js" runat="server"></script>
<%
var export_key = getQParamInt("export_key"); // 24=HV_DUMP,25=CPUA
var params = getSettings(export_key);
user.checkAutorisation(params.functie_key);
params.custid = customerId;
params.compress = getQParamInt("compress", params.compress?1:0) == 1; // Je mag in de url overrulen
params.tempFolder = Server.MapPath("../../temp/");
params.applrun = new Date();
params.preview = getQParamInt("preview", "0") == 1; // dan geen _EXPORT_ achteraan aanroepen?
var streamObj = expCreateStream(export_key, params);
Response.clear;
streamObj.streamData.Type = 1; // verder als adTypeBinary
if (params.compress)
{
Response.contenttype = 'application/zip';
}
else
{
if (params.charset.toUpperCase() == 'UTF-8')
{
Session.Codepage = 65001;
Response.Charset = 'utf-8'; // Alleen voor de header var, we doen zo een binary write
}
Response.contenttype = "application/octet-stream";
}
Response.AddHeader("content-disposition", "attachment; filename= \"" + streamObj.exportFile + "\"");
try
{
Response.BinaryWrite(streamObj.streamData.Read());
}
catch (e)
{ // Meestal te groot
var msg = L("lcl_export_oversized").format(params.code, export_key, streamObj.streamData.Size); // S("maxdownloadsize")
__DoLog(e.description + "<br>" + msg);
Response.clear;
Response.contenttype = "text/html";
// De content-disposition krijgen we niet echt weg
Response.Write(msg);
}
%>

View File

@@ -13,6 +13,9 @@
DUS: Geen L() functie voor locale!!!!
EN: Geen Server.CreateObject maar new ActiveXObject
========= LET OP LET OP =========
gen_export_app_flags: 00001 (1) zip het resultaat
00010 (2) manual
*/
// fileStream moet onze data bevatten
@@ -23,17 +26,18 @@
// filepathname: optioneel: stoppen we in fac_export_filenaam
function expCreateStream(export_key, params)
{
// params.customerId
var ini = getSettings(export_key);
ini.applrun = new Date();
ini.custid = params.customerId;
preExport(params);
var exportFile = getFileName(params.prefix, params.postfix, params.applrun, params.timestamp);
var streamData = exportToStream(params, exportFile); // exportFile voor als compress
if (!params.preview)
postExport(params);
exportResults(ini);
var streamObj = { exportFile: getFileName(ini.prefix, ini.postfix, ini.applrun, ini.timestamp)
, streamData: exportToStream(ini)
};
if (params.compress)
exportFile += '.zip';
return streamObj;
return { exportFile: exportFile
, streamData: streamData
};
}
@@ -60,26 +64,31 @@ function getSettings(app_key)
, prefix: oRs("fac_export_app_prefix").value || ""
, postfix: oRs("fac_export_app_postfix").value || ""
, timestamp: oRs("fac_export_app_timestamp").value || ""
, flags: oRs("fac_export_app_flags").value || ""
, functie_key: oRs("fac_functie_key").value
, logpostfix: oRs("fac_export_app_log_postfix").value || ""
}
}
oRs.Close();
if (settings.flags & 1)
settings.compress = true;
if (settings.flags & 2)
settings.manual = true;
return settings;
}
function exportResults(ini)
function preExport(params)
{
// Clean up the mess of the previous run
//
var sql = "DELETE FROM imp_log"
+ " WHERE imp_log_applicatie = " + safe.quoted_sql(ini.code);
+ " WHERE imp_log_applicatie = " + safe.quoted_sql(params.code);
__Log("SQL: " + sql);
Oracle.Execute(sql);
//
// Call the database procedure for selecting the export results.
var selectProc = (ini.custid + "_SELECT_" + ini.code).toUpperCase();
var selectProc = (params.custid + "_SELECT_" + params.code).toUpperCase();
var sql = "SELECT DISTINCT name"
+ " FROM user_source"
+ " WHERE type = 'PROCEDURE'"
@@ -88,22 +97,52 @@ function exportResults(ini)
var oRs = Oracle.Execute(sql);
if(!oRs.Eof)
{
sql = "BEGIN " + selectProc + "(" + "'" + ini.code + "', '" + ini.applrun + "'" + "); END;";
sql = "BEGIN " + selectProc + "(" + "'" + params.code + "', '" + toDateTimeString(params.applrun) + "'" + "); END;";
__Log("SQL: " + sql);
Oracle.Execute(sql);
}
else
{
__Log("Select procedure not found: " + selectProc);
__Log("Optional select/pre-export procedure not found: " + selectProc);
}
oRs.Close();
}
function postExport(ini)
{
// Call the database procedure for creation of exportfile.
var filename = getFileName(ini.prefix, ini.postfix, ini.applrun, ini.timestamp);
var exportProc = ini.custid + "_EXPORT_" + ini.code;
var sql = "SELECT DISTINCT name"
+ " FROM user_source"
+ " WHERE type='PROCEDURE'"
+ " AND name = " + safe.quoted_sql(exportProc);
__Log("SQL: " + sql);
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
var sql = "BEGIN "
+ exportProc + "(" + safe.quoted_sql(ini.code)
+ "," + safe.quoted_sql(toDateTimeString(ini.applrun))
+ ",'-1'" //+ safe.quoted_sql(iniOraclePath) // ??
+ "," + safe.quoted_sql(filename)
+ ");"
+ " END;"
__Log("SQL: " + sql);
Oracle.Execute(sql);
}
else
{
__Log("Optional (post-)export procedure not found: " + exportProc);
}
oRs.Close();
}
function exportToStream(ini)
// Lever null op als er geen select-view is gedefinieerd.
function exportToStream(params, exportFile)
{
var fstr;
var exportView = (ini.custid + "_V_EXPORT_" + ini.code).toUpperCase();
var exportView = (params.custid + "_V_EXPORT_" + params.code).toUpperCase();
var sql = "SELECT DISTINCT view_name"
+ " FROM USER_VIEWS"
+ " WHERE view_name = " + safe.quoted_sql(exportView);
@@ -111,12 +150,14 @@ function exportToStream(ini)
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
{
__Log("Export view not found: " + exportView);
__Log("Optional export view not found: " + exportView);
oRs.Close()
return null;
}
else
{
// Write data to stream.
fstr = openStreamWriteText({charset: ini.charset});
fstr = openStreamWriteText({charset: params.charset});
var sql_v = "SELECT result"
+ " FROM " + exportView
+ " ORDER BY result_order";
@@ -130,7 +171,25 @@ function exportToStream(ini)
oRs_v.Close();
}
oRs.Close();
return fstr;
fstr.Position = 0;
if (!params.compress)
return fstr;
var oZIP = new ActiveXObject("SLNKDWF.Zip");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var temp = params.tempFolder + fso.GetTempName();
oZIP.New(temp) //;; Helaas niet *naar* stream
oZIP.ZipFromStream(exportFile, fstr);
oZIP.Close();
var oStream = new ActiveXObject("ADODB.Stream");
oStream.Open;
oStream.Type = 1; // adTypeBinary
oStream.LoadFromFile(temp);
oStream.Position = 0;
fso.DeleteFile(temp);
return oStream;
}
@@ -172,6 +231,7 @@ function formatDate(datum, format)
, "s" : datum.getMilliseconds() //millisecond
, "w+" : Math.ceil((((datum - onejan) / 86400000) + onejan.getDay()+1)/7) // weeknumber
};
format = format.replace('hhmm', 'HHMM');
if (/(y+)/.test(format))
format = format.replace(RegExp.$1, (datum.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)

View File

@@ -19,6 +19,8 @@
<%
// Als we hier komen hebben we gegarandeerd een user_key > 0
user.auth_required_or_abort(!user.isGroupedUser()); // Die heeft hier niets te zoeken.
FCLTHeader.Requires({ plugins: ["jQuery"],
js: ["jquery-ui.js"]}); // css voor header.asp

View File

@@ -11,9 +11,14 @@
We worden elke S("NotifyMessageInterval") seconde (default 90) gecontroleerd
NOOT: Per interval wordt 1 popup gegeven met alle berichten sinds de vorige keer, met een tijdstip.
LET OP: Dit bestand wordt bij UWVA op drukke momenten consequent 10 keer per seconde/
34000 keer per uur opgeroepen. Performance is essentieel!
In het bijzonder bijvoorbeeld een aanroep van user.__require_prs_perslid voorkomen
*/
LCL_Disable = 1; // Performance
var JSON_Result = true;
var EXPIRED_PASSWORD_OK = true; // performance
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->

17
APPL/FAC/Verify.asp.inc Normal file
View File

@@ -0,0 +1,17 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: appl/fac/verify.asp.inc
Description: Verify Facilitor installation
Parameters: ?XXXX optional customerId
Context: Manual call to check installation
Note: Dit bestand is zonder autorisatie aan te roepen en heet daarom
verify.asp.inc
Kopieer dit bestand tijdelijk(!) naar verify.asp om het echt bruikbaar
te maken.
Als je de gelegenheid hebt om in te loggen met PRSSYS gebruik dan
gewoon appl/fac/fac_verify2.asp
*/ %>
<!--#include file="fac_verify.inc "-->

View File

@@ -178,7 +178,7 @@ fac = {myfunctionssqlstring:
return v_sql_verantwoordelijk;
},
getSqlFiatBes: function(fiatstatus, prsKeys)
getSqlFiatBes: function(fiatstatus, prsKeys, params)
{
var v_sql_bestelling_bedrag = "(SELECT b.bes_bestelling_key"
+ " , SUM(bi.bes_bestelling_item_prijs * bi.bes_bestelling_item_aantal) bestelling_bedrag"
@@ -251,6 +251,9 @@ fac = {myfunctionssqlstring:
: "")
+ " , mld_v_afleveradres m"
+ " , alg_locatie l"
+ (params.bld_key
? ", alg_gebouw g"
: "")
+ " WHERE bi.bes_bestelling_key = b.bes_bestelling_key"
+ " AND prijs.bes_bestelling_key = b.bes_bestelling_key"
+ " AND sd.bes_srtdeel_key = bi.bes_srtdeel_key"
@@ -272,9 +275,18 @@ fac = {myfunctionssqlstring:
+ " AND ft.fac_srtnotificatie_key = fno.fac_srtnotificatie_key"
+ " AND fno.fac_srtnotificatie_code IN (" + (fiatstatus == "close"? "'BESFIT', 'BESACP'" : "'BESREJ'") + ")"
+ " AND ft.prs_perslid_key IN (" + prsKeys + ")")
+ (fiatstatus == "open" // Als nog gefiatteerd moet worden door kostenplaatsgroep verantwoordelijke en ik heb net gefiatteerd dan wil ik die niet meer zien (want dan was het wel in 1 keer goedgekeurd).
? " AND (bes_bestelling_fiat_user <> " + user_key + " OR bes_bestelling_fiat_user IS NULL)" // Geldt alleen voor nog te fiatteren bestellingen, zie canApprove bij bestellingen. Dan heb je toch de rechten niet.
: "") // Door mij goedgekeurde of afgekeurde bestellingen hoef ik niet meer af te melden maar wil ik nog wel zien
+ (fiatstatus == "open" // Als nog gefiatteerd moet worden door kostenplaatsgroep verantwoordelijke en ik heb net gefiatteerd dan wil ik die niet meer zien (want dan was het wel in 1 keer goedgekeurd).
? " AND (bes_bestelling_fiat_user <> " + user_key + " OR bes_bestelling_fiat_user IS NULL)" // Geldt alleen voor nog te fiatteren bestellingen, zie canApprove bij bestellingen. Dan heb je toch de rechten niet.
: "") // Door mij goedgekeurde of afgekeurde bestellingen hoef ik niet meer af te melden maar wil ik nog wel zien
+ (params.bld_key
? " AND l.alg_locatie_key = g.alg_locatie_key AND g.alg_gebouw_key = " + params.bld_key
: "")
+ (params.loc_key_arr && !params.bld_key
? " AND l.alg_locatie_key IN (" + params.loc_key_arr.join(",") + ")"
: "")
+ (params.opdrtype_key
? " AND 0=1" // Er wordt gezocht naar een opdrachttype, die bestaan niet voor BES.
: "")
+ " GROUP BY b.bes_bestelling_key"
+ " , b.bes_bestelling_datum"
+ " , p.prs_perslid_naam_full"
@@ -290,7 +302,7 @@ fac = {myfunctionssqlstring:
return sql;
},
getSqlFiatCnt: function(fiatstatus, prsKeys)
getSqlFiatCnt: function(fiatstatus, prsKeys, params)
{ // Contracten: Goedkeuren tot de drie limieten
var scope = " SELECT l.alg_locatie_key loc"
+ " , " + S("alg_loc_string") + " loc_oms"
@@ -302,6 +314,9 @@ fac = {myfunctionssqlstring:
+ " WHERE cnt_alg_plaats_key = l.alg_locatie_key"
+ " AND cnt_alg_plaats_code = 'L'"
+ " AND cnt_contract_plaats_verwijder IS NULL"
+ (params.loc_key_arr
? " AND l.alg_locatie_key IN (" + params.loc_key_arr.join(",") + ")"
: "")
+ " UNION"
+ " SELECT l.alg_locatie_key loc"
+ " , " + S("alg_loc_string") + " loc_oms"
@@ -315,6 +330,11 @@ fac = {myfunctionssqlstring:
+ " AND cnt_alg_plaats_key = g.alg_gebouw_key"
+ " AND g.alg_locatie_key = l.alg_locatie_key"
+ " AND cnt_contract_plaats_verwijder IS NULL"
+ (params.bld_key
? " AND g.alg_gebouw_key = " + params.bld_key
: (params.loc_key_arr
? " AND l.alg_locatie_key IN (" + params.loc_key_arr.join(",") + ")"
: ""))
+ " UNION"
+ " SELECT l.alg_locatie_key loc"
+ " , " + S("alg_loc_string") + " loc_oms"
@@ -327,11 +347,51 @@ fac = {myfunctionssqlstring:
+ " WHERE cnt_alg_plaats_code = 'T'"
+ " AND cnt_alg_plaats_key = t.alg_terreinsector_key"
+ " AND t.alg_locatie_key = l.alg_locatie_key"
+ " AND cnt_contract_plaats_verwijder IS NULL";
+ " AND cnt_contract_plaats_verwijder IS NULL"
+ (params.loc_key_arr
? " AND l.alg_locatie_key IN (" + params.loc_key_arr.join(",") + ")"
: "");
var loc_count = "(SELECT COUNT(loc) FROM theScope scope WHERE scope.cnt_key = c.cnt_contract_key)";
var loc_oms = "(SELECT loc_oms FROM theScope scope WHERE scope.cnt_key = c.cnt_contract_key)";
var gebter_oms = "(SELECT gebter_oms FROM theScope scope WHERE scope.cnt_key = c.cnt_contract_key)";
var filterlocatie = (params.dist_key ? true : false);
var filter_gebonden = "";
if (filterlocatie)
{
filter_gebonden = " AND c.cnt_contract_key = cp.cnt_contract_key"
if (params.bld_key)
{
// Filteren op gebouw levert alleen de gebouwgebonden contracten.
filter_gebonden += " AND cp.cnt_alg_plaats_key = " + params.bld_key
+ " AND cp.cnt_alg_plaats_code = 'G'";
}
else
{
// Filteren op locatie moet zowel de locatie gebonden contracten opleveren
// als de gebouwgebonden contracten binnen deze locatie.
var locaties = params.loc_key_arr.join(","); // De geselecteerde locatie, of alle locaties in het geselecteerde district.
var gebouwen = "";
sql_f = "SELECT alg_gebouw_key"
+ " FROM alg_gebouw"
+ " WHERE alg_locatie_key IN (" + locaties + ")";
var bld_key_arr = [];
var oRsf = Oracle.Execute(sql_f);
if (!oRsf.eof)
{
while (!oRsf.eof)
{
bld_key_arr.push(oRsf("alg_gebouw_key").value);
oRsf.moveNext();
}
oRsf.Close();
gebouwen = bld_key_arr.join(",");
}
filter_gebonden += " AND ( (cp.cnt_alg_plaats_code = 'L' AND cp.cnt_alg_plaats_key IN (" + locaties + "))"
+ (gebouwen ? " OR (cp.cnt_alg_plaats_code = 'G' AND cp.cnt_alg_plaats_key IN (" + gebouwen + "))" : "")
+ " )";
}
}
var sql = " WITH theScope AS (" + scope + ")"
+ " SELECT DISTINCT TO_CHAR (c.cnt_contract_key) aanvraagnummer"
@@ -356,7 +416,7 @@ fac = {myfunctionssqlstring:
+ " ELSE '0'"
+ " END fiatteur"
: " , ' '")
+ " , NULL" // bes_bestelling_parentkey,
+ " , NULL bes_bestelling_parentkey"
+ " , NULL prefix"
+ " , NULL uitvoerende"
+ " , CASE " + loc_count
@@ -374,7 +434,7 @@ fac = {myfunctionssqlstring:
+ " END gebouw"
+ " , NULL terrein"
+ " FROM prs_v_perslid_fullnames_all p"
+ " , cnt_contract c"
+ " , cnt_v_aanwezigcontract c"
+ " , ins_tab_discipline td"
+ " , prs_kostenplaats k"
+ " , fac_v_webgebruiker w"
@@ -383,6 +443,9 @@ fac = {myfunctionssqlstring:
? ", fac_tracking ft"
+ ", fac_srtnotificatie fno"
: "")
+ (filterlocatie
? ", cnt_contract_plaats cp"
: "")
+ " WHERE c.ins_discipline_key = td.ins_discipline_key"
+ " AND c.prs_perslid_key_beh = p.prs_perslid_key"
+ " AND c.prs_kostenplaats_key = k.prs_kostenplaats_key"
@@ -419,11 +482,17 @@ fac = {myfunctionssqlstring:
+ " AND ft.fac_srtnotificatie_key = fno.fac_srtnotificatie_key"
+ " AND fno.fac_srtnotificatie_code IN (" + (fiatstatus == "close"? "'CNTFIT'" : "'CNTREJ'") + ")"
+ " AND ft.prs_perslid_key IN (" + prsKeys + ")")
+ (filterlocatie
? filter_gebonden
: "")
+ (params.opdrtype_key
? " AND 0=1" // Er wordt gezocht naar een opdrachttype, die bestaan niet voor CNT.
: "");
return " SELECT * FROM (" + sql + ")";
},
getSqlFiatMld: function(fiatstatus, prsKeys)
getSqlFiatMld: function(fiatstatus, prsKeys, params)
{ // opdrachten: te fiatteren op mijn budgetten
var sql = " SELECT sd.ins_srtdiscipline_prefix || op.mld_melding_key || '/' || op.mld_opdr_bedrijfopdr_volgnr aanvraagnummer"
+ " , mld_opdr_datumbegin"
@@ -437,9 +506,9 @@ fac = {myfunctionssqlstring:
+ " , mld_opdr_datumbegin sortdate"
+ " , "+ lcl.xsql('td.ins_discipline_omschrijving','td.ins_discipline_key') +" categorie"
+ (fiatstatus == "open"
? " , p2.prs_perslid_naam_full fiatteur"
: " , ' '")
+ " , NULL"
? " , p2.prs_perslid_naam_full"
: " , ' '") + " fiatteur"
+ " , NULL bes_bestelling_parentkey"
+ " , sd.ins_srtdiscipline_prefix prefix"
+ " , NULL uitvoerende"
+ " , CASE "
@@ -503,12 +572,20 @@ fac = {myfunctionssqlstring:
+ " END"
+ " AND p2.prs_perslid_key IN (" + prsKeys + ")" // Wel ORDFOK tracking aanwezig. Neem kostenplaatsgroepverantwoordelijke
: " AND fno.fac_srtnotificatie_code = " + (fiatstatus == "close"? "'ORDFOK'" : "'ORDFNO'") // Er is gefiatteerd.
+ " AND ft.prs_perslid_key IN (" + prsKeys + ")"); // Gefiatterd door jezelf of waarvoor je vervanger bent
+ " AND ft.prs_perslid_key IN (" + prsKeys + ")") // Gefiatterd door jezelf of waarvoor je vervanger bent
+ (params.bld_key // sortering op gebouw, locatie of district
? " AND g.alg_gebouw_key = " + params.bld_key
: (params.loc_key_arr
? " AND l.alg_locatie_key IN (" + params.loc_key_arr.join(",") + ")"
: ""))
+ (params.opdrtype_key
? " AND ot.mld_typeopdr_key = " + params.opdrtype_key
: "");
return sql;
},
// opdrachten die eerst nog goedgekeurd moet worden (nog voordat ze gefiatteerd mogen worden)
getSqlGoedkeurMld: function(fiatstatus, prsKeys)
getSqlGoedkeurMld: function(fiatstatus, prsKeys, params)
{ // opdrachten: goedkeuren
var sql = " SELECT sd.ins_srtdiscipline_prefix || op.mld_melding_key || '/' || op.mld_opdr_bedrijfopdr_volgnr aanvraagnummer"
+ " , mld_opdr_datumbegin"
@@ -522,7 +599,7 @@ fac = {myfunctionssqlstring:
+ " , mld_opdr_datumbegin sortdate"
+ " , "+ lcl.xsql('td.ins_discipline_omschrijving','td.ins_discipline_key') +" categorie"
+ " , ' ' fiatteur" // dat kunnen er meerdere met WEB_ORDGOE zijn
+ " , NULL"
+ " , NULL bes_bestelling_parentkey"
+ " , sd.ins_srtdiscipline_prefix prefix"
+ " , NULL uitvoerende"
+ " , CASE "
@@ -582,25 +659,69 @@ fac = {myfunctionssqlstring:
+ " FROM fac_v_my_locations"
+ " WHERE prs_perslid_key = p.prs_perslid_key"
+ " AND niveau = fac_gebruiker_alg_level_write)))"
+ " AND fac_functie_code = 'WEB_ORDGOE')"
+ (fiatstatus == "open"
? (S("mld_opdr_approval_all") == 0
? " AND ((fac_functie_code = 'WEB_ORDGOE'"
+ " AND op.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet"
+ " AND COALESCE(op.mld_opdr_approved, 0) <= mdp.mld_disc_params_bestellimiet)"
+ " OR (fac_functie_code = 'WEB_ORDGO2'"
+ " AND op.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet2"
+ " AND COALESCE(op.mld_opdr_approved, 0) = mdp.mld_disc_params_bestellimiet2)"
+ " OR (fac_functie_code = 'WEB_ORDGO3'"
+ " AND op.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet3"
+ " AND COALESCE(op.mld_opdr_approved, 0) = mdp.mld_disc_params_bestellimiet3)"
+ " OR (fac_functie_code = 'WEB_ORDGO4'"
+ " AND op.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet4"
+ " AND COALESCE(op.mld_opdr_approved, 0) = mdp.mld_disc_params_bestellimiet4)"
+ " OR (fac_functie_code = 'WEB_ORDGO5'"
+ " AND op.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet5"
+ " AND COALESCE(op.mld_opdr_approved, 0) >= mdp.mld_disc_params_bestellimiet5)"
+ " )"
: " AND ((fac_functie_code = 'WEB_ORDGOE'"
+ " AND op.mld_opdr_kosten <= mdp.mld_disc_params_bestellimiet2"
+ " AND COALESCE(op.mld_opdr_approved, 0) <= mdp.mld_disc_params_bestellimiet)"
+ " OR (fac_functie_code = 'WEB_ORDGO2'"
+ " AND op.mld_opdr_kosten <= mdp.mld_disc_params_bestellimiet3"
+ " AND COALESCE(op.mld_opdr_approved, 0) <= mdp.mld_disc_params_bestellimiet2)"
+ " OR (fac_functie_code = 'WEB_ORDGO3'"
+ " AND op.mld_opdr_kosten <= mdp.mld_disc_params_bestellimiet4"
+ " AND COALESCE(op.mld_opdr_approved, 0) <= mdp.mld_disc_params_bestellimiet3)"
+ " OR (fac_functie_code = 'WEB_ORDGO4'"
+ " AND op.mld_opdr_kosten <= mdp.mld_disc_params_bestellimiet5"
+ " AND COALESCE(op.mld_opdr_approved, 0) <= mdp.mld_disc_params_bestellimiet4)"
+ " OR (fac_functie_code = 'WEB_ORDGO5'"
+ " AND op.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet5"
+ " AND COALESCE(op.mld_opdr_approved, 0) <= mdp.mld_disc_params_bestellimiet5)"
+ " )")
: "")
+ " )"
+ " AND m.mld_alg_locatie_key = l.alg_locatie_key(+)"
+ " AND m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+)"
+ " AND onrg.alg_gebouw_key = g.alg_gebouw_key(+)"
+ " AND onrg.alg_terreinsector_key = t.alg_terreinsector_key(+)"
+ (fiatstatus == "open"
? " AND op.mld_statusopdr_key = 10"
: " AND op.mld_statusopdr_key <> 10"
+ " AND mld_opdr_kosten > mdp.mld_disc_params_bestellimiet" // zo duur, moet wel een goedkeur geweest zijn
+ (fiatstatus == "open"
? " AND op.mld_statusopdr_key = 10"
: " AND mld_opdr_kosten > mdp.mld_disc_params_bestellimiet" // zo duur, moet wel een goedkeur geweest zijn
+ " AND ft.fac_tracking_refkey = op.mld_opdr_key"
+ " AND ft.prs_perslid_key IN (" + prsKeys + ")"
+ " AND ft.fac_srtnotificatie_key = fno.fac_srtnotificatie_key"
+ " AND fno.fac_srtnotificatie_code = " + (fiatstatus == "close"? "'ORDFOK'" : "'ORDGNO'"));
+ " AND fno.fac_srtnotificatie_code IN"
+ (fiatstatus == "close"
? " ('ORDFOK', 'ORDGOE') AND m.prs_perslid_key != ft.prs_perslid_key" // Als goedkeurder ook de opdracht heeft aangemaakt dan komt opdracht niet in de gefiatteerd lijst. Is niet zo gemakkelijk en zal performance kosten.
: " ('ORDGNO')"))
+ (params.bld_key // sortering op gebouw, locatie of district
? " AND g.alg_gebouw_key = " + params.bld_key
: (params.loc_key_arr
? " AND l.alg_locatie_key IN (" + params.loc_key_arr.join(",") + ")"
: ""))
+ (params.opdrtype_key
? " AND ot.mld_typeopdr_key = " + params.opdrtype_key
: "");
return sql;
},
// Offertes die geaccepteerd of afgewezen dienen te worden van meldingen waarvoor nog geen uitvoeringsopdracht is aangemaakt.
getSqlAccAfwOff: function()
getSqlAccAfwOff: function(params)
{ // opdrachten: accepten/afwijzen
var sql = " SELECT o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr aanvraagnummer"
+ " , mld_opdr_datumbegin"
@@ -614,7 +735,7 @@ fac = {myfunctionssqlstring:
+ " , mld_opdr_einddatum sortdate"
+ " , "+ lcl.xsql('td.ins_discipline_omschrijving','td.ins_discipline_key') +" categorie"
+ " , ' ' fiatteur" // dat kunnen er meerdere met WEB_ORDOAP zijn
+ " , NULL"
+ " , NULL bes_bestelling_parentkey"
+ " , sd.ins_srtdiscipline_prefix prefix"
+ " , COALESCE((SELECT b.prs_bedrijf_naam FROM prs_bedrijf b WHERE b.prs_bedrijf_key = o.mld_uitvoerende_keys),"
+ " COALESCE((SELECT " + S("prs_pers_string") + " FROM prs_perslid p WHERE p.prs_perslid_key = o.mld_uitvoerende_keys),"
@@ -659,7 +780,15 @@ fac = {myfunctionssqlstring:
+ " AND m.mld_alg_locatie_key = l.alg_locatie_key(+)"
+ " AND m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+)"
+ " AND onrg.alg_gebouw_key = g.alg_gebouw_key(+)"
+ " AND onrg.alg_terreinsector_key = t.alg_terreinsector_key(+)";
+ " AND onrg.alg_terreinsector_key = t.alg_terreinsector_key(+)"
+ (params.bld_key // sortering op gebouw, locatie of district
? " AND g.alg_gebouw_key = " + params.bld_key
: (params.loc_key_arr
? " AND l.alg_locatie_key IN (" + params.loc_key_arr.join(",") + ")"
: ""))
+ (params.opdrtype_key
? " AND ot.mld_typeopdr_key = " + params.opdrtype_key
: "");
return sql;
},

View File

@@ -29,7 +29,7 @@ var bkm_title = "";
<script type="text/javascript" >
<% if (bkm_id != "")
{ %>
FcltMgr.setTitle("<%=bkm_title%>", {hot: false});
FcltMgr.setTitle("<%=safe.jsstring(bkm_title)%>", {hot: false});
<% } %>
function bkmClose(params)
@@ -49,7 +49,7 @@ var bkm_title = "";
if (params.close)
FcltMgr.closeDetail(window, {close: true})
if (!params.keepForm)
$("#bkmFrame")[0].src = "fac_show_bookmark.asp?bkm_id=<%=bkm_id%>";
$("#bkmFrame")[0].src = "fac_show_bookmark.asp?bkm_id=<%=safe.jsstring(bkm_id)%>";
<% } %>
}
</script>

View File

@@ -137,7 +137,7 @@ else
var sql = "SELECT '', '', 1 FROM DUAL";
for (var i = 0; i< S("language_toggles").length; i++)
{
sql += (sql != ""? " UNION ": "") + "SELECT " + "'" + S("language_toggles")[i] + "', '" + S("language_toggles")[i] + "', 2 FROM DUAL"
sql += (sql != ""? " UNION ": "") + "SELECT " + safe.quoted_sql(S("language_toggles")[i]) + ", " + safe.quoted_sql(S("language_toggles")[i]) + ", 2 FROM DUAL";
}
sql += " ORDER BY 3, 2";
FCLTselector("fac_faq_lang", sql,

View File

@@ -286,7 +286,7 @@ function fncolGroep(oRsvalue)
+ " fac_menuitems_label"
+ " FROM fac_menuitems, fac_locale_xsl xsl"
+ " WHERE xsl.fac_locale_xsl_label(+) = fac_menuitems_label"
+ " AND xsl.fac_locale_xsl_lang(+) = '" + user.lang() + "'"
+ " AND xsl.fac_locale_xsl_lang(+) = " + safe.quoted_sql(user.lang())
+ " ORDER BY 2 ";
FCLTselector("fac_mikey", sql,{ label: L("lcl_fac_menuoptie"),

View File

@@ -177,7 +177,7 @@ user.auth_required_or_abort(authparamsBOF || authparamsFOF || authparamsUSE);
sql = "";
for (var i = 0; i < S("language_toggles").length; i++)
{
sql += (sql != ""? " UNION ": "") + "SELECT " + "'" + S("language_toggles")[i] + "', '" + S("language_toggles")[i] + "', 2 FROM DUAL"
sql += (sql != ""? " UNION ": "") + "SELECT " + safe.quoted_sql(S("language_toggles")[i]) + ", " + safe.quoted_sql(S("language_toggles")[i]) + ", 2 FROM DUAL";
}
sql += " ORDER BY 3, 2";
FCLTselector("fac_faq_lang",

View File

@@ -36,7 +36,7 @@
Ik heb gefiatteerd of afgewezen als er tracking is geweest
BES) gefiateerd: 'BESFIT' (kostenplaatsverantwoordelijke) of 'BESACP'" (kostenplaatsgroepverantwoordelijke)
afgewezen: 'BESREJ'
MLD) gefiateerd: 'CNTFIT'
CNT) gefiateerd: 'CNTFIT'
afgewezen: 'CNTREJ'
MLD) gefiateerd: 'ORDFOK'
afgewezen: 'ORDREJ'
@@ -61,9 +61,45 @@ var showall = getQParamInt("showall", 0) == 1;
var getOpen = getQParamInt("open", 0) == 1;
var getClosed = getQParamInt("close", 0) == 1;
var getRejected = getQParamInt("reject", 0) == 1;
var opdrtype_key = getQParamInt("opdrtype_key", -1); // Opdrachttype
var dis_key = getQParamInt("districtkey", -1); // District
var loc_key = getQParamInt("locatiekey", -1); // Locatie
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
if (!getOpen && !getClosed && !getRejected)
getOpen = true;
var params = {getopen: getOpen, getclosed: getClosed, getrejected: getRejected}
var loc_key_arr = [];
if (dis_key > -1)
{
if (loc_key > -1)
{ // Een locatie geselecteerd.
loc_key_arr.push(loc_key);
}
else
{ // Zoek alle locaties die bij het gekozen district horen.
sqld = "SELECT alg_locatie_key"
+ " FROM alg_locatie"
+ " WHERE alg_district_key = " + dis_key;
var oRsd = Oracle.Execute(sqld);
while (!oRsd.eof)
{
loc_key_arr.push(oRsd("alg_locatie_key").value);
oRsd.MoveNext();
}
oRsd.Close();
}
}
var params = { getopen: getOpen
, getclosed: getClosed
, getrejected: getRejected
, opdrtype_key: (opdrtype_key != -1 ? opdrtype_key : null)
, dist_key: (dis_key != -1 ? dis_key : null)
, loc_key: (loc_key != -1 ? loc_key : null)
, bld_key: (bld_key != -1 ? bld_key : null)
, loc_key_arr: (loc_key_arr.length > 0 ? loc_key_arr : null)
}
FCLTHeader.Requires({ plugins: ["jQuery"], js: ["jquery-ui.js"] });
%>

View File

@@ -33,64 +33,64 @@ function fiattering_sql(params)
var sql = "";
// Sql gedeelte voor bestellingen (BES) ophalen
if (params.getopen)
sql = fac.getSqlFiatBes("open", prsKeys); // Te fiatteren
sql = fac.getSqlFiatBes("open", prsKeys, params); // Te fiatteren
if (params.getclosed)
sql = (params.getopen
? sql + " UNION ALL "
: "")
+ fac.getSqlFiatBes("close", prsKeys); // Gefiatteerd
+ fac.getSqlFiatBes("close", prsKeys, params); // Gefiatteerd
if (params.getrejected)
sql = (params.getopen || params.getclosed
? sql + " UNION ALL "
: "")
+ fac.getSqlFiatBes("reject", prsKeys); // Afgewezen
+ fac.getSqlFiatBes("reject", prsKeys, params); // Afgewezen
// Sql gedeelte voor contracten (CNT) ophalen
if (params.getopen)
sql += " UNION ALL "
+ fac.getSqlFiatCnt("open", prsKeys); // Ter goedkeuring
+ fac.getSqlFiatCnt("open", prsKeys, params); // Ter goedkeuring
if (params.getclosed)
sql += " UNION ALL "
+ fac.getSqlFiatCnt("close", prsKeys); // Goedgekeurd
+ fac.getSqlFiatCnt("close", prsKeys, params); // Goedgekeurd
if (params.getrejected)
sql += " UNION ALL "
+ fac.getSqlFiatCnt("reject", prsKeys); // Afgewezen
+ fac.getSqlFiatCnt("reject", prsKeys, params); // Afgewezen
// Sql gedeelte voor meldingen (MLD) ophalen
if (params.getopen)
sql += " UNION ALL "
+ fac.getSqlFiatMld("open", prsKeys); // Te fiatteren
+ fac.getSqlFiatMld("open", prsKeys, params); // Te fiatteren
if (params.getclosed)
sql += " UNION ALL "
+ fac.getSqlFiatMld("close", prsKeys); // Gefiatteerd
+ fac.getSqlFiatMld("close", prsKeys, params); // Gefiatteerd
if (params.getrejected)
sql += " UNION ALL "
+ fac.getSqlFiatMld("reject", prsKeys); // Afgewezen
+ fac.getSqlFiatMld("reject", prsKeys, params); // Afgewezen
// Sql gedeelte voor goedkeur meldingen (MLD) ophalen
if (params.getopen)
sql += " UNION ALL "
+ fac.getSqlGoedkeurMld("open", prsKeys); // Goed te keuren
+ fac.getSqlGoedkeurMld("open", prsKeys, params); // Goed te keuren
if (params.getclosed)
sql += " UNION ALL "
+ fac.getSqlGoedkeurMld("close", prsKeys); // Gefiatteerd
+ fac.getSqlGoedkeurMld("close", prsKeys, params); // Gefiatteerd
if (params.getrejected)
sql += " UNION ALL "
+ fac.getSqlGoedkeurMld("reject", prsKeys); // Afgewezen
+ fac.getSqlGoedkeurMld("reject", prsKeys, params); // Afgewezen
if (haveORDOAPrights && params.getopen)
{
sql += " UNION ALL "
+ fac.getSqlAccAfwOff(); // Te accepteren/Af te wijzen offertes (offerte opdrachten) van meldingen waarvoor nog geen uitvoeringsopdracht is aangemaakt.
+ fac.getSqlAccAfwOff(params); // Te accepteren/Af te wijzen offertes (offerte opdrachten) van meldingen waarvoor nog geen uitvoeringsopdracht is aangemaakt.
}
sql = "SELECT * FROM (" + sql + ") ORDER BY sortdate, aanvraagnummer ASC";

View File

@@ -18,20 +18,23 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<%
FCLTHeader.Requires({plugins:["jQuery"], js: ["jquery-ui.js"]});
var autosearch = getQParamInt("autosearch", 1) == 1;
var opdrtype_key = getQParamInt("opdrtype_key", -1); // Opdrachttype
var dis_key = getQParamInt("district_key", -1); // District
var loc_key = getQParamInt("locatie_key", -1); // Locatie
var bld_key = getQParamInt("gebouw_key", -1); // Gebouw
var getOpen = getQParamInt("open", 0) == 1;
var getClosed = getQParamInt("close", 0) == 1;
var getRejected = getQParamInt("reject", 0) == 1;
if (!getOpen && !getClosed && !getRejected)
getOpen = true;
var autfunction = "WEB_ORDOAP";
var haveORDOAPrights = user.checkAutorisation(autfunction, true);
%>
<html>
<head>
@@ -67,11 +70,60 @@ var haveORDOAPrights = user.checkAutorisation(autfunction, true);
<form name="u2" method="get" action="fac_fiattering_list.asp" target="workFrame">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<tr>
<td><label><%=L("lcl_status")%>:</label></td>
<td><input id="copen" name="open" type="checkbox" value="1" <%=getOpen?"checked":""%> onClick="checkCheckboxes()"></td><td><label for="copen"><%=L("lcl_bes_chek1")%></label></td>
<td><input id="cclose" name="close" type="checkbox" value="1" <%=getClosed?"checked":""%> onClick="checkCheckboxes()"></td><td><label for="cclose"><%=L("lcl_fac_gefiatteerd")%></label></td>
<td><input id="creject" name="reject" type="checkbox" value="1" <%=getRejected?"checked":""%> onClick="checkCheckboxes()"></td><td><label for="creject"><%=L("lcl_fac_afgewezen")%></label></td>
<td class="searchkolom1"><!-- start column 1 -->
<table><!-- x rijen, 2 kolommen: label + veld -->
<!-- Locatie/gebouw -->
<%
// Weet niet zeker of het volgende dekkend is
//var autfunctions = 'WEB_MLD,USEWEB_INSMAN,WEB_INSUSE,WEB_ALGMAN,WEB_ALGUSE,WEB_MLDBO2,WEB_ORDBO2,WEB_MLDBOF';
//var authparams = user.checkAutorisation(autfunctions.split(","));
FCLTplaatsselector(-1,
{ districtkey: dis_key,
locatiekey: loc_key,
gebouwkey: bld_key,
startlevel: 1, // district
eindlevel: 3, // gebouw
terrein: true,
whenEmpty: L("lcl_search_generic") // want filter
});
%>
</table>
</td><!-- end column 1 -->
<!-- Second column -->
<td class="searchkolom2">
<table><!-- x rijen, 2 kolommen: label + veld -->
<!-- Opdrachttype -->
<% sql = "SELECT mld_typeopdr_key"
+ ", mld_typeopdr_omschrijving"
+ " FROM mld_typeopdr"
+ " ORDER BY 2"
FCLTselector("opdrtype_key",
sql,
{ initKey: opdrtype_key,
label: L("lcl_mld_typeopdr"),
trclass: "primsearch",
emptyOption: "",
initEmpty: true
})
%>
</table>
</td><!-- end column 2 -->
</tr>
<!-- Status checkboxen -->
<tr>
<td colspan="2">
<div id="statusboxes">
<label><%=L("lcl_status")%>:</label>
<input id="copen" name="open" type="checkbox" value="1" <%=getOpen?"checked":""%> onClick="checkCheckboxes()"><label for="copen"><%=L("lcl_bes_chek1")%></label>
<input id="cclose" name="close" type="checkbox" value="1" <%=getClosed?"checked":""%> onClick="checkCheckboxes()"><label for="cclose"><%=L("lcl_fac_gefiatteerd")%></label>
<input id="creject" name="reject" type="checkbox" value="1" <%=getRejected?"checked":""%> onClick="checkCheckboxes()"><label for="creject"><%=L("lcl_fac_afgewezen")%></label>
</div>
</td>
</tr>
<% BLOCK_END();
CreateButtons([{title: L("lcl_search"), action: "document.forms.u2.submit()"}]);

24
APPL/FAC/fac_iirf.ini Normal file
View File

@@ -0,0 +1,24 @@
# IsapiRewrite4.ini
#
# ini file for the ISAPI rewriter.
#
#
# $Id$
#
# RewriteLog c:\temp\iirf2
# RewriteLogLevel 0
RewriteHeader FCLT-REWRITER ^$ 1.00
RewriteBase ON
# /api2/buildings/1234.xml?apikey=apikey123 /default.asp?api2=buildings&format=xml&id=1234&apikey=apikey123
RewriteRule ^/api2/([a-z]+)/(\d+)\.(xml|json|html)/? /default.asp?api2=$1&format=$3&id=$2 [QSA]
# /api2/buildings.xml?apikey=apikey123 /default.asp?api2=buildings&format=xml&apikey=apikey123
RewriteRule ^/api2/([a-z]+)\.(xml|json|html)/? /default.asp?api2=$1&format=$2 [QSA]
# /melding/1234 /appl/mld/mld_melding.asp?mld_key=1234
# Geeft relatieve pad problemen
# RewriteRule ^/melding/(\d+) /appl/mld/mld_melding.asp?mld_key=$1 [QSA]

View File

@@ -42,6 +42,7 @@ if (domein_key > 0)
domein_objectnaam: oRs("fac_kenmerkdomein_objectnaam").value,
domein_kolomnaam: oRs("fac_kenmerkdomein_kolomnaam").value,
domein_kolomtxt: oRs("fac_kenmerkdomein_kolomtxt").value,
domein_kolomverval: oRs("fac_kenmerkdomein_verval").value,
domein_xmlnode: oRs("fac_kenmerkdomein_xmlnode").value,
fac_usrtab_key: oRs("fac_usrtab_key").value,
fac_usrtab_omschrijving: oRs("fac_usrtab_omschrijving").value
@@ -70,6 +71,7 @@ else
{ dbs: "fac_kenmerkdomein_objectnaam", typ: "varchar", frm: "objectnaam" },
{ dbs: "fac_kenmerkdomein_kolomnaam", typ: "varchar", frm: "kolomnaam" },
{ dbs: "fac_kenmerkdomein_kolomtxt", typ: "varchar", frm: "kolomtxt" },
{ dbs: "fac_kenmerkdomein_verval", typ: "varchar", frm: "kolomverval" },
{ dbs: "fac_kenmerkdomein_module", typ: "varchar", frm: "module" },
{ dbs: "fac_kenmerkdomein_xmlnode", typ: "varchar", frm: "xmlnode" },
{ dbs: "fac_usrtab_key", typ: "key", frm: "usrtabkey" }
@@ -225,6 +227,7 @@ else
myRWFIELD("objectnaam", "fld", L("lcl_kenmerkdomein_objectnaam"), domein.domein_objectnaam);
myRWFIELD("kolomnaam", "fld", L("lcl_kenmerkdomein_kolomnaam"), domein.domein_kolomnaam);
myRWFIELD("kolomtxt", "fld", L("lcl_kenmerkdomein_kolomtxt"), domein.domein_kolomtxt);
myRWFIELD("kolomverval", "fld", L("lcl_kenmerkdomein_verval"), domein.domein_kolomverval);
myRWFIELD("xmlnode", "fld", L("lcl_kenmerkdomein_xmlnode"), domein.domein_xmlnode);
BLOCK_END();
IFACE.FORM_END();

View File

@@ -7,18 +7,22 @@
Description: Beoordelen van een (eigen) afgehandelde melding etc
Parameters: key
xmlnode
Context: vanuit de lijst van eigen afgemelden zaken
Status: Opzetje
Context: vanuit de lijst van eigen afgemelde zaken
of een deeplink vanuit een bon
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="./fac_like.inc" -->
<%
FCLTHeader.Requires({ plugins: ["jQuery"] });
var key = getQParamInt("key");
var node = getQParam("node");
var this_like = like.func_enabled_like(key, node);
user.auth_required_or_abort(this_like.canChange);
var oordeel = getFParam("oordeel", null);
var TransitParam = buildTransitParam(["key", "node"]);
@@ -34,27 +38,39 @@ var TransitParam = buildTransitParam(["key", "node"]);
</head>
<script type="text/javascript">
function fac_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
function setOordeel(w)
function fac_submit()
{
$("#oordeel").val(w);
if (!$("[name=flike_oordeel]:checked").val())
{
alert("<%=L('lcl_fac_like_geenoordeel')%>");
return false;
}
$.post($("form[name=flike]")[0].action, $("[name=flike]").serialize(), FcltCallbackClose, "json");
return true; // disable button
}
function togglerPressed()
{
$("#flike_opmerk").show();
FcltMgr.resized(window);
}
</script>
<body class="modal" id="fac_like">
<form id="flike" name="flike" action="fac_like_save.asp?x=x<%=TransitParam%>" method="post">
<input id="oordeel" name="oordeel" type="hidden">
<%
BLOCK_START("facLike", L("lcl_fac_like_block"));
var table = "";
var txt= "??";
switch (node) {
case "melding" : var sql = "SELECT isd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) item"
case "melding" : table = "mld_melding";
var sql = "SELECT isd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) item"
+ " FROM mld_melding m"
+ " , ins_srtdiscipline isd"
+ " , ins_tab_discipline id"
@@ -65,21 +81,55 @@ var TransitParam = buildTransitParam(["key", "node"]);
+ " AND m.mld_melding_key = " + key;
oRs = Oracle.Execute(sql);
txt = L("lcl_complain").toLowerCase() + " " + oRs("item").Value; break;
case "reservering": txt = L("lcl_reservation").toLowerCase() + " R" + key; break;
case "bestelling" : txt = L("lcl_bes_bestelling").toLowerCase() + " B" + key; break;
oRs.Close();
case "reservering": table = "res_rsv_ruimte";
var sql = "SELECT TO_CHAR(res_reservering_key) || '/' || TO_CHAR(res_rsv_ruimte_volgnr) item"
+ " FROM res_rsv_ruimte"
+ " WHERE res_rsv_ruimte_key = " + key;
oRs = Oracle.Execute(sql);
txt = L("lcl_reservation").toLowerCase() + " R" + oRs("item").Value; break;
oRs.Close();
case "bestelling" : table = "bes_bestelling";
txt = L("lcl_bes_bestelling").toLowerCase() + " B" + key; break;
}
var sql = "SELECT " + table + "_satisfaction"
+ ", " + table + "_satisfaction_op"
+ " FROM " + table
+ " WHERE " + table + "_key = " + key;
var oRs = Oracle.Execute(sql);
var oordeel = oRs(0).value;
var opmerking = oRs(1).value;
oRs.Close();
%>
<div class="flikehead"><%=L("lcl_fac_like_oordeel").format(txt)%></div>
<ul class="flikeopts">
<li><a onclick="setOordeel(<%=S('fac_like_good')%>)" class="flike"><img src='../Pictures/flike_good.png'><%=L("lcl_faclike_statisf3")%></a></li>
<li><a onclick="setOordeel(<%=S('fac_like_normal')%>)" class="flike"><img src='../Pictures/flike_normal.png'><%=L("lcl_faclike_statisf2")%></a></li>
<li><a onclick="setOordeel(<%=S('fac_like_bad')%>)" class="flike"><img src='../Pictures/flike_bad.png'><%=L("lcl_faclike_statisf1")%></a></li>
<li>
<input type="radio" id="flike_oordeel" name="flike_oordeel" value="<%=S('fac_like_good')%>"<%=(oordeel==S("fac_like_good")? " checked" : "")%>>
<img src="../Pictures/flike_good.png">&nbsp&nbsp<%=L("lcl_faclike_statisf3")%>
</li>
<li>
<input type="radio" id="flike_oordeel" name="flike_oordeel" value="<%=S('fac_like_normal')%>"<%=(oordeel==S("fac_like_normal")? " checked" : "")%>>
<img src="../Pictures/flike_normal.png">&nbsp&nbsp<%=L("lcl_faclike_statisf2")%>
</li>
<li>
<input type="radio" id="flike_oordeel" name="flike_oordeel" value="<%=S('fac_like_bad')%>"<%=(oordeel==S("fac_like_bad")? " checked" : "")%>>
<img src="../Pictures/flike_bad.png">&nbsp&nbsp<%=L("lcl_faclike_statisf1")%>
</li>
</ul>
<div id="flike_op">
<img src="../pictures/togglerdown.png" onClick="togglerPressed()">
<label onClick="togglerPressed()"><%=L("lcl_fac_like_remark")%></label>
</div>
<textarea class="fldtxt" rows="3" maxlength="2000" id="flike_opmerk" name="flike_opmerk"
style="<%=(opmerking ? null : "display:none")%>"><%=safe.textarea(opmerking)%></textarea>
<div class="flikefoot"><%=L("lcl_fac_help_improve")%></div>
<%
BLOCK_END();
buttons = [];
buttons.push({title: L("lcl_fac_like_submit"), icon: "submit.png", action: "fac_submit()" });
buttons.push({title: L("lcl_cancel"), icon: "cancel.png", action: "fac_cancel()" });
CreateButtons(buttons);
IFACE.FORM_END();

36
APPL/FAC/fac_like.inc Normal file
View File

@@ -0,0 +1,36 @@
<% /*
$Revision$
$Id$
File: fac/fac_like.inc
Context:
Hulpfuncties voor fac_like
*/
like = {
// TODO: S("facilities_flike_past") er nog in betrekken?
// Autorisatie is relatief simpel: hij moet op jou naam staan of je moet contactpersoon zijn
func_enabled_like: function (key, node)
{
var result = {};
var sql;
switch (node.toUpperCase().substring(0,1))
{
case "M": sql = "SELECT prs_perslid_key, prs_perslid_key_voor FROM mld_melding WHERE mld_melding_key = " + key; break;
case "R": sql = "SELECT res_rsv_ruimte_host_key, res_rsv_ruimte_contact_key FROM res_rsv_ruimte WHERE res_rsv_ruimte_key = " + key; break;
case "B": sql = "SELECT prs_perslid_key, prs_perslid_key_voor FROM bes_bestelling WHERE bes_bestelling_key = " + key; break;
default: INTERNAL_ERROR_UNKNOWN_LIKENODE;
}
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
result.canChange = oRs(0).Value == user_key || oRs(1).Value == user_key;
}
oRs.Close();
return result;
}
}
%>

View File

@@ -3,45 +3,45 @@
$Revision$
$Id$
File: fac_like.asp
Description: Beoordelen van een (eigen) afgehandelde melding etc
File: fac_like_save.asp
Description: Opsla script voor fac_like.asp
Parameters: key
xmlnode
Context: vanuit de lijst van eigen afgemelden zaken
Status: Opzetje
*/ %>
<%
JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./fac_like.inc" -->
<%
protectRequest.validateToken();
var result = { message: "", success: false };
var key = getQParamInt("key");
var node = getQParam("node");
var oordeel = getFParamInt("oordeel");
var TransitParam = buildTransitParam(["key", "node"]);
var this_like = like.func_enabled_like(key, node);
user.auth_required_or_abort(this_like.canChange);
// validatie:
// is het van mij
// mag ik het etc.
var oordeel = getFParamInt("flike_oordeel");
var opmerking = getFParam("flike_opmerk", "");
if (oordeel)
{
var sql;
var table = "";
switch (node.toUpperCase().substring(0,1))
{
case "M": sql = "UPDATE mld_melding SET mld_melding_satisfaction = " + oordeel + " WHERE mld_melding_key = " + key; break;
case "R": sql = "UPDATE res_rsv_ruimte SET res_rsv_ruimte_satisfaction = " + oordeel + " WHERE res_rsv_ruimte_key = " + key; break;
case "B": sql = "UPDATE bes_bestelling SET bes_bestelling_satisfaction = " + oordeel + " WHERE bes_bestelling_key = " + key; break;
default: sql = null;
case "M": table = "mld_melding"; break;
case "R": table = "res_rsv_ruimte"; break;
case "B": table = "bes_bestelling"; break;
default: INTERNAL_ERROR_UNKNOWN_LIKENODE;
}
if (sql)
Oracle.Execute(sql);
var sql = "UPDATE " + table
+ " SET " + table + "_satisfaction = " + oordeel
+ " , " + table + "_satisfaction_op = " + safe.quoted_sql(opmerking)
+ " WHERE " + table + "_key = " + key;
Oracle.Execute(sql);
}
result.success = true;

View File

@@ -115,8 +115,10 @@ function isGereed(pxmlnode, pstatuskey)
return isgereed;
}
function fnLike(oRs)
function fnLike(oRs, processParams)
{
var isRemote = (processParams && processParams.disc_key);
var likesymbol = "";
var xmlnode = oRs.Fields("xmlnode").Value;
var statuskey = oRs.Fields("status_key").Value;
@@ -124,9 +126,9 @@ function fnLike(oRs)
if (isGereed(xmlnode, (xmlnode == "reservering"? bostatuskey : statuskey)))
{
//likesymbol = "<img src='" + shared.satisfactionsymbol(oRs.Fields("satisfaction").Value, {shownone: true}) + "'>";
likesymbol = rater(oRs.Fields("satisfaction").Value, {shownone: true, readonly: true});
likesymbol = "<div onclick='fLike(event, \"" + oRs.Fields("item_key").Value + "\", \"" + oRs.Fields("xmlnode").Value +"\")'>" + likesymbol + "</div>";
likesymbol = "<img src='" + shared.satisfactionsymbol(oRs.Fields("satisfaction").Value, {shownone: true}) + "' title='" + safe.htmlattr(oRs.Fields("satisfaction_op").Value) + "'>";
//likesymbol = rater(oRs.Fields("satisfaction").Value, {shownone: true, readonly: true});
likesymbol = "<div onclick='fLike(event, \"" + oRs.Fields("item_key").Value + "\", \"" + oRs.Fields("xmlnode").Value +"\", "+(isRemote?1:0)+")'>" + likesymbol + "</div>";
}
return likesymbol;
}
@@ -210,7 +212,7 @@ function sqlTracking(refkey, node)
<head>
<% FCLTHeader.Generate({outputmode: outputmode}) %>
<script type='text/javascript'>
function facDetail(row)
function facDetail(row, autolike)
{
var facData = eval('(' + row.getAttribute("ROWDATA") + ')');
var item_key = row.getAttribute("ROWKEY");
@@ -223,8 +225,11 @@ function sqlTracking(refkey, node)
case "reservering":
if (facData.disc_key)
{
url = "appl/res/res_goto_extern.asp?res_disc_key=" + facData.disc_key + "&deepurl=" + escape(facData.deepurl);
FcltMgr.openDetail(url, { reuse: true, is_extern: true, titel: L("lcl_reservation") + " " + facData.item });
var deepurl = facData.deepurl;
if (autolike)
deepurl += "&autolike=1";
url = "appl/res/res_goto_extern.asp?res_disc_key=" + facData.disc_key + "&deepurl=" + escape(deepurl);
FcltMgr.openDetail(url, { reuse: true, is_extern: true, titel: L("lcl_reservation_extern") + " " + facData.item });
}
else // Gewoon intern
FcltMgr.openDetail("appl/res/res_reservering.asp?urole=<%=urole%>&rsv_ruimte_key=" + item_key, { reuse: true });
@@ -238,11 +243,18 @@ function sqlTracking(refkey, node)
}
}
function fLike (event, itemkey, node)
function fLike (event, itemkey, node, isRemote)
{
// Dit is een opzetje, moet vast anders.
FcltMgr.stopPropagation(event);
FcltMgr.openModalDetail("fac_like.asp?key=" + itemkey + "&node=" + node, L("lcl_fac_like"), {callback: FcltCallbackRefresh});
if (!isRemote)
{
FcltMgr.openModalDetail("fac_like.asp?key=" + itemkey + "&node=" + node, L("lcl_fac_like"), {callback: FcltCallbackRefresh});
}
else
{
var deze = event.srcElement || event.target;
facDetail($(deze).closest("tr")[0], true);
}
}
</script>
@@ -284,6 +296,7 @@ function sqlTracking(refkey, node)
: " , " + lcl.xsql('sm.mld_stdmelding_omschrijving', 'sm.mld_stdmelding_key') + " detail")
+ " , ' ' status"
+ " , m.mld_melding_satisfaction satisfaction"
+ " , m.mld_melding_satisfaction_op satisfaction_op"
+ " , m.mld_melding_status status_key"
+ " , NULL bo_status_key"
+ sqlTracking('m.mld_melding_key', 'melding')
@@ -304,9 +317,7 @@ function sqlTracking(refkey, node)
+ " OR (m.mld_melding_status IN (1, 5, 6)"
+ " AND tr.fac_tracking_datum > SYSDATE - " + S("facilities_flike_past")
+ " AND str.fac_srtnotificatie_code = 'MLDAFM'))"
+ (!showall
? " AND (m.mld_melding_einddatum BETWEEN SYSDATE - " + S("facilitiespast_mld") + " AND SYSDATE + " + S("facilitiesfuture_mld") + " OR m.mld_melding_einddatum IS NULL)"
: "")
+ " AND (m.mld_melding_einddatum BETWEEN SYSDATE - " + S("facilitiespast_mld") + " AND SYSDATE + " + S("facilitiesfuture_mld") + " OR m.mld_melding_einddatum IS NULL)"
+ " UNION ALL "
+ "SELECT m.prs_perslid_key_voor prs_perslid_key" // melding voor jou
+ " , isd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) item"
@@ -321,6 +332,7 @@ function sqlTracking(refkey, node)
: " , " + lcl.xsql('sm.mld_stdmelding_omschrijving', 'sm.mld_stdmelding_key') + " detail")
+ " , ' ' status"
+ " , m.mld_melding_satisfaction satisfaction"
+ " , m.mld_melding_satisfaction_op satisfaction_op"
+ " , m.mld_melding_status status_key"
+ " , NULL bo_status_key"
+ sqlTracking('m.mld_melding_key', 'melding')
@@ -342,9 +354,7 @@ function sqlTracking(refkey, node)
+ " OR (m.mld_melding_status IN (1, 5, 6)"
+ " AND tr.fac_tracking_datum > SYSDATE - " + S("facilities_flike_past")
+ " AND str.fac_srtnotificatie_code = 'MLDAFM'))"
+ (!showall
? " AND (m.mld_melding_einddatum BETWEEN SYSDATE - " + S("facilitiespast_mld") + " AND SYSDATE + " + S("facilitiesfuture_mld") + " OR m.mld_melding_einddatum IS NULL)"
: "")
+ " AND (m.mld_melding_einddatum BETWEEN SYSDATE - " + S("facilitiespast_mld") + " AND SYSDATE + " + S("facilitiesfuture_mld") + " OR m.mld_melding_einddatum IS NULL)"
+ " UNION ALL "
+ "SELECT b.prs_perslid_key prs_perslid_key" // Bestelling door jou
+ " , TO_CHAR (bes_bestelling_key)"
@@ -362,7 +372,8 @@ function sqlTracking(refkey, node)
+ " AND bi.bes_srtdeel_key = sd.bes_srtdeel_key "
+ " AND bi.bes_bestelling_key = b.bes_bestelling_key)) oms"
+ " , ' ' status"
+ " , b.bes_bestelling_satisfaction"
+ " , b.bes_bestelling_satisfaction satisfaction"
+ " , b.bes_bestelling_satisfaction_op satisfaction_op"
+ " , b.bes_bestelling_status status_key"
+ " , NULL bo_status_key"
+ sqlTracking('bes_bestelling_key', 'bestelling')
@@ -376,9 +387,7 @@ function sqlTracking(refkey, node)
+ " AND b.fac_activiteit_key IS NULL"
+ " AND b.bes_bestelling_key = tr.fac_tracking_refkey(+)"
+ " AND tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key(+)"
+ (!showall
? " AND (b.bes_bestelling_leverdatum BETWEEN SYSDATE - " + S("facilitiespast_bes") + " AND SYSDATE + " + S("facilitiesfuture_bes") + " OR b.bes_bestelling_leverdatum IS NULL)"
: "")
+ " AND (b.bes_bestelling_leverdatum BETWEEN SYSDATE - " + S("facilitiespast_bes") + " AND SYSDATE + " + S("facilitiesfuture_bes") + " OR b.bes_bestelling_leverdatum IS NULL)"
+ " UNION "
+ "SELECT b.prs_perslid_key_voor prs_perslid_key" // Bestelling voor jou
+ " , TO_CHAR (bes_bestelling_key)"
@@ -399,6 +408,7 @@ function sqlTracking(refkey, node)
+ " AND bi.bes_bestelling_key = b.bes_bestelling_key)) oms"
+ " , ' ' status"
+ " , b.bes_bestelling_satisfaction"
+ " , b.bes_bestelling_satisfaction_op satisfaction_op"
+ " , b.bes_bestelling_status status_key"
+ " , NULL bo_status_key"
+ sqlTracking('bes_bestelling_key', 'bestelling')
@@ -412,9 +422,7 @@ function sqlTracking(refkey, node)
+ " AND b.bes_bestelling_key = tr.fac_tracking_refkey(+)"
+ " AND tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key(+)"
+ " AND b.prs_perslid_key_voor <> b.prs_perslid_key" // die had ik in het vorige stuk ook al
+ (!showall
? " AND (b.bes_bestelling_leverdatum BETWEEN SYSDATE - " + S("facilitiespast_bes") + " AND SYSDATE + " + S("facilitiesfuture_bes") + " OR b.bes_bestelling_leverdatum IS NULL)"
: "")
+ " AND (b.bes_bestelling_leverdatum BETWEEN SYSDATE - " + S("facilitiespast_bes") + " AND SYSDATE + " + S("facilitiesfuture_bes") + " OR b.bes_bestelling_leverdatum IS NULL)"
+ " UNION ALL "
+ "SELECT ins_alg_ruimte_key prs_perslid_key"
+ " , ins_deel_omschrijving"
@@ -424,6 +432,7 @@ function sqlTracking(refkey, node)
+ " , " + lcl.xsql('sd.ins_srtdeel_omschrijving', 'sd.ins_srtdeel_key') //tt
+ " , ' ' status"
+ " , to_number(null) satisfaction"
+ " , NULL satisfaction_op"
+ " , NULL status_key"
+ " , NULL bo_status_key"
+ sqlTracking('ins_deel_key', 'deel')
@@ -441,6 +450,7 @@ function sqlTracking(refkey, node)
+ " WHERE res_activiteit_key = rr.res_activiteit_key)) oms"
+ " , ' ' status"
+ " , res_rsv_ruimte_satisfaction satisfaction"
+ " , res_rsv_ruimte_satisfaction_op satisfaction_op"
+ " , DECODE (res_rsv_ruimte_dirtlevel, 0, rr.res_status_fo_key, -1) status_key"
+ " , rr.res_status_bo_key bo_status_key"
+ sqlTracking("rr.res_rsv_ruimte_key","reservering")
@@ -453,9 +463,7 @@ function sqlTracking(refkey, node)
+ " AND str.fac_srtnotificatie_code = 'RESAFM'))"
+ " AND rr.res_rsv_ruimte_key = tr.fac_tracking_refkey(+)"
+ " AND tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key(+)"
+ (!showall
? " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
: "")
+ " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
+ " UNION " // 2 Contact ruimtereservering
+ "SELECT rr.res_rsv_ruimte_contact_key prs_perslid_key"
+ " , TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr"
@@ -467,14 +475,13 @@ function sqlTracking(refkey, node)
+ " WHERE res_activiteit_key = rr.res_activiteit_key)) oms"
+ " , ' ' status"
+ " , res_rsv_ruimte_satisfaction satisfaction"
+ " , res_rsv_ruimte_satisfaction_op satisfaction_op"
+ " , DECODE (res_rsv_ruimte_dirtlevel, 0, rr.res_status_fo_key, -1) status_key"
+ " , rr.res_status_bo_key bo_status_key"
+ sqlTracking("rr.res_rsv_ruimte_key","reservering")
+ " FROM res_v_aanwezigrsv_ruimte rr"
+ " WHERE rr.res_status_bo_key IN (4, 3, 2, 7)"
+ (!showall
? " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
: "")
+ " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
+ " UNION ALL " // 3 Host voorzieningreservering, dirtlevel van de onderliggenden bepalen?
+ "SELECT rr.res_rsv_ruimte_host_key prs_perslid_key"
+ " , TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr"
@@ -486,15 +493,14 @@ function sqlTracking(refkey, node)
+ " WHERE res_activiteit_key = rr.res_activiteit_key)) oms"
+ " , ' ' status"
+ " , res_rsv_ruimte_satisfaction satisfaction"
+ " , res_rsv_ruimte_satisfaction_op satisfaction_op"
+ " , DECODE (res_rsv_ruimte_dirtlevel + res_rsv_deel_dirtlevel, 0, rr.res_status_fo_key, -1) status_key"
+ " , rr.res_status_bo_key bo_status_key"
+ sqlTracking("rr.res_rsv_ruimte_key","reservering")
+ " FROM res_v_aanwezigrsv_ruimte rr"
+ " , res_v_aanwezigrsv_deel dd"
+ " WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
+ (!showall
? " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
: "")
+ " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
+ " UNION " // 4 Contact voorzieningreservering dirtlevel van de onderliggenden bepalen?
+ "SELECT rr.res_rsv_ruimte_contact_key prs_perslid_key"
+ " , TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr"
@@ -506,15 +512,14 @@ function sqlTracking(refkey, node)
+ " WHERE res_activiteit_key = rr.res_activiteit_key)) oms"
+ " , ' ' status"
+ " , res_rsv_ruimte_satisfaction satisfaction"
+ " , res_rsv_ruimte_satisfaction_op satisfaction_op"
+ " , DECODE (res_rsv_ruimte_dirtlevel + res_rsv_deel_dirtlevel, 0, rr.res_status_fo_key, -1) status_key"
+ " , rr.res_status_bo_key bo_status_key"
+ sqlTracking("rr.res_rsv_ruimte_key","reservering")
+ " FROM res_v_aanwezigrsv_ruimte rr"
+ " , res_v_aanwezigrsv_deel dd"
+ " WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
+ (!showall
? " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
: "")
+ " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
+ " UNION ALL " // 5 Host cateringreservering dirtlevel van de onderliggenden bepalen?
+ "SELECT rr.res_rsv_ruimte_host_key prs_perslid_key"
+ " , TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr"
@@ -526,15 +531,14 @@ function sqlTracking(refkey, node)
+ " WHERE res_activiteit_key = rr.res_activiteit_key)) oms"
+ " , ' ' status"
+ " , res_rsv_ruimte_satisfaction satisfaction"
+ " , res_rsv_ruimte_satisfaction_op satisfaction_op"
+ " , DECODE (res_rsv_ruimte_dirtlevel + res_rsv_artikel_dirtlevel, 0, rr.res_status_fo_key, -1) status_key"
+ " , rr.res_status_bo_key bo_status_key"
+ sqlTracking("rr.res_rsv_ruimte_key","reservering")
+ " FROM res_v_aanwezigrsv_ruimte rr"
+ " , res_v_aanwezigrsv_artikel dd"
+ " WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key "
+ (!showall
? " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
: "")
+ " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
+ " UNION " // 6 Contact cateringreservering dirtlevel van de onderliggenden bepalen?
+ "SELECT rr.res_rsv_ruimte_contact_key prs_perslid_key"
+ " , TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr"
@@ -546,15 +550,14 @@ function sqlTracking(refkey, node)
+ " WHERE res_activiteit_key = rr.res_activiteit_key)) oms"
+ " , ' ' status"
+ " , res_rsv_ruimte_satisfaction satisfaction"
+ " , res_rsv_ruimte_satisfaction_op satisfaction_op"
+ " , DECODE (res_rsv_ruimte_dirtlevel + res_rsv_artikel_dirtlevel, 0, rr.res_status_fo_key, -1) status_key"
+ " , rr.res_status_bo_key bo_status_key"
+ sqlTracking("rr.res_rsv_ruimte_key","reservering")
+ " FROM res_v_aanwezigrsv_ruimte rr"
+ " , res_v_aanwezigrsv_artikel dd"
+ " WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
+ (!showall
? " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
: "")
+ " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
+ " UNION ALL "
+ "SELECT a.bez_afspraak_contact_key prs_perslid_key"
+ " , TO_CHAR (b.bez_afspraak_key)"
@@ -563,16 +566,15 @@ function sqlTracking(refkey, node)
+ " , a.bez_afspraak_datum datum"
+ " , b.bez_afspraak_naam || (CASE WHEN bez_afspraak_bedrijf IS NOT NULL THEN ' (' || bez_afspraak_bedrijf || ')' END) oms"
+ " , (CASE WHEN bez_bezoekers_done IS NOT NULL THEN 'lcl_vis_inside_st' ELSE 'lcl_vis_expected_st' END) status"
+ " , NULL"
+ " , NULL satisfaction"
+ " , NULL satisfaction_op"
+ " , NULL status_key"
+ " , NULL bo_status_key"
+ sqlTracking('b.bez_afspraak_key', 'afspraak')
+ " FROM bez_bezoekers b"
+ " , bez_afspraak a"
+ " WHERE b.bez_afspraak_key = a.bez_afspraak_key AND bez_bezoekers_out IS NULL"
+ (!showall
? " AND (a.bez_afspraak_datum BETWEEN SYSDATE - " + S("facilitiespast_bez") + " AND SYSDATE + " + S("facilitiesfuture_bez") + " OR a.bez_afspraak_datum IS NULL)"
: "")
+ " AND (a.bez_afspraak_datum BETWEEN SYSDATE - " + S("facilitiespast_bez") + " AND SYSDATE + " + S("facilitiesfuture_bez") + " OR a.bez_afspraak_datum IS NULL)"
+ " UNION "
+ "SELECT a.bez_afspraak_host_key prs_perslid_key"
+ " , TO_CHAR (b.bez_afspraak_key)"
@@ -581,16 +583,15 @@ function sqlTracking(refkey, node)
+ " , a.bez_afspraak_datum datum"
+ " , b.bez_afspraak_naam || (CASE WHEN bez_afspraak_bedrijf IS NOT NULL THEN ' (' || bez_afspraak_bedrijf || ')' END) oms"
+ " , (CASE WHEN bez_bezoekers_done IS NOT NULL THEN 'lcl_vis_inside_st' ELSE 'lcl_vis_expected_st' END) status"
+ " , NULL"
+ " , NULL satisfaction"
+ " , NULL satisfaction_op"
+ " , NULL status_key"
+ " , NULL bo_status_key"
+ sqlTracking('b.bez_afspraak_key', 'afspraak')
+ " FROM bez_bezoekers b"
+ " , bez_afspraak a"
+ " WHERE b.bez_afspraak_key = a.bez_afspraak_key AND bez_bezoekers_out IS NULL"
+ (!showall
? " AND (a.bez_afspraak_datum BETWEEN SYSDATE - " + S("facilitiespast_bez") + " AND SYSDATE + " + S("facilitiesfuture_bez") + " OR a.bez_afspraak_datum IS NULL)"
: "");
+ " AND (a.bez_afspraak_datum BETWEEN SYSDATE - " + S("facilitiespast_bez") + " AND SYSDATE + " + S("facilitiesfuture_bez") + " OR a.bez_afspraak_datum IS NULL)";
sqln = "SELECT prs_perslid_key"
+ " , item"
@@ -600,6 +601,7 @@ function sqlTracking(refkey, node)
+ " , detail"
+ " , status"
+ " , satisfaction"
+ " , satisfaction_op"
+ " , status_key"
+ " , recentdatum"
+ " , bo_status_key"
@@ -639,43 +641,63 @@ function sqlTracking(refkey, node)
var cnt = rst.processResultset();
// Overzicht externe ruimtes
autfunction = "WEB_RESUSE";
var sql = res.getremotes_sql(autfunction);
var oRs = Oracle.Execute(sql);
// Als je hier weet dat er intern niks was zou je deze externe opties initieel opengeklapt willen?
while( !oRs.eof )
var mayberemote = Session("has_no_remote_res") != 1;
if (mayberemote)
{
var url = oRs("res_disc_params_remoteurl").Value + "&API=RESINFO";
var disc_key = oRs("ins_discipline_key").Value;
var xparams = { request: "user_lopend_info",
prs_externId: customerId + "_" + String(user_key)
}
var cnt_remote = 0;
autfunction = "WEB_RESUSE";
var sql = res.getremotes_sql(autfunction);
var user_lopend_info = HTTP.getJSON(url, xparams).user_lopend_info;
if (user_lopend_info.length)
var oRs = Oracle.Execute(sql);
// Als je hier weet dat er intern niks was zou je deze externe opties initieel opengeklapt willen?
while( !oRs.eof )
{
%>
<div class="resexternlist">
<span class="resexterntitle">
<%= L("lcl_res_extern_prefix") + Server.HTMLencode(oRs("ins_discipline_omschrijving").Value)%>
</span>
<div class="resexterndiv">
<%
rst.buttons = [];
rst.sql = null;
rst.ID = "factable2";
rst.dataset = user_lopend_info;
var cnt = rst.processResultset({ disc_key: disc_key });
%>
</div>
</div>
<%
}
oRs.MoveNext();
}
oRs.close();
var url = oRs("res_disc_params_remoteurl").Value + "&API=RESINFO";
var disc_key = oRs("ins_discipline_key").Value;
var xparams = { request: "user_lopend_info",
prs_externId: customerId + "_" + String(user_key)
}
var json = HTTP.getJSON(url, xparams);
if (!json)
{
__DoLog("user_lopend_info is onverwacht geen Array bij opvragen van:", "#FF0000");
__DoLogj(xparams);
}
else
{
if (json.user_lopend_info.length)
{
cnt_remote += json.user_lopend_info.length;
%>
<div class="resexternlist">
<span class="resexterntitle">
<%= L("lcl_res_extern_prefix") + safe.html(oRs("ins_discipline_omschrijving").Value)%>
</span>
<div class="resexterndiv">
<%
rst.buttons = [];
rst.sql = null;
rst.ID = "factable2";
rst.dataset = json.user_lopend_info;
var cnt = rst.processResultset({ disc_key: disc_key });
%>
</div>
</div>
<%
}
}
oRs.MoveNext();
}
oRs.close();
if (!cnt_remote)
{
__Log("No remotes found. Setting Session('has_no_remote_res')");
Session("has_no_remote_res") = 1; // Wordt eventueel in res_goto_extern.asp gereset
}
}
else
__Log("Session('has_no_remote_res') is set. Skipping remotes check.");
%>
</body>
</html>

View File

@@ -61,14 +61,14 @@ var maxlen = oRs(0).Value;
if (tekst == "")
{
var sql = "DELETE FROM FAC_LOCALE"
+ " WHERE fac_locale_lang = '" + i + "'"
+ " WHERE fac_locale_lang = " + safe.quoted_sql(i)
+ " AND fac_locale_kolomnaam = " + safe.quoted_sql_upper(kolomnaam)
+ " AND fac_locale_kolomkeyval = " + kolomkeyval
}
else
{
var sql = "SELECT 1 FROM FAC_LOCALE"
+ " WHERE fac_locale_lang = '" + i + "'"
+ " WHERE fac_locale_lang = " + safe.quoted_sql(i)
+ " AND fac_locale_kolomnaam = " + safe.quoted_sql_upper(kolomnaam)
+ " AND fac_locale_kolomkeyval = " + kolomkeyval;
oRs = Oracle.Execute(sql)
@@ -81,7 +81,7 @@ var maxlen = oRs(0).Value;
else
{
var sql = "UPDATE FAC_LOCALE SET fac_locale_tekst = " + safe.quoted_sql(tekst, maxlen)
+ " WHERE fac_locale_lang = '" + i + "'"
+ " WHERE fac_locale_lang = " + safe.quoted_sql(i)
+ " AND fac_locale_kolomnaam = " + safe.quoted_sql_upper(kolomnaam)
+ " AND fac_locale_kolomkeyval = " + kolomkeyval;
}
@@ -116,7 +116,7 @@ var maxlen = oRs(0).Value;
for (i in lcl.languages)
{
if (i != db_lang)
talen_arr.push("SELECT '" + i + "' fac_locale_lang FROM DUAL");
talen_arr.push("SELECT " + safe.quoted_sql(i) + " fac_locale_lang FROM DUAL");
}
var talen = talen_arr.join(" UNION ");

View File

@@ -59,9 +59,9 @@ maxlen = 2000; // fac_locale_xsl_cust
</head>
<body class="modal" id="localebody">
<form id="lclform" name="lclform" action="fac_locale_edit_std.asp?submit=1&lcl_label=<%=lcl_label%>" method="post">
<form id="lclform" name="lclform" action="fac_locale_edit_std.asp?submit=1&lcl_label=<%=safe.htmlattr(lcl_label)%>" method="post">
<%
BLOCK_START("lcl_locale_std", L("lcl_lcl_xsl_label") + ": " + lcl_label);
BLOCK_START("lcl_locale_std", L("lcl_lcl_xsl_label") + ": " + safe.html(lcl_label));
//kolomkeydata
var talen_arr = [];

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