stefan.tollkuehn
9ae3f0a344
Fix 412 on contact search by opting out CSRF
...
Nextcloud checks the CSRF token on every controller method
without NoCSRFRequired, GET included. The invitee input's
bare fetch sends no request token, so the search answered
412 Precondition Failed. The endpoint is a read-only
address book query without side effects, so the attribute
is safe here.
2026-10-22 19:06:03 +02:00
stefan.tollkuehn
cc1fd4e508
Add live contact search to invitee input
...
The static datalist only carried the first 50 address book
contacts, so typed fragments could not match anything beyond
that. A new read-only GET /contacts/search endpoint queries
the full address book per keystroke, and a small vanilla JS
combobox shows the results and replaces only the fragment
after the last separator, so comma-separated lists keep
working. The server-rendered datalist remains as the no-JS
fallback; the JS removes the list attribute at runtime so
the native popup does not double the custom one.
2026-10-22 18:50:46 +02:00
stefan.tollkuehn
2070e9c390
add option to invite users to new calendar entry
2026-10-22 18:19:12 +02:00
stefan.tollkuehn
8910a46d1d
fix css never been loaded
2026-10-22 17:55:51 +02:00
stefan.tollkuehn
9abacef435
fix: Event creation could still throw uncaught exceptions
2026-10-08 13:56:49 +02:00
stefan.tollkuehn
d485640f57
reject bidi overrides and line separators
2026-10-08 13:54:15 +02:00
stefan.tollkuehn
2e3859795f
strengthen assertHttpsUrl
2026-10-08 13:52:03 +02:00
stefan.tollkuehn
ce0b6ccbc7
calendar key uniqueness is now more robust
2026-10-08 13:44:55 +02:00
stefan.tollkuehn
f759c2c8d5
translation for german and formal german
2026-10-08 13:42:01 +02:00
stefan.tollkuehn
8b54abe7d4
extract calendar app id to constant
2026-10-08 13:33:07 +02:00
stefan.tollkuehn
de814e9530
- check if calender app is enabled or fall back to a plain redirect
2026-10-08 13:32:10 +02:00
stefan.tollkuehn
828feb753a
- catch InvalidArgumentException for confirm and create
...
- more userfriendly error page for malformed links
2026-10-08 13:29:03 +02:00
stefan.tollkuehn
35d5185084
- fix typo
...
- add function assertClean to reject invalid UFT-8 an control characters
2026-10-08 13:24:12 +02:00
stefan.tollkuehn
3be0490b68
check if calendar is writeable
2026-10-08 13:20:16 +02:00
stefan.tollkuehn
830b53054c
- make url validation more robust
2026-10-08 13:04:56 +02:00
stefan.tollkuehn
fa398f5b36
fetch writeable calendars of user and display a dropdown in confirm dialog with list of calendars to choose for the event
2026-10-08 12:53:40 +02:00
stefan.tollkuehn
e985c66908
- remove occurances of jitsi-launch as AToCal is more generic
...
- translate internal documentation
- fix cancelUrl
2026-10-08 11:04:33 +02:00
stefan.tollkuehn
5bdbc7477c
add default alert (15min before event starts)
2026-10-08 10:14:32 +02:00
stefan.tollkuehn
b100d9c986
- rename from jitsi_calendar to atocal, to reflect more the usage. This plugin allows to create events
...
- add initial documentation
2026-10-08 09:48:54 +02:00
stefan.tollkuehn
853228b6a9
fix wrong getCalendarsForUser using getCalendarsForPrincipal
2026-10-07 22:57:00 +02:00
stefan.tollkuehn
8194b25600
test CSRF error
2026-10-07 22:44:33 +02:00
stefan.tollkuehn
a2925ac6d1
- mergeUrlIntoDescription
...
- friendly error if no Personal calendar
- use users timezone if possible
2026-10-07 22:20:07 +02:00
stefan.tollkuehn
8a647ad1a8
use Personal calendar instead of first writeable calendar
2026-10-07 22:05:57 +02:00
stefan.tollkuehn
61079a5542
fixes introduced by Mistral
2026-10-07 22:02:19 +02:00
stefan.tollkuehn
7aac2718b5
initial commit
2026-10-07 21:57:34 +02:00