Commit graph

62 commits

Author SHA1 Message Date
Thomas Bruederli
60205136ee Code cleanup: get recurrence instance identifiers from utility functions 2015-03-10 14:30:50 +01:00
Thomas Bruederli
3ba55540fd Don't copy exceptions array and private properties (_*) to exceptions 2015-02-27 12:02:49 +01:00
Thomas Bruederli
31ad93a62e Provide access to exception instances outside of a recurring event context (#4722) 2015-02-26 15:05:55 +01:00
Thomas Bruederli
61037eb97c Fix RSVP flag in iTip REQUESTS 2015-02-19 15:56:46 +01:00
Thomas Bruederli
ac2bd4700f Store recurrence-id for single (non-recurring) events and use for iTip replies 2015-02-19 15:13:13 +01:00
Thomas Bruederli
6a5a814834 Don't remove properties from exceptions which are equal to the master event. KE17 says:
A recurrence exception SHALL copy ALL properties of the base event, and adjust as required,
and it SHALL NOT be applied on top of the orginial event properties (The exception replaces
the complete original event definition for the specific occurrence).
2015-02-16 15:59:50 +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
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
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
314501fdb2 Make the list of properties considered 'significant' for scheduling configurable 2015-02-12 11:54:51 +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
7fe08b2814 Cleanup recurrence exception data when saving events (#4318) 2015-01-28 17:27:16 +01: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
0d8b6912ae Fix auto-incrementing the sequence value of xcal objects 2014-07-31 12:22:07 +02:00
Thomas Bruederli
882b89a7c0 Event status changes should increment the sequence value 2014-07-16 17:37:01 +02:00
Thomas Bruederli
afb64c3948 Improve iTip REQUEST workflow:
- only increase sequence on significant changes that affect scheduling (acc. RFC 5545)
- show RSVP buttons only for higher sequence updates (#1678)
- provide a button to simply update the local copy otherwise
2014-07-08 17:14:14 +02:00
Thomas Bruederli
bdf2faafae Store tags to enable partstat queries (#1796) 2014-07-08 12:38:51 +02:00
Thomas Bruederli
2f87e09c3a Check for new valarms property when writing cache tags 2014-04-17 12:10:44 +02:00
Thomas Bruederli
1ce6d461a6 Save and restore iCal STATUS properties 2014-04-03 15:07:47 +02:00
Thomas Bruederli
30327b4e47 Avoid 'Illegal string offset' warnings 2014-03-24 16:57:32 +01:00
Thomas Bruederli
e02e7cd3f3 Avoid recurrence exceptions being copied to exception items recursively. This caused memory leaks when serializing events for caching 2013-11-06 16:41:01 +01:00
Thomas Bruederli
29ab9b594e Reflect format errors in is_valid() method to avoid invalid data being loadd and written to cache (#2360) 2013-10-16 15:30:51 +02:00
Thomas Bruederli
ee8b9e1ddc Support DURATION properties for events (#1916) 2013-09-26 09:43:29 +02:00
Thomas Bruederli
f15a3feeb4 Handle attachments and links for all xcal-based objects 2013-07-24 18:59:57 +02:00
Aleksander Machniak
1857a64d4f Fix undefined variable related errors caught in static code analysis 2013-05-07 12:56:18 +02:00
Aleksander Machniak
e03156fc1f Implemented new method of storing filename and mimetype of file objects 2013-04-19 14:20:55 +02:00
Thomas Bruederli
d854a5ab0d Keep libkolab API for event recurrence exceptions consistent for Kolab v2. The format doesn't allow to save exceptions inline, thus save them as individual events 2013-03-13 16:19:02 +01:00
Thomas Bruederli
f320a772b0 Merge branch 'dev/recurrence-exceptions' 2013-02-28 08:25:52 +01:00
Thomas Bruederli
ef30be7dea Expose URI attachments as 'links' for event objects 2013-02-27 17:05:10 +01:00
Thomas Bruederli
97d0c57eee Small refactoring: use base class methods to read/set common properties; add support for custom properties in all objects 2013-02-21 16:28:12 +01:00
Thomas Bruederli
36bbcc6499 Make this-and-future recurrence exceptions work 2013-02-14 16:17:02 +01:00
Thomas Bruederli
91779df09a Save changes in a recurring event as exception to the master event 2013-01-23 14:45:41 +01:00
Aleksander Machniak
ddeb606daf Fix File support. Fix handling of non-inline attachments of event and file objects. 2013-01-16 09:27:34 +01:00
Thomas Bruederli
025a388ba5 Finally remove the remaining Horde stuff after switching to libkolab for recurrence and format v2 support 2012-11-21 11:21:19 +01:00
Thomas Bruederli
ace437f1da Log errors if some libkolab modules are missing 2012-11-21 09:56:21 +01:00
Thomas Bruederli
cf5c88437e Merge branch 'dev/libcalendaring' 2012-11-09 14:02:34 +01:00
Thomas Bruederli
3cff455632 Ignore empty attachments from format v2 2012-11-08 16:18:54 +01:00
Thomas Bruederli
d98e8787c6 Fix kolab_format_* classes to read v2 format; perpare kolab_storage to write out v2 format 2012-11-06 19:03:12 +01:00
Aleksander Machniak
f7b2e543e2 Fix attachments handling (Bug #1172) 2012-11-06 15:09:47 +01:00
Thomas Bruederli
d55e56c07c Use new libkolab XML object reading/writing functions in preparation of adding Kolab format v2 capabilities 2012-11-01 20:06:09 +01:00
Thomas Brüderli
b4ced09d2e Make use of libkolab/libcalendaring PHP bindings for computing recurring events 2012-10-23 15:05:38 +02:00
Thomas Bruederli
b23453e3ec Also use DateTime values for recurrence rules; explicitly set last-modified times when savng an object 2012-07-06 16:38:40 +02:00
Thomas Bruederli
2aa05334e8 Fix timestamp-to-DateTime conversion 2012-07-04 15:57:05 +02:00
Thomas Bruederli
035534eb00 Make sure events from old Kolab2 format also provide start/end properties as DateTime objects 2012-07-03 10:41:56 +02:00
Thomas Bruederli
0158440400 Fix object recurrence rule processing 2012-07-03 09:56:03 +02:00
Thomas Bruederli
d5c2f15ccb Improve attachments handling:
- use Content-ID as key in _attachments list; new attachments have numeric keys
- generate a unique Content-ID for new/changed attachments in libkolab
- bugfix: don't cache empty attachment entries
2012-06-13 17:39:18 +02:00
Thomas Bruederli
2ad9e2e1ba - Small refactoring: build words index in common kolab_format_xcal class
- Define tags to be cached with task objects
- Allow to query cache with NOT LIKE (!~) queries
2012-06-08 13:15:10 +02:00
Thomas Bruederli
b2a7734c34 Little refactoring: new parent class for xcal based Kolab objects such as event and task handling reading/writing of common properties 2012-05-30 08:51:55 +02:00