r28894: Fix recur_enddate during import/export
r28893: Calculate the EGw recur_enddate properly
r28889: substract only one second from incoming whole day events because
EGw stores whole day events with DTEND 23:59:59
r28886: fixed wrong indents
resource of the series master. Now the status of single recurrences of a
serie are send to the clients as (virtual) exceptions as Jaytrax&Joerg
implemented it already for SyncML.
The implementation is unfortunately a little different, as CalDAV
differs from SyncML and I dont know the SyncML part that well. Maybe we
can re-unify the code again together.
Tested so far with Tb3/Lightning1.0b and a little with iPhone.
Please let me know, if you run into problems with other clients.
(Including fix from Jaytraxx: call groupdav::fix_series() really just
for groupdav clients)
users and groups:
* No: Every user can invite other users and groups (default and old
behavior)
* Groups: other users can allways be invited, only groups require an invite_grant
* Users + groups: inviting both allways requires an invite grant
One need to keep in mind, that setting an invitation ACL via a group,
gives each groupmember the right to invite the group / create a group
event. So the last option propable only works, if users manage
invitations grants on their own, or admin only sets it in small working
groups, where every member is allowed to invite the whole group.
--> calendar backend code removes participants a user is not allowed
to invite
- new "only groupevents" filter, showing only real groupenvents not
events of groupmembers (added tooltips to explain filters)
- show status of participants in border style of event
+ solid: all participants accepted
+ dotted: all participants answered, but not all accepted
+ dashed: not all participants answered
- mark invitations (of current user, not calendar selected)
+ white background color (not category based color)
+ show blue questionmark icon in event header
(it would be nice, if there's a simple method to find out if two different timezones switch at identical times, eg. Europe/Berlin and Europe/Paris do so, so we can avoid the recalculation)"