Commit Graph

2799 Commits

Author SHA1 Message Date
Ralf Becker
9436422df0 fixed own calendar was listed as shared too 2012-03-01 13:29:05 +00:00
Ralf Becker
8fb1ef7285 switching CalDAV Scheduling tag off in 11.1, until further testing as I still see requests from iCal with just If-Schedule-Tag-Match for organizer changes or together with If-Match, which both makes no sense 2012-02-22 13:20:09 +00:00
Ralf Becker
2ecedd2d0d * InfoLog/Calendar: renamed context menu "Calendar" to "Schedule appointment" and make preset participants configurable, allow to config prefix for sub-entries and allow times in due-date 2012-02-22 12:32:56 +00:00
Ralf Becker
587c2cf595 use groupdav->log() for all permanent error-messages, to log the into request-log too, if both If-Match and If-Schdule-Tag-Match given use If-Match for organiser/owner and If-Schedule-Tag-Match for attendees/participants 2012-02-21 20:05:35 +00:00
Ralf Becker
5224cdc592 SL translations from Ludvik, Robert 2012-02-18 14:51:25 +00:00
Nathan Gray
cfded2a918 Add 'selected' day table for daily schedules 2012-02-17 20:26:00 +00:00
Ralf Becker
34393ca041 propagate data from settings hook to handlers, to fix failed installs because setup was not detected 2012-02-14 17:39:40 +00:00
Ralf Becker
8a5200db66 * CalDAV: allow to create private events on OS X iCal, fixing DAV header for new shared folders 2012-02-10 12:24:43 +00:00
Ralf Becker
21dfe8ac02 implement RFC 5995 add member to collection via POST, but not yet set DAV:add-member due to problems with OS X clients 2012-02-10 11:28:56 +00:00
Ralf Becker
9d85196706 move logic of which addressbook/calendars are shared into app-handler
move app-specific settings to app-handler
2012-02-10 11:27:26 +00:00
Ralf Becker
c01e631e95 * CalDAV: fixed Outlook needs Microsoft specific x-property to recognice all-day events as such 2012-02-10 11:18:42 +00:00
Ralf Becker
f8819f739b switching schedule-tag on again, as the issue seems to be a (hard to reproduce) bug, PUTs should either have If-Match or If-Schedule-Tag-Match 2012-02-10 10:46:41 +00:00
Ralf Becker
a6577f2b9f outbox supports VFREEBUSY too, it is required from OS X iCal to autocomplete locations 2012-02-10 10:45:45 +00:00
Ralf Becker
6317e5e733 do NOT overwrite calendar-description set via PROPPATCH 2012-02-10 08:56:44 +00:00
Ralf Becker
02c5181735 implement CalDAV <calendar-data><expand start="..." end="..."/></calendar-data> to return already expanded recurrences in a given time-range, instead of just a recurring event with a recurrence rule 2012-02-10 08:50:19 +00:00
Ralf Becker
d6276d1c54 start merging latest CalDAV/CardDAV stuff from trunk:
DB-model uses now egw_cal_user.cal_status="X" for participants who got deleted. They never get returned by read or search methods, but influence the ctag of the deleted users calendar!
2012-02-10 08:47:12 +00:00
Klaus Leithoff
532cf5baf5 handle warning on cat_id when it is not a string, as expected on explode but already an array of cat-ids 2012-02-07 14:15:42 +00:00
Ralf Becker
2cf814641f PHP uses "America/Argentina/Buenos_Aires" not just "America/Buenos_Aires" 2012-02-03 02:05:18 +00:00
Ralf Becker
c2fa847c50 * eSync/Calendar: fixed tz-aliases to NOT use Etc/GMT* but Olson identifiers, no more exception in AS tzblob generation, generation of tzblobs for Etc/GMT* 2012-02-03 01:51:28 +00:00
Klaus Leithoff
d06beb689f Add/modify obsolet Alias Asia/Calkutta as it should map to Asia/Kolkata 2012-02-02 14:23:49 +00:00
Klaus Leithoff
c1d974d0b3 Add/modify broken Alias Asia/Katmandu as it should map to Asia/Kathmandu 2012-02-02 11:42:30 +00:00
Klaus Leithoff
4a6b3ad523 Fix broken link from year view to month view. Fixes Bug #3109 - Year view problem reported and investigated by -ws Skygge-, (backport from hjtappe) 2012-02-01 08:24:08 +00:00
Ralf Becker
2b85dc2656 * Calendar/iCal/CalDAV: if no end(-time) is given in iCal we use the default lenght from user prefs 2012-01-29 18:49:32 +00:00
Ralf Becker
5e44c30553 * Calendar/iCal/CalDAV: if no end(-time) is given in iCal we use the default lenght from user prefs 2012-01-29 18:23:04 +00:00
Ralf Becker
24be2fa21d * Calendar: fixed wrong time in iCal of notification, if notifying user is not in server TZ
we need to pass $event[id] so iCal class reads event again, as event is in user TZ, but iCal class expects server TZ!
2012-01-23 02:53:25 +00:00
Nathan Gray
e4efd1b7b9 Fix {{link/[appname]}} placeholder 2012-01-18 16:10:58 +00:00
Nathan Gray
b50ce5e768 Remove extra array, not needed for list view, and prevents proper iteration 2012-01-12 17:03:57 +00:00
Ralf Becker
94f555eca1 * Calendar/Resources: do NOT unselect currently selected calendars when selecting a resource category, eg. to choose a meeting room 2012-01-09 22:19:19 +00:00
Ralf Becker
fc96467cb3 * Calendar: showing now all open calendars in the owner-selection, not just accounts. Allows to close them from all views
r37698: for account-selection method "selectbox", make sure everything in $selected gets an option, as for the other methods
2012-01-09 22:15:28 +00:00
Ralf Becker
ecd6e7ecd1 * Addressbook: show calendar of contact(s) as list-view with date-filter "all" via context menu
r37667: ability to open nm_action=location in a given targetapp tab, plus documentation
2012-01-09 22:09:11 +00:00
Ralf Becker
24ac31ec70 * Calendar: button to close a single calendar if multiple calendars are shown (day, week and planner view)
r37672: formatting close button a little nicer / less visual obstructing
2012-01-09 22:00:56 +00:00
Ralf Becker
cbf2807997 * Calendar: new (forcable) user preference to notify external participants (non-EGroupware users), event owner has to set it, it is off by default, to keep the current behavior of not notifying externals 2012-01-09 21:53:48 +00:00
Nathan Gray
304e5971c2 Add mergeprint tag for links to a specified application: links/appname 2012-01-09 16:25:17 +00:00
Ralf Becker
cec9e39582 * Calendar/CalDAV: Add index for cal_modified and cal_user_modified to improve performance of ctag and etag generation on big installtions
Running this update is NOT required, calendar and CalDAV will continue working without, therefore I backported it to 11.1
2012-01-04 21:46:09 +00:00
Klaus Leithoff
b0e5edf555 silence error_log from calendar_bo triggered by statMessage 2011-12-23 11:25:49 +00:00
Nathan Gray
df4a6b99eb Changed end date / duration to use (in order):
Due date, completed date or start + duration preference
2011-12-22 15:31:03 +00:00
Klaus Leithoff
65df488f5d * calendar/esync: do not allow a minimum length of less then 1 for uid; esync: if no UID given, do not even try to fetch exceptions. 2011-12-22 14:46:00 +00:00
Nathan Gray
5c9cae68fe Add ability to create calendar entries from infolog entries 2011-12-20 17:32:54 +00:00
Nathan Gray
2ac6626cdd Add warnings 2011-12-20 17:03:05 +00:00
Klaus Leithoff
cc86326cb4 * calendar: allow to send a meeting request to all participants, add action to calendar event edit to choose between sending meeting requests or a mail with the ics file of an event attached. 2011-12-16 10:29:31 +00:00
Klaus Leithoff
1759838b91 * calendar/esync: active-sync does NOT want calendar owner as participant 2011-12-06 13:59:47 +00:00
Ralf Becker
fbe1856c5c * CalDAV: fixed group-invitations got lost (urn:uuid url lost one char with each new import) 2011-11-24 14:37:45 +00:00
Ralf Becker
7efd0f6ff0 * Calendar: fixed groupmembers cant accept/reject group-invitations in listview via context-menu (error: failed because of insufficient rights!) 2011-11-21 14:26:16 +00:00
Ralf Becker
176e81cd1c * ImportExport: allow to select "Old fixed definition" in preference for nextmatch export (disk icon) 2011-11-21 10:10:46 +00:00
Nathan Gray
e88c042901 Add custom fields to available fields and default export definition 2011-11-14 17:03:11 +00:00
Ralf Becker
e8f1143d6d fixed fatal error: Cannot pass parameter 6 (of calendar_boupdate::update) by reference 2011-11-11 12:55:30 +00:00
Ralf Becker
92a1cf4354 fixed alarm on series got lost, if creating an exception 2011-11-11 12:47:04 +00:00
Ralf Becker
a25873da97 * Calendar: modified column position for overlapping events, allways leave some space on the left for drag-n-drop or clicking 2011-11-11 07:28:54 +00:00
Ralf Becker
e8fc68f0ce fixed modifying an existing event with timezone different from default timezone of user to a whole-day event (no timezone allowed according to iCal rfc) 2011-11-10 18:48:26 +00:00
Ralf Becker
996d1e4ed7 * Calendar: fixed many issues when moving or modifiny (parts of a) recurring event (alarms, recurrance type, time) 2011-11-10 18:39:36 +00:00
Ralf Becker
f36655555f always return an array, if an array is given as argument 2011-11-10 06:43:52 +00:00
Ralf Becker
67b243c377 max_user_modified for recurring events has to include all recurrences, otherwise we get a "412 Precondition Failed" in CalDAV, as it is part of the ETag 2011-11-09 17:54:20 +00:00
Nathan Gray
b12e7b6517 When exporting from list view, default selection options to listview settings 2011-11-09 15:52:16 +00:00
Ralf Becker
f303028f2f * eSync: fix for not updated calender, contact, task on device if only description or note was changed or deleted 2011-11-09 13:37:37 +00:00
Ralf Becker
b7a2bb01d5 removed calendar-preference "color for Apple iCal", as it set a single color for all calendars you have access too, storing and returning color set by iCal (untested) 2011-11-09 13:25:19 +00:00
Ralf Becker
fa7a8c5bf1 * Calendar: fixed MyStylite bug #2434: context menu could be used to invite yourself to any event you can read 2011-11-09 09:45:14 +00:00
Ralf Becker
460f6e57bd - fixed calendar_ical::importVCal() to (again) return 0 on etag mis-match, as documented and return 412 Precondition Failed in that case
- Disabling Schedule-Tag handling completly, as current implementation seems to create too much trouble with iCal under OS X or iOS, which send If-Schedule-Tag-Match condition event for major updates, not just changing own status or alarms
2011-11-08 21:11:36 +00:00
Ralf Becker
f9e8d7312d fixing r37108 calendar_timezone::DateTimeZone() returns a DateTimeZone not an egw_time object 2011-11-07 17:12:37 +00:00
Ralf Becker
80510b5412 * CalDAV/CardDAV: major rework fixing lots of bugs/incompatibilites and adding new features: eg. autocompletion of accounts and resources under iCal, searchable addressbook gateway for all addressbooks available
merged changes from Trunk up to r37094 from addressbook, calendar, infolog, phpgwapi, egw-pear and resources (only CalDAV/CardDAV related stuff of cause)
2011-11-06 09:40:33 +00:00
Klaus Leithoff
c7664f5850 * calendar/esync: handle error regarding not getting an egw_time object but no exception is thrown; may be php 5.2.x related. occurs when a NokiaE72 tries to open Outlook invitations 2011-11-03 14:22:54 +00:00
Nathan Gray
6da51ecbdb * Add {{links}}, {{attachments}}, {{links_attachments}} placeholders for merging 2011-10-27 16:21:15 +00:00
Ralf Becker
dfa9c86982 * eSync/Calendar fixed "wrong" generation of AS timezone blobs from TZID
still some issues left with start- and endtime, might also be caused by wrong data on the device, but dont do much harm
2011-10-20 11:18:01 +00:00
Ralf Becker
5cd27bea86 fixed timezone alias update always reports one timezone update, event if it updated nothing 2011-10-11 16:12:40 +00:00
Ralf Becker
01f06f6b41 fixed wrong logic in alias update: windows timezone is added as alias for an existing tzid, value new tz_alias column is the id of the given tzid 2011-10-11 12:10:15 +00:00
Ralf Becker
f40634fe6a * Calendar: added windows timezones to all installations (was added in calendar update 1.7.005, but not to new installs) 2011-10-07 05:09:08 +00:00
Ralf Becker
196f461de7 * Calendar: added windows timezones to all installations (was added in calendar update 1.7.005, but not to new installs) 2011-10-07 05:08:33 +00:00
Philip Herbert
9b8dccb16d disable debug 2011-10-05 23:21:51 +00:00
Ralf Becker
e05ce4d614 enclosing etag in quotes, as most servers do 2011-10-05 08:15:24 +00:00
Ralf Becker
bedafe6c79 fixed "403 Forbidden" when a participant with a group invitation tried to delete the event from his calendar 2011-10-05 07:39:11 +00:00
Ralf Becker
23584253fd not returning deleted entries for read, as they might have identical UID for caldav_name as a non-deleted entry and would therefore block access to these 2011-10-04 14:18:35 +00:00
Ralf Becker
0de2f3c527 fixed profind depth 0 directly on a resource contains name-part twice 2011-10-04 12:16:03 +00:00
Ralf Becker
288a88239b we should not return an etag here, as we never store the PUT ical byte-by-byte 2011-10-03 15:48:24 +00:00
Ralf Becker
175197d7c0 * CalDAV: no METHOD:PUBLISH for CalDAV outside the inbox 2011-10-03 12:53:28 +00:00
Ralf Becker
58f4cc1405 * CalDAC fix for aCal Android client sending DTSTART+DURATION instead of DTSTART+DTEND
- for new events, allways add owner as participant. Users expect to participate too, if they invite further participants
2011-10-03 09:43:06 +00:00
Ralf Becker
50b50e2a5d * CalDAV/GroupDAV: return empty collection, as iCal under iOS 5 had problems with returning "404 Not found" status 2011-09-30 12:53:48 +00:00
Ralf Becker
b11fa0302f * CalDAV/GroupDAV: return empty collection, as iCal under iOS 5 had problems with returning "404 Not found" status 2011-09-30 12:52:40 +00:00
Ralf Becker
0a7b7e40c8 - improved principal-property-search report to support test=(allof|anyof) and match-type=(contains|starts-with) attributes used by iOS iCal to autocomplete participants
--> participants are - thanks to CalDAV scheduling - now setable for new event, thought searching for them does NOT yet work, no idea why ;-)
- added somehow missing calendar-query report to supported-report-set
2011-09-24 21:10:53 +00:00
Ralf Becker
3f830b2bff - implemented principal-property-search report required for WebDAV ACL and used by Lightning to search for calendar-home-set
- had to implement a workaround for Lightning, as it wrongly interprets principal-property-search for calendar-home-set in the principal-collection-set
  matching our *DAV root returning all principals, as all have a matching calendar-home-set, as NOT supporting CalDAV scheduling
  --> search only current user's principal, when Lightning searches for calendar-home-set
- OPTIONS / return now calendar-auto-scheduling too, as Lightning only searches there, to check if server supports CalDAV scheduling
- fixed outbox freebusy request to cope with no X-CALENDARSERVER-MASK-UID and a single attendee
2011-09-23 12:04:21 +00:00
Ralf Becker
df1d9e81b2 - implemented regular CalDAV free-busy-query report
- fixed FBTYPE for tentative accepted invitations: BUSY-TENTATIVE
- fixed typo stalling outbox free-busy request
2011-09-22 19:49:01 +00:00
Ralf Becker
b5269738d7 read-free-busy, schedule-send and schedule-deliver privileges 2011-09-22 18:46:16 +00:00
Ralf Becker
c26fcffda7 first step for CalDAV scheduling
- principal reports scheduling-inbox-URL /<username>/inbox/ and scheduling-outbox-URL /<username>/outbox/
- outbox collection contains no events
- outbox correctly answers POST for freebusy information
- outbox respons to all other POST with "204 No Content", ignore client request to deliver invitations
- inbox collection contains events of unknown status (PARTSTAT=NEEDS-ACTION)
- inbox responds to DELETE with "200 Ok"
--> iCal under OS X now shows freebusy times :-)
(had to add "write-content" privilege for calendar collections user has edit rights for, to allow adding events)
2011-09-22 15:22:52 +00:00
Ralf Becker
1f39e5c562 - added WebDAV ACL props supported-privilege-set and current-user-privilege-set
+ currently only standard WebDAV privileges: read, read-current-user-privilege-set, write-content, bind and unbind used
  + they get only queried for collections, thought we dont report any write* on collections, as we dont allow to create calendars or change properties
- new groupdav::add_resource() method used to add all resources (incl. collections) to propfind or report requests
- improved autoindex to show nicely indented hierarchical properties
2011-09-21 20:08:21 +00:00
Ralf Becker
03ed1d3ddb - refactored code to use a single add_collection method in groupdav class
--> app groupdav classes now get calling groupdav object as parameter
Had a quick test with iOS & OS X addressbook, calendar and with Lightning
2011-09-18 10:56:56 +00:00
Klaus Leithoff
55dbf20c33 * calendar/addressbook/importexport/merge-print: introduction of a static function to fetch the export limit, and normalize the possible output: bo_merge::getExportLimit; apply new function to bo_mergen, nextmatch_widget, addressbook, calendar and importexport; introduction of an calendar export limit; introduction of hook to provide appspecific export_limit 2011-09-16 13:23:15 +00:00
Klaus Leithoff
2d494997ab rework of bo_merge::getExportLimit, apply to etemplate, importexport, addressbook, calendar 2011-09-16 13:03:46 +00:00
Klaus Leithoff
f616b34f58 API: introduce register_single_app_hook to be able to add or update one hook for an required app. register added/updated hooks with ->location; calendar and addressbook are using this to insert export_limit hook if not available. use app hook to fetch app specific export limit with import_export side_menu additions too 2011-09-15 16:53:20 +00:00
Klaus Leithoff
fc3fc728a4 register_hooks, without hook array, does not reregister all app hooks, so use register_all_hooks instead 2011-09-15 15:03:25 +00:00
Klaus Leithoff
d9905d3fb4 calendar/addressbook/API: introduce hook to fetch the export_limit to be applied for an app; introduce method to test if a specific hook exists for an application; fetch the export_limit via hook where appropriate 2011-09-15 14:46:56 +00:00
Klaus Leithoff
70a7026915 * merge_print/calendar: control the availability of mergeprint and csv export, if the export_limit is set to ->no<- and the user in question is not exempted from export_limit restrictions 2011-09-14 13:09:13 +00:00
Klaus Leithoff
36e3a1b8ce add missing translations for export_limit feature of calendar, correcting translation strings for export_limit warnings 2011-09-14 10:27:53 +00:00
Klaus Leithoff
74b41ec99a fix bug regarding merge_print with export_limit set in calendar, as calendar may pass a search query instead of a list of ids (this is the reason, why the test within bo_merge on export_limit is not working as expected) 2011-09-13 15:41:31 +00:00
Klaus Leithoff
d52c72207c * calendar/importexport/addressbook: calendar introduce new config option to set app specific export_limit; calendar csv export: use enumerate for exporting events as csv; bo_merge: introduce new helper functions to get and check export-limit; addressbook: use new helper functions 2011-09-13 09:05:33 +00:00
Ralf Becker
1b05b82e20 Do NOT move start- and end-date, to the earliest exception, as they will NOT be found in CalDAV or ActiveSync, because
we only recognice recuring events which start before or in the current timerange and end in or after it or have no end-date.
--> give an error message, as it is a debuging/support nightmare, if this gets silently fixed when reading events.
No idea how this situation (exceptions before startdate) can be created anyway.
2011-09-12 11:05:51 +00:00
Ralf Becker
0b96631cd4 Do NOT move start- and end-date, to the earliest exception, as they will NOT be found in CalDAV or ActiveSync, because
we only recognice recuring events which start before or in the current timerange and end in or after it or have no end-date.
--> give an error message, as it is a debuging/support nightmare, if this gets silently fixed when reading events.
No idea how this situation (exceptions before startdate) can be created anyway.
2011-09-12 11:04:48 +00:00
Ralf Becker
975a8ade09 * API/Calendar: allow to link to accounts and allow to select accounts as participants by searching them like contacts 2011-09-07 16:47:08 +00:00
Ralf Becker
b633044a46 * API/Calendar: allow to link to accounts and allow to select accounts as participants by searching them like contacts 2011-09-07 14:47:51 +00:00
Klaus Leithoff
7ab7b51bc8 fix typo and missing param for uilist::get_rows 2011-09-05 07:12:57 +00:00
Klaus Leithoff
f48ab37187 fix typo and missing param for uilist::get_rows 2011-09-05 07:01:08 +00:00
Klaus Leithoff
a3b17caa5f * impportexport/document merge: better control of exportlimits, you are now able to exempt groups or users from any exportlimits set (backport of nathans work, with enhancements from ralf) 2011-09-01 14:32:26 +00:00
Klaus Leithoff
1d8034e17b code cleanup: as bo_merge::is_export_limit_excepted checks for ->is Admin<- already 2011-08-30 15:13:58 +00:00