Commit graph

383 commits

Author SHA1 Message Date
Thomas Bruederli
4d2695f864 Bring database driver up to speed with recurring events and iTip invitations 2015-03-01 18:54:59 +01:00
Daniel Hoffend
d91d6f98a7 fixed wrong rc->user call (php fatal error) 2015-02-28 21:25:30 +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
928e4131c4 Small cleanup of internal attachment property forwarding 2015-02-20 11:54:33 +01:00
Thomas Bruederli
515a7d9ef6 Small fixes to recurring event invitations (#4387) 2015-02-20 09:25:24 +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
5e176baa08 Pass a list of updated attendess to the backend driver on RSVP reply from calendar view 2015-02-19 18:09:12 +01:00
Thomas Bruederli
95ed84c932 Copy the master's sequence to a new exception 2015-02-19 15:13:41 +01:00
Thomas Bruederli
b47b13a35e Dynamically update attendees on exceptions in 'all' and 'future' save mode 2015-02-18 11:30:16 +01:00
Thomas Bruederli
c7df74d5d0 Fix updating attendees (do not accidentally set exceptions to thisandfuture) 2015-02-18 10:20:00 +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
108fae9dd0 Correctly save 'this-and-future' replies; remove some internal properties before saving (to cache) 2015-02-15 18:27:38 +01:00
Thomas Bruederli
d564e23aa3 Use the right list of properties relevenat for scheduling (follow-up of commit 12591358). Static vars don't work here as intended 2015-02-15 17:10:22 +01:00
Thomas Bruederli
12591358e6 Consider a change in recurrence rule significant for rescheduling (#4366) 2015-02-15 16:33:39 +01:00
Thomas Bruederli
f09948eefe Disable recurrence and attachments forms when editing a single recurrence instance. These properties cannot be stored in recurrence exceptions 2015-02-15 15:12:08 +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
bef20a0e8d Reset attendee partstat when event is rescheduled by the organizer (#4360) 2015-02-12 12:08:17 +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
9d3a665d9c Modify calendar UI to properly handle updates on recurring events with attandees (#4318)
Since the Kolab stack doesn't yet fully support invitations for recurring events,
the calendar client prevents the user from modifying single recurrence instances
if attandees are involved: options to update the "current" or "future" items
are disabled and deleting a single event will update the main event and notify
all attendees.
2015-01-28 17:46:03 +01:00
Thomas Bruederli
362fcf7a4f Fix saving recurring event as new (#4299) 2015-01-27 18:13:08 +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
Thomas Bruederli
1dd6cc8a0b Check for valid datetime object before cloning (#3958) 2015-01-08 13:46:20 +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
a3d5f717a2 Fix moving events to another calendar/folder and reloading it (#3748) 2014-10-09 16:37:31 +02:00
Aleksander Machniak
77d3466638 Get rid of deprecated function aliases and constants usage 2014-10-06 09:19:26 +02:00
Thomas Bruederli
f5dc95c3df Add config option to control free-busy data integration in calendar views; render free-busy blocks in the calendar color, too 2014-09-24 17:10:38 +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
Aleksander Machniak
d2e7c27bf4 Initial DDL for Oracle 2014-09-15 12:26:03 +02:00
Aleksander Machniak
788635b287 Use consistent column/table quoting in sql queries 2014-09-15 12:23:46 +02:00
Thomas Bruederli
c103391e79 Don't allow to remove the default calendar 2014-09-09 13:33:09 +02:00
Thomas Bruederli
624f3b1695 Add action to remove a calendar/tasks/notes folders from the list which results in unsubscribing it (#3378) 2014-09-09 13:29:28 +02:00
Thomas Bruederli
c88126ad68 Check activation state of user calendars not subscription 2014-09-09 10:43:53 +02:00
Thomas Bruederli
dc335c4d26 Refine virtual user folders handling in new folder navigation according to #3378 2014-09-08 18:56:23 +02:00
Thomas Bruederli
c7b422907e Use rcube_db::table_name() for SQL database access 2014-08-26 16:02:16 +02:00