Commit graph

190 commits

Author SHA1 Message Date
Aleksander Machniak
49bf3288e5 Fix PHP7 warnings in calendar plugin code (Bifrost#T31309) 2017-05-09 15:13:02 +02:00
Aleksander Machniak
c4f4f52aa0 T1841: Support non-all-day exceptions to all-day events and vice-versa 2016-12-30 05:33:02 -05:00
Aleksander Machniak
837c7ab02d T1484: Make sure an event organizer is always set
There was already a code to do this, but it didn't work for all cases.
E.g. it didn't work when you created an event with resources assigned, but no other attendees.
2016-11-17 09:08:13 -05:00
Aleksander Machniak
4022e76ede T1760: Recurrence exception not displayed when its date was changed 2016-10-21 14:06:07 +02:00
Aleksander Machniak
cdfb979b22 T1268: Fix bug where forever recurring events could not be displayed
Summary:
Actually it sets the internal end time interval to 100 years for all kind
of events. Before it was 100 for yearly events, but only 10 for weekly.

Fixes T1268.

Reviewers: #roundcube_kolab_plugins_developers

Maniphest Tasks: T1268

Differential Revision: https://git.kolab.org/D203
2016-10-18 09:04:54 +02:00
Aleksander Machniak
6bb5511b6d Corrected fix for T1214 2016-04-20 14:56:27 -04:00
Aleksander Machniak
345506712e Fix deleting events by first occurrence (T1214) 2016-04-20 09:28:25 -04:00
Aleksander Machniak
748e42abfb Skip partstat filter when kolab_invitation_calendars=false (T1179) 2016-04-07 08:18:23 -04:00
Aleksander Machniak
2a9948b827 Performance: Skip some redundant SELECT queries on event update 2016-02-22 15:19:58 +01:00
Aleksander Machniak
a7e3a938a7 Unify mail-relations handling across plugins 2016-02-21 19:41:49 +01:00
Aleksander Machniak
d96689620f Performance: Get event-to-mail relations once per events list, instead of doing SELECT for every event (including recurrences) 2016-02-21 19:09:04 +01:00
Aleksander Machniak
446cd0dfe1 Performance: Limit number of SQL queries needed for "object relations update" operation 2016-02-13 13:09:59 +01:00
Aleksander Machniak
a0ca17fb36 Fix missing events on edges of the view time range (when client timezone is different than server tz) (T698) 2015-08-18 12:39:55 +02:00
Thomas Bruederli
8792a668b6 Use IMAP permissions to determine possible actions on the client (#4827)
s/writeable/editable/
2015-03-11 15:24:17 +01:00
Thomas Bruederli
b68f5f5cda 'w' right doesn't allow APPEND operations 2015-03-11 12:38:47 +01:00
Thomas Bruederli
6f97b9ff71 - Require delete permission for a calendar to be writeable (#4827)
- Introduce 'insert' permission which allows the creation of new events but no subsequent editing
- Replace 'readonly' with '!writeable' properties for consistency reasons
2015-03-11 12:22:01 +01:00
Thomas Bruederli
e8c387ef0d Bump versions and copyright year 2015-03-10 15:38:45 +01:00
Thomas Bruederli
60205136ee Code cleanup: get recurrence instance identifiers from utility functions 2015-03-10 14:30:50 +01:00
Thomas Bruederli
09f979a248 Get exception on first occurrence if exists 2015-03-02 10:56:43 +01:00
Thomas Bruederli
94260b2aeb Refactor identification of recurring event instances (#4722):
- All instances of a recurring series have -YmdTHis appended to their ID
- In 'all' savemode, the master event identified by UID is loaded and updated
- kolab_driver::update_event() returns the UID of the master event in 'all' mode.
  This is then used to send iTip messages for the entire series
2015-02-27 17:55:37 +01:00
Thomas Bruederli
d4f819bf94 Fix deletion of single event occurrences (#4722) 2015-02-26 16:25:51 +01:00
Thomas Bruederli
c19bd98233 Fix attachment retrieval with direct instance identifiers (#4722) 2015-02-26 15:24:22 +01:00
Thomas Bruederli
899646afd8 Handle single event occurrences with the same UID (#4722) 2015-02-26 15:05:55 +01:00
Thomas Bruederli
c1b6803ae2 Don't call private methods from an anonymous function. Context is not preserved in PHP 5.3 (#4702) 2015-02-24 17:36:04 +01:00
Thomas Bruederli
a837feb76e Fix loading attachments for events listed in virtual calendars (#4400) 2015-02-24 14:17:53 +01:00
Thomas Bruederli
02ef2e6050 Split recurring event into a new series when modifying with this-and-future option (#4386); optimize copying of attachments into new event 2015-02-20 00:11:40 +01:00
Thomas Bruederli
f7e7df62a2 Apply date offset from exceptions to recurring occurrences (#4386) 2015-02-17 15:49:14 +01:00
Thomas Bruederli
f78af8b09f Fix ical export after last commit 2015-02-17 13:10:37 +01:00
Thomas Bruederli
8a90069071 - Support exceptions and iTip messages with thisansfuture range
- Store two exceptions for the same occurence if necessary (with differing range)
- Update attendee status from iTip REPLY to all exceptions stored for the event
- Correctly handle exceptions on the first instance (main event)
2015-02-17 11:36:01 +01:00
Thomas Bruederli
aaaa9c5818 Take differing parstat values in recurrence exceptions into account when querying for pending/declined/regular events:
- Colelct partstat tags from recurrence exceptions when caching
- Querying for 'tags != x-partstat:<email>:needs-action' may miss some valid records
- Do post-filtering on all events, including recurring instances
2015-02-16 11:00:26 +01:00
Thomas Bruederli
8a74dc2d28 Don't copy recurrence_date to future occurrences 2015-02-15 19:09:10 +01:00
Thomas Bruederli
78622133a9 Reliably identify recurrence instances throughout the application to support invitations of recurring events (#4387) 2015-02-15 14:32:31 +01:00
Thomas Bruederli
ad55fc706d Fix handling of Recurrence-ID properties for recurrence exceptions to comply with RFC 5545 (#4385) 2015-02-12 10:08:22 +01:00
Thomas Bruederli
754a4d51bf Improve search in calendar: consider recurrence exceptions for indexing and matching (#4279); ignore order of search terms (boolean and matching) 2015-02-05 19:37:13 +01:00
Thomas Bruederli
8dba73549d Check new validity flag 2015-02-03 13:16:24 +01:00
Thomas Bruederli
b4bcf723e5 Display recurrence information from iTip invitations (#4446) 2015-02-02 13:12:56 +01:00
Thomas Bruederli
59b64ae7cd Visually emphasize pending/declined events from other user's calendars 2015-01-21 17:05:16 +01:00
Thomas Bruederli
d6789046c6 Don't suppress pending/declined events from other user's calendars (#4272) 2015-01-21 16:01:12 +01:00
Thomas Bruederli
b02e2c3b8f - Store relation to message when creating event from email (#4161)
- Move common functions to libcalendaring
- Assign dialog button classes directly
2015-01-14 09:27:48 +01:00
Aleksander Machniak
6a7488f731 Performance: get_identity() -> list_emails(true) 2014-11-27 06:33:05 -05:00
Aleksander Machniak
ac4f6e7562 Avoid unused variables (also fixed some bugs) found in static code analysis 2014-11-21 10:03:18 +01:00
Thomas Bruederli
0ab0b797b8 Display count 'bubble' for open pending invitations (#3268) 2014-10-14 20:23:52 +02:00
Thomas Bruederli
b278db0ec3 Pre-select confidential event/tasks folder for iTip invitations marked as confidential (#3451)
+ display privacy classification of iTip attachments in mail invitation view.
2014-09-23 12:27:57 +02:00
Thomas Bruederli
e48f0dbf15 Render event dialog *after* reading the comment text field; don't overwrite initial invitation comments 2014-08-01 10:28:05 +02:00
Thomas Bruederli
887ec67df8 Fix attachment saving and displaying 2014-07-31 14:53:56 +02:00
Thomas Bruederli
a68982b028 Add UI elements to display the history of a calendar event with data from the Bonnie API (#3093, #3094) + new option to download and send single events 2014-07-29 15:33:35 +02:00
Thomas Bruederli
7affe524f1 List virtual calendars showing pending/declined inivtations (#1796) 2014-07-08 12:38:52 +02:00
Thomas Bruederli
269f8e2ff4 Use public property instead of setter method to improve compatibility 2014-05-27 19:52:03 +02:00
Thomas Bruederli
95491f0886 Don't write session data when fetching events/tasks 2014-05-22 19:00:49 +02:00
Thomas Bruederli
709bd16016 Minor bugfixes and visual enhancements for new folder navigation 2014-05-21 10:50:36 +02:00