Commit Graph

401 Commits

Author SHA1 Message Date
Thomas Citharel 2b47a57c4f Allow to select contact groups
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-04-19 17:14:22 +02:00
Grigory Vodyanov 6b4845ac8d Enh/automatic free slot finding and add tests
Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
2024-04-18 16:10:18 +02:00
Richard Steinmetz 5ad0b84810
test: replace \Safe\DateTimeImmutable with \DateTimeImmutable
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-04-17 08:31:01 +02:00
Richard Steinmetz ded1f294eb
fix: restore original event ordering
The underlying issue has been fixed upstream.

This reverts:
- c5b5f162e0 (#4431)
- 5334250382 (#4646)

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-03-18 09:34:45 +01:00
Anna Larch 0176063a82 fix(appointments): slot generation deviation for increments that don't fit modulo
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-03-07 16:25:13 +01:00
Anna Larch e49e4a6e94 fix(appointments): Decide rounding by increment OR length
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-03-04 20:36:46 +01:00
Lukas Boersma 7a307bbcf0
feat: add a setting for the default calendar url
Co-authored-by: Lukas Boersma <mail@lukas-boersma.com>
Co-authored-by: szaimen <szaimen@e.mail.de>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-02-29 10:23:19 +01:00
Richard Steinmetz 3369fc8ea9
feat(editors): redesign editors
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-02-20 16:41:34 +01:00
Anna Larch 37b2047242 fix(appointments): allow 5 minute increments for rounding in slot bookings
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-02-14 14:09:19 +01:00
Anna Larch 9d54b96c24 enh(appointments): add moar debug logging and overwrite app id
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-02-12 16:00:37 +01:00
Christoph Wurst 0f77b41942
fix(appointments): Rate limit config creation and booking
Abusing the appointment config endpoint can lead to additional server
load. Sending bulks of booking requests can lead to mass notifications
and emails and server load, too.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-01-10 15:32:55 +01:00
Richard Steinmetz 07c15f7a1f
chore: move some attachment logic to global state
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-01-02 19:00:28 +01:00
escoand 5ac3078e6d use two different entry points
Signed-off-by: escoand <escoand@users.noreply.github.com>
2023-12-12 11:17:28 +01:00
Jonas Heinrich df2d51b666 feat: Ability to invite circles
This commit adds support for adding circles as attendees to a calendar event.
The relationship between the imported group and members will be compliant with
the iCal specification.

A circle with the title "testcircle" will be added as an attendee with iCal
attributes "CUTYPE=GROUP` and uri "mailto:circle+CIRCLEID@CIRCLE_INSTANCE".

Members of the circle will be imported as standard attendees. Each member gets
assigned to the circle group entry by assigning them to the group uri using the
iCal member property: "MEMBER='mailto:circle+CIRCLEID@CIRCLE_INSTANCE'".

Searching for circles is only enabled if the circles app is activated.

Circles added to the list of attendees get imported only once and are not
synced yet. While adding a circle, a notice about this is shown to the user.
Only members of local circles which are local users get imported.

Rendering groups in the frontend is done in a separate PR
https://github.com/nextcloud/calendar/pull/5396

Signed-off-by: Jonas Heinrich <heinrich@synyx.de>
2023-12-04 18:33:36 +01:00
Anna Larch 496896a34d fix: add VTIMEZONE to Appointments
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-11-07 13:18:50 +01:00
Jonas Heinrich 33e236c285 feat: Ability to render groups as attendees
Implement ability to render groups and group members as attendees of an
calendar event. This is implemented by reading and interpreting the
CUTYPE and MEMBER parameter of the iCal ATTENDEE attribute.

For example attendee "user1" belongs to a group identified with the uri
mygroup@localhost: "ATTENDEE;MEMBER="mailto:mygroup@localhost";CN=user1;[...]".
The group entity is also a ATTENDEE entry but with "CUTYPE=GROUP" and
with the corresponding uri mygroup@localhost:
"ATTENDEE;CN=MyGroup;CUTYPE=GROUP;[...]:mailto:mygroup@localhost".

In the frontend, groups will be displayed as a collapsible list whereas
members of the group will be displayed with the same functionality as
normal attendees.

In case the group entry gets deleted, all of its members will get
removed too.

Empty groups with no members might be present in the iCal file but won't
get rendered.

According to the iCal specifications, groups can have more than one uri and
attendees could have multiple membership addresses in one attribute.
This is neither covered yet in calendar-js nor in this PR.

Signed-off-by: Jonas Heinrich <heinrich@synyx.de>
2023-11-06 12:04:26 +01:00
Daniel Kesselberg 3b5ecd08ff
fix: dont forward internal exceptions
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-10-30 14:51:30 +01:00
hamza221 8bbf4d280c revert unecessary refactoring of getDisplayName()
Signed-off-by: hamza221 <hamzamahjoubi221@gmail.com>
2023-10-06 16:26:27 +02:00
hamza221 732bf1aa64 use \OCP\IUserManager::getDisplayName
Signed-off-by: hamza221 <hamzamahjoubi221@gmail.com>
2023-10-04 23:01:21 +02:00
Anna Larch eae6deada2 revert: Augment the category menu by system tags and already used categories
Ref b3af4c3

Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-09-28 17:15:32 +02:00
Richard Steinmetz a00f34419e
perf(dashboard): implement widget item api v2
The old, bundled widget has to stay until we exclusively support the
corresponding server versions.

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-09-05 10:01:09 +02:00
Christoph Wurst 8838fba6c0
Revert "fix(appointments): Ignore extraneous columns in AppointmentConfigMapper::findByToken"
This reverts commit 94c93f1f45.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-08-14 16:30:53 +02:00
Christoph Wurst faa1c72e23
Revert "Revert "Create Talk rooms for appointments""
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-08-14 16:30:53 +02:00
Christoph Wurst 3e74078cb4
Merge pull request #5386 from nextcloud/chore/tests/harden-view-controller-assertions
chore(tests): harden assertions in view controllers
2023-08-01 20:29:20 +02:00
Richard Steinmetz 814980e9f3
chore(tests): harden assertions in view controllers
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-08-01 18:11:30 +02:00
Richard Steinmetz 28d672c368
feat(editor): implement app config to hide resources tab
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-08-01 17:34:56 +02:00
Anna Larch 488d8f6437 chore: add integration tests to CI
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-07-03 15:56:01 +02:00
Christoph Wurst 49e6bd2a97
chore: Set up static analysis
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-29 15:36:28 +02:00
Claus-Justus Heine b3af4c3507
Augment the category menu by system tags and already used categories.
This commit add all available "collaborative tags" and all already used
categories into option groups of the tags-menu of the side-bar editor.

This commit addresses and is a related to a couple of open issues:

nextcloud/calendar#3735 Calendar Categories: Propose Categories already used

- this should be fixed by this commit

nextcloud/calendar#1644 Add own categories, delete default ones

- this is partly fixed in the sense that collaboritive tags are now also
  proposed as calendar categories.
- still default categories cannot be deleted
- however, using option groups one at least has some sort of overview
  about the origin of the proposed category

nextcloud/server#29950 Save VEVENT CATEGORIES as vcategory

- this issue is totally "ignored" by this commit as the proposed
  solution there is not needed (the categories are already there in the
  oc_calendarobject_props table)
- that would have to be discussed there: but my impression that the
  tables and classed mentioned there are obsolete and no longer used.

Co-authored-by: Anna <anna@nextcloud.com>
Signed-off-by: Claus-Justus Heine <himself@claus-justus-heine.de>
2023-06-28 15:34:11 +02:00
Christoph Wurst d88e387e43
Merge pull request #5117 from rita-gama/main
Fix creating empty events
2023-06-16 13:00:17 +02:00
Christoph Wurst 5b9c8796e9
Revert "Create Talk rooms for appointments"
This reverts commit 74fc70d71e.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-12 08:43:13 +02:00
Christoph Wurst c88cb60b81 fix: Allow dynamic autoloading for classes added during upgrade
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-09 12:25:22 +02:00
Rita Gama f1b2c8f08b Fix #3820: Fix creating empty events.
Signed-off-by: Rita Gama <rita.gama@tecnico.ulisboa.pt>
2023-06-02 12:51:15 +01:00
Anna 8880e01985
Merge pull request #5170 from masonbrothers/fix-attendee-not-string
Fix issue with Attendee not being string crashing tooltip
2023-05-04 13:29:11 +02:00
Thomas Citharel 3a42cf6ced
fix(Public-Sharing): Show footer with server details and eventual ToS through PublicTemplateResponse
The public calendar view used 'base' Template responses, preventing the footer that's being used on other public sharing pages from showing. This makes use of PublicTemplateResponse to show it automatically. It's however hidden on embed view.

Reference: https://help.nextcloud.com/t/feature-request-impressum-and-privacy-declaration-links/161162
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-02 11:30:16 +02:00
Mason Brothers ac300db723 Fix issue with Attendee not being string crashing tooltip
Signed-off-by: Mason Brothers <brothers.mason@gmail.com>
2023-04-28 11:41:41 -06:00
Christoph Wurst 74fc70d71e
Create Talk rooms for appointments
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-04-20 15:20:43 +02:00
Richard Steinmetz b28ab94c1b
chore: composer run cs:fix
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-04-19 10:18:28 +02:00
Richard Steinmetz a61f7a9155
fix(appointments): calendar booking notifications
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-03-06 09:32:29 +01:00
Richard Steinmetz 5358d5637d
chore: vendor closest-css-color and its dependencies
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-02-22 12:16:36 +01:00
Anna Larch aefd8fc07e Add booking notifications
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-20 17:12:25 +01:00
Richard Steinmetz f97e970d59
Merge pull request #4251 from sazanof/enh/attachements-to-events
Add attachments to events
2023-02-15 17:57:24 +01:00
Mikhail Sazanov 9d964452e5 Add attachments to events
Signed-off-by: Mikhail Sazanov <m@sazanof.ru>
2023-02-15 18:45:53 +03:00
Anna Larch fc01bfd9b5 Refine exception handling for booking controller
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-01 12:08:27 +01:00
Daniel Kesselberg 040e66154b
chore!: drop support for PHP 7.4
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-01-02 21:40:18 +01:00
Christoph Wurst 9efe190f72
Merge pull request #4573 from ibpl/main-IB#1126265
Added parameter to hide option for calendar subscription via link
2022-10-31 12:06:21 +01:00
Pawel Boguslawski 0baaebc69a CI fixes
Fixes: ef4c1f920b
Related: https://github.com/nextcloud/calendar/pull/4573#issuecomment-1293498884
Author-Change-Id: IB#1126265
Signed-off-by: Pawel Boguslawski <pawel.boguslawski@ib.pl>
2022-10-28 16:20:17 +02:00
Anna 7edbe4c399
Merge pull request #4690 from e-foundation/enable-app-slowness-fix
Remove current view repair step
2022-10-28 12:02:16 +02:00
Anna Larch a5448476a3 Fix search results returning past events
for calendar widget

Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-10-27 21:31:20 +02:00
Avinash Gusain 2c084474ba repair step removed
Signed-off-by: Avinash Gusain <avinashg@e.email>
2022-10-27 21:45:19 +05:30