64 Commits

Author SHA1 Message Date
Andrew McMillan
99fde69b39 Skip alarms with bogus trigger data.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-18 00:36:46 +13:00
Andrew McMillan
c7ae6826d8 Validate alarm date-time or duration before adding it to the DB.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-12 10:03:36 +13:00
Andrew McMillan
20ee255898 Refactor fetching of Principal records from database.
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>
2011-01-03 10:16:43 +13:00
Andrew McMillan
4178ab4254 Add caching of collection reads
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>
2011-01-01 21:25:46 +13:00
Andrew McMillan
5ff2f052c6 Add support for caching of feed, and uncaching on collection change.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2010-12-31 20:29:30 +13:00
Andrew McMillan
d615da9c55 Adjust comment wording for clarity.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2010-12-28 00:41:11 +13:00
Andrew McMillan
34a27d126d Refactor PUT functions to set modified/created dates more correctly.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2010-12-27 18:23:13 +13:00
Andrew McMillan
4876542537 Fix whitespace.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2010-12-27 12:46:00 +13:00
Andrew McMillan
066732a8a0 Add support for writing scheduling resources on PUT.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2010-12-25 15:55:19 +13:00
Andrew McMillan
74943cd243 Warn if we're being expected to log actions, but have no function. 2010-09-13 14:00:03 +12:00
Andrew McMillan
b381c0c7a4 Add optional parameter to 'simple' interface to allow action logging. 2010-08-18 21:34:20 +12:00
Andrew McMillan
f844d6b692 Add facility to append to a calendar with ?mode=append on PUT 2010-04-29 16:03:14 +12:00
Andrew McMillan
a359553eee When a timezone is supplied, but not used in the event, pretend it was.
This gets around some buggy software which expects this kind of
thing to work.
2010-04-28 14:08:14 +12:00
Andrew McMillan
8fbb5cf3a2 Don't complain if the event includes an unused timezone. 2010-04-26 23:27:15 +12:00
Andrew McMillan
3b7de13dbf Cope with Google occasionally setting the CREATED date to 0000 year.
Also set is_public explicitlt 't' or 'f'.
2010-04-03 17:31:06 +13:00
Andrew McMillan
e2f8ff8b0a Reorder if statement for better readability. 2010-03-29 21:54:04 +13:00
Andrew McMillan
061944f2c7 Need a space after each duration element for PostgreSQL. 2010-03-25 15:19:58 +13:00
Andrew McMillan
985338a1b6 Correct typo in attendee change to PUT-functions. 2010-03-24 12:55:28 +13:00
Andrew McMillan
9b3fb58b9f Handle duplicate attendee lines in one VEVENT. 2010-03-24 12:15:53 +13:00
Andrew McMillan
c080c8bc5e Fix untested scheduling code from Rob. New regression test results. 2010-03-24 08:12:58 +13:00
Rob Ostensen
a2438cef3d actually follow draft spec section 6.4, deliver event with scheduling status to users inbox 2010-03-23 22:05:03 +13:00
Andrew McMillan
f3f846e47e Explode out Attendees and Alarms on PUT/import collection too. 2010-03-23 21:10:37 +13:00
Andrew McMillan
5fafce0f0c Now parsing out VALARM components on PUT. 2010-03-22 17:21:33 +13:00
Andrew McMillan
688d540cc5 Add support for PUT on individual resources within a bind. 2010-03-18 20:02:13 +13:00
Andrew McMillan
53240804cc Add $c->skip_bad_event_on_import configuration setting.
This will allow failure on import of collections to apply only
to an individual event, rather than failing the whole collection.
2010-03-18 13:21:41 +13:00
Andrew McMillan
118df346de Migrate PUT-functions to AwlQuery. 2010-03-18 08:40:15 +13:00
Andrew McMillan
9f3deeb416 Fix uninitialised variable errors in new scheduling code. 2010-03-11 23:58:37 +13:00
Andrew McMillan
cef7ecf74d require_once on PgQuery now it's not common elsewhere. 2010-03-11 23:22:24 +13:00
Rob Ostensen
5d2123f385 oops, don't write to resources we don't have privileges to 2010-03-10 13:46:51 +13:00
Rob Ostensen
3efbddd9bd Scheduling extentions working with iCal 4 2010-03-10 13:46:42 +13:00
Andrew McMillan
03ff39fa33 With readonly_webdav_collections set we should write nothing!
We were writing collection records to the database when the
configuration setting readonly_webdav_collections was set, even
though the actual events would not be written.
2010-03-05 14:26:58 +13:00
Andrew McMillan
22e39493e7 Tweak 'we don't support this' response to scheduling requests. 2010-02-26 18:45:18 +13:00
Andrew McMillan
358c069b3e PUT Functions: add support for X-WR-CALNAME in uploaded calendars. 2010-02-17 23:51:16 +13:00
Andrew McMillan
865a2e499c Various changes preparing to switch PROPFIND implementation. 2009-11-12 00:39:18 +13:00
Andrew McMillan
3df6ccc4ba Getting 'MOVE' working has proven surprisingly complex. 2009-11-04 00:17:10 +13:00
Matthias Mohr
526d4dce6f Translatability improvements from Matthias Mohr. 2009-10-30 09:00:41 +13:00
Andrew McMillan
f9be8a33b9 When calendars are created on the fly, make them the correct resourcetype. 2009-10-16 12:22:58 +13:00
Andrew McMillan
4e8effb21f Write to sync_changes table on INSERT or UPDATE. 2009-10-11 15:00:29 -07:00
Andrew McMillan
a688db0989 Make it possible to create publicly readable collections. 2009-09-29 13:30:01 +13:00
Andrew McMillan
23f2ad13a1 Allow empty VCALENDAR to work for calendar creation. 2009-09-25 22:12:50 +12:00
Andrew McMillan
809cfb78c6 Restructure the PUT functions to allow some simpler entry points
External programs may wish to use these two new functions in order
to create or update events within the DAViCal database.  While this
probably is not a completely stable API, the simple_write_resource()
function in particular will be retained significantly after a real
API is available, and possibly forever.
2009-08-29 17:20:54 +12:00
Andrew McMillan
eddb05c2b1 Preliminary commit to add ability to log caldav actions (untested). 2009-08-24 11:22:58 +12:00
Andrew McMillan
8323c7ce0d Don't crash if we are supplied an entry with an unreferenced timezone component. 2009-05-15 23:32:39 +12:00
Andrew McMillan
d0af116a24 Don't expect the TZ to contain a leading slash. 2009-03-29 21:22:43 +13:00
Andrew McMillan
d5ad1c8a66 Early framework for creating scheduling requests. 2009-03-16 22:10:48 +13:00
Andrew McMillan
97577a6e9d Cope better when we're given a timezone that we're not given a definition for. 2008-11-12 22:16:56 +13:00
Andrew McMillan
f830640b12 Still try and set the timezone to something as appropriate as we can,
even if there wasn't one a VTIMEZONE in the VCALENDAR we're parsing.
2008-11-10 17:37:28 +13:00
Andrew McMillan
87fe232586 Convert PUT entirely to iCalComponent from iCalendar. 2008-11-10 13:52:25 +13:00
Andrew McMillan
11f2a45032 Start to convert to iCalComponent rather than iCalendar. 2008-11-10 11:52:05 +13:00
Andrew McMillan
0132e8195e Fix uninitialised variable warnings. 2008-10-27 15:10:43 +13:00