* Changed the end-of-line encodings of all non-Windows-related and non-autogenerated text files to use UNIX LF (lots of them had mixed LF/CRLF).
Conflicts:
inc/caldav-PUT-functions.php
Only applies to PUT of a collection. This will mean that only events
after that date (or absolute duration prior to today). All repeating
events will still be included.
Hi,
this proposed patch does the following:
- When an attendee (not the organizer) modifies an object, these modifications should be applied completely to that user's instance of the object. However, the organizer's and other attendees' instances should not be modified in most aspects: Only the attendee's own PARTSTAT modification should be distributed to the organizer's and other attendees' instances. E.g. modifications on VALARMs or TRANSP settings are individual to that single user that sends the modification.
However, I have doubts whether the organizer should be able to apply such modifications on all attendees' instances, once they exist for other attendees. Currently, I did not yet change this behavior.
- When a user receives an invitation in his schedule-default-calendar, he might move it to another calendar. When a subsequent modification to the event arrives, another instance (with the same UID!), is created in the schedule-default-calendar. This patch makes the server search for an instance of the event in any of the receiving user's calendar, so that no event duplicates are created.
I am not really familiar with the code as a whole, so that the way I implemented these changes is probably not "correct".
Regards,
-frank
This adds another hook, and makes log_caldav_action() regular
across both PUT and DELETE (in a transaction), adding post_commit_hook()
as a method with the same signature which is called after the actual
commit, and also matches in both cases.
We only write events which differ, and only delete events which aren't
present in the new upload. If done in append mode then events which
already exist will be updated more cleanly too.
- Update the SCHEDULE-STATUS parameter correctly when writing the event
to the organiser.
- Don't include ETag in PUT response when scheduling actions occur.
- Write scheduling resources to attendee calendars even when this is
an event modification.
In the new Scheduling Extensions for CalDAV the server is expected
to construct iCalendar METHOD:REQUEST invitations and put them into
the scheduling inbox for each (local) attendee. This patch does
that, and hopefully breaks the back of implementing the full
scheduling extensions.
This is a significant refactoring, replacing the old getUserBy*()
functions with a new Principal class, and replacing the old
CalDAVPrincipal class with a new DAVPrincipal class which extends
the Principal class.
At this point all regression tests pass (again) but there could
well be issues for people who use alternative authenticators
such as LDAP, although I have endeavoured to resolve those
potential issues.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
Also a special header is added for telling DAViCal to flush the
cache during regression testing etc.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>