Aleksander Machniak
2a9948b827
Performance: Skip some redundant SELECT queries on event update
2016-02-22 15:19:58 +01:00
Aleksander Machniak
cb7f4d635b
Performance: Use initialized calendars if available, skipping redundant folder cache synchronization
2016-02-22 11:37:34 +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
bd8166b81a
Fix regression in last optimisations
2016-02-13 09:16:38 +01:00
Aleksander Machniak
7b455c4b97
Performance: Don't initialize all folders in driver constructor ( #3971 )
2016-02-12 16:27:19 +01:00
Aleksander Machniak
2172f4340c
Performance: Consolidate metadata requests ( #3989 )
...
This changes number of cache requests from 4 to 2 for each groupware folder.
2016-02-12 13:45:58 +01:00
Aleksander Machniak
0fba21a6ac
Fix bug where pending calendar displayed not more than one instance for recurring events ( #5274 )
2016-02-10 14:57:55 +01:00
Aleksander Machniak
5ca65962d2
Fix bug where pending calendar displayed not more than one event ( #5274 )
2016-02-09 12:05:10 +01:00
Aleksander Machniak
63ce7e9988
Don't use depracated Roundcube functions
2015-08-29 20:23:34 +02: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
Aleksander Machniak
8c2aac3362
Don't use Roundcube deprecated functions
2015-08-02 20:15:28 +02:00
Thomas Bruederli
de17aff957
Add schema files for sqlite databases (for testing purposes)
2015-05-13 09:55:36 +02:00
Thomas Bruederli
09fe27d5a6
Consolidate changelog dialog labels and use libkolab's singelton getter for the Bonnie API
2015-04-21 09:24:27 +02:00
Thomas Bruederli
7fec791449
Select folders annotated 'private' for events/tasks flagged as such ( #4789 )
2015-03-25 15:09:04 +01:00
Thomas Bruederli
7dbb0d1b2f
Handle old revisions and diffs for recurrence instances; forward instance identifier to API for diff requests
2015-03-19 12:34:08 +01:00
Thomas Bruederli
17a3783b9a
Allow to load attachments from old revisions + implement resting of old revisions if write permissions are granted
2015-03-18 20:24:57 +01:00
Thomas Bruederli
6bd0bdabb5
Adapt client to changed Bonnie API
2015-03-18 12:57:36 +01: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
76f50f2d2b
Code cleanup: define filters for calendar listing as bitmask instead of individual arguments
2015-03-10 15:23:52 +01:00
Thomas Bruederli
60205136ee
Code cleanup: get recurrence instance identifiers from utility functions
2015-03-10 14:30:50 +01:00
Thomas Bruederli
10192386dd
Send cancellations of this-and-future events as iTip REPLY on master event with updated recurrence rule ( #4743 )
2015-03-10 13:38:53 +01:00
Thomas Bruederli
03dd4b60b3
Exclude cancelled events from count query on invitations calendar
2015-03-03 15:57:49 +01:00
Thomas Bruederli
09f979a248
Get exception on first occurrence if exists
2015-03-02 10:56:43 +01:00
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