1028 Commits

Author SHA1 Message Date
Erik Groener
59163d47d1 PNBR#91001 Probleem bij koppeling Facilitor en Topdesk; bijlagen falen.
svn path=/Website/branches/v2025.2/; revision=70608
2025-10-14 10:18:51 +00:00
Jos Groot Lipman
ec35b94f39 UWVA#91043 API2/orders 'externalnr' bewerkbaar met WEB_FACXNR
svn path=/Website/branches/v2025.2/; revision=70598
2025-10-13 12:30:34 +00:00
Jos Groot Lipman
b0f95dd044 FZKH#87266 prs_perslid_mobiel generiek kunnen aanpass
svn path=/Website/branches/v2025.2/; revision=70595
2025-10-13 09:04:16 +00:00
Erik Groener
ba2af746f2 PNBR#91001 Probleem bij koppeling Facilitor en Topdesk; bijlagen falen.
svn path=/Website/branches/v2025.2/; revision=70593
2025-10-13 08:52:41 +00:00
Jos Groot Lipman
442662fb6b YKPN#90406 Contract aanpassing factuur
svn path=/Website/branches/v2025.2/; revision=70529
2025-10-06 07:39:27 +00:00
Jos Groot Lipman
a861219867 YKPN#90406 Contract aanpassing factuur
svn path=/Website/branches/v2025.2/; revision=70521
2025-10-03 18:20:05 +00:00
eadbaf389c APGR#90937 syntaxfout
svn path=/Website/branches/v2025.2/; revision=70516
2025-10-03 12:43:04 +00:00
281fc69df1 APGR#90937 Er zijn niet altijd records
svn path=/Website/branches/v2025.2/; revision=70515
2025-10-03 12:34:45 +00:00
Jos Groot Lipman
fbde984e13 Release 2025.2 Gold D
svn path=/Website/branches/v2025.2/; revision=70506
2025-10-02 13:54:47 +00:00
Jos Groot Lipman
f32fe8bba2 SGGR#83501 Omzetten goedkeuren aanvragen naar standaard functionaliteit
svn path=/Website/branches/v2025.2/; revision=70482
2025-10-01 09:27:22 +00:00
Erik Groener
04a2d9a634 FMHN#90788 Facilitor bug: Reservering herstellen mislukt in Edge en Firefox
svn path=/Website/branches/v2025.2/; revision=70454
2025-09-30 07:29:40 +00:00
Jos Groot Lipman
b360a101f1 FCLT#90593 Multi-edit van technische adressen werkte niet goed
svn path=/Website/branches/v2025.2/; revision=70399
2025-09-23 14:19:01 +00:00
Erik Groener
fd89e39dab PZEE#88127 fout in update van mld_melding: mld_melding_externnr
svn path=/Website/branches/v2025.2/; revision=70397
2025-09-23 12:48:41 +00:00
0535114b68 UWVA#90538 Zonder afhandel-rechten mag je (ook in het kaarten-overzicht) de primaire behandelaar niet aanpassen
svn path=/Website/branches/v2025.2/; revision=70386
2025-09-22 14:27:12 +00:00
Erik Groener
47eb00bb19 BRCF#90007 Automatische opdrachten worden niet automatisch aangemaakt obv contract/diens
svn path=/Website/branches/v2025.2/; revision=70338
2025-09-16 14:01:01 +00:00
Jos Groot Lipman
fd30699dfa FCLT#90593 cnt_kenmerk_niveau via 'Elke tabel' bewerkbaar
svn path=/Website/branches/v2025.2/; revision=70316
2025-09-15 09:00:12 +00:00
Erik Groener
c0989274b3 AAIT#90550 Geplande acties niet in te zien
svn path=/Website/branches/v2025.2/; revision=70298
2025-09-12 07:51:38 +00:00
Jos Groot Lipman
9e99cc52ad FCLT#90593 Oude TEMP/xxxx/exchange/*.data ook opruimen
svn path=/Website/branches/v2025.2/; revision=70249
2025-09-09 11:58:54 +00:00
Jos Groot Lipman
f1aba00372 FCLT#90593 Oude TEMP/xxxx/exchange/*.data ook opruimen
svn path=/Website/branches/v2025.2/; revision=70247
2025-09-09 11:30:33 +00:00
Jos Groot Lipman
ab2af4a9cc FCLT#90593 Putorders loggen als loglevel verzet wordt
svn path=/Website/branches/v2025.2/; revision=70244
2025-09-09 08:21:05 +00:00
bd389cb556 FCLT#90593 Herstel carousel navigatie 'Lopende Zaken'
svn path=/Website/branches/v2025.2/; revision=70243
2025-09-09 08:19:50 +00:00
Jos Groot Lipman
396e152140 Release 2025.2 Gold C
svn path=/Website/branches/v2025.2/; revision=70220
2025-09-04 15:10:24 +00:00
1e37138067 TDNL#90338 Ook naar links en boven kunnen pannen
svn path=/Website/branches/v2025.2/; revision=70215
2025-09-04 11:50:33 +00:00
3bdf389720 FCLT#90151 De melding over het beoordelen van een afmelding (assume_ok) moet natuurlijk alleen weergegeven worden als S("mld_assume_ok_days") > 0
svn path=/Website/branches/v2025.2/; revision=70209
2025-09-03 15:23:06 +00:00
0b6460d583 FCLT#90151 Graphics styling compatible gemaakt met bootstrap
svn path=/Website/branches/v2025.2/; revision=70207
2025-09-03 15:13:01 +00:00
Jos Groot Lipman
a448b7d835 FCLT#90151 Tasker custcode en taskcode insertonly maken. Dat is minder verwarrend
svn path=/Website/branches/v2025.2/; revision=70204
2025-09-03 14:30:43 +00:00
Erik Groener
d5a4b83f89 DSMA#90448 Facilitor-Base27 koppeling sinds 7 aug verbroken, foutmelding bij Axx
- zoeken naar requeststatus in een string met indexOf() vervangen door zoeken in een array met inArray(). Kan een mogelijk probleem met status < 100 voorkomen.

svn path=/Website/branches/v2025.2/; revision=70200
2025-09-03 12:00:30 +00:00
Jos Groot Lipman
8949e7e7e1 FCLT#90508 ORA-01400: Kan geen NULL invoegen
svn path=/Website/branches/v2025.2/; revision=70198
2025-09-03 10:50:00 +00:00
Jos Groot Lipman
bd01806030 FMHN#90485 Backport FCLT#90265, performance putorders query
svn path=/Website/branches/v2025.2/; revision=70177
2025-09-02 07:49:08 +00:00
b4b2c68ea7 AQQA#90484 NULL ook ondervangen
svn path=/Website/branches/v2025.2/; revision=70167
2025-09-01 15:06:13 +00:00
e5260f3d16 UWVA#89688 Mobile revamp refactoring bugfix
svn path=/Website/branches/v2025.2/; revision=70134
2025-08-28 09:22:41 +00:00
Maykel Geerdink
8f27a0cb3a FCLT#90345: AiAi fin_boekm bij ophalen refinfo, als referentie een bestelopdracht is.
svn path=/Website/branches/v2025.2/; revision=70066
2025-08-21 06:27:49 +00:00
4cd4046fc2 TDNL#90338 Eindigen van pinch-to-zoom moet niet de zoom resetten
svn path=/Website/branches/v2025.2/; revision=70065
2025-08-20 15:16:17 +00:00
a9038bb99f FCLT#90151 alle (evt.) overflow problemen maar even hard afkappen zo
svn path=/Website/branches/v2025.2/; revision=70060
2025-08-20 14:38:55 +00:00
316d6f19a7 AAGB#90036 Rechten voor interne-&externe bedrijfs-kenmerken omgedraaid (REL* <-> PRS*)
svn path=/Website/branches/v2025.2/; revision=70058
2025-08-20 12:46:56 +00:00
Erik Groener
9a6f5985d9 PZEE#88127 Koppeling voor Security-meldingen Base27-Facilitor aanvragen
svn path=/Website/branches/v2025.2/; revision=70052
2025-08-20 10:22:14 +00:00
Erik Groener
135ba2148c PZEE#88127 Koppeling voor Security-meldingen Base27-Facilitor aanvragen
svn path=/Website/branches/v2025.2/; revision=70050
2025-08-20 08:13:15 +00:00
Jos Groot Lipman
d04adad0e8 FCLT#90324 Tasker tegen meerdere omgevingen kunnen draaien
svn path=/Website/branches/v2025.2/; revision=70047
2025-08-19 15:13:35 +00:00
Marcel Bourseau
9de36bfdc1 Ticket MARX#90284 Registreren van 'eigen' opdrachten met AI - ROLLBACK
svn path=/Website/branches/v2025.2/; revision=70039
2025-08-19 10:19:05 +00:00
Marcel Bourseau
8ce3e485eb Ticket MARX#90284 Registreren van 'eigen' opdrachten met AI
svn path=/Website/branches/v2025.2/; revision=70017
2025-08-14 19:57:30 +00:00
257575f9a6 FCLT#90260 Contactpersonen die nieuwe contactpersonen aanmaken, mogen kenmerken met rolcode-bitje 4 gewoon zien
svn path=/Website/branches/v2025.2/; revision=70011
2025-08-14 14:22:04 +00:00
Jos Groot Lipman
a428d4e59d FCLT#90151 (intern) oudere logfile kunnen opvragen
svn path=/Website/branches/v2025.2/; revision=69989
2025-08-13 10:54:14 +00:00
Jos Groot Lipman
0b93bc8478 FCLT#90247 Storing bij koppeling Aareon-Zendesk
svn path=/Website/branches/v2025.2/; revision=69987
2025-08-13 10:34:49 +00:00
Erik Groener
10bfc29c6e FCLT#90247 Storing bij koppeling Aareon-Zendesk
svn path=/Website/branches/v2025.2/; revision=69986
2025-08-13 10:28:56 +00:00
Erik Groener
34263c23bf FCLT#90247 Storing bij koppeling Aareon-Zendesk
svn path=/Website/branches/v2025.2/; revision=69985
2025-08-13 10:27:07 +00:00
Erik Groener
3ca516bfbf FCLT#90247 Storing bij koppeling Aareon-Zendesk
svn path=/Website/branches/v2025.2/; revision=69984
2025-08-13 09:45:05 +00:00
Jos Groot Lipman
0208a994ec PLGR#90240 Systeemcode ontbreekt bij opdrachtkenmerken, graag toevoegen.
svn path=/Website/branches/v2025.2/; revision=69980
2025-08-12 15:15:52 +00:00
88c16c4ddc PIVP#90086 De webview browser doet blijkbaar moeilijk over viewport units (vh), dan maar zo
svn path=/Website/branches/v2025.2/; revision=69967
2025-08-12 10:30:51 +00:00
7787a14540 WTCA#89930 Opdrachtkenmerken zijn [Alleen voor opdrachtnemers] als ze alleen die rol hebben, als een kenmerk beschikbaar is voor [Alle rollen] dan is die dus /Ook/ beschikbaar voor opdrachtnemers, maar niet /Alleen/ voor opdrachtnemers (!)
svn path=/Website/branches/v2025.2/; revision=69965
2025-08-12 09:55:37 +00:00
Erik Groener
040bd75bdb MAAS#90211 Storing bij koppeling Aareon-Zendesk, meldingen niet ontvangen
svn path=/Website/branches/v2025.2/; revision=69953
2025-08-11 10:50:29 +00:00
Erik Groener
26ba12a051 AAIT#90060 Geplande acties niet inzien
svn path=/Website/branches/v2025.2/; revision=69950
2025-08-08 08:44:32 +00:00
Jos Groot Lipman
3b19803494 Release 2025.2 Gold B
svn path=/Website/branches/v2025.2/; revision=69947
2025-08-07 14:24:38 +00:00
Jos Groot Lipman
2617a5aa16 FCLT#90151 Meer parameters (voorals p_code) doorgeven aan putorders hookfunctions
svn path=/Website/branches/v2025.2/; revision=69946
2025-08-07 12:04:03 +00:00
Erik Groener
dffc071472 opmerking over zendesk_id safe.quoted_sql() maken bij update mld_opdr verwerkt.
svn path=/Website/branches/v2025.2/; revision=69940
2025-08-07 06:51:55 +00:00
Erik Groener
e6c7e5d88f MAAS#90176 Bij mimetype controle ook uppercase bestandsnamen ondersteunen
svn path=/Website/branches/v2025.2/; revision=69939
2025-08-07 06:32:48 +00:00
9f959e712a VNOG#86888 resize-pixelwerk, maar het moet niet tot een infinite loop leiden; bij deze
svn path=/Website/branches/v2025.2/; revision=69924
2025-08-05 14:20:53 +00:00
Maykel Geerdink
8fdc523573 DHLD#90150: Toegang Martijn verdwenen, graag onderzoeken.
svn path=/Website/branches/v2025.2/; revision=69923
2025-08-05 14:08:58 +00:00
baed99edd8 SUTF#89789 Ook mobile (weer) autogrow zoals dat vroeger native door jQuery mobile werd gedaan
svn path=/Website/branches/v2025.2/; revision=69919
2025-08-05 12:55:34 +00:00
c668edb059 LOGC#89746 mouseover -> touchstart, en highlight styling verbeterd
svn path=/Website/branches/v2025.2/; revision=69916
2025-08-05 12:02:08 +00:00
875aab5b84 PCHD#90111 De juiste refkey gebruiken voor berichten voor CNT/FIN/INS-mentions
svn path=/Website/branches/v2025.2/; revision=69914
2025-08-05 09:53:21 +00:00
f656e1a392 MRUS#90018 SAYT filter terug in mobile lijsten
svn path=/Website/branches/v2025.2/; revision=69913
2025-08-05 09:09:53 +00:00
3d309b0e6f LOGC#90057 Nog beter gefixt ;)
svn path=/Website/branches/v2025.2/; revision=69911
2025-08-04 14:23:31 +00:00
Maykel Geerdink
b8e4e72167 AAGN#85762: Taken verwijderd na aanpassen taakgroep ja naar nee.
svn path=/Website/branches/v2025.2/; revision=69905
2025-07-31 14:47:48 +00:00
Peter Feij
e17eba1f1a LPNL#89862 mobiele plattegrond werd op iOS niet getoond
svn path=/Website/branches/v2025.2/; revision=69883
2025-07-30 12:33:57 +00:00
Jos Groot Lipman
a12439e9a0 FCLT#89748 prs_bedrijf_naam ook kunnen bewerken via generic. Die records zijn moeilijk te bereiken,
svn path=/Website/branches/v2025.2/; revision=69882
2025-07-30 12:24:53 +00:00
Jos Groot Lipman
3bc3a181ad BCGV#89911 BCGV#89911 Problemen bij openen nieuw BHV-plan document
svn path=/Website/branches/v2025.2/; revision=69879
2025-07-30 09:58:53 +00:00
Jos Groot Lipman
c2dd6b13c3 LPNL#89862 Tekeningen worden niet goed getoond op mobiel
svn path=/Website/branches/v2025.2/; revision=69848
2025-07-24 12:10:48 +00:00
Maykel Geerdink
f46d8add4b FCLT#90022: CTR: Rapport "Periodieke taken: Jaaroverzicht" geeft geen taken in januari 2025.
svn path=/Website/branches/v2025.2/; revision=69836
2025-07-23 12:13:01 +00:00
Jos Groot Lipman
d2d47bad15 ALLR#89958 Unspecified Error in refresh_webhooks.wsf
svn path=/Website/branches/v2025.2/; revision=69812
2025-07-17 13:51:27 +00:00
Jos Groot Lipman
0f3b76a7f8 UWVA#89050 Putorder log vastgelopen, geen mails verzonden, spoed vereist
svn path=/Website/branches/v2025.2/; revision=69811
2025-07-17 12:47:55 +00:00
Jos Groot Lipman
6f20278c24 UWVA#89050 Putorder log vastgelopen, geen mails verzonden, spoed vereist
svn path=/Website/branches/v2025.2/; revision=69810
2025-07-17 11:23:03 +00:00
Maykel Geerdink
592e11243d YASK#89842: Probleem bij weergave gefactureerd bedrag contractfacturen.
svn path=/Website/branches/v2025.2/; revision=69809
2025-07-17 08:00:46 +00:00
Jos Groot Lipman
5aab533dad Release 2025.2 Gold A
svn path=/Website/branches/v2025.2/; revision=69804
2025-07-16 14:59:22 +00:00
Jos Groot Lipman
cd3f75c14f AAIT#89867 Geplande acties werken niet meer
svn path=/Website/branches/v2025.2/; revision=69803
2025-07-16 14:22:00 +00:00
Jos Groot Lipman
438b9da6ea LPNL#89862 Tekeningen worden niet goed getoond op mobiel
svn path=/Website/branches/v2025.2/; revision=69801
2025-07-16 12:52:20 +00:00
Jos Groot Lipman
0878883a56 IVET#89893 Postadres niet zichtbaar na systeemupdate
svn path=/Website/branches/v2025.2/; revision=69797
2025-07-16 12:07:23 +00:00
Jos Groot Lipman
cfdaf06ff0 PZEE#89929 Probleem bij het selecteren van naam in app voor meldingen
svn path=/Website/branches/v2025.2/; revision=69795
2025-07-16 11:33:08 +00:00
Jos Groot Lipman
2ef69ed951 KMMO#89878 Type rondleiding niet zichtbaar in opdrachtenoverzicht na update
svn path=/Website/branches/v2025.2/; revision=69788
2025-07-16 09:07:40 +00:00
Maykel Geerdink
f6597d8d9b FCLT#89910: AiAi fin_boekm bij ophalen refinfo.
svn path=/Website/branches/v2025.2/; revision=69784
2025-07-15 15:46:45 +00:00
Jos Groot Lipman
a3d5e4acea ALLR#87440 Facilitor-Outlook koppeling missende 'var' bij een oRs toewijzing in function validateOrganizer().
svn path=/Website/branches/v2025.2/; revision=69782
2025-07-15 14:40:38 +00:00
Jos Groot Lipman
25f956bd35 OFWD#89897 Foutmelding bij knop kaarten in statusoverzicht bloktitels
svn path=/Website/branches/v2025.2/; revision=69780
2025-07-15 13:10:41 +00:00
Jos Groot Lipman
3be28e381d LOGC#89746 Probleem met selecties op mobiel: verkeerde keuze bij tikken
svn path=/Website/branches/v2025.2/; revision=69777
2025-07-15 10:46:41 +00:00
Jos Groot Lipman
c57a39af31 FCLT#89905 Melding onderwerp met single ' (quote) wordt niet goed escaped.
svn path=/Website/branches/v2025.2/; revision=69776
2025-07-15 10:05:04 +00:00
Jos Groot Lipman
4675f74b6b FCLT#89899 Gebeurtenissen' dubbel aanwezig bij technisch adres
svn path=/Website/branches/v2025.2/; revision=69773
2025-07-15 08:29:27 +00:00
Jos Groot Lipman
5327fe9bdd UWVA#87574 res_activitit_key --> res_activiteit_key
svn path=/Website/branches/v2025.2/; revision=69767
2025-07-14 15:16:25 +00:00
Jos Groot Lipman
72d6024ea8 IVET#89799 Foutmelding bij reserveren afhalen toegangsbadge na update
svn path=/Website/branches/v2025.2/; revision=69766
2025-07-14 13:32:39 +00:00
Maykel Geerdink
712bc231c0 YAXX#89841: Afgemelde meldingen blijven niet opgelost status behouden.
svn path=/Website/branches/v2025.2/; revision=69763
2025-07-14 11:40:09 +00:00
Jos Groot Lipman
6463ac5125 SVRZ#89814 Meldingen vakgroep FB Appstore niet te openen na nieuwe release
svn path=/Website/branches/v2025.2/; revision=69762
2025-07-14 10:34:23 +00:00
Maykel Geerdink
f3b3e98377 FCLT#89838: AiAi bij mobile notitie op RWCHECKBOXTR.
svn path=/Website/branches/v2025.2/; revision=69759
2025-07-14 08:47:38 +00:00
Erik Groener
dd67475765 AAIT#89867 Geplande acties werken niet meer
svn path=/Website/branches/v2025.2/; revision=69752
2025-07-11 10:07:01 +00:00
Jos Groot Lipman
642cb66259 KFNS#89794 Opdrachttype werd gewist bij opslaan technisch adres
svn path=/Website/branches/v2025.2/; revision=69747
2025-07-10 14:46:19 +00:00
0cc2044d70 HMOD#89795 Bij nieuwe objecten mag je kenmerken, ongeacht rol, wijzigen(/toevoegen)
svn path=/Website/branches/v2025.2/; revision=69737
2025-07-10 08:29:02 +00:00
7a66a5a232 MNNL#89824 Afhankelijkheid moet alleen bij de kaartindeling ge-evalueerd worden, anders vallen er dingen om
svn path=/Website/branches/v2025.2/; revision=69735
2025-07-09 19:13:16 +00:00
9bc0797d2e VBGO#89778 Niet alle headings ..
svn path=/Website/branches/v2025.2/; revision=69733
2025-07-09 18:57:48 +00:00
Maykel Geerdink
16dec8ae31 BLCC#89485: Onverwachte goedkeur en Ontbrekende logging bij opdrachten.
svn path=/Website/branches/v2025.2/; revision=69727
2025-07-09 11:53:05 +00:00
Maykel Geerdink
cb7abee089 MARX#89801: Import van factuurregels niet mogelijk en lege factuur regel ontbreekt.
svn path=/Website/branches/v2025.2/; revision=69726
2025-07-09 11:40:14 +00:00
f6fe0dfa9d MARX#89806 rolcode != 4 -> rolcode & 2
svn path=/Website/branches/v2025.2/; revision=69722
2025-07-09 08:28:38 +00:00
Jos Groot Lipman
155bb5c1e7 FCLT#89805 Putorders VLKC@Accept slaat op hol
svn path=/Website/branches/v2025.2/; revision=69720
2025-07-09 08:18:40 +00:00
269a34edc5 MARX#89806 volgnummer -> rolcode conversie; bugfix
svn path=/Website/branches/v2025.2/; revision=69719
2025-07-09 07:32:00 +00:00
e9798b7591 VBGO#89778 headings weer naar originele (niet-bootstrap) grootte
svn path=/Website/branches/v2025.2/; revision=69718
2025-07-09 07:05:53 +00:00
Maykel Geerdink
be4c44ed45 FCLT#89798: MLD: Fout in query ORA-00936: missing expression.
svn path=/Website/branches/v2025.2/; revision=69713
2025-07-08 15:46:37 +00:00
082d3266b6 FCLT#89518 (exclusief) Uitleenkenmerken hebben rolcode = 4 (exact), als de rolcode nog meer bitjes omvat (zoals 7) dan hoeft het niet als uitleenkenmerk ergens uitgesloten te worden.
svn path=/Website/branches/v2025.2/; revision=69711
2025-07-08 14:42:01 +00:00
Jos Groot Lipman
10b985d22f DHLD#89790 AiAi op get_mld_info_ajax.asp
svn path=/Website/branches/v2025.2/; revision=69707
2025-07-08 12:34:09 +00:00
d96bfbab38 AREO#83998 in deze functie alleen iconen (zoals het was) anders 404's
svn path=/Website/branches/v2025.2/; revision=69706
2025-07-08 12:29:01 +00:00
84a81f39cc FCLT#89774 prevent sourcemap 404's
svn path=/Website/branches/v2025.2/; revision=69703
2025-07-08 11:39:47 +00:00
Jos Groot Lipman
dbaf522333 FMHN#89783 Kolom Datum toevoegen in overzicht gekoppelde reserveringen evenement
svn path=/Website/branches/v2025.2/; revision=69701
2025-07-08 11:12:19 +00:00
d33dbf0bd6 FCLT#89742 variabel-scoping fix
svn path=/Website/branches/v2025.2/; revision=69699
2025-07-08 09:51:43 +00:00
ea6ed91832 FCLT#89766 hetzelfde maar dan anders
svn path=/Website/branches/v2025.2/; revision=69697
2025-07-08 08:54:52 +00:00
ae874ed779 FCLT#89766 bij C/V reserveringen is de rsv.ruimte_limiet niet gedefinieerd, hier dan terugvallen naar NULL
svn path=/Website/branches/v2025.2/; revision=69696
2025-07-08 08:17:26 +00:00
Jos Groot Lipman
ebae7f2ca4 NYBU#89763 AiAi op workflow_info.asp
svn path=/Website/branches/v2025.2/; revision=69695
2025-07-08 08:09:41 +00:00
168d27221c FZKH#89755 bootstrap zet een bg-color, dat moet op desktop transparent (de spec default) blijven (initial dus)
svn path=/Website/branches/v2025.2/; revision=69694
2025-07-08 07:51:36 +00:00
Maykel Geerdink
5fe26b8498 VNOG#89752: Oude afgemelde meldingen onterecht in nieuwe meldingen overzicht.
svn path=/Website/branches/v2025.2/; revision=69693
2025-07-08 07:27:55 +00:00
Maykel Geerdink
cda60d8dd1 PCHW#89745: AiAi op api2/issues?scope=bo&status=2&fields=id,name,requestor&order=id.
svn path=/Website/branches/v2025.2/; revision=69691
2025-07-08 06:25:02 +00:00
Jos Groot Lipman
e83a7fad0a AKZO#89744 AiAi "'readman' is null or not an object"
svn path=/Website/branches/v2025.2/; revision=69689
2025-07-07 19:41:30 +00:00
Jos Groot Lipman
11b258273f Release 2025.1 Gold
svn path=/Website/branches/v2025.2/; revision=69684
2025-07-07 14:04:25 +00:00
f428eccc16 AREO#83998 Layout van pagina na 'extra werkplek reserveren' opgelapt
svn path=/Website/branches/v2025.2/; revision=69683
2025-07-07 13:54:12 +00:00
3c69c8d5a5 FCLT#89703 1px zorgt ervoor dat de breedte niet (meer) als 0 wordt geinterpreteerd
svn path=/Website/branches/v2025.2/; revision=69682
2025-07-07 13:06:22 +00:00
Jos Groot Lipman
284988baf7 FCLT#87835 QA: met een .Value geeft uglyfy er geen warning meer op.
svn path=/Website/branches/v2025.2/; revision=69680
2025-07-07 11:57:44 +00:00
Erik Groener
2356c56953 VLKC#88154 Gegevensmeldingskenmerken overnemen in workflow vervolgmeldingen
Controle op kenmerk_niveau alleen voor melding naar melding.

svn path=/Website/branches/v2025.2/; revision=69676
2025-07-07 10:02:25 +00:00
Jos Groot Lipman
99a1ab56ae FCLT#88029 adrestype ook bij clonen correct meenemen
svn path=/Website/branches/v2025.2/; revision=69674
2025-07-07 09:14:05 +00:00
4123719ee3 FZKH#87243 +performance
svn path=/Website/branches/v2025.2/; revision=69672
2025-07-07 08:49:50 +00:00
a1148da54c FZKH#87243 +haakje sluiten
svn path=/Website/branches/v2025.2/; revision=69671
2025-07-07 07:43:27 +00:00
909f548457 YAXX#89696 WEB_MSGUSE rechten zijn (natuurlijk) optioneel
svn path=/Website/branches/v2025.2/; revision=69670
2025-07-07 07:21:27 +00:00
Erik Groener
56f1593b18 INLO#89677 AiAi bij openen opdracht bij ophalen leverancierinfo
svn path=/Website/branches/v2025.2/; revision=69664
2025-07-04 07:51:26 +00:00
Maykel Geerdink
4a4b18eb40 YASK#88969: Verbetering factuurweergave bij contracten met verdeelperiodes.
svn path=/Website/branches/v2025.2/; revision=69656
2025-07-03 12:22:19 +00:00
Maykel Geerdink
6e5d890329 LOGC#83589: Melding gereed melden en na x dagen automatisch definitief afmelden.
svn path=/Website/branches/v2025.2/; revision=69646
2025-07-03 09:14:26 +00:00
Erik Groener
64ba685d73 VLKC#88154 Gegevensmeldingskenmerken overnemen in workflow vervolgmeldingen
controleer of de bijlage van zelfde niveau is als oorspronkelijk is aangevraagd. Dit om te voorkomen dat er bijlagen worden geselecteerd met een opdracht-key die hetzelfde is als de gevraagde melding-key.

svn path=/Website/branches/v2025.2/; revision=69645
2025-07-03 08:57:52 +00:00
e1fc7aef26 SCHG#89400 Bij community berichten ook de naam van de auteur tonen
svn path=/Website/branches/v2025.2/; revision=69644
2025-07-03 07:45:55 +00:00
Erik Groener
d318c89aad FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt
svn path=/Website/branches/v2025.2/; revision=69635
2025-07-02 13:56:17 +00:00
Erik Groener
078a654fdc VLKC#88154 Gegevensmeldingskenmerken overnemen in workflow vervolgmeldingen
ook controle op melding/opdracht-kenmerk om bijlagen uit andere melding te voorkomen.

svn path=/Website/branches/v2025.2/; revision=69632
2025-07-02 13:18:15 +00:00
Jos Groot Lipman
83bf2b3f08 MARX#89662 Username/wachtwoord van verkeerde technisch adres gekozen
svn path=/Website/branches/v2025.2/; revision=69628
2025-07-02 12:05:38 +00:00
Erik Groener
26a934bd93 WELK#89372 Problemen met toevoegen van bepaalde bijlagen in productieomgeving
Bijlagen met diakritische tekens geeft foutmelding

svn path=/Website/branches/v2025.2/; revision=69626
2025-07-02 08:49:13 +00:00
Maykel Geerdink
3c1e990418 YASK#89285: Opdracht kan na afmelding melding toch nog worden aangemaakt door kopiëren.
svn path=/Website/branches/v2025.2/; revision=69625
2025-07-02 07:30:25 +00:00
ccd282301a AREO#83998 mobile portalnews icoontje wat padding (nativescript fix ook)
svn path=/Website/branches/v2025.2/; revision=69623
2025-07-01 13:08:25 +00:00
efe12d6584 AREO#83998 mobile list-wrapping, kleurtje in lopende zaken titel / notificatie-lijst
svn path=/Website/branches/v2025.2/; revision=69622
2025-07-01 12:54:12 +00:00
800d373474 IMPU#89629 En mobile ook nog goed renderen ..
svn path=/Website/branches/v2025.2/; revision=69621
2025-07-01 12:27:15 +00:00
48e4d340b8 IMPU#89629 Foutje waardoor radio-kenmerken niet meer gerenderd werden ..
svn path=/Website/branches/v2025.2/; revision=69620
2025-07-01 12:18:47 +00:00
b5518f379b AREO#83998 (rode) notificatie-badge/bubble terug evenals collapsed blokken
svn path=/Website/branches/v2025.2/; revision=69613
2025-07-01 10:43:49 +00:00
Maykel Geerdink
0b9e21cc76 PZEE#88176: Pragmatisch Voorraadbeheer en Monitoring (voor Representatieartikelen).
svn path=/Website/branches/v2025.2/; revision=69612
2025-07-01 10:30:11 +00:00
Jos Groot Lipman
6e4d02ec31 Release 2025.2 RC2
svn path=/Website/branches/v2025.2/; revision=69602
2025-06-30 15:08:34 +00:00
077da420a7 AREO#83998 pda multi-acties werken weer, gequote notities lopen niet meer uit de pagina
svn path=/Website/branches/v2025.2/; revision=69601
2025-06-30 15:05:03 +00:00
f44449f2cb ALLR#80285 bij CV reserveringen moet opstel_key wel defined zijn
svn path=/Website/branches/v2025.2/; revision=69599
2025-06-30 14:39:12 +00:00
d7159f2299 AREO#83998 mobile geen variabelen meer
svn path=/Website/branches/v2025.2/; revision=69596
2025-06-30 14:21:09 +00:00
1d964944b6 ALLR#80285 -haakje
svn path=/Website/branches/v2025.2/; revision=69595
2025-06-30 14:07:02 +00:00
7d7c3943d1 ALLR#80285 checken op res_ruimte_limiet indien aanwezig
svn path=/Website/branches/v2025.2/; revision=69594
2025-06-30 13:59:22 +00:00
Maykel Geerdink
3891a06cbb LOGC#83589: Melding gereed melden en na x dagen automatisch definitief afmelden.
svn path=/Website/branches/v2025.2/; revision=69591
2025-06-30 13:50:38 +00:00
Erik Groener
2c09f7b363 FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
* aanvrager toch tonen en op kunnen filteren

svn path=/Website/branches/v2025.2/; revision=69590
2025-06-30 13:39:36 +00:00
Maykel Geerdink
f430e20bea LOGC#83589: Melding gereed melden en na x dagen automatisch definitief afmelden.
svn path=/Website/branches/v2025.2/; revision=69589
2025-06-30 13:26:58 +00:00
Jos Groot Lipman
ed680fd66a FCLT#87835 QA: met een .Value geeft uglyfy er geen warning meer op.
svn path=/Website/branches/v2025.2/; revision=69585
2025-06-30 12:23:30 +00:00
8672f4fef1 SCHG#89400 Community-berichten desktop interface
svn path=/Website/branches/v2025.2/; revision=69584
2025-06-30 11:45:01 +00:00
723d622f06 SCHG#89400 Community-berichten desktop interface
svn path=/Website/branches/v2025.2/; revision=69583
2025-06-30 11:22:00 +00:00
009011c81a TWYN#89371 verwijderde kostensoortgroepen hier onderdrukken
svn path=/Website/branches/v2025.2/; revision=69565
2025-06-27 09:28:47 +00:00
Maykel Geerdink
7ee5aef732 PZEE#88176: Pragmatisch Voorraadbeheer en Monitoring (voor Representatieartikelen).
svn path=/Website/branches/v2025.2/; revision=69558
2025-06-26 12:24:54 +00:00
Erik Groener
71d2238b3e FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
* typo

svn path=/Website/branches/v2025.2/; revision=69555
2025-06-26 10:26:23 +00:00
Erik Groener
72672088a2 FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
* sjabonen niet meer zoeken op aanvrager
* autorisatie aangepast: als fo niet wijzigen

svn path=/Website/branches/v2025.2/; revision=69554
2025-06-26 09:22:39 +00:00
Jos Groot Lipman
8b6230298b SVRZ#89558 AiAi op clonen van een rapport met ingepland versturen
svn path=/Website/branches/v2025.2/; revision=69551
2025-06-26 07:41:44 +00:00
Jos Groot Lipman
ca3de6499a FCLT#88854 SCIM JWT waarschuwing loggen dat het ook per e-mail is verstuurd
svn path=/Website/branches/v2025.2/; revision=69550
2025-06-26 07:15:13 +00:00
bf84ca30fe FCLT#89502 bugje; break weg want bij kenmerken kunnen lege kolommen eerder voorkomen dan de volle, en wat commentaar toegevoegd
svn path=/Website/branches/v2025.2/; revision=69547
2025-06-25 12:22:03 +00:00
Erik Groener
88ecfd71f8 VLKC#88154 Gegevensmeldingskenmerken overnemen in workflow vervolgmeldingen
ook controle op refkey om bijlagen uit andere melding te voorkomen.

svn path=/Website/branches/v2025.2/; revision=69545
2025-06-25 11:42:16 +00:00
Erik Groener
1284286f1d BLCC#88329 Goedkeuringsflow huurcontracten werkt niet zonder contractbedrag
svn path=/Website/branches/v2025.2/; revision=69544
2025-06-25 10:00:44 +00:00
6e4f3f480d FCLT#89502 Geen verwijderde behandelteams tonen, commentaar toegevoegd & diverse kleine aanpassingen
svn path=/Website/branches/v2025.2/; revision=69543
2025-06-25 09:56:12 +00:00
Erik Groener
a39acb320c ALLR#80285 res_reservering_limiet ook per reserveerbare ruimte instelbaar maken
query kan eenvoudiger

svn path=/Website/branches/v2025.2/; revision=69541
2025-06-25 06:46:33 +00:00
ee5c76be0c FCLT#89502 Bij de core-kaartindelingen, ook alle lege, potentiele kolommen tonen
svn path=/Website/branches/v2025.2/; revision=69536
2025-06-24 15:10:14 +00:00
Erik Groener
4f8f7be878 FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
svn path=/Website/branches/v2025.2/; revision=69533
2025-06-24 13:07:38 +00:00
Erik Groener
e8d22ee428 ALLR#80285 res_reservering_limiet ook per reserveerbare ruimte instelbaar maken
svn path=/Website/branches/v2025.2/; revision=69532
2025-06-24 12:52:12 +00:00
Maykel Geerdink
596ec022c1 YASK#88969: Verbetering factuurweergave bij contracten met verdeelperiodes.
svn path=/Website/branches/v2025.2/; revision=69531
2025-06-24 12:04:32 +00:00
906581f532 FCLT#89234 punt 11
svn path=/Website/branches/v2025.2/; revision=69526
2025-06-24 09:11:34 +00:00
90a540f26f FCLT#89234 Punt 6 & 9
svn path=/Website/branches/v2025.2/; revision=69524
2025-06-24 08:00:43 +00:00
435665a51c SGSF#88591 init moet een integer zijn (ipv true) omdat moet 1 zijn omdat get_bez_info_ajax.asp init met getQParamInt ophaalt
svn path=/Website/branches/v2025.2/; revision=69518
2025-06-23 11:12:31 +00:00
57a80ea1db FZKH#88777 Geen templates forwarden
svn path=/Website/branches/v2025.2/; revision=69517
2025-06-23 10:11:30 +00:00
Jos Groot Lipman
958f1441bb FCLT#88993 Einde ondersteuning database prs.setpassword en prs.testpassword
svn path=/Website/branches/v2025.2/; revision=69516
2025-06-23 09:39:39 +00:00
b2ecdb45cf FZKH#88777 typo
svn path=/Website/branches/v2025.2/; revision=69514
2025-06-23 09:23:55 +00:00
b7f72fb518 FCLT#86564 revert
svn path=/Website/branches/v2025.2/; revision=69512
2025-06-23 08:50:49 +00:00
17ed54fd78 AREO#83998 Savepoint; checkboxes inline, kleurtjes desktop planbord terug, css-variabelen opgeschoond & andere styling aanpassingen
svn path=/Website/branches/v2025.2/; revision=69510
2025-06-23 07:26:22 +00:00
e78064ad20 FZKH#87243 Ook de kenmerkbenaming doorgeven voor exacte kenmerk-bepaling
svn path=/Website/branches/v2025.2/; revision=69503
2025-06-20 14:44:09 +00:00
Erik Groener
70fc886cfc VNOG#84055 Reserveringen van een week kunnen niet herhaald worden
svn path=/Website/branches/v2025.2/; revision=69491
2025-06-19 13:06:03 +00:00
1851142631 FZKH#87243 Alleen de juist kaartindeling kunnen kiezen gegeven de filters
svn path=/Website/branches/v2025.2/; revision=69488
2025-06-19 07:57:34 +00:00
Erik Groener
a5de4917e1 WELK#89372 Problemen met toevoegen van bepaalde bijlagen in productieomgeving
Bijlagen komen niet goed door.

svn path=/Website/branches/v2025.2/; revision=69486
2025-06-19 07:04:57 +00:00
Maykel Geerdink
b8ca73a33d LOGC#83589: Melding gereed melden en na x dagen automatisch definitief afmelden.
svn path=/Website/branches/v2025.2/; revision=69483
2025-06-19 05:52:17 +00:00
Jos Groot Lipman
be49f5e1de FCLT#85585 placeholder '*flexfilespath' als hint dat je die mogelijk wilt invullen
svn path=/Website/branches/v2025.2/; revision=69481
2025-06-18 15:59:09 +00:00
5aaf16660c FZKH#87243 opslaan afwachten alvorens weer te kunnen draggen; revert, later beter oplossing
svn path=/Website/branches/v2025.2/; revision=69480
2025-06-18 15:33:00 +00:00
7cf14e8318 AAIT#87224 Hoort er ook nog bij
svn path=/Website/branches/v2025.2/; revision=69479
2025-06-18 15:18:34 +00:00
052a11b95d FZKH#87243 Vooral; kenmerken groeperen als ze van dezelfde kenmerksoort zijn, en bij meerdere entiteiten gedefinieerd zijn
svn path=/Website/branches/v2025.2/; revision=69478
2025-06-18 15:17:51 +00:00
5324cf2d49 AAIT#87224 autogrow het textarea
svn path=/Website/branches/v2025.2/; revision=69475
2025-06-18 14:33:03 +00:00
Erik Groener
5a31f10aa4 WELK#89372 Problemen met toevoegen van bepaalde bijlagen in productieomgeving
Gebruik van safe.quoted_sql() in update_mld_opdr() geeft fout.

svn path=/Website/branches/v2025.2/; revision=69474
2025-06-18 13:14:02 +00:00
3d79a9df89 FCLT#89488 1. alles bestond al, maar een logica fout voorkwam het doorgeven van de tracking string 2. als er op meldingnr gezocht wordt, wordt alleen die parameter doorgegeven en anders niets (hoezo werden deze globalen gebruikt ipv uit het params-object).
svn path=/Website/branches/v2025.2/; revision=69473
2025-06-18 13:03:03 +00:00
Jos Groot Lipman
1c66930cc4 FCLT#88854 Technisch adres xmlnode(s) tikfoutje. Ook: puo_forceorderaddress waarschuwing tonen als ingesteld
svn path=/Website/branches/v2025.2/; revision=69470
2025-06-18 12:32:21 +00:00
Erik Groener
0a86f2ab7e SCHG#88561 Foutresponses koppeling Topdesk Scharenborggroep op MLDDOO - Gaat di
svn path=/Website/branches/v2025.2/; revision=69467
2025-06-18 09:24:11 +00:00
Jos Groot Lipman
1b876250cd FCLT#88854 Licentieoverzicht mag bij 'Gebruik statistieken historisch' best default *alle* maanden tonen, niet alleen de eerste 100
svn path=/Website/branches/v2025.2/; revision=69464
2025-06-18 08:31:27 +00:00
Erik Groener
3dcb5fab7c FCLT#88474 Niet-herstelbare wijziging numeriek veldtype UDR rapport
naar versie 2025.3

svn path=/Website/branches/v2025.2/; revision=69462
2025-06-18 08:03:13 +00:00
Erik Groener
47083335ae FMHN#89083 Probleem bij aanmelden bezoekers: parkeerplekken wijzigen automatisch
svn path=/Website/branches/v2025.2/; revision=69453
2025-06-17 14:39:09 +00:00
Erik Groener
788580caba FCLT#88474 Niet-herstelbare wijziging numeriek veldtype UDR rapport
svn path=/Website/branches/v2025.2/; revision=69452
2025-06-17 13:47:04 +00:00
Erik Groener
77bf75da98 FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
svn path=/Website/branches/v2025.2/; revision=69450
2025-06-17 11:59:07 +00:00
Jos Groot Lipman
2013034b8b SUTF#88794 ins_srtgroep_key ook bewerkbaar via mgt_generic
svn path=/Website/branches/v2025.2/; revision=69449
2025-06-17 11:48:18 +00:00
Erik Groener
7c66bfb691 WELK#89372 Problemen met toevoegen van bepaalde bijlagen in productieomgeving
svn path=/Website/branches/v2025.2/; revision=69447
2025-06-17 08:11:18 +00:00
Peter Feij
06ad33b599 PCHA#89427 AiAi op my_mldrechten
svn path=/Website/branches/v2025.2/; revision=69441
2025-06-16 15:36:29 +00:00
Peter Feij
f74139fb24 FCLT#89366 AiAi op api2/object idem
svn path=/Website/branches/v2025.2/; revision=69440
2025-06-16 15:18:49 +00:00
c619c79fab AAIT#87224 Leverancierspecifieke informatie bij opdrachten suppressEmpty in showmode => true
svn path=/Website/branches/v2025.2/; revision=69439
2025-06-16 14:42:58 +00:00
5be7433656 FBEA#87988 S(mld_opdr_note_default_notifyBO) geldt alleen voor de BO-vinkjes, en ORDNOL gaat nu ook naar de uitvoerder als de FE een bericht rechtstreeks aan de uitvoerder stuurt
svn path=/Website/branches/v2025.2/; revision=69436
2025-06-16 13:35:25 +00:00
344c4e0b7c FCLT#89234 Punt 10
svn path=/Website/branches/v2025.2/; revision=69424
2025-06-16 10:01:54 +00:00
Maykel Geerdink
38aa3725af LOGC#83589: Melding gereed melden en na x dagen automatisch definitief afmelden.
svn path=/Website/branches/v2025.2/; revision=69422
2025-06-16 09:42:55 +00:00
1d065a1422 AREO#83998 AiAi MOBILE_UI_CLASSES is undefined
svn path=/Website/branches/v2025.2/; revision=69421
2025-06-16 09:26:52 +00:00
f677a75cab FCLT#89234 GGD van melding-categorie filter bepalen voor gebruik in kenmerken-selectie tbv weergave in kaartindeling-dropdown
svn path=/Website/branches/v2025.2/; revision=69415
2025-06-13 09:39:26 +00:00
dc49b03fb4 FCLT#89234 punten 1 t/m 5
svn path=/Website/branches/v2025.2/; revision=69408
2025-06-12 14:06:51 +00:00
983df1a2db FZKH#87243 Lege opties toegevoegd, betere foutmeldingen, en kaarten niet ingedrukt tonen als je de flag toggled
svn path=/Website/branches/v2025.2/; revision=69405
2025-06-12 13:04:23 +00:00
Erik Groener
9f06e3f225 PDKL#89352 Foutmelding bij toevoegen nieuwe relatie in Relatiebeheer PDKL 2025.2
svn path=/Website/branches/v2025.2/; revision=69403
2025-06-12 12:06:58 +00:00
eb85fabee3 FCLT#87091 plattere JSON & het linkje naar het nieuws-item alleen tonen met publiceer-rechten
svn path=/Website/branches/v2025.2/; revision=69399
2025-06-12 10:12:31 +00:00
d31cc18ce2 FCLT#87091 Sjablonen mag je niet publiceren
svn path=/Website/branches/v2025.2/; revision=69397
2025-06-12 08:41:19 +00:00
027774861c FCLT#87091 Verkeerde pagina, bugfix & performance aanpassing
svn path=/Website/branches/v2025.2/; revision=69396
2025-06-12 08:23:44 +00:00
1d385d6fab FCLT#87091 Publicatie ook in melding_show_details opnemen, met linkje
svn path=/Website/branches/v2025.2/; revision=69394
2025-06-12 07:18:47 +00:00
Jos Groot Lipman
19fe8ed809 FCLT#89366 AiAi op api2/reservations
svn path=/Website/branches/v2025.2/; revision=69386
2025-06-11 14:32:58 +00:00
Erik Groener
0e7e959e0b AAIT#87224 Leverancierspecifieke informatie bij opdrachten tonen
svn path=/Website/branches/v2025.2/; revision=69383
2025-06-11 12:11:23 +00:00
3a37519ac1 Branch 2025.2
svn path=/Website/branches/v2025.2/; revision=69371
2025-06-11 07:50:52 +00:00
Jos Groot Lipman
16897f58ac FCLT#89351 AiAi Licentieinformatie XDKEY_USERS
svn path=/Website/trunk/; revision=69368
2025-06-11 07:35:19 +00:00
Jos Groot Lipman
b81b99987f Release 2025.2 RC1
svn path=/Website/trunk/; revision=69365
2025-06-10 14:58:40 +00:00
9f3d627bd4 AREO#83998 Beschikbaarheidskleuren, catering listdivider, voorpagina plaatje+title-fix, enzo
svn path=/Website/trunk/; revision=69364
2025-06-10 14:57:07 +00:00
Jos Groot Lipman
0e56230795 Merge 2025.1 Gold D patches (ongoing)
svn path=/Website/trunk/; revision=69363
2025-06-10 14:41:10 +00:00
Erik Groener
0778aadafe MENZ#88074 Problemen bij toevoegen 2e werkplek in reserveringssysteem
svn path=/Website/trunk/; revision=69360
2025-06-10 13:56:39 +00:00
3223dc5cd7 AREO#83998 wrapping, spacing, catering(_looplijst).asp & opschonen unused files
svn path=/Website/trunk/; revision=69358
2025-06-10 13:35:37 +00:00
Peter Feij
ef865c8bd6 FCLT#84467 mgt_kenmerkrolcoderel_x gedefinieerd (PRS vs REL)
svn path=/Website/trunk/; revision=69355
2025-06-10 13:14:50 +00:00
Peter Feij
2786d018ab FCLT#87835 ontbrekende closes toegevoegd bij de abort-situaties
svn path=/Website/trunk/; revision=69353
2025-06-10 12:28:19 +00:00
1a2ce46af0 FZKH#87243 [nu echt] De suggests afwachten alvorens de filters in te vullen
svn path=/Website/trunk/; revision=69350
2025-06-10 11:25:48 +00:00
Maykel Geerdink
5805fef886 MARX#78894: Facturen via REST-API aan kunnen maken.
svn path=/Website/trunk/; revision=69349
2025-06-10 11:22:38 +00:00
Peter Feij
be37b908ba FCLT#84467 fix voor contactpersonen, voor EXTREL
svn path=/Website/trunk/; revision=69348
2025-06-10 10:32:03 +00:00
3a6fd3bb15 FZKH#84690 Notitie textarea; extra spaties weglaten
svn path=/Website/trunk/; revision=69347
2025-06-10 10:01:57 +00:00
Erik Groener
301d6a52cf AAIT#87224 Leverancierspecifieke informatie bij opdrachten tonen
* Ook in show-mode

svn path=/Website/trunk/; revision=69344
2025-06-10 09:45:28 +00:00
Jos Groot Lipman
1d847ad760 FCLT#88913 Uitzondering van ORDNEW in notificatiequeue uitfaseren
svn path=/Website/trunk/; revision=69342
2025-06-10 09:23:35 +00:00
50b3979652 MENZ#88074 resize de modal nadat de content wordt aangepast
svn path=/Website/trunk/; revision=69338
2025-06-10 08:59:48 +00:00
Erik Groener
0a8f5f26ed PZEE#88127 Koppeling voor Security-meldingen Base27-Facilitor aanvragen
* Logging aangepast
* Het password uriEncoded gemaakt zodat deze ook tegen tekens als & bestand is
* Voor testen op ontwikkeling moet er geen proxy in het configuratiebestand staan. Moet dus ook met een lege proxy-instelling kunnen omgaan.

svn path=/Website/trunk/; revision=69336
2025-06-10 07:51:54 +00:00
f9d5afb919 FCLT#84467 hier ook rolcode
svn path=/Website/trunk/; revision=69335
2025-06-10 07:33:52 +00:00
Erik Groener
3c152ca8e4 VLKC#89292 AiAi bij opvragen afspraken bij een opdracht
svn path=/Website/trunk/; revision=69334
2025-06-10 07:32:14 +00:00
e5bd3f7a90 AREO#83998 routing; case = direct naar hash page
svn path=/Website/trunk/; revision=69329
2025-06-06 10:52:35 +00:00
Erik Groener
c3fdb6a456 UWVA#87574 Ongebruikte filters in reserveringsoverzicht verwijderen
svn path=/Website/trunk/; revision=69328
2025-06-06 10:25:44 +00:00
b6d8f719bd AREO#83998 contrast-btn -> profiel-pagina, lijst badges/regelteller, radio-buttons gecentraliseerd, header centered, lijst-iconen/plaatjes zelfde breedte
svn path=/Website/trunk/; revision=69327
2025-06-06 09:37:45 +00:00
Erik Groener
1cdcb31b0a VLKC#88473 Bookmark voor meerdere meldingen en een specifieke plaats
svn path=/Website/trunk/; revision=69325
2025-06-06 07:58:14 +00:00
12dd9ef414 AREO#83998 Savepoint, pagina & iface elementen layout, nested lijsten -> bootstrap tabs, bootstrap toaster, lopende zaken layout
svn path=/Website/trunk/; revision=69324
2025-06-06 07:29:20 +00:00
4de23fa646 AREO#83998 Savepoint, oa; styling, routing, handtekening, otp, mobile-input-type-date, profielpagina, jquery-lijst-filter-panels -> bootstrap offcanvas, lijst-multiactions/bulkables
svn path=/Website/trunk/; revision=69323
2025-06-05 22:18:34 +00:00
Peter Feij
dbbc8e8ad8 FCLT#84467 Fix voor kunnen kopieren van kenmerken
svn path=/Website/trunk/; revision=69322
2025-06-05 18:06:57 +00:00
Jos Groot Lipman
d2dd4502d7 MENZ#88063 Probleem met labels in werkplekreserveringssysteem
svn path=/Website/trunk/; revision=69318
2025-06-05 13:31:35 +00:00
Peter Feij
18a480627c FCLT#85585 Volgnummer doet er toem en omdat je niet kunt kopieren in Modal helaas geen modal
svn path=/Website/trunk/; revision=69316
2025-06-05 12:56:32 +00:00
Peter Feij
d8d1e5067f FCLT#84467 fix nav test
svn path=/Website/trunk/; revision=69315
2025-06-05 12:48:32 +00:00
6dd227d3e5 FZKH#84690 Notitie bijlages hersteld, kb-item-bijlages kunnen nu ook ingezoomd worden
svn path=/Website/trunk/; revision=69301
2025-06-04 20:07:56 +00:00
0104886f25 FZKH#84690 FlexFiles.inc er nog bij
svn path=/Website/trunk/; revision=69298
2025-06-04 15:06:49 +00:00
217dd82ed6 FZKH#84690 Laat BEZ maar zitten, daar rammelt van alles ..
svn path=/Website/trunk/; revision=69297
2025-06-04 14:57:35 +00:00
86bf1284aa FZKH#84690 afbeeldingen daadwerkelijk zichtbaar maken bij gebruik
svn path=/Website/trunk/; revision=69295
2025-06-04 14:46:24 +00:00
6b4edeb89b FZKH#87243
svn path=/Website/trunk/; revision=69292
2025-06-04 12:02:01 +00:00
ec2485c161 FCLT#87091 mobile ook; bij gepubliceerde berichten; like => ik ook (en -> handje)
svn path=/Website/trunk/; revision=69290
2025-06-04 11:36:37 +00:00
78704c4a0a FCLT#87091 lcl's & mld_key alleen bij nieuw nieuws opslaan
svn path=/Website/trunk/; revision=69289
2025-06-04 11:29:34 +00:00
6398b4f90a FZKH#87243 +comment
svn path=/Website/trunk/; revision=69287
2025-06-04 10:15:49 +00:00
db955f5c4a FZKH#87243 animation duration
svn path=/Website/trunk/; revision=69284
2025-06-04 09:38:24 +00:00
9c219b9626 FCLT#87091
svn path=/Website/trunk/; revision=69283
2025-06-04 09:31:42 +00:00
4c2d7f81e5 FCLT#87091 melding kunnen gepubliceerd worden, en daar kan op gereageerd worden
svn path=/Website/trunk/; revision=69282
2025-06-04 09:27:24 +00:00
Erik Groener
9c3a4049f4 BLCC#88329 Goedkeuringsflow huurcontracten werkt niet zonder contractbedrag
svn path=/Website/trunk/; revision=69281
2025-06-04 09:24:37 +00:00
2321e0f2b4 FCLT#87091 savepoint punt 4
svn path=/Website/trunk/; revision=69272
2025-06-03 20:17:54 +00:00
2a59d2c717 FCLT#87091 savepoint punt 4
svn path=/Website/trunk/; revision=69271
2025-06-03 20:12:04 +00:00
Peter Feij
dcbe8b0e26 CSUN#87579 Notificaties naar primaire behandelaar als geen secundaire behandelaar
svn path=/Website/trunk/; revision=69270
2025-06-03 20:11:17 +00:00
Peter Feij
4b9ebe25a4 PCHA#89159 Afgemelde meldingen zouden niet meer gekoppeld mogen worden
svn path=/Website/trunk/; revision=69268
2025-06-03 18:29:11 +00:00
bf1ef5fc7e FZKH#87243 Default aan
svn path=/Website/trunk/; revision=69267
2025-06-03 18:09:11 +00:00
42a1ec3d3d FZKH#87243 lcl aangepast
svn path=/Website/trunk/; revision=69262
2025-06-03 14:34:22 +00:00
Jos Groot Lipman
a88fec3f70 FCLT#80469 Gegevens van afdelingsniv 3 blijven staan na verwijderen van afdelingsniv 2
svn path=/Website/trunk/; revision=69260
2025-06-03 13:31:06 +00:00
fb1b17816a VLKC#89252 fac_reserved_number2 -> mld_pessismistisch_hergoedkeuren
svn path=/Website/trunk/; revision=69258
2025-06-03 13:03:00 +00:00
Erik Groener
e214ef30b6 YASK#89085 Management informatie geeft foutieve informatie
svn path=/Website/trunk/; revision=69253
2025-06-03 11:49:38 +00:00
Jos Groot Lipman
d12182b424 FCLT#87835 Tasker logfiles en lockfiles ook automatisch opruimen
svn path=/Website/trunk/; revision=69251
2025-06-03 11:44:26 +00:00
403f2a2b20 FCLT#87835 Niet elke lcl is url-safe, bijv. ##LCLREVISION
svn path=/Website/trunk/; revision=69247
2025-06-03 10:58:53 +00:00
Erik Groener
ef7a7354ba FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
aangepast:
* Overzicht van sjablonen
* Toevoegen sjabloon
* Opslaan van gekopieerde melding (met evt. opdrachten) vanuit sjabloon

svn path=/Website/trunk/; revision=69244
2025-06-03 10:14:23 +00:00
Jos Groot Lipman
79e5121c40 FCLT#88330 Exchange via tasker: apart bestand is niet meer nodig
svn path=/Website/trunk/; revision=69242
2025-06-03 09:15:24 +00:00
ed96a557fb FCLT#87091 v0.1 van acceptatiecriteria 1-3
svn path=/Website/trunk/; revision=69239
2025-06-02 21:12:14 +00:00
0db0da3f13 AREO#83998 Door bootstrap werd de box-sizing: content-box overschreven, nu anders opgelost
svn path=/Website/trunk/; revision=69238
2025-06-02 21:08:14 +00:00
Peter Feij
77feee609a FCLT#85585 mailconfiguratie ondersteunt nu ook een soort onderwerpherkenning
svn path=/Website/trunk/; revision=69237
2025-06-02 20:36:24 +00:00
ba03d2aa90 FCLT#84467 Volgens mij hoort het zo
svn path=/Website/trunk/; revision=69236
2025-06-02 17:43:24 +00:00
a1b68d7f64 FZKH#87243 scrollbalk fix & +prio-title
svn path=/Website/trunk/; revision=69235
2025-06-02 14:58:55 +00:00
de2e568e10 FZKH#87243 transities worden snel te intensief; niet tijdens het resizen
svn path=/Website/trunk/; revision=69230
2025-06-02 12:59:11 +00:00
Jos Groot Lipman
96004ea7a1 AAIT#88916 Opdrachten bij melding (DO) komen niet meer aan bij de leverancier
svn path=/Website/trunk/; revision=69227
2025-06-02 12:01:14 +00:00
Erik Groener
de558cbac7 FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
* Voor niet-sjabloon meldingopdracht is de act_key in rowdata undefined.

svn path=/Website/trunk/; revision=69225
2025-06-02 11:51:51 +00:00
Erik Groener
2d4353028a FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
svn path=/Website/trunk/; revision=69223
2025-06-02 11:19:20 +00:00
Erik Groener
ae8a8f2642 FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
svn path=/Website/trunk/; revision=69222
2025-06-02 11:18:00 +00:00
Jos Groot Lipman
0ae7313380 Merge 2025.1 Gold C patches (ongoing)
svn path=/Website/trunk/; revision=69221
2025-06-02 10:58:43 +00:00
fb025875bd FZKH#87243 drag-to-scroll nog wat robuuster
svn path=/Website/trunk/; revision=69217
2025-06-02 07:55:54 +00:00
Jos Groot Lipman
b7bc686b1b FCLT#89209 Tasker: Voorstel voor efficiënter notificatiebeheer en prioritering
svn path=/Website/trunk/; revision=69216
2025-06-02 07:41:17 +00:00
93b1008ee6 FZKH#87243 failsafe
svn path=/Website/trunk/; revision=69215
2025-06-02 07:26:11 +00:00
Jos Groot Lipman
70a16b0711 FCLT#88774 Opruimen oude upgrade-code
svn path=/Website/trunk/; revision=69214
2025-06-02 07:22:52 +00:00
f4b41c4153 FZKH#87243 1.0
svn path=/Website/trunk/; revision=69212
2025-06-01 18:07:13 +00:00
2607dcfe28 FZKH#87243 typo
svn path=/Website/trunk/; revision=69210
2025-06-01 17:26:33 +00:00
8cb0b99f08 FZKH#87243 sticky scrollbalk onderin de pagina
svn path=/Website/trunk/; revision=69209
2025-06-01 17:21:24 +00:00
8c9408e872 FZKH#87243 compacte toggle voor het meldingenbord
svn path=/Website/trunk/; revision=69208
2025-06-01 08:27:39 +00:00
846341301b FZKH#87243 gepinde kolomindeling correct ophalen en invullen & niet 250ms wachten alvorens de pinned-filters in te vullen
svn path=/Website/trunk/; revision=69207
2025-06-01 06:16:13 +00:00
b945642584 FZKH#87243 bugfix
svn path=/Website/trunk/; revision=69206
2025-05-30 21:59:50 +00:00
14ca9e6f1f FZKH#87243 savepoint 0.5, laatste styling-slag, minor bugfixes & QoL updates, autorisatie & rolcode (en meer) beperkingen opgelegd aan de te kiezen (kenmerk)kolommen, kenmerk; 'in overzichtslijst' uitgebreid met 'in meldingenbord'
svn path=/Website/trunk/; revision=69205
2025-05-30 21:47:33 +00:00
7d0a7c58ac FCLT#84467 vergroot/klein het frame
svn path=/Website/trunk/; revision=69202
2025-05-30 17:38:56 +00:00
58cd2b9fd9 MNNL#88636 2025.2 > 2025.1 Gold C
svn path=/Website/trunk/; revision=69193
2025-05-30 13:39:51 +00:00
f77ba54ffc DHLD#87396 kennisbankitem-linkjes ook bij melding-notities maken
svn path=/Website/trunk/; revision=69192
2025-05-30 11:46:37 +00:00
f8b12c7b32 FCLT#86306 r68084 & r68105 reverted
svn path=/Website/trunk/; revision=69191
2025-05-30 09:03:14 +00:00
e55534bf33 FZKH#87243 savepoint 0.4, drag-to-scroll, drag-/droppen handelt alle doorsnedes nu goed af, incl. (autorisatie-)checks & tracking, +diverse kleinere styling/content/functionele aanpassingen
svn path=/Website/trunk/; revision=69189
2025-05-28 15:20:39 +00:00
Peter Feij
83c180ca9b FCLT#85585 Standaardwerking van fac.processemail voor Mail2Melding uitbreiden
svn path=/Website/trunk/; revision=69188
2025-05-28 14:52:20 +00:00
Maykel Geerdink
3484b81900 PZEE#88176: Pragmatisch Voorraadbeheer en Monitoring (voor Representatieartikelen).
svn path=/Website/trunk/; revision=69185
2025-05-28 13:20:34 +00:00
Jos Groot Lipman
b473193ba8 FCLT#87835 fac_notificatie_job_seconds en fac_notificatie_job_queue in de interface onderdrukken. In de praktijk niet ondersteund (was bedacht voor sensor updates) en dus alleen maar verwarrend.
svn path=/Website/trunk/; revision=69184
2025-05-28 13:15:49 +00:00
Maykel Geerdink
b37aa5d06a PZEE#88176: Pragmatisch Voorraadbeheer en Monitoring (voor Representatieartikelen).
svn path=/Website/trunk/; revision=69180
2025-05-28 11:49:27 +00:00
Maykel Geerdink
4b6bef062e PZEE#88176: Pragmatisch Voorraadbeheer en Monitoring (voor Representatieartikelen).
svn path=/Website/trunk/; revision=69174
2025-05-28 08:59:55 +00:00
c726c19df2 CSUN#89042 1000+ relatie-dienst-locatie-regels kunnen definieren
svn path=/Website/trunk/; revision=69161
2025-05-27 13:43:50 +00:00
Jos Groot Lipman
d83c316723 PZEE#88371 Systeemadres per (standaard)melding kunnen definieren (Base27)
svn path=/Website/trunk/; revision=69158
2025-05-27 12:13:50 +00:00
Jos Groot Lipman
722d0fe789 PZEE#88371 Systeemadres per (standaard)melding kunnen definieren (Base27)
svn path=/Website/trunk/; revision=69156
2025-05-27 11:43:53 +00:00
a47340c720 FZKH#87243 savepoint 0.3.1 placeholder moet geen ruimte innemen
svn path=/Website/trunk/; revision=69147
2025-05-26 15:20:45 +00:00
7c190c5a01 FZKH#87243 savepoint 0.3; flags, verversen, escape to cancel drag, legenda, tracking, content, styling
svn path=/Website/trunk/; revision=69146
2025-05-26 15:19:04 +00:00
Erik Groener
7ca75eb04f SGSF#88592 Probleem met actiegroep instelling bij bezoekersregistratie
svn path=/Website/trunk/; revision=69142
2025-05-26 13:58:34 +00:00
Jos Groot Lipman
554408a351 FCLT#88029 Selectie relevante gebeurtenissen bij systeemadressen aanpassen
svn path=/Website/trunk/; revision=69139
2025-05-26 13:44:14 +00:00
Peter Feij
52df6420a1 UWVA#85063 Toevoeging kolom 'Login' in persoonsgegevens overzicht medewerkers voor PRSSYS
svn path=/Website/trunk/; revision=69138
2025-05-26 13:01:58 +00:00
Peter Feij
8f2d84d74d FCLT#84467 gegevenstype-kenmerken afhankelijk van gegevenstype, in GUI
svn path=/Website/trunk/; revision=69132
2025-05-26 08:01:37 +00:00
4a1a50aacf FZKH#87243 savepoint 0.2
svn path=/Website/trunk/; revision=69130
2025-05-23 16:19:59 +00:00
9528d46fd6 FZKH#87243 kanban savepoint 0.1
FCLT#84467 canFlexChange uitfaseren

svn path=/Website/trunk/; revision=69128
2025-05-23 12:01:37 +00:00
f383729c79 FZKH#87243 kanban savepoint 0.1
svn path=/Website/trunk/; revision=69127
2025-05-23 12:01:02 +00:00
Peter Feij
17fc9465a2 FCLT#85585 Standaardwerking van fac.processemail voor Mail2Melding uitbreiden
svn path=/Website/trunk/; revision=69117
2025-05-22 19:54:57 +00:00
6616390ff0 PCHX#88946 default urole != fo bij contracten
svn path=/Website/trunk/; revision=69114
2025-05-22 15:32:16 +00:00
7c466ad720 FCLT#84467 Syntax
svn path=/Website/trunk/; revision=69111
2025-05-22 13:14:07 +00:00
Peter Feij
020a5ded05 FCLT#87835 in de lijst van vervolgmeldingen kan nu ook het behandelteam als kolom worden getoond
svn path=/Website/trunk/; revision=69103
2025-05-21 16:18:29 +00:00
Peter Feij
5406f6679a LOGC#89125 optionele acceptatiedatum bij mijlpalen
svn path=/Website/trunk/; revision=69102
2025-05-21 15:54:20 +00:00
Peter Feij
602c4c5fd3 FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt
svn path=/Website/trunk/; revision=69091
2025-05-21 12:31:59 +00:00
Peter Feij
126fc06cc7 FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt -laatste voorkomens
svn path=/Website/trunk/; revision=69090
2025-05-21 12:28:38 +00:00
e88c8740ba LOGC#89114 MLDMGT -> MLDTAG
svn path=/Website/trunk/; revision=69088
2025-05-21 12:14:21 +00:00
Erik Groener
bc08c0664f SKHF#88012 Voorbeeldweergave afbeeldingen werkt niet in vervolgworkflow
svn path=/Website/trunk/; revision=69087
2025-05-21 11:05:42 +00:00
3689d11759 FMHN#89033 Mobile ook
svn path=/Website/trunk/; revision=69086
2025-05-21 10:53:37 +00:00
7f9d0c1cd9 FMHN#89033 Bij reserveringen de weekenden niet verkiesbaar stellen voor FE (indien niet 24/7)
svn path=/Website/trunk/; revision=69085
2025-05-21 10:48:25 +00:00
92b241d717 FCLT#84467 Syntax
svn path=/Website/trunk/; revision=69084
2025-05-21 10:16:09 +00:00
26cc981c5c ALLI#88090 parkeerplaats checkboxes ook disablen als er niet meer beschikbaar zijn
svn path=/Website/trunk/; revision=69082
2025-05-21 10:11:05 +00:00
05d0bb580f PCHD#88955 gebouw <> locatie
svn path=/Website/trunk/; revision=69080
2025-05-21 08:21:42 +00:00
6f9776043e FCLT#84467 copy/paste foutje
svn path=/Website/trunk/; revision=69079
2025-05-21 07:10:42 +00:00
Peter Feij
d186a0c9dd FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt -savepoint
svn path=/Website/trunk/; revision=69077
2025-05-20 16:02:55 +00:00
Peter Feij
cc54c1a215 FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt -savepoint
svn path=/Website/trunk/; revision=69076
2025-05-20 15:51:16 +00:00
Peter Feij
192c642a39 FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt -savepoint
svn path=/Website/trunk/; revision=69074
2025-05-20 14:42:26 +00:00
Jos Groot Lipman
a7601033f6 PZEE#88371 Notifybedrijven vaker rekening houden met discipline
FCLT#88913 Uitzondering van ORDNEW in notificatiequeue uitfaseren

svn path=/Website/trunk/; revision=69073
2025-05-20 14:40:23 +00:00
Peter Feij
477aea9bef FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt -savepoint
svn path=/Website/trunk/; revision=69072
2025-05-20 14:33:07 +00:00
7e43f0d413 UWVA#88863 ook bij een POST naar opdr_list.inc een verversen-knop invoegen.
svn path=/Website/trunk/; revision=69065
2025-05-20 10:34:47 +00:00
Erik Groener
cc02812462 FCLT#88353 prs_bedrijf_intern = 0 terug converteren naar NULL, en 0 niet meer toestaan
svn path=/Website/trunk/; revision=69052
2025-05-19 10:18:28 +00:00
Jos Groot Lipman
20b683fadb FCLT#88774 Opruimen oude upgrade-code
svn path=/Website/trunk/; revision=69051
2025-05-19 10:09:08 +00:00
Erik Groener
362bca2953 YASK#87163 Statusupdate koppeling Axxerion/TOPdesk: verbeterde foutafhandeling
svn path=/Website/trunk/; revision=69042
2025-05-16 09:20:19 +00:00
Jos Groot Lipman
9ad68b62ab Merge 2025.1 Gold C patches (ongoing)
svn path=/Website/trunk/; revision=69039
2025-05-15 15:51:32 +00:00
Peter Feij
61362a9e1d FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt -savepoint
svn path=/Website/trunk/; revision=69031
2025-05-15 11:34:20 +00:00
579205c602 AREO#83998 bootstrap tooltip-class conflict opgelost
svn path=/Website/trunk/; revision=69012
2025-05-14 07:56:00 +00:00
f0bea9403b FMHN#83630 ?u=xxx is ook een url/path
svn path=/Website/trunk/; revision=69009
2025-05-14 06:43:04 +00:00
Peter Feij
1f0430ead6 FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt - savepoint
svn path=/Website/trunk/; revision=69008
2025-05-13 15:59:57 +00:00
Jos Groot Lipman
0bd9e28c35 FCLT#88993 Einde ondersteuning database prs.setpassword en prs.testpassword
svn path=/Website/trunk/; revision=69007
2025-05-13 15:35:55 +00:00
c4079b84cc AREO#83998 minor (list) changes
svn path=/Website/trunk/; revision=69001
2025-05-13 13:15:37 +00:00
fa1ef1b1d2 FMHN#83630 Toch maar in een extra veldje (regel) ipv via een 'urlpicker'
svn path=/Website/trunk/; revision=68999
2025-05-13 12:15:33 +00:00
Peter Feij
cc4c9e5b6c AAIT#88423 Bij kenmerksoorten voortaan zelf Code invullen > Systeemcode met PRSSYS
svn path=/Website/trunk/; revision=68984
2025-05-12 13:40:27 +00:00
8c87cabed0 PZEE#88632 Activiteiten-filter onderdrukken als er op hidden (meegegeven) catalogi wordt gefilterd
svn path=/Website/trunk/; revision=68976
2025-05-09 14:30:03 +00:00
Peter Feij
1c778d39a5 FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt - savepoint
svn path=/Website/trunk/; revision=68970
2025-05-09 10:21:30 +00:00
Peter Feij
f0dee6f91b FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt - savepoint
svn path=/Website/trunk/; revision=68968
2025-05-09 10:16:59 +00:00
fe676b5780 AREO#83998 + Bootstrap JS
svn path=/Website/trunk/; revision=68967
2025-05-09 09:20:35 +00:00
ae42a62d48 Merge 2025.1 Gold C patches (ongoing)
svn path=/Website/trunk/; revision=68966
2025-05-09 09:04:47 +00:00
845e4e6997 DHLD#88869 Case insensitive, ignore m-prefix voor meldingen & ook als de stdmelding kan verwijzen naar 'alle meldingen' een vakgroeptype-prefix in acht nemen
svn path=/Website/trunk/; revision=68959
2025-05-08 15:07:22 +00:00
Maykel Geerdink
6810a77e06 MARX#78894: Facturen via REST-API aan kunnen maken.
svn path=/Website/trunk/; revision=68953
2025-05-08 12:43:51 +00:00
Maykel Geerdink
e600505272 MARX#78894: Facturen via REST-API aan kunnen maken.
svn path=/Website/trunk/; revision=68949
2025-05-08 11:40:10 +00:00
70d8827f20 AREO#83998 savepoint .4.2driekwart
svn path=/Website/trunk/; revision=68944
2025-05-08 09:32:55 +00:00
Erik Groener
3f957d4c16 AAIT#87224 Leverancierspecifieke informatie bij opdrachten tonen
svn path=/Website/trunk/; revision=68940
2025-05-08 07:03:30 +00:00
7c00be9c9e AREO#83998 savepoint .4.2eneenhalf
svn path=/Website/trunk/; revision=68939
2025-05-07 15:37:43 +00:00
fe126add54 AREO#83998 savepoint .4.2
svn path=/Website/trunk/; revision=68938
2025-05-07 15:25:35 +00:00
e899475058 AREO#83998 savepoint .4
svn path=/Website/trunk/; revision=68937
2025-05-07 15:21:28 +00:00
7aba44454f FCLT#88330 Exchange koppeling (notificaties) ook via de Tasker laten verlopen
svn path=/Website/branches/v2025.1/; revision=68931
2025-05-07 13:03:40 +00:00
Jos Groot Lipman
ff265883d6 FCLT#88925 /api2 aanroep geeft AiAi op <companie s>
svn path=/Website/branches/v2025.1/; revision=68930
2025-05-07 12:12:25 +00:00
001355133d BVB1#88882 de juiste querystring-parameter-naam ophalen
svn path=/Website/trunk/; revision=68929
2025-05-07 10:55:30 +00:00
Erik Groener
509ba332f9 MARX#84828 Verzoek tot zelfreset OTP codes door Mareon leveranciers doorvoeren
Moet ook vanuit "Mijn gegevens" werken: = zichzelf resetten.  

svn path=/Website/trunk/; revision=68927
2025-05-07 07:30:46 +00:00
Erik Groener
f5bd28c3a7 MARX#84828 Verzoek tot zelfreset OTP codes door Mareon leveranciers doorvoeren
svn path=/Website/trunk/; revision=68920
2025-05-06 14:36:59 +00:00
Jos Groot Lipman
217c0fef95 FCLT#88854 cust_scanner beter tsk_master_schema laten ophalen
svn path=/Website/branches/v2025.1/; revision=68916
2025-05-06 12:28:12 +00:00
55a5482fcc TWYN#88769 expliciet checken op NULL of 0 (ipv alleen NULL)
svn path=/Website/branches/v2025.1/; revision=68910
2025-05-02 14:59:09 +00:00
58af1bfedc LOGC#88875 revert van r68884 uit 88734
svn path=/Website/branches/v2025.1/; revision=68902
2025-05-01 17:31:08 +00:00
926967448e MNNL#88636 Tijd op de dag wel meegeven aan fac.DatumTijdPlusUitvoerTijd als er geen (dag/tijd) grens geldt (maar alleen een horizon), of deze niet gepasseerd is
svn path=/Website/trunk/; revision=68900
2025-05-01 14:19:03 +00:00
f5b539bf65 PCHD#88789 {0} in kolom-expressies ook in gestylede rapportages formatteren met de viewname
svn path=/Website/trunk/; revision=68898
2025-05-01 12:23:29 +00:00
5758a29029 UWVA#88844 Nieuwe where-clause voor de afdeling-beperking alleen toepassen als er ook een (relevante) PRS scope actief is, niet per se als er op afdeling gefilterd wordt
svn path=/Website/branches/v2025.1/; revision=68896
2025-04-30 14:24:31 +00:00
7ffe778991 Release 2025.1 Gold B
svn path=/Website/branches/v2025.1/; revision=68889
2025-04-30 11:22:43 +00:00
e8f0591bf6 UWVA#88830 prs-lijst, kleine performance verbetering (als er niet op afdeling gefilterd wordt)
svn path=/Website/branches/v2025.1/; revision=68888
2025-04-30 10:04:42 +00:00
f87e530d3c YKPN#88734 van de kolom 'alg_locatie_omschrijving' werd -onterecht- geconcludeerd dat er niet op deze kolom gesorteert ging worden, terwijl autosorting == true
svn path=/Website/branches/v2025.1/; revision=68884
2025-04-29 11:17:42 +00:00
Maykel Geerdink
0fe45aba52 FCLT#81738: Graag via de taken ook de xcp records indexeren.
svn path=/Website/trunk/; revision=68882
2025-04-29 10:33:43 +00:00
d7b501eed8 TAYL#88825 Gebouw-(kalender-)scope ook hier in acht nemen
svn path=/Website/branches/v2025.1/; revision=68881
2025-04-29 10:02:55 +00:00
83ced5488e FCLT#88820 widget titel was vertaalbaar, maar vertaling werd niet goed opgehaald/gebruikt
svn path=/Website/trunk/; revision=68880
2025-04-29 09:27:10 +00:00
Maykel Geerdink
7cf11c4ba6 FCLT#81738: Graag via de taken ook de xcp records indexeren.
svn path=/Website/trunk/; revision=68879
2025-04-29 09:23:11 +00:00
bc17dbf641 VGLD#88823 prs_bedrijf_intern IS NULL += OR prs_bedrijf_intern = 0
svn path=/Website/branches/v2025.1/; revision=68878
2025-04-29 08:28:49 +00:00
91d06592b6 LOGC#88432 /PRS/prs_bedrijf.asp is de actuele versie die gebruikt moet worden ipv /MGT/prs_bedrijf.asp
svn path=/Website/branches/v2025.1/; revision=68877
2025-04-29 07:59:30 +00:00
a87b1a2080 SGGR#88788 Dienstniveau & gebouwverantwoordelijke 1 & 2 serverside controleren op 'writeman' ipv 'writeuse'
svn path=/Website/trunk/; revision=68876
2025-04-29 07:30:59 +00:00
Maykel Geerdink
898b51e720 FMHN#83630: Custom (pdf) menuopties kunnen toevoegen.
svn path=/Website/trunk/; revision=68870
2025-04-28 08:28:34 +00:00
24780a1f72 AREO#83998 savepoint .2
svn path=/Website/trunk/; revision=68864
2025-04-25 15:09:59 +00:00
Erik Groener
c4ddde6f25 CARG#85666 Extra vast text in mail popup igv mld_opdr_ask_mail_if_unknown
svn path=/Website/trunk/; revision=68861
2025-04-25 10:00:51 +00:00
f602739513 AAIT#88423 kenmerksoort code kan nu aangepast worden met PRSSYS (ipv FACTAB)
svn path=/Website/trunk/; revision=68855
2025-04-25 08:08:59 +00:00
Erik Groener
62795dbeba DHLD#87206 Geheim token bij technisch adres igv vullen Gedeelde gebruiker
svn path=/Website/trunk/; revision=68850
2025-04-24 11:47:11 +00:00
Erik Groener
fdcb18300b TWYN#88748 Fout bij toevoegen contracten in Vredespaleis project
svn path=/Website/branches/v2025.1/; revision=68847
2025-04-24 07:07:21 +00:00
Jos Groot Lipman
56a7b65256 FCLT#88773 Key-onduidelijkheid in 'ACTIVITEIT X CATALOGUS' subtab oplossen
svn path=/Website/trunk/; revision=68845
2025-04-23 14:34:32 +00:00
Jos Groot Lipman
d8d4a9d242 FCLT#88543 Tasker 'late' onderzoek
svn path=/Website/branches/v2025.1/; revision=68843
2025-04-23 13:57:27 +00:00
c8554cd66d PZEE#88632 url-parameter verenigbaar maken met de dynamsche filters
svn path=/Website/trunk/; revision=68842
2025-04-23 13:52:48 +00:00
Erik Groener
8c823a5920 VLKC#88154 Gegevensmeldingskenmerken overnemen in workflow vervolgmeldingen
svn path=/Website/trunk/; revision=68841
2025-04-23 13:21:41 +00:00
3cb546eb21 FCLT#88276 mld_melding_start_key ook via Elke tabel kunnen wijzigen
svn path=/Website/branches/v2025.1/; revision=68840
2025-04-23 11:07:43 +00:00
Maykel Geerdink
bb0d775619 FMHN#83630: Custom (pdf) menuopties kunnen toevoegen.
svn path=/Website/trunk/; revision=68836
2025-04-23 08:52:06 +00:00
Jos Groot Lipman
0895227a9d FCLT#88330 Exchange (realtime) sync via de tasker laten verlopen
svn path=/Website/branches/v2025.1/; revision=68835
2025-04-23 08:39:17 +00:00
031e81a8fd CSUN#88322 !hasopenopdrachten als voorwaarde voor canChange & canSLAChange weghalen
svn path=/Website/trunk/; revision=68830
2025-04-22 14:27:17 +00:00
Erik Groener
a2706f08c2 AAIT#86450 Kennisbank item standaard op professionals zetten
svn path=/Website/trunk/; revision=68826
2025-04-22 12:43:54 +00:00
1e2bbc935e FCLT#88751 revert r68824
svn path=/Website/branches/v2025.1/; revision=68825
2025-04-22 11:58:05 +00:00
7c6b64d3c2 FCLT#88751 Dashboard feature hide-en methode gelijktrekken aan filter-toggle zodat ze mekaar niet in de weg zitten
svn path=/Website/branches/v2025.1/; revision=68824
2025-04-22 11:52:57 +00:00
97871c1303 FCLT#88736 Als meldinggroep wel is meegegeven, dan zou je nog steeds mijlpalen moeten kunnen kiezen die binnen hetzelfde vakgroeptype zijn gedefinieerd [i]zonder[/i] meldinggroep-scope. En als meldinggroep niet is meegegeven, dan doet de meldinggroep-scope er niet toe (en mag die dus leeg, of gevuld zijn)
svn path=/Website/branches/v2025.1/; revision=68823
2025-04-22 08:46:32 +00:00
0beab4a0ed FCLT#88736 meldinggroep ook meegeven aan de serverside ajax asp die (oa) de mijlpaal-selector oplevert
svn path=/Website/branches/v2025.1/; revision=68822
2025-04-22 08:32:47 +00:00
8bbda3b9c9 FMHN#88335 Alleen een doodlopend, vriendlijk, bericht tonen als de gebruiker nog niet ingelogd was, anders gewoon de normale flow volgen bij qrc=1
svn path=/Website/trunk/; revision=68810
2025-04-18 12:52:32 +00:00
Erik Groener
a0efea6232 FCLT#88672 Kenmerk naam ontbreekt in BAMG acceptatie rapport wizard
svn path=/Website/trunk/; revision=68805
2025-04-18 10:07:33 +00:00
Erik Groener
9aa05554d6 FCLT#87529 Kenmerk-eigenschap "Verplicht" ook in Showmode tonen als deze de waarde "Niet verplicht" heeft. functie fill_verplicht() weer toegevoegd.
svn path=/Website/trunk/; revision=68803
2025-04-18 09:31:05 +00:00
Maykel Geerdink
2accb51bf6 FMHN#83630: Custom (pdf) menuopties kunnen toevoegen.
svn path=/Website/trunk/; revision=68794
2025-04-17 13:59:32 +00:00
Erik Groener
660c943ed4 SGSF#88592 Probleem met actiegroep instelling bij bezoekersregistratie
svn path=/Website/trunk/; revision=68790
2025-04-17 12:52:51 +00:00
Jos Groot Lipman
dd470b6a93 FCLT#88543 Tasker 'late' onderzoek Oracle sluiten
svn path=/Website/branches/v2025.1/; revision=68789
2025-04-17 11:53:48 +00:00
6c1cab2afb LOGC#88461 Autorisatie-check verbeterd, multi-edit/delete eruit, en enkele lcl's naar harde tekst omgezet (enigzins ongerelateerd)
svn path=/Website/branches/v2025.1/; revision=68788
2025-04-17 11:41:15 +00:00
d7ab5b7060 VLKC#88689 Conditionele revert van r67579 indien S(fac_reserved_number2) == 1
svn path=/Website/branches/v2025.1/; revision=68784
2025-04-17 11:01:22 +00:00
Erik Groener
0254130245 SGGR#87531 API-uitbreiding nodig voor sensoronderdelen en relaties in Facilitor
lcl's toegevoegd

svn path=/Website/trunk/; revision=68774
2025-04-16 14:21:44 +00:00
Erik Groener
1c55cdd661 SGGR#87531 API-uitbreiding nodig voor sensoronderdelen en relaties in Facilitor
svn path=/Website/trunk/; revision=68773
2025-04-16 13:43:05 +00:00
Peter Feij
f59f44d0d8 YASK#88165 Afgewezen facturen niet als gefactureerd tellen in factuurschema
svn path=/Website/branches/v2025.1/; revision=68772
2025-04-16 13:19:31 +00:00
Jos Groot Lipman
600cfa6644 FCLT#88276 api2-modellen issuetags, messages, fclttasks en notifications bereikbaar maken
svn path=/Website/branches/v2025.1/; revision=68771
2025-04-16 13:12:05 +00:00
e7916acaab LOGC#88461 autorisatie-clause uitgebreid, je mag nu alleen tags zien van vakgroeptypes danwel meldinggroepen waar je voor geautoriseerd bent
svn path=/Website/branches/v2025.1/; revision=68769
2025-04-16 12:43:25 +00:00
b1f94fdb4f AAIT#88628 Dan maken we deze toch gewoon nog vetter
svn path=/Website/branches/v2025.1/; revision=68766
2025-04-16 11:23:56 +00:00
Erik Groener
035a3a94e5 SGSF#88592 Probleem met actiegroep instelling bij bezoekersregistratie
svn path=/Website/trunk/; revision=68761
2025-04-16 07:54:23 +00:00
Jos Groot Lipman
09e41b2510 FCLT#88543 Tasker 'late' onderzoek timing logging
svn path=/Website/branches/v2025.1/; revision=68759
2025-04-16 07:47:38 +00:00
544eddbce6 FCLT#88350 Object expected veroorzaakt doordat getCalendarEventByICalUId undefined kon returnen, voorkomen
svn path=/Website/branches/v2025.1/; revision=68758
2025-04-16 07:23:12 +00:00
1d880a9129 AREO#83998 Savepoint
svn path=/Website/trunk/; revision=68748
2025-04-14 15:08:34 +00:00
757c785f1a SGSF#88591 initialisatie-parameter meegeven
svn path=/Website/trunk/; revision=68747
2025-04-14 14:53:04 +00:00
Erik Groener
b982900782 DHLD#87206 Geheim token bij technisch adres igv vullen Gedeelde gebruiker
svn path=/Website/trunk/; revision=68746
2025-04-14 14:35:00 +00:00
Jos Groot Lipman
badec5c39b FCLT#88276 Tasker new record default 'enabled' zetten
svn path=/Website/branches/v2025.1/; revision=68745
2025-04-14 12:57:16 +00:00
Erik Groener
d6c5e917d6 DHLD#87206 Geheim token bij technisch adres igv vullen Gedeelde gebruiker
svn path=/Website/trunk/; revision=68744
2025-04-14 11:11:40 +00:00
Maykel Geerdink
2d56043565 FZKH#84690: PVE FE79: Afbeeldingen in antwoorden en nadere info kennisbank.
svn path=/Website/trunk/; revision=68742
2025-04-14 07:25:19 +00:00
63118f309b LOGC#88552 copy/paste fout ..
svn path=/Website/branches/v2025.1/; revision=68731
2025-04-10 12:59:40 +00:00
838a180f71 NOVA#88481 Een alg_kostenplaats alleen in acht nemen als de plaats bij deze (std)melding mee-dingt
svn path=/Website/trunk/; revision=68726
2025-04-10 08:36:36 +00:00
Erik Groener
fdb9788316 MARX#82056 Melding bij opslaan account laten aanpassen
svn path=/Website/trunk/; revision=68725
2025-04-10 08:26:22 +00:00
Peter Feij
b707e22f45 FCLT#85997 F_PutFactuurFCLT.xsl MARX weer als standaard gebruiken
svn path=/Website/trunk/; revision=68716
2025-04-09 15:41:53 +00:00
871789b2f5 Merge 2025.1 Gold B patches (ongoing)
svn path=/Website/trunk/; revision=68711
2025-04-09 14:59:16 +00:00
810fa169f8 FBEA#88298 Ook bij herhalen niet (nooit) voor FO/BO verbieden dat ze niets op vrije dagen mogen boeken, alleen voor zelfservice
svn path=/Website/branches/v2025.1/; revision=68710
2025-04-09 14:44:41 +00:00
050b7e750a SCHG#88317 Niet [i]altijd[/i] aanvragers primair als FE-er zien
svn path=/Website/branches/v2025.1/; revision=68708
2025-04-09 14:06:45 +00:00
Jos Groot Lipman
5dc736eee3 FCLT#88543 Tasker 'late' onderzoek
svn path=/Website/branches/v2025.1/; revision=68707
2025-04-09 13:23:06 +00:00
Maykel Geerdink
b1e035ce4b HEIN#88521: Filterprobleem in fiatteren facturen tabblad, toont alle locaties.
svn path=/Website/branches/v2025.1/; revision=68706
2025-04-09 13:20:45 +00:00
Jos Groot Lipman
3e69fad064 FCLT#88543 Tasker 'late' onderzoek
svn path=/Website/branches/v2025.1/; revision=68705
2025-04-09 12:52:09 +00:00
Erik Groener
37bdd1da1e VENR#88522 Probleem met lege kalenderoptie toont '-1' in show-mode.
svn path=/Website/trunk/; revision=68703
2025-04-09 10:29:47 +00:00
Erik Groener
1cb7601099 UWVA#87574 Ongebruikte filters in reserveringsoverzicht verwijderen
svn path=/Website/trunk/; revision=68702
2025-04-09 09:44:26 +00:00
Maykel Geerdink
dd7fa9fe73 UWVA#88516: Verwijder toevoegen knop voor mobiele gerelateerde objecten en onderdelen lijst.
svn path=/Website/branches/v2025.1/; revision=68700
2025-04-09 09:39:22 +00:00
Jos Groot Lipman
124e8bf9a0 WEND#88515 Hangende notificatie wordt telkens weer geprobeerd
svn path=/Website/branches/v2025.1/; revision=68688
2025-04-08 12:06:47 +00:00
Jos Groot Lipman
9583267077 WEND#88515 Hangende notificatie wordt telkens weer geprobeerd
svn path=/Website/branches/v2025.1/; revision=68687
2025-04-08 11:48:32 +00:00
d91a9a3aa0 ARBO#87916 syntax bugfix
svn path=/Website/branches/v2025.1/; revision=68686
2025-04-08 11:14:38 +00:00
b1bafbad61 WZKW#88491 Reserveringen onder een soort-activiteit waarbij geconfigureerd staat dat het 'Aantal bezoekers' niet zichtbaar is, ook niet controleren op dat aantal (te kleine of te grote ruimtes).
svn path=/Website/trunk/; revision=68685
2025-04-08 10:13:47 +00:00
f922b0f523 FBEA#88298 FO/BO moet alleen een waarschuwing krijgen als ze op vrije dagen een reservering willen boeken, alleen voor FE moet het geblokkeerd worden
svn path=/Website/branches/v2025.1/; revision=68683
2025-04-08 09:14:23 +00:00
3fd22371d2 FCLT#88512 Ongebruikte bestanden verwijderd
svn path=/Website/trunk/; revision=68681
2025-04-08 08:39:43 +00:00
a609c1f70e FCLT#88330 de functie doImportSingle wordt nu ook vanuit de server (itt direct vanuit de asp-code) aangeroepen, en moet dus ook niet onvoorwaardelijk leunen op het DEZE-object
svn path=/Website/branches/v2025.1/; revision=68680
2025-04-08 08:22:43 +00:00
Jos Groot Lipman
24d37aac2b FCLT#88276 Alleen DEFAULT queue lowlighten, niet EXCHANGE queue
svn path=/Website/branches/v2025.1/; revision=68679
2025-04-08 08:21:13 +00:00
0a6a172daa SCHG#88317 rolbepaling verbeteren bij melding-notities
svn path=/Website/branches/v2025.1/; revision=68677
2025-04-08 07:36:32 +00:00
Maykel Geerdink
a504443cd9 PCHX#86497: Verplichten specifieke kostensoort bij ontbrekende standaardkostensoort contractbeheer.
svn path=/Website/trunk/; revision=68675
2025-04-07 14:14:40 +00:00
Erik Groener
a2bfdd8afd BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
Aanpassingen nav opmerkingen

svn path=/Website/trunk/; revision=68672
2025-04-07 12:40:47 +00:00
Erik Groener
b2c1719cd2 FCLT#84767 Overstap Aareon naar Zendesk en benodigde API-koppelingen
Bevat extra logging en stopt niet meer bij ophalen author_id.

svn path=/Website/branches/v2025.1/; revision=68670
2025-04-07 08:05:43 +00:00
e5e109107c LOGC#88432 Voor externe systemen moet naar WEB_PRSMAN gekeken worden ipv WEB_RELMAN
svn path=/Website/branches/v2025.1/; revision=68669
2025-04-07 07:50:28 +00:00
d535db61a9 FCLT#88465 revert van 88280 (revisions 68621, 68636 & 68640)
svn path=/Website/branches/v2025.1/; revision=68668
2025-04-04 14:05:28 +00:00
54a77b2229 WEND#88479 handler_key -> contactpersoon_key
svn path=/Website/branches/v2025.1/; revision=68667
2025-04-04 13:53:11 +00:00
7d2120c34b VLKC#88472 canCloseMld beter bepalen
svn path=/Website/branches/v2025.1/; revision=68660
2025-04-04 11:16:30 +00:00
813c28c5aa FCLT#88466 customerId setten bij het initialiseren vanuit de ASP code
svn path=/Website/branches/v2025.1/; revision=68659
2025-04-04 08:57:44 +00:00
Jos Groot Lipman
50dae82e71 FCLT#88466 Hookfunction geeft "'customerId' is undefined"
svn path=/Website/branches/v2025.1/; revision=68655
2025-04-03 20:18:30 +00:00
98e973f7c9 VNOG#88429 Dubbele regel, typo
svn path=/Website/branches/v2025.1/; revision=68653
2025-04-03 14:32:51 +00:00
705142a91c VNOG#88429 placeholder teruggezet (en nu in scaffolding varchar velden mogelijk gemaakt)
svn path=/Website/branches/v2025.1/; revision=68650
2025-04-03 13:39:30 +00:00
Jos Groot Lipman
b45b664ab0 Release 2025.1 Gold A
svn path=/Website/branches/v2025.1/; revision=68649
2025-04-03 13:27:31 +00:00
66ffda8520 FCLT#88330 Meer logging, meer beter
svn path=/Website/branches/v2025.1/; revision=68645
2025-04-03 11:31:40 +00:00
c775f62344 FCLT#88330 Logging & de tasker-bat
svn path=/Website/branches/v2025.1/; revision=68644
2025-04-03 11:07:45 +00:00
84fa8eff44 FCLT#88330 Exchange (realtime) sync via de tasker laten verlopen
svn path=/Website/branches/v2025.1/; revision=68643
2025-04-03 09:30:10 +00:00
Maykel Geerdink
e3ed3b2cc6 MARX#88280: Vertraging bij laden van tabbladen lopende zaken via opdracht doorklikken.
svn path=/Website/branches/v2025.1/; revision=68640
2025-04-03 07:35:33 +00:00
Maykel Geerdink
292a53423b MARX#88280: Vertraging bij laden van tabbladen lopende zaken via opdracht doorklikken.
svn path=/Website/branches/v2025.1/; revision=68636
2025-04-02 14:55:56 +00:00
Jos Groot Lipman
acfe9c94d0 MARX#88277 Opdrachten steeds opnieuw gestuurd varnaam aanpassing
svn path=/Website/branches/v2025.1/; revision=68635
2025-04-02 14:40:11 +00:00
Maykel Geerdink
1d818289a0 SVRZ#88413: Directe toegang persoonsgegevens vanuit object niet meer mogelijk.
svn path=/Website/branches/v2025.1/; revision=68633
2025-04-02 14:24:29 +00:00
Jos Groot Lipman
dd34317598 FCLT#88431 Technisch adres betere defaults (lettertje 'G' voor generiek) en meer required velden als dusdanig gemarkeerd
svn path=/Website/branches/v2025.1/; revision=68632
2025-04-02 14:23:11 +00:00
Maykel Geerdink
f4a6359c65 MARX#88280: Vertraging bij laden van tabbladen lopende zaken via opdracht doorklikken.
svn path=/Website/branches/v2025.1/; revision=68621
2025-04-01 15:38:16 +00:00
Erik Groener
531bf942fc IVET#83628 Font kleur keuze Berichtenmodule
svn path=/Website/branches/v2025.1/; revision=68617
2025-04-01 12:36:55 +00:00
Erik Groener
1f8ad77c1a IVET#83628 Font kleur keuze Berichtenmodule
svn path=/Website/trunk/; revision=68616
2025-04-01 12:35:01 +00:00
Jos Groot Lipman
49efbf5323 FCLT#88276 Voor AiAi bij unauthenticated aanroep GET api2/knowledgebase.json?scope=bo&client=aait&offset=0&limit=1000
svn path=/Website/branches/v2025.1/; revision=68610
2025-04-01 08:10:13 +00:00
769608f75b BCGV#88382 1. Voor het mutatie-scherm was (onterecht) MSGUSE nodig, maar die is alleen verzonnen/van toepassing op community berichten
2. Laden ... tabtitel aangepast bij het toevoegen van een nieuwe bericht vanuit de (nieuwe) lijst
3. Tracking-regel gaf een AiAi omdat (door een last-minute aanpassing ..) de sql voor de plaatsbepaling aangepast was, en daardoor werd onterecht gedacht dat die regel altijd uitgevoerd moest worden, wat dus altijd fout gaat als je geen plaats invult.

svn path=/Website/branches/v2025.1/; revision=68606
2025-04-01 07:28:45 +00:00
19abd1ef9c PZEE#88370 autosorting correct bepalen, en definitie 'aggregate functions' aanscherpen
svn path=/Website/branches/v2025.1/; revision=68599
2025-03-31 14:58:29 +00:00
Jos Groot Lipman
f7cc0e0914 MARX#88277 Logging tot op de seconde
svn path=/Website/branches/v2025.1/; revision=68597
2025-03-31 13:38:51 +00:00
Jos Groot Lipman
7c0d66a90c MARX#88277 Logging tot op de seconde
svn path=/Website/branches/v2025.1/; revision=68596
2025-03-31 13:31:52 +00:00
Jos Groot Lipman
e8c63e7b1a MARX#88277 Opdrachten steeds opnieuw gestuurd alias aanpassing
svn path=/Website/branches/v2025.1/; revision=68593
2025-03-31 10:37:27 +00:00
Jos Groot Lipman
c6e56ea759 MARX#88277 Opdrachten steeds opnieuw gestuurd quote aanpassing
svn path=/Website/branches/v2025.1/; revision=68591
2025-03-31 09:51:07 +00:00
Jos Groot Lipman
fdca304a47 MARX#88277 Opdrachten steeds opnieuw gestuurd
svn path=/Website/branches/v2025.1/; revision=68588
2025-03-31 09:21:46 +00:00
Erik Groener
10c35308bf BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
Verwijderen regels tot einddatum en alle regels verwijderen.

svn path=/Website/trunk/; revision=68587
2025-03-31 09:20:13 +00:00
Jos Groot Lipman
efb3a2df48 FCLT#88276 AiAi door ongedefinieerde params.act_key_ar bij API2
svn path=/Website/branches/v2025.1/; revision=68585
2025-03-31 08:45:52 +00:00
298b94db69 BRED#88342 prs_bedrijf_intern = 0 is ook extern
svn path=/Website/branches/v2025.1/; revision=68581
2025-03-28 20:50:29 +00:00
8e50e60763 FCLT#87835 Voorkom [Object object] in de refreshMSGraphSubscriptions.bat.log
svn path=/Website/trunk/; revision=68578
2025-03-28 14:53:14 +00:00
6856b6f90e FCLT#87835 Voorkom [Object object] in de refreshMSGraphSubscriptions.bat.log
svn path=/Website/trunk/; revision=68577
2025-03-28 14:49:31 +00:00
34c006384a STER#88343 event.subject kan null zijn
svn path=/Website/branches/v2025.1/; revision=68575
2025-03-28 13:55:27 +00:00
3f50e0c28e LOGC#88332 Ook geen kolommen kunnen toevoegen aan template-rapportages
svn path=/Website/trunk/; revision=68573
2025-03-28 10:41:50 +00:00
45f4be6892 BLCC#88279 Afronding nodig
svn path=/Website/branches/v2025.1/; revision=68570
2025-03-28 09:21:18 +00:00
Erik Groener
4fd5a13b39 BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
svn path=/Website/trunk/; revision=68562
2025-03-27 11:40:46 +00:00
Jos Groot Lipman
6a349b1306 VGLD#88321 Excel export mist titel bij Prioriteit kolom
svn path=/Website/branches/v2025.1/; revision=68561
2025-03-27 10:40:19 +00:00
Maykel Geerdink
89fe750c61 YASK#88268: Automatische opdrachten versturen geen opdrachtbon naar leverancier.
svn path=/Website/branches/v2025.1/; revision=68554
2025-03-26 13:48:25 +00:00
Jos Groot Lipman
a44245b62d MARX#88269 Iets betere putorders logging bedrijfadres_key
svn path=/Website/branches/v2025.1/; revision=68552
2025-03-26 13:07:44 +00:00
f1d2421ff8 FCLT#88289 notes_table -> mod_table
svn path=/Website/trunk/; revision=68549
2025-03-26 10:53:22 +00:00
40623853fb FCLT#88276 commentaartje (om verwarring te voorkomen)
svn path=/Website/branches/v2025.1/; revision=68536
2025-03-25 16:01:05 +00:00
d6b6c6a2be Merge 2025.1 Gold A patches (ongoing)
svn path=/Website/trunk/; revision=68535
2025-03-25 15:21:59 +00:00
Erik Groener
bf2af7045d FCLT#84767 Overstap Aareon naar Zendesk en benodigde API-koppelingen
svn path=/Website/branches/v2025.1/; revision=68534
2025-03-25 15:20:12 +00:00
dc91393987 EBNF#88241 clientside heet deze variabele (nog) stdm_info
svn path=/Website/branches/v2025.1/; revision=68533
2025-03-25 15:11:22 +00:00
a987702663 BLCC#88266 Voorkomen dat niet-invulbare velden als 'verplicht eerst invullen' worden gemarkeerd
svn path=/Website/branches/v2025.1/; revision=68529
2025-03-25 14:17:02 +00:00
Jos Groot Lipman
646649fd68 FCLT#85890 pre_putorders draaide onbedoeld altijd _twee_ keer
svn path=/Website/branches/v2025.1/; revision=68528
2025-03-25 13:46:25 +00:00
Jos Groot Lipman
ec9d326ba1 VOLK#88264 AiAi bij menuoptie reserveer Faciliteit
svn path=/Website/branches/v2025.1/; revision=68527
2025-03-25 13:12:56 +00:00
Maykel Geerdink
1e0fab1541 WOWW#88252: AiAi bij elementen op 'geen gebrek' zetten.
svn path=/Website/branches/v2025.1/; revision=68526
2025-03-25 13:08:54 +00:00
Jos Groot Lipman
af8463f461 VOLK#88264 AiAi bij menuoptie reserveer Faciliteit
svn path=/Website/branches/v2025.1/; revision=68525
2025-03-25 13:08:23 +00:00
e4c1ace4d4 MARX#88258 Voorkom 2x dezelfde group by-kolom, en neem geen samengestelde (aggregate) kolommen op in de group by
svn path=/Website/branches/v2025.1/; revision=68522
2025-03-25 12:12:41 +00:00
26ee41b807 AREO#83998 Facilitor modal (class) conflicteert met Bootstrap modal -> .fclt-modal gebruiken
svn path=/Website/trunk/; revision=68520
2025-03-25 10:00:27 +00:00
Erik Groener
944bfaee64 AAIT#85747 Toegang autorisatie personen verbeteren voor gebruiker met specifieke rechten
svn path=/Website/branches/v2025.1/; revision=68518
2025-03-25 08:38:37 +00:00
Jos Groot Lipman
6b585d91a8 VNOG#88251 Versturen bestelopdracht faalt met 'Object doesn't support '
svn path=/Website/branches/v2025.1/; revision=68516
2025-03-25 08:12:13 +00:00
Maykel Geerdink
dd964198a8 PCHX#86497: Verplichten specifieke kostensoort bij ontbrekende standaardkostensoort contractbeheer.
svn path=/Website/trunk/; revision=68514
2025-03-25 07:53:17 +00:00
Jos Groot Lipman
a7c25a7403 NYBU#88244 AiAi bij opvragen artikelen bij reservering (als je niet in db-taal werkt)
svn path=/Website/branches/v2025.1/; revision=68511
2025-03-24 21:36:48 +00:00
Jos Groot Lipman
1dbce051ab MARX#88243 Problemen met PUO-verzending en ORDNEW notificatie in versie 2025.1
svn path=/Website/branches/v2025.1/; revision=68510
2025-03-24 20:39:59 +00:00
526eee9836 LPNL#88242 keyfields kregen de unieke 'id' alias, voor de sortering en groepering moet voor die velden gekeken worden naar de db-veldnaam
svn path=/Website/branches/v2025.1/; revision=68509
2025-03-24 20:16:49 +00:00
Jos Groot Lipman
679b0cc518 Release 2025.1 Gold
svn path=/Website/branches/v2025.1/; revision=68507
2025-03-24 16:11:46 +00:00
Maykel Geerdink
773d966cce AAES#87138: CAB verzoek - Projectopdrachten handmatig op verwerkt zetten.
svn path=/Website/branches/v2025.1/; revision=68505
2025-03-24 15:47:11 +00:00
a67ccaf1b3 SUTF#85927 performance fix
svn path=/Website/branches/v2025.1/; revision=68504
2025-03-24 15:22:00 +00:00
Maykel Geerdink
a085f9e753 CARG#85606: Onoverzichtelijkheid bij aanpassen kostensoort in opdracht.
svn path=/Website/branches/v2025.1/; revision=68500
2025-03-24 12:09:11 +00:00
Jos Groot Lipman
8128ad595d FCLT#86343 In notificatie overzicht waarschuwen als puo_flags uit staat
svn path=/Website/branches/v2025.1/; revision=68496
2025-03-24 10:33:22 +00:00
Erik Groener
b6a23a88b4 KFNS#88091 Multi wijzigen tonen-in-gids niet in mutaties
svn path=/Website/branches/v2025.1/; revision=68495
2025-03-24 09:51:30 +00:00
Maykel Geerdink
d4f295e76a PZEE#87962: Problemen met toegang gerelateerde objecten op mobiel.
svn path=/Website/branches/v2025.1/; revision=68494
2025-03-24 09:04:54 +00:00
Maykel Geerdink
75308e0bf5 SUTF#81048: Status toekomstig in jaaroverzicht periodieke taken is raar als deze te laat is.
svn path=/Website/trunk/; revision=68478
2025-03-20 10:53:40 +00:00
9ec3194bc1 ARBO#87921 ook onFocus de custom kleuren op knoppen tonen
svn path=/Website/branches/v2025.1/; revision=68476
2025-03-20 08:26:54 +00:00
Jos Groot Lipman
be3fe26769 AAXX#87593 De MS Graph API bij 503 expliciet de Oracle sessies sluiten
svn path=/Website/branches/v2025.1/; revision=68475
2025-03-20 08:25:23 +00:00
Jos Groot Lipman
771f11c63c BAUS#82535 Tracking tabje niet bij nieuwe records
svn path=/Website/branches/v2025.1/; revision=68474
2025-03-20 08:19:46 +00:00
fee9bc16c7 KFNS#88162 inlogveld 200 -> 256 karakters
svn path=/Website/branches/v2025.1/; revision=68466
2025-03-19 15:33:16 +00:00
Jos Groot Lipman
1c89a3616d Release 2025.1 RC2
svn path=/Website/branches/v2025.1/; revision=68465
2025-03-19 14:44:38 +00:00
Peter Feij
92318ef901 AAXX#86721 commit voor RC3, mogelijk nog revisie
svn path=/Website/branches/v2025.1/; revision=68464
2025-03-19 14:41:21 +00:00
Jos Groot Lipman
985065e5b8 FCLT#86661 Tasker iets nettere layout logging
svn path=/Website/branches/v2025.1/; revision=68463
2025-03-19 14:35:55 +00:00
Erik Groener
7b429b6ae7 FCLT#84767 Overstap Aareon naar Zendesk en benodigde API-koppelingen
svn path=/Website/branches/v2025.1/; revision=68462
2025-03-19 14:24:30 +00:00
0dbceb3697 Merge 2025.1 RC3 patches (ongoing)
svn path=/Website/trunk/; revision=68459
2025-03-19 13:54:56 +00:00
Erik Groener
436d38c248 FCLT#84767 Overstap Aareon naar Zendesk en benodigde API-koppelingen
svn path=/Website/branches/v2025.1/; revision=68457
2025-03-19 13:03:26 +00:00
Jos Groot Lipman
2aa1a99460 FCLT#85890 Notificatie doorklikbaar
svn path=/Website/branches/v2025.1/; revision=68456
2025-03-19 13:00:45 +00:00
Jos Groot Lipman
72bf8ffdb6 FCLT#86343 In logfile handig linkje naar begin huidige pagina
svn path=/Website/branches/v2025.1/; revision=68455
2025-03-19 12:50:41 +00:00
a6cd58b28f HSLE#84406 note_key meegeven als extra_key zodat deze in de bon beschikbaar is
svn path=/Website/trunk/; revision=68454
2025-03-19 12:42:50 +00:00
Jos Groot Lipman
e4c7594e18 FCLT#88164 API2 controleert bij voorziening reservering niet goed op dirty worden
svn path=/Website/branches/v2025.1/; revision=68450
2025-03-19 12:02:35 +00:00
Maykel Geerdink
3d97e15d16 PROR#86951: Melding is ondanks vervaldatum toch aangemaakt.
svn path=/Website/trunk/; revision=68448
2025-03-19 10:48:05 +00:00
Jos Migo
c75ef8dd3b AAXX#86721 -- Standaardisatie Mareon-koppeling: configuratie contactpersoon-opties - aanvulling contactgegevens opzichter
svn path=/Website/branches/v2025.1/; revision=68445
2025-03-18 15:48:12 +00:00
Jos Groot Lipman
d7ebdef7c6 MARX#88026 Problemen met PUO-verzending en ORDNEW notificatie in versie 2025.1
svn path=/Website/branches/v2025.1/; revision=68444
2025-03-18 14:56:43 +00:00
09afcaf067 DHLD#88135 Mobile kennisbank items moet de kenmerken ook in 'mobile'-mode weergeven
svn path=/Website/trunk/; revision=68443
2025-03-18 14:56:14 +00:00
Jos Groot Lipman
b61c58560f FCLT#86343 aaanwezig --> aanwezig
svn path=/Website/branches/v2025.1/; revision=68439
2025-03-18 12:20:07 +00:00
Maykel Geerdink
133076a157 FMHN#87085: Zaalnaam toevoegen aan kalender Lopende Zaken mogelijk?
svn path=/Website/trunk/; revision=68436
2025-03-18 10:04:39 +00:00
Peter Feij
cc7ffbc195 FCLT#86343 Default banner: zonder improving FM together ondertitel
svn path=/Website/branches/v2025.1/; revision=68434
2025-03-18 07:19:13 +00:00
Maykel Geerdink
a9f0be2f1e AAGN#88049: Probleem bijlage-kenmerkvelden bij gereedmelden taak in AAGN_TEST.
svn path=/Website/branches/v2025.1/; revision=68428
2025-03-17 15:15:36 +00:00
aeab8d524d FCLT#85970 1. edit.modal = false; knoppen verschijnen nu in detailmode, en als je nu in de lijst op een regel klikt, wordt de detailmode geopend (ipv een edit-mode-popup)
svn path=/Website/branches/v2025.1/; revision=68427
2025-03-17 14:44:51 +00:00
Maykel Geerdink
c2866c8ccd LOGC#83589: Melding gereed melden en na x dagen automatisch definitief afmelden.
svn path=/Website/trunk/; revision=68421
2025-03-17 12:45:12 +00:00
Jos Groot Lipman
6a7276ef23 FCLT#86661 Tasker logfile ook via Streamfile oproepbaar
svn path=/Website/branches/v2025.1/; revision=68415
2025-03-17 08:40:48 +00:00
5ec6385f27 BRED#88094 -1 -> null
svn path=/Website/branches/v2025.1/; revision=68414
2025-03-17 08:36:45 +00:00
Jos Groot Lipman
52ce2ebffd FCLT#86661 Tasker iets meer logging bij lock-detectie
svn path=/Website/branches/v2025.1/; revision=68402
2025-03-13 16:41:04 +00:00
75b317849b IVET#83628 checkpoint; colorpicker clientside toegevoegd
svn path=/Website/trunk/; revision=68398
2025-03-13 14:35:23 +00:00
c3da23ae0a LOGC#83589 Eerst omzetten naar string
svn path=/Website/trunk/; revision=68395
2025-03-13 13:23:49 +00:00
3427db2e1b FCLT#83805 cleanup
svn path=/Website/branches/v2025.1/; revision=68392
2025-03-13 10:53:34 +00:00
92ea105602 FCLT#83805 Subtabje toont alleen een lijst met de huidige rechten, daar is een toevoegen knop bijgekomen waarmee je rechten (je raadt het al) kunt toevoegen. Die opent de 'ouderwetse' zoekpagina alwaar je rechten kunt toevoegen. QoL; refreshOnActivate is toegevoegd voor het nieuwe subtabje rechten zodat deze altijd de actuele siutuatie weergeeft (nadat je bijv. rechten hebt toegevoegd).
svn path=/Website/branches/v2025.1/; revision=68391
2025-03-13 10:35:03 +00:00
Jos Groot Lipman
e41a338679 FCLT#88016 Falers worden altijd met lagere prio verstuurd dan de rest
svn path=/Website/branches/v2025.1/; revision=68390
2025-03-13 10:22:06 +00:00
eed7a29fb3 FCLT#86343 onHover geen border-radius overrulen ..
svn path=/Website/branches/v2025.1/; revision=68388
2025-03-13 09:34:58 +00:00
Jos Groot Lipman
8cfde9fd88 FCLT#87976 Oracle 21 compatibiliteit
svn path=/Website/branches/v2025.1/; revision=68387
2025-03-13 08:09:44 +00:00
Jos Groot Lipman
55684a2561 MARX#87850 Intern bedrijf alleen systeemnotificaties, geen E(-rp)
svn path=/Website/branches/v2025.1/; revision=68383
2025-03-12 16:34:19 +00:00
Jos Groot Lipman
a2e80f59a5 AAXX#86721 Standaardisatie Mareon-koppeling: configuratie contactpersoon-opties
svn path=/Website/branches/v2025.1/; revision=68382
2025-03-12 16:23:19 +00:00
Jos Groot Lipman
7c7492e0df FCLT#86661 Bij fout geconfigureerde S(tsk_master_schema) heel expliciete foutmelding (AiAi) geven
svn path=/Website/branches/v2025.1/; revision=68381
2025-03-12 15:59:26 +00:00
Jos Groot Lipman
8c58de08bf FCLT#88016 Orderqueue stoppen na te veel falers
svn path=/Website/branches/v2025.1/; revision=68380
2025-03-12 15:20:07 +00:00
Maykel Geerdink
480563f9e7 LOGC#83589: Melding gereed melden en na x dagen automatisch definitief afmelden.__Lo
svn path=/Website/trunk/; revision=68379
2025-03-12 14:39:56 +00:00
a1dc6b7ab4 FCLT#85970 2. Als tab-titel de mijlpaal omschrijving overnemen
svn path=/Website/branches/v2025.1/; revision=68377
2025-03-12 14:03:05 +00:00
Jos Groot Lipman
7df37f6595 MARX#88026 Problemen met PUO-verzending en ORDNEW notificatie in versie 2025.1
svn path=/Website/branches/v2025.1/; revision=68376
2025-03-12 13:14:05 +00:00
Jos Groot Lipman
f7ce59e623 MARX#88026 Problemen met PUO-verzending en ORDNEW notificatie in versie 2025.1
svn path=/Website/branches/v2025.1/; revision=68375
2025-03-12 12:41:08 +00:00
78cb377b48 NOVA#85923 icoontjes (en dus niet meer achter de hamburger)
svn path=/Website/branches/v2025.1/; revision=68371
2025-03-12 10:54:20 +00:00
Jos Groot Lipman
e1329c8fcc FCLT#88022 Afrondingsfout materiaal, daarom 7 decimalen toestaan
svn path=/Website/branches/v2025.1/; revision=68363
2025-03-11 16:19:51 +00:00
Erik Groener
ead186bd34 FBEA#87989 Probleem met import vrije dagen door missende 'FAC_IMPORT_VRIJEDAGEN'
svn path=/Website/branches/v2025.1/; revision=68357
2025-03-11 12:44:00 +00:00
Jos Groot Lipman
cffd525aa3 FCLT#86661 S(tsk_master_schema) opleveren voor 'Tasker' knopje op onze portal
svn path=/Website/branches/v2025.1/; revision=68354
2025-03-11 12:03:04 +00:00
Maykel Geerdink
238440ce35 PZEE#87962: Problemen met toegang gerelateerde objecten op mobiel.
svn path=/Website/branches/v2025.1/; revision=68353
2025-03-11 11:19:45 +00:00
Jos Groot Lipman
88c59c57f9 FCLT#85890 Opnieuw versturen: explicieter aangeven dat dit alleen werkt voor technische adressen, niet voor e-mail/sms/app
svn path=/Website/branches/v2025.1/; revision=68350
2025-03-11 10:44:21 +00:00
Jos Groot Lipman
f99206aee9 FCLT#85890 Notificatie doorklikbaar
svn path=/Website/branches/v2025.1/; revision=68349
2025-03-11 10:18:38 +00:00
Erik Groener
a6f77764ba BAMG#87829 Terreinkenmerk zichtbaarheidsprobleem door autorisatiecheck
svn path=/Website/trunk/; revision=68346
2025-03-11 08:25:17 +00:00
aa4dac38b7 BCGV#85436 LCL's gebruiken (en alvast aanmaken)
svn path=/Website/branches/v2025.1/; revision=68340
2025-03-10 15:57:49 +00:00
a9462d2f91 FMHN#87994 Default opstelling kiezen wanneer van toepassing
svn path=/Website/branches/v2025.1/; revision=68339
2025-03-10 14:54:09 +00:00
8e45db6e1e BCGV#85436 Deprecated ??
svn path=/Website/branches/v2025.1/; revision=68336
2025-03-10 14:00:32 +00:00
d43b94b903 BCGV#85436 puntjes op de i
svn path=/Website/branches/v2025.1/; revision=68335
2025-03-10 13:53:46 +00:00
Erik Groener
a702f39ff0 FBEA#87989 Probleem met import vrije dagen door missende 'FAC_IMPORT_VRIJEDAGEN'
svn path=/Website/branches/v2025.1/; revision=68332
2025-03-10 12:25:27 +00:00
20b66c2819 YASK#87891 De JOIN op prs_v_perslid_fullnames_all pf via prs_perslid_key_user conditioneel gemaakt
svn path=/Website/branches/v2025.1/; revision=68331
2025-03-10 10:37:43 +00:00
ec5a31095e BCGV#85436 Savepoint berichten-zoekscherm via SCF, en het versturen tracken (en weergeven in een mutatie-tabje)
svn path=/Website/branches/v2025.1/; revision=68324
2025-03-07 15:28:04 +00:00
875c07d825 FCLT#85890 - log
svn path=/Website/branches/v2025.1/; revision=68318
2025-03-07 12:23:50 +00:00
a1b366f8e6 NOUR#87975 Zelfde colName als voorheen
svn path=/Website/branches/v2025.1/; revision=68316
2025-03-07 09:41:40 +00:00
5c52b06182 NOUR#87975 colName attribuut toegevoegd bij 'object identificatie'
svn path=/Website/branches/v2025.1/; revision=68314
2025-03-07 09:40:01 +00:00
4a667236e4 FCLT#85970 bij bestaande meldingen altijd het behandelblok tonen
svn path=/Website/branches/v2025.1/; revision=68313
2025-03-07 08:57:22 +00:00
Jos Groot Lipman
bc27b6bb7f MARX#87850 Zonder ORDNEW geen rode driehoek maar "Zonder gebeurtenissen wordt automatisch ORDNEW ondersteund"
svn path=/Website/branches/v2025.1/; revision=68304
2025-03-06 14:46:18 +00:00
Maykel Geerdink
ada9ed35a9 LPNL#87939: Probleem met toevoegen objecten in LPNL acceptatieomgeving.
svn path=/Website/branches/v2025.1/; revision=68303
2025-03-06 13:08:26 +00:00
9865c9a7af FCLT#87726 Verkeerde variabel-naam ..
svn path=/Website/branches/v2025.1/; revision=68302
2025-03-06 09:45:12 +00:00
f9bb2969b1 NSPT#87935 De kenmerken initieel serverside inladen ipv clientside
svn path=/Website/branches/v2025.1/; revision=68301
2025-03-06 09:35:45 +00:00
2201ac07a2 FMHN#86966 Neutrale (potentieel lege) callback pagina voor mobile toegevoegd, als clientside tegenhanger van mobile.simpel_page, die wordt teruggegeven als er met qrc=1 een melding wordt geregistreerd
svn path=/Website/branches/v2025.1/; revision=68300
2025-03-05 16:07:29 +00:00
Jos Groot Lipman
40c2de8f0d FCLT#85890 Tikfoutje parameternaam
svn path=/Website/branches/v2025.1/; revision=68298
2025-03-05 13:18:13 +00:00
Erik Groener
db17b90f59 FCLT#84767 Overstap Aareon naar Zendesk en benodigde API-koppelingen
svn path=/Website/branches/v2025.1/; revision=68297
2025-03-05 12:48:07 +00:00
Erik Groener
f6e7d50ca7 NSPT#87935 Kenmerken laden niet bij kennisbankitem, mogelijk bug 2025.1?
svn path=/Website/branches/v2025.1/; revision=68293
2025-03-05 11:38:34 +00:00
Jos Groot Lipman
545d302933 MARX#87850 Secrets standaard hidden
svn path=/Website/branches/v2025.1/; revision=68292
2025-03-05 11:18:04 +00:00
Erik Groener
a36acea0cd FCLT#83805 Beheer van autorisatiegroepen intuitiever maken
svn path=/Website/branches/v2025.1/; revision=68291
2025-03-05 10:07:42 +00:00
Jos Groot Lipman
7a99b3911c AAXX#86721 Standaardisatie Mareon-koppeling: configuratie contactpersoon-opties
svn path=/Website/branches/v2025.1/; revision=68289
2025-03-05 08:15:06 +00:00
Jos Groot Lipman
34bf0bd0f8 FCLT#85890 Tikfoutje parameternaam
svn path=/Website/branches/v2025.1/; revision=68288
2025-03-05 08:10:35 +00:00
Jos Groot Lipman
f0b652d2e0 Release 2025.1 RC2
svn path=/Website/branches/v2025.1/; revision=68286
2025-03-04 15:40:53 +00:00
Peter Feij
234d5512cd FCLT#86343 Vette labels (sorry Arbo ;-))
svn path=/Website/branches/v2025.1/; revision=68285
2025-03-04 15:38:27 +00:00
Jos Groot Lipman
c66f003f21 MARX#87850 Tracking op bedrijfadressen weer aan
svn path=/Website/branches/v2025.1/; revision=68284
2025-03-04 15:33:26 +00:00
Erik Groener
ded7d8d9ba YAXX#87907 Technische adressen niet in te lezen in testomgeving?
svn path=/Website/branches/v2025.1/; revision=68283
2025-03-04 15:25:42 +00:00
574829d511 FCLT#85970 Voorwaarden voor anyplanbaar (=> anyEinddatumZichtbaar) gefixt
svn path=/Website/branches/v2025.1/; revision=68282
2025-03-04 14:30:15 +00:00
84937a0be0 MARX#87850 + safe.jsstring
svn path=/Website/branches/v2025.1/; revision=68281
2025-03-04 14:22:34 +00:00
224e01fc30 ARBO#87921 Buttons vet? Dan ook bij :focus & :hover
svn path=/Website/branches/v2025.1/; revision=68280
2025-03-04 14:21:16 +00:00
Peter Feij
de8e7bd86a AAXX#86721 De standaard Mareon stylesheet reageert nu op voorgedefnineerde xlstransformparams
svn path=/Website/branches/v2025.1/; revision=68279
2025-03-04 13:59:33 +00:00
Jos Groot Lipman
59ae997601 AAXX#86721 Standaardisatie Mareon-koppeling: configuratie contactpersoon-opties
svn path=/Website/branches/v2025.1/; revision=68278
2025-03-04 13:44:33 +00:00
Jos Groot Lipman
e3ce711bd1 FCLT#85890 fac.notifytrackingbedrijven kan nu ook met delay (voor Mareon)
svn path=/Website/branches/v2025.1/; revision=68277
2025-03-04 13:27:44 +00:00
Erik Groener
d8d0b52437 MARX#84828 Verzoek tot zelfreset OTP codes door Mareon leveranciers doorvoeren
svn path=/Website/trunk/; revision=68275
2025-03-04 12:44:10 +00:00
Jos Groot Lipman
74f8eb09a0 CSUN#87831 Fout bij kopiëren vakgroep in testomgeving sinds gisteren
svn path=/Website/branches/v2025.1/; revision=68271
2025-03-03 16:36:54 +00:00
Maykel Geerdink
8b4b8929f7 YASK#86869: Facturen verdwijnen na fiattering door Facilitair manager.
svn path=/Website/branches/v2025.1/; revision=68270
2025-03-03 16:32:18 +00:00
Jos Groot Lipman
9b2b9e90f8 FCLT#85890 Sta opnieuw versturen naar technisch adres vanuit Mutaties tabje toe
svn path=/Website/branches/v2025.1/; revision=68268
2025-03-03 15:43:44 +00:00
Erik Groener
469f83f337 VNOG#84055 Reserveringen van een week kunnen niet herhaald worden
svn path=/Website/trunk/; revision=68264
2025-03-03 13:01:55 +00:00
Jos Groot Lipman
85b9368f63 K#87909 Dubbele vermelding district Domus Medica in testomgeving
svn path=/Website/branches/v2025.1/; revision=68260
2025-03-03 12:12:27 +00:00
Jos Groot Lipman
0897a2536c FCLT#85890 prs_bedrijf_intern via 'elke tabel' bewerkbaar
svn path=/Website/branches/v2025.1/; revision=68258
2025-03-03 11:23:50 +00:00
0581496c7f FCLT#85970 Behandelblok onderdrukken als deze niet nodig is
svn path=/Website/branches/v2025.1/; revision=68252
2025-02-28 21:00:16 +00:00
9a28da1c9c MARX#87850 Opdrachtgever-kolom terug in de lijst, en van ordermode weer een dropdown gemaakt in edit-mode
svn path=/Website/branches/v2025.1/; revision=68251
2025-02-28 19:58:49 +00:00
38618afc5c HSLE#87890 flex-marker na de replace opnieuw evalueren
svn path=/Website/branches/v2025.1/; revision=68249
2025-02-28 18:11:33 +00:00
0efcb196cc FCLT#87835 + oRs.Close()
svn path=/Website/trunk/; revision=68244
2025-02-28 15:19:12 +00:00
f3f7679b68 FMHN#87856 altijd moveNext, anders mogelijke infinite loop
svn path=/Website/branches/v2025.1/; revision=68242
2025-02-28 14:24:26 +00:00
1b2d89152c YASK#87865 revert
svn path=/Website/branches/v2025.1/; revision=68241
2025-02-28 12:51:11 +00:00
40e0244455 YASK#87865 Bij includes tonen we verwijderde records alleen indien gewenst (en nu ook als er expliciet gefilterd is)
svn path=/Website/branches/v2025.1/; revision=68240
2025-02-28 12:48:00 +00:00
408e78fca3 HOUT#87495 res_nietvrij moet zwaarder wegen dan res_extern
svn path=/Website/branches/v2025.1/; revision=68239
2025-02-28 11:32:50 +00:00
42746c49b9 VNOG#87878 Performance 'gerelateerd'-subtabje verbeteren
svn path=/Website/branches/v2025.1/; revision=68238
2025-02-28 10:30:08 +00:00
Maykel Geerdink
fbf2ea3f1a VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/branches/v2025.1/; revision=68232
2025-02-27 13:38:58 +00:00
Maykel Geerdink
7504ea6d6f VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/branches/v2025.1/; revision=68231
2025-02-27 13:37:07 +00:00
Jos Groot Lipman
f634e046bb FCLT#85890 Bij aanmaken technisch adres protocol voor e-mail vanzelf verzinnen
svn path=/Website/branches/v2025.1/; revision=68228
2025-02-27 12:26:30 +00:00
Jos Groot Lipman
830f8daa31 CSUN#87371 Verwijderen overbodige afbeeldingen bij mail2melding berichten
svn path=/Website/branches/v2025.1/; revision=68226
2025-02-27 11:39:19 +00:00
Rik Hassing
6b9956cca1 DJIN#87452
- Remove "else".

svn path=/Website/trunk/; revision=68223
2025-02-27 11:06:57 +00:00
c31435289b FCLT#87852 context juist evalueren wanneer niet expliciet meegegeven
svn path=/Website/branches/v2025.1/; revision=68222
2025-02-27 10:46:50 +00:00
06075b0782 DJIN#87452 geen inlineDetails als het om een verwijderde reservering gaat (dan is er toch niets te zien)
svn path=/Website/trunk/; revision=68221
2025-02-27 08:59:58 +00:00
Jos Groot Lipman
37a6ea16fe FCLT#86661 Tasker iets robuuster bij vervallen klanten
svn path=/Website/branches/v2025.1/; revision=68220
2025-02-27 08:50:22 +00:00
Rik Hassing
0362329245 DJIN#87452
- Let "theGroup" variable (also) filter out deleted reservations. 

svn path=/Website/trunk/; revision=68219
2025-02-27 08:36:28 +00:00
Jos Groot Lipman
88f3c20189 BLCC#83273 bulk behandelteam mag geen Transport error geven
svn path=/Website/branches/v2025.1/; revision=68217
2025-02-26 16:44:07 +00:00
0e4237cf22 FCLT#87835 Code opmaak (geen functionele wijziging)
svn path=/Website/trunk/; revision=68214
2025-02-26 16:31:17 +00:00
cf4178cb03 Merge 2025.1 RC2 patches (ongoing)
svn path=/Website/trunk/; revision=68213
2025-02-26 16:21:05 +00:00
Erik Groener
2866126783 FCLT#87529 Kenmerk-eigenschap "Verplicht" ook in Showmode tonen als deze de waarde "Niet verplicht" heeft.
svn path=/Website/trunk/; revision=68212
2025-02-26 14:46:39 +00:00
Erik Groener
421a5317ad FCLT#87529 Kenmerk-eigenschap "Verplicht" ook in Showmode tonen als deze de waarde "Niet verplicht" heeft.
Revert om te verplaatsen naar 2025.2

svn path=/Website/branches/v2025.1/; revision=68211
2025-02-26 14:44:35 +00:00
21cbf9d470 AAES#87338 S(cnt_inactivate_mode) ook in de ASP code bitwise interpreteren
svn path=/Website/branches/v2025.1/; revision=68209
2025-02-26 13:48:15 +00:00
Erik Groener
6cf3216365 FCLT#87529 Kenmerk-eigenschap "Verplicht" ook in Showmode tonen als deze de waarde "Niet verplicht" heeft
svn path=/Website/branches/v2025.1/; revision=68208
2025-02-26 12:45:40 +00:00
Jos Groot Lipman
900fcf0dec FCLT#86661 Tasker elke seconde draaien en herstartbaar maken
svn path=/Website/branches/v2025.1/; revision=68206
2025-02-26 12:11:07 +00:00
c7c427f10f AAXX#87593 De MS Graph API heeft nu een wachtrij, als die vol is, dan weigeren we nieuwe notificaties (tijdelijk)
svn path=/Website/branches/v2025.1/; revision=68204
2025-02-26 10:52:31 +00:00
Rik Hassing
23aa87e66a DJIN#87452
- Replace view "res_v_aanwezigrsv_deel" with derived table "res_rsv_deel" to also get values from "res_rsv_deel_verwijder".

svn path=/Website/trunk/; revision=68200
2025-02-26 09:38:44 +00:00
e0ed152046 Merge 2025.1 (fix)
svn path=/Website/trunk/; revision=68199
2025-02-26 09:02:45 +00:00
1d39c016f2 #86343 Dit probeersel had niet (mee-)gecommit moeten worden, bij deze teruggedraaid
svn path=/Website/branches/v2025.1/; revision=68197
2025-02-25 15:55:47 +00:00
26593cafb3 PCHW#84834 Voor BO is volgnr 900 inclusief
svn path=/Website/branches/v2025.1/; revision=68192
2025-02-25 12:19:59 +00:00
Jos Groot Lipman
fa38959618 FCLT#85890 Orderqueue: 'wordt zo verstuurd naar extern kanaal (1x)' de (1x) onderdrukken
svn path=/Website/branches/v2025.1/; revision=68191
2025-02-25 12:14:02 +00:00
Rik Hassing
e91e92540a PCHW#84834
- Format ternary operator in query.
- Fix mistake in ternary condition.
- Move autho_required up for early exit.

svn path=/Website/branches/v2025.1/; revision=68189
2025-02-25 12:08:00 +00:00
c35fdcc182 FCLT#85478 De workflow-visualisatie(-knop) bij een melding die een startmelding van een workflow is, mag nu gezien worden door gebruikers die die workflow mogen maken/aanpassen (WEB_MLDMGT)
svn path=/Website/branches/v2025.1/; revision=68188
2025-02-25 12:06:46 +00:00
274f1736dc FCLT#85478 Ook in FireFox bij de initRedraw een .fit() aanroepen als het diagram hidden ingeladen is (anders wordt de inhoud linksbovenin gepositioneerd)
svn path=/Website/branches/v2025.1/; revision=68185
2025-02-25 11:40:18 +00:00
Peter Feij
585be5de18 VNOG#85909 detail in config aangepast (GUI)
svn path=/Website/branches/v2025.1/; revision=68183
2025-02-25 11:06:03 +00:00
85da61e680 Merge 2025.1 RC1 patches
svn path=/Website/trunk/; revision=68178
2025-02-25 09:09:42 +00:00
6810d83bf6 IMPU#87580 typo ..
svn path=/Website/branches/v2025.1/; revision=68177
2025-02-25 09:02:45 +00:00
Jos Groot Lipman
671da209fe FCLT#85890 Orderqueue: 'opdr_key' is undefined
svn path=/Website/branches/v2025.1/; revision=68176
2025-02-25 08:34:38 +00:00
Maykel Geerdink
03d99283e9 VGLD#85984: Automatische afsluitdatum instellen in contracten mogelijk?
svn path=/Website/branches/v2025.1/; revision=68175
2025-02-25 08:21:10 +00:00
Jos Groot Lipman
d9e30a8f80 FCLT#86661 Tasker: missing komma
svn path=/Website/branches/v2025.1/; revision=68174
2025-02-24 18:11:35 +00:00
Jos Groot Lipman
8930f0cdd8 Release 2025.1 RC1
svn path=/Website/branches/v2025.1/; revision=68172
2025-02-24 15:39:04 +00:00
Maykel Geerdink
dafaf10203 VGLD#85984: Automatische afsluitdatum instellen in contracten mogelijk?
svn path=/Website/branches/v2025.1/; revision=68171
2025-02-24 15:36:29 +00:00
Rik Hassing
6190e1a54e PCHW#84834
- Add additional filtering on query depending on user rights.

svn path=/Website/branches/v2025.1/; revision=68165
2025-02-24 15:00:17 +00:00
46867bafbf TDNL#82428 msg -> ins
svn path=/Website/branches/v2025.1/; revision=68164
2025-02-24 14:19:40 +00:00
Erik Groener
ca9c8a9931 FCLT#84767 Overstap Aareon naar Zendesk en benodigde API-koppelingen
svn path=/Website/branches/v2025.1/; revision=68162
2025-02-24 14:14:46 +00:00
Rik Hassing
481993327a TDNL#82428
- Change CSS class name.

svn path=/Website/branches/v2025.1/; revision=68160
2025-02-24 13:57:46 +00:00
Maykel Geerdink
211723df4b NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Website/branches/v2025.1/; revision=68156
2025-02-24 13:03:08 +00:00
Maykel Geerdink
36f5f18588 NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Website/branches/v2025.1/; revision=68155
2025-02-24 12:17:08 +00:00
Maykel Geerdink
115eeb0cda NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Website/branches/v2025.1/; revision=68154
2025-02-24 12:15:27 +00:00
Erik Groener
f8b8b96fe2 MARX#87071 Beveiligingsprobleem met wijzigen van contactpersonen in EXTREL-systeem
svn path=/Website/branches/v2025.1/; revision=68152
2025-02-24 12:10:52 +00:00
31f9a0b287 LOGC#85836 kenmerk volgnummer velden; maxlength=3 toegevoegd om DB NUMBER(3) te honoreren
svn path=/Website/branches/v2025.1/; revision=68151
2025-02-24 09:12:17 +00:00
9d884d2db8 FCLT#87740 -log
svn path=/Website/branches/v2025.1/; revision=68148
2025-02-21 20:19:06 +00:00
7e8f183af2 FCLT#87740 refactoring & startdate als hidden veld opnemen als er geen vakgroepen zijn die startdatum gebruiken
svn path=/Website/branches/v2025.1/; revision=68147
2025-02-21 20:13:49 +00:00
d1a0f00b84 FCLT#85970 hier ook de {}-params structuur gebruiken
svn path=/Website/branches/v2025.1/; revision=68146
2025-02-21 19:55:56 +00:00
af75125a85 FCLT#86564 beetje refactoring & bugfixje
svn path=/Website/trunk/; revision=68134
2025-02-21 11:31:12 +00:00
Rik Hassing
2f5086a156 FCLT#86564
- Secure priority info from 'laatste melding'.
- Remove not needed 'toString()'.

svn path=/Website/trunk/; revision=68126
2025-02-21 08:46:38 +00:00
21a075d271 BAUS#80301 bij taakkenmerken niet op objectdiscipline orderby-en, anders AiAi
svn path=/Website/branches/v2025.1/; revision=68125
2025-02-21 08:24:33 +00:00
b9e78cbcc9 AAIT#85439 syntaxfout ..
svn path=/Website/branches/v2025.1/; revision=68121
2025-02-20 16:01:03 +00:00
13c64f151c FCLT#87726 2.5s -> 1.5s, en wat andere minor changes
svn path=/Website/branches/v2025.1/; revision=68113
2025-02-20 14:28:41 +00:00
Maykel Geerdink
1bcd61a731 SUTF#85927: Gerelateerde objecten niet zichtbaar in Facilitor Mobile.
svn path=/Website/branches/v2025.1/; revision=68111
2025-02-20 14:21:57 +00:00
Jos Groot Lipman
5d0a618265 FCLT#85890 Diverse notificatie 'P' voor planrequest alvast toestaan (naast 'V')
svn path=/Website/branches/v2025.1/; revision=68108
2025-02-20 14:07:55 +00:00
afdbe60a67 FCLT#87726 typo ..
svn path=/Website/branches/v2025.1/; revision=68107
2025-02-20 13:48:47 +00:00
Jos Groot Lipman
2942bcdc88 FCLT#85890 Diverse notificatie commentaar/logging
svn path=/Website/branches/v2025.1/; revision=68106
2025-02-20 13:33:20 +00:00
Rik Hassing
3a010ee85b FCLT#86306
- Change native 'closest' to Jquery version. 
- Add "headerprefix" in if statement to exclude from click event.
- Format code.

svn path=/Website/trunk/; revision=68105
2025-02-20 12:57:18 +00:00
Rik Hassing
e996d4f4c8 FCLT#86564
Edit 'Actiedatum'
- Always show hour input if editting for multiple meldingen.
- Set 'Actiedatum' priority level by melding priority.

svn path=/Website/trunk/; revision=68104
2025-02-20 12:32:31 +00:00
00c0980bd9 IMPU#87580 mapLetterToLevel -> getAlgLevelByAlgNiveau, globale plaatsselector-namespace gedefinieerd, en meer ..
svn path=/Website/branches/v2025.1/; revision=68103
2025-02-20 12:08:31 +00:00
Jos Groot Lipman
982751d630 FCLT#85890 Diverse notificatie configuratie interface verfijningen
svn path=/Website/branches/v2025.1/; revision=68101
2025-02-20 11:40:03 +00:00
ae52e6d249 FCLT#87726 3.5s -> 2.5s
svn path=/Website/branches/v2025.1/; revision=68096
2025-02-20 08:52:11 +00:00
Jos Groot Lipman
1f53a1626a INLO#87735 Foutmelding: waarde is geen float in INLO logfile
svn path=/Website/branches/v2025.1/; revision=68095
2025-02-20 08:45:56 +00:00
Jos Groot Lipman
f3be9d1aa5 FCLT#86343 "Onbekende extensie e-mail bijlage" iets minder hard loggen. Er komen nooit vragen over dus niet boeiend
svn path=/Website/branches/v2025.1/; revision=68094
2025-02-20 08:06:59 +00:00
Jos Groot Lipman
e1369686a9 FCLT#85890 Diverse notificatie configuratie interface verfijningen
svn path=/Website/branches/v2025.1/; revision=68089
2025-02-19 17:09:01 +00:00
Jos Groot Lipman
1f956a5061 FCLT#85890 puo_lcl_tracknoti_sys en puo_lcl_tracknoti_sys_fail toegevoegd
svn path=/Website/branches/v2025.1/; revision=68088
2025-02-19 17:04:16 +00:00
Jos Groot Lipman
61caae5f37 FCLT#85890 hookfunction 'prevent_sending' fixje
svn path=/Website/branches/v2025.1/; revision=68086
2025-02-19 16:59:34 +00:00
Maykel Geerdink
2b95cd137f BRCF#80271: Dubbele scope contracten/dienst voorkomen.
svn path=/Website/branches/v2025.1/; revision=68085
2025-02-19 16:17:20 +00:00
Rik Hassing
63ccf3d7c6 FCLT#86306
- Switch to "main tab" (overzicht) clicking header (logo).

svn path=/Website/trunk/; revision=68084
2025-02-19 15:17:29 +00:00
ef1d7d7dd1 FCLT#87726 typing animatie toegevoegd voor verynew meldingen met een AI gegenereerd onderwerp
svn path=/Website/branches/v2025.1/; revision=68081
2025-02-19 14:07:50 +00:00
Jos Groot Lipman
26d7f23830 FCLT#86343 Bij OTAP==O iets agressiever de customerId in het browsertabje plaatsen
svn path=/Website/branches/v2025.1/; revision=68080
2025-02-19 14:05:00 +00:00
Jos Groot Lipman
8d7ef27c8a FCLT#61481 Obsolete commentaar verwijderd
svn path=/Website/branches/v2025.1/; revision=68079
2025-02-19 13:29:54 +00:00
Rik Hassing
0ce5876a2b FCLT#86564
- Only show time field if 'uitvoertijd' unit is hour (U).

svn path=/Website/trunk/; revision=68077
2025-02-19 12:44:26 +00:00
9cd0d70ec9 FCLT#85890 _validate_fields compatible maken met multi-edit
svn path=/Website/branches/v2025.1/; revision=68075
2025-02-19 11:42:13 +00:00
1120f8600a FCLT#86343 multi-edit van filepicker ook ondersteunen in SCF-schermen
svn path=/Website/branches/v2025.1/; revision=68074
2025-02-19 11:33:56 +00:00
Maykel Geerdink
1c2a88cfcd CARG#85606: Onoverzichtelijkheid bij aanpassen kostensoort in opdracht.
svn path=/Website/branches/v2025.1/; revision=68073
2025-02-19 11:14:22 +00:00
Maykel Geerdink
6c9f9c806a CARG#85606: Onoverzichtelijkheid bij aanpassen kostensoort in opdracht.
svn path=/Website/branches/v2025.1/; revision=68071
2025-02-19 10:56:31 +00:00
b1eeeaba59 VLKC#87543 locatie-/gebouw-vervaldata in acht nemen bij relatiebeheer (prs_bedrijf_search)
svn path=/Website/branches/v2025.1/; revision=68070
2025-02-19 10:53:41 +00:00
Jos Groot Lipman
b5af8fbcc9 FCLT#85890 hookfunction 'prevent_sending' ook in puo_sample opnemen
svn path=/Website/branches/v2025.1/; revision=68069
2025-02-19 10:51:15 +00:00
Jos Groot Lipman
a485c399df FCLT#85890 hookfunction 'prevent_sending' om optioneel versturen te voorkomen
svn path=/Website/branches/v2025.1/; revision=68068
2025-02-19 10:31:41 +00:00
Maykel Geerdink
54a2f3de1c NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Website/branches/v2025.1/; revision=68067
2025-02-19 10:07:10 +00:00
eab49811a9 FCLT#85890 prs_bedrijfadres_attachfile is een 'File'
svn path=/Website/branches/v2025.1/; revision=68065
2025-02-19 09:46:44 +00:00
30b6ba6651 Branch 2025.1
svn path=/Website/branches/v2025.1/; revision=68060
2025-02-18 19:38:50 +00:00
18dfa5ed3a Merge 2024.3 Gold E patches (no functional changes)
svn path=/Website/trunk/; revision=68059
2025-02-18 19:34:30 +00:00
Maykel Geerdink
c499607062 VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/trunk/; revision=68057
2025-02-18 17:25:13 +00:00
Jos Groot Lipman
c55f93df82 FCLT#85890 fac_notificatie_realuser bijhouden zodat we in putorders correct kunnen overrulen
svn path=/Website/trunk/; revision=68056
2025-02-18 16:46:24 +00:00
Maykel Geerdink
6605a02cb9 YASK#86916: Filtermogelijkheid op regio toevoegen in zoekscherm facturen (alg_startlevel).
svn path=/Website/trunk/; revision=68055
2025-02-18 16:20:03 +00:00
Erik Groener
dd6dbb1706 FCLT#84767 savepoint
svn path=/Website/trunk/; revision=68049
2025-02-18 15:59:38 +00:00
Maykel Geerdink
d6a903aee0 NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Website/trunk/; revision=68045
2025-02-18 15:24:13 +00:00
Rik Hassing
607222e604 IMPU#87580
function mapLetterToLevel
- fix/change name parameter.

svn path=/Website/trunk/; revision=68042
2025-02-18 15:03:11 +00:00
3006d0b3c5 FCLT#86984 revert SCF
svn path=/Website/trunk/; revision=68041
2025-02-18 14:48:25 +00:00
a3b9dbe779 FCLT#86984 Zoeken (of; Overzichtslijst) -> Opslaan, en Annuleren -> Herstel
svn path=/Website/trunk/; revision=68040
2025-02-18 14:45:34 +00:00
1d01f76d15 FCLT#86197 exporteer -> transporteren
svn path=/Website/trunk/; revision=68038
2025-02-18 14:21:55 +00:00
Maykel Geerdink
05e274ee4d NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Website/trunk/; revision=68037
2025-02-18 14:21:30 +00:00
Maykel Geerdink
50953b91aa NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Website/trunk/; revision=68036
2025-02-18 14:16:03 +00:00
Rik Hassing
72facf18f6 IMPU#87580
plaatsselector.inc
- Move 'mapLetterToLevel' from mld.inc to plaatsselector.inc.
- Rename function to mapLetterToLevel().
res_edit_rsv_ruimte.asp
- reado_level value set by mapLetterToLevel().
melding_new.asp
- requiredlevel value set by mapLetterToLevel().


svn path=/Website/trunk/; revision=68034
2025-02-18 13:59:54 +00:00
Jos Groot Lipman
faa069de13 AAXX#87593 MSGRAPH incoming queue expliciet tonen: waarschuwing over api_intern erbij
svn path=/Website/trunk/; revision=68033
2025-02-18 10:57:15 +00:00
Rik Hassing
8fb0a9cb1c IMPU#87580
mld.inc
- Add function to return corresponding 'required level' for 'property level' (ontroerend goed).

mld_edit_melding.asp
- Check stdmelding has 'property level', and use that to determine 'required level'.


svn path=/Website/trunk/; revision=68032
2025-02-18 10:06:06 +00:00
ac4a699bc3 KFNS#86203 Laatste commit (van Rik) reverted
svn path=/Website/trunk/; revision=68031
2025-02-18 10:02:35 +00:00
Maykel Geerdink
89e77805b4 NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Website/trunk/; revision=68030
2025-02-18 09:46:45 +00:00
Jos Groot Lipman
81828fb148 AAXX#87593 MSGRAPH incoming queue expliciet tonen
svn path=/Website/trunk/; revision=68027
2025-02-18 09:23:43 +00:00
0a944f399c FMHN#85758 Filter [inclusief] gemaakt
svn path=/Website/trunk/; revision=68026
2025-02-18 09:13:47 +00:00
Jos Groot Lipman
aafc62b797 FCLT#85890 Notify queue savepoint
svn path=/Website/trunk/; revision=68025
2025-02-18 09:09:41 +00:00
Maykel Geerdink
a4a7f3b7c6 VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/trunk/; revision=68019
2025-02-18 07:02:38 +00:00
Rik Hassing
90d3b9cf62 KFNS#86203
- Add extra boolean to make "Contactpersoons" filter independent of "Uitvoerende" contactpersoonselector.

svn path=/Website/trunk/; revision=68008
2025-02-17 15:19:25 +00:00
Rik Hassing
a4a1d26219 FMHN#85758
- Add "end date" filter for "persoongegevens" overzicht. 
- Can be toggled with setting "prs_perslid_datums".

svn path=/Website/trunk/; revision=68003
2025-02-17 12:35:09 +00:00
Rik Hassing
42eee2a39e FCLT#86197
- Remove logs.

svn path=/Website/trunk/; revision=67998
2025-02-17 07:24:52 +00:00
Rik Hassing
2c1324cfe5 - Remove requiredlevel param for FCLTplaatsselector.
- Remove if statement that checks if input 'gebouw' exists. (not needed anymore).

svn path=/Website/trunk/; revision=67995
2025-02-14 15:44:36 +00:00
ecb9a930c8 FCLT#86197 labels & iconen aangepast
svn path=/Website/trunk/; revision=67993
2025-02-14 15:32:50 +00:00
Rik Hassing
97d09ac3f0 FCLT#86197
- Keep scf lcl's only in scaffolding files.
- Use 'generic' lcl's for the other files.

svn path=/Website/trunk/; revision=67991
2025-02-14 14:11:07 +00:00
1815f86606 PROR#87134 Requirement om res_ruimte_extern_id te editen van PRSSYS -> RESMGT aangepast
svn path=/Website/trunk/; revision=67986
2025-02-14 12:45:10 +00:00
e4091b9a33 KFNS#87301 Optie toevoegen voor bulk wijziging veld 'ingids tonen' erbij (en code/veldjes een beetje geshuffled)
svn path=/Website/trunk/; revision=67985
2025-02-14 11:41:07 +00:00
4a3f017056 CARG#85437 autodeliver-veldje erbij + chronologische lever-lijst
svn path=/Website/trunk/; revision=67978
2025-02-13 21:26:04 +00:00
Jos Groot Lipman
dff96196f5 FCLT#85890 Notify queue iets betere logging en vooral: bij mail versturen is resultcode altijd 0 (in plaats van 2)
svn path=/Website/trunk/; revision=67971
2025-02-13 15:17:08 +00:00
8287eb7fdb IVET#87655 overbodig regex-bitje
svn path=/Website/trunk/; revision=67965
2025-02-13 09:48:44 +00:00
9c19515ac0 IVET#87655 :flex mag best case-insensitive (net als in FAC_PACFLEX)
svn path=/Website/trunk/; revision=67964
2025-02-13 09:03:04 +00:00
Erik Groener
74db1a4533 FCLT#84767 savepoint
svn path=/Website/trunk/; revision=67961
2025-02-12 15:29:53 +00:00
Jos Groot Lipman
9869eb153e FCLT#86661 Tasker iets robuuster
svn path=/Website/trunk/; revision=67959
2025-02-12 14:53:37 +00:00
Jos Groot Lipman
2351aaf412 FCLT#86343 fac_verify iets beter Application object tonen
svn path=/Website/trunk/; revision=67954
2025-02-12 13:26:32 +00:00
Jos Groot Lipman
da3c404d7b FCLT#87645 Bug met opslaan datetime bij multi-edit
svn path=/Website/trunk/; revision=67952
2025-02-12 12:22:18 +00:00
db27b80999 SGGR#86955 Ook in cnt-edit mode de mantel-contracten-select vullen met de mantelcontracten waar ik recht op heb plus (nieuw) de mantelcontracten waar ik beheerder van ben
svn path=/Website/trunk/; revision=67948
2025-02-12 08:41:35 +00:00
Jos Groot Lipman
89cc7150c9 FCLT#85890 Notify queue savepoint
svn path=/Website/trunk/; revision=67943
2025-02-11 15:55:28 +00:00
7b0583b137 FCLT#86343 Geen functionele change
svn path=/Website/trunk/; revision=67941
2025-02-11 15:31:40 +00:00
Rik Hassing
de190eed79 FCLT#86197
- Rename import/export to distinguish meaning (download/upload and /copy/paste). 
- Change icons to suit above.

svn path=/Website/trunk/; revision=67940
2025-02-11 14:22:57 +00:00
Jos Groot Lipman
703c12a1cd KFNS#86575 Toevoegen gegevens van plaats en melder bij benaderen orders via REST
svn path=/Website/trunk/; revision=67937
2025-02-11 14:08:22 +00:00
f5afc2bab6 LOGC#87174 aanmaakdatum niet overnemen bij het kopieren (scf=cloning) van een rapport
svn path=/Website/trunk/; revision=67935
2025-02-11 13:01:48 +00:00
Rik Hassing
14fdf93b6d DPHM#86381
- Make notitie column visible also for fo.
- Add placeholder to note column.
- Remove unrelated comment.


svn path=/Website/trunk/; revision=67934
2025-02-11 12:58:40 +00:00
21d1eb153b LOGC#86289 Clientside foutmelding over $("melding_onderwerp") voorkomen, en initieel meegegeven stdmelding-configuratie ook in acht nemen voor de zichtbaarheid van het onderwerp
svn path=/Website/trunk/; revision=67932
2025-02-11 12:09:08 +00:00
Rik Hassing
724c38035e DPHM#86381
- Notes shown at objectenbeheer overzicht.

svn path=/Website/trunk/; revision=67926
2025-02-10 15:33:57 +00:00
Maykel Geerdink
04c898a8a7 YASK#86916: Filtermogelijkheid op regio toevoegen in zoekscherm facturen (alg_startlevel).
svn path=/Website/trunk/; revision=67922
2025-02-10 11:07:12 +00:00
Maykel Geerdink
6075bad06f LOGC#57682: Organisatiescope tbv vervangautorisatiegroepen.
svn path=/Website/trunk/; revision=67921
2025-02-10 10:13:19 +00:00
Peter Feij
b7e6d76df3 FCLT#85638 Problemen met Mobiele weergave en gebruiksvriendelijkheid tijdens app-registratie
svn path=/Website/trunk/; revision=67900
2025-02-06 16:32:43 +00:00
f00599a2a3 Merge 2024.3 Gold D patches
svn path=/Website/trunk/; revision=67896
2025-02-06 15:07:35 +00:00
Rik Hassing
a6ef89d5ee LOGC#86289
- Toggle subject placeholder 
- Replace fronto with FO write rights

svn path=/Website/trunk/; revision=67890
2025-02-06 14:28:59 +00:00
a22ca6999a FCLT#83805 checkbox alleen tonen als het een subtab is van een autorisatiegroep, en niet bij de autorisatie-functie-lijst (en ook niet bij de disciplines als subtab)
svn path=/Website/trunk/; revision=67889
2025-02-06 14:21:38 +00:00
Rik Hassing
41c78feb29 FBEA#84083
- Revert changes to make activity filter be able to handle multiple activities

svn path=/Website/trunk/; revision=67887
2025-02-06 14:14:53 +00:00
Maykel Geerdink
0e3a69cc2a VLKC#82681: 79962 - kenmerksoort bestellingen anonimiseren.
svn path=/Website/trunk/; revision=67885
2025-02-06 12:26:48 +00:00
eba5bbd97c BRED#86356 De voorwaarde (!is_planned_action) is weggehaald bij de bepaling van canContinue
svn path=/Website/trunk/; revision=67881
2025-02-06 10:55:45 +00:00
b66f061f2d FBEA#84083 n) +1
svn path=/Website/trunk/; revision=67873
2025-02-05 16:11:18 +00:00
d631d7e2ad PCHD#86418 S(ai_enabled) & 8 = Laat AI een opdracht omschrijving genereren bij nieuwe opdrachten
svn path=/Website/trunk/; revision=67872
2025-02-05 15:14:27 +00:00
fee7effa94 FCLT#86762 shared.promptAI-requests strictere timeouts geven; AI moet de processen versoepelen en niet de vertragende factor zijn
svn path=/Website/trunk/; revision=67870
2025-02-05 15:11:18 +00:00
Rik Hassing
2a9d5c3a0c FBEA#84083
- change act_key from int to array.

svn path=/Website/trunk/; revision=67869
2025-02-05 14:20:10 +00:00
Rik Hassing
e5f857bd94 FBEA#84083
- Make it possible to filter rooms when chosing 0,1 or multiple activities when making a reservation.
- Remove old variable.

svn path=/Website/trunk/; revision=67867
2025-02-05 13:53:24 +00:00
93241972df YAXX#84687 Bij opdrachttypes die een offerteaanvraag betreffen geen standaard-uitvoerder(bedrijf) bedrag invullen
svn path=/Website/trunk/; revision=67866
2025-02-05 13:33:38 +00:00
9b5e9e4b92 FCLT#81404 Mobile Lopende Zaken; Meldingen in status (Verwerkt, Afgemeld) resp. onderaan tonen
svn path=/Website/trunk/; revision=67863
2025-02-05 12:24:08 +00:00
Maykel Geerdink
378ceb1c05 CARG#85606: Onoverzichtelijkheid bij aanpassen kostensoort in opdracht.
svn path=/Website/trunk/; revision=67856
2025-02-05 09:51:32 +00:00
6be67cdd07 FCLT#86343 clientside syntax-fout
svn path=/Website/trunk/; revision=67854
2025-02-05 08:53:22 +00:00
Maykel Geerdink
2185f96f57 NOUR#81855: Inactieve object toont periodieke taak te laat.
svn path=/Website/trunk/; revision=67849
2025-02-04 18:19:35 +00:00
Jos Groot Lipman
1501fb0a14 FCLT#85890 Orderqueue en notificatiequeue functionaliteiten samenvoegen en generaliseren
svn path=/Website/trunk/; revision=67844
2025-02-04 15:22:27 +00:00
Peter Feij
396c44a8e8 FCLT#86343 Zwevend Help-vraagteken in circle (uit verbeterlijst MKL) en CSS-savepoint (er hebben meer gewijzigd)
svn path=/Website/trunk/; revision=67842
2025-02-04 15:00:25 +00:00
Maykel Geerdink
46b36f3fd5 FCLT#86882: Blokbehandelteam notificaties bij acceptatie en wijzigingen.
svn path=/Website/trunk/; revision=67836
2025-02-04 11:46:05 +00:00
b9f8903bb7 LOGC#86289 savepoint
svn path=/Website/trunk/; revision=67830
2025-02-03 15:53:43 +00:00
Rik Hassing
50e6b54091 LOGC#86289
- Add placeholder to subject input when user has FO right.

svn path=/Website/trunk/; revision=67828
2025-02-03 13:37:21 +00:00
Rik Hassing
358d420733 LOGC#86289
- Check if a subject has been filled in and a user has front office rights.

svn path=/Website/trunk/; revision=67823
2025-02-03 12:49:05 +00:00
Jos Groot Lipman
785657cc79 FCLT#85890 Bij notificaties ook een technisch-adres tabje tonen
svn path=/Website/trunk/; revision=67822
2025-02-03 12:14:38 +00:00
2253f46c16 RWSN#85787 Revert voor 2025.1, deze Could gaan we later oppakken
svn path=/Website/trunk/; revision=67821
2025-02-03 12:05:15 +00:00
3a4b5b2ab2 IMPU#87463 Ook van type [r]adio de referentiewaarde ophalen (en niet de key)
svn path=/Website/trunk/; revision=67816
2025-01-31 11:19:09 +00:00
Jos Groot Lipman
9d44e3c1b6 FCLT#85890 prs_contactpersoon_systeem toegevoegd
svn path=/Website/trunk/; revision=67811
2025-01-30 17:00:48 +00:00
87549029f3 SGGR#86955 De rechtencheck, keek niet meer naar [mijn] rechten, dat teruggezet, en inspringen van de SQL iets aangepast zodat dit soort nesting duidelijk is
svn path=/Website/trunk/; revision=67809
2025-01-30 15:44:53 +00:00
Rik Hassing
1fe6b85505 SGGR#86955
- Change query to also return mastercontract user is administator of derived contracts. 

svn path=/Website/trunk/; revision=67801
2025-01-30 11:46:30 +00:00
Jos Groot Lipman
bfe2f70e57 FCLT#86661 fac_takser schermpje ook last-run datum tonen
svn path=/Website/trunk/; revision=67800
2025-01-30 11:24:09 +00:00
5d0d68f310 AAES#87138
svn path=/Website/trunk/; revision=67798
2025-01-30 09:25:38 +00:00
0bf11bb02d AAES#87138 mobile multiacties kunnen nu ook conditioneel toegevoegd worden, bijv. verwerken; alleen als er een opdracht in de lijst staat met status 6 of 9
svn path=/Website/trunk/; revision=67797
2025-01-30 09:18:32 +00:00
Peter Feij
2eb6cb2ccf FCLT#85890 Orderqueue etc: systeembedrijven met prs_bedrijf_intern=2 scheiden in de GUI
svn path=/Website/trunk/; revision=67795
2025-01-30 09:08:24 +00:00
Jos Groot Lipman
b52939fdd0 FCLT#87171 QR-code scanfunctie web-versie is nooit gebruikt dus maar weer weg
svn path=/Website/trunk/; revision=67794
2025-01-30 08:54:39 +00:00
Jos Groot Lipman
15b58d7a91 FCLT#85890 fac_notificatie_realuser bijhouden zodat we in putorders correct kunnen overrulen
svn path=/Website/trunk/; revision=67793
2025-01-30 08:46:33 +00:00
432ba1de7f FCLT#86947 kostenplaats van een persoon pas wijzigbaar tonen met PRSMAN-schrijfrechten
svn path=/Website/trunk/; revision=67791
2025-01-29 19:58:53 +00:00
31264c7589 AAES#87138 opdrachten via de GUI kunnen verwerken
svn path=/Website/trunk/; revision=67790
2025-01-29 19:43:18 +00:00
Maykel Geerdink
bbafabaf9d FCLT#83238: Foutmelding omdat Freeze jaar in het verleden staat netjes oplossen.
svn path=/Website/trunk/; revision=67786
2025-01-29 14:36:31 +00:00
2c1b8c7183 FCLT#82174 Foutmelding uitgebreid
svn path=/Website/trunk/; revision=67784
2025-01-29 13:04:02 +00:00
7e638b23de FCLT#87416 Date.midnight() functie gebruiken tbv leesbaarheid
svn path=/Website/trunk/; revision=67782
2025-01-29 12:54:10 +00:00
084f290659 FCLT#87416 setHours returned een timestamp in ms, en geen jsDate, dat gaat later fout als we setFloatHours er op willen uitvoeren -> datatype consistent houden (op Date)
svn path=/Website/trunk/; revision=67781
2025-01-29 12:37:19 +00:00
Rik Hassing
a7cb77f4e3 YAXX#84687
i) return 0 if corr_kosten and h_rate are null.
j) calculate total cost when new/copy opdracht with known handler. 
 

svn path=/Website/trunk/; revision=67780
2025-01-29 11:47:46 +00:00
1fdb3644a1 AAIT#83573 commentaar en feedback verbeterd
svn path=/Website/trunk/; revision=67776
2025-01-29 09:56:08 +00:00
bc82f3b47b FCLT#86343 Naamgeving van noConvert aangepast naar isUserTimeZone danwel isServerTimeZone, en commentaar aangepast/toegevoegd
svn path=/Website/trunk/; revision=67774
2025-01-29 09:16:46 +00:00
43dc9d70ed HMOD#87405 puntjes op de i
svn path=/Website/trunk/; revision=67773
2025-01-29 09:02:26 +00:00
904b6ff07d HMOD#87405 de functies beginToSQL en endToSQL ondersteunen nu ook het overzetten van een server-timezone-datum naar (server-timezone-)sql
svn path=/Website/trunk/; revision=67772
2025-01-29 08:50:24 +00:00
0ba8666953 AAIT#83573 fac_like.asp kan via een bookmark gebruikt worden, als je niet ingelogd was, loggen we je ook gelijk weer uit en maken we gebruik van een beveiligde link naar een save-pagina die iedereen kan en mag aanroepen en uitvoeren (mits de link-beveiliging goedgekeurd is).
svn path=/Website/trunk/; revision=67770
2025-01-28 16:41:06 +00:00
Jos Groot Lipman
712caa4993 FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Website/trunk/; revision=67768
2025-01-28 16:22:30 +00:00
Peter Feij
62188079e7 FCLT#86343 Voor Apple is de Verdana fallback spuuglelijk > Helvetica
svn path=/Website/trunk/; revision=67767
2025-01-28 16:19:11 +00:00
Peter Feij
0ad357a067 MNNL#87312 Databasefout bij managementreserveringen: kolom dubbel gedefinieerd gefixt
svn path=/Website/trunk/; revision=67765
2025-01-28 15:13:52 +00:00
Erik Groener
645fd5be75 MARX#87071 Beveiligingsprobleem met wijzigen van contactpersonen in EXTREL-systeem
svn path=/Website/trunk/; revision=67762
2025-01-28 12:36:04 +00:00
Maykel Geerdink
ed36532967 FCLT#87333: MJOB: Startdatum als oorspronkelijke plandatum weergeven.
svn path=/Website/trunk/; revision=67755
2025-01-28 08:46:41 +00:00
Erik Groener
70ebb9f9a8 FCLT#86612 Foutieve autorisatiecontrole in REST API voor locaties en gebouwen
svn path=/Website/trunk/; revision=67753
2025-01-28 08:35:34 +00:00
Maykel Geerdink
f82a03642d FCLT#83238: Foutmelding omdat Freeze jaar in het verleden staat netjes oplossen.
svn path=/Website/trunk/; revision=67752
2025-01-28 08:04:33 +00:00
Peter Feij
09ee5275e5 LOGC#87174 Aanmaakdatum van het rapport tonen
svn path=/Website/trunk/; revision=67748
2025-01-27 21:09:53 +00:00
7ee08d0951 DEMO#87370 Als standaard behandelteam leeg is, dan moet NULL meegegeven worden aan de procedure, niet -1
svn path=/Website/trunk/; revision=67746
2025-01-27 14:43:01 +00:00
Rik Hassing
a4a4d5928a YAXX#84687
- Correctiebedrag automatisch toevoegen als uitvoerder bekend is.
- Onnodige fail() weggehaald.

svn path=/Website/trunk/; revision=67745
2025-01-27 14:08:04 +00:00
Jos Groot Lipman
bc1b2519f6 FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Website/trunk/; revision=67744
2025-01-27 13:58:24 +00:00
Rik Hassing
9eb4832774 KFNS#86203
- Filter achter 'Meer'-knop gezet.
- Alleen contactpersonen tonen waar gebruiker recht op heeft a.d.h.v. uitvoerende.

svn path=/Website/trunk/; revision=67742
2025-01-27 13:08:28 +00:00
Erik Groener
ce1eeec52d AAIT#85747 Toegang autorisatie personen verbeteren voor gebruiker met specifieke rechten
svn path=/Website/trunk/; revision=67738
2025-01-27 09:15:08 +00:00
Jos Groot Lipman
a71b4314b6 BLCC#83273 In bulk een (nieuw) behandelteam toekennen aan vakgroepen
svn path=/Website/trunk/; revision=67737
2025-01-27 09:03:50 +00:00
Erik Groener
913811f492 ALLI#86338 Persoonsimport via SAML met personeelsnummer integratie uitdaging
svn path=/Website/trunk/; revision=67736
2025-01-27 08:37:30 +00:00
df80650f17 TDNL#82428 geen functionele changes
svn path=/Website/trunk/; revision=67732
2025-01-24 15:45:19 +00:00
19e9e08afa FCLT#86343 'null' in de titel voorkomen
svn path=/Website/trunk/; revision=67731
2025-01-24 15:33:45 +00:00
c2fc463838 MARX#87321 Updaten van materiaal-regels goed en volledig tracken
svn path=/Website/trunk/; revision=67728
2025-01-24 14:46:15 +00:00
d2b7f5c030 BAMG#87343 Een kostenplaats kan ook aan een persoon gekoppeld zijn, hou daar rekening mee bij het ophalen vd gegevens
svn path=/Website/trunk/; revision=67727
2025-01-24 14:26:26 +00:00
Rik Hassing
7c1a4110a3 #82428
- Only display div: ins-image when needed
- Remove unussed variable
- Fix undefined variable bug
- Edit query

svn path=/Website/trunk/; revision=67724
2025-01-24 13:08:53 +00:00
a186074121 LOGC#85904 F5 vd (mobile)afmeld-pagina herlaadt nu AI-generated tekst. Ook de werking van S(mld_afmeldtekst_compact_threshold) = 2 icm ai-teksten gefixt (ook desktop).
svn path=/Website/trunk/; revision=67723
2025-01-24 13:06:31 +00:00
dbb8a85b17 LOGC#85836 Alleen in edit-mode een for-attribuut, en dan ook wijzend naar het juist element
svn path=/Website/trunk/; revision=67722
2025-01-24 12:55:41 +00:00
17a890a426 FCLT#81404 punt 12
svn path=/Website/trunk/; revision=67721
2025-01-24 12:31:35 +00:00
4de03cc112 FCLT#86343 var(--textcolor); gebruiken voor de mobile <select>-caret
svn path=/Website/trunk/; revision=67712
2025-01-23 15:23:17 +00:00
Erik Groener
e60f9ca564 VBGO#86614 Autorisatiegroepen ontbreken bij multi-select toevoeging
svn path=/Website/trunk/; revision=67704
2025-01-23 10:36:28 +00:00
Peter Feij
2887fc1735 FCLT#85890 Technisch adres heeft nu ook een naam
svn path=/Website/trunk/; revision=67702
2025-01-22 17:45:06 +00:00
Peter Feij
3b857ac96f FCLT#85970 Dat schijnt ook zo te kunnen
svn path=/Website/trunk/; revision=67700
2025-01-22 15:42:40 +00:00
Peter Feij
4e5f60cdcd FCLT#85890 Betekenis intern null/1 (eq. null/not null) gewijzigd door null/1/2
svn path=/Website/trunk/; revision=67699
2025-01-22 15:33:29 +00:00
Peter Feij
043350be41 FCLT#85890 Orderqueue en notificatiequeue generaliseren
svn path=/Website/trunk/; revision=67697
2025-01-22 15:12:44 +00:00
f4ae87b149 HGCU#86973 SLA tijd ook per melding expliciet leeg laten als voor die melding geldt dat we de SLA niet bewaken
svn path=/Website/trunk/; revision=67695
2025-01-22 14:58:37 +00:00
6a7243a2c9 HGCU#86973 +colName voor de SLA
svn path=/Website/trunk/; revision=67693
2025-01-22 14:24:28 +00:00
Erik Groener
0eb54485bb MARX#87071 Beveiligingsprobleem met wijzigen van contactpersonen in EXTREL-systeem
svn path=/Website/trunk/; revision=67692
2025-01-22 14:24:01 +00:00
8b52a1788f PCHW#85308 Bugfix voor het zeldzame geval dat een declined notificatie binnenkomt op een zojuist verstuurde reservering van een res_ruimte die encrypted verkeer gebruikt
svn path=/Website/trunk/; revision=67675
2025-01-21 20:55:56 +00:00
Peter Feij
384e5667ec BAUS#82535 Tracking op mutaties bij geplande acties
svn path=/Website/trunk/; revision=67674
2025-01-21 17:02:40 +00:00
646659f432 VNOG#86449 [G]ebouw, niet [B]uilding. Het plaatsniveau Gebouw duiden we aan met een 'G'
svn path=/Website/trunk/; revision=67662
2025-01-21 13:47:26 +00:00
Peter Feij
9d6959be32 VNOG#85909: Van een object zijn ook andere velden best interessant
svn path=/Website/trunk/; revision=67661
2025-01-21 13:31:19 +00:00
Peter Feij
fe68609d7b FCLT#86343 Objectenbeheer: lijst toont nu gewoon Ja/Nee bij actief, geen slimmigheid meer.
svn path=/Website/trunk/; revision=67660
2025-01-21 13:29:50 +00:00
Peter Feij
d32760dd1d VNOG#85909:Fix: of ik kan toevoegen heeft niet met de bindings van het parent-object te maken
svn path=/Website/trunk/; revision=67659
2025-01-21 12:21:02 +00:00
Peter Feij
e5ef54c3ba FCLT#86343 De administratieve data opgesplitst in 2 blokken: zichbaarheidinfo en meta-data, en wat tekstuele details
svn path=/Website/trunk/; revision=67656
2025-01-21 10:27:37 +00:00
Jos Groot Lipman
33a494f0ed Merge 2024.3 Gold C patches
svn path=/Website/trunk/; revision=67655
2025-01-21 10:10:29 +00:00
5439d3b99e WELK#87144 Exchange series die bij het aanmaken geweigerd worden, werden in Facilitor onterecht (en zeer kortstondig) toch aangemaakt. Dat had veel onnodige notificaties ten gevolge, en lossen we bij deze op
svn path=/Website/trunk/; revision=67646
2025-01-20 15:31:29 +00:00
Rik Hassing
787fb368be YAXX#84687
- Change JQuery Ajax call then to done and add fail.
- Add describing comments.
- Add missing curly braces.

svn path=/Website/trunk/; revision=67641
2025-01-20 12:57:27 +00:00
0116785a8f FCLT#86760 2 gpt-4o modellen (facilitor-dev en facilitor-prod) in onze Azure deployed, met type Data Zone Standard, zodat data residency binnen de gedefinieerde data zone blijft (=Zweden)
svn path=/Website/trunk/; revision=67639
2025-01-20 12:41:29 +00:00
17eaf2e98e FCLT#82174 WEB_FACFAC -> WEB_FACTAB
svn path=/Website/trunk/; revision=67637
2025-01-20 09:59:01 +00:00
b94fe412ca FCLT#82174 Verbeterde error handling en meldingen, en bugfix in getCalendarEventByICalUId()
svn path=/Website/trunk/; revision=67632
2025-01-17 11:08:30 +00:00
29b085fa30 FCLT#82174 +GUI om Exchange handmatig uit te vragen tbv debugging en het beantwoorden van klant-vragen
svn path=/Website/trunk/; revision=67629
2025-01-16 20:32:16 +00:00
Erik Groener
cfddeb8830 YAXX#86411 Kenmerken op regio niveau ondersteunen
svn path=/Website/trunk/; revision=67617
2025-01-16 10:11:14 +00:00
Peter Feij
fb447c388a YKPN#86883 Objectsoort knop zichtbaar in showmode voor verwijderd object
svn path=/Website/trunk/; revision=67609
2025-01-15 15:04:15 +00:00
Peter Feij
f09af7b53a THHD#86930 Licentieinformatiepagina toont geen Mobile bij Mobile_enabled op 2
svn path=/Website/trunk/; revision=67608
2025-01-15 14:47:15 +00:00
Maykel Geerdink
480075f1ab VGLD#85984: Automatische afsluitdatum instellen in contracten mogelijk?
svn path=/Website/trunk/; revision=67606
2025-01-15 14:32:53 +00:00
30e952f44c HGCU#86973 SLA-duur opnemen als kolom in de meldingen-lijst
FCLT#85970 mld_melding_tag_einddatum-kolom default uit

svn path=/Website/trunk/; revision=67594
2025-01-14 13:49:15 +00:00
Erik Groener
5738eaa406 MARX#86167 Ontbreken API2 model voor opvragen mld_opdr_materiaal records via API
svn path=/Website/trunk/; revision=67592
2025-01-14 11:42:00 +00:00
Maykel Geerdink
6b102b8600 UWVA#86822: Bijlagen worden pas zichtbaar bij wijzigen in voorzieningen.
svn path=/Website/trunk/; revision=67591
2025-01-14 10:42:19 +00:00
Erik Groener
afcd9585f0 MARX#86167 Ontbreken API2 model voor opvragen mld_opdr_materiaal records via API
svn path=/Website/trunk/; revision=67589
2025-01-14 09:45:56 +00:00
Rik Hassing
b74d222a15 PCHW#84834
Undo changing src to 'res_show_rsv_ruimte.asp'.

svn path=/Website/trunk/; revision=67580
2025-01-13 14:06:25 +00:00
fbd63a5e89 CARG#85377 Een opdracht hoeft pas ter goedkeuring worden aangeboden als deze boven de bestellimiet EN boven de opdrachttype-goedkeuringsvrijstelling uitkomt
svn path=/Website/trunk/; revision=67579
2025-01-13 13:34:36 +00:00
Rik Hassing
debf2e6bf5 PCHW#84834
Alleen verplichte kenmerken zoeken waarvan show-expressie niet ingevuld is.

svn path=/Website/trunk/; revision=67578
2025-01-13 13:32:24 +00:00
Maykel Geerdink
6b1894ee87 FMHN#86573: Reservering blokkeren bij onbeschikbaar verbruiksartikel.
svn path=/Website/trunk/; revision=67576
2025-01-13 13:11:08 +00:00
51cd985ac2 FMHN#86010 Wel de enige juiste <flex-marker> pakken en vervangen
svn path=/Website/trunk/; revision=67575
2025-01-13 12:40:47 +00:00
Erik Groener
ba95137433 SGGR#86742 Ontbrekende velden in contractenoverzicht en bulk-edit mogelijkheden
svn path=/Website/trunk/; revision=67552
2025-01-09 11:35:22 +00:00
Erik Groener
d673cdf33e DHLD#86034 Foutmelding EntraID: 'Login' veld niet uniek, configuratieprobleem
svn path=/Website/trunk/; revision=67547
2025-01-08 14:19:41 +00:00
Erik Groener
8715648904 SCHG#86678 Foutmelding bij implementatie telefoongids Schaenborggroep
svn path=/Website/trunk/; revision=67543
2025-01-08 13:15:13 +00:00
Maykel Geerdink
9c8d096566 VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/trunk/; revision=67528
2025-01-07 14:46:37 +00:00
Rik Hassing
75b6631e91 YAXX#84687 Standaard mandaatbedrag invullen bij nieuwe opdracht
prs_edit_bedrijf.asp
- Increase length for mld_limiet to 10.

get_mld_info_ajax.asp
- Remove comment.
- Format SQL.

mld_edit_opdr.js
- Use promises to check if calcTotal should be executed.
- Undo setting mat_kosten to 0 if empty.

svn path=/Website/trunk/; revision=67527
2025-01-07 13:11:34 +00:00
Erik Groener
41daffdad4 DHLD#86034 Foutmelding EntraID: 'Login' veld niet uniek, configuratieprobleem
svn path=/Website/trunk/; revision=67525
2025-01-07 11:51:11 +00:00
Maykel Geerdink
e1799c0e4f VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/trunk/; revision=67523
2025-01-07 10:59:25 +00:00
08cd65d278 STPH#83287 In Facilitor van ruimte wisselen van een (Outlook-)gekoppelde reservering, maakt niet meer de hele deelnemers-lijst in Outlook leeg
svn path=/Website/trunk/; revision=67514
2025-01-06 15:39:05 +00:00
fe6f65c04c Merge 2024.3 Gold C patches
svn path=/Website/trunk/; revision=67510
2025-01-06 13:44:12 +00:00
Peter Feij
a20eaa5a74 Van vorig jaar, ik denk bevindingen in het kader van SGGR#86635 of SGGR#86347
svn path=/Website/trunk/; revision=67509
2025-01-06 13:31:20 +00:00
Rik Hassing
5e53ac143f FBEA#84083
- Add missing comma.

svn path=/Website/trunk/; revision=67508
2025-01-06 13:08:34 +00:00
Rik Hassing
9dbeb3e916 FBEA#84083
- Fallback for act_key_arr.

svn path=/Website/trunk/; revision=67507
2025-01-06 13:04:40 +00:00
Erik Groener
8e0e596244 LOGC#86409 Onjuiste tracking bij toewijzing standaard behandelteam
svn path=/Website/trunk/; revision=67506
2025-01-06 12:51:01 +00:00
Rik Hassing
c1fd473cf0 FBEA#84083
- Fix activity key(s) as either singular or array on multiple places. 
- Remove comments and log.
- Use getQParamKeyArray. 
- roomcatalogue_key_arr to act_key_arr

svn path=/Website/trunk/; revision=67504
2025-01-06 10:42:25 +00:00
Jos Groot Lipman
ee6e64f574 FCLT#86392 Wijziging proxyconfiguratie facilitor-script
svn path=/Website/trunk/; revision=67502
2025-01-06 10:32:06 +00:00
Maykel Geerdink
b7659475ee FCLT#87031: MLD: Oude bestanden SLA instellen verwijderen.
svn path=/Website/trunk/; revision=67499
2025-01-06 09:07:07 +00:00
Rik Hassing
5ea89a6f98 LOGC#85904
- Add selector if (aantal_teksten > 0 || generate_ai).

svn path=/Website/trunk/; revision=67498
2025-01-06 08:27:21 +00:00
Rik Hassing
cb60e8d44e TDNL#82428
Laad geen onnodige div ins-image als er geen afbeelding is.

svn path=/Website/trunk/; revision=67494
2025-01-02 08:29:16 +00:00
34177c0895 LOGC#86231 Sortering aangepast volgens onderstaande notitie
svn path=/Website/trunk/; revision=67471
2024-12-23 09:56:01 +00:00
Erik Groener
cb14c1db20 LOGC#86409 Onjuiste tracking bij toewijzing standaard behandelteam
svn path=/Website/trunk/; revision=67458
2024-12-20 10:10:14 +00:00
Jos Groot Lipman
b227b6735c FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Website/trunk/; revision=67452
2024-12-19 14:54:19 +00:00
Erik Groener
92adc4e2d6 SVRZ#86820 XSL fout: Ongeldig karakter in naam, abort met waarschuwing
svn path=/Website/trunk/; revision=67451
2024-12-19 14:51:08 +00:00
Rik Hassing
0bd9afea5a TDNL#82428
e) Await promise voor 'uploads' (wacht to hij klaar is).
g) Foto icoontje alleen tonen met de juiste rechten en als er nog geen foto bestaat. 
h) OK. 
i) Met een filenaam zoek hij direct i.p.v. door een folder te gaan bijv. 
j) Variabel weggehaald.
k) Functies conditioneel gemaakt.

svn path=/Website/trunk/; revision=67448
2024-12-19 12:35:51 +00:00
Rik Hassing
41da511337 TDNL#82428
- Check 'this_ins.writeman' nu alleen voor wijzingen afbeelding i.p.v. weergave.
- 'imagePath' code weggehaald. 
- CSS classes onder elkaar zetten zoals Google style guide aangeeft. 

svn path=/Website/trunk/; revision=67429
2024-12-18 10:17:21 +00:00
c80e6dd2b4 CARG#86011 minor refactoring aan kostensoortFilter.inc (2/2)
svn path=/Website/trunk/; revision=67418
2024-12-17 12:26:27 +00:00
00a932966b CARG#86011 kostensoort_opmerking ook in show-mode tonen, en minor refactoring aan kostensoortFilter.inc zodat (bijna) altijd verwijderde & vervallen kostensoorten buiten beschouwing worden gelaten
svn path=/Website/trunk/; revision=67417
2024-12-17 12:19:37 +00:00
de0c44a1c7 FCLT#86780 (Kenmerken onder) behandelblokken met volgnr. >= 800/900 mogen gewoon inzichtelijk zijn voor blok-behandelaren (of leden van een blok-behandelteam), deze mensen interpreteren we -nu- ook als 'Backoffice' in de bestaande volgnummer-systematiek
svn path=/Website/trunk/; revision=67405
2024-12-16 12:11:35 +00:00
Rik Hassing
976458d4bc RWSN#85787
Getest op UWVA trunk

- Melding/Opdracht/Contracten kenmerken: Iconpicker blijft nu staan ook als issuepropertytype wordt meegegeven.
- fallback getQParam("icon_picker_name", ""); van null naar "".
- Ajaxcall alleen initieel en events niet opnieuw toevoegen.
- ktype 'b' weghalen bij INS(_kenmerk.js). 
- model_res_kenmerk.inc : ongbruikte var "result" weggehaald.
- Aanvullende wens: Icon is nu ook  te zien in show-mode.

svn path=/Website/trunk/; revision=67403
2024-12-16 11:13:11 +00:00
6e77a75a1d AAXX#86868 De API2 hoeft niet te luisteren naar S(faq_max_results)
svn path=/Website/trunk/; revision=67398
2024-12-16 08:53:36 +00:00
Peter Feij
4171b4f242 FCLT#85970 MLDTAG-autorisatie op discipline
svn path=/Website/trunk/; revision=67379
2024-12-12 12:43:47 +00:00
Jos Groot Lipman
fa52d77f78 FCLT#86661 Savepoint global tsk_master_schema voor scheduling
svn path=/Website/trunk/; revision=67372
2024-12-12 08:17:30 +00:00
Peter Feij
6de7813917 FCLT#85970 De releasekalender als knop refined
svn path=/Website/trunk/; revision=67367
2024-12-11 14:49:32 +00:00
Peter Feij
ea1318c0ad SGGR#86635 e: Vervallen locaties niet tonen
svn path=/Website/trunk/; revision=67364
2024-12-11 13:26:26 +00:00
Peter Feij
dd690b0b4e SGGR#86635 c: Ongebruikte functies uitsluiten
svn path=/Website/trunk/; revision=67363
2024-12-11 13:10:00 +00:00
Peter Feij
f1740a9fac SGGR#86635 f: API-achtige users sowieso uitsluiten
svn path=/Website/trunk/; revision=67362
2024-12-11 12:47:47 +00:00
Peter Feij
f924ca48f0 SGGR#86347 ..tevens sortering op nummer en dan versie
svn path=/Website/trunk/; revision=67361
2024-12-11 12:24:13 +00:00
Peter Feij
eac309b733 SGGR#86347 Versienummer van mantelcontracten ook tonen, tevens sortering op nummer
svn path=/Website/trunk/; revision=67360
2024-12-11 12:16:54 +00:00
79d98574ec LOGC#86231 scf_count en scf_ratio uitsluiten voor sortering (die worden door ons toegevoegd en zijn geen 'echte' db-velden)
svn path=/Website/trunk/; revision=67351
2024-12-10 11:05:17 +00:00
85dfae91f6 Merge 2024.3 Gold B patches
svn path=/Website/trunk/; revision=67344
2024-12-10 08:23:53 +00:00
Peter Feij
a04b2d38d3 FCLT#85970 De releasekalender als knop
svn path=/Website/trunk/; revision=67341
2024-12-09 15:14:25 +00:00
Maykel Geerdink
e86fd45792 VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/trunk/; revision=67339
2024-12-09 14:50:48 +00:00
09c12cae31 FCLT#86343 breaking news: ontbrekende break;
svn path=/Website/trunk/; revision=67335
2024-12-09 13:57:51 +00:00
Rik Hassing
7976f3eec0 LOGC#85904
- Alleen AI gebruiken als er 1 of meerdere notities zijn.

svn path=/Website/trunk/; revision=67334
2024-12-09 13:40:00 +00:00
Rik Hassing
1470168840 LOGC#85904
- Haal AI afmeld tekst op wanneer er op afmelden geklikt wordt.

svn path=/Website/trunk/; revision=67331
2024-12-09 11:38:01 +00:00
Erik Groener
81302b822e AAIT#85747 Toegang autorisatie personen verbeteren voor gebruiker met specifieke rechten
svn path=/Website/trunk/; revision=67328
2024-12-09 09:03:21 +00:00
Rik Hassing
1b94ec7c01 FBEA#84083
Bug planboard:
- activiteit_key veranderd naar act_key_arr.

svn path=/Website/trunk/; revision=67327
2024-12-09 08:09:15 +00:00
Rik Hassing
ca15e84807 FBEA#84083
- getFParamIntArray veranderd naar getFParamKeyArray. 

svn path=/Website/trunk/; revision=67326
2024-12-09 07:55:24 +00:00
Peter Feij
bf7bcd120e FCLT#85970 Mijlpalen: fa-bullseye-arrow, puntjes op i's
svn path=/Website/trunk/; revision=67314
2024-12-05 20:24:26 +00:00
Peter Feij
187d124e53 FCLT#85970 Mijlpalen: daar is-ie dan: de releasekalender!
svn path=/Website/trunk/; revision=67313
2024-12-05 19:38:49 +00:00
Peter Feij
7920409c86 FCLT#85970 Mijlpalen per meldinggroep: Suggest als mijlpaalfilter 1.0
svn path=/Website/trunk/; revision=67312
2024-12-05 18:23:45 +00:00
Peter Feij
401c112a26 FCLT#85970 Mijlpalen per meldinggroep
svn path=/Website/trunk/; revision=67309
2024-12-05 14:35:35 +00:00
Erik Groener
c03e565310 FCLT#86750 Onjuiste URL-verwijzing in kennisbank API
svn path=/Website/trunk/; revision=67301
2024-12-05 11:12:50 +00:00
Erik Groener
a439e59c40 FCLT#83805 Beheer van autorisatiegroepen intuitiever maken
svn path=/Website/trunk/; revision=67298
2024-12-05 09:04:41 +00:00
Erik Groener
12537fcee5 MARX#86167 Ontbreken API2 model voor opvragen mld_opdr_materiaal records via API
svn path=/Website/trunk/; revision=67293
2024-12-05 08:06:25 +00:00
Erik Groener
416601b7ed MARX#86167 Ontbreken API2 model voor opvragen mld_opdr_materiaal records via API
svn path=/Website/trunk/; revision=67284
2024-12-04 15:20:51 +00:00
Rik Hassing
060975486c TDNL#82428
- Add ins styling

svn path=/Website/trunk/; revision=67280
2024-12-04 10:45:52 +00:00
Erik Groener
43f41b35bc FCLT#85815 Opdrachttype codes toevoegen voor duidelijkheid en compatibiliteit
svn path=/Website/trunk/; revision=67275
2024-12-03 15:00:51 +00:00
Jos Groot Lipman
1b5f5be475 LOGC#86662 Bij doorklikken in rapport alle regels met dezelfde ROWKEY dirty maken
svn path=/Website/trunk/; revision=67271
2024-12-03 11:28:32 +00:00
Erik Groener
3722a24cdc FBEA#84058 zaterdagen in de vakanties niet als vrije dagen gemarkeerd
svn path=/Website/trunk/; revision=67266
2024-12-03 10:13:59 +00:00
Erik Groener
bb9f37872f FBEA#84058 zaterdagen in de vakanties niet als vrije dagen gemarkeerd
svn path=/Website/trunk/; revision=67265
2024-12-03 09:50:30 +00:00
Rik Hassing
19833ecf94 TDNL#82428
Getest op TDNL trunk mobiel

- Naming: msg -> ins 
- Foto kan alleen geüpload worden bij een bestaand object.
- this_ins.writeman toegevoegd als check bij foto upload.

svn path=/Website/trunk/; revision=67255
2024-12-02 09:50:25 +00:00
Rik Hassing
dd28110eef FBEA#84083
- Check params for activiteit key(s). 

svn path=/Website/trunk/; revision=67254
2024-12-02 09:24:37 +00:00
Jos Groot Lipman
55a4a2ede9 FCLT#86661 Voorstel voor efficiënter notificatiebeheer en prioritering
svn path=/Website/trunk/; revision=67252
2024-12-02 09:11:05 +00:00
ffa0d178d0 FCLT#85478 Melding-workflow-node styling
svn path=/Website/trunk/; revision=67249
2024-12-02 09:01:09 +00:00
01ec7c8e6f FCLT#85478 vis-network ook gebruiken bij workflow-diagrammen
svn path=/Website/trunk/; revision=67235
2024-11-28 15:55:09 +00:00
Jos Groot Lipman
50232b5274 FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Website/trunk/; revision=67230
2024-11-28 12:54:21 +00:00
Maykel Geerdink
ddb250f685 VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/trunk/; revision=67221
2024-11-27 16:27:03 +00:00
Jos Groot Lipman
1cb4d7a6d6 FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Website/trunk/; revision=67220
2024-11-27 15:27:35 +00:00
870a666df0 FCLT#85478 vis-network centraliseren als plugin
svn path=/Website/trunk/; revision=67217
2024-11-27 14:50:09 +00:00
baba664b13 FCLT#86637 Afmeldkenmerken (100 <= volgnr <= 900) die verplicht bij status afgemeld, en leeg zijn, ook (verplicht) tonen in de opdrachten-afmeld-popup (en mobile bij het afmelden)
svn path=/Website/trunk/; revision=67212
2024-11-27 12:46:04 +00:00
f9eefda2b2 KFNS#84062 'isOptional' niet voor deze toepassing misbruiken, niet-ingevulde kenmerken ook in het overzicht tonen indien S(mld_afmelden_popup_for_all_km) == 1
svn path=/Website/trunk/; revision=67204
2024-11-26 16:12:50 +00:00
adf0f615d8 CIZN#86466 (ins_deel_)aantal [wijzigbaar] tonen wanneer van toepassing
svn path=/Website/trunk/; revision=67203
2024-11-26 14:52:58 +00:00
Rik Hassing
f4e439cc50 YASK#82997
- Change lcl_prs_flags_unapproved to lcl_prs_flags_unapproved_m 
- Make unconfirmed_user plural

svn path=/Website/trunk/; revision=67198
2024-11-26 12:55:50 +00:00
Peter Feij
f73f1470b7 FCLT#81404 Notificatietekst als header blijkt overdreven, het is de titel van de body.
svn path=/Website/trunk/; revision=67194
2024-11-26 10:27:04 +00:00
Peter Feij
203662e375 FCLT#81404 die underline leek een goede conventie voor hyperlinks maar niet zo
svn path=/Website/trunk/; revision=67193
2024-11-26 10:23:15 +00:00
592ceda880 FCLT#86563 <select>'s qua kleurstelling gelijkgetrokken aan andere inputs
svn path=/Website/trunk/; revision=67190
2024-11-26 09:45:23 +00:00
Rik Hassing
ce55da5656 TDNL#82428
- In mobile app bij objecten een foto kunnen toevoegen.

svn path=/Website/trunk/; revision=67189
2024-11-26 09:23:30 +00:00
Erik Groener
dbe725afbd LOGC#85836 Verbeterpunten bij kenmerken: sortering, error, detailscherm en consistentie
svn path=/Website/trunk/; revision=67185
2024-11-25 17:53:18 +00:00
b6a986de50 Merge 2024.3 Gold A patches
svn path=/Website/trunk/; revision=67173
2024-11-25 12:42:15 +00:00
5108550120 FCLT#86563 mobile = true
svn path=/Website/trunk/; revision=67170
2024-11-25 10:54:17 +00:00
Maykel Geerdink
385e596e96 SUTF#86455: Ongewenste standaard taakafhandeling in mobiele app.
svn path=/Website/trunk/; revision=67169
2024-11-25 10:34:03 +00:00
Rik Hassing
057fa82981 KFNS#86203
- Selector toegevoegd voor het filteren van contactpersonen bij het opdrachtenoverzicht.

svn path=/Website/trunk/; revision=67167
2024-11-25 09:30:12 +00:00
Maykel Geerdink
bd5035ad5f NOUR#82373: In takenoverzicht bijlage zichtbaar maken.
svn path=/Website/trunk/; revision=67166
2024-11-25 08:47:34 +00:00
Peter Feij
4aee42fb14 FCLT#85970 Ondersteuning van releasekalender mobiel
svn path=/Website/trunk/; revision=67146
2024-11-21 15:53:54 +00:00
3a91fff775 FCLT#85970 Mijlpaal voor FE onderdrukken als !(stdm_taggable & 2)
svn path=/Website/trunk/; revision=67145
2024-11-21 15:46:27 +00:00
Peter Feij
8414f44def FCLT#85970 Mijlpalen bij stdmelding
svn path=/Website/trunk/; revision=67144
2024-11-21 15:27:35 +00:00
Maykel Geerdink
a86a67c854 NOUR#82373: In takenoverzicht bijlage zichtbaar maken.
svn path=/Website/trunk/; revision=67143
2024-11-21 15:22:47 +00:00
Peter Feij
4c96c96a85 FCLT#85970 FE/FOBO mijlpalen
svn path=/Website/trunk/; revision=67142
2024-11-21 15:21:43 +00:00
95489220b1 FCLT#85970 taggable veldje dynamisch in kunnen laden onChangeStdm
svn path=/Website/trunk/; revision=67140
2024-11-21 14:44:36 +00:00
Jos Groot Lipman
84c4550b6b FCLT#86343 bij auto_https van een POST of API of API2 harde foutmelding in plaats van auto-redirect
svn path=/Website/trunk/; revision=67139
2024-11-21 14:32:00 +00:00
Peter Feij
4bfc3c9783 FCLT#85970 compatible aanpassing ook hier, was vergeten
svn path=/Website/trunk/; revision=67135
2024-11-21 12:27:04 +00:00
Jos Groot Lipman
ad38ddd313 KMMO#86534 Verwarrende OLEDB Foutmelding verduidelijken in de AiAI
svn path=/Website/trunk/; revision=67133
2024-11-21 10:36:28 +00:00
Peter Feij
c8b7204cda FCLT#86343 de knop "Registreer een melding" (op 3 plekken) gebruikte de hint-tekst ipv een button-tekst ([noun+]verb), extra lcl voor gemaakt en toegepast. Ook de toverstaf aangepast, dat was intussen door FA tot een lullig stokje gemaakt.
svn path=/Website/trunk/; revision=67130
2024-11-21 09:52:56 +00:00
8c823db3d5 VNOG#85909 deze ook maar refactoren volgens de nieuwe labelbutton
svn path=/Website/trunk/; revision=67126
2024-11-21 09:26:09 +00:00
a2f1bd0d89 VNOG#85909 layout van de knopjes aangepast
svn path=/Website/trunk/; revision=67125
2024-11-21 08:57:22 +00:00
Erik Groener
81488172a8 FCLT#83805 Beheer van autorisatiegroepen intuitiever maken
svn path=/Website/trunk/; revision=67124
2024-11-21 08:29:37 +00:00
4f408e1072 LOGC#86231 url_column iets leesbaarder evalueren
svn path=/Website/trunk/; revision=67108
2024-11-20 08:17:25 +00:00
Erik Groener
6bd067cd0d FCLT#83805 Beheer van autorisatiegroepen intuitiever maken
svn path=/Website/trunk/; revision=67107
2024-11-20 07:58:40 +00:00
Maykel Geerdink
5d74c9ab18 NOUR#82373: In takenoverzicht bijlage zichtbaar maken.
svn path=/Website/trunk/; revision=67100
2024-11-19 15:37:46 +00:00
Erik Groener
6d71fbaefe FCLT#83805 Beheer van autorisatiegroepen intuitiever maken
svn path=/Website/trunk/; revision=67099
2024-11-19 15:36:20 +00:00
37c2447f89 FCLT#86490 In persoonFilter wordt ook niveau en prs_bedrijf_key gebruikt, die zit niet in de prs_afdeling-tabel, wel in de prs_v_afdeling_boom-view
svn path=/Website/trunk/; revision=67094
2024-11-19 14:19:09 +00:00
9602d620be FCLT#86490 prs_afdeling gebruiken ipv de zwaardere prs_v_afdeling tbv de suppressnovalue-optie
svn path=/Website/trunk/; revision=67091
2024-11-19 13:18:02 +00:00
8f9031816e FCLT#86320 Als de datum exact gelijk is, sorteer dan (verder) op fac_tracking_key
svn path=/Website/trunk/; revision=67090
2024-11-19 12:35:18 +00:00
ea69b6eac4 FCLT#86400 Voorkom clientside javaScript injectie
svn path=/Website/trunk/; revision=67086
2024-11-19 10:56:37 +00:00
Peter Feij
090ce679ce FCLT#85970 Zoeken en managementinfo/groepering
svn path=/Website/trunk/; revision=67082
2024-11-18 22:20:23 +00:00
Peter Feij
ad204aae58 FCLT#85970 Ondersteuning van releasekalender en releasemanagement in ITSM-context
svn path=/Website/trunk/; revision=67078
2024-11-18 17:16:32 +00:00
ebcfcafd68 LOGC#86231 sortering rapportages fixen; houdt de volgorde van clientside kolom-shuffle-volgordes aan, en neem hide_f-kolommen, en keykolommen ook in acht
svn path=/Website/trunk/; revision=67074
2024-11-18 15:44:16 +00:00
Maykel Geerdink
a6eb3e4add NOUR#82373: In takenoverzicht bijlage zichtbaar maken.
svn path=/Website/trunk/; revision=67070
2024-11-18 12:52:26 +00:00
b2b004a0e8 STER#86459 verversknop bij contractbeheer erbij
svn path=/Website/trunk/; revision=67069
2024-11-18 11:58:12 +00:00
Rik Hassing
066b556120 VNOG#85849
- Formateer track_text dat HTTP_USER_AGENT overschreven kan worden.

svn path=/Website/trunk/; revision=67065
2024-11-18 11:31:55 +00:00
Peter Feij
7f236bd6a7 FCLT#85970 Ondersteuning van releasekalender en releasemanagement in ITSM-context: filter en tonen in overzicht
svn path=/Website/trunk/; revision=67059
2024-11-15 18:33:41 +00:00
Peter Feij
1adc95d52e FCLT#86343 bij prioriteitenmatrix wordt waarde nu ook getoond als een van beide factoren leeg is (toont dan (leeg)), eerder lieten we dan niks zien.
svn path=/Website/trunk/; revision=67058
2024-11-15 17:16:51 +00:00
Peter Feij
6b3101e1d3 FCLT#85970 Ondersteuning van releasekalender en releasemanagement in ITSM-context savepoint 0.9. Wat refactoring zonder de bedoeling om functionaliteit (anders dan layout) te veranderen.
svn path=/Website/trunk/; revision=67057
2024-11-15 17:14:35 +00:00
Peter Feij
31184f9a3f FCLT#85970 Ondersteuning van releasekalender en releasemanagement in ITSM-context savepoint 0.2
svn path=/Website/trunk/; revision=67051
2024-11-15 12:37:55 +00:00
Rik Hassing
3ac2a3d4f8 FBEA#84083
- Multi-select voor activiteiten filter in reserveringen

svn path=/Website/trunk/; revision=67043
2024-11-14 14:00:51 +00:00
Rik Hassing
6467225603 YAXX#84687
- Undo 

svn path=/Website/trunk/; revision=67025
2024-11-13 14:30:31 +00:00
Erik Groener
fca96062a1 AREO#84650 Records voor afdeling en functie zonodig aanmaken bij SSO (SAML)
svn path=/Website/trunk/; revision=67024
2024-11-13 13:47:20 +00:00
Rik Hassing
0c8299b640 FMHN#86276
- Regex aangepast, zodat hij . escaped.

svn path=/Website/trunk/; revision=67021
2024-11-13 12:23:46 +00:00
Rik Hassing
de3d09ab9b YAXX#84687
- Undo 

svn path=/Website/trunk/; revision=67020
2024-11-13 12:05:00 +00:00
Rik Hassing
9d61afc842 FMHN#86276
- Fix regex expression

svn path=/Website/trunk/; revision=67019
2024-11-13 11:59:18 +00:00
a61a3e9b3e BRED#86317 no functional change
svn path=/Website/trunk/; revision=67017
2024-11-13 11:02:13 +00:00
e515e9c748 FCLT#86394 Teams-notificatie-kolom alleen in de backoffice lijst (bezoekersbalie) tonen
svn path=/Website/trunk/; revision=67016
2024-11-13 10:54:49 +00:00
Rik Hassing
ea8fba7f29 BRED#86317
- Toon emptyOption in showmode wanneer er geen  waarde is geselecteerd en emptyisrealvalue true is.

svn path=/Website/trunk/; revision=67013
2024-11-13 10:13:10 +00:00
Maykel Geerdink
f7c128523f VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/trunk/; revision=67006
2024-11-12 15:51:34 +00:00
3253f5329a FCLT#86343 'ga verder met de melding' -> 'ga verder met de opdracht'
svn path=/Website/trunk/; revision=66972
2024-11-11 08:45:14 +00:00
Peter Feij
8b29eacad7 FCLT#85970 Ondersteuning van releasekalender en releasemanagement in ITSM-context savepoint 0.1
svn path=/Website/trunk/; revision=66960
2024-11-07 17:20:21 +00:00
Jos Groot Lipman
43060f9a25 FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Website/trunk/; revision=66957
2024-11-07 16:38:45 +00:00
Erik Groener
007d2a2966 FCLT#86229 Onterechte plaatsing import/export knop bij uitleenregistratie lijst
svn path=/Website/trunk/; revision=66944
2024-11-07 10:45:08 +00:00
Rik Hassing
7a96ba7672 YAXX#84687
- Fix recalc when material cost has no value.

svn path=/Website/trunk/; revision=66943
2024-11-07 10:32:15 +00:00
Rik Hassing
70e8db915e YAXX#84687
- Add default order amount to mobile

svn path=/Website/trunk/; revision=66942
2024-11-07 10:19:43 +00:00
Maykel Geerdink
2b82d94101 VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/trunk/; revision=66937
2024-11-07 09:04:07 +00:00
Rik Hassing
d06178f8b3 YAXX#84687
- Add default order amount.

svn path=/Website/trunk/; revision=66935
2024-11-07 08:56:05 +00:00
50a9ef6b68 NOVA#85886 Een vervallen reserveerbare ruimte is geen reserveerbare ruimte (meer)
svn path=/Website/trunk/; revision=66928
2024-11-06 14:57:34 +00:00
c69f150fef Merge 2024.3 Gold (en enkele Gold A) patches
svn path=/Website/trunk/; revision=66926
2024-11-06 14:44:31 +00:00
Maykel Geerdink
995c8047e6 VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Website/trunk/; revision=66925
2024-11-06 14:34:33 +00:00
ee7f9cb341 MNNL#82650 argument vergeten
svn path=/Website/trunk/; revision=66924
2024-11-06 14:26:17 +00:00
1342b9152d MNNL#82650 Widget autosearch pas aftrappen nadat de parent (widget) pagina geladen is (en evt. default filters overgenomen heeft)
svn path=/Website/trunk/; revision=66923
2024-11-06 14:24:48 +00:00
Rik Hassing
a226831124 BAUS#83668
- Compare value with changed value.

svn path=/Website/trunk/; revision=66854
2024-11-04 11:46:30 +00:00
Rik Hassing
091cfd2d34 BAUS#83668
- Add for weekely

svn path=/Website/trunk/; revision=66850
2024-11-04 09:44:29 +00:00
Rik Hassing
700e799ece YASK#82997
- Get unconfirmed user from param, instead of global variable.

svn path=/Website/trunk/; revision=66848
2024-11-04 08:44:44 +00:00
Rik Hassing
1ba9aa8f20 BAUS#83668
- Add check to see if eenheid actually changed.

svn path=/Website/trunk/; revision=66843
2024-11-04 08:15:09 +00:00
Rik Hassing
f6aed2ede4 PCHW#84834
- Only cache when there are no missing equired kenmerken. 

svn path=/Website/trunk/; revision=66832
2024-10-31 11:31:41 +00:00
71caee5742 SGGR#86169 Oracle datum -> jsDate
svn path=/Website/trunk/; revision=66826
2024-10-31 08:48:10 +00:00
Rik Hassing
0708cf40d4 LOGC#85904
- Add AI generated text for afmelden melding

svn path=/Website/trunk/; revision=66820
2024-10-30 11:48:20 +00:00
7556b91a4d FMHN#86010 logjes weg
svn path=/Website/trunk/; revision=66806
2024-10-29 15:31:58 +00:00
3f23e21305 FMHN#86010 Conditionele zichtbaarheid van verbruiksartikel-kenmerken ondersteunen
svn path=/Website/trunk/; revision=66805
2024-10-29 15:28:58 +00:00
Rik Hassing
ac22d74afb YASK#82997
- Add checkbox to filter for unconfirmed users.

svn path=/Website/trunk/; revision=66792
2024-10-28 12:58:01 +00:00
a07df18aa5 Merge 2024.3 RC3 patches
svn path=/Website/trunk/; revision=66784
2024-10-28 09:21:36 +00:00
Maykel Geerdink
839021981d VNOG#81617: Object en/of onderdelen kunnen selecteren in meldingen.
svn path=/Website/trunk/; revision=66777
2024-10-24 16:49:53 +00:00
ac45f14734 CARG#86011 kostensoort-listbox omgezet naar suggest in alle modellen (excl. BGT-gerelateerde modellen).
svn path=/Website/trunk/; revision=66770
2024-10-24 10:51:41 +00:00
Rik Hassing
7fe712a64e BAUS#83668
Tested on BAUS trunk

Yearly
- Default month is now the first (januari).

Monthly
- Default day is now the first sunday of the month.

svn path=/Website/trunk/; revision=66755
2024-10-23 13:32:59 +00:00
Rik Hassing
7207c26cbc PCHW#84834
User has to fill in required kenmerken/bijlagen before a voorziening can be added. 

Tested on PCHW trunk.
- If a user tries to add a voorziening without having filled in required kenmerken they will be given a warning and send to 'reserveringen' subtab. 


Known issue 
- Does not work yet with kenmerken that have 'conditional visibility' set.
- Because of technical complexity vs usability

svn path=/Website/trunk/; revision=66751
2024-10-23 11:45:37 +00:00
Maykel Geerdink
3e0a9883b7 VNOG#81617: Object en/of onderdelen kunnen selecteren in meldingen.
svn path=/Website/trunk/; revision=66726
2024-10-22 09:06:42 +00:00
e015638d33 Merge 2024.3 RC2 patches (2/2)
svn path=/Website/trunk/; revision=66697
2024-10-18 10:04:08 +00:00
Maykel Geerdink
a611a12d0b BVB1#82041: MJOB taken staan niet in het uitvoeringsoverzicht.
svn path=/Website/trunk/; revision=66689
2024-10-17 13:23:17 +00:00
Maykel Geerdink
52c9a23535 BVB1#82041: MJOB taken staan niet in het uitvoeringsoverzicht.
svn path=/Website/trunk/; revision=66688
2024-10-17 13:05:53 +00:00
Rik Hassing
54248080bb KFNS#84062
- Make optional meldingskenmerken availible for mobile

svn path=/Website/trunk/; revision=66679
2024-10-17 11:48:34 +00:00
Rik Hassing
61e7919803 KFNS#84062
- Display additional kenmerken (required/not required) from range 100-900 when setting is on.

svn path=/Website/trunk/; revision=66668
2024-10-17 09:27:44 +00:00
Maykel Geerdink
345c7f049f NOUR#81855: Inactieve object toont periodieke taak te laat.
svn path=/Website/trunk/; revision=66665
2024-10-17 08:09:19 +00:00
Rik Hassing
7a62e15103 PZEE#78449
- Remove redundant line.

svn path=/Website/trunk/; revision=66660
2024-10-17 06:30:46 +00:00
Rik Hassing
eef535dfc7 KFNS#84062
- Remove log.

svn path=/Website/trunk/; revision=66630
2024-10-16 08:52:03 +00:00
Rik Hassing
b1b8d388b6 KFNS#84062
- If mld_afmelden_popup_for_all_km = 1 kenmerk volgnummer must be between 100 and 900. Else filter by mld_kenmerk_verplicht_status

svn path=/Website/trunk/; revision=66629
2024-10-16 08:37:51 +00:00
Maykel Geerdink
1f1d0987e1 FCLT#83699: Inspecties niet automatisch afgemeld als setting op "Altijd" staat.
svn path=/Website/trunk/; revision=66617
2024-10-15 15:14:21 +00:00
Rik Hassing
061a985133 RWSN#85787
- Change lcl 'Symbool' to 'Icoon'.

svn path=/Website/trunk/; revision=66601
2024-10-15 08:13:39 +00:00
Rik Hassing
ba791aac60 BAUS#83668
- Remove 'required' and placeholder from periode

svn path=/Website/trunk/; revision=66596
2024-10-14 13:41:25 +00:00
Rik Hassing
db3f965d2d RWSN#85787
- Remove hook_pre_edit from kenmerk.asp

svn path=/Website/trunk/; revision=66589
2024-10-14 12:13:35 +00:00
954cce98cf AAXX#85889 revert, want -> 2024.3
svn path=/Website/trunk/; revision=66586
2024-10-14 11:45:36 +00:00
62556f100b AAXX#85889 Als het event vd organisator niet gevonden wordt, skip 'patchEventWithFcltKey' dan gewoon
svn path=/Website/trunk/; revision=66585
2024-10-14 11:41:57 +00:00
Rik Hassing
a0f8b0a52a RWSN#85787
- Add code from kenmerk.asp to model_<>_kenmerk.asp

svn path=/Website/trunk/; revision=66584
2024-10-14 11:25:56 +00:00
Maykel Geerdink
282b96d351 FCLT#83238: Foutmelding omdat Freeze jaar in het verleden staat netjes oplossen.
svn path=/Website/trunk/; revision=66578
2024-10-14 09:15:12 +00:00
5d635aa234 FCLT#85854 Voorkom leeg label bij kenmerktype selectie
svn path=/Website/trunk/; revision=66577
2024-10-14 08:47:11 +00:00
86b0ee44bc Merge 2024.3 RC2 patches
svn path=/Website/trunk/; revision=66563
2024-10-11 10:58:51 +00:00
Rik Hassing
f22c42803d RWSN#85787
- Add iconpicker for INS kenmerken.

svn path=/Website/trunk/; revision=66561
2024-10-11 07:52:53 +00:00
Rik Hassing
21dfa027b0 RWSN#85787
- Add iconpicker for CNT kenmerken.
- Add iconpicker for FIN kenmerken.

svn path=/Website/trunk/; revision=66560
2024-10-11 07:31:50 +00:00
Rik Hassing
4a36ed4982 RWSN#85787
- Add iconpicker for RES kenmerken

svn path=/Website/trunk/; revision=66556
2024-10-10 13:20:10 +00:00
Rik Hassing
041e8ca191 RWSN#85787
- Add function to check for bloktitel

svn path=/Website/trunk/; revision=66554
2024-10-10 13:06:09 +00:00
Rik Hassing
9405657b7b RWSN#85787
- Add iconpicker for BES kenmerken.


svn path=/Website/trunk/; revision=66553
2024-10-10 13:02:42 +00:00
Maykel Geerdink
fd89f9a836 BRCF#80271: Dubbele scope contracten/dienst voorkomen.
svn path=/Website/trunk/; revision=66551
2024-10-10 12:03:57 +00:00
Rik Hassing
57958b36d6 RWSN#85787
- Add iconpicker for BEZ kenmerken.

svn path=/Website/trunk/; revision=66550
2024-10-10 11:17:55 +00:00
Rik Hassing
47e8b796fa RWSN#85787
- Differenciate between 'melding' and 'opdracht'.
- Don't send value to iconpicker when toggling.

svn path=/Website/trunk/; revision=66548
2024-10-10 10:58:17 +00:00
Rik Hassing
9da6ce2704 RWSN#85787 Iconpicker-functionaliteit kenmerkblokken voor alle modules implementeren
- Check attributetype initially.

svn path=/Website/trunk/; revision=66540
2024-10-09 12:24:19 +00:00
Rik Hassing
1def5cbe7b RWSN#85787 Iconpicker-functionaliteit kenmerkblokken voor alle modules implementeren
- Set icon-picker value if has any
- Add get_mgt_info_ajax.asp
- Remove icon-picker from MLD/get_mld_info_ajax.asp

svn path=/Website/trunk/; revision=66539
2024-10-09 12:16:19 +00:00
Maykel Geerdink
5ead313731 BVB1#79788: Bevindingen MJOB realisatiescherm.
svn path=/Website/trunk/; revision=66538
2024-10-09 12:15:20 +00:00
Maykel Geerdink
3561bb8847 SKHF#85420: Probleem met standaard taakafhandeling bij periodieke taken in SKHF.
svn path=/Website/trunk/; revision=66525
2024-10-08 14:46:34 +00:00
760 changed files with 27256 additions and 64955 deletions

View File

@@ -99,13 +99,6 @@ alg = {
var autfunctionMAN = "WEB_ALGMAN";
var autfunctionUSE = "WEB_ALGUSE";
// Met ALG* bepaal je wat je ziet (Read).
rresult.readman = rresult.canRead (autfunctionMAN);
if (onrgoedlvl != "T")
rresult.readuse = rresult.canRead (autfunctionUSE);
// Met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
switch (onrgoedlvl)
{
case "T": autfunctionMAN = "WEB_TERMAN";
@@ -114,14 +107,15 @@ alg = {
autfunctionUSE = "WEB_RUIUSE";
break;
}
// Met ALG* bepaal je wat je ziet (Read).
rresult.readman = rresult.canRead (autfunctionMAN);
rresult.readuse = rresult.canRead (autfunctionUSE);
// Met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
rresult.readmgt = rresult.canRead("WEB_ALGMGT");
rresult.writemgt = rresult.canWrite("WEB_ALGMGT");
rresult.writeman = rresult.canWrite(autfunctionMAN);
if (onrgoedlvl != "T")
rresult.writeuse = rresult.canWrite(autfunctionUSE);
else
rresult.writeuse = false;
rresult.writeuse = rresult.canWrite(autfunctionUSE);
}
else // iets meer werk
{
@@ -143,7 +137,7 @@ alg = {
+ "WHERE prs_perslid_key = " + user_key
+ " AND alg_district_key = " + alg_key;
break;
case "RG":
case "E":
sql = "SELECT MAX(niveau) FROM fac_v_my_regions "
+ "WHERE prs_perslid_key = " + user_key
+ " AND alg_regio_key = " + alg_key;
@@ -484,7 +478,7 @@ alg = {
if (!oRs.eof)
{
multiflex = true;
v_flexParams.flexlabel = L("lcl_flexlist_alg_b");
v_flexParams.flexlabel = L("lcl_flexlist_alg_" + p_niveau.toLowerCase());
while (!oRs.eof)
{
if (oRs("alg_kenmerk_kenmerktype").Value == "M")
@@ -498,6 +492,7 @@ alg = {
var onrgoed_fld = "";
switch (p_niveau)
{
case "E": onrgoed_fld = "e.alg_regio_key"; break;
case "D": onrgoed_fld = "d.alg_district_key"; break;
case "L": onrgoed_fld = "l.alg_locatie_key"; break;
case "T": onrgoed_fld = "g.alg_terreinsector_key"; break;

View File

@@ -240,6 +240,7 @@ else
, { label: L("lcl_calendar")
, initKey: kalender_id
, emptyOption: ""
, emptyKey: ""
, readonly: !this_alg.writeman
}
);

View File

@@ -77,7 +77,7 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
</script>
</head>
<body class="modal" id="mod_algmultiedit">
<body class="fclt-modal" id="mod_algmultiedit">
<% MODAL_START(); %>
<form name="u2" action="alg_edit_gebouw_multi_save.asp?bld_keys=<%=ingesloten.join(",")%>" method="post">
<%

View File

@@ -37,14 +37,6 @@ var fields = [ /* { dbs: "alg_gebouw_getekend", typ: "date", frm: "bld
{ dbs: "alg_gebouw_dwgy", typ: "float", frm: "bld_dwgy" }, Deze 3 velden worden nergens meegegeven? */
];
if (this_alg.writeuse)
{
fields.push({ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" },
// De gebouwverantwoordelijke(n) moeten eigenlijk nog een PRS-scope test ondergaan alvorens opgeslagen te worden, maar dat is voor nu teveel eer
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "prs_perslid" },
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "prs_perslid" });
}
if (user.checkAutorisation("WEB_BEZMGT", true))
{
fields.push({ dbs: "alg_gebouw_toon_telefoon", typ: "number", frm: "toon_telefoon", track: L("lcl_estate_gebouw_toon_telefoon") },
@@ -72,12 +64,16 @@ if (this_alg.writeman)
{ dbs: "alg_gebouw_image", typ: "varchar", frm: "bld_image", track: L("lcl_alg_gebouw_image") },
{ dbs: "mld_adres_key", typ: "key", frm: "mld_adres", track: L("lcl_delivery_address"), foreign: "mld_v_factuuradres" },
{ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstpl", track: L("lcl_prs_dept_kosten"), foreign: "prs_kostenplaats" },
{ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" },
{ dbs: "alg_gebouw_bez", typ: "check", frm: "bld_bez", track: L("lcl_estate_gebouw_bez") },
{ dbs: "alg_gebouw_mld", typ: "check", frm: "bld_mld", track: L("lcl_estate_gebouw_mld") },
{ dbs: "alg_gebouw_werkdagen", typ: "check0", frm: "bld_werkdagen", track: L("lcl_estate_gebouw_werkdagen") },
{ dbs: "alg_gebouw_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
{ dbs: "bez_actie_groep_key", typ: "key", frm: "group", track: L("bez_actie_groep"), foreign: "bez_actie_groep" },
{ dbs: "mld_vrije_dagen_id", typ: "varchar", frm: "cal_id", track: L("lcl_calendar")});
{ dbs: "mld_vrije_dagen_id", typ: "varchar", frm: "cal_id", track: L("lcl_calendar")},
// De gebouwverantwoordelijke(n) moeten eigenlijk nog een PRS-scope test ondergaan alvorens opgeslagen te worden, maar dat is voor nu teveel eer
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "prs_perslid" },
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "prs_perslid" });
if (beginuur != -2)
fields.push({ dbs: "alg_gebouw_beginuur", typ: "float", val: beginuur, track: L("lcl_estate_gebouw_beginuur") });

View File

@@ -74,7 +74,7 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
</script>
</head>
<body class="modal" id="mod_algmultiedit">
<body class="fclt-modal" id="mod_algmultiedit">
<% MODAL_START(); %>
<form name="u2" action="alg_edit_locatie_multi_save.asp?loc_keys=<%=ingesloten.join(",")%>" method="post">
<%

View File

@@ -18,12 +18,14 @@
FCLTHeader.Requires({plugins:["suggest","jQuery"], js: []})
var regio_key = getQParamInt("regio_key");
var onrgoedlvl = "E";
var params = { filter: { id: regio_key,
isNew: (regio_key == -1 ? true : false)
}
};
var regio_array = model_regions.REST_GET(params); // Roep de API2 GET aan
var model = new model_regions();
var regio_array = model.REST_GET(params); // Roep de API2 GET aan
var regio_data = (regio_array[0] ? regio_array[0] : {id: -1}); // GET kan meerdere records opleveren, maar we verwachten hier maar 1.
var this_alg = params.func_enabled; // params bevat nu ook waarden die in API2 zijn bepaald.
var action = (regio_key == -1 ? "I" : "U");
@@ -76,6 +78,14 @@ var action = (regio_key == -1 ? "I" : "U");
manRWFIELD("reg_oms", "fld", L("lcl_name"), regio_data.name, {required: true, maxlength: 30});
BLOCK_END();
generateFlexKenmerkBlock ({
onrgoed_key : regio_key,
onrgoed_niveau : onrgoedlvl,
reado : false,
this_alg : this_alg
});
IFACE.FORM_END();
%>
</form>

View File

@@ -18,7 +18,7 @@ protectRequest.validateToken();
var regio_key = getQParamInt("regio_key");
var action = getQParam("action", "");
var onrgoedlvl = "RG";
var onrgoedlvl = "E";
var this_alg = alg.func_enabled(regio_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.writeman || (regio_key > 0 && this_alg.writeuse));
@@ -26,21 +26,22 @@ var formfields = [];
if (this_alg.writeman)
formfields.push({ name: "name", frm: "reg_oms" });
var params = { filter: { "id": regio_key }};
var jsondata = api2.form2JSONdata(model_regions, params, formfields);
var model = new model_regions();
var jsondata = api2.form2JSONdata(model, params, formfields);
switch (action)
{
case "I":
var regio_array = model_regions.REST_POST(params, jsondata);
var regio_array = model.REST_POST(params, jsondata);
regio_key = regio_array.key;
break;
case "U":
if (regio_key > 0)
var regio_array = model_regions.REST_PUT(params, jsondata, params.filter.id);
var regio_array = model.REST_PUT(params, jsondata, params.filter.id);
break;
case "D":
if (regio_key > 0)
var regio_array = model_regions.REST_DELETE(params, params.filter.id);
var regio_array = model.REST_DELETE(params, params.filter.id);
break;
default :
var regio_array = {warning: L("lcl_cnt_Del_Fails_Auth")};
@@ -51,5 +52,34 @@ var result = { regio_key: regio_key,
warning: warning,
keepForm: !!warning,
success: true };
if (!warning)
{
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
+ " , ok.alg_onrgoedkenmerk_waarde"
+ " , k.alg_kenmerk_toonbaar"
+ " , k.fac_functie_key"
+ " FROM alg_onrgoedkenmerk ok"
+ " , alg_kenmerk k"
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
+ " AND alg_onrgoed_niveau = 'E'"
+ " AND alg_onrgoed_key = " + regio_key;
saveFlexKenmerken(regio_key,
{ kenmerkTable: "alg_onrgoedkenmerk",
kenmerkParentKey : "alg_onrgoed_key",
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
kenmerkKey: "alg_kenmerk_key",
kenmerkToonbaar: "alg_kenmerk_toonbaar",
currentKenmerkenSQL: currentKenmerkenSQL,
requestQF: Request.Form,
flexPath: "ALG/E",
module: "ALG",
moduleName: "alg_onrgoed_niveau",
moduleVal: "E",
isNew: regio_key < 0
});
}
Response.Write(JSON.stringify(result));
%><% ASPPAGE_END(); %>

View File

@@ -111,7 +111,7 @@ oRs.Close();
</script>
</head>
<body class="modal" id="mod_algmultiedit">
<body class="fclt-modal" id="mod_algmultiedit">
<% MODAL_START(); %>
<form name="u2" action="alg_edit_ruimte_multi_save.asp?alg_level=<%=safe.htmlattr(alg_level)%>&alg_keys=<%=ingesloten.join(",")%>" method="post">
<%

View File

@@ -78,7 +78,7 @@ user.auth_required_or_abort(tobeedited > 0); // We klagen niet over enkele wel e
</script>
</head>
<body class="modal" id="mod_algmultiedit">
<body class="fclt-modal" id="mod_algmultiedit">
<% MODAL_START(); %>
<form name="u2" action="alg_edit_terreinsector_multi_save.asp?ter_keys=<%=ingesloten.join(",")%>" method="post">
<%

View File

@@ -74,7 +74,7 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
</script>
</head>
<body class="modal" id="mod_algmultiedit">
<body class="fclt-modal" id="mod_algmultiedit">
<% MODAL_START(); %>
<form name="u2" action="alg_edit_verdieping_multi_save.asp?flr_keys=<%=ingesloten.join(",")%>" method="post">
<%

View File

@@ -25,22 +25,27 @@ function generateFlexKenmerkBlock(params)
var advanced = params.advanced; // Geavanceerd
var hasfilter = params.hasfilter? params.hasfilter : null;
function isReadonly (volgnummer)
function isReadonly (oRs)
{
if (reado)
return true;
if (volgnummer < 100 && !params.this_alg.writeman)
return true;
if (volgnummer > 100 && !params.this_alg.writeuse)
return true;
var rolcode = oRs("kenmerk_rolcode").value;
var canWrite = (params.this_alg.writeman && (rolcode&1)) || (params.this_alg.writeuse && (rolcode&2));
return !canWrite; // readonly
}
function isInvisible(volgnummer, ktype)
function isInvisible(oRs)
{
var ktype = oRs("kenmerk_kenmerktype").value;
if (params.multi)
return (ktype == 'M' || ktype == 'F' || ktype == 'E'); // onzichtbaar bij multi
}
// Wat mag ik op basis van mijn autorisatie (potentieel) zien, bepaal mijn rolcode-masker
var myreadrolcode = 0 + (params.this_alg.readman ? 1 : 0)
+ (params.this_alg.readuse ? 2 : 0);
var sql = "SELECT k.alg_kenmerk_key kenmerk_key"
+ " , 1 kenmerk_key_count"
+ " , NULL srtkenmerk_key"
@@ -65,6 +70,7 @@ function generateFlexKenmerkBlock(params)
: " , " + lcl.xsql("k.alg_kenmerk_default", "k.alg_kenmerk_key")
) + " kenmerk_waarde"
+ " , k.alg_kenmerk_volgnr kenmerk_volgnr"
+ " , k.alg_kenmerk_rolcode kenmerk_rolcode"
+ " , " + lcl.xsql("k.alg_kenmerk_dimensie", "k.alg_kenmerk_key") +" kenmerk_dimensie"
+ " , " + lcl.xsql("k.alg_kenmerk_hint", "k.alg_kenmerk_key") +" kenmerk_hint"
+ " , " + lcl.xsql("k.alg_kenmerk_default", "k.alg_kenmerk_key") + " kenmerk_default"
@@ -79,12 +85,11 @@ function generateFlexKenmerkBlock(params)
+ " FROM alg_kenmerk k "
+ " WHERE k.alg_kenmerk_niveau = " + safe.quoted_sql(onrgoed_niveau)
+ " AND k.alg_kenmerk_verwijder IS NULL "
+ (!params.this_alg.readman? " AND alg_kenmerk_volgnr >= 100" : "")
+ (!params.this_alg.readuse? " AND alg_kenmerk_volgnr <= 100" : "")
+ " AND BITAND(alg_kenmerk_rolcode, " + myreadrolcode + ") > 0 "
+ " ORDER BY k.alg_kenmerk_volgnr"
+ " , " + lcl.xsql("k.alg_kenmerk_omschrijving", "k.alg_kenmerk_key");
var trn = 0;
var trn = 0; // fijn, maar waarom?
listKenmerk(sql,
"ALG", //module

View File

@@ -17,19 +17,6 @@
<%
FCLTHeader.Requires({ plugins:["jQuery"] });
function fnrowData(oRs)
{
var detail_key = oRs.Fields("id").Value;
var key = oRs.Fields("id").Value;
var oms = oRs.Fields("name").Value;
var data = {detail_key: detail_key, key: key, oms: oms};
return JSON.stringify(data);
}
%>
<script type="text/javascript">
@@ -42,7 +29,7 @@ function fnrowData(oRs)
FcltMgr.openDetail(url, L("lcl_district"));
}
function districtEdit(row)
function districtEdit(row)
{
var algData = JSON.parse(row.getAttribute("ROWDATA"));
var url = "appl/ALG/alg_regio.asp?mode=viewUpdate&key=" + algData.key;
@@ -54,13 +41,13 @@ function fnrowData(oRs)
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), { autoconfirm: isMulti }, function() {
var regKeyString = getKeyString(rowArray);
var data = { key: regKeyString,
level: "RE"
level: "E"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
});
}
</script>
</script>
<%
function regio_list(pautfunction, params)
@@ -75,13 +62,45 @@ function regio_list(pautfunction, params)
var showall = params.showall;
var reg_key = params.reg_key;
function fnrowData(oRs)
{
var detail_key = oRs.Fields("id").Value;
var key = oRs.Fields("id").Value;
var oms = oRs.Fields("name").Value;
var data = {detail_key: detail_key, key: key, oms: oms};
return JSON.stringify(data);
}
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteRegio(oRs.Fields("id").Value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
var eDelete = false;
if (alg.canWriteRegio(oRs.Fields("id").Value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete});
}
function fnrowFlexParams(oRs)
{
var reg_key = oRs.Fields("id").Value;
var this_alg = alg.func_enabled(reg_key, "E");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
function fncolFlexBijlagen(oRs)
{
var flexval = oRs.Fields("algflex").Value;
var alg_key = oRs.Fields("id").Value;
var result = ( flexval
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
: ""
);
if (flexParams.bijlageflex)
{
result += alg.alg_onroerendgoed_flex_bijlagen("E", alg_key);
}
return result;
}
%>
<html>
<head>
@@ -90,16 +109,30 @@ function regio_list(pautfunction, params)
<body id="listbody">
<%
// Ophalen regio`s
var flexParams = alg.alg_onroerendgoed_flex_params("E");
var regio_key = getQParamInt("regiokey");
var filter = {};
if (regio_key > -1)
var filter = {id: regio_key};
var params = { filter: filter }; // Alle regio`s ophalen, behalve de verwijderde.
var regio_array = model_regions.REST_GET(params); // Roep de API2 GET aan
filter = {id: regio_key};
else
{
var kenmerk_sql = getKenmerkSql("ALG", "alg_regio.alg_regio_key");
if (kenmerk_sql)
filter = {kenmerk_sql: kenmerk_sql.substr(4)}; // De "AND" aan het begin eraf halen.
}
var params = { filter: filter // Alle regio`s ophalen, behalve de verwijderde.
, flexparams: { anyflex: flexParams.anyflex
, bijlageflex: flexParams.bijlageflex
, sql: flexParams.sql.substr(1).replace("e.", "alg_regio.")
, algflex: {"dbs": "algflex", "typ": "varchar"}
}
};
var model = new model_regions();
var regio_array = model.REST_GET(params); // Roep de API2 GET aan
//
var addurl = "appl/alg/alg_regio.asp";
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
if (canAdd)
{
@@ -112,13 +145,17 @@ function regio_list(pautfunction, params)
showAll: showall,
rowData: fnrowData,
rowActionEnabler: fnrowActionEnabler,
flexModule: "ALG",
flexId: "alg_regio_key",
flexParams: fnrowFlexParams,
outputmode: outputmode,
filterParams: params,
buttons: addButton
});
rst.addColumn(new Column({caption: L("lcl_estate_regio_descr"), content: "name"}));
if (flexParams.anyflex)
rst.addColumn(new Column({caption: flexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
rst.addAction({ action: "districtEdit", caption: L("lcl_edit"), isDefault: true});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", multi: true, multiOnce: true});

View File

@@ -24,7 +24,31 @@ var authparams = alg.checkAutorisation();
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript">
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
function doSubmit()
{
// Submitten met kenmerken
doSubmitWithKenmerken();
}
async function myModal(init)
{
var lvl = "E";
var key = 0;
var bld_key = "";
var url = "load_kenmerk.asp?disc="
+ "&urole=bo"
+ "&advanced=1"
+ "&hasFilter=1"
+ "&onrgoed_key=" +bld_key
+ "&onrgoed_niveau=" + lvl;
var titel = L("lcl_properties");
await showKenmerkModal(url, titel, init);
}
$(function() {
<% if (autosearch) { %>
document.forms.u2.submit();
<% } %>
});
</script>
</head>
<body id="searchbody">
@@ -39,8 +63,10 @@ var authparams = alg.checkAutorisation();
whenEmpty: L("lcl_search_generic")
});
SEARCH_BLOCK_END();
var buttons = [{title: L("lcl_overview_list"), action: "document.forms.u2.submit();", id: "bSearch", icon: "fa-clipboard-list" }];
SIMPLE_BLOCK_START();
var buttons = [ {title: L("lcl_overview_list"), action: "doSubmit();", id: "bSearch", icon: "fa-clipboard-list" }
, {title: L("lcl_shared_advanced"), action: "myModal()", id: "bAdvanced", importance: 3, icon: "fa-filter" }
];
CreateButtons(buttons, { entersubmit: true, showIcons: true });
SIMPLE_BLOCK_END();
SEARCH_PAGE_END(); %>

View File

@@ -201,7 +201,7 @@ else
</script>
</head>
<body class="modal" id="mod_ruimteafdeling">
<body class="fclt-modal" id="mod_ruimteafdeling">
<% MODAL_START(); %>
<form name="u2" method="post" action="alg_ruimteafdeling.asp?submit=1&ruimte_keys=<%=ruimte_key_arr.join(",")%>">
<% MODAL_BLOCK_START("alg_ruimteafdeling", L("lcl_alg_geselecteerde_ruimten") + ": " + ruimte_key_arr.length, { icon: "fa-map-marker" }); %>
@@ -298,4 +298,4 @@ IFACE.FORM_END();
</html>
<%
}
ASPPAGE_END(); %>
ASPPAGE_END(); %>

View File

@@ -51,7 +51,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
</script>
</head>
<body class="modal" id="mod_ruimtefunctie">
<body class="fclt-modal" id="mod_ruimtefunctie">
<% MODAL_START(); %>
<%
var page="alg_edit_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key; // Edit
@@ -65,4 +65,4 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
<% MODAL_END(); %>
</body>
</html>
<% ASPPAGE_END(); %>
<% ASPPAGE_END(); %>

View File

@@ -41,7 +41,7 @@ var ruimte_key_arr = getQParamIntArray("ruimte_keys");
</script>
</head>
<body class="modal" id="mod_ruimteresscope">
<body class="fclt-modal" id="mod_ruimteresscope">
<% MODAL_START(); %>
<form name="u2" method="post" action="alg_ruimteresscope_save.asp?ruimte_keys=<%=ruimte_key_arr.join(",")%>">
<% MODAL_BLOCK_START("alg_ruimteresscope", L("lcl_alg_geselecteerde_ruimten") + ": " + ruimte_key_arr.length, { icon: "fa-map-marker" }); %>
@@ -74,4 +74,4 @@ var ruimte_key_arr = getQParamIntArray("ruimte_keys");
<% MODAL_END(); %>
</body>
</html>
<% ASPPAGE_END(); %>
<% ASPPAGE_END(); %>

View File

@@ -47,14 +47,16 @@ var afgehandeld = false;
var kenmerk_key = -1;
if (alg_key > 0)
{
// Als ik canReadNotes heb dan heb ik canUSEread en/of canMANread rechten.
// Wat mag ik op basis van mijn autorisatie (potentieel) zien, bepaal mijn rolcode-masker
var myreadrolcode = 0 + (this_alg.canMANread ? 1 : 0)
+ (this_alg.canUSEread ? 2 : 0);
// Is er een bijlage kenmerk?
var sql = "SELECT k.alg_kenmerk_key"
+ " FROM alg_kenmerk k"
+ " WHERE k.alg_kenmerk_niveau IN ('R','V','G','T','L')"
+ " AND k.alg_kenmerk_verwijder IS NULL"
// Als ik canReadNotes heb dan heb ik canUSEread en/of canMANread rechten.
+ (!this_alg.canMANread ? " AND k.alg_kenmerk_volgnr >= 100" : "")
+ (!this_alg.canUSEread ? " AND k.alg_kenmerk_volgnr <= 100" : "")
+ " AND BITAND(k.alg_kenmerk_rolcode, " + myreadrolcode + ") > 0 "
+ " AND ( k.alg_kenmerk_verplicht IS NULL"
+ " OR k.alg_kenmerk_verplicht = 0)"
+ " AND k.alg_kenmerk_kenmerktype = 'M'"

View File

@@ -21,11 +21,14 @@
FCLTHeader.Requires({plugins:["jQuery"], js: []})
var regio_key = getQParamInt("regio_key");
var onrgoedlvl = "E";
var regio_params = { filter: { id: regio_key
, show_deleted: true // Ook indien verwijderd ophalen.
}};
var regio_array = model_regions.REST_GET(regio_params); // Roep de API2 GET aan
//var regio_array = model_regions.REST_GET(regio_params); // Roep de API2 GET aan
var model = new model_regions();
var regio_array = model.REST_GET(regio_params);
var regio_data = (regio_array[0] ? regio_array[0] : {id: -1}); // GET kan meerdere records opleveren, maar we verwachten hier maar 1.
var this_alg = regio_params.func_enabled; // regio_params bevat nu ook waarden die in API2 zijn bepaald.
@@ -85,6 +88,11 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
<% BLOCK_START("algInfo", L("lcl_region"), {icon: "fa-globe"});
ROFIELDTR("fld", L("lcl_name"), regio_data.name);
BLOCK_END();
generateFlexKenmerkBlock ({ onrgoed_key : regio_key,
onrgoed_niveau : onrgoedlvl,
reado : true,
this_alg : this_alg });
%>
</form>
<% SUBFRAME_END(); %>

View File

@@ -0,0 +1,148 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: default.asp
Description: Test-pagina om in Exchange te kunnen kijken
Parameters:
Status:
Context:
Notes:
*/
THIS_FILE = "../api/default.asp";
%>
<!-- #include file="../../Shared/common.inc" -->
<!-- #include file="../../Shared/iface.inc" -->
<!-- #include file="../../Shared/calendar.inc" -->
<%
FCLTHeader.Requires({
plugins: ["jQuery"]
});
user.checkAutorisation("WEB_FACTAB");
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
body, #result {
display: grid;
grid-template-rows: auto 1fr;
font-size: 13px;
}
.captions, .content {
display: flex;
flex-wrap: wrap;
}
.attention-bar {
flex-basis: 100%;
font-size: 1.25em;
font-weight: bold;
text-align: center;
}
.inform {
background-color: orange;
color: white;
}
.captions > span {
height: 2em;
flex-basis: 50%;
text-align: center;
}
textarea {
overflow: auto;
white-space: pre;
padding: .5em;
flex-basis: 50%;
}
</style>
<script>
function doSubmit() {
$.post(
"get_exchange_info.asp",
$("[name=exchange]").serialize(),
FcltCallbackAndThenAlways(exc_submit_callback),
"json"
);
}
function exc_submit_callback(json) {
$(".host, .room").val("");
$(".attention-bar").remove();
if (json.success) {
if (json.info?.length) { // Als json.success === false, dan wordt de json.info al in een popup weergegeven
for (var i = 0; i < json.info.length; i++) {
$(".captions > .host").before("<div class='attention-bar inform'>" + I("fa-circle-info fa-lg") + " " + safe.html(json.info) + "</div>");
}
}
$(".host").val(json.host ? JSON.stringify(json.host, null, 4) : "N/A");
$(".room").val(json.room ? JSON.stringify(json.room, null, 4) : "N/A");
}
}
</script>
</head>
<body id="searchbody">
<form name="exchange" onsubmit="doSubmit(); return false;">
<% SEARCH_PAGE_START({ header: L("lcl_filterblok") });
SEARCH_BLOCK_START();
RWFIELDTR("reservering", null, L("lcl_res_number"));
RWCHECKBOXTR("compact", null, "Compact", true);
SEARCH_BLOCK_END();
SEARCH_BLOCK_START();
RWFIELDTR("userPrincipalName", null, "Eigenaar van de Exchange agenda", null, { "placeholder": "prs_perslid_email of res_ruimte_extern_id" });
FCLTcalendar("date_from", {
label: L("lcl_period_from"),
initEmpty: true,
volgnr: 1
});
FCLTcalendar("date_to", {
label: L("lcl_period_to"),
initEmpty: true,
volgnr: 2
});
SEARCH_BLOCK_END();
var buttons = [{ title: L("lcl_search"), action: "doSubmit()", importance: 1, icon: "fa-search" }];
SIMPLE_BLOCK_START();
CreateButtons(buttons, { "entersubmit": true });
SIMPLE_BLOCK_END();
SEARCH_PAGE_END();
IFACE.FORM_END();
%> </form>
<div id="result">
<div class="captions">
<span class="host">Hieronder het Exchange event uit de agenda van de <i>Gastheer</i></span>
<span class="room">Hieronder het Exchange event uit de agenda van de <i>Ruimte</i></span>
</div>
<div class="content">
<textarea class="host"></textarea>
<textarea class="room"></textarea>
</div>
</div>
</body>
</html>
<%
ASPPAGE_END();
%>

View File

@@ -0,0 +1,243 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: get_exchange_info.asp
Description: Haalt events uit Exchange op en geeft deze terug
Parameters:
Context:
Note:
*/
var JSON_Result = true;
%>
<!-- #include file="../../Shared/common.inc" -->
<%
Session.Codepage = 65001; // We doen *uitsluitend* utf-8
Response.Charset = "UTF-8";
protectRequest.validateToken();
user.checkAutorisation("WEB_FACTAB");
function early_exit(err) {
result.success = false;
result.warning = err;
ASPPAGE_END();
Response.Write(JSON.stringify(result));
Response.End;
}
function verifyMSGraphResult(response) {
if (response === false || response === null) {
early_exit("MS Graph [Generic Error] - Zie Logging voor details");
}
}
// Minimaliseer het resultaat door alleen zeer relevante velden over te nemen
function strip(result) {
function _minify(event) {
return {
"createdDateTime": event.createdDateTime,
"id": event.id,
"iCalUId": event.iCalUId,
"subject": event.subject,
"isCancelled": event.isCancelled,
"sensitivity": event.sensitivity,
"isOnlineMeeting": event.isOnlineMeeting,
"responseStatus": event.responseStatus,
"start": event.start,
"end": event.end,
// "locations": event.locations,
"attendees": event.attendees
}
}
if (result.host) {
if (result.host instanceof Array) {
for (var i = 0; i < result.host.length; i++) {
result.host[i] = _minify(result.host[i]);
}
} else {
result.host = _minify(result.host);
}
}
if (result.room) {
if (result.room instanceof Array) {
for (var i = 0; i < result.room.length; i++) {
result.room[i] = _minify(result.room[i]);
}
} else {
result.room = _minify(result.room);
}
}
return result;
}
// Polyfill
if (!Date.prototype.toISOString) {
Date.prototype.toISOString = function () {
function pad(n) { return n < 10 ? '0' + n : n }
return this.getUTCFullYear() + '-'
+ pad(this.getUTCMonth() + 1) + '-'
+ pad(this.getUTCDate()) + 'T'
+ pad(this.getUTCHours()) + ':'
+ pad(this.getUTCMinutes()) + ':'
+ pad(this.getUTCSeconds()) + 'Z';
};
}
var result = {
info: []
};
if (!(S("msgraph_sync_level") > 0)) {
result.info = ["S(\"msgraph_sync_level\") staat op '0'"];
}
// Initialize hook
var hook = hookfunc.gethook("UTILS/Exchange/res_to_graph.wsc");
var DEZE = this;
try {
var init = hook.initialize({
DEZE: DEZE,
custabspath: Server.MapPath(custpath)
});
if (init === null) { // Is alleen null als de exchange.config ontbreekt
early_exit("Geen exchange.config aangetroffen");
}
} catch (e) {
early_exit("Hook error: " + e.description);
}
var host_id = null;
var room_id = null;
var host_email = null;
var room_email = null;
var res_rsv_ruimte_key = null;
var fallback_user = false;
var compact = getFParam("compact", "off") == "on";
var reservering_nr = getFParam("reservering", "");
var userPrincipalName = getFParam("userPrincipalName", null);
var date_from = getFParamDate("date_from", null);
var date_to = getFParamDate("date_to", null);
if (reservering_nr != "") {
// We gaan het event ophalen met een reserveringsnr als informatie
var res_reservering_key = parseInt(reservering_nr.split("/")[0], 10);
var res_rsv_ruimte_volgnr = parseInt((reservering_nr.split("/")[1] || 1), 10);
if (isNaN(res_reservering_key) || isNaN(res_rsv_ruimte_volgnr)) {
early_exit("Ongeldig reserveringsnr, verwachte formaat; 12345/1");
}
var sql = "SELECT rrr.res_rsv_ruimte_externnr2 host_id,"
+ " rrr.res_rsv_ruimte_externnr room_id,"
+ " p_host.prs_perslid_email host_email,"
+ " rr.res_ruimte_extern_id room_email,"
+ " rrr.res_rsv_ruimte_key res_rsv_ruimte_key,"
+ " p_host.prs_perslid_oslogin host_login"
+ " FROM res_rsv_ruimte rrr"
+ " JOIN prs_perslid p_host"
+ " ON p_host.prs_perslid_key = rrr.res_rsv_ruimte_host_key"
+ " JOIN res_ruimte_opstelling rro"
+ " ON rro.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key"
+ " JOIN res_ruimte rr ON rr.res_ruimte_key = rro.res_ruimte_key"
+ " WHERE rrr.res_reservering_key = " + res_reservering_key
+ " AND rrr.res_rsv_ruimte_volgnr = " + res_rsv_ruimte_volgnr;
var oRs = Oracle.Execute(sql);
if (!oRs.EoF) {
host_id = oRs("host_id").Value;
room_id = oRs("room_id").Value;
host_email = oRs("host_email").Value;
room_email = oRs("room_email").Value;
res_rsv_ruimte_key = oRs("res_rsv_ruimte_key").Value;
fallback_user = oRs("host_login").Value === null ? false : !!oRs("host_login").Value.match(/^_MSGRAPH_FALLBACK_/);
} else {
early_exit("Reservering niet in Facilitor gevonden");
}
oRs.Close();
// Wat error-handling
if (host_id === null && room_id === null) {
if (room_email === null) {
early_exit("Ruimte is geen Exchange-gekoppelde ruimte");
} else {
early_exit("Reservering is niet aan Exchange gekoppeld");
}
} else if (fallback_user) {
early_exit("Deze reservering is geboekt op een fallback user, we kunnen hiervan niets uitlezen op basis van de reservering. Probeer de reservering zelf op te zoeken mbv een datum bereik");
}
// Haal nu de eigenlijke Exchange-events op
if (host_id && host_id != "##PENDING##" && host_email) {
var method = host_id.match(/^##iCalUId##/) ? "iCalUId" : "id";
result.host = hook.getCalendarEvent(method, host_email, host_id);
verifyMSGraphResult(result.host);
}
if (room_id && room_email) {
room_id = room_id.split("|")[1] || room_id.split("|")[0];
var method = room_id.match(/^##iCalUId##/) ? "iCalUId" : "id";
if (method == "iCalUId") {
room_id = room_id.slice(11); // Strip de '##iCalUId##'
}
result.room = hook.getCalendarEvent(method, room_email, room_id);
verifyMSGraphResult(result.room);
}
// Niet gevonden, nog eens proberen obv res_rsv_ruimte_key
if (!result.host && !result.room) {
if (host_id == "##PENDING##" && host_email) {
result.info.push("Deze reservering heeft nog geen antwoord van MSGraph ontvangen");
result.host = hook.getCalendarEvent("res_rsv_ruimte_key", host_email, res_rsv_ruimte_key);
verifyMSGraphResult(result.host);
if (!result.host) {
early_exit("Reservering niet in Exchange gevonden op basis van res_rsv_ruimte_key");
}
} else {
result.info.push("Reservering niet in Exchange gevonden");
}
if (!result.host) {
early_exit("Reservering niet in Exchange gevonden");
}
}
// Klaar
} else if (userPrincipalName && date_from != null && date_to != null) {
// We gaan het event ophalen met een (ruimte of gastheer)email en een datum bereik
var id = date_from.toISOString() + "##" + date_to.toISOString();
var response = hook.getCalendarEvent("date", userPrincipalName, id);
verifyMSGraphResult(response);
// Verwerk het resultaat
if (response.value) {
// Convert een javascript Array naar een JSON Array
var events = [];
for (var x in response.value) {
events.push(response.value[x]);
}
if (events.length != 1) {
result.info.push("Er zijn " + events.length + " events gevonden");
}
var sql = "SELECT 1"
+ " FROM res_ruimte"
+ " WHERE UPPER(res_ruimte_extern_id) = " + safe.quoted_sql_upper(userPrincipalName);
var oRs = Oracle.Execute(sql);
if (oRs.EoF) {
result.host = events;
} else {
result.room = events;
}
oRs.Close();
}
} else {
early_exit("Onvoldoende parameters meegegeven; zoek op reserveringsnr, of de combinatie; email/datum-van/datum-tot");
}
result.success = true;
// Strip onnodige velden
if (compact) {
result = strip(result);
};
Response.Write(JSON.stringify(result));
Response.End;
%>
<% ASPPAGE_END(); %>

View File

@@ -306,7 +306,6 @@ try
var xml_content = oRs("xml_blob").Value;
oRs.Close();
__Log("XML blob is {0} karakters.".format(xml_content.length));
Oracle.Execute("BEGIN DBMS_SESSION.free_unused_user_memory; END;");
if (API.apidata.loglevel) __Log2File(xml_content, API.APIname + "_DATA");

View File

@@ -198,16 +198,36 @@ function getEmailSetting(xmlReq, xmlParameters)
return senderResult;
}
function checkSubject(xmlParameters)
// Check the subject against general rules (emlSetting null) or some defined
// regular expression from the configuration in emlSetting
// return .success true if the subject is okay, false else
// If false, a reason is given in .message
function checkSubject(emlSetting, xmlParameters)
{
var v_subject_undeliverable = new RegExp(S("mail_subject_undeliverable")).test(xmlParameters.Subject);
var v_subject_ignore = new RegExp(S("mail_subject_ignore")).test(xmlParameters.Subject);
var senderResult = null;
if (v_subject_undeliverable || v_subject_ignore)
var subjectResult = { success: true };
if (emlSetting == null)
{
senderResult = ( v_subject_undeliverable ? S("mail_subject_undeliverable") : S("mail_subject_ignore"));
// generieke onderwerpcheck tegen rubbish
var v_subject_undeliverable = new RegExp(S("mail_subject_undeliverable")).test(xmlParameters.Subject);
var v_subject_ignore = new RegExp(S("mail_subject_ignore")).test(xmlParameters.Subject);
var senderResult = null;
if (v_subject_undeliverable || v_subject_ignore)
{
subjectResult.success = false;
subjectResult.message = ( v_subject_undeliverable ? S("mail_subject_undeliverable") : S("mail_subject_ignore"));
}
} else {
// matcht het mailonderwerp wellicht met een specifieke configuratie?
if (emlSetting.text)
{
subjectResult.success = new RegExp(emlSetting.text, "ig").test(xmlParameters.Subject);
subjectResult.message = "Subject " + xmlParameters.Subject + (subjectResult.success ? " matches " : " does not match ") + emlSetting.text
__Log(subjectResult.message);
}
else // geen voorwaarde is altijd goed
subjectResult.success = true;
}
return senderResult;
return subjectResult;
}
function setPath(attachpath)
@@ -230,17 +250,23 @@ function getEmailSetting(xmlReq, xmlParameters)
+ " fac_email_setting_volgnr,"
+ " fac_email_setting_action,"
+ " fac_email_setting_expire,"
+ " fac_email_setting_from,"
+ " fac_email_setting_from," // optioneel: waar de afzender aan moet voldoen
+ " fac_email_setting_frommode,"
+ " fac_email_setting_text," // optioneel: waar het onderwerp aan moet voldoen
+ " fac_email_setting_attachpath,"
+ " fac_email_setting_attachext,"
+ " fac_email_setting_reqattachext,"
+ " fac_email_setting_reqattachext," // optioneel: extensie van de bijlage die verplicht is
+ " fac_email_setting_attachmaxkb,"
+ " fac_email_setting_loglevel,"
+ " prs_perslid_key_auth"
+ " FROM fac_email_setting"
+ " WHERE upper(fac_email_setting_user) = UPPER("+safe.quoted_sql(xmlParameters.mailuser)+")"
+ " ORDER BY fac_email_setting_volgnr";
// Als je het zo zou doen vind je organischer de meest specifieke match, met volgnummer slechts beslissend als er meerdere zouden zijn
// Het lijkt echter safer om datr aan de gebruiker over te laten en die dat met volgnummer expliciet te kunnen laten definieren.
//+ " ORDER BY fac_email_setting_reqattachext NULLS LAST, fac_email_setting_from NULLS LAST, fac_email_setting_text NULLS LAST, fac_email_setting_volgnr";
var oRs = Oracle.Execute(sql);
if (oRs.eof)
{ // Er is geen fac_email_setting record gevonden.
@@ -251,11 +277,22 @@ function getEmailSetting(xmlReq, xmlParameters)
};
}
else
{ // Er bestaat minimaal 1 fac_email_setting record.
{ // Er bestaat minimaal 1 fac_email_setting record voor deze ontvanger.
var allowedSetting = {};
var rejectedAttach = [];
var hasRequiredAttachment = false;
while (!oRs.eof && !hasRequiredAttachment)
var hasMatchingFrom = false;
var hasMatchingSubject = false;
// Loop door de fac_email_setting records en bepaal welke het beste past bij deze e-mail
// Dat is de eerste match op basis van het volgnummer, waarbij de 3 criteria niet conflicteren.
// - de afzender matcht of is niet specifiek gedefinieerd
// - het onderwerp matcht de conditie of is niet specifiek gedefinieerd
// - de verplichte bijlage is present of is niet specifiek gedefinieerd
// Het gevonden record levert de aan te roepen mailprocessor en
// (bij de default fac.processemail) de aan te maken standaardmelding
while (!oRs.eof && !(hasRequiredAttachment && hasMatchingFrom && hasMatchingSubject))
{
var emlSetting = {
key: oRs("fac_email_setting_key").Value,
@@ -269,21 +306,29 @@ function getEmailSetting(xmlReq, xmlParameters)
attach_maxkb: oRs("fac_email_setting_attachmaxkb").Value,
fromMode: oRs("fac_email_setting_frommode").Value,
from: oRs("fac_email_setting_from").Value,
text: oRs("fac_email_setting_text").Value,
loglevel: oRs("fac_email_setting_loglevel").Value
};
emlSetting.path = setPath(emlSetting.attachpath);
__Log("Scanning e-mail setting: "+emlSetting.volgnr);
__Log("Scanning e-mail setting: "+emlSetting.key + " (volgnr "+emlSetting.volgnr+")");
var expireResult = checkExpire(emlSetting.expire);
var senderResult = checkSender(emlSetting, xmlParameters);
var expireResult = checkExpire(emlSetting.expire);
var senderResult = checkSender(emlSetting, xmlParameters);
var subjectResult = checkSubject(emlSetting, xmlParameters);
hasMatchingFrom = senderResult.success;
hasMatchingSubject = subjectResult.success;
__Log('hasMatchingFrom '+ hasMatchingFrom);
__Log('hasMatchingSubject '+ hasMatchingSubject);
if (expireResult.success && senderResult.success)
// als fron en subject okay zijn, dan kijken we of er een verplicht kenmerk is
if (expireResult.success && hasMatchingFrom && hasMatchingSubject)
{
emlSetting.theFrom = senderResult.theFrom;
emlSetting.theFrom = senderResult.theFrom; // verbeter na de uitgevoerde controle
var attachResult = checkAttach(xmlReq, xmlParameters, emlSetting);
emlSetting.allowedFiles = attachResult.allowedFiles;
emlSetting.requiredFound = attachResult.requiredFound;
hasRequiredAttachment = attachResult.requiredFound;
hasRequiredAttachment = emlSetting.required_attachext == null || attachResult.requiredFound;
allowedSetting = emlSetting;
if (attachResult.rejectedFiles.tekst != "")
{
@@ -301,11 +346,12 @@ function getEmailSetting(xmlReq, xmlParameters)
result.rejectMail = (!expireResult.success ? expireResult.rejectMail : senderResult.rejectMail);
}
}
__Log("hasRequiredAttachment: " + hasRequiredAttachment);
oRs.MoveNext();
}
__Log("Done looking for matching e-mail settings");
result.emlSetting = allowedSetting;
result.silentignoreemail = checkSubject(xmlParameters);
result.silentignoreemail = checkSubject(null, xmlParameters).message;
}
oRs.Close();
return result;
@@ -430,6 +476,7 @@ function emailAction(emlSetting, xmlParam, resultParam)
return result;
}
//
function checkAttach(xmlReq, xmlParameter, emlSetting)
{
var requiredFound = false;
@@ -450,10 +497,14 @@ function checkAttach(xmlReq, xmlParameter, emlSetting)
{ // Waarschijnlijk een FACILITOR bon gereply'd
__Log("Bijlage {0} genegeerd.".format(safefilename));
}
else if (attsize < S("flex_min_size"))
else if (attsize < S("flex_min_size")) // sowieso te klein
{
__Log("Bijlage {0} genegeerd, te klein met {1} bytes.".format(safefilename, attsize));
}
else if (attsize < S("flex_min_imgsize") && new RegExp(S("flex_min_imgsize_ext"), "ig").test(safefilename)) // plaatje te klein (facebook, twitter, X)
{
__Log("Plaatje {0} genegeerd, te klein met {1} bytes.".format(safefilename, attsize));
}
else if ( emlSetting.attach_maxkb && emlSetting.attach_maxkb > 0 // Er is een maximum bestandsgrootte ingesteld
&& parseFloat(filesize_MB) > parseFloat(maxsize_MB)) // En die is overschreden
{
@@ -463,7 +514,7 @@ function checkAttach(xmlReq, xmlParameter, emlSetting)
}
else if (!new RegExp(S("flexallowedext"), "ig").test(safefilename))
{ // Niet ondersteunde bestandstype
__DoLog("Onbekende extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, emlSetting.theFrom));
__Log("Onbekende extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, emlSetting.theFrom));
}
else if (emlSetting.allowed_attachext && !new RegExp(emlSetting.allowed_attachext, "ig").test(safefilename))
{ // bestand is niet van het opgegeven type
@@ -677,7 +728,7 @@ if (emlResult.emlSetting && !emlResult.rejectMail)
__Log("htmlBody: " + xmlParameters.htmlBody);
__Log("body: " + xmlParameters.Body);
__Log("E-mail user ontvankelijk: " + xmlParameters.mailuser);
__Log("gebruikt email setting: " + emlSetting.volgnr);
__Log("gebruikt email setting: " + emlSetting.key);
if (emlResult.silentignoreemail)
{

View File

@@ -23,52 +23,12 @@ var API = new API_func();
// Bij aanmaken van de subscription doet Graph direct aan validatie-aanroep
// De token parameter moet je teruggeven.
var validationToken = getQParam("validationToken", "");
if (validationToken)
{
if (validationToken) {
__Log("Subscribtion validated: " + validationToken);
Response.ContentType = "text/plain";
Response.Write(validationToken);
Response.End;
}
else
{ // We hebben een notificatie ontvangen, stuur direct een 202 conform specificatie
Response.Status = "202 - Accepted";
Response.Write("");
Response.Flush;
}
function _cleanIncomingOutlookQueue() {
Application.Lock();
var incomingOutlookQueue = JSON.parse(Application(customerId + "_incomingOutlookQueue") || "{}");
for (var x in incomingOutlookQueue) {
if (incomingOutlookQueue[x] < new Date().getTime()) { // Verwijder verlopen changes die hier nog in staan
delete incomingOutlookQueue[x];
}
}
Application(customerId + "_incomingOutlookQueue") = JSON.stringify(incomingOutlookQueue);
Application.UnLock();
}
function _updateIncomingOutlookQueue(etag, CRUD) { // etag = 'The HTTP entity tag that represents the version of the object'
Application.Lock();
var incomingOutlookQueue = JSON.parse(Application(customerId + "_incomingOutlookQueue") || "{}");
if (CRUD == "C") {
if (etag in incomingOutlookQueue) { // We hebben deze al ontvangen en zijn begonnen met verwerken
__Log("MS Graph, duplicate notification ignored", "#FFFF44");
Application.UnLock();
Response.End;
}
incomingOutlookQueue[etag] = new Date().getTime() + 4 * 60 * 60 * 1000; // Expired in 4 uur
} else if (CRUD == "D") {
// delete incomingOutlookQueue[etag];
// ipv deleten laten we deze expiren over 3s zodat we reeds verwerkte notificaties niet nog eens gaan verwerken als het HTTP verkeer elkaar kruist
if (etag in incomingOutlookQueue) {
incomingOutlookQueue[etag] = new Date().getTime() + 3 * 1000;
}
}
Application(customerId + "_incomingOutlookQueue") = JSON.stringify(incomingOutlookQueue);
Application.UnLock();
}
// Als we hier komen hebben we een echte notificatie binnengekregen
var notidata = RequestJSON(API.apidata.loglevel).value;
@@ -83,12 +43,10 @@ try {
} catch (e) {
__DoLog("Malformed MS Graph notification received:", "#FF0000");
__DoLog(notidata, "#FF0000");
Response.Status = "400 - Bad Request";
Response.End;
}
_cleanIncomingOutlookQueue();
_updateIncomingOutlookQueue(etag, "C");
// {
// "value": [
// {
@@ -110,8 +68,10 @@ _updateIncomingOutlookQueue(etag, "C");
// We hebben res_ruimte_key meegegeven in de hookurl. Er zijn meer manieren
// om de ruimte te achterhalen maar deze is het snelst/ simpelst
var res_ruimte_key = getQParamInt("res_ruimte", -1);
if (res_ruimte_key == -1)
Response.End; // even geen errors
if (res_ruimte_key == -1) {
Response.Status = "422 - Unprocessable Content";
Response.End;
}
var sql = "SELECT res_ruimte_extern_id,"
+ " res_ruimte_graphhooksecret"
+ " FROM res_ruimte"
@@ -130,20 +90,51 @@ if (zaalemail == null || oRs("res_ruimte_graphhooksecret").Value != notidata.cli
notidata.subscriptionExpirationDateTime));
}
oRs.Close();
Response.Status = "422 - Unprocessable Content";
Response.End;
}
oRs.Close();
var DEZE = this;
var hook = hookfunc.gethook("utils/exchange/process_webhook.wsc");
hook.initialize({
DEZE: DEZE,
custabspath: Server.MapPath(custpath)
});
hook.process_webhook(res_ruimte_key, zaalemail, notidata);
hook = null;
var fso = Server.CreateObject("Scripting.FileSystemObject");
var tempFolder = shared.tempFolder();
if (!fso.FolderExists(tempFolder)) {
fso.CreateFolder(tempFolder);
}
var exchangeFolder = tempFolder + "/exchange";
if (!fso.FolderExists(exchangeFolder)) {
fso.CreateFolder(exchangeFolder);
}
var logfile_path = exchangeFolder + "/" + safe.filename(etag) + ".data";
if (fso.FileExists(logfile_path)) { // Notificaties zijn uniek obv etag, deze is dus dubbel
__Log("MS Graph, duplicate notification ignored", "#FFFF44");
} else {
try {
var ts = fso.CreateTextFile(logfile_path, true);
ts.Write(JSON.stringify(notidata, null, 2));
ts.Close();
} catch (e) {
__DoLog("Failed writing to {0}\n{1}".format(logfile_path, e.description));
}
sql = "INSERT INTO fac_notificatie (fac_srtnotificatie_key,"
+ " fac_notificatie_queue,"
+ " fac_notificatie_refkey,"
+ " fac_notificatie_attachments,"
+ " fac_notificatie_naam,"
+ " fac_notificatie_notbefore,"
+ " fac_notificatie_status)"
+ " SELECT fac_srtnotificatie_key"
+ " , 'EXCHANGE'"
+ " , " + res_ruimte_key
+ " , " + safe.quoted_sql(logfile_path)
+ " , " + safe.quoted_sql(zaalemail)
+ " , SYSDATE"
+ " , 1" // Met 1 omzeilen we fac.cleannotifications en zorgen we dat fac_t_fac_notificatie_A_IU niet de PUTORDERS inschiet (Wij doen er verder niets mee)
+ " FROM fac_srtnotificatie"
+ " WHERE fac_srtnotificatie_code = 'RESUPD'";
Oracle.Execute(sql);
}
_updateIncomingOutlookQueue(etag, "D"); // En verwijder hem maar weer
Response.Write("");
Response.Status = "202 - Accepted";
ASPPAGE_END();
Response.End;
%>

View File

@@ -1180,7 +1180,7 @@ function upsertKenmerk(kenmerken, topdr_key, opdr_key)
function isGoodCurrency(str)
{
var anum = /^([-\+]?\d{1,6}[.,]?|[-\+]?\d{0,6}[.,]\d{1,2})$/
var anum = /^([-\+]?\d{1,6}[.,]?|[-\+]?\d{0,6}[.,]\d{1,7})$/
return anum.test(str);
}
@@ -1188,6 +1188,7 @@ function upsertOpdrRegels(regels, mld_opdr)
{
var opdr_key = mld_opdr.opdr_key;
var mat_key_list = [];
var mat_tracking_arr = [];
var tracking_key = -1;
for (var r = 0; r < regels.length; r++)
{
@@ -1323,18 +1324,18 @@ function upsertOpdrRegels(regels, mld_opdr)
// Aantal is groter dan 0. Opdrachtregel toevoegen (Update).
// Als aantal 0 is dan is de materiaalregel al verwijderd en kom je hier niet.
mat_fields = mat_fields.concat(
[ { dbs: "mld_opdr_materiaal_aantal", typ: "float", savewhen: aantal !== null, val: aantalval },
{ dbs: "mld_opdr_materiaal_eenheidcode", typ: "varchar", savewhen: eenheidcode !== null, val: eenheidcode, len: 10 },
{ dbs: "mld_opdr_materiaal_eenheid", typ: "varchar", savewhen: eenheid !== null, val: eenheid, len: 30 },
{ dbs: "mld_opdr_materiaal_prijs", typ: "float", savewhen: prijs !== null, val: (prijs? prijsval : null) },
{ dbs: "mld_opdr_materiaal_code", typ: "varchar", savewhen: matcode !== null, val: matcode, len: 30 },
{ dbs: "mld_opdr_materiaal_omschr", typ: "varchar", savewhen: omschr !== null, val: omschr, len: 255 },
{ dbs: "mld_opdr_materiaal_info", typ: "varchar", savewhen: info !== null, val: info, len: 4000 },
{ dbs: "mld_opdr_materiaal_groep", typ: "varchar", savewhen: groep !== null, val: groep, len: 60 },
{ dbs: "mld_opdr_materiaal_extra1", typ: "varchar", savewhen: extra1 !== null, val: extra1, len: 60 },
{ dbs: "mld_opdr_materiaal_extra2", typ: "varchar", savewhen: extra2 !== null, val: extra2, len: 60 },
{ dbs: "mld_opdr_materiaal_extra3", typ: "varchar", savewhen: extra3 !== null, val: extra3, len: 4000 },
{ dbs: "mld_opdr_materiaal_extra4", typ: "varchar", savewhen: extra4 !== null, val: extra4, len: 4000 }
[ { dbs: "mld_opdr_materiaal_aantal", typ: "float", savewhen: aantal !== null, track: L("lcl_mld_opdr_aantal"), val: aantalval },
{ dbs: "mld_opdr_materiaal_eenheidcode", typ: "varchar", savewhen: eenheidcode !== null, track: L("lcl_mld_opdr_eenheidcode"), val: eenheidcode, len: 10 },
{ dbs: "mld_opdr_materiaal_eenheid", typ: "varchar", savewhen: eenheid !== null, track: L("lcl_mld_opdr_eenheid"), val: eenheid, len: 30 },
{ dbs: "mld_opdr_materiaal_prijs", typ: "float", savewhen: prijs !== null, track: L("lcl_mld_opdr_prijs"), val: (prijs? prijsval : null) },
{ dbs: "mld_opdr_materiaal_code", typ: "varchar", savewhen: matcode !== null, track: L("lcl_mld_opdr_code"), val: matcode, len: 30 },
{ dbs: "mld_opdr_materiaal_omschr", typ: "varchar", savewhen: omschr !== null, track: L("lcl_mld_opdr_omschr"), val: omschr, len: 255 },
{ dbs: "mld_opdr_materiaal_info", typ: "varchar", savewhen: info !== null, track: L("lcl_mld_opdr_info"), val: info, len: 4000 },
{ dbs: "mld_opdr_materiaal_groep", typ: "varchar", savewhen: groep !== null, track: L("lcl_mld_opdr_groep"), val: groep, len: 60 },
{ dbs: "mld_opdr_materiaal_extra1", typ: "varchar", savewhen: extra1 !== null, track: L("lcl_mld_opdr_extra1"), val: extra1, len: 60 },
{ dbs: "mld_opdr_materiaal_extra2", typ: "varchar", savewhen: extra2 !== null, track: L("lcl_mld_opdr_extra2"), val: extra2, len: 60 },
{ dbs: "mld_opdr_materiaal_extra3", typ: "varchar", savewhen: extra3 !== null, track: L("lcl_mld_opdr_extra3"), val: extra3, len: 4000 },
{ dbs: "mld_opdr_materiaal_extra4", typ: "varchar", savewhen: extra4 !== null, track: L("lcl_mld_opdr_extra4"), val: extra4, len: 4000 }
]);
if ((btw || btw == 0) && (!isNaN (btwval) && btwval >= 0))
@@ -1364,20 +1365,14 @@ function upsertOpdrRegels(regels, mld_opdr)
var matUpd = buildTrackingUpdate("mld_opdr_materiaal", "mld_opdr_materiaal_key = " + materiaal_key, mat_fields, { noValidateToken: true });
// Zijn er velden die gewijzigd moeten worden? Als matUpd null is, dan waren alle savewhen condities false en hoeft er niets geupdate te worden.
if (matUpd && matUpd.sql)
{ // Er zijn wijzigingen.
if (matUpd && matUpd.sql && matUpd.trackarray.length) { // Als trackarray.length === 0 dan is er effectief niets aangepast (we tracken alles)
Oracle.Execute(matUpd.sql);
updatetracking_key = mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_updatedbysoap") + "\n" + L("lcl_ord_is_upd_material").format(id) + "\n" + matUpd.trackarray.join("\n"));
mat_tracking_arr.push(L("lcl_ord_is_upd_material").format(id) + "\n" + matUpd.trackarray.join("\n"));
}
}
}
oRs.Close();
var sql_del = "DELETE mld_opdr_materiaal"
+ " WHERE mld_opdr_key = " + opdr_key
+ " AND mld_opdr_materiaal_key NOT IN (" + mat_key_list.join(",") + ")";
Oracle.Execute(sql_del);
// 1) Nieuwe materiaalbedrag in de opdracht opslaan.
// 2) De totaalwaarde opnieuw berekenen want het materiaalbedrag is aangepast.
// Dan hebben we het correctie bedrag ook nodig. Dit correctie bedrag moet hetzelfde blijven.
@@ -1394,6 +1389,19 @@ function upsertOpdrRegels(regels, mld_opdr)
+ " WHERE mld_opdr_key = " + opdr_key
Oracle.Execute(sql_total);
}
if (mat_tracking_arr.length)
{ // Er zijn wijzigingen.
tracking_key = mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_updatedbysoap") + "\n" + mat_tracking_arr.join("\n"));
}
if (mat_key_list.length) {
var sql_del = "DELETE mld_opdr_materiaal"
+ " WHERE mld_opdr_key = " + opdr_key
+ " AND mld_opdr_materiaal_key NOT IN (" + mat_key_list.join(",") + ")";
Oracle.Execute(sql_del);
}
return tracking_key;
}

View File

@@ -212,7 +212,7 @@ __Log("== Entering shorturl.asp ==");
if (bookmark_naam != 'faclikedeeplink' && new Perslid(falluser_key).checkAutorisation("WEB_PRSSYS", true))
{
INTERNAL_ERROR_FALLBACK_CANNOT_HAVE_PRSSYS;
// fac_like_deep.asp staan we wel toe, die heeft een Session.Abandon();
// fac_like_deep.asp & fac_like.asp staan we wel toe, die hebben een Session.Abandon();
}
Session("fallback_user_key") = falluser_key; // wordt opgepikt door loginTry.asp
}

View File

@@ -808,7 +808,10 @@ api2 = {
tables.push(tablesql);
}
else
tables = tables.concat (incquery.tables);
{
if (!inc.isdetailfor)
tables = tables.concat (incquery.tables);
}
wheres = wheres.concat (incquery.wheres);
if (inc.model.gparams && inc.model.gparams.GET.tables)
@@ -1236,7 +1239,10 @@ api2 = {
var spl = api2.splitLOV(LOV);
var result = [];
for (var f in filter)
result.push(filter[f] + ";" + spl[filter[f]]);
{
if ( filter[f] in spl)
result.push(filter[f] + ";" + spl[filter[f]]);
}
return result.join(";");
},
splitLOV: function _splitLOV(LOV, nameprefix)
@@ -1454,7 +1460,21 @@ api2 = {
}
}
if (!incfound)
record[incname].push(api2.sql2jsonfields(params, oRs, incmodel));
{
var data2 = api2.sql2jsonfields(params, oRs, incmodel)
if (model.includes[incname].isdetailfor)
{
for (detail in data2)
{
record[model.includes[incname].isdetailfor][detail] = data2[detail];
}
delete record[incname]; // niet meer nodig
}
else
{
record[incname].push(data2);
}
}
}
else if (model.includes[incname].func) // include via callback functie zoals reservablerooms/occupation
{

View File

@@ -73,6 +73,7 @@ var api2_mapper = {
"objectproperties" : { "filename": "appl/mgt/ins_kenmerk.asp" },
"recurringtasks" : { "filename": "appl/mgt/ins_srtcontrole.asp" },
"objectgroups" : { "filename": "appl/mgt/ins_srtgroep.asp" },
"objecttypes" : { "filename": "appl/mgt/ins_srtdeel.asp" },
"objectpropertytypes" : { "filename": "appl/mgt/ins_srtkenmerk.asp" },
"alldisciplines" : { "filename": "appl/mgt/ins_tab_discipline.asp" },
"kpidefinitions" : { "filename": "appl/mgt/kpi_definitie.asp", "module": "KPI" },
@@ -88,6 +89,7 @@ var api2_mapper = {
"disciplinetypes" : { "filename": "appl/mgt/mld_srtdiscipline.asp" },
"issuepropertytypes" : { "filename": "appl/mgt/mld_srtkenmerk.asp" },
"callgroups" : { "filename": "appl/mgt/mld_stdmeldinggroep.asp" },
"issuetags" : { "filename": "appl/mgt/mld_melding_tag.asp" },
"issueordertypes" : { "filename": "appl/mgt/mld_typeopdr.asp" },
"daysoff" : { "filename": "appl/mgt/mld_vrije_dagen.asp" },
"workflows" : { "filename": "appl/mgt/mld_workflow.asp" },
@@ -145,6 +147,7 @@ var api2_mapper = {
"reportsx" : { "filename": "appl/api2/api_reportsx.asp", "module": "FAC" },
"reports" : { "filename": "appl/api2/api_reports.asp", "module": "FAC", "nodoc": true },
"invoices" : { "filename": "appl/api2/api_invoices.asp", "module": "FIN" },
"invoicelines" : { "filename": "appl/api2/api_invoicelines.asp", "module": "FIN" },
"objects" : { "filename": "appl/api2/api_objects.asp", "module": "INS" },
"inspections" : { "filename": "appl/api2/api_ins_deelsrtcontrole.asp", "module": "INS" },
"statehistory" : { "filename": "appl/mgt/ins_deel_state_history.asp", "module": "INS" },
@@ -156,8 +159,13 @@ var api2_mapper = {
"purchaseorder" : { "filename": "appl/api2/api_purchaseorder.asp", "module": "BES" },
"purchaseorderitem" : { "filename": "appl/api2/api_purchaseorderitem.asp", "module": "BES" },
"messages" : { "filename": "appl/mgt/msg_message.asp", "module": "MSG" },
"generictables" : { "filename": "appl/mgt/mgt_generic.asp", "hidden": true },
"genericselect" : { "filename": "appl/mgt/mgt_generic_select.asp", "hidden": true },
"fclttasks" : { "filename": "appl/mgt/fac_task.asp", "hidden": true },
"notifications" : { "filename": "appl/mgt/fac_notificatie.asp", "hidden": true },
"bestpractices" : { "filename": "appl/mgt/fac_bestpractices.asp", "hidden": true },
"systemtables" : { "filename": "appl/mgt/user_tables.asp", "hidden": true },
"workflowexpressions" : { "filename": "appl/mgt/mld_workflow_expression.asp", "hidden": true } // dit is geen model

View File

@@ -13,6 +13,92 @@
*/
%>
<%
function buildKenmerkRoleCodeLOV(params)
{
var kenmerkRoleCodeLOV = "";
switch (params.module)
{
case "ALG":
kenmerkRoleCodeLOV = "3;"+ L("mgt_kenmerkrolcodealg_3") + ";" // alles
+ "2;"+ L("mgt_kenmerkrolcodealg_2") + ";" // ALGUSE
+ "1;"+ L("mgt_kenmerkrolcodealg_1"); // ALGMAN
break;
case "BES":
kenmerkRoleCodeLOV = "5;"+ L("mgt_kenmerkrolcodebes_5") + ";" // alles
+ "4;"+ L("mgt_kenmerkrolcodebes_4") + ";" // ORDSUP
+ "1;"+ L("mgt_kenmerkrolcodebes_1"); // BES*
break;
case "BESI":
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodebes_1"); // geen onderscheid in regels
break;
case "BEZ":
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodebez_7") + ";" // alles
+ "4;"+ L("mgt_kenmerkrolcodebez_4") + ";" // BEZBOF only
+ "2;"+ L("mgt_kenmerkrolcodebez_2") + ";" // BEZFOF only
+ "3;"+ L("mgt_kenmerkrolcodebez_3"); // BEZFOF/BEZUSE only
break;
case "CNT":
kenmerkRoleCodeLOV = "3;"+ L("mgt_kenmerkrolcodecnt_3") + ";" // alles
+ "2;"+ L("mgt_kenmerkrolcodecnt_2") + ";" // CNTUSE
+ "1;"+ L("mgt_kenmerkrolcodecnt_1"); // CNTMAN
break;
case "CTR":
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodectr_1"); // alles (geen onderscheid)
break;
case "FAQ":
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodefaq_1"); // alles (geen onderscheid)
break;
case "FIN":
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodefin_1"); // alles (geen onderscheid)
break;
case "INS":
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodeins_7") + ";" // alles
+ "4;"+ L("mgt_kenmerkrolcodeins_4") + ";" // INSFOF (uitlenen)
+ "2;"+ L("mgt_kenmerkrolcodeins_2") + ";" // INSUSE
+ "1;"+ L("mgt_kenmerkrolcodeins_1"); // INSMAN
break;
case "MLD":
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodemld_7") + ";" // alles
+ "6;"+ L("mgt_kenmerkrolcodemld_6") + ";" // MLDBOF+MLDFOF
+ "3;"+ L("mgt_kenmerkrolcodemld_3") + ";" // MLDUSE+MLDBOF
+ "4;"+ L("mgt_kenmerkrolcodemld_4") + ";" // MLDBOF
+ "2;"+ L("mgt_kenmerkrolcodemld_2"); // MLDFOF
break;
case "OPD":
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodeopd_7") + ";" // alles
+ "5;"+ L("mgt_kenmerkrolcodeopd_5") + ";"
+ "4;"+ L("mgt_kenmerkrolcodeopd_4") + ";" // ORDSUPonly
+ "3;"+ L("mgt_kenmerkrolcodeopd_3") + ";" // beide
+ "2;"+ L("mgt_kenmerkrolcodeopd_2") + ";" // Afmelden? opdrachtnemer
+ "1;"+ L("mgt_kenmerkrolcodeopd_1"); // ORDBOF opdrachtgever
break;
case "PRS":
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodeprs_7") + ";" // alles
+ "6;"+ L("mgt_kenmerkrolcodeprs_6") + ";" // PRSUSE+PROFIL
+ "3;"+ L("mgt_kenmerkrolcodeprs_3") + ";" // PRSMAN+PRSUSE
+ "2;"+ L("mgt_kenmerkrolcodeprs_2") + ";" // PRSUSE
+ "1;"+ L("mgt_kenmerkrolcodeprs_1"); // PRSMAN
break;
case "REL":
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcoderel_7") + ";" // alles
+ "6;"+ L("mgt_kenmerkrolcoderel_6") + ";" // RELUSE+EXTREL
+ "3;"+ L("mgt_kenmerkrolcoderel_3") + ";" // RELMAN+RELUSE
+ "2;"+ L("mgt_kenmerkrolcoderel_2") + ";" // RELUSE
+ "1;"+ L("mgt_kenmerkrolcoderel_1"); // RELMAN
break;
case "RES": // dit lijkt technisch een grappige volgorde, maar is logischer
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcoderes_7") + ";" // iedereen
+ "4;"+ L("mgt_kenmerkrolcoderes_4") + ";" // RESBOF only, afhandelkenmerken
+ "2;"+ L("mgt_kenmerkrolcoderes_2") + ";" // RESFOF ony, professionele kenmerken
+ "3;"+ L("mgt_kenmerkrolcoderes_3"); // RESFOF+RESUSE (d.i. geen RESBOF)
//+ "1;"+ L("mgt_kenmerkrolcoderes_1"); // RESUSE, algemene kenmerken
break;
default:
kenmerkRoleCodeLOV = "?";
}
return kenmerkRoleCodeLOV;
}
function buildKenmerktypeLOV(kenmerktype, params)
{
var kenmerktypeLOV = "";
@@ -59,13 +145,13 @@
break;
case "L":
kenmerktypeLOV = "L;" + L("mgt_srtkenmerk_label") + ";"
+ "l;" + L("mgt_srtkenmerk_label_i") + ";"
+ (params && params.module == "MLD"? "b;" + L("mgt_srtkenmerk_label_ii") : "")
+ "l;" + L("mgt_srtkenmerk_label_i")
+ (params && params.module == "MLD"? ";b;" + L("mgt_srtkenmerk_label_ii") : "")
break;
case "l":
kenmerktypeLOV = "l;" + L("mgt_srtkenmerk_label_i") + ";"
+ "L;" + L("mgt_srtkenmerk_label") + ";"
+ (params && params.module == "MLD"? "b;" + L("mgt_srtkenmerk_label_ii") : "")
+ "L;" + L("mgt_srtkenmerk_label")
+ (params && params.module == "MLD"? ";b;" + L("mgt_srtkenmerk_label_ii") : "")
break;
case "b":
kenmerktypeLOV = "b;" + L("mgt_srtkenmerk_label_ii") + ";"
@@ -113,7 +199,7 @@
function buildGroepsverplichtingList()
{ // LOV waarden voor xxx_kenmerk_groep.
var s = "0;<" + L("lcl_none") + ">";
var s = "0;" + L("mgt_kenmerk_groep0") ;
for (var i=1; i<=9; i++)
{
s = s + ";" + i + ";" + L("mgt_kenmerk_groep") + " " + i;
@@ -351,9 +437,9 @@ function buildStatusList(pniveau)
function buildHltPropList()
{
var hltPropList = "0;" + L("lcl_No")
+ ";1;" + L("lcl_Yes")
+ ";2;" + L("lcl_mld_delete_on_resume");
var hltPropList = "0;" + L("mld_kenmerk_onderbreken0")
+ ";1;" + L("mld_kenmerk_onderbreken1")
+ ";2;" + L("mld_kenmerk_onderbreken2");
return hltPropList;
}

View File

@@ -0,0 +1,26 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_invoicelines.asp
Description: Bestelling API
Parameters:
Context:
Notes: We ondersteunen alleen (nog) het opvragen van de bestelling
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api2/api_invoicelines.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2_rest.inc" -->
<!-- #include file="./model_invoicelines.inc" -->
<%
api2_rest.process(model_invoicelines);
%>
<% ASPPAGE_END(); %>

View File

@@ -13,7 +13,7 @@
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_invoices.asp";
THIS_FILE = "appl/api2/api_invoices.asp";
%>
<!-- #include file="../Shared/common.inc" -->
@@ -21,4 +21,4 @@
<!-- #include file="./model_invoices.inc" -->
<%
api2_rest.process(model_invoices);
%><% ASPPAGE_END(); %>
%><% ASPPAGE_END(); %>

View File

@@ -20,5 +20,7 @@
<!-- #include file="./api2_rest.inc" -->
<!-- #include file="./model_objects.inc" -->
<%
var mode = "xxxx"; // mode must be defined because of use in model_ins_kenmerk.inc
api2_rest.process(model_objects);
%><% ASPPAGE_END(); %>

View File

@@ -20,6 +20,8 @@
<!-- #include file="./api2_rest.inc" -->
<!-- #include file="./model_reservations.inc" -->
<%
var mode = "xxxx"; // mode must be defined because of use in model_res_kenmerk.inc
api2_rest.process(model_reservations);
ASPPAGE_END();

View File

@@ -26,8 +26,8 @@ function model_alg_kenmerk(niveau, params)
this.module = "ALG";
// overrule titel voor schermen.
this.record_title = L("mgt_kenmerk") + " " + get_real_estate_name(niveau);
this.records_title = L("mgt_kenmerk_m") + " " + get_real_estate_name(niveau);
this.record_title = L("mgt_kenmerk_of") + " " + get_real_estate_name(niveau);
this.records_title = L("mgt_kenmerk_m_of") + " " + get_real_estate_name(niveau);
this.fields = {
@@ -50,7 +50,16 @@ function model_alg_kenmerk(niveau, params)
"dbs": "alg_kenmerk_volgnr",
"label": L("mgt_kenmerk_volgnummer"),
"typ": "number",
"required": true
"len": 3,
"required": true // deze zou er straks weer af mogen
},
"rolecode": {
"dbs": "alg_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: "ALG" }),
"required": true,
"multiedit": true
},
"name": {
"dbs": "alg_kenmerk_omschrijving",
@@ -86,6 +95,7 @@ function model_alg_kenmerk(niveau, params)
"label": L("mgt_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList(),
"emptyisrealvalue": true,
"emptyoption": null
},
"group": {
@@ -104,7 +114,8 @@ function model_alg_kenmerk(niveau, params)
"system": {
"dbs": "alg_kenmerk_systeem",
"label": L("mgt_srtkenmerk_systeem"),
"typ": "check"
"typ": "check",
"readonly": !user.has("WEB_PRSSYS")
},
"inlist": {
"dbs": "alg_kenmerk_inlijst",
@@ -114,12 +125,14 @@ function model_alg_kenmerk(niveau, params)
{
"name": "",
"label": "",
"showasgroup": false,
"typ": "check",
"mask": 1,
"radios": [
{
"name": "inplan",
"label": (niveau == "G"? L("mgt_kenmerk_systeem_overview_bui") : ""),
//"label": (niveau == "G"? L("mgt_kenmerk_systeem_overview_bui") + " " : "") + L("mgt_kenmerk_systeem_overview"),
"label": L("mgt_kenmerk_systeem_overview"),
"mask": 1,
"defaultvalue": 0
}
@@ -173,9 +186,9 @@ function model_alg_kenmerk(niveau, params)
},
"code": {
"dbs": "alg_kenmerk_code",
"label": L("lcl_alg_code"),
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
"readonly": !user.has("WEB_PRSSYS")
},
"authorization": {
"dbs": "fac_functie_key",
@@ -204,7 +217,7 @@ function model_alg_kenmerk(niveau, params)
gparams.GET = { wheres: [ "alg_kenmerk.alg_kenmerk_niveau = " + safe.quoted_sql(niveau) ] };
}
if (niveau == "G")
if (niveau == "G") // en dan ook nog alleen als je MJOB hebt/gebruikt lijkt me TODO?
{
this.fields.inlist.bits[0].mask = 3;
this.fields.inlist.bits[0].radios.push({ "name": "start",
@@ -224,6 +237,7 @@ function model_alg_kenmerk(niveau, params)
var naam = "";
switch (niveau)
{
case "E": naam = L("lcl_region"); break;
case "D": naam = L("lcl_district"); break;
case "L": naam = L("lcl_location"); break;
case "T": naam = L("lcl_terra"); break;
@@ -236,7 +250,8 @@ function model_alg_kenmerk(niveau, params)
function fill_real_estate_level_LOV()
{
return "D;"+L("lcl_district")
return "E;"+L("lcl_region")
+ ";D;"+L("lcl_district")
+ ";L;"+L("lcl_location")
+ ";G;"+L("lcl_building")
+ ";R;"+L("lcl_room"); // Moet hier T en V ook nog bij?

View File

@@ -61,6 +61,7 @@ function model_aut_idp_map(params)
+ ";11;" + L("lcl_prs_person_mobile")
+ ";12;" + L("prs_perslid_externid")
+ ";13;" + L("prs_perslid_externid") + " (case insensitive)"
+ ";14;" + L("lcl_prs_person_nr")
// De foreign's
+ ";20;" + L("lcl_prs_person_function")

View File

@@ -315,6 +315,12 @@ model_bes_disc_params =
"dbs": "bes_disc_params_deliver_fe",
"label": L("bes_discipline_fe_deliver"),
"typ": "check0"
},
"autodeliver": {
"dbs": "bes_disc_params_autodeliverdays",
"label": L("bes_discipline_autodeliverdays"),
"typ": "number",
"len": 4
}
}
}

View File

@@ -30,11 +30,6 @@ function model_bes_discipline(disc_key, params)
}
);
this.hook_pre_edit = function (obj, fld, params)
{
fld.costtype.foreign = mgt.pre_edit_kostensoort(obj);
}
this.hook_post_post = function (params, obj, key)
{
var org_disc_key = getQParamInt("id", -1);
@@ -43,6 +38,11 @@ function model_bes_discipline(disc_key, params)
{ // Ook de autorisatie van de oude discipline kopieren
mgt.clone_authorization(key, org_disc_key);
}
var clone_art = getQParamInt("clone_art", 0) == 1;
if (clone_art)
{ // Ook de autorisatie van de oude discipline kopieren
mgt.clone_articles(key, org_disc_key);
}
}
this.REST_POST = generic_REST_POST(_model_bes_discipline);
@@ -91,7 +91,6 @@ _model_bes_discipline = // Internal only
"label": L("prs_kostensoort_key"),
"typ": "key",
"foreign": "prs_kostensoort",
"LOVinit": "",
"showtransit": true
},
"costcentremandatory": {

View File

@@ -4,7 +4,7 @@
File: model_bes_kenmerk.inc
Description: Model voor bes_kenmerk
Description: Model voor bes_kenmerk = Kenmerken van bestelregels
Context:
@@ -56,12 +56,16 @@ function model_bes_kenmerk(params)
"foreign": {
"tbl": "(SELECT bes_srtkenmerk_key"
+ " , bes_srtkenmerk_omschrijving"
+ (mode != "list"
? " || ' (' || bes_srtkenmerk_kenmerktype || ')'"
: "")
+ " oms"
+ " , bes_srtkenmerk_kenmerktype"
+ " FROM bes_srtkenmerk"
+ " WHERE bes_srtkenmerk_verwijder IS NULL"
+ " ORDER by bes_srtkenmerk_omschrijving ASC)",
"key": "bes_srtkenmerk_key",
"desc": "bes_srtkenmerk_omschrijving",
"desc": "oms",
"extravalue": "bes_srtkenmerk_kenmerktype"
},
"defaultvalue": null,
@@ -131,6 +135,14 @@ function model_bes_kenmerk(params)
"dbs": "bes_kenmerk_volgnummer",
"label": L("mgt_kenmerk_volgnummer"),
"typ": "number",
"len": 3,
"required": true
},
"rolecode": {
"dbs": "bes_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: "BESI" }),
"required": true
},
"required": {
@@ -138,6 +150,7 @@ function model_bes_kenmerk(params)
"label": L("mgt_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList(),
"emptyisrealvalue": true,
"emptyoption": null
},
"group": {
@@ -161,6 +174,7 @@ function model_bes_kenmerk(params)
{
"name": "",
"label": "",
"showasgroup": false,
"typ": "check",
"mask": 3,
"radios": [
@@ -208,9 +222,9 @@ function model_bes_kenmerk(params)
},
"code": {
"dbs": "bes_kenmerk_code",
"label": L("lcl_bes_code"),
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
"readonly": !user.has("WEB_PRSSYS")
},
"authorization": {
"dbs": "fac_functie_key",

View File

@@ -4,11 +4,8 @@
File: model_bes_kenmerkbestel.inc
Description: Vanuit CodeCharge gegenereerd model voor bes_kenmerkbestel
Description: Model voor bes_kenmerkbestel = Kenmerken van bestelling
Context:
Notes:
*/
%>
<%
@@ -58,12 +55,16 @@ function model_bes_kenmerkbestel()
"foreign": {
"tbl": "(select bes_srtkenmerk_key"
+ " , bes_srtkenmerk_omschrijving"
+ (mode != "list"
? " || ' (' || bes_srtkenmerk_kenmerktype || ')'"
: "")
+ " oms"
+ " , bes_srtkenmerk_kenmerktype"
+ " from bes_srtkenmerk"
+ " where bes_srtkenmerk_verwijder is null"
+ " order by bes_srtkenmerk_omschrijving asc)",
"key": "bes_srtkenmerk_key",
"desc": "bes_srtkenmerk_omschrijving",
"desc": "oms",
"extravalue": "bes_srtkenmerk_kenmerktype"
},
"defaultvalue": null,
@@ -96,6 +97,14 @@ function model_bes_kenmerkbestel()
"dbs": "bes_kenmerk_volgnummer",
"label": L("mgt_kenmerk_volgnummer"),
"typ": "number",
"len": 3,
"required": true
},
"rolecode": {
"dbs": "bes_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: "BES" }),
"required": true
},
"required": {
@@ -126,6 +135,7 @@ function model_bes_kenmerkbestel()
{
"name": "",
"label": "",
"showasgroup": false,
"typ": "check",
"mask": 7,
"radios": [
@@ -170,7 +180,19 @@ function model_bes_kenmerkbestel()
"typ": "memo",
"translate": true
},
"regexp": {
"code": {
"dbs": "bes_kenmerk_code",
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_PRSSYS")
},
"authorization": { // wordt nog niet ondersteund in deze module
"dbs": "fac_functie_key",
"label": L("mgt_kenmerk_autorisatie"),
"typ": "key",
"foreign": "fac_functie"
},
"regexp": {
"dbs": "bes_kenmerk_regexp",
"label": L("mgt_kenmerk_regexp"),
"typ": "varchar"

View File

@@ -259,6 +259,7 @@ function model_bes_srtdeel(disc_key)
"orderbys": [
"ins_discipline_omschrijving",
"bes_srtgroep_omschrijving",
"bes_srtdeel_volgnr",
"bes_srtdeel_nr"
]
}

View File

@@ -134,8 +134,8 @@ function model_bes_srtkenmerk(params)
"code": {
"dbs": "bes_srtkenmerk_code",
"typ": "varchar",
"label": L("lcl_bes_code"),
"readonly": !user.has("WEB_FACTAB")
"label": L("mgt_srtkenmerk_code"),
"readonly": !user.has("WEB_PRSSYS")
}
};

View File

@@ -38,6 +38,7 @@ function model_bez_kenmerk(params)
"dbs": "bez_kenmerk_volgnr",
"label": L("mgt_kenmerk_volgnummer"),
"typ": "number",
"len": 3,
"required": true
},
"name": {
@@ -72,6 +73,7 @@ function model_bez_kenmerk(params)
"label": L("mgt_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList(),
"emptyisrealvalue": true,
"emptyoption": null
},
"group": {
@@ -82,6 +84,13 @@ function model_bez_kenmerk(params)
"LOV": buildGroepsverplichtingList(),
"emptyoption": null
},
"rolecode": {
"dbs": "bez_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: "BEZ" }),
"required": true
},
"readonly": {
"dbs": "bez_kenmerk_toonbaar",
"label": L("mgt_kenmerk_toonbaar"),
@@ -95,6 +104,7 @@ function model_bez_kenmerk(params)
{
"name": "",
"label": "",
"showasgroup": false,
"typ": "check",
"mask": 15,
"radios": [
@@ -175,9 +185,9 @@ function model_bez_kenmerk(params)
},
"code": {
"dbs": "bez_kenmerk_code",
"label": L("lcl_bez_code"),
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
"readonly": !user.has("WEB_PRSSYS")
},
"authorization": {
"dbs": "fac_functie_key",

View File

@@ -12,6 +12,7 @@
*/
%>
<!-- #include file="../alg/alg.inc"-->
<!-- #include file="../Shared/discxalg3d.inc"-->
<!-- #include file="./model_custom_fields.inc"-->
<!-- #include file="./model_alg_kenmerk.inc"-->
@@ -64,9 +65,14 @@ function model_buildings()
this.REST_GET = function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
var autfunction = ["WEB_ALGUSE","WEB_ALGMAN"];
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
if (params.filter.id)
{
var bld_key = params.filter.id;
var this_alg = alg.func_enabled(bld_key, "G");
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
}
// TODO: Add authorization
var query = api2.sqlfields(params, this);

View File

@@ -65,7 +65,7 @@ function model_cad_tekening(niveau, params)
// Save in DB (link file to floor)
var cadfields = [
{ dbs: "cad_tekening_filenaam", typ: "varchar", val: safefilename.replace(/.dwf$/i, "") }
{ dbs: "cad_tekening_filenaam", typ: "varchar", val: safefilename.replace(/\.dwf$/i, "") }
];
var sql = buildUpdate("cad_tekening", cadfields, { noValidateToken: true }) + " cad_tekening_key = " + the_key;
Oracle.Execute(sql);
@@ -116,7 +116,7 @@ function model_cad_tekening(niveau, params)
// Save in DB (link file to floor)
var cadfields = [
{ dbs: "cad_tekening_key", typ: "key", seq: "cad_s_cad_tekening_key" },
{ dbs: "cad_tekening_filenaam", typ: "varchar", val: safefilename.replace(/.dwf$/i, "") },
{ dbs: "cad_tekening_filenaam", typ: "varchar", val: safefilename.replace(/\.dwf$/i, "") },
{ dbs: "alg_locatie_key", typ: "key", val: getLocation(jsondata.floor) },
{ dbs: "alg_verdieping_key", typ: "key", val: jsondata.floor },
{ dbs: "cad_tekening_type", typ: "varchar", val: "P" }

View File

@@ -66,7 +66,6 @@ function model_cht_discipline(disc_key, params)
"label": L("prs_kostensoort_key"),
"typ": "key",
"foreign": "prs_kostensoort",
"LOVinit": "",
"multiedit": true,
"showtransit": true
},

View File

@@ -144,6 +144,18 @@ model_cnt_disc_params =
"label": L("cnt_discipline_verlengbaar"),
"typ": "check0",
"defaultvalue": 0
},
"costtypemandatory": {
"dbs": "cnt_disc_params_ksverplicht",
"label": L("cnt_discipline_ksverplicht"),
"typ": "check0",
"defaultvalue": 0
},
"approvenew": {
"dbs": "cnt_disc_params_approve_new",
"label": L("cnt_discipline_approve_new"),
"typ": "check0",
"defaultvalue": 0
}
/* // Voor als in cnt_disc_params_opties meerdere bits worden gebruikt om verschillende opties aan te geven:
"options": {

View File

@@ -20,11 +20,6 @@ function model_cnt_discipline(disc_key, params)
// E<>n model voor de buitenwereld
api2.merge_disc_params_model(this, _model_cnt_discipline);
this.hook_pre_edit = function (obj, fld, params)
{
fld.costtype.foreign = mgt.pre_edit_kostensoort(obj);
}
this.hook_post_post = function (params, obj, key)
{
var org_disc_key = getQParamInt("id", -1);
@@ -88,8 +83,7 @@ _model_cnt_discipline = // Internal only
"dbs": "prs_kostensoort_key",
"label": L("prs_kostensoort_key"),
"typ": "key",
"foreign": "prs_kostensoort",
"LOVinit": ""
"foreign": "prs_kostensoort"
},
"email": {
"dbs": "ins_discipline_email",

View File

@@ -45,12 +45,16 @@ function model_cnt_kenmerk(params)
"foreign": {
"tbl": "(select cnt_srtkenmerk_key"
+ " , cnt_srtkenmerk_omschrijving"
+ (mode != "list"
? " || ' (' || cnt_srtkenmerk_kenmerktype || ')'"
: "")
+ " oms"
+ " , cnt_srtkenmerk_kenmerktype"
+ " from cnt_srtkenmerk"
+ " where cnt_srtkenmerk_verwijder is null"
+ " order by cnt_srtkenmerk_upper asc)",
"key": "cnt_srtkenmerk_key",
"desc": "cnt_srtkenmerk_omschrijving",
"desc": "oms",
"extravalue": "cnt_srtkenmerk_kenmerktype"
},
"defaultvalue": null,
@@ -69,7 +73,8 @@ function model_cnt_kenmerk(params)
"dbs": "cnt_srtkenmerk.cnt_srtkenmerk_kenmerktype",
"label": L("mgt_srtkenmerk_kenmerktype"),
"typ": "varchar",
"hidden_fld": true,
//"hidden_fld": true,
"readonly" : true,
"LOV": buildKenmerktypeLOV(),
"showtransit": true
},
@@ -87,6 +92,7 @@ function model_cnt_kenmerk(params)
"desc": "ins_discipline_omschrijving"
},
"LOVinit": "",
"insertonly" : true,
"showtransit": true
},
"level": {
@@ -101,6 +107,14 @@ function model_cnt_kenmerk(params)
"dbs": "cnt_kenmerk_volgnummer",
"label": L("mgt_kenmerk_volgnummer"),
"typ": "number",
"len": 3,
"required": true
},
"rolecode": {
"dbs": "cnt_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: "CNT" }),
"required": true
},
"required": {
@@ -108,6 +122,7 @@ function model_cnt_kenmerk(params)
"label": L("mgt_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList(),
"emptyisrealvalue": true,
"emptyoption": null
},
"group": {
@@ -153,9 +168,9 @@ function model_cnt_kenmerk(params)
},
"code": {
"dbs": "cnt_kenmerk_code",
"label": L("lcl_cnt_code"),
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
"readonly": !user.has("WEB_PRSSYS")
},
"authorization": {
"dbs": "fac_functie_key",

View File

@@ -92,8 +92,8 @@ function model_cnt_srtkenmerk(params)
"code": {
"dbs": "cnt_srtkenmerk_code",
"typ": "varchar",
"label": L("lcl_cnt_code"),
"readonly": !user.has("WEB_FACTAB")
"label": L("mgt_srtkenmerk_code"),
"readonly": !user.has("WEB_PRSSYS")
}
};

View File

@@ -99,6 +99,17 @@ function model_companies()
this.REST_GET = function _GET(params)
{
var autfunction = "WEB_RELMAN";
var bedrijf_key = (!params.isNew && params && params.filter && params.filter.id ? params.filter.id : -1);
if (bedrijf_key > 0) {
var sql = "SELECT NVL(prs_bedrijf_intern, 0) intern"
+ " FROM prs_bedrijf"
+ " WHERE prs_bedrijf_key = " + bedrijf_key;
var oRs = Oracle.Execute(sql);
if (!oRs.EOF && oRs("intern").Value != 0) { // Extern systeem
autfunction = "WEB_PRSMAN";
}
oRs.Close();
}
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization

View File

@@ -42,6 +42,8 @@ function model_custom_fields(formodel, flexModel, flexParams)
var sqlModule = flexModule;
if (flexModule == 'MLD' && flexParams.pNiveau == 'O')
sqlModule = 'OPDR';
if (flexModule == 'FIN' && flexParams.pNiveau == 'R')
sqlModule = 'FINR';
var theSqlFlex = getSqlFlex(sqlModule, formodel.primary, flexParams);
// enigszins undocumented maar met parameter '&custom_fields=' kun je het aantal opgeleverde velden beperken
// (net zoals je met '&fields=' de gewone vaste velden kunt beperken)
@@ -56,6 +58,8 @@ function model_custom_fields(formodel, flexModel, flexParams)
var sqlModule = flexModule;
if (flexModule == 'MLD' && flexParams.pNiveau == 'O')
sqlModule = 'OPDR';
if (flexModule == 'FIN' && flexParams.pNiveau == 'R')
sqlModule = 'FINR';
var theSqlFlex = "SELECT * FROM ({0}) ".format(getSqlFlex(sqlModule, formodel.primary, flexParams));
return theSqlFlex;
@@ -84,6 +88,7 @@ function model_custom_fields(formodel, flexModel, flexParams)
"sequence": {
"dbs": "volgnummer",
"label": L("mgt_kenmerk_volgnummer"),
"len": 3,
"typ": "number" },
"label": {
"dbs": "omschrijving",
@@ -279,10 +284,15 @@ function model_custom_fields(formodel, flexModel, flexParams)
if (typ != "M" && parent_key > 0)
{
var sql = "BEGIN flx.setflex({0}".format(this.module == "MLD" && flexParams.pNiveau == "O" ? "'OPD'" : safe.quoted_sql(this.module))
var setFlexModule = this.module;
if (this.module == 'MLD' && flexParams.pNiveau == 'O')
setFlexModule = 'OPD';
if (this.module == 'FIN' && flexParams.pNiveau == 'R')
setFlexModule = 'FINR';
var sql = "BEGIN flx.setflex({0}".format(safe.quoted_sql(setFlexModule))
+ " , {0}".format(the_key) // == jsondata.propertyid
+ " , {0}".format(parent_key)
+ " , {0}".format(this.module == "MLD" ? "NULL" : safe.quoted_sql(flexParams.pNiveau))
+ " , {0}".format(this.module == "MLD" || this.module == "FIN"? "NULL" : safe.quoted_sql(flexParams.pNiveau))
+ " , {0});".format(safe.quoted_sql(jsondata.value))
+ "END;"
var err = Oracle.Execute(sql, true);

View File

@@ -19,7 +19,7 @@ function model_fac_email_setting()
this.record_name = "emailsetting";
this.table = "fac_email_setting";
this.primary = "fac_email_setting_key";
this.autfunction = "WEB_FACTAB";
this.autfunction = "WEB_MLDMGT"; // de ernstige velden zijn blijven WEB_FACTAB
this.record_title = L("fac_email_setting");
this.records_title = L("fac_email_setting_m");
@@ -36,7 +36,7 @@ function model_fac_email_setting()
"dbs": "fac_email_setting_volgnr",
"label": L("fac_email_setting_volgnr"),
"typ": "number",
"required": true
"required": true // de database zorgt voor defaultvalue 10
},
"name": {
"dbs": "fac_email_setting_user",
@@ -50,19 +50,34 @@ function model_fac_email_setting()
"typ": "varchar",
"multiedit": true
},
"reqtext": {
"dbs": "fac_email_setting_text",
"label": L("fac_email_setting_text"),
"typ": "varchar",
"multiedit": true
},
"frommode": {
"dbs": "fac_email_setting_frommode",
"label": L("fac_email_setting_frommode"),
"typ": "number",
"required": true,
"LOV": L("fac_email_setting_frommodeLOV"),
"multiedit": true
"emptyoption": null,
"readonly": !(user.has("WEB_FACTAB"))
},
"action": {
"dbs": "fac_email_setting_action",
"label": L("fac_email_setting_action"),
"typ": "varchar",
"multiedit": true
"defaultvalue" : "fac.processemail",
"multiedit": true,
"readonly": !(user.has("WEB_FACTAB"))
},
"stdmelding": {
"dbs": "mld_stdmelding_key",
"label": L("fac_email_setting_stdmelding_key"),
"typ": "key",
"foreign": "mld_stdmelding"
},
"expire": {
"dbs": "fac_email_setting_expire",
@@ -74,12 +89,15 @@ function model_fac_email_setting()
"dbs": "fac_email_setting_attachpath",
"label": L("fac_email_setting_attachpath"),
"typ": "varchar",
"multiedit": true
"multiedit": true,
"placeholder": "*flexfilespath",
"readonly": !(user.has("WEB_FACTAB"))
},
"attachext": {
"dbs": "fac_email_setting_attachext",
"label": L("fac_email_setting_attachext"),
"typ": "varchar",
"placeholder": S("flexAllowedExt"),
"multiedit": true
},
"reqattachext": {
@@ -100,7 +118,8 @@ function model_fac_email_setting()
"typ": "number",
"required": true,
"defaultvalue": 0,
"multiedit": true
"multiedit": true,
"readonly": !(user.has("WEB_FACTAB"))
},
"person": {
"dbs": "prs_perslid_key_auth",

View File

@@ -27,8 +27,8 @@ function model_fac_faq()
this.table = "fac_faq";
this.primary = "fac_faq_key";
this.records_name = "faqs";
this.record_name = "faq";
this.records_name = "knowledgebase";
this.record_name = "knowledgebase";
this.record_title = L("fac_faq");
this.records_title = L("fac_faq_m");
this.module = "FAQ";
@@ -162,7 +162,6 @@ function model_fac_faq()
tables: [],
wheres: [
where_auth, where_lang,
"ROWNUM < " + S("faq_max_results"),
"fac_faq.fac_faq_datum < SYSDATE"
],
orderbys: [

View File

@@ -171,6 +171,24 @@ function model_fac_gebruikersgroep(params)
this.hook_pre_edit = function(obj, fld)
{
var prs_arr = getQParamIntArray("prsarr", []);
if (prs_arr.length > 0)
{ // multiedit mode
// Sluit de groepen die alle gebruikers overeenkomstig hebben uit van de lijst.
// Als er maar 1 gebruiker geselecteerd is dan wordt de standaard where-clause gebruikt
// die wordt gegenereerd obv "field.uniquewith" in scaffolding_edit.inc.
prs_arr.push(obj.person.id);
fld.authorizationgroup.foreign.where = "fac_groep_key NOT IN"
+ "(SELECT fac_groep_key"
+ " FROM (SELECT fac_groep_key, COUNT(prs_perslid_key)"
+ " FROM fac_gebruikersgroep"
+ " WHERE prs_perslid_key IN (" + prs_arr.join(",") + ")"
+ " GROUP BY fac_groep_key"
+ " HAVING COUNT(prs_perslid_key) = " + prs_arr.length
+ " )"
+ ")";
}
if (obj.id > 0) { // Bestaand record
fld.authorizationgroup.readonly = true;
fld.person.readonly = true;

View File

@@ -56,7 +56,10 @@ function model_fac_groep(groep_key, params)
"substitutes": {
"dbs": "fac_groep_collega",
"label": L("lcl_prs_substitutes"),
"typ": "check0"
"typ": "key",
"LOV": L("lcl_prs_substitutesLOV"),
"defaultvalue": "0",
"emptyoption": null
},
"externalid": {
"dbs": "fac_groep_externid",
@@ -69,7 +72,7 @@ function model_fac_groep(groep_key, params)
"label": L("fac_groep_nn_leden"),
"typ": "number"
},
"created": {
"created": {
"dbs": "fac_groep_aanmaak",
"label": "Aanmaakdatum",
"typ": "datetime",

View File

@@ -18,8 +18,10 @@ function model_fac_nieuws_groep()
this.table = "fac_nieuws_groep";
this.primary = "fac_nieuws_groep_key";
this.autfunction = "WEB_MSGBOF";
this.record_name = L("fac_nieuws_groep");
this.records_name = L("fac_nieuws_groep_m");
this.record_name = "messagecategory";
this.records_name = "messagecategories";
this.record_title = L("fac_nieuws_groep");
this.records_title = L("fac_nieuws_groep_m");
this.fields = {
"id": {
"dbs": "fac_nieuws_groep_key",

View File

@@ -108,11 +108,13 @@ function model_fac_notificatie_job(params) // J voor Jobs, S voor Scheduled mail
"label": L("fac_notificatie_job_interval"),
"typ": "number"
},
/* Alleen sensor updates wat nooit is uitgekristalliseerd
"seconds": {
"dbs": "fac_notificatie_job_seconds",
"label": L("fac_notificatie_job_seconds"),
"typ": "number"
},
*/
"lastrun": {
"dbs": "fac_notificatie_job_lastrun",
"label": L("fac_notificatie_job_lastrun"),
@@ -124,12 +126,14 @@ function model_fac_notificatie_job(params) // J voor Jobs, S voor Scheduled mail
"label": L("fac_notificatie_job_nextrun"),
"typ": "datetime"
},
/* Alleen sensor updates wat nooit is uitgekristalliseerd
"queueid": {
"dbs": "fac_notificatie_job_queue",
"label": L("fac_notificatie_job_queue"),
"typ": "varchar",
"defaultvalue": "DEFAULT"
},
*/
"fac_usrrap_key": {
dbs: "fac_usrrap_key",
typ: "key",
@@ -176,7 +180,7 @@ function model_fac_notificatie_job(params) // J voor Jobs, S voor Scheduled mail
wheres: ["fac_notificatie_job_view IS NOT NULL"]
}
};
if (user.has("WEB_PRSSYS"))
{
this.REST_POST = generic_REST_POST(this);

View File

@@ -11,8 +11,8 @@
Notes:
*/
%>
<!-- #include file="../api2/model_prs_bedrijfadres_srtnoti.inc" -->
<%
function model_fac_srtnotificatie(cust)
{
this.records_name = "notificationtypes";
@@ -201,6 +201,16 @@ function model_fac_srtnotificatie(cust)
}
};
this.includes = {
"srtnotifications": {
"model": new model_prs_bedrijfadres_srtnoti(),
"joinfield": "srtnotification"
}
};
delete this.includes["srtnotifications"].model["REST_POST"];
delete this.includes["srtnotifications"].model["REST_PUT"];
delete this.includes["srtnotifications"].model["REST_DELETE"];
if (!S("puo_smsaccount"))
this.fields.notificationmode.bits[0].radios.splice(2, 1);

View File

@@ -33,7 +33,7 @@ function model_faq_kenmerk(params)
"typ": "key",
"seq": "faq_s_faq_kenmerk_key"
},
"facdiscipline": {
"facdiscipline": { // NULL betekent alle disciplines (denk ik)
"dbs": "faq_discipline_key",
"label": L("faq_discipline_key"),
"typ": "key",
@@ -49,6 +49,7 @@ function model_faq_kenmerk(params)
"dbs": "faq_kenmerk_volgnr",
"label": L("mgt_kenmerk_volgnummer"),
"typ": "number",
"len": 3,
"required": true
},
"name": {
@@ -83,6 +84,7 @@ function model_faq_kenmerk(params)
"label": L("mgt_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList(),
"emptyisrealvalue": true,
"emptyoption": null
},
"group": {
@@ -93,6 +95,13 @@ function model_faq_kenmerk(params)
"LOV": buildGroepsverplichtingList(),
"emptyoption": null
},
"rolecode": {
"dbs": "faq_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: "FAQ" }),
"required": true
},
"readonly": {
"dbs": "faq_kenmerk_toonbaar",
"label": L("mgt_kenmerk_toonbaar"),
@@ -154,9 +163,9 @@ function model_faq_kenmerk(params)
},
"code": {
"dbs": "faq_kenmerk_code",
"label": L("lcl_faq_code"),
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
"readonly": !user.has("WEB_PRSSYS")
},
"authorization": {
"dbs": "fac_functie_key",

View File

@@ -13,7 +13,7 @@
%>
<%
function model_fin_kenmerk(params)
function model_fin_kenmerk(niveau, params)
{
params = params || {};
this.records_name = "invoiceproperties";
@@ -21,9 +21,9 @@ function model_fin_kenmerk(params)
this.table = "fin_kenmerk";
this.primary = "fin_kenmerk_key";
this.soft_delete = "fin_kenmerk_verwijder";
this.autfunction = params.internal?false:"WEB_FINMGT";
this.record_title = L("fin_kenmerk");
this.records_title = L("fin_kenmerk_m");
this.autfunction = params.internal? false : "WEB_FINMGT";
this.record_title = L("fin_kenmerk") + " " + get_fin_type_name(niveau); // dit niveau lijkt niet te werken?
this.records_title = L("fin_kenmerk_m") + " " + get_fin_type_name(niveau);
this.module = "FIN";
this.fields = {
@@ -38,6 +38,7 @@ function model_fin_kenmerk(params)
"dbs": "fin_kenmerk_volgnr",
"label": L("mgt_kenmerk_volgnummer"),
"typ": "number",
"len": 3,
"required": true
},
"name": {
@@ -74,11 +75,19 @@ function model_fin_kenmerk(params)
"LOV": fill_fin_type_LOV(),
"emptyoption": null
},
"rolecode": { // heeft voor deze module nog geen werking
"dbs": "fin_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: "FIN" }),
"required": true
},
"required": {
"dbs": "fin_kenmerk_verplicht",
"label": L("mgt_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList(),
"emptyisrealvalue": true,
"emptyoption": null
},
"group": {
@@ -102,6 +111,7 @@ function model_fin_kenmerk(params)
{
"name": "",
"label": "",
"showasgroup": false,
"typ": "check",
"mask": 15,
"radios": [
@@ -180,9 +190,9 @@ function model_fin_kenmerk(params)
},
"code": {
"dbs": "fin_kenmerk_code",
"label": L("lcl_fin_code"),
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
"readonly": !user.has("WEB_PRSSYS")
},
"authorization": {
"dbs": "fac_functie_key",
@@ -213,6 +223,11 @@ function model_fin_kenmerk(params)
<%
}
var gparams = {"GET": {}};
if (niveau)
{
gparams.GET = { wheres: [ "fin_kenmerk.fin_kenmerk_type = " + safe.quoted_sql(niveau) ] };
}
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);
@@ -224,5 +239,16 @@ function model_fin_kenmerk(params)
return "F;"+L("fin_invoice")
+ ";R;"+L("fin_invoicerows");
}
function get_fin_type_name(niveau)
{
var naam = "";
switch (niveau)
{
case "F": naam = L("fin_invoice"); break;
case "R": naam = L("fin_invoicerows"); break;
}
return naam;
}
}
%>

View File

@@ -12,6 +12,7 @@
*/
%>
<!-- #include file="../alg/alg.inc"-->
<!-- #include file="../Shared/discxalg3d.inc"-->
<!-- #include file="./model_cad_tekening.inc"-->
<!-- #include file="./model_alg_kenmerk.inc"-->
@@ -47,9 +48,14 @@ function model_floors() {
}
};
this.REST_GET = function _GET(params) {
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
var autfunction = ["WEB_ALGUSE", "WEB_ALGMAN"];
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
if (params.filter.id)
{
var flr_key = params.filter.id;
var this_alg = alg.func_enabled(flr_key, "V");
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
}
var query = api2.sqlfields(params, this);
query.wheres.push("alg_verdieping_verwijder IS NULL");

View File

@@ -20,11 +20,6 @@ function model_ins_discipline(disc_key, params)
// E<>n model voor de buitenwereld
api2.merge_disc_params_model(this, _model_ins_discipline);
this.hook_pre_edit = function (obj, fld, params)
{
fld.costtype.foreign = mgt.pre_edit_kostensoort(obj);
}
this.hook_post_post = function (params, obj, key)
{
var org_disc_key = getQParamInt("id", -1);
@@ -88,8 +83,7 @@ _model_ins_discipline = // Internal only
"dbs": "prs_kostensoort_key",
"label": L("prs_kostensoort_key"),
"typ": "key",
"foreign": "prs_kostensoort",
"LOVinit": ""
"foreign": "prs_kostensoort"
},
"colors": {
"dbs": "ins_discipline_color",

View File

@@ -49,12 +49,16 @@ function model_ins_kenmerk(niveau, params)
"foreign": {
"tbl": "(SELECT ins_srtkenmerk_key"
+ " , ins_srtkenmerk_omschrijving"
+ (mode != "list"
? " || ' (' || ins_srtkenmerk_kenmerktype || ')'"
: "")
+ " oms"
+ " , ins_srtkenmerk_kenmerktype"
+ " FROM ins_srtkenmerk"
+ " WHERE ins_srtkenmerk_verwijder IS NULL"
+ " ORDER by ins_srtkenmerk_omschrijving ASC)",
"key": "ins_srtkenmerk_key",
"desc": "ins_srtkenmerk_omschrijving",
"desc": "oms",
"extravalue": "ins_srtkenmerk_kenmerktype"
},
"showtransit": true
@@ -101,6 +105,14 @@ function model_ins_kenmerk(niveau, params)
"showtransit": true,
"infoPointer": { Url: "appl/ins/ins_srtdeel.asp?srtdeel_key=" }
},
// "attributetypehide": { //het datatype van het kenmerksoort, zal-wel gekopieerd van CNT
// "dbs": "ins_srtkenmerk.ins_srtkenmerk_kenmerktype",
// "label": L("mgt_srtkenmerk_kenmerktype"),
// "typ": "varchar",
// "hidden_fld": true,
// "LOV": buildKenmerktypeLOV(),
// "showtransit": true
// },
"level": {
"dbs": "ins_kenmerk_niveau",
"label": L("mgt_kenmerk_niveau"),
@@ -154,13 +166,16 @@ function model_ins_kenmerk(niveau, params)
"dbs": "ins_kenmerk_volgnummer",
"label": L("ins_kenmerk_volgnummer"),
"typ": "number",
"len": 3,
"required": true
},
"required": {
"dbs": "ins_kenmerk_verplicht",
"label": L("ins_kenmerk_verplicht"),
"typ": "key",
"LOV": fill_verplicht_LOV(),
"LOV": buildVerplichtingList(),
"emptyisrealvalue": true,
"emptyoption": null,
"listfunction": function(oRs) {
var val = oRs.Fields("required.name").Value;
if (val === null) {
@@ -168,7 +183,6 @@ function model_ins_kenmerk(niveau, params)
}
return val;
},
"emptyoption": L("lcl_mld_niet_verplicht"),
"multiedit": true
},
"requiredstatus": {
@@ -178,12 +192,19 @@ function model_ins_kenmerk(niveau, params)
"LOV": L("ins_kenmerk_requiredstatusLOV"),
"emptyoption": null
},
"rolecode": {
"dbs": "ins_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: (isTaakKenmerk ? "CTR" : "INS") }),
"required": true
},
"group": {
"dbs": "ins_kenmerk_groep",
"label": L("ins_kenmerk_groep"),
"label": L("mgt_kenmerk_groep"),
"typ": "key",
"required": true,
"LOV": fill_groepsverplichting_LOV(),
"LOV": buildGroepsverplichtingList(),
"defaultvalue": "0",
"multiedit": true
},
@@ -201,17 +222,20 @@ function model_ins_kenmerk(niveau, params)
{
"name": "",
"label": "",
"showasgroup": false,
"typ": "check",
"mask": 3,
"radios": [
{
"name": "inplan",
"label": L("mgt_kenmerk_systeem_overview_obj"),
"name": "listobj",
//"label": L("mgt_kenmerk_systeem_overview_obj") + " " + L("mgt_kenmerk_systeem_overview"),
"label": L("mgt_kenmerk_systeem_overview"),
"mask": 1,
"defaultvalue": 0
},
{
"name": "start",
"name": "listmjob",
//"label": L("mgt_kenmerk_systeem_overview_mjob") + " " + L("mgt_kenmerk_systeem_overview"),
"label": L("mgt_kenmerk_systeem_overview_mjob"),
"mask": 2,
"defaultvalue": 0
@@ -236,11 +260,6 @@ function model_ins_kenmerk(niveau, params)
"emptyoption": null,
"multiedit": true
},
"location": {
"dbs": "ins_kenmerk_locatiekolom",
"label": L("ins_kenmerk_locatiekolom"),
"typ": "varchar"
},
"propertydefault": {
"dbs": "ins_kenmerk_default",
"label": L("mgt_kenmerk_default"),
@@ -265,9 +284,9 @@ function model_ins_kenmerk(niveau, params)
},
"code": {
"dbs": "ins_kenmerk_code",
"label": L("lcl_ins_code"),
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
"readonly": !user.has("WEB_PRSSYS")
},
"authorization": {
"dbs": "fac_functie_key",
@@ -324,6 +343,22 @@ function model_ins_kenmerk(niveau, params)
, "ins_kenmerk.ins_kenmerk_verwijder IS NULL"
]
};
this.fields.inlist.bits = [
{
"name": "",
"label": "",
"typ": "check",
"mask": 1,
"radios": [
{
"name": "listctr",
"label": L("mgt_kenmerk_systeem_overview_ctr"),
"mask": 1,
"defaultvalue": 0
}
]
}
]
}
else
{ //kenmerk_niveau: D | G | S
@@ -338,25 +373,7 @@ function model_ins_kenmerk(niveau, params)
]
};
}
function fill_verplicht_LOV()
{ // Listbox verplicht vullen. Bij het veld is de emptyoption gezet.
// Hierdoor is er altijd een waarde geselecteerd.
return "1;" + L("lcl_mld_altijd_verplicht")
+ ";2;" + L("lcl_mld_groepsverplichting");
}
function fill_groepsverplichting_LOV()
{ // Listbox groepsverplichting vullen.
var groep_array = ["0", "<"+L("lcl_none")+">"];
for (i=1; i<=9; i++)
{
groep_array.push(i)
groep_array.push(L("ins_kenmerk_groep")+" "+i);
}
return groep_array.join(";");
}
this.REST_GET = generic_REST_GET(this, gparams);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);

View File

@@ -31,23 +31,9 @@ function model_ins_srtdeel()
"label": L("lcl_key"),
"typ": "key",
"required": true,
"seq": "ins_s_ins_srtdeel_key",
"seq": "ins_s_ins_srtinst_keys",
"defaultvalue": null
},
"objectdiscipline": {
"dbs": "ins_discipline_key",
"label": L("lcl_discipline"),
"typ": "key",
"foreign": {
"tbl": "ins_v_aanwezigdiscipline",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
},
"LOVinit": "",
"defaultvalue": null,
"showtransit": true,
"onchange": "onChangeDiscipline()"
},
"objectgroup": {
"dbs": "ins_srtgroep_key",
"label": L("lcl_obj_group"),
@@ -56,7 +42,7 @@ function model_ins_srtdeel()
"insertonly": true,
"foreign": {
"tbl": "ins_v_aanwezigsrtgroep",
"key": "inssrtgroep_key",
"key": "ins_srtgroep_key",
"desc": "ins_srtgroep_omschrijving"
},
"LOVinit": "",

View File

@@ -97,8 +97,8 @@ function model_ins_srtkenmerk(params)
"code": {
"dbs": "ins_srtkenmerk_code",
"typ": "varchar",
"label": L("lcl_ins_code"),
"readonly": !user.has("WEB_FACTAB")
"label": L("mgt_srtkenmerk_code"),
"readonly": !user.has("WEB_PRSSYS")
}
};

View File

@@ -79,8 +79,7 @@ function model_ins_tab_discipline(disc_key, params)
"dbs": "prs_kostensoort_key",
"label": L("prs_kostensoort_key"),
"typ": "key",
"foreign": "prs_kostensoort",
"LOVinit": ""
"foreign": "prs_kostensoort"
},
"costcentremandatory": {
"dbs": "ins_discipline_kpnverplicht",

View File

@@ -15,77 +15,105 @@
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<!-- #include file="../fin/fin.inc" -->
<!-- #include file="./model_custom_fields.inc"-->
<!-- #include file="./model_fac_tracking.inc"-->
<!-- #include file="./model_fin_kenmerk.inc"-->
<%
model_invoicelines =
function model_invoicelines()
{
module: "FIN",
table: "fin_factuurregel",
primary: "fin_factuurregel_key",
records_name: "invoicelines",
record_name: "invoiceline",
fields: { "id" : { dbs: "fin_factuurregel_key", typ: "key" },
"name" : { dbs: "fin_factuurregel_omschrijving", typ: "varchar", track: true, label: L("lcl_descr"), filter: "like" },
"line" : { dbs: "fin_factuurregel_nr", typ: "number" },
"total" : { dbs: "fin_factuurregel_totaal", typ: "float", "iscurrency": true, track: true, label: L("lcl_fin_total_sum_exBTW") },
"vat" : { dbs: "fin_factuurregel_btw", typ: "float", "iscurrency": true, track: true, label: L("lcl_fin_total_sum_inBTW") },
"reference": { dbs: "fin_factuurregel_referentie", typ: "varchar", track: true, label: L("lcl_fin_referencecode"), filter: "like" },
"vatvalue" : { dbs: "fin_btwtabelwaarde_key", typ: "key", foreign: "fin_btwtabelwaarde", track: true, label: L("lcl_fin_btwtarief")},
"costtype" : { dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type") },
"fin_factuur_key": { dbs: "fin_factuur_key", typ: "key" }
},
this.module = "FIN";
this.table = "fin_factuurregel";
this.primary = "fin_factuurregel_key";
this.records_name = "invoicelines";
this.record_name = "invoiceline";
this.fields = { "id" : { dbs: "fin_factuurregel_key", typ: "key" },
"name" : { dbs: "fin_factuurregel_omschrijving", typ: "varchar", track: true, label: L("lcl_descr"), filter: "like" },
"line" : { dbs: "fin_factuurregel_nr", typ: "number" },
"total" : { dbs: "fin_factuurregel_totaal", typ: "float", iscurrency: true, track: true, label: L("lcl_fin_total_sum_exBTW") },
"vat" : { dbs: "fin_factuurregel_btw", typ: "float", iscurrency: true, track: true, label: L("lcl_fin_total_sum_inBTW") },
"reference" : { dbs: "fin_factuurregel_referentie", typ: "varchar", track: true, label: L("lcl_fin_referencecode"), filter: "like" },
"vatvalue" : { dbs: "fin_btwtabelwaarde_key", typ: "key", foreign: "fin_btwtabelwaarde", track: true, label: L("lcl_fin_btwtarief")},
"costtype" : { dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type") },
"invoice" : { dbs: "fin_factuur_key", typ: "key", foreign: "fin_factuur", insertonly: true },
"code" : { dbs: "fin_factuurregel_code", typ: "varchar", track: true, label: L("lcl_fin_article_code") },
"amount" : { dbs: "fin_factuurregel_aantal", typ: "float", track: true, label: L("lcl_fin_amount") },
"unit" : { dbs: "fin_factuurregel_eenheid", typ: "varchar", track: true, label: L("lcl_fin_unit") },
"orderlineid" : { dbs: "fin_factuurregel_id", typ: "number", track: true, label: L("lcl_fin_orderline_id") }
};
_pre_analyze_fields: function (params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
this.includes = {
"custom_fields" : {
model: new model_custom_fields(this, new model_fin_kenmerk("R", { internal: true }), { pNiveau: "R", readman: true, readuse: true }),
joinfield: "flexparentkey",
enable_update: true
},
"tracking": {
model: new model_tracking(["factuur"]),
joinfield: "trackingrefkey"
}
};
function _pre_analyze_fields(params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
{
delete jsondata.line; // factuurregelnummer niet door de gebruiker laten zetten.
},
};
_analyze_fields: function (dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
function _analyze_fields(dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
{
},
};
_validate_fields: function (dbfields, params, jsondata) /* valideer dbfields, alle constraints die niet door de database worden afgevangen */
function _validate_fields(dbfields, params, jsondata) /* valideer dbfields, alle constraints die niet door de database worden afgevangen */
{
//__Log(jsondata);
//var factuurregel_key = parseInt(jsondata.id);
},
};
_synchronize_totals_sql: function (factuur_key)
function _synchronize_totals_sql(factuur_key)
{
// Redundante info bijwerken. Door dat hier te doen hebben we redelijk consistentie-garantie.
var sql = " UPDATE fin_factuur ff"
+ " SET fin_factuur_totaal = (SELECT SUM(fin_factuurregel_totaal)"
+ " FROM fin_factuurregel fr"
+ " WHERE fr.fin_factuur_key = ff.fin_factuur_key)"
+ " FROM fin_factuurregel fr"
+ " WHERE fr.fin_factuur_key = ff.fin_factuur_key)"
+ " , fin_factuur_totaal_btw = (SELECT SUM(fin_factuurregel_btw)"
+ " FROM fin_factuurregel fr"
+ " WHERE fr.fin_factuur_key = ff.fin_factuur_key)"
+ " FROM fin_factuurregel fr"
+ " WHERE fr.fin_factuur_key = ff.fin_factuur_key)"
+ " WHERE fin_factuur_key = " + factuur_key;
return sql;
},
};
_renumber_invoicelines_sql: function (factuur_key)
function _renumber_invoicelines_sql(factuur_key)
{
// Regels hernummeren zodat ze weer opeenvolgend zijn.
var sql = "UPDATE fin_factuurregel"
+ " SET fin_factuurregel_nr = ROWNUM"
+ " WHERE fin_factuur_key = " + factuur_key;
return sql;
},
};
REST_GET: function _GET(params)
this.REST_GET = function _GET(params)
{
var scope = params.filter.scope || "fe";
var autfunction = { fe: "WEB_EXTFIN", fo: "WEB_FINFOF", bo: "WEB_FINBOF" } [scope];
var scope = params.filter.scope;
if (scope)
{
var autfunction = { fe: "WEB_EXTFIN", fo: "WEB_FINFOF", bo: "WEB_FINBOF" } [scope];
}
else
{
var autfunction = ["WEB_EXTFIN", "WEB_FINFOF", "WEB_FINBOF"];
var authparamsFINFOF = user.checkAutorisation("WEB_FINFOF", true);
var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true);
}
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
var query = api2.sqlfields(params, model_invoicelines );
var query = api2.sqlfields(params, this);
var parentexists = ["f.fin_factuur_verwijder IS NULL"];
if (scope == "fe")
{
parentexists.push("f.prs_perslid_key_user=" + user_key);
if (scope == "fe" || (!scope && !authparamsFINFOF && !authparamsFINBOF))
{ // Frontend.
parentexists.push("f.prs_perslid_key_user=" + user_key);
}
else
{
@@ -101,25 +129,25 @@ model_invoicelines =
query.wheres.push(sqlparent);
}
var wheres = api2.sqlfilter(params, model_invoicelines);
var wheres = api2.sqlfilter(params, this);
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY fin_factuurregel_nr";
var json = api2.sql2json (params, sql, model_invoicelines );
var json = api2.sql2json (params, sql, this);
return json;
},
};
REST_PUT: function (params, jsondata, the_key) /* update invoiceline */
this.REST_PUT = function (params, jsondata, the_key) /* update invoiceline */
{
var finregel_key = the_key;
model_invoicelines._pre_analyze_fields(params, jsondata);
var dbfields = api2.update_fields(params, model_invoicelines, jsondata); // Build updater
model_invoicelines._analyze_fields(dbfields, params, jsondata);
model_invoicelines._validate_fields(dbfields, params, jsondata);
_pre_analyze_fields(params, jsondata);
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
_analyze_fields(dbfields, params, jsondata);
_validate_fields(dbfields, params, jsondata);
//
var sql = "SELECT fin_factuur_key"
+ " FROM fin_factuurregel"
@@ -128,6 +156,7 @@ model_invoicelines =
var fin_factuur_key = oRs("fin_factuur_key").value;
oRs.Close();
var fin_factuur_old = fin.factuur_info(fin_factuur_key);
var this_fin = fin.func_enabled_factuur(fin_factuur_key);
user.auth_required_or_abort(this_fin.canChange); // Geen wijzigingen toestaan bij onvoldoende rechten.
@@ -136,21 +165,44 @@ model_invoicelines =
var sql = "BEGIN "
+ finUpd.sql + ";"
+ model_invoicelines._synchronize_totals_sql(fin_factuur_key) + ";"
+ _synchronize_totals_sql(fin_factuur_key) + ";"
+ "END;";
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
return { key: finregel_key };
},
var finUpdTrackarray = []; // Alle tracking van elke afzondelijke regel verzamelen.
if (finUpd.trackarray.length > 0)
{
if (jsondata.name != "")
finUpdTrackarray = finUpdTrackarray.concat([jsondata.name + ": "]); // Omschrijving van de regel noteren zodat ik weet welke regel is aangepast.
finUpdTrackarray = finUpdTrackarray.concat(finUpd.trackarray);
}
REST_POST: function (params, jsondata, parent_key) /* new invoiceline */
var fin_factuur_new = fin.factuur_info(fin_factuur_key);
if (fin_factuur_old.fin_totaal != fin_factuur_new.fin_totaal)
finUpdTrackarray.push(L("lcl_fin_total_sum_inBTW") + ": " + safe.curr(fin_factuur_old.fin_totaal + fin_factuur_old.fin_totaal_btw) + " => " + safe.curr(fin_factuur_new.fin_totaal + fin_factuur_new.fin_totaal_btw))
if (fin_factuur_old.fin_totaal_btw != fin_factuur_new.fin_totaal_btw)
finUpdTrackarray.push(L("lcl_fin_BTW_total_sum") + ": " + safe.curr(fin_factuur_old.fin_totaal_btw) + " => " + safe.curr(fin_factuur_new.fin_totaal_btw))
var fintrack = api2.process_includes(params, this, jsondata, the_key);
// update nog tracken
if (fin_factuur_key > 0)
{
fin.trackfactuurupdate(fin_factuur_key, L("lcl_fin_is_finupdtrack").format(fin_factuur_key) + ((finUpdTrackarray.length + fintrack.length) > 0? "\n" : "") + finUpdTrackarray.concat(fintrack).join("\n"));
};
return { key: finregel_key };
};
this.REST_POST = function (params, jsondata) /* new invoiceline */
{
params.isNew = true;
var trackarray = [];
var factuur_key = (parent_key && parent_key > -1 ? parent_key : jsondata.invoice);
var factuur_key = (typeof jsondata.invoice == "object" ? jsondata.invoice.id : jsondata.invoice);
var this_fin = fin.func_enabled_factuur(factuur_key); // Wat heb ik zoal aan rechten op deze specifieke factuur
var auth = ( (params.filter && params.filter.api2 && params.filter.api2 == "invoices"
&& params.include && inArray("invoicelines",params.include)
@@ -160,10 +212,10 @@ model_invoicelines =
);
user.auth_required_or_abort(auth);
model_invoicelines._pre_analyze_fields(params, jsondata);
var dbfields = api2.update_fields(params, model_invoicelines, jsondata); // Build updater
model_invoicelines._analyze_fields(dbfields, params, jsondata);
model_invoicelines._validate_fields(dbfields, params, jsondata);
_pre_analyze_fields(params, jsondata);
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
_analyze_fields(dbfields, params, jsondata);
_validate_fields(dbfields, params, jsondata);
// Zet volgnummer van de nieuwe factuurregel.
var sql = "SELECT COALESCE(MAX(fin_factuurregel_nr),0) volgnr"
@@ -185,20 +237,22 @@ model_invoicelines =
var sql = "BEGIN "
+ finIns.sql + ";"
+ model_invoicelines._synchronize_totals_sql(factuur_key) + ";"
+ _synchronize_totals_sql(factuur_key) + ";"
+ "END;";
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
var fintrack = api2.process_includes(params, this, jsondata, factuurregel_key);
// Tracking toevoegen.
trackarray.push(L("lcl_fin_invoicerow_add") + ": " + safe.quoted_sql(jsondata.name) + "/" + jsondata.total);
shared.trackaction("FINNEW", factuur_key, trackarray.join("\n"));
//
return { key: factuurregel_key };
},
};
REST_DELETE: function (params, the_key) /* delete invoiceline */
this.REST_DELETE = function (params, the_key) /* delete invoiceline */
{
var trackarray = [];
var factuurregel_key = the_key;
@@ -221,8 +275,8 @@ model_invoicelines =
fin.deleteFactuurregel(factuurregel_key);
var sql = "BEGIN "
+ model_invoicelines._synchronize_totals_sql(factuur_key) + ";"
+ model_invoicelines._renumber_invoicelines_sql(factuur_key) + ";"
+ _synchronize_totals_sql(factuur_key) + ";"
+ _renumber_invoicelines_sql(factuur_key) + ";"
+ "END;"
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
@@ -232,6 +286,6 @@ model_invoicelines =
trackarray.push(L("lcl_fin_regel_del") + ": " + safe.quoted_sql(desc) + "/" + total);
//shared.trackaction("FINDEL", factuur_key, trackarray.join("\n")); // srtnotificatie FINDEL bestaat (nog) niet
}
}
};
}
%>

View File

@@ -36,42 +36,50 @@ function model_invoices(fin_key, params)
this.primary = "fin_factuur_key";
this.records_name = "invoices";
this.record_name = "invoice";
this.soft_delete = "fin_factuur_verwijder";
// Het interne factuurnr is de id, het externe nummer is name
this.fields =
{"id" : { dbs: "fin_factuur_key", typ: "key" },
"invoicedate" : { dbs: "fin_factuur_datum", typ: "datetime", track: true, label: L("lcl_fin_findate"), filter: "range" },
/*readonly*/ "creditor" : { dbs: "prs_bedrijf_key", typ: "key", foreign: "prs_bedrijf", track: true, label: L("lcl_ord_company_uit"),
{"id" : { dbs: "fin_factuur_key", typ: "key" },
"invoicedate" : { dbs: "fin_factuur_datum", typ: "datetime", track: true, label: L("lcl_fin_findate"), filter: "range" },
/*readonly*/ "creditor" : { dbs: "prs_bedrijf_key", typ: "key", foreign: "prs_bedrijf", track: true, label: L("lcl_ord_company_uit"),
sql: "COALESCE(mld_opdr.mld_uitvoerende_keys, bes_bestelopdr.prs_bedrijf_key, cnt_contract.cnt_prs_bedrijf_key)" },
/*readonly*/ "referencetype" : { dbs: "dummy", typ: "varchar",
/*readonly*/ "referencetype" : { dbs: "dummy", typ: "varchar",
sql: "DECODE(fin_factuur.mld_opdr_key, NULL, DECODE(fin_factuur.bes_bestelopdr_key, NULL, DECODE(fin_factuur.cnt_contract_key, NULL, '?', 'C'), 'B'), 'O')" },
/*readonly*/ "accountholder" : { dbs: "prs_perslid_key", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_prs_budgethouder"),
/*readonly*/ "accountholder" : { dbs: "prs_perslid_key", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_prs_budgethouder"),
sql: "fin.getfiatteur(fin_factuur.fin_factuur_key)" },
"name" : { dbs: "fin_factuur_nr", typ: "varchar", track: true, label: L("lcl_fin_invoice_nr_extern") },
"order" : { dbs: "mld_opdr_key", typ: "key", foreign: "mld_opdr"},
"contract" : { dbs: "cnt_contract_key", typ: "key", foreign: "cnt_contract"},
"purchaseorder" : { dbs: "bes_bestelopdr_key", typ: "key", foreign: "bes_bestelopdr"},
"total" : { dbs: "fin_factuur_totaal", typ: "float", "iscurrency": true, track: true, label: L("lcl_fin_totaal_bedrag") },
"vat" : { dbs: "fin_factuur_totaal_btw", typ: "float", "iscurrency": true, track: true, label: L("lcl_fin_totaal_bedrag_btw") },
"finstatus" : { dbs: "fin_factuur_statuses_key", typ: "key", foreign: fin.getfinstatustext, track: true, label: L("lcl_fin_fin_status")},
"accountingperiod": { dbs: "fin_factuur_boekmaand", multiedit: true, typ: "varchar", track: true, label: L("lcl_fin_divide_period") },
"debiteur_nr" : { dbs: "fin_factuur_debiteur_nr", multiedit: true, typ: "varchar", track: true, label: L("lcl_fin_debtor_nr"), filter: "like" },
"costtype" : { dbs: "prs_kostensoort_key", multiedit: true, typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type") },
"contact" : { dbs: "prs_perslid_key_user", multiedit: true, typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_mld_name") },
"validater" : { dbs: "prs_perslid_key_goedkeur", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_fin_goedkeurder") },
"remark" : { dbs: "fin_factuur_opmerking", typ: "varchar", track: true, label: L("lcl_fin_remark"), filter: "like" },
"externnr" : { dbs: "fin_factuur_externnr", typ: "varchar", label: L("extern_nr"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) },
"externsyncdate" : { dbs: "fin_factuur_externsyncdate", typ: "datetime", label: L("extern_syncdate"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) }
"name" : { dbs: "fin_factuur_nr", typ: "varchar", track: true, label: L("lcl_fin_invoice_nr_extern") },
"order" : { dbs: "mld_opdr_key", typ: "key", foreign: "mld_opdr"},
"contract" : { dbs: "cnt_contract_key", typ: "key", foreign: "cnt_contract"},
"purchaseorder" : { dbs: "bes_bestelopdr_key", typ: "key", foreign: "bes_bestelopdr"},
"total" : { dbs: "fin_factuur_totaal", typ: "float", iscurrency: true, track: true, label: L("lcl_fin_totaal_bedrag") },
"vat" : { dbs: "fin_factuur_totaal_btw", typ: "float", iscurrency: true, track: true, label: L("lcl_fin_totaal_bedrag_btw") },
"blockedaccount" : { dbs: "fin_factuur_gbedrag", typ: "float", iscurrency: true, track: true, label: L("lcl_fin_gbedrag") },
"status" : { dbs: "fin_factuur_statuses_key", typ: "key", foreign: fin.getfinstatustext, track: true, label: L("lcl_fin_fin_status")},
"accountingperiod": { dbs: "fin_factuur_boekmaand", typ: "varchar", track: true, label: L("lcl_fin_divide_period"), multiedit: true },
"debiteur_nr" : { dbs: "fin_factuur_debiteur_nr", typ: "varchar", track: true, label: L("lcl_fin_debtor_nr"), filter: "like", multiedit: true },
"costtype" : { dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type"), multiedit: true },
"contact" : { dbs: "prs_perslid_key_user", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_mld_name"), multiedit: true },
"validater" : { dbs: "prs_perslid_key_goedkeur", typ: "number", foreign: "prs_perslid", track: true, label: L("lcl_fin_goedkeurder") },
"source" : { dbs: "fin_factuur_bron", typ: "number", track: true, label: L("lcl_fin_invoice_source") },
"advice" : { dbs: "fin_factuur_advies", typ: "date", track: true, label: L("lcl_fin_adviesdatum") },
"flag" : { dbs: "fin_factuur_flag", typ: "number", track: true, label: L("lcl_fin_flags") },
"contractplace" : { dbs: "cnt_contract_plaats_key", typ: "number", track: true, label: L("lcl_fin_location_scope") },
"remark" : { dbs: "fin_factuur_opmerking", typ: "varchar", track: true, label: L("lcl_fin_remark"), filter: "like" },
"remarkreject" : { dbs: "fin_factuur_opmerking_afw", typ: "varchar", track: true, label: L("lcl_fin_remark_reject"), filter: "like" },
"externnr" : { dbs: "fin_factuur_externnr", typ: "varchar", label: L("extern_nr"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) },
"externsyncdate" : { dbs: "fin_factuur_externsyncdate", typ: "datetime", label: L("extern_syncdate"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) },
"contractplace" : { dbs: "bes_bestellevr_key", typ: "number", track: true, label: L("lcl_bes_bestellevr_pakbon") }
};
this.includes = {
"invoicelines": {
model: model_invoicelines,
joinfield: "fin_factuur_key",
model: new model_invoicelines(),
joinfield: "invoice",
enable_update: true
},
"custom_fields" : {
model: new model_custom_fields(this, new model_fin_kenmerk({ internal: true }), { readman: true, readuse: true }),
model: new model_custom_fields(this, new model_fin_kenmerk("F", { internal: true }), { pNiveau: "F", readman: true, readuse: true }),
joinfield: "flexparentkey",
enable_update: true
},
@@ -81,23 +89,28 @@ function model_invoices(fin_key, params)
}
};
function _pre_analyze_fields (params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
function _pre_analyze_fields(params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
{
// De factuurbedragen worden berekend uit de factuurregels. Eventuele waarden die hier gezet zijn negeren.
jsondata.total = 0;
jsondata.vat = 0;
if (params.method != "POST")
{
delete jsondata.total;
delete jsondata.vat;
}
if (jsondata.status)
{ // Er is een status meegegeven.
jsondata.status = typeof jsondata.status == "object"? jsondata.status.id : jsondata.status;
}
// Status van 3 (foute import) moet bij saven op 2 worden gezet.
var fin_status_key = jsondata.status;
if (fin_status_key == 3) fin_status_key = 2;
// Status 6 (Akkoord) moet bij saven op 2 (Ingevoerd) worden gezet. Factuur dient indien nodig weer gefiatteerd te worden.
if (fin_status_key == 6) fin_status_key = 2;
jsondata.status = fin_status_key;
if (jsondata.status == 3 || jsondata.status == 6)
{
jsondata.status = 2;
}
};
function _analyze_fields (dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
function _analyze_fields(dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
{
if (jsondata.purchaseorder_name && !dbfields.purchaseorder)
{
@@ -119,7 +132,7 @@ function model_invoices(fin_key, params)
}
};
function _validate_fields (dbfields, params, jsondata) /* valideer fields, alle constraints die niet door de database worden afgevangen */
function _validate_fields(dbfields, params, jsondata) /* valideer fields, alle constraints die niet door de database worden afgevangen */
{
};
@@ -166,26 +179,138 @@ function model_invoices(fin_key, params)
{
var fin_key = the_key;
var this_fin = fin.func_enabled_factuur(fin_key);
user.auth_required_or_abort(this_fin.canChange); // Geen wijzigingen toestaan bij onvoldoende rechten.
//
_pre_analyze_fields(params, jsondata);
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
_analyze_fields(dbfields, params, jsondata);
_validate_fields(dbfields, params, jsondata);
//
var wheres = [" fin_factuur_key = " + fin_key];
var finUpd = buildTrackingUpdate("fin_factuur", wheres.join(" AND " ), dbfields, { noValidateToken: true });
var err = Oracle.Execute(finUpd.sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
var fintrack = api2.process_includes(params, this, jsondata, the_key);
//if ("filter" in params && "mode" in params.filter)
// this_fin.canFlexChange = this_fin.canReadAny && params.filter.mode == "attachment"; // Deze mag altijd
// Geen wijzigingen toestaan bij onvoldoende rechten.
user.auth_required_or_abort(this_fin.canChange ||
(this_fin.canReject && jsondata.status == 1) || // Afwijzen.
((this_fin.canUnReject || this_fin.canUnapprove) && jsondata.status == 2) || // On-Afwijzen, On-Fiatteren of On-Goedkeuren.
(this_fin.canAccept && jsondata.status == 5) || // Fiatteren.
(this_fin.canGoedkeur && jsondata.status == 6)) // Goedkeuren.
// update nog tracken
if (fin_key > 0)
if (jsondata.status == 1 && this_mld.canReject)
{ // Afwijzen.
var fields = [ { dbs: "fin_factuur_opmerking_afw", typ: "varchar", val: jsondata.remark, track: L("lcl_fin_remark_reject"), len: 4000} ];
var finUpd = buildTrackingUpdate("fin_factuur", "fin_factuur_key = " + fin_key, fields);
oRs = Oracle.Execute(finUpd.sql);
if (finUpd.trackarray.length)
{
fin.trackfactuurupdate(fin_key, L("lcl_fin_is_finupdtrack").format(fin_key) + "\n" + finUpd.trackarray.join("\n"));
}
// Status naar Afgewezen(1).
var sql = "UPDATE fin_factuur"
+ " SET fin_factuur_statuses_key = 1"
+ " WHERE fin_factuur_key = " + fin_key
+ " AND (mld_opdr_key IS NOT NULL OR cnt_contract_key IS NOT NULL OR bes_bestelopdr_key IS NOT NULL)";
Oracle.Execute(sql);
shared.trackaction(this_fin.canAccept? "FINFNO" : "FINGNO", fin_key);
var pResult = new HookResult();
// Klantspecifieke check functie (hookfunction) voor de invoer.
if (!custfunc.fin_postsave(fin_key, pResult))
{
abort_with_warning(pResult.errmsg);
}
}
else if (jsondata.status == 2 && (this_fin.canUnReject || this_fin.canUnapprove))
{ // On-Afwijzen, On-Fiatteren of On-Goedkeuren.
// Huidige status opvragen.
sql = "SELECT fin_factuur_statuses_key"
+ " FROM fin_factuur"
+ " WHERE fin_factuur_key = " + fin_key;
oRs = Oracle.Execute(sql);
var fin_status_old = oRs("fin_factuur_statuses_key").Value;
oRs.Close();
var fields = [ { dbs: "fin_factuur_opmerking_afw", typ: "varchar", val: jsondata.remark, track: L("lcl_fin_remark_reject"), len: 4000} ];
var finUpd = buildTrackingUpdate("fin_factuur", "fin_factuur_key = " + fin_key, fields);
oRs = Oracle.Execute(finUpd.sql);
if (finUpd.trackarray.length)
{
fin.trackfactuurupdate(fin_key, L("lcl_fin_is_finupdtrack").format(fin_key) + "\n" + finUpd.trackarray.join("\n"));
}
// Status terugzetten naar Ingevoerd(2).
sql = "UPDATE fin_factuur"
+ " SET fin_factuur_statuses_key = 2"
+ " WHERE fin_factuur_key = " + fin_key
+ " AND (mld_opdr_key IS NOT NULL OR cnt_contract_key IS NOT NULL OR bes_bestelopdr_key IS NOT NULL)";
Oracle.Execute(sql);
shared.trackaction((fin_status_old == 5? "FINGUN" : "FINFUN"), fin_key); // Vanuit status Afgewezen(1) en Akkoord(6) FINFUN en vanuit status Ter Goedkeuring(5) FINGUN.
}
else if (jsondata.status == 5 && this_fin.canAccept)
{ // Fiatteren.
var fin_enable_goedkeuren = S("fin_enable_goedkeuren");
var fin_status_new = fin_enable_goedkeuren != 0
? "CASE WHEN prs_perslid_key_goedkeur IS NOT NULL THEN 5 ELSE 6 END"
: "6";
sql = "UPDATE fin_factuur"
+ " SET fin_factuur_statuses_key = " + fin_status_new
+ " WHERE fin_factuur_key = " + fin_key
+ " AND (mld_opdr_key IS NOT NULL OR cnt_contract_key IS NOT NULL OR bes_bestelopdr_key IS NOT NULL)";
Oracle.Execute(sql);
shared.trackaction("FINFOK", fin_key);
var sql = "SELECT prs_perslid_key_goedkeur"
+ " FROM fin_factuur f"
+ " WHERE fin_factuur_key = " + fin_key;
oRs = Oracle.Execute(sql);
if (fin_enable_goedkeuren != 0 && oRs("prs_perslid_key_goedkeur").Value > 0)
{ // Factuur is naar status Ter goedkeuring(5) gegaan.
// Notificatie aan de goedkeurder.
fin.sendNeedApprovalNotification(fin_key, oRs("prs_perslid_key_goedkeur").Value);
}
//else // Factuur is naar status Akkoord(6) gegaan.
oRs.Close();
}
else if (jsondata.status == 6 && this_fin.canGoedkeur)
{ // Fiatteren.
var sql = "UPDATE fin_factuur"
+ " SET fin_factuur_statuses_key = 6"
+ " WHERE fin_factuur_key = " + fin_key
+ " AND (mld_opdr_key IS NOT NULL OR cnt_contract_key IS NOT NULL OR bes_bestelopdr_key IS NOT NULL)";
Oracle.Execute(sql);
shared.trackaction("FINGOE", fin_key);
var pResult = new HookResult();
// Klantspecifieke check functie (hookfunction) voor de invoer
if (!custfunc.fin_postsave(fin_key, pResult))
{
abort_with_warning(pResult.errmsg);
}
}
else
{
fin.trackfactuurupdate(fin_key, L("lcl_fin_is_finupdtrack").format(fin_key) + (finUpd.trackarray.length > 0? "\n" : "") + finUpd.trackarray.join("\n"));
};
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
_analyze_fields(dbfields, params, jsondata);
_validate_fields(dbfields, params, jsondata);
var wheres = [" fin_factuur_key = " + fin_key];
var finUpd = buildTrackingUpdate("fin_factuur", wheres.join(" AND " ), dbfields, { noValidateToken: true });
var err = Oracle.Execute(finUpd.sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
var fintrack = api2.process_includes(params, this, jsondata, the_key);
// update nog tracken
if (fin_key > 0)
{
fin.trackfactuurupdate(fin_key, L("lcl_fin_is_finupdtrack").format(fin_key) + (finUpd.trackarray.length > 0? "\n" : "") + finUpd.trackarray.join("\n"));
};
}
return { key: fin_key };
};
@@ -206,9 +331,7 @@ function model_invoices(fin_key, params)
var finIns = buildInsert("fin_factuur", dbfields, { noValidateToken: true} );
var factuur_key = finIns.sequences["fin_factuur_key"];
var sql = finIns.sql;
var err = Oracle.Execute(sql, true);
var err = Oracle.Execute(finIns.sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
@@ -218,9 +341,7 @@ function model_invoices(fin_key, params)
shared.trackaction("FINNEW", factuur_key);
// factuurmatching
var sql_fm = "BEGIN"
+ " fin.autoapprovefactuur(" + factuur_key + ");"
+ " END;";
var sql_fm = "BEGIN fin.autoapprovefactuur(" + factuur_key + "); END;";
Oracle.Execute(sql_fm);
return { key: factuur_key };
@@ -241,7 +362,7 @@ function model_invoices(fin_key, params)
+ " AND fin_factuur_key = " + factuur_key;
oRs = Oracle.Execute(sql);
}
}
};
if (fin_key > 0)
{

View File

@@ -824,7 +824,7 @@ function model_issues(mld_key, params)
mld.nextworkflowstep(new_key, -1); // -1 = initial (the originating call)
// Controleer of er automatisch een opdracht aangemaakt moet worden.
var sql = "BEGIN mld.mld_addautoorder(" + new_key + "); END;"
var sql = "BEGIN mld.mld_addautoorder(" + new_key + "); END;"; // Notificeert eventueel ook de ORDNEW naar uitvoerende
Oracle.Execute(sql);
return { key: new_key };

View File

@@ -0,0 +1,35 @@
<% /*
$Revision$
$Id$
File: model_issues_mini.inc
Description: Melding mini model
Parameters:
Context: Minimaal aantal velden. Puur voor 'include' bij model_mld_opdr.inc
Notes:
*/
%>
<%
function model_issues_mini(mld_key)
{
this.module = "MLD";
this.table = "mld_melding";
this.primary = "mld_melding_key";
this.records_name = "issues";
this.record_name = "issue";
this.fields =
{
"id" : { dbs: "mld_melding_key", typ: "key" },
"contact" : { dbs: "prs_perslid_key", typ: "key", foreign: "prs_perslid", label: L("lcl_mld_name") },
"location" : { dbs: "mld_alg_locatie_key", typ: "key", foreign: "alg_locatie", label: L("lcl_location") },
"building" : { dbs: "alg_v_allonroerendgoed.alg_gebouw_key", typ: "key", foreign: "alg_gebouw", label: L("lcl_building") },
"floor" : { dbs: "alg_v_allonroerendgoed.alg_verdieping_key", typ: "key", foreign: "alg_verdieping", label: L("lcl_floor") },
"room" : { dbs: "alg_v_allonroerendgoed.alg_ruimte_key", typ: "key", foreign: "alg_ruimte", label: L("lcl_room") },
"terrain" : { dbs: "alg_v_allonroerendgoed.alg_terreinsector_key", typ: "key", foreign: "alg_terreinsector", label: L("lcl_room") }
};
}
%>

View File

@@ -61,6 +61,8 @@ function model_alg_locatie()
switch (method)
{
case "GET":
var autfunction = ["WEB_ALGUSE","WEB_ALGMAN"];
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
if (params.filter.id)
{
var loc_key = params.filter.id;

View File

@@ -12,6 +12,7 @@
*/
%>
<!-- #include file="model_mld_disc_params.inc" -->
<!-- #include file="model_mld_discipline_discipline.inc" -->
<!-- #include file="../mgt/mgt.inc"-->
<%
function model_mld_discipline(disc_key, params)
@@ -19,11 +20,6 @@ function model_mld_discipline(disc_key, params)
// E<>n model voor de buitenwereld
api2.merge_disc_params_model(this, _model_mld_discipline);
this.hook_pre_edit = function (obj, fld, params)
{
fld.costtype.foreign = mgt.pre_edit_kostensoort(obj);
}
this.hook_post_post = function (params, obj, key)
{
var org_disc_key = getQParamInt("id", -1);
@@ -157,6 +153,25 @@ _model_mld_discipline = // Internal only
"disc_params": {
"model": model_mld_disc_params,
"joinfield": "issuediscipline"
},
"includes": {
"disciplines1": {
"model": new model_mld_discipline_discipline(),
"joinfield": "discipline1",
"label": L("mld_discipline_discipline_m"),
"enable_update": true,
"multiadd": "discipline2",
"notransport": true // te ingewikkeld
},
"disciplines2": {
"model": new model_mld_discipline_discipline(),
"joinfield": "discipline2",
"label": L("mld_discipline_discipline_m2"),
"enable_update": "true",
"multiadd": "discipline1",
"notransport": true
}
}
}
%>

View File

@@ -12,7 +12,7 @@
*/
%>
<%
function model_mld_discipline_discipline(functie, params)
function model_mld_discipline_discipline()
{
this.records_name = "issuediscdisciplines";
this.record_name = "issuediscdiscipline";
@@ -35,74 +35,57 @@ function model_mld_discipline_discipline(functie, params)
"label": L("lcl_mld_vakgroep"),
"typ": "key",
"required": true,
"insertonly": true,
"foreign": {
"tbl": "(SELECT ins_discipline_key, ins_discipline_omschrijving"
+ " FROM ins_tab_discipline td, mld_disc_params dp"
+ " WHERE td.ins_discipline_key = dp.mld_ins_discipline_key"
+ (params.disc > -1 ? " and td.ins_discipline_key = " + params.disc : "")
+ " AND BITAND(dp.mld_disc_params_srtgroep, 5) = 5)",
+ " FROM ins_srtdiscipline isd, ins_tab_discipline td, mld_disc_params dp"
+ " WHERE isd.ins_srtdiscipline_key = td.ins_srtdiscipline_key"
+ " AND td.ins_discipline_key = dp.mld_ins_discipline_key"
+ " AND BITAND(dp.mld_disc_params_srtgroep, 5) = 5)", // 1+4 primair+kan behandelen
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
}
},
"uniquewith": "discipline2"
},
"discipline2": {
"dbs": "mld_discipline_key2",
"label": L("mld_processing_group"),
"typ": "key",
"required": true,
"insertonly": true,
"foreign": {
"tbl": "(SELECT ins_discipline_key, ins_discipline_omschrijving"
+ " FROM ins_tab_discipline td, mld_disc_params dp"
+ " WHERE ins_discipline_key = mld_ins_discipline_key"
+ (mode == "edit" ? " AND ins_discipline_key NOT IN (select mld_discipline_key2 from mld_discipline_discipline where mld_discipline_key1 = " + params.disc + ")" : "")
+ " FROM ins_srtdiscipline isd, ins_tab_discipline td, mld_disc_params dp"
+ " WHERE isd.ins_srtdiscipline_key = td.ins_srtdiscipline_key"
+ " AND td.ins_discipline_key = dp.mld_ins_discipline_key"
+ " AND BITAND(mld_disc_params_srtgroep, 2) = 2)",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving",
"multiselect": true
}
},
"uniquewith": "discipline1"
}
};
this.hook_post_post = function (params, jsondata, key)
{
var nextdata = { id:-1, discipline1:jsondata.discipline1 };
for (var i=1; i<jsondata.discipline2.length;i++)
{
nextdata.discipline2 = jsondata.discipline2[i];
var restresult = this.REST_POST(params, nextdata);
}
}
this.list = {
"columns": [
"id",
"discipline1",
"discipline2"
],
"orderby": [
"discipline1",
"discipline2"
]
};
this.hook_pre_edit = function (obj, fld)
{
if (mode == "edit" && !add)
{
this.fields.discipline1.readonly = true;
}
else
{
%>
<script type="text/javascript">
setTimeout(function() {
var discipline1 = document.getElementById("discipline1");
if (discipline1 && discipline1.length) {
discipline1.style.display = "none";
var selected = discipline1.options[discipline1.selectedIndex];
var span = document.createElement("span");
span.setAttribute('title', 'Key: ' + selected.value);
span.setAttribute('class', 'fld');
span.innerHTML = selected.text;
discipline1.after(span);
}
}, 250);
</script>
<%
}
}
this.edit = {
modal: true
};
this.REST_GET = generic_REST_GET(this, { GET: { wheres: (params.disc > -1 ? [" mld_discipline_key1 = " + params.disc] : []) } });
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);
//this.REST_PUT = generic_REST_PUT(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
%>

View File

@@ -91,6 +91,14 @@ function model_mld_kenmerk(niveau, params)
"dbs": "mld_kenmerk_volgnummer",
"label": L("mgt_kenmerk_volgnummer"),
"typ": "number",
"len": 3,
"required": true
},
"rolecode": {
"dbs": "mld_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: (isOpdrachtKenmerk ? "OPD" : "MLD") }),
"required": true
},
"group": {
@@ -106,6 +114,7 @@ function model_mld_kenmerk(niveau, params)
"label": L("mgt_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList(),
"emptyisrealvalue": true,
"emptyoption": null
},
"requiredstatus": {
@@ -120,11 +129,11 @@ function model_mld_kenmerk(niveau, params)
"label": (isOpdrachtKenmerk ? L("mgt_kenmerk_toonbaar") : L("lcl_mld_kenmerk_readonly") ),
"typ": "check"
},
"inlist": {
"dbs": "mld_kenmerk_inlijst",
"label": L("mgt_kenmerk_systeem_overview"),
"typ": "check0",
"multiedit": true
"code": {
"dbs": "mld_kenmerk_code",
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_PRSSYS")
},
"clear": {
"dbs": "mld_kenmerk_wissen",
@@ -134,6 +143,7 @@ function model_mld_kenmerk(niveau, params)
{
"name": "",
"label": "",
"showasgroup": false,
"typ": "check",
"mask": 0, // Afhankelijk van mld/opdr en setting: wordt straks gezet.
"radios": [] // Afhankelijk van mld/opdr en setting: wordt straks toegevoegd.
@@ -196,7 +206,7 @@ function model_mld_kenmerk(niveau, params)
fields_main.clear.bits[0].mask = 1;
fields_main.clear.bits[0].radios.push(
{"name": "copy_on",
"label": L("opd_kenmerk_wissen_copy_on"),
"label": L("mld_kenmerk_wissen_label") + " " + L("opd_kenmerk_wissen_copy_on"),
"mask": 1,
"defaultvalue": 1
});
@@ -206,13 +216,13 @@ function model_mld_kenmerk(niveau, params)
fields_main.clear.bits[0].mask = 3;
fields_main.clear.bits[0].radios.push(
{"name": "copy_on",
"label": L("mld_kenmerk_wissen_copy_on"),
"label": L("mld_kenmerk_wissen_label") + " " + L("mld_kenmerk_wissen_copy_on"),
"mask": 1,
"defaultvalue": 1
});
fields_main.clear.bits[0].radios.push(
{"name": "fwd_on",
"label": L("mld_kenmerk_wissen_fwd_on"),
"label": L("mld_kenmerk_wissen_label") + " " + L("mld_kenmerk_wissen_fwd_on"),
"mask": 2,
"defaultvalue": 1
});
@@ -248,12 +258,6 @@ function model_mld_kenmerk(niveau, params)
"insertonly": !is_clone,
"LOV": buildKenmerktypeLOV(null, { module: "MLD" })
},
"code": {
"dbs": "mld_kenmerk_code",
"label": L("lcl_mld_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
},
"disciplinetype": {
"dbs": "view_mld_kenmerk.ins_srtdiscipline_key", //"mld_discipline.ins_srtdiscipline_key",
"label": L("lcl_mld_vakgroeptype"),
@@ -289,6 +293,34 @@ function model_mld_kenmerk(niveau, params)
"showtransit": true,
"insertonly": !is_clone,
"search": false
},
"inlist": {
"dbs": "mld_kenmerk_inlijst",
"label": L("lcl_mld_kenmerk_visibility"),
"typ": "key",
"bits": [
{
"name": "",
"label": "",
"typ": "check",
"mask": 3,
"radios": [
{
"name": "in_list",
"label": L("mgt_kenmerk_systeem_overview"),
"mask": 1,
"defaultvalue": 0
},
{
"name": "in_bord",
"label": L("lcl_mld_kenmerk_in_bord"),
"mask": 2,
"defaultvalue": 1
}
]
}
],
"multiedit": true
}
};
@@ -321,6 +353,12 @@ function model_mld_kenmerk(niveau, params)
"typ": "key",
"LOV": buildHltPropList(),
"emptyoption": null
},
"inlist": {
"dbs": "mld_kenmerk_inlijst",
"label": L("mgt_kenmerk_systeem_overview"),
"typ": "check0",
"multiedit": true
}
};
@@ -366,7 +404,7 @@ function model_mld_kenmerk(niveau, params)
function get_issuepropertytype_srttype(obj)
{
var issuepropertytype = getQParamInt("issuepropertytype", ( (obj.issuepropertytype && obj.issuepropertytype.id) ? obj.issuepropertytype.id : -1));
var mld_opdr_readonly = (isOpdrachtKenmerk ? L("mgt_kenmerk_toonbaar") : L("lcl_mld_kenmerk_readonly") );
var mld_opdr_readonly = (isOpdrachtKenmerk ? L("mgt_kenmerk_toonbaar") : L("lcl_mld_kenmerk_readonly"));
var result = { lbl_default: L("mgt_kenmerk_default")
, lbl_readonly: mld_opdr_readonly
};
@@ -376,9 +414,11 @@ function model_mld_kenmerk(niveau, params)
+ " FROM mld_srtkenmerk"
+ " WHERE mld_srtkenmerk_key = " + issuepropertytype;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
result.lbl_default = (oRs("mld_srtkenmerk_kenmerktype").Value == "l" || oRs("mld_srtkenmerk_kenmerktype").Value == "b"? L("mgt_kenmerk_icon") : L("mgt_kenmerk_default"));
result.lbl_readonly = (oRs("mld_srtkenmerk_kenmerktype").Value == "l" || oRs("mld_srtkenmerk_kenmerktype").Value == "b"? L("mgt_kenmerk_collapsed") : mld_opdr_readonly);
if (!oRs.eof) {
result.ktype = oRs("mld_srtkenmerk_kenmerktype").Value;
result.lbl_default = (result.ktype == "l" || result.ktype == "b" ? L("mgt_kenmerk_icon") : L("mgt_kenmerk_default"));
result.lbl_readonly = (result.ktype == "l" || result.ktype == "b" ? L("mgt_kenmerk_collapsed") : mld_opdr_readonly);
}
oRs.Close();
}
return result;
@@ -415,6 +455,13 @@ function model_mld_kenmerk(niveau, params)
var srttype = get_issuepropertytype_srttype(obj);
fld["default"].label = srttype.lbl_default;
fld["readonly"].label = srttype.lbl_readonly;
if (obj.id > 0 && !isOpdrachtKenmerk) { // Nieuwe kenmerken togglen zelf via clientside code
if (srttype.ktype && inArray(srttype.ktype, ['R', 'r', 'S'])) {
// Alles staat al goed
} else {
fld.inlist.bits[0].radios.splice(1, 1);
}
}
if (obj.attributetype && (obj.attributetype.id == "b" || obj.attributetype.id == "l"))
fld["default"].typ = "icon";
@@ -455,6 +502,13 @@ function model_mld_kenmerk(niveau, params)
var srttype = get_issuepropertytype_srttype(obj);
fld["default"].label = srttype.lbl_default;
fld["readonly"].label = srttype.lbl_readonly;
if (!isOpdrachtKenmerk) {
if (srttype.ktype && inArray(srttype.ktype, ['R', 'r', 'S'])) {
// Alles staat al goed
} else {
fld.inlist.bits[0].radios.splice(1, 1);
}
}
}
this.hook_pre_post = function (params, obj)
@@ -465,8 +519,7 @@ function model_mld_kenmerk(niveau, params)
var oRs = Oracle.Execute(sql);
var kenmerktype = oRs("mld_srtkenmerk_kenmerktype").Value;
oRs.Close();
if (kenmerktype != "b")
{
if (kenmerktype != "b") {
obj.treatmentteam = null;
}
}

View File

@@ -0,0 +1,194 @@
<% /*
$Revision$
$Id$
File: model_mld_melding_tag.inc
Description: Model voor mld_melding_tag (mijlpalen, releasekalender)
Context: Er wordt goed gelet op MLDTAG-schrijfrechten, maar leesrechten lijkt nog alles of niks. TODO denk ik.
Notes: Hoe gaan we normaal om met verwijderdatum? Wat mij betreft is weg=weg, en dat is standaard?
*/
%>
<%
function model_mld_melding_tag()
{
this.records_name = "issuetags";
this.record_name = "issuetag";
this.table = "mld_melding_tag";
this.primary = "mld_melding_tag_key";
this.autfunction = "WEB_MLDTAG";
this.soft_delete = "mld_melding_tag_verwijder";
this.record_title = L("mld_melding_tag");
this.records_title = L("mld_melding_tag_m");
var tag_key = getQParamInt("id", -1);
var auth_mode = getQParamSafe("mode", "show") === "edit" ? "write" : "read";
this.fields = {
"id": {
"dbs": "mld_melding_tag_key",
"label": "Key",
"typ": "key",
"hidden_fld": true,
"required": true,
"seq": "mld_s_mld_melding_tag_key",
"defaultvalue": null
},
"disciplinetype": {
"dbs": "ins_srtdiscipline_key",
"label": L("ins_srtdiscipline"),
"typ": "key",
"xhidden_fld": true,
"required": true,
"foreign": { // tags zijn alleen relevant als er standaardmeldingen zijn die tags gebruiken
"tbl": "(SELECT ins_srtdiscipline_key"
+ " , ins_srtdiscipline_omschrijving" // lcl
+ " FROM ins_srtdiscipline"
+ " WHERE ins_srtdiscipline_module = 'MLD'"
+ " AND ins_srtdiscipline_verwijder IS NULL"
+ " AND ins_srtdiscipline_key IN "
+ " (SELECT ins_srtdiscipline_key"
+ " FROM mld_discipline"
+ " WHERE ins_discipline_key IN "
+ " (SELECT mld_ins_discipline_key"
+ " FROM mld_stdmelding"
+ " WHERE mld_stdmelding_taggable > 0)"
+ " AND ins_discipline_key IN"
+ " (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " WHERE w.prs_perslid_key = " + user_key
+ " AND fac_functie_key = " + F(this.autfunction)
+ " AND w.fac_gebruiker_prs_level_" + auth_mode + " < 9 AND w.fac_gebruiker_alg_level_" + auth_mode + " < 9))"
+ ")",
"key": "ins_srtdiscipline_key",
"desc": "ins_srtdiscipline_omschrijving"
}
},
"name": {
"dbs": "mld_melding_tag_naam",
"label": L("mld_melding_tag_naam"),
"typ": "varchar",
"required": true
},
"description": {
"dbs": "mld_melding_tag_oms",
"label": L("mld_melding_tag_oms"),
"typ": "varchar",
"translate": true
},
"issuegroup": {
"dbs": "mld_stdmeldinggroep_key",
"typ": "key",
"label": L("lcl_mld_meldinggroep"),
"foreign": { // alleen meldinggroepen van standaardmeldingen die tags gebruiken
"tbl": "(SELECT g.mld_stdmeldinggroep_key"
+ ", " + lcl.xsqla("g.mld_stdmeldinggroep_naam", "g.mld_stdmeldinggroep_key")
+ " FROM mld_stdmeldinggroep g"
+ " WHERE g.mld_stdmeldinggroep_key IN "
+ " (SELECT mld_stdmeldinggroep_key "
+ " FROM mld_stdmelding "
+ " WHERE mld_stdmelding_taggable > 0"
+ " AND mld_ins_discipline_key IN "
+ " (SELECT w.ins_discipline_key "
+ " FROM fac_v_webgebruiker w"
+ " WHERE w.prs_perslid_key = " + user_key
+ " AND fac_functie_key = " + F(this.autfunction)
+ " AND w.fac_gebruiker_prs_level_" + auth_mode + " < 9 AND w.fac_gebruiker_alg_level_" + auth_mode + " < 9)))",
"key": "mld_stdmeldinggroep_key",
"desc": "mld_stdmeldinggroep_naam"
},
"emptyoption": "",
"showtransit": true,
"multiedit": true
},
"person": {
"dbs": "prs_perslid_key",
"label": L("mld_melding_tag_person"),
"typ": "key",
"foreign": "prs_perslid",
"defaultvalue" : user_key /* werk dit? */
},
"begindate": {
"dbs": "mld_melding_tag_datum_van",
"label": L("mld_melding_tag_startdatum"),
"typ": "date",
"multiedit": true
},
"accdate": {
"dbs": "mld_melding_tag_datum_acc",
"label": L("mld_melding_tag_accdatum"),
"typ": "date",
"multiedit": true
},
"enddate": {
"dbs": "mld_melding_tag_datum_tot",
"label": L("mld_melding_tag_einddatum"),
"typ": "date",
"required": true,
"multiedit": true
}
};
this.autclause = function _autclause(rw) {
rw = (rw === "write" ? "write" : "read"); // Whitelisten voor de zekerheid
return " ins_srtdiscipline_key IN"
+ " (SELECT ins_srtdiscipline_key"
+ " FROM mld_discipline"
+ " WHERE ins_discipline_key IN"
+ " (SELECT mld_ins_discipline_key"
+ " FROM mld_stdmelding"
+ " WHERE mld_stdmelding_taggable > 0)"
+ " AND ins_discipline_key IN"
+ " (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " WHERE w.prs_perslid_key = " + user_key
+ " AND fac_functie_key = " + F(this.autfunction)
+ " AND w.fac_gebruiker_prs_level_" + rw + " < 9"
+ " AND w.fac_gebruiker_alg_level_" + rw + " < 9))"
+ " AND ( mld_stdmeldinggroep_key IS NULL"
+ " OR (mld_stdmeldinggroep_key IN"
+ " (SELECT mld_stdmeldinggroep_key"
+ " FROM mld_stdmelding"
+ " WHERE mld_stdmelding_taggable > 0"
+ " AND mld_ins_discipline_key IN"
+ " (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " WHERE w.prs_perslid_key = " + user_key
+ " AND fac_functie_key = " + F(this.autfunction)
+ " AND w.fac_gebruiker_prs_level_" + rw + " < 9"
+ " AND w.fac_gebruiker_alg_level_" + rw + " < 9))))";
}
this.REST_GET = generic_REST_GET(this, { "GET": { "wheres": this.autclause() }});
var autparams = user.checkAutorisation(this.autfunction);
var canWrite = (autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9);
/* Dit lost het multi-gebeuren nog niet op .. */
if (canWrite) {
if (tag_key > -1) {
var sql = "SELECT 'canWrite'"
+ " FROM mld_melding_tag"
+ " WHERE mld_melding_tag_key = " + tag_key
+ " AND " + this.autclause("write");
var oRs = Oracle.Execute(sql);
if (!oRs.EOF) { // Ik heb schrijfrechten op deze specifieke tag
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
oRs.Close();
} else {
this.REST_POST = generic_REST_POST(this);
// Geen multi-acties, wel door kunnen klikken
this.list = {
"default_action": "scf_show",
"default_url": "appl/mgt/mld_melding_tag.asp?id={0}"
};
}
}
}
%>

View File

@@ -15,8 +15,10 @@
<!-- #include file="../api2/model_fin_factuur.inc" -->
<!-- #include file="./model_custom_fields.inc"-->
<!-- #include file="./model_mld_kenmerk.inc"-->
<!-- #include file="./model_notes.inc" -->
<!-- #include file="./model_issues_mini.inc" -->
<!-- #include file="./model_mld_opdr_materiaal.inc" -->
<!-- #include file="../bgt/bgt_tools.inc" -->
<!-- #include file="./model_notes.inc"-->
<%
function model_mld_opdr()
@@ -259,7 +261,6 @@ function model_mld_opdr()
"typ": "key",
"foreign": "prs_kostensoort",
"readonly": S("mld_opdr_alt_kostensoort") == 1? false : true,
"LOVinit": "",
"track": true
},
"hours": {
@@ -386,13 +387,13 @@ function model_mld_opdr()
"dbs": "mld_opdr_externnr",
"label": "externalnr",
"typ": "key",
"hidden_fld": true
"readonly": S("bgt_enabled") || !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
},
"externalsyncdate": {
"dbs": "mld_opdr_externsyncdate",
"label": "externalsyncdate",
"typ": "datetime",
"hidden_fld": true
"readonly": S("bgt_enabled") || !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
}
};
@@ -416,8 +417,22 @@ function model_mld_opdr()
"model": new model_custom_fields(this, new model_mld_kenmerk('O', { internal: true }), { pNiveau: "O" }),
"joinfield": "flexparentkey",
"enable_update": true
},
"materials": {
"model": new model_mld_opdr_materiaal(),
joinfield: "order"
},
"issuedetails": {
"model": new model_issues_mini(),
"isdetailfor": "issue",
"joinfunction": function ()
{
return { tables: ["mld_melding m2"],
where: "mld_opdr.mld_melding_key = m2.mld_melding_key"
}
}
}
}
};
this.hook_pre_show = function(obj, fld, scf_params)
{
@@ -1593,8 +1608,6 @@ obj._is_clone=2 --> nieuwe sub-opdracht
delete_fld(jsondata, "module", true);
delete_fld(jsondata, "additional", true);
delete_fld(jsondata, "offer", true);
delete_fld(jsondata, "externalnr", true);
delete_fld(jsondata, "externalsyncdate", true);
}
this.REST_PUT = function (params, jsondata, the_key)
@@ -1779,6 +1792,21 @@ obj._is_clone=2 --> nieuwe sub-opdracht
// Status en tracking altijd met de functie setopdrachtstatus.
// Zetten van de status van een nieuwe opdracht op nieuw en afhandelen van de tracking (status + uitvoerende tracking) en daarmee notificatie.
var company = typeof jsondata.company == "object"? jsondata.company.id : jsondata.company;
params.mld_opdr = {}; // Zet hier de gegevens uit mld.mld_opdr_info() in.
params.mld_opdr.uitvoerende = (jsondata.company? api2.get_jdata_refkey(jsondata.company) : -1);
params.mld_opdr.opdr_type = (jsondata.issueordertype? jsondata.issueordertype : -1);
// Gegevens van het opdrachttype ophalen.
var sql = "SELECT mld_typeopdr_confirm_for_send"
+ " , mld_typeopdr_isofferte"
+ " FROM mld_typeopdr"
+ " WHERE mld_typeopdr_key = " + params.mld_opdr.opdr_type;
oRs = Oracle.Execute(sql);
params.mld_opdr.typeopdr_confirm_for_send = oRs("mld_typeopdr_confirm_for_send").Value;
params.mld_opdr.mld_typeopdr_isofferte = oRs("mld_typeopdr_isofferte").Value;
oRs.Close();
mld.setopdrachtstatus(opdr_key, setopdrstatus, company);
if (S("bgt_enabled") != 1) // BGT doet niets met mld_melding; mld_opdr heeft zelfs geen mld_melding_key!
@@ -1789,26 +1817,27 @@ obj._is_clone=2 --> nieuwe sub-opdracht
if (!S("bgt_enabled"))
{
params.mld_opdr = {}; // Zet hier de gegevens uit mld.mld_opdr_info() in.
params.mld_opdr.uitvoerende = (jsondata.company? api2.get_jdata_refkey(jsondata.company) : -1);
params.mld_opdr.opdr_type = (jsondata.issueordertype? jsondata.issueordertype : -1);
// Bepaal of de opdracht een offerte is.
var sql = "SELECT mld_typeopdr_isofferte"
+ " FROM mld_typeopdr"
+ " WHERE mld_typeopdr_key = " + params.mld_opdr.opdr_type;
oRs = Oracle.Execute(sql);
params.mld_opdr.mld_typeopdr_isofferte = oRs("mld_typeopdr_isofferte").Value;
oRs.Close();
// Vooralsnog alleen voor nieuwe meldingen (POST).
// Opdracht direct electronisch versturen of door putorders laten oppikken (te verzenden veld zetten) bij nieuwe opdrachten.
// Nooit als er een activiteits key is meegegeven omdat het dan eigenlijk geen opdracht is. Bij de api is de fac_activiteit_key niet gevuld.
if (params.mld_opdr.mld_typeopdr_isofferte == 1)
{ // Offerte opdracht.
// putorders.sendMLDorders doen we hier niet, altijd scheduled via putorders
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = 1 WHERE mld_opdr_key = " + opdr_key;
Oracle.Execute(sql);
if (params.mld_opdr.typeopdr_confirm_for_send < 2)
{ // Zonder bevestiging versturen.
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = 1 WHERE mld_opdr_key = " + opdr_key;
Oracle.Execute(sql);
if (setopdrstatus == 5)
{ // Bij ORDNEW tracking wordt er niet genotificeerd. Dat moet als je mld_opdr_teverzenden op 1 zet nog gebeuren.
Oracle.Execute("BEGIN fac.notifytrackingbedrijven ('ORDNEW', " + opdr_key + "); END;");
}
}
else if (params.mld_opdr.typeopdr_confirm_for_send == 2)
{ // Nog niet laten oppikken door achtergrond putorders alleen uitstellen.
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = NULL WHERE mld_opdr_key = " + opdr_key;
Oracle.Execute(sql);
}
}
else
{ // Opdrachten
@@ -1821,10 +1850,20 @@ obj._is_clone=2 --> nieuwe sub-opdracht
var oRs = Oracle.Execute(sql);
// Als (1) externe uitvoerder met (2) prs_bedrijfadres_url type O dan vragen
// of de opdracht elektrisch verstuurd moet worden. Zo ja, dan
if (!oRs.eof && S("mld_opdr_confirm_for_send") != 1)
if (!oRs.eof && params.mld_opdr.typeopdr_confirm_for_send == 0)
{ // Er is een mldorder_adres en zonder bevestiging versturen.
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = 1 WHERE mld_opdr_key = " + opdr_key;
Oracle.Execute(sql);
if (setopdrstatus == 5)
{ // Bij ORDNEW tracking wordt er niet genotificeerd. Dat moet als je mld_opdr_teverzenden op 1 zet nog gebeuren.
Oracle.Execute("BEGIN fac.notifytrackingbedrijven ('ORDNEW', " + opdr_key + "); END;");
}
}
else if (!oRs.eof && params.mld_opdr.typeopdr_confirm_for_send == 2)
{ // Er is een mldorder_adres maar nog niet laten oppikken door achtergrond putorders alleen uitstellen.
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = NULL WHERE mld_opdr_key = " + opdr_key;
Oracle.Execute(sql);
}
//else geen mldorder_adres, dan niet versturen.
oRs.Close();

View File

@@ -0,0 +1,141 @@
<% /*
$Revision$
$Id$
File: model_mld_opdr_materiaal.inc
Description:
Context: Alleen voor gebruik als include.
Notes:
*/
%>
<%
function model_mld_opdr_materiaal()
{
this.records_name = "issueordermaterials";
this.record_name = "issueordermaterial";
this.table = "mld_opdr_materiaal";
this.primary = "mld_opdr_materiaal_key";
this.record_title = L("mld_opdr_materiaal");
this.records_title = L("mld_opdr_materiaal_m");
this.fields = {
"id": {
"dbs": "mld_opdr_materiaal_key",
"label": L("lcl_key"),
"typ": "key",
"required": true,
"seq": "mld_s_mld_opdr_materiaal_key"
},
"order": {
"dbs": "mld_opdr_key",
"label": L("lcl_mld_opdr"),
"typ": "key"
},
"seq": {
"dbs": "mld_opdr_materiaal_id", // materiaal volgnummer binnen opdracht
"label": L("lcl_mld_opdr_id"),
"typ": "number"
},
"code": {
"dbs": "mld_opdr_materiaal_code",
"label": L("lcl_mld_opdr_code"),
"typ": "varchar"
},
"group": {
"dbs": "mld_opdr_materiaal_groep",
"label": L("lcl_mld_opdr_groep"),
"typ": "varchar"
},
"listdefined": {
"dbs": "fac_usrdata_key",
"label": L("mld_opdr_materiaal_oms"),
"typ": "key",
"foreign": {
"tbl": "fac_usrdata",
"key": "fac_usrdata_key",
"desc": "fac_usrdata_omschr"
}
},
"userdefined": {
"dbs": "mld_opdr_materiaal_omschr",
"label": L("lcl_mld_opdr_omschr"),
"typ": "varchar",
"required": true
},
"price": {
"dbs": "mld_opdr_materiaal_prijs",
"label": L("lcl_mld_opdr_prijs"),
"typ": "currency"
},
"vat_perc": {
"dbs": "fin_btwtabelwaarde_key",
"sql": "(SELECT fin_btwtabelwaarde_perc FROM fin_btwtabelwaarde where fin_btwtabelwaarde_key = mld_opdr_materiaal.fin_btwtabelwaarde_key)",
"label": L("lcl_fin_btwtabelwaarde_perc"),
"typ": "float"
},
"quantity": {
"dbs": "mld_opdr_materiaal_aantal",
"label": L("lcl_mld_opdr_aantal"),
"typ": "float"
},
"unit": {
"dbs": "mld_opdr_materiaal_eenheid",
"label": L("lcl_mld_opdr_eenheid"),
"typ": "varchar"
},
"unitcode": {
"dbs": "mld_opdr_materiaal_eenheidcode",
"label": L("lcl_mld_opdr_eenheidcode"),
"typ": "varchar"
},
"info": {
"dbs": "mld_opdr_materiaal_info",
"label": L("lcl_mld_opdr_info"),
"typ": "memo"
},
"extra1": {
"dbs": "mld_opdr_materiaal_extra1",
"label": L("lcl_mld_opdr_extra1"),
"typ": "varchar"
},
"extra2": {
"dbs": "mld_opdr_materiaal_extra2",
"label": L("lcl_mld_opdr_extra2"),
"typ": "varchar"
},
"extra3": {
"dbs": "mld_opdr_materiaal_extra3",
"label": L("lcl_mld_opdr_extra3"),
"typ": "memo"
},
"extra4": {
"dbs": "mld_opdr_materiaal_extra4",
"label": L("lcl_mld_opdr_extra4"),
"typ": "memo"
},
"externnr": {
"dbs": "mld_opdr_materiaal_externnr",
"label": L("extern_nr"),
"typ": "varchar",
"readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
},
"externsyncdate": {
"dbs": "mld_opdr_materiaal_extsyncdate",
"label": L("extern_syncdate"),
"typ": "datetime",
"readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
}
};
this.REST_GET = generic_REST_GET(this);
//this.REST_POST = generic_REST_POST(this);
//this.REST_PUT = generic_REST_PUT(this);
//this.REST_DELETE = generic_REST_DELETE(this);
}
%>

View File

@@ -122,8 +122,8 @@ function model_mld_srtkenmerk(params)
"code": {
"dbs": "mld_srtkenmerk_code",
"typ": "varchar",
"label": L("lcl_mld_code"),
"readonly": !user.has("WEB_FACTAB")
"label": L("mgt_srtkenmerk_code"),
"readonly": !user.has("WEB_PRSSYS")
}
};

View File

@@ -139,7 +139,6 @@ function model_mld_stdmelding()
"typ": "key",
"label": L("lcl_charge_type"),
"foreign": "prs_kostensoort",
"emptyoption": "",
"multiedit": true
},
"costcentre": {
@@ -214,8 +213,10 @@ function model_mld_stdmelding()
"LOV": "0;" + L("lcl_mld_onzichtbaar") + ";"
+ "1;" + L("lcl_mld_optioneel") + ";"
+ "2;" + L("lcl_mld_verplicht")
+ (S("ai_enabled") & 1 ? ";3;" : ";##DISABLED##;")
+ L("lcl_mld_ai_generated"),
+ ( ((S("ai_enabled") & 1) || mode == "api2")
? ";3;"
: ";##DISABLED##;"
) + L("lcl_mld_ai_generated"),
"emptyoption": null,
"multiedit": true
},
@@ -570,6 +571,16 @@ function model_mld_stdmelding()
"label": L("lcl_mld_stdpriomatrix"),
"multiedit": true
},
"bytag": {
"dbs": "mld_stdmelding_taggable",
"typ": "number",
"label": L("lcl_mld_stdtaggable"),
"LOV": "0;" + L("lcl_mld_stdtaggable0") + ";"
+ "1;" + L("lcl_mld_stdtaggable1") + ";"
+ "3;" + L("lcl_mld_stdtaggable3"),
"emptyoption": null,
"multiedit": true
},
"enddateempty": {
"dbs": "mld_stdmelding_enddate_empty",
"typ": "check0",

View File

@@ -188,6 +188,15 @@ function model_mld_typeopdr()
"label": L("mld_typeopdr_afhandeling"),
"typ": "check0"
},
"confirmforsend": {
"dbs": "mld_typeopdr_confirm_for_send",
"label": L("mld_typeopdr_confirmforsend"),
"typ": "number",
"multiedit": true,
"defaultvalue": "0",
"LOV": L("mld_typeopdr_confirmforsendLOV"),
"emptyoption": null
},
"mandatorycosts": {
"dbs": "mld_typeopdr_kosten_verplicht",
"label": L("mld_typeopdr_kosten_verplicht"),
@@ -250,6 +259,12 @@ function model_mld_typeopdr()
}
],
"track": true
},
"code": {
"dbs": "mld_typeopdr_code",
"label": L("lcl_mld_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
}
};

View File

@@ -0,0 +1,98 @@
<% /*
$Revision$
$Id$
File: model_msg_message.inc
Description: Bericht versturen
Parameters:
Context:
Notes:
*/
%>
<%
function model_msg_message()
{
this.table = "msg_message";
this.primary = "msg_message_key";
this.autfunction = "WEB_MSGBOF";
this.autfunction_add = "-"; // unsupported via SCF
this.record_name = "message";
this.records_name = "messages";
this.fields = {
"id": {
"dbs": "msg_message_key",
"label": L("lcl_key"),
"typ": "key",
"required": true,
"seq": "msg_s_msg_message_key"
},
"sender": {
"dbs": "prs_perslid_key",
"label": L("lcl_prs_bedrijfadres_afzender"), // LCL TODO
"typ": "key",
"foreign": "PRS_PERSLID",
"hidden_fld": true,
"defaultvalue": user_key
},
"subject": {
"dbs": "msg_message_onderwerp",
"label": L("lcl_mes_subject"),
"typ": "varchar",
"required": true
},
"description": {
"dbs": "msg_message_oms",
"label": L("lcl_mes_message"),
"typ": "memo",
"bb_codes": true,
"module": "MES",
"required": true
},
"priority": {
"dbs": "msg_message_prioriteit",
"label": L("lcl_mes_priority"),
"typ": "varchar",
"required": true,
"LOV": priorityLOV(), /* 1=high, 2=normal, 3=low */
"defaultvalue": 2 // Geet dit goed?
},
/* Doen de 2 onderstaande velden nog ergens ooit iets .. ?
"url": {
"dbs": "msg_message_url",
"label": L("lcl_mes_link"),
"typ": "varchar"
},
"reply_key": {
"dbs": "msg_message_replykey",
"label": L("lcl_mes_message_send"),
"typ": "key",
"foreign": {
"tbl": "msg_message",
"key": "msg_message_key",
"desc": "msg_message_oms"
},
"readonly": true
}, */
"created": {
"dbs": "msg_message_aanmaak",
"label": L("lcl_mes_send_date_time"),
"typ": "datetime",
"readonly": true
}
};
function priorityLOV() {
return "1;" + L("lcl_mes_high")
+ ";2;" + L("lcl_mes_normaal")
+ ";3;" + L("lcl_mes_low");
}
this.REST_GET = generic_REST_GET(this);
// this.REST_POST = generic_REST_POST(this);
// this.REST_PUT = generic_REST_PUT(this);
// this.REST_DELETE = generic_REST_DELETE(this);
}
%>

View File

@@ -22,7 +22,7 @@
function model_objects(ins_key, params)
{
params = params || {};
this.table = "ins_deel";
this.table = "ins_v_deelenonderdeel"; // Bij een update (PUT) en een insert (POST) is aangegeven dat het in de "ins_deel" tabel moet.
this.primary = "ins_deel_key";
this.records_name = "objects";
this.record_name = "object";
@@ -37,19 +37,20 @@ function model_objects(ins_key, params)
"placeholdertype": { dbs: "ins_alg_ruimte_type", typ: "varchar", track: true },
"placeholderkey": { dbs: "ins_alg_ruimte_key", typ: "number", track: true},
"placeholderloc": { dbs: "ins_alg_locatie_key", typ: "key", foreign: "alg_locatie", label: L("lcl_location")},
"location": { dbs: "ins_v_deel_gegevens.alg_locatie_key", typ: "key", foreign: "alg_locatie", label: L("lcl_location")},
"terrain": { dbs: "ins_v_deel_gegevens.alg_terreinsector_key", typ: "key", foreign: "alg_terreinsector", label: L("lcl_obj_bind_t")},
"building": { dbs: "ins_v_deel_gegevens.alg_gebouw_key", typ: "key", foreign: "alg_gebouw", label: L("lcl_building")},
"floor": { dbs: "ins_v_deel_gegevens.alg_verdieping_key", typ: "key", foreign: "alg_verdieping", label: L("lcl_floor")},
"room": { dbs: "ins_v_deel_gegevens.alg_ruimte_key", typ: "key", foreign: "alg_ruimte", label: L("lcl_room")},
"workplace": { dbs: "ins_v_deel_gegevens.prs_werkplek_key", typ: "key", foreign: "prs_werkplek", label: L("lcl_obj_bind_w")},
"owner": { dbs: "ins_v_deel_gegevens.prs_perslid_key", typ: "key", foreign: "prs_perslid", label: L("lcl_obj_bind_p")},
"department": { dbs: "ins_v_deel_gegevens.prs_afdeling_key", typ: "key", foreign: "prs_afdeling", label: L("lcl_obj_bind_a")},
"location": { dbs: "ins_v_deelenonderdeel_gegevens.alg_locatie_key", typ: "key", foreign: "alg_locatie", label: L("lcl_location")},
"terrain": { dbs: "ins_v_deelenonderdeel_gegevens.alg_terreinsector_key", typ: "key", foreign: "alg_terreinsector", label: L("lcl_obj_bind_t")},
"building": { dbs: "ins_v_deelenonderdeel_gegevens.alg_gebouw_key", typ: "key", foreign: "alg_gebouw", label: L("lcl_building")},
"floor": { dbs: "ins_v_deelenonderdeel_gegevens.alg_verdieping_key", typ: "key", foreign: "alg_verdieping", label: L("lcl_floor")},
"room": { dbs: "ins_v_deelenonderdeel_gegevens.alg_ruimte_key", typ: "key", foreign: "alg_ruimte", label: L("lcl_room")},
"workplace": { dbs: "ins_v_deelenonderdeel_gegevens.prs_werkplek_key", typ: "key", foreign: "prs_werkplek", label: L("lcl_obj_bind_w")},
"owner": { dbs: "ins_v_deelenonderdeel_gegevens.prs_perslid_key", typ: "key", foreign: "prs_perslid", label: L("lcl_obj_bind_p")},
"department": { dbs: "ins_v_deelenonderdeel_gegevens.prs_afdeling_key", typ: "key", foreign: "prs_afdeling", label: L("lcl_obj_bind_a")},
"state": { dbs: "ins_deel_state", typ: "varchar", label: L("lcl_deel_state")},
"statedate": { dbs: "ins_deel_statedate", typ: "datetime", label: L("lcl_deel_statedate")},
"expiration": { dbs: "ins_deel_vervaldatum", typ: "date", label: L("lcl_ins_vervaldatum"), track: true},
"active": { dbs: "ins_deel_actief", typ: "check0", label: L("lcl_ins_active"), track: true},
"manager": { dbs: "prs_perslid_key_beh", typ: "key", foreign: "prs_perslid", label: L("lcl_ins_manager"), track: true},
"parent": { dbs: "ins_deel_parent_key", typ: "key", foreign: "ins_deel", label: L("lcl_ins_parentobject")},
// TODO if MJB
"score1": { dbs: "ins_deel_mjb_score1", typ: "varchar", track: true, label: L("lcl_ins_deel_mjb_score1")},
"score2": { dbs: "ins_deel_mjb_score2", typ: "varchar", track: true, label: L("lcl_ins_deel_mjb_score2")},
@@ -151,7 +152,7 @@ function model_objects(ins_key, params)
{
if (!jsondata.name || !jsondata.type) // || !jsondata.objectdiscipline)
{
params.message = "Missing required fields";
params.message = L("lcl_missing_required_fields");
status = false;
}
if (status)
@@ -159,6 +160,11 @@ function model_objects(ins_key, params)
params.message = setPlaceholder(ins_key, jsondata);
status = (params.message == "");
}
if (status)
{
params.message = checkWithParent(ins_key, jsondata);
status = (params.message == "");
}
}
//PUT:
if (method == "PUT")
@@ -172,6 +178,11 @@ function model_objects(ins_key, params)
params.message = setPlaceholder(ins_key, jsondata);
status = (params.message == "");
}
if (status)
{
params.message = checkWithParent(ins_key, jsondata);
status = (params.message == "");
}
}
if (!status)
@@ -180,6 +191,54 @@ function model_objects(ins_key, params)
}
};
function checkWithParent(ins_key, jsondata)
{
var msg = "";
if (jsondata.parent > 0)
{
var child_type = jsondata.type;
if (ins_key > 0)
{ // srtdeel_key mag niet gewijzigd worden dus lees deze uit het bestaande record.
var sql = "SELECT ins_srtdeel_key"
+ " FROM ins_deel"
+ " WHERE ins_deel_key = " + ins_key;
var oRs = Oracle.Execute(sql);
child_type = oRs("ins_srtdeel_key").Value;
oRs.Close();
}
var sql = "SELECT ins_srtdeel_key"
+ " FROM ins_v_aanwezigdeel"
+ " WHERE ins_deel_key = " + jsondata.parent;
var oRs = Oracle.Execute(sql);
if (!oRs.EOF) {
var parent_type = oRs("ins_srtdeel_key").Value;
var sql_b = "SELECT (SELECT BITAND(ins_srtdeel_binding, 32)"
+ " FROM ins_srtdeel"
+ " WHERE ins_srtdeel_key = " + parent_type
+ " ) parent_child"
+ " , (SELECT BITAND(ins_srtdeel_binding, 32)"
+ " FROM ins_srtdeel"
+ " WHERE ins_srtdeel_key = " + child_type
+ " ) part_child"
+ " FROM DUAL";
var oRs_b = Oracle.Execute(sql_b);
if (oRs_b("parent_child").Value != 32) { // Het deel mag onderdelen hebben
msg = L("lcl_obj_allow_parts");
}
else if (oRs_b("part_child").Value != 0) { // Het onderdeel mag geen onderdelen hebben
msg = L("lcl_obj_nested_parts");
}
oRs_b.Close();
}
else {
msg = L("lcl_obj_not_found");
}
oRs.Close();
}
return msg;
}
function setPlaceholder(ins_key, jsondata)
{
// Bepaal met binding of het juiste veld voor plaats/eigenaar zijn ingevuld.
@@ -302,7 +361,7 @@ function model_objects(ins_key, params)
}
else
{
msg = "Unknown placeholder " + placeholder.ruimte_type + ":" + placeholder.ruimte_key;
msg = L("lcl_obj_unknown_placeholder").format(placeholder.ruimte_type, placeholder.ruimte_key);
}
oRs_l.Close();
}
@@ -312,7 +371,7 @@ function model_objects(ins_key, params)
}
}
else
msg = "No objectbinding found";
msg = L("lcl_obj_unknown_binding");
oRs.Close();
return msg;
@@ -321,6 +380,14 @@ function model_objects(ins_key, params)
this.REST_GET = function _GET(params)
{
var withcomponents = true; // default 2025.1 gedrag
if (params.filter.components == "0")
withcomponents = false; // oude 2024.3 gedrag (geen onderdelen)
if (!withcomponents)
{
this.tablesql = "ins_deel ins_v_deelenonderdeel"; // voor het gemak alias ins_v_deelenonderdeel
}
_check_authorization(params, "GET");
var query = api2.sqlfields(params, this);
@@ -328,11 +395,11 @@ function model_objects(ins_key, params)
// Toon standaard alleen de niet vervallen objecten, behalve als specifiek op object identificatie wordt gezocht.
if (!params.filter.expired && !params.filter.name)
{
query.wheres.push(" (ins_deel.ins_deel_vervaldatum IS NULL OR ins_deel.ins_deel_vervaldatum > TRUNC(SYSDATE))");
query.wheres.push(" (ins_v_deelenonderdeel.ins_deel_vervaldatum IS NULL OR ins_v_deelenonderdeel.ins_deel_vervaldatum > TRUNC(SYSDATE))");
}
query.tables.push("ins_srtdeel");
query.wheres.push("ins_deel.ins_srtdeel_key = ins_srtdeel.ins_srtdeel_key");
query.wheres.push("ins_v_deelenonderdeel.ins_srtdeel_key = ins_srtdeel.ins_srtdeel_key");
// Als Uitgegeven of Beschikbaar is meegegeven dan overzicht uitleenmodule.
if (params.filter.lentout || params.filter.avail)
@@ -350,7 +417,7 @@ function model_objects(ins_key, params)
// TODO: Add 3D authorization
// Alleen nog maar simpele 1D autorisatie
query.wheres.push(" ins_deel.ins_discipline_key IN"
query.wheres.push(" ins_v_deelenonderdeel.ins_discipline_key IN"
+ " (SELECT ins_discipline_key"
+ " FROM fac_v_webgebruiker"
+ " WHERE fac_functie_key = " + params.authparams.autfunctionkey
@@ -359,9 +426,17 @@ function model_objects(ins_key, params)
+ " AND fac_gebruiker_alg_level_read < 9)");
// TODO: We ondersteunen uitsluitend ruimte- werkplek- en persoonsgebonden objecten
query.tables.push("ins_v_deel_gegevens");
query.wheres.push("ins_deel.ins_alg_ruimte_type IN ('R', 'W', 'P') ");
query.wheres.push("ins_v_deel_gegevens.ins_deel_key = ins_deel.ins_deel_key");
// MGE: Let op dat de view "ins_v_deel_gegevens" geen onderdelen oplevert omdat de view afdwingt dat ins_deel_parent_key "NULL" moet zijn.
if (withcomponents)
{
query.tables.push("ins_v_deelenonderdeel_gegevens");
}
else
{
query.tables.push("ins_v_deel_gegevens ins_v_deelenonderdeel_gegevens"); // voor het gemak alias ins_v_deelenonderdeel_gegevens
}
query.wheres.push("ins_v_deelenonderdeel.ins_alg_ruimte_type IN ('R', 'W', 'P') ");
query.wheres.push("ins_v_deelenonderdeel_gegevens.ins_deel_key = ins_v_deelenonderdeel.ins_deel_key");
var wheres = api2.sqlfilter(params, this)
query.wheres = query.wheres.concat(wheres);
@@ -438,4 +513,3 @@ function model_objects(ins_key, params)
}
%>

View File

@@ -240,17 +240,20 @@ function model_orders(opdr_key, params)
var sql = "SELECT mld_typeopdr_materiaal"
+ " , mld_typeopdr_slamode"
+ " , mld_typeopdr_isofferte"
+ " , mld_typeopdr_confirm_for_send"
+ " , mld_typeopdr_gvs"
+ " , mld_typeopdr_fvs"
+ " , mld_typeopdr_kosten"
+ " FROM mld_typeopdr"
+ " WHERE mld_typeopdr_key = " + params.mld_opdr.opdr_type;
oRs = Oracle.Execute(sql);
params.mld_opdr.mld_typeopdr_materiaal = oRs("mld_typeopdr_materiaal").Value;
params.mld_opdr.mld_typeopdr_slamode = oRs("mld_typeopdr_slamode").Value;
params.mld_opdr.mld_typeopdr_isofferte = oRs("mld_typeopdr_isofferte").Value;
params.mld_opdr.mld_typeopdr_gvs = oRs("mld_typeopdr_gvs").Value || 0;
params.mld_opdr.mld_typeopdr_fvs = oRs("mld_typeopdr_fvs").Value || 0;
params.mld_opdr.mld_typeopdr_materiaal = oRs("mld_typeopdr_materiaal").Value;
params.mld_opdr.mld_typeopdr_slamode = oRs("mld_typeopdr_slamode").Value;
params.mld_opdr.mld_typeopdr_isofferte = oRs("mld_typeopdr_isofferte").Value;
params.mld_opdr.mld_typeopdr_confirm_for_send = oRs("mld_typeopdr_confirm_for_send").Value;
params.mld_opdr.mld_typeopdr_gvs = oRs("mld_typeopdr_gvs").Value || 0;
params.mld_opdr.mld_typeopdr_fvs = oRs("mld_typeopdr_fvs").Value || 0;
var needKostenplaats = oRs("mld_typeopdr_kosten").Value == 1;
oRs.Close();
@@ -1040,8 +1043,7 @@ function model_orders(opdr_key, params)
+ " AND k.mld_srtkenmerk_key = t.mld_srtkenmerk_key"
+ " AND t.mld_srtkenmerk_verwijder IS NULL"
+ " AND t.mld_srtkenmerk_kenmerktype <> 'M'"
+ " AND (k.mld_kenmerk_volgnummer <= 100"
+ " OR k.mld_kenmerk_volgnummer >= 900)" // Alleen bij of na afmelden mogen afmeld-kenmerken tussen de 100..900
+ " AND BITAND(k.mld_kenmerk_rolcode, 5) > 0" // Alleen bij of na afmelden mogen afmeld-kenmerken 0x0
+ " AND " + sql_kenmerkwaarde + " IS NOT NULL";
Oracle.Execute(sql_insert);
}
@@ -1199,9 +1201,23 @@ function model_orders(opdr_key, params)
if (upd_params.initopdrkey < 0 && params.filter.copyorder_key < 0 && params.mld_opdr.mld_typeopdr_isofferte == 1)
{ // Meerdere offerte opdrachten aanmaken
for (var u = 0; u < upd_params.uitvkeyArray.length; u++)
{ // putorders.sendMLDorders doen we hier niet, altijd scheduled via putorders
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = 1 WHERE mld_opdr_key = " + upd_params.opdrkeyArray[u];
Oracle.Execute(sql);
{
if (params.mld_opdr.mld_typeopdr_confirm_for_send < 2)
{ // Zonder bevestiging versturen.
// Oppikken door achtergrond putorders
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = 1 WHERE mld_opdr_key = " + upd_params.opdrkeyArray[u];
Oracle.Execute(sql);
if (params.mld_opdr.opdr_status == 5)
{ // Bij ORDNEW tracking wordt er niet genotificeerd. Dat moet als je mld_opdr_teverzenden op 1 zet nog gebeuren.
Oracle.Execute("BEGIN fac.notifytrackingbedrijven ('ORDNEW', " + upd_params.opdrkeyArray[u] + "); END;");
}
}
else if (params.mld_opdr.mld_typeopdr_confirm_for_send == 2)
{ // Nog niet laten oppikken door achtergrond putorders alleen uitstellen.
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = NULL WHERE mld_opdr_key = " + upd_params.opdrkeyArray[u];
Oracle.Execute(sql);
}
}
}
else
@@ -1217,20 +1233,30 @@ function model_orders(opdr_key, params)
// of de opdracht elektrisch verstuurd moet worden. Zo ja, dan
if (!oRs.eof)
{
if (autoorder || S("mld_opdr_confirm_for_send") != 1) // meldracht
if (autoorder || params.mld_opdr.mld_typeopdr_confirm_for_send == 0) // meldracht
{ // Code uit order_mail.asp komen we anders niet.
var puo_result = putorders.sendMLDorders(opdr_key);
if (!puo_result)
{ // mld_opdr_teverzenden is op 1 gezet door sendMLDorders, putorders schedule probeert wel weer
doneParams.warning = L("lcl_puo_order_failfirst");
// Oppikken door achtergrond putorders
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = 1 WHERE mld_opdr_key = " + opdr_key;
Oracle.Execute(sql);
if (params.mld_opdr.opdr_status == 5)
{ // Bij ORDNEW tracking wordt er niet genotificeerd. Dat moet als je mld_opdr_teverzenden op 1 zet nog gebeuren.
Oracle.Execute("BEGIN fac.notifytrackingbedrijven ('ORDNEW', " + opdr_key + "); END;");
}
var puo_result = putorders.sendMLDorders(opdr_key);
}
else if (S("mld_opdr_confirm_for_send") == 1)
else if (params.mld_opdr.mld_typeopdr_confirm_for_send == 1)
{ // Gaat straks vragen: "Zal ik electronisch versturen?"
// Let op: zelfs gevraagd als nog gefiatteerd moet worden
// Putorders negeert hem nog zolang hij ter fiattering staat!
doneParams.asksend = true;
}
else if (params.mld_opdr.mld_typeopdr_confirm_for_send == 2)
{ // Nog niet laten oppikken door achtergrond putorders alleen uitstellen.
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = NULL WHERE mld_opdr_key = " + opdr_key;
Oracle.Execute(sql);
}
}
else
{ // Als via setting mogelijkheid/workaround enabled om zelfs als er geen mldorder_adres

View File

@@ -129,6 +129,16 @@ function model_prs_afdeling()
this.REST_GET = generic_REST_GET(this, gparams);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
this.REST_DELETE = function (params, the_key)
{
var autparams = user.checkAutorisation(this.autfunction);
user.auth_required_or_abort(autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9);
var sql = "BEGIN prs.set_afdeling_verwijder({0}); END;".format(the_key);
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
api2.error(400, err.friendlyMsg); // Veronderstel Bad Request
return { key: the_key, warning: "" };
}
}
%>

View File

@@ -4,13 +4,19 @@
File: model_prs_bedrijfadres.inc
Description:
Description: De technische adressen van bedrijven of systemen waar Facilitor berichten naar toe kan sturen.
Dit kunnen bijvoorbeeld emailadressen zijn, maar ook URL's voor SOAP of REST services.
Er zijn drie categorie<69>n van adressen, afhankelijk van prs_bedrijf_intern van het bijbehorende "bedrijf"
NULL: een externe partij (het bedrijf dat opdrachten krijgt)
1: een interne partij (het bedrijf van de melder enzo)
2: een systeem (een generiek kanaal)
Context:
Notes:
*/
%>
<!-- #include file="../api2/model_prs_bedrijfadres_srtnoti.inc" -->
<%
function model_prs_bedrijfadres()
@@ -23,6 +29,7 @@ function model_prs_bedrijfadres()
this.records_title = L("lcl_prs_bedrijfadres_title");
this.autfunction = "WEB_PRSMGT";
this.defaultIcon = "fa-address-card";
this.trackcode = "PRSUPT";
this.fields = {
"id": {
@@ -37,190 +44,286 @@ function model_prs_bedrijfadres()
"typ": "key",
"label": L("prs_bedrijf_naam2"), /* label obv prs_bedrijf_bedrijf, lijkt onlogisch, is goed */
"foreign": {
"tbl": "prs_bedrijf",
"tbl": "prs_bedrijf", // or 2??
"key": "prs_bedrijf_key",
"desc": "prs_bedrijf_naam"
}
},
"infoPointer": {
"Url": "appl/prs/prs_bedrijf.asp?bedrijf_key="
},
"insertonly": true
},
"company2": {
"dbs": "prs_bedrijf_key2",
"typ": "key",
"label": L("prs_bedrijf_naam1"),/* label obv prs_bedrijf_bedrijf, lijkt onlogisch, is goed */
"foreign": {
"tbl": "prs_bedrijf",
"tbl": "(SELECT prs_bedrijf_key, prs_bedrijf_naam FROM prs_bedrijf WHERE prs_bedrijf_intern=1)",
"key": "prs_bedrijf_key",
"desc": "prs_bedrijf_naam"
}
},
"channel": {
/* We houden deze toch nog even onder de pet, omdat we voor type 2 bedrijfsnaam als systeemnaam gebruiken
"name": {
"dbs": "prs_bedrijfadres_omschrijving",
"label": L("lcl_prs_bedrijfadres_omschrijving"),
"typ": "varchar",
"required": false, // wmb required als bedrijf_intern = 2/kanaal = generiek TODO
"filter": "like"
},
*/ "channel": {
"dbs": "prs_bedrijfadres_type",
"typ": "varchar",
"required": true,
"label": L("lcl_prs_bedrijfadres_type"),
"LOV": bedrijfadrestypeLOV(),
"track": true
},
"ordertype": {
"ordertype": { // alleen relevant voor kanaal Opdrachten
"dbs": "mld_typeopdr_key",
"typ": "key",
"label": L("lcl_mld_typeopdr"),
"foreign": "mld_typeopdr",
"multiedit": true,
"track": true
},
"discipline": {
"dbs": "ins_discipline_key",
"typ": "key",
"label": L("mgt_discipline"),
"foreign": "mld_typeopdr",
"multiedit": true,
"track": true
},
"address": {
"dbs": "prs_bedrijfadres_url", // = protocol + url
"typ": "varchar",
"required": true,
"label": L("lcl_prs_bedrijfadres_url"),
"multiedit": true,
"track": true
},
"sender": {
"dbs": "prs_bedrijfadres_sender",
"typ": "varchar",
"label": L("lcl_prs_bedrijfadres_afzender"),
"placeholder": S("puo_fromaddress"),
"multiedit": true,
"track": true
},
"replyaddress": {
"dbs": "prs_bedrijfadres_replyaddress",
"typ": "varchar",
"label": L("lcl_prs_bedrijfadres_replyadres"),
"placeholder": S("puo_replyaddress"),
"multiedit": true,
"track": true
},
"district": {
"dbs": "alg_district_key",
"typ": "key",
"label": L("lcl_district"),
"foreign": "alg_district",
"foreign": { tbl: "alg_district",
key: "alg_district_key",
desc: "alg_district_omschrijving",
where: "alg_district_verwijder IS NULL"
},
"multiedit": true,
"track": true
},
"location": {
"dbs": "alg_locatie_key",
"typ": "key",
"label": L("lcl_location"),
"foreign": "alg_locatie",
"foreign": { tbl: "alg_locatie",
key: "alg_locatie_key",
desc: "alg_locatie_code",
name: "alg_locatie_omschrijving",
where: "alg_locatie_verwijder IS NULL" }, // TODO lijkt onafhankelijk van district
"multiedit": true,
"track": true
},
"username": {
"dbs": "prs_bedrijfadres_username",
"typ": "varchar",
"label": L("lcl_prs_bedrijfadres_username"),
"multiedit": true,
"track": true
},
"password": {
"dbs": "prs_bedrijfadres_password",
"typ": "varchar",
"label": L("lcl_prs_bedrijfadres_wachtwoord"),
"track": true
"multiedit": true,
"track": true,
"secret": true
},
"authmode": {
"dbs": "prs_bedrijfadres_authmethod",
"typ": "number",
"defaultvalue": 0,
"multiedit": true,
"label": L("lcl_prs_bedrijfadres_authmethod"),
"LOV": L("lcl_prs_bedrijfadres_authmethodLOV")
"LOV": L("lcl_prs_bedrijfadres_authmethodLOV"),
"required": true
},
"oa_token_url": {
"dbs": "prs_bedrijfadres_oa_token_url",
"typ": "varchar",
"multiedit": true,
"label": L("lcl_prs_bedrijfadres_oa_token_url")
},
"oa_scope": {
"dbs": "prs_bedrijfadres_oa_scope",
"typ": "varchar",
"multiedit": true,
"label": L("lcl_prs_bedrijfadres_oa_scope")
},
"oa_resource": {
"dbs": "prs_bedrijfadres_oa_resource",
"typ": "varchar",
"multiedit": true,
"label": L("lcl_prs_bedrijfadres_oa_resource")
},
"ordermode": {
"dbs": "prs_bedrijfadres_ordermode",
"typ": "number",
"label": L("lcl_prs_companies_order_mode"),
"track": true
"multiedit": true,
"track": true,
"LOV": ordermodeLOV()
},
/* future use
"soapversion": {
"dbs": "prs_bedrijfadres_soapversion",
"typ": "varchar",
"label": L("lcl_prs_bedrijfadres_soapversion"),
"multiedit": true,
"track": true
},
*/
"soapaction": {
"dbs": "prs_bedrijfadres_soapaction",
"typ": "varchar",
"label": L("lcl_prs_bedrijfadres_soapaction"),
"multiedit": true,
"track": true
},
"certificate": {
"dbs": "prs_bedrijfadres_certificate",
"typ": "varchar",
"label": L("lcl_prs_companies_order_certificate"),
"multiedit": true,
"track": true
},
"stylesheet": {
"dbs": "prs_bedrijfadres_xsl",
"typ": "varchar",
"label": L("lcl_prs_companies_xsl"),
"multiedit": true,
"track": true
},
"xslerrorhandler": {
"dbs": "prs_bedrijfadres_error_handler",
"typ": "check0",
"label": L("lcl_prs_companies_error_handler"),
"multiedit": true,
"track": true
},
"extension": {
"dbs": "prs_bedrijfadres_ext",
"typ": "varchar",
"label": L("lcl_prs_bedrijfadres_ext"),
"multiedit": true,
"track": true
},
"sendattachment": {
"dbs": "prs_bedrijfadres_flexfiles",
"typ": "number",
"defaultvalue": 0,
"label": L("lcl_puo_order_flexfiles"),
"LOV": bijlagemeesturenLOV()
"multiedit": true,
"LOV": bijlagemeesturenLOV(),
"required": true
},
"encoding": {
"dbs": "prs_bedrijfadres_encoding",
"typ": "number",
"defaultvalue": 0,
"label": L("lcl_prs_bedrijfadres_encoding"),
"LOV": encodingLOV()
"multiedit": true,
"LOV": encodingLOV(),
"required": true
},
"lockuser": {
"dbs": "prs_bedrijfadres_lockuser_key",
"typ": "key",
"label": L("lcl_prs_bedrijfadres_lockuser"),
"foreign": "prs_perslid",
"multiedit": true,
"track": true
},
"locksecret": {
"dbs": "prs_bedrijfadres_locksecret",
"typ": "varchar",
"label": L("lcl_prs_bedrijfadres_locksecret"),
"track": true
"hidden_fld": true, // Met de combinatie hidden_fld en readonly wordt de waarde in het veld bij bewaren niet opgeslagen.
"readonly": true, // Als met de resetknop dit veld wordt gewist wordt de oude waarde dus niet weer opgeslagen bij bewaren van het bedrijfadres.
"multiedit": true,
"track": true,
"secret": true
},
"lockexpire": {
"dbs": "prs_bedrijfadres_lockexpire",
"typ": "number",
"label": L("lcl_prs_bedrijfadres_lockexpire"),
"multiedit": true,
"track": true
},
"loglevel": {
"dbs": "prs_bedrijfadres_loglevel",
"typ": "number",
"defaultvalue": 0,
"label": L("lcl_prs_bedrijfadres_loglevel"),
"track": true
"track": true,
"required": true
},
"charset": {
"dbs": "prs_bedrijfadres_charset",
"typ": "varchar",
"multiedit": true,
"label": L("lcl_prs_bedrijfadres_charset"),
"LOV": L("lcl_prs_bedrijfadres_charsetLOV")
},
"attachfile": {
"dbs": "prs_bedrijfadres_attachfile",
"typ": "varchar",
"typ": "file",
"module": "BDRADR",
"icon": "fa-file-lines",
"defaultValue": L("lcl_prs_bedrijfadres_bijlage"),
"label": L("lcl_prs_bedrijfadres_bijlage"),
"multiedit": true,
"track": true
},
"plugin": {
"dbs": "prs_bedrijfadres_plugin",
"typ": "varchar",
"multiedit": true,
"label": L("prs_bedrijfadres_plugin")
},
"plugindata": {
"dbs": "prs_bedrijfadres_plugindata",
"typ": "memo",
"multiedit": true,
"label": L("prs_bedrijfadres_plugindata")
},
"startdate": {
"dbs": "prs_bedrijfadres_startdatum",
"label": L("prs_bedrijf_startdatum"),
"typ": "date",
"multiedit": true,
"defaultvalue": new Date(),
"track": true
}
};
@@ -228,12 +331,18 @@ function model_prs_bedrijfadres()
function bedrijfadrestypeLOV()
{
return "B;"+ L("lcl_prs_bedrijfadres_type_b")
+ ";C;"+ L("lcl_prs_bedrijfadres_type_c")
+ ";N;"+ L("lcl_prs_bedrijfadres_type_n")
+ ";O;"+ L("lcl_prs_bedrijfadres_type_o")
+ ";V;"+ L("lcl_prs_bedrijfadres_type_v")
+ ";I;"+ L("lcl_prs_bedrijfadres_type_i");
return "B;" + L("lcl_prs_bedrijfadres_type_b")
+ ";C;" + L("lcl_prs_bedrijfadres_type_c")
+ ";N;" + L("lcl_prs_bedrijfadres_type_n")
+ ";O;" + L("lcl_prs_bedrijfadres_type_o")
+ ";R;" + L("lcl_prs_bedrijfadres_type_r")
+ ";E;" + L("lcl_prs_bedrijfadres_type_e_intern") // enige waarde als prs_bedrijf_intern = 1, niet voor de rest
+ ";G;" + L("lcl_prs_bedrijfadres_type_g") // tbd, komt overeen met prs_bedrijf_intern = 2
+ ";V;" + L("lcl_prs_bedrijfadres_type_v") // BES voorraad of MARX planrequest
+ ";I;" + L("lcl_prs_bedrijfadres_type_i")
+ ";S;" + L("lcl_prs_bedrijfadres_type_s")
//+ ";P;" + L("lcl_prs_bedrijfadres_type_p") // planrequests
;
};
function bijlagemeesturenLOV(prs_type)
@@ -258,14 +367,29 @@ function model_prs_bedrijfadres()
return "0;" + L("lcl_encoding_text_xml")
+ ";1;" + L("lcl_encoding_multipart_form")
+ ";2;" + L("lcl_encoding_application_json")
+ ";4;" + L("lcl_encoding_form_urlencoded")
};
function ordermodeLOV()
{ // Initi<74>el leeg, wordt onLoad gevuld door onChangeAddress
return "0;0"
+ ";1;1"
+ ";5;5"
+ ";13;13"
};
this.hook_pre_edit = this.hook_pre_multi_edit = function (obj, fld) { %>
<script type="text/javascript">
var email_regexp = new RegExp("<%=safe.jsstring(S("email_regexp"))%>", "ig");
</script>
<% }
this._pre_analyze_fields = function(params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
{
var authparams = user.checkAutorisation(this.autfunction, true);
user.auth_required_or_abort(authparams && (authparams.ALGwritelevel < 9 || authparams.PRSwritelevel < 9));
if (jsondata.channel != "O")
if (jsondata.channel && jsondata.channel != "O")
jsondata.ordertype = -1;
};
@@ -275,18 +399,27 @@ function model_prs_bedrijfadres()
this._validate_fields = function(dbfields, params, jsondata) /* valideer fields, alle constraints die niet door de database worden afgevangen */
{
if (jsondata.channel == "B" && jsondata.sendattachment == 2)
abort_with_warning(L("mgt_validation_error_1").format(L("lcl_puo_order_flexfiles")));
if (jsondata.encoding < 1 || jsondata.encoding > 3)
abort_with_warning(L("mgt_validation_error_1").format(L("lcl_prs_bedrijfadres_encoding")));
var fout_adres = true;
if (jsondata.address && jsondata.address != "")
if ( ("channel" in jsondata) && ("sendattachment" in jsondata)
&& jsondata.channel == "B" && jsondata.sendattachment == 2)
{
abort_with_warning(L("mgt_validation_error_1").format(L("lcl_puo_order_flexfiles")));
}
if (("encoding" in jsondata) && (jsondata.encoding < 0 || jsondata.encoding > 4)) {
abort_with_warning(L("mgt_validation_error_1").format(L("lcl_prs_bedrijfadres_encoding")));
}
if (("address" in jsondata) && jsondata.address != "")
{
var fout_adres = true;
var protocol = "";
var arr = (jsondata.address||"").split(":");
if (arr.length > 1)
if (arr.length == 1 && new RegExp(S("email_regexp"), "ig").test(jsondata.address))
{
jsondata.address = 'mailto:' + jsondata.address;
fout_adres = false;
}
else if (arr.length > 1)
{
switch (arr[0])
{
@@ -294,14 +427,16 @@ function model_prs_bedrijfadres()
case "file": protocol = arr[0] + ":"; break;
case "https":
case "http":
case "ftp": protocol = arr[0] + "://"; break;
case "ftp":
case "sftp": protocol = arr[0] + "://"; break;
default: protocol = jsondata.address; // Geen van bovengenoemde protocollen: levert straks fout_adres=true.
}
fout_adres = jsondata.address.substr(protocol.length) == "";
}
if (fout_adres) {
abort_with_warning(L("mgt_validation_error_1").format(L("lcl_prs_bedrijfadres_url")));
}
}
if (fout_adres)
abort_with_warning(L("mgt_validation_error_1").format(L("lcl_prs_bedrijfadres_url")));
// bestaat de ingevulde xsl-file
var fso = Server.CreateObject("Scripting.FileSystemObject")
@@ -310,6 +445,17 @@ function model_prs_bedrijfadres()
abort_with_warning(xsl + " not found");
};
this.includes = {
"srtnotifications": {
"model": new model_prs_bedrijfadres_srtnoti(),
"joinfield": "companyconnect",
"multiadd": "srtnotification",
"enable_update": true,
"required": true,
"notransport": true // TRIGGER prs_t_prs_bedrijfadres_A_I maakt al wat srtnoti aan, met clonen zou dat tot dubbelen leiden.
}
};
this.REST_GET = generic_REST_GET(this);
this.REST_POST = function _POST(params, jsondata)
{
@@ -330,5 +476,6 @@ function model_prs_bedrijfadres()
return generic_REST_PUT(this)(params, jsondata, the_key);
};
this.REST_DELETE = generic_REST_DELETE(this);
}
%>

View File

@@ -0,0 +1,96 @@
<% /*
$Revision$
$Id$
File: model_prs_bedrijfadres_srtnoti.inc
Description:
Context:
Notes:
*/
%>
<%
function model_prs_bedrijfadres_srtnoti()
{
this.records_name = "companyconnectsrtnotis";
this.record_name = "companyconnectsrtnoti";
this.table = "prs_bedrijfadres_srtnoti";
this.primary = "prs_bedrijfadres_srtnoti_key";
this.record_title = L("lcl_prs_bedrijfadres_srtnoti_frame");
this.records_title = L("lcl_prs_bedrijfadres_srtnoti_title");
this.autfunction = "WEB_PRSMGT";
this.defaultIcon = "fa-address-card";
this.fields = {
"id": {
"dbs": "prs_bedrijfadres_srtnoti_key",
"seq": "prs_s_prs_bedrijfadres_srtnoti_key",
"typ": "key",
"label": L("lcl_key"),
"required": true
},
"companyconnect": {
"dbs": "prs_bedrijfadres_key",
"typ": "key",
"label": L("lcl_prs_companies_name_sys"),
"insertonly": true,
"foreign": {
"tbl": "(SELECT prs_bedrijfadres_key, prs_bedrijf_naam"
+ " FROM prs_bedrijfadres pba, prs_bedrijf pb"
+ " WHERE pba.prs_bedrijf_key = pb.prs_bedrijf_key)",
"key": "prs_bedrijfadres_key",
"desc": "prs_bedrijf_naam"
}
},
"srtnotification": {
"dbs": "fac_srtnotificatie_key",
"typ": "key",
"insertonly": true,
"label": L("fac_srtnotificatie_code"),
"uniquewith": "companyconnect",
"multiaddsize": 10,
"foreign": {
"tbl": "fac_srtnotificatie",
"key": "fac_srtnotificatie_key",
"desc": "fac_srtnotificatie_code || DECODE(fac_srtnotificatie_oms, NULL, '', ' (' || lcl.l(fac_srtnotificatie_oms) || ')')",
"where": "fac_srtnotificatie_code NOT LIKE '%TRK'"
}
},
/*
"address": {
"dbs": "prs_bedrijfadres_url", // = protocol + url
"typ": "varchar",
"label": L("lcl_prs_bedrijfadres_url"), // als overrule
"track": true
},
"method": {
"dbs": "prs_bedrijfadres_method", // = PUT/PATCH/POST enz.
"typ": "varchar",
"label": L("lcl_prs_bedrijfadres_method"), // als overrule
"track": true
},
*/
"created": {
"dbs": "prs_bedrijfadres_srtnoti_aanmaak",
"label": L("aut_sp_aanmaak"),
"typ": "date",
"readonly": true
}
};
this.edit = {
"modal": true
};
this.list = {
"columns": ["srtnotification", "companyconnect", "created"]
};
this.REST_GET = generic_REST_GET(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_POST = generic_REST_POST(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
%>

View File

@@ -20,9 +20,9 @@ function model_prs_kenmerk(niveau, params)
this.table = "prs_kenmerk";
this.primary = "prs_kenmerk_key";
this.soft_delete = "prs_kenmerk_verwijder";
this.autfunction = params.internal?false:"WEB_PRSMGT";
this.record_title = L("mgt_kenmerk") + " " + get_prs_naam(niveau);
this.records_title = L("mgt_kenmerk_m") + " " + get_prs_naam(niveau);
this.autfunction = params.internal ? false : "WEB_PRSMGT";
this.record_title = L("mgt_kenmerk_of") + " " + get_prs_naam(niveau);
this.records_title = L("mgt_kenmerk_m_of") + " " + get_prs_naam(niveau);
this.module = "PRS";
this.fields = {
@@ -45,8 +45,17 @@ function model_prs_kenmerk(niveau, params)
"dbs": "prs_kenmerk_volgnr",
"label": L("mgt_kenmerk_volgnummer"),
"typ": "number",
"len": 3,
"required": true
},
"rolecode": {
"dbs": "prs_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: ( niveau == "C" ? "REL" : "PRS") }),
"required": true,
"multiedit": true
},
"name": {
"dbs": "prs_kenmerk_omschrijving",
"label": L("mgt_kenmerk_omschrijving"),
@@ -79,6 +88,7 @@ function model_prs_kenmerk(niveau, params)
"label": L("mgt_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList(),
"emptyisrealvalue": true,
"emptyoption": null
},
"group": {
@@ -89,10 +99,39 @@ function model_prs_kenmerk(niveau, params)
"LOV": buildGroepsverplichtingList(),
"emptyoption": null
},
// "readonly": {
// "dbs": "prs_kenmerk_toonbaar",
// "label": L("mgt_kenmerk_toonbaar"),
// "typ": "check",
// "multiedit": true
// },
"readonly": {
"dbs": "prs_kenmerk_toonbaar",
"label": L("mgt_kenmerk_toonbaar"),
"typ": "check"
"typ": "number",
"multiedit": true,
"bits": [
{
"name": "ktoon",
"label": "",
"showasgroup": false,
"typ": "check",
"mask": 3,
"radios": [
{
"name": "ktoon1",
"label": L("mgt_kenmerk_toonbaar"),
"mask": 1,
"defaultvalue": 0
},
{
"name": "ktoon2",
"label": L("lcl_prs_in_profile"),
"mask": 2,
"defaultvalue": 0
}
]
}]
},
"system": {
"dbs": "prs_kenmerk_systeem",
@@ -102,6 +141,7 @@ function model_prs_kenmerk(niveau, params)
{
"name": "",
"label": "",
"showasgroup": false,
"typ": "check",
"mask": 15,
"radios": [
@@ -155,7 +195,7 @@ function model_prs_kenmerk(niveau, params)
"label": L("mgt_srtkenmerk_nmax"),
"typ": "number"
},
"position": {
"position": { // rare tag, position, dit is de functie
"dbs": "prs_srtperslid_key",
"label": L("prs_srtperslid_key"),
"typ": "key",
@@ -163,7 +203,8 @@ function model_prs_kenmerk(niveau, params)
"tbl": "prs_srtperslid",
"key": "prs_srtperslid_key",
"desc": "prs_srtperslid_omschrijving"
} },
}
},
"domain": {
"dbs": "fac_kenmerkdomein_key",
"label": L("mgt_kenmerkdomein_key"),
@@ -189,9 +230,9 @@ function model_prs_kenmerk(niveau, params)
},
"code": {
"dbs": "prs_kenmerk_code",
"label": L("lcl_prs_code"),
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
"readonly": !user.has("WEB_PRSSYS")
},
"authorization": {
"dbs": "fac_functie_key",

View File

@@ -52,6 +52,11 @@ function model_prs_perslid(params)
this.records_title = L("prs_perslid_m");
this.autfunction = params.internal?false:"WEB_PRSSYS"; // we controleren zelf
if ((typeof mode != "undefined") && (params.extra_auth.length > 0))
{
this.autfunction = [this.autfunction].concat(params.extra_auth);
}
this.fields = {
"id": {
"dbs": "prs_perslid_key",
@@ -130,7 +135,7 @@ function model_prs_perslid(params)
"dbs": "prs_perslid_oslogin",
"label": L("lcl_prs_person_login"),
"typ": "varchar",
"len": 30,
"len": 256,
"filter": "exact",
"caseinsensitive": true,
"hasupper": "prs_perslid_oslogin"
@@ -314,11 +319,13 @@ function model_prs_perslid(params)
query.wheres.push("prs_perslid.prs_perslid_verwijder IS NULL");
var authparamsUSE = user.checkAutorisation("WEB_PRSUSE", true);
if (hasPRSSYS)
{
{
/* zijn we verder klaar */
}
}
else if (!authparamsUSE) // PAS OP: Dit verwacht AAFM-API niet!!!
{
query.wheres.push("prs_perslid.prs_perslid_key = " + user_key);
}
else
{
// Zonder PRSSYS heb je hier niets mee te maken

View File

@@ -12,32 +12,43 @@
*/
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<!-- #include file="../Shared/discxalg3d.inc" -->
<!-- #include file="../ALG/alg.inc" -->
<!-- #include file="./model_districts.inc" -->
<!-- #include file="./model_alg_kenmerk.inc" -->
<%
model_regions =
function model_regions(regio_key, params)
{
table: "alg_regio",
primary: "alg_regio_key",
records_name: "regions",
record_name: "region",
fields: {"id": { dbs: "alg_regio_key", typ: "key" },
"name": { dbs: "alg_regio_omschrijving", typ: "varchar", label: L("lcl_estate_regio_descr"), track: true},
"externnr": { dbs: "alg_regio_externnr", typ: "varchar", label: L("extern_nr"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))},
"externsyncdate": { dbs: "alg_regio_externsyncdate", typ: "datetime", label: L("extern_syncdate"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))},
"deleted": { dbs: "alg_regio_verwijder", typ: "datetime", label: L("lcl_deleted")}
},
includes: { "districts": { model: model_districts, joinfield: "region" }
},
this.table = "alg_regio";
this.primary = "alg_regio_key";
this.records_name = "regions";
this.record_name = "region";
this.fields = {
"id": { dbs: "alg_regio_key", typ: "key" },
"name": { dbs: "alg_regio_omschrijving", typ: "varchar", label: L("lcl_estate_regio_descr"), track: true},
"externnr": { dbs: "alg_regio_externnr", typ: "varchar", label: L("extern_nr"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))},
"externsyncdate": { dbs: "alg_regio_externsyncdate", typ: "datetime", label: L("extern_syncdate"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))},
"deleted": { dbs: "alg_regio_verwijder", typ: "datetime", label: L("lcl_deleted")}
};
this.includes = {
"districts": {
model: new model_districts(this),
joinfield: "region"
},
"custom_fields" : {
"model": new model_custom_fields(this, new model_alg_kenmerk("E", { internal: true }), { readman: true, readuse: true }),
"joinfield": "flexparentkey",
"enable_update": true
}
};
_check_authorization: function(params, method)
{
_check_authorization = function(params, method)
{
var scope = params.filter.scope || "fe";
var autfunction = (scope == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN");
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
var onrgoedlvl = "RG";
var onrgoedlvl = "E";
if (method == "GET")
{
if (params.filter.id)
@@ -60,14 +71,23 @@ model_regions =
user.auth_required_or_abort(this_alg.writeman);
}
params.func_enabled = this_alg || {};
},
_pre_analyze_fields: function (params, jsondata) /* analyseer inkomende jsondata voor PUT en POST */
};
_pre_analyze_fields = function (params, jsondata) /* analyseer inkomende jsondata voor PUT en POST */
{
};
this.REST_GET = function _GET(params, jsondata)
{
},
REST_GET: function _GET(params, jsondata)
{
model_regions._check_authorization(params, "GET");
var query = api2.sqlfields(params, model_regions);
_check_authorization(params, "GET");
var query = api2.sqlfields(params, this);
if (params.flexparams && params.flexparams.anyflex)
{
this.fields.algflex = params.flexparams.algflex;
query.selects.push(params.flexparams.sql);
}
if (!params.filter.show_deleted)
query.wheres.push("alg_regio_verwijder IS NULL");
@@ -82,24 +102,26 @@ model_regions =
if (params.filter.isNew)
query.wheres.push("alg_regio_key = -1"); // Forceer leeg record.
if (params.filter.kenmerk_sql)
query.wheres.push(params.filter.kenmerk_sql);
var wheres = api2.sqlfilter(params, model_regions);
var wheres = api2.sqlfilter(params, this);
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ (query.wheres.length ? " WHERE " + query.wheres.join(" AND " ) : "")
+ " ORDER BY alg_regio_key, alg_regio_omschrijving";
var json = api2.sql2json (params, sql, model_regions);
var json = api2.sql2json (params, sql, this);
return json;
},
REST_PUT: function (params, jsondata, the_key) /* update region */
};
this.REST_PUT = function (params, jsondata, the_key) /* update region */
{
model_regions._check_authorization(params, "PUT");
_check_authorization(params, "PUT");
if (!jsondata.id) jsondata.id = the_key;
var reg_key = the_key;
var dbfields = api2.update_fields(params, model_regions, jsondata); // Build updater
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
var wheres = [" alg_regio_key = " + reg_key];
var regUpd = buildTrackingUpdate("alg_regio", wheres.join(" AND " ), dbfields, { noValidateToken: true });
@@ -114,13 +136,14 @@ model_regions =
}
return { key: reg_key, warning: warning };
},
REST_POST: function (params, jsondata) /* new region */
};
this.REST_POST = function (params, jsondata) /* new region */
{
params.isNew = true;
model_regions._check_authorization(params, "POST");
_check_authorization(params, "POST");
var dbfields = api2.update_fields(params, model_regions, jsondata); // Build updater
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
dbfields["id"] = {dbs: "alg_regio_key", typ: "key", seq: "alg_s_alg_regio_key" };
var regIns = buildInsert("alg_regio", dbfields, { noValidateToken: true });
var reg_key = regIns.sequences["alg_regio_key"];
@@ -131,10 +154,11 @@ model_regions =
warning = err.friendlyMsg;
return { key: reg_key, warning: warning };
},
REST_DELETE: function (params, the_key) /* delete region */
};
this.REST_DELETE = function (params, the_key) /* delete region */
{
model_regions._check_authorization(params, "DELETE");
_check_authorization(params, "DELETE");
var regio_key = params.filter.id;
var sql = "UPDATE alg_regio"
+ " SET alg_regio_verwijder = SYSDATE"
@@ -145,6 +169,6 @@ model_regions =
params.warning = err.friendlyMsg;
return { key: regio_key, warning: warning };
}
};
}
%>

View File

@@ -359,6 +359,11 @@ function model_reportcolumns(usrrap_key, params)
return { key: col_key, warning: "" };
}
if (params.internal || hasFACTAB || hasUDRMAN)
{
this.REST_POST = this._REST_POST;
}
if (rap_key > 0)
{
// var rap_data = model_reportsx(rap_key); te veel recursie
@@ -368,13 +373,10 @@ function model_reportcolumns(usrrap_key, params)
var oRs = Oracle.Execute(sql);
var functie = oRs("fac_usrrap_functie").Value || 0;
oRs.Close();
if (functie & 32) // template
if (functie & 32) { // template
this.REST_PUT = false;
}
if (params.internal || hasFACTAB || hasUDRMAN)
{
this.REST_POST = this._REST_POST;
this.REST_POST = false;
}
}
}

View File

@@ -294,8 +294,7 @@ function model_reports(fac_usrrap_key)
oRs.Close();
}
var url_column = [];
var url_groupby = [];
var url_column, url_groupby;
for (var i = 0; i < usrrap.columns.length; i++)
{
var label = safe.html(usrrap.columns[i].caption); // (lcl) Labels worden altijd geacht html-safe te zijn
@@ -338,9 +337,8 @@ function model_reports(fac_usrrap_key)
};
// Voor gewone rapporten zijn expressies via tablesql opgelost
// Styled rapporten gaan echter via xml.make_xml2 welke tablesql niet gebruikt
if (model.styling && (model.styling & 1))
{
field.sql = usrrap.columns[i].expression;
if (model.styling && (model.styling & 1) && usrrap.columns[i].expression) {
field.sql = usrrap.columns[i].expression.format(usrrap.viewname);
}
if (usrrap.columns[i].urllink)
@@ -419,8 +417,8 @@ function model_reports(fac_usrrap_key)
{ // V=Zichtbaar, S=Zichtbaar, verberg herhalingen, U=Klik-actie, "C"=Visible combine, "I"=onzichtbaar, "H"=verborgen
if (usrrap.columns[i].visible.id == "U") // kolom wordt als url gebruikt.
{ // Als de kolom als url-key kolom wordt gebruikt dan deze als laatste kolom toevoegen zodat deze nooit als x-as genomen kan worden.
url_column.push(fld);
url_groupby.push(field.group.id);
url_column = fld;
url_groupby = field.group.id;
}
else
{
@@ -448,11 +446,10 @@ function model_reports(fac_usrrap_key)
}
// De url-key kolom altijd als laatste kolom toevoegen zodat deze geen invloed heeft op de orderby en nooit als x-as genomen kan worden.
if (url_column.length)
{ // Er kan maar 1 kolom als url-key kolom optreden. We pakken de eerste.
model.list.columns.push(url_column[0]);
model.list.groupby.push(url_groupby[0]);
keyfield = url_column[0];
if (url_column) {
model.list.columns.push(url_column);
model.list.groupby.push(url_groupby);
keyfield = url_column;
}
return model;
@@ -668,7 +665,7 @@ function report_GET(params)
}
else
{
if (params.groupby[0] != "U" && this.fields[fld].dbs.match(/^hide_f/)) // Doorgaans meenemen om te sorteren
if (params.groupby[0] != "U" && this.fields[fld].dbs.match(/^hide_f/)) // Doorgaans meenemen om te sorteren
{
this.fields[fld].hidden = false;
params.columns.splice(0, 0, fld);
@@ -677,6 +674,9 @@ function report_GET(params)
else
{
this.fields[fld].hidden = true; // Onnodige velden niet ophalen
if (this.fields[fld].visible != "H") { // Hidden velden mogen meedingen in de volgorde, uitgevinkte velden niet
this.fields[fld].exclForOrder = true;
}
}
}
}
@@ -830,104 +830,137 @@ function report_GET(params)
var autosorting = true; // uitsluitend autosorting?
for (var fld in this.fields)
{
var field = this.fields[fld]
var field = this.fields[fld];
// Als er een kolom niet in de select aanwezig is (die we willen/gaan zien) dan deze kolom niet meenemen in de sortering.
var inselect = false;
for (var i = 0; i < params.columns.length; i++)
{
if (params.columns[i] === fld)
inselect = true;
}
if (inselect && field.sorting) // is er niet voor scf_count/scf_ratio
if (field.sorting) // is er niet voor scf_count/scf_ratio
autosorting = autosorting && (field.sorting.id == 3)
}
if (autosorting)
{
for (var i=0; i < query.selects.length; i++)
{
var colname = query.selects[i].split(".").pop().toUpperCase(); // achterste stuk
if (!isclob[colname])
order.push(i+1);
// Probeer deze (potentieel) afgeleide expressie terug te herleiden tot de eigenlijke kolomnaam
function _unpackFieldName(fld) {
var unpackedFld = fld;
if (fld.indexOf("TO_CHAR(") > -1) {
unpackedFld = fld.replace("TO_CHAR(", "").split(",")[0];
} else if (fld.indexOf("TRUNC(") > -1) {
unpackedFld = fld.replace("TRUNC(", "").split(",")[0];
} else if (fld.indexOf("DISTINCT(") > -1) {
unpackedFld = fld.replace("DISTINCT(", "").split(")")[0];
} else if (fld.indexOf("SUM(") > -1) {
unpackedFld = fld.replace("SUM(", "").split(")")[0];
} else if (fld.indexOf("COUNT(") > -1) {
unpackedFld = fld.replace("COUNT(", "").split(")")[0];
} else if (fld.indexOf("AVG(") > -1) {
unpackedFld = fld.replace("AVG(", "").split(")")[0];
}
return unpackedFld;
}
function _orderPushFieldDB(fieldsIndex) {
var fld = thisFields[fieldsIndex].fld;
if (!params.filter.distinct || params.filter.distinct && fld == params.filter.distinct) {
var field = this.fields[fld];
if (field.sorting && !isclob[field.dbs.toUpperCase()])
{
// Sortering op x-as of y-as gebeurt nu verder op.
// TODO: case 1 en 2 kunnen nu samen genomen worden.
switch (field.sorting.id)
{
case 1:
order.push(field.dbs);
break;
case 2:
order.push(field.dbs + " DESC");
break;
case 3: // Als er geen specifieke sortering voor een filter is gegeven moet dit veld wel in de order_by staan
if (params.filter.distinct || autosorting)
order.push(field.dbs);
break;
}
}
else
{
if (params.filter.distinct || autosorting)
order.push(field.dbs);
}
// Voeg dit veld nu ook toe aan de GROUP BY als het er nog niet in zit.
var found = false;
// strip DESC and ASC from orderby-fieldname
var fieldstr;
if (fld === "id") { // = Keyfield
fieldstr = field.dbs;
} else {
fieldstr = fld.split(" ")[0];
}
if (!inArray((params.groupby[fieldsIndex] || "G"), ["S", "C", "A"])) { // Geen aggregate functie
for (var j = 0; j < groupbys.length && !found; j++) {
// remove a TO_CHAR expression to enable field - field comparison, preventing double group-by fields
found = fieldstr == _unpackFieldName(groupbys[j]);
}
if (!found) { // De orderby waarde bestaat niet in de groupby array. Voeg de orderby waarde dan toe aan de groupby.
groupbys.push(fieldstr);
}
}
}
}
else
{
for (var fld in this.fields)
{
// Alleen de aangevinkte kolommen, die zijn meegegeven in de link (params.columns), aan de ORDER BY (order) toevoegen.
var found = false;
for (var j = 0; j < params.columns.length; j++)
{
found = found || (params.columns[j] == fld);
}
if (found && (!params.filter.distinct || (params.filter.distinct && (fld == params.filter.distinct))))
{
var field = this.fields[fld];
if (field.sorting && !isclob[field.dbs.toUpperCase()])
{
// Sortering op x-as of y-as gebeurt nu verder op.
// TODO: case 1 en 2 kunnen nu samen genomen worden.
switch (field.sorting.id)
{
case 1:
order.push(field.dbs);
break;
case 2:
order.push(field.dbs + " DESC");
break;
case 3: // Als er geen specifieke sortering voor een filter is gegeven moet dit veld wel in de order_by staan
if (params.filter.distinct)
order.push(field.dbs);
break;
}
}
else
{
if (params.filter.distinct)
order.push(field.dbs);
}
// Alle(en) de zichtbare kolommen moeten meedingen in de sortering vd query, evenzo de ^hide_f, en keyfield-kolommen
var thisFields = []; // Arrays kennen een volgorde, objecten niet ..
for (var fld in this.fields) {
if (
this.fields[fld].exclForOrder // Ik ben uitgevinkt
|| (inArray(this.fields[fld].visible, ["I", "H"]) && // Ik ben een hidden veld
this.fields[fld].sorting.id == 3) // en er wordt niet expliciet op mij gesorteerd (op-/aflopend)
|| (this.fields[fld].sql && // Ik ben een berekend veld,
this.fields[fld].dbs != _unpackFieldName(this.fields[fld].sql)) // maar ik weet niet van welk originele veld ik afgeleid ben
) {
continue; // Skip
}
thisFields.push(this.fields[fld]);
thisFields[thisFields.length - 1].fld = fld;
for (var x = 0; x < params.columns.length; x++) {
if (fld === params.columns[x]) {
thisFields[thisFields.length - 1].inColumns = true;
break;
}
}
}
// De parameters van orderby moeten ook in de groupby zitten. Ander krijg je de foutmelding "Geen GROUP BY-uitdrukking."
for (var i = 0; i < order.length; i++)
{
var found = false;
// strip DESC and ASC from orderby-fieldname
var orderstr = order[i].split(" ")[0];
for (var j = 0; j < groupbys.length; j++)
{
// remove a TO_CHAR expression to enable field - field comparison, preventing double group-by fields
var groupbystr = groupbys[j];
if (groupbys[j].indexOf("TO_CHAR(") > -1)
groupbystr = groupbys[j].replace("TO_CHAR(", "").split(",")[0];
else if (groupbys[j].indexOf("TRUNC(") > -1)
groupbystr = groupbys[j].replace("TRUNC(", "").split(",")[0];
else if (groupbys[j].indexOf("DISTINCT(") > -1)
groupbystr = groupbys[j].replace("DISTINCT(", "").split(")")[0];
else if (groupbys[j].indexOf("SUM(") > -1)
groupbystr = groupbys[j].replace("SUM(", "").split(")")[0];
else if (groupbys[j].indexOf("COUNT(") > -1)
groupbystr = groupbys[j].replace("COUNT(", "").split(")")[0];
else if (groupbys[j].indexOf("AVG(") > -1)
groupbystr = groupbys[j].replace("AVG(", "").split(")")[0];
found = found || (orderstr == groupbystr);
}
if (!found)
{ // De orderby waarde bestaat niet in de groupby array. Voeg de orderby waarde dan toe aan de groupby.
groupbys.push(orderstr)
}
// Sortering mede mogelijk gemaakt door ChatGPT; behoudt de positie van evt. onzichtbare kolommen,
// maar pas de positie (voor de sortering) van de zichtbare kolommen aan naar de werkelijke volgorde
var columnsArray = [];
var positions = [];
for (var i = 0; i < thisFields.length; i++) {
if (thisFields[i].inColumns) {
columnsArray.push(thisFields[i]);
positions.push(i); // Onthoud de originele posities
}
}
columnsArray.sort(function(a, b) {
var indexA = sharedIndexOf(a.fld, params.columns);
var indexB = sharedIndexOf(b.fld, params.columns);
// Als indexA of indexB niet in params.columns zit, behandel dat als -1
if (indexA === -1) indexA = params.columns.length;
if (indexB === -1) indexB = params.columns.length;
return indexA - indexB;
});
// Zet de gesorteerde objecten terug op hun originele posities
for (var i = 0; i < positions.length; i++) {
thisFields[positions[i]] = columnsArray[i];
}
for (var x = 0; x < thisFields.length; x++) {
_orderPushFieldDB.call(this, x);
}
if (groupbys.length && hasAggregate)
sql += " GROUP BY " + groupbys.join(", ");
if (order.length)
sql += " ORDER BY " + order.join(", ");
sql += " ORDER BY " + order.join(", ");
if (params.filter.limit > 0)
maxcnt = parseInt(params.filter.limit, 10);
else

View File

@@ -255,6 +255,12 @@ function model_reportsx(usrrap_key, rapparams)
typ: "varchar",
label: L("lcl_usrrap_parameters"),
multiedit: true
},
"created" : { "dbs": "fac_usrrap_aanmaak",
"label": L("lcl_usrrap_aanmaak"),
"typ": "datetime",
"clone": false,
"readonly": true
}
};
@@ -299,7 +305,8 @@ function model_reportsx(usrrap_key, rapparams)
"model": new model_fac_notificatie_job({ niveau: "S"}),
"joinfield": "fac_usrrap_key",
"enable_update": true,
"label": L("lcl_schedule_frm_report")
"label": L("lcl_schedule_frm_report"),
"notransport": true // te ingewikkeld, ook geen cloning
}
};

View File

@@ -67,7 +67,7 @@ function model_res_activiteit_discipline()
};
this.list = {
"columns": [
"id",
// "id",
"bookingdiscipline",
"bookingactivity"
]

View File

@@ -24,11 +24,6 @@ function model_res_discipline(disc_key, params)
// E<>n model voor de buitenwereld
api2.merge_disc_params_model(this, _model_res_discipline);
this.hook_pre_edit = function (obj, fld, params)
{
fld.costtype.foreign = mgt.pre_edit_kostensoort(obj);
}
this.hook_post_post = function (params, obj, key)
{
var org_disc_key = getQParamInt("id", -1);
@@ -112,7 +107,6 @@ _model_res_discipline = // Internal only
"label": L("prs_kostensoort_key"),
"typ": "key",
"foreign": "prs_kostensoort",
"LOVinit": "",
"multiedit": true,
"showtransit": true
},

View File

@@ -44,12 +44,16 @@ function model_res_kenmerk(niveau, params)
"foreign": {
"tbl": "(SELECT res_srtkenmerk_key"
+ " , res_srtkenmerk_omschrijving"
+ (mode != "list"
? " || ' (' || res_srtkenmerk_kenmerktype || ')'"
: "")
+ " oms"
+ " , res_srtkenmerk_kenmerktype"
+ " FROM res_srtkenmerk"
+ " WHERE res_srtkenmerk_verwijder is null"
+ " ORDER BY res_srtkenmerk_omschrijving ASC)",
"key": "res_srtkenmerk_key",
"desc": "res_srtkenmerk_omschrijving",
"desc": "oms",
"extravalue": "res_srtkenmerk_kenmerktype"
},
"LOVinit": "",
@@ -76,8 +80,17 @@ function model_res_kenmerk(niveau, params)
"dbs": "res_kenmerk_volgnummer",
"label": L("res_kenmerk_volgnummer"),
"typ": "number",
"len": 3,
"required": true
},
"rolecode": {
"dbs": "res_kenmerk_rolcode",
"label": L("mgt_kenmerk_rolcode"),
"typ": "number",
"LOV": buildKenmerkRoleCodeLOV({ module: "RES" }),
"required": true,
"multiedit": true
},
"bookingactivity": {
"dbs": "res_activiteit_key",
"label": L("res_activiteit_key"),
@@ -129,6 +142,7 @@ function model_res_kenmerk(niveau, params)
"label": L("res_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList(),
"emptyisrealvalue": true,
"emptyoption": null,
"multiedit": true
},
@@ -177,9 +191,9 @@ function model_res_kenmerk(niveau, params)
},
"code": {
"dbs": "res_kenmerk_code",
"label": L("lcl_res_code"),
"label": L("mgt_kenmerk_code"),
"typ": "varchar",
"readonly": !user.has("WEB_FACTAB")
"readonly": !user.has("WEB_PRSSYS")
},
"authorization": {
"dbs": "fac_functie_key",
@@ -287,14 +301,6 @@ function model_res_kenmerk(niveau, params)
return result;
}
function buildVerplichtingList()
{ // LOV waarden voor required.
var s = ";" + L("res_kenmerk_verplicht_0")
+ ";1;" + L("res_kenmerk_verplicht_1")
+ ";2;" + L("res_kenmerk_verplicht_2");
return s;
}
function buildLevelList()
{ // LOV waarden voor required.
var s = "A;" + L("res_activiteit_key")
@@ -303,16 +309,6 @@ function model_res_kenmerk(niveau, params)
return s;
}
function buildGroepsverplichtingList()
{ // LOV waarden voor group.
var s = "0;" + "<" + L("lcl_none") + ">";
for (var i=1; i<=9; i++)
{
s = s + ";" + i + ";" + L("res_kenmerk_groep") + " " + i;
}
return s;
}
this.REST_GET = generic_REST_GET(this, gparams);
this.REST_POST = generic_REST_POST(this);

View File

@@ -28,6 +28,8 @@ function model_res_ruimte()
this.record_title = L("res_ruimte");
this.records_title = L("res_ruimte_m");
var hasRESMGT = user.has("WEB_RESMGT");
this.fields = {
"id": {
"dbs": "res_ruimte_key",
@@ -276,7 +278,8 @@ function model_res_ruimte()
"externalid": {
"dbs": "res_ruimte_extern_id",
"label": L("res_ruimte_extern_id"),
"typ": "varchar"
"typ": "varchar",
"readonly": !hasRESMGT
},
"externalsyncdate": {
"dbs": "res_ruimte_externsyncdate",
@@ -305,6 +308,7 @@ function model_res_ruimte()
"label": L("res_ruimte_microsoft_teams"),
"typ": "number",
"LOV": L("res_ruimte_microsoft_teamsLOV"),
"readonly": !hasRESMGT,
"required": true,
"defaultvalue": 0,
"multiedit": true
@@ -317,16 +321,15 @@ function model_res_ruimte()
"defaultvalue": 0,
"hidden_fld": !user.has("WEB_FACTAB"),
"multiedit": true
},
"maxhorizon": {
"dbs": "res_ruimte_limiet",
"label": L("res_ruimte_limiet"),
"typ": "number",
"multiedit": true
}
};
// veld "res_ruimte_extern_id" alleen te wijzigen met PRSSYS rechten.
var authparams = user.checkAutorisation("WEB_PRSSYS", true);
if (!authparams) {
this.fields.externalid.readonly = true;
this.fields.onlineMeetingProviders.readonly = true;
}
this.includes = {
"physicalrooms": {
"model": new model_res_alg_ruimte(),

View File

@@ -119,8 +119,8 @@ function model_res_srtkenmerk(params)
"code": {
"dbs": "res_srtkenmerk_code",
"typ": "varchar",
"label": L("lcl_res_code"),
"readonly": !user.has("WEB_FACTAB")
"label": L("mgt_srtkenmerk_code"),
"readonly": !user.has("WEB_PRSSYS")
}
};

View File

@@ -176,7 +176,7 @@ model_reservationequipment =
}
var sql = "BEGIN "
+ resIns.sql + ";"
+ " res.set_delen_dirty (" + rsv_deel_key + "); "
+ " res.set_delen_dirty (" + rsv_ruimte_key + "); "
+ check_fail_sql
+ "END;";
var err = Oracle.Execute(sql, true);

View File

@@ -98,9 +98,8 @@ function model_rooms(room_key, params)
function _check_authorization (params, method)
{
params.message = "";
var autfunction = (params.filter.scope == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN");
var autfunction = ["WEB_RUIUSE", "WEB_RUIMAN"];
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
switch (method)
{
case "GET":

View File

@@ -103,7 +103,7 @@ function doLogin(prs_key, params)
+ " fac_session_expire,"
+ " fac_session_useragent,"
+ " fac_session_ip)"
+ " VALUES(fac.makehash(" + safe.quoted_sql(Session("FACSESSIONID")) + "), "
+ " VALUES(" + safe.quoted_sql(shared.makehash(Session("FACSESSIONID"))) + ", "
+ user_key + ","
+ " SYSDATE+1, " // 24 uur is genoeg
+ safe.quoted_sql(agent, 256) + ","
@@ -117,7 +117,8 @@ function doLogin(prs_key, params)
}
var registersql = "UPDATE prs_perslid"
+ " SET prs_perslid_login = SYSDATE"
+ " WHERE prs_perslid_key=" + user_key;
+ " WHERE prs_perslid_key=" + user_key
+ " AND (prs_perslid_login IS NULL OR prs_perslid_login < SYSDATE - 1/24/60)"; // Eens per minuut bijwerken is genoeg
Oracle.Execute(registersql);
Session("user_key") = user_key; // Nu ben je pas *echt* ingelogd
@@ -239,10 +240,11 @@ function setUserFromSession (p_session)
{
// TODO: Hier wil ik ooit de user_key eigenlijk ook hebben uit
// een cookie zodat deze query efficienter wordt.
var sql = "SELECT prs_perslid_key, fac_session_data "
var sql = "SELECT fac_session_key, prs_perslid_key, fac_session_data "
+ " FROM fac_session "
+ " WHERE fac_session_expire > sysdate "
+ " AND fac_session_sessionid_hash = fac.makehash(" + safe.quoted_sql(p_session) + ")";
+ " AND fac_session_sessionid_hash IN ({0}, {1})".format(safe.quoted_sql(shared.makehashMD5(p_session)), // 30 dagen na de release mag de makehashMD5 weg
safe.quoted_sql(shared.makehash(p_session)));
var oRs = Oracle.Execute( sql );
if (!oRs.eof)
{
@@ -251,8 +253,7 @@ function setUserFromSession (p_session)
// verwijder de huidige sessie
sql = "DELETE fac_session"
+ " WHERE prs_perslid_key = " + user_key // index-performance
+ " AND fac_session_sessionid_hash = fac.makehash(" + safe.quoted_sql(p_session) + ")";
+ " WHERE fac_session_key = " + oRs("fac_session_key").Value;
Oracle.Execute(sql);
// makeSessionCookie(sessionData); aanroeper bepaalt maar of er een nieuwe sessie komt
}
@@ -275,7 +276,7 @@ function makeSessionCookie (sessionData)
+ " fac_session_useragent,"
+ " fac_session_ip) "
+ " VALUES ( "
+ "fac.makehash(" + safe.quoted_sql(sessionId) + "), "
+ safe.quoted_sql(shared.makehash(sessionId)) + ", "
+ user_key + ", "
+ safe.quoted_sql(sessionData) + ", "
+ " sysdate + " + S("login_remember_days") + ", " // sessie timeout op 30 dagen.
@@ -305,7 +306,7 @@ function deleteSessionCookie (cookiename)
{
var sql = "DELETE fac_session"
+ " WHERE prs_perslid_key = " + user_key // index-performance
+ " AND fac_session_sessionid_hash = fac.makehash(" + safe.quoted_sql(session) + ")";
+ " AND fac_session_sessionid_hash = " + safe.quoted_sql(shared.makehash(session));
Oracle.Execute(sql);
}
@@ -449,17 +450,7 @@ function testpassword(prs_key, wachtwoord, params)
var arr = passhash.split("$");
if (arr.length == 1) // Old style
{
var sql = "SELECT 1"
+ " FROM prs_perslid"
+ " WHERE prs.testpassword(prs_perslid_key, " + safe.quoted_sql(wachtwoord) + ") = 1"
+ " AND prs_perslid_key = " + prs_key
var oRs = Oracle.Execute(sql);
var found = !oRs.Eof;
oRs.Close();
if (!found)
return false;
// else iets verderop upgraden!
var workfactor = 0;
return false; // die is altijd ongeldig en kan alleen via 'wachtwoord vergeten' aangepast worden
}
else // new style
{
@@ -526,7 +517,7 @@ function setpassword(prs_key, wachtwoord, expired, upgrade)
+ " SET prs_perslid_wachtwoord_exp = " + newexpire
+ " , prs_perslid_salt = " + safe.quoted_sql(passsalt)
+ " , prs_perslid_wachtwoord_hash = " + safe.quoted_sql('1${0}${1}'.format(workfactor, new_hash))
+ " , prs_perslid_credentials_datum = SYSDATE" // doet 2023.3 trigger niet goed als S("login_use_email") == 1
+ " , prs_perslid_credentials_datum = SYSDATE"
+ " WHERE prs_perslid_key = " + prs_key;
Oracle.Execute(sql);
}
@@ -793,15 +784,9 @@ function getIdentity(username, wachtwoord, params)
var logins = [];
logins.push(" prs_perslid_apikey = " + safe.quoted_sql(username, 128)); // Die mag altijd wel
if (S("login_use_email"))
{
logins.push(" upper(prs_perslid_email) = " + safe.quoted_sql_upper(username));
}
else
{
logins.push(" prs_perslid_oslogin = " + safe.quoted_sql_upper(username, 30));
logins.push(" prs_perslid_oslogin2 = " + safe.quoted_sql_upper(username, 30));
}
logins.push(" upper(prs_perslid_email) = " + safe.quoted_sql_upper(username));
logins.push(" prs_perslid_oslogin = " + safe.quoted_sql_upper(username, 256));
logins.push(" prs_perslid_oslogin2 = " + safe.quoted_sql_upper(username, 256));
var block_flags = 4+8; // Niet grouped of blocked, 2==unconfirmed staan we nog heel even toe
if (!params.stateless)
@@ -1250,6 +1235,7 @@ function jwt_warn(claim, subject)
var body = JSON.stringify(claim.payload, null, 4);
__DoLog(subject, "#FF0080")
__DoLog(body);
__DoLog("Bovenstaande wordt per e-mail gestuurd naar iedereen met WEB_PRSSYS");
// Naar iedereen met PRSSYS
var sql = "BEGIN fac.putsystemnotification({0}, 3); END;".format(safe.quoted_sql(subject + "<br><pre>" + body + "</pre>")); // 3=portal+email
Oracle.Execute(sql);
@@ -1390,11 +1376,9 @@ function process_claim(claim, idp_data, params)
switch (idpm.name.id) // zie model_aut_idp_map.inc voor codering
{
case 1: // login
settings.overrule_setting("login_use_email", 0);
tryLogin(claim[idpm.from], null, { noPassword: true, idp_code: idp_data.code, stateless: params.by_bearer, isFACFACinternal: isFACFACinternal });
break;
case 9: // email
settings.overrule_setting("login_use_email", 1);
tryLogin(claim[idpm.from], null, { noPassword: true, idp_code: idp_data.code, stateless: params.by_bearer, isFACFACinternal: isFACFACinternal });
break;
case 12: // externalid, geen break
@@ -1544,7 +1528,9 @@ function process_claim_update(claim, idp_data, params)
var idpm = idp_data.idpmappings[i];
var val = idpm["default"];
if (idpm.from in claim)
{
val = claim[idpm.from];
}
switch (idpm.name.id) // zie model_aut_idp_map.inc voor codering
{
@@ -1561,12 +1547,28 @@ function process_claim_update(claim, idp_data, params)
case 11: persdata["mobile"] = val; break;
case 12: // externalid, geen break
case 13: persdata["externalid"] = val; break;
case 14: persdata["employeenumber"]= val; break;
// de foreigns
case 20: if (val)
persdata["function"] = { name: val }; break; // Kan omdat fields.function.desc_is_unique is gezet
case 20: if (val) // functie (=srtperslid)
{ // Bestaat de functie
var sql = "SELECT prs_srtperslid_omschrijving"
+ " FROM prs_srtperslid"
+ " WHERE prs_srtperslid_verwijder IS NULL"
+ " AND prs_srtperslid_upper = " + safe.quoted_sql_upper(val);
var oRs = Oracle.Execute(sql);
if (oRs.eof)
{ // Niet gevonden dus toevoegen
var sql_ins = "INSERT INTO prs_srtperslid"
+ " (prs_srtperslid_omschrijving)"
+ " VALUES (" + safe.quoted_sql(val) + ")";
Oracle.Execute(sql_ins);
}
oRs.Close();
persdata["function"] = { name: val };
break; // Kan omdat fields.function.foreign.desc_is_unique is gezet
}
case 21: if (val) // afdeling
{
// Zoek afdeling
{ // Zoek afdeling
var sql = "SELECT prs_afdeling_key"
+ " FROM prs_v_afdeling"
+ " WHERE prs_afdeling_verwijder IS NULL"
@@ -1581,16 +1583,48 @@ function process_claim_update(claim, idp_data, params)
sql += " AND prs_bedrijf_key = " + idp_data.company.id;
}
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
{
__Log("Claimed department {0} not found".format(val));
// Er komt eventueel wel een fallback naar idp_data.department.id
if (oRs.eof)
{ // Niet gevonden dus toevoegen
// department of company moet bekend zijn (uit idp_data)
var afd_fld = "";
var afd_val = "";
if (idp_data.department && idp_data.department.id)
{
afd_fld += ", prs_afdeling_parentkey";
afd_val += ", " + idp_data.department.id;
}
else if (idp_data.company && idp_data.company.id)
{
afd_fld += ", prs_bedrijf_key";
afd_val += ", " + idp_data.company.id;
}
if (afd_fld != "")
{
var sql = "SELECT prs_s_prs_afdeling_key.nextval FROM DUAL";
var oRs_seq = Oracle.Execute(sql);
var afd_key = oRs_seq(0).Value;
oRs_seq.Close();
var sql_ins = "INSERT INTO prs_afdeling"
+ "( prs_afdeling_key, prs_afdeling_naam" + afd_fld + ")"
+ "VALUES"
+ "( " + afd_key
+ ", " + safe.quoted_sql(val)
+ afd_val
+ ")";
Oracle.Execute(sql_ins);
persdata["department"] = afd_key;
}
else
{ // Geen bedrijf en parent-afdeling bekend
__Log("Claimed department {0} not inserted: no company and parent department".format(val));
}
}
else
{
{ // Bestaande afdeling
var afd_key = oRs("prs_afdeling_key").Value;
oRs.MoveNext();
if (!oRs.Eof)
if (!oRs.eof)
shared.internal_error("Claimed department {0} not unique".format(val));
persdata["department"] = afd_key;

View File

@@ -47,8 +47,8 @@ else
// Als je dit punt bereikt ben je al geauthenticeerd door SAML
var issuer = String(Request.ServerVariables("HTTP_SHIBIDENTITYPROVIDER"));
if (DEBUGMODE)
{
issuer = "https://sts.aareon.com/adfs/services/trust";
{ // zie tabel aut_idp, veld aut_idp_issuer!
issuer = "https://sts.windows.net/eecdf8ce-039d-4c8a-8";
}
__Log("Detected SAML identity provider (entityId): " + issuer);
@@ -93,9 +93,13 @@ if (DEBUGMODE)
"jti": "#j.grootlipman3@facilitorxxxx.nl#1609773359696",
"aud": "logc.facilitor.nl",
"iss": "PROVTEST",
"HTTP_MAIL": "j.grootlipman3@facilitorxxxx.nl",
"voornaam": "Jos",
"afdeling": "Onbekend",
"HTTP_FCLTEMAIL": "naam_a.mail@facilitorxxxx.nl",
"HTTP_FCLTNAME": "_FACILITOR", // Login
"HTTP_FCLTSURNAME": "Facilitor",
"HTTP_FCLTGIVENNAME": "voornaam_a",
"HTTP_FCLTDEPARTMENT": "afdeling_a",
"HTTP_FCLTJOBTITLE": "functie_a",
"HTTP_PERSOONNR": "1234567",
"ver": "1.0"
}
}

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