Commit Graph

2766 Commits

Author SHA1 Message Date
Ralf Becker
7630f59a13 * 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-05 05:47:02 +00:00
Ralf Becker
14c36dd999 * Calendar: button to close a single calendar if multiple calendars are shown (day, week and planner view) 2012-01-05 04:12:13 +00:00
Ralf Becker
fc799e99a7 *Calendar/CalDAV: Add index for cal_modified and cal_user_modified to improve performance of ctag and etag generation on big installtions 2012-01-04 21:42:46 +00:00
Klaus Leithoff
eb6aa373e3 silence error_log from calendar_bo triggered by statMessage 2011-12-23 11:24:29 +00:00
Klaus Leithoff
3d3f0724df * 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:03:12 +00:00
Nathan Gray
c23be59179 Use due date, or completed date, or start + duration preference (in order) for end date 2011-12-21 15:36:02 +00:00
Nathan Gray
4efa3dd4ae - Copy infolog entry links into calendar entry
- Match categories by name
- Event owner is current user, not infolog owner
2011-12-19 20:45:05 +00:00
Klaus Leithoff
d09b7ad087 add action to choose between sending meeting requests or a mail with the ics file of an event attached. 2011-12-16 09:55:57 +00:00
Nathan Gray
f6a443a917 Add warnings to import plugin 2011-12-15 16:24:47 +00:00
Nathan Gray
5c8bf4ec27 - Fix infolog linked contact -> participant
- Add infolog main link to calendar entry
2011-12-14 15:45:54 +00:00
Nathan Gray
3c30791c5c When creating calendar from infolog, don't add the currently selected calendar users, just the ones from infolog 2011-12-13 17:38:09 +00:00
Nathan Gray
2f4d8848c5 - Remove previously added hook & base class, turns out there's an established way to do it...
- Use existing link_app type hook to create calendar from infolog
2011-12-12 21:51:12 +00:00
Nathan Gray
332427277d Add ability to create calendar entries from infolog entries, using new base so other apps can be added (hopefully) easily later 2011-12-08 23:20:49 +00:00
Klaus Leithoff
220afbf728 * calendar/esync: active-sync does NOT want calendar owner as participant 2011-12-06 14:00:04 +00:00
Ralf Becker
f99e4f276a * CalDAV: fixed group-invitations got lost (urn:uuid url lost one char with each new import) 2011-11-24 14:37:12 +00:00
Ralf Becker
68dd900091 * Calendar: fixed groupmembers cant accept/reject group-invitations in listview via context-menu (error: failed because of insufficient rights!) 2011-11-21 14:25:44 +00:00
Ralf Becker
7c9dd8086f changed "No defintion" to "Old fixed definition" 2011-11-21 10:01:08 +00:00
Nathan Gray
1afba81ce8 Add 'No definition' option for default export definition preference. Allows use of legacy nextmatch CSV export with Import/Export app still available 2011-11-18 16:01:57 +00:00
Ralf Becker
cf5f904abc fixed fatal error: Cannot pass parameter 6 (of calendar_boupdate::update) by reference 2011-11-11 12:54:03 +00:00
Ralf Becker
89ed7d49d1 fixed alarm on series got lost, if creating an exception 2011-11-11 12:46:34 +00:00
Ralf Becker
bed836de18 * 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:13 +00:00
Ralf Becker
5458179c30 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:47:53 +00:00
Ralf Becker
8f8268f91e * Calendar: fixed many issues when moving or modifiny (parts of a) recurring event (alarms, recurrance type, time) 2011-11-10 18:39:08 +00:00
Nathan Gray
13ca4a5668 Add export of all custom fields to default CSV export definition 2011-11-10 18:20:02 +00:00
Ralf Becker
4703ccbcb3 always return an array, if an array is given as argument 2011-11-10 06:40:55 +00:00
Ralf Becker
cf1eee2818 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:53:42 +00:00
Nathan Gray
659406537b Remove accidentally committed test code 2011-11-09 15:50:22 +00:00
Ralf Becker
b0a22dae6a 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:23:53 +00:00
Ralf Becker
684d23326e * Calendar: fixed MyStylite bug #2434: context menu could be used to invite yourself to any event you can read 2011-11-09 09:44:28 +00:00
Nathan Gray
33a59d331d Add custom fields to import field list 2011-11-08 22:33:34 +00:00
Nathan Gray
a2c0da6ccc When exporting from list view, default selection options to listview settings 2011-11-08 22:01:41 +00:00
Ralf Becker
f37f8578cf - 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:09:06 +00:00
Ralf Becker
8cad47e22f fixing r37108 calendar_timezone::DateTimeZone() returns a DateTimeZone not an egw_time object 2011-11-07 17:11:59 +00:00
Klaus Leithoff
0d0511b099 * 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:20:49 +00:00
Nathan Gray
4ab5f97ed0 Add {{links}}, {{attachments}}, {{links_attachments}} placeholders 2011-10-26 16:45:38 +00:00
Philip Herbert
0b924e9e6e esync: fix for not updated calender, contact, task on device if only description or note was changed in EGroupware. Also fixing issue that values in these fields could not be deleted on several devices. 2011-10-23 18:16:41 +00:00
Ralf Becker
b599d4a4e2 using maximum of cal_modified and cal_user_modified for iCal LAST-MODIFIED too 2011-10-23 08:31:44 +00:00
Ralf Becker
5e132c5a53 Two more fixes (thanks to Roland Scherer):
- using maximum from calendar modified and user_modified for getlastmodified, as for the etag
- invitations in inbox have to use METHOD: PUBLISH (not REQUEST)
2011-10-23 08:13:35 +00:00
Ralf Becker
291b540aa7 fix for iCal4OL using WinHTTP only supporting a certain header length 2011-10-23 07:59:05 +00:00
Ralf Becker
8096c34bef - fixed ORGANIZER/ATTENDEE in iCal for CalDAV:
+ do NOT use ORGANIZER for events without further participants or a different organizer
+ do not include event owner/ORGANIZER as participant in his own calendar, if he is only participant
--> all other cases include ORGANZIER and additional as ATTENDEE (tested with iCal on iOS and OS X)
- implemented schedule-tag and If-Schedule-Tag-Match header from CalDAV Scheduling
- allow to change participant status and add/remove alarms with schedule-tag instead of ETag
--> If-Schedule-Tag-Match header has precedence over If-Match (ETag) header, but limits changes to participant status and alarms
--> ToDo: test accepting, rejecting recurrences
2011-10-20 20:10:04 +00:00
Ralf Becker
d898e6c627 calendar-timezone needs full vcalendar component, not just a vtimezone 2011-10-20 14:01:16 +00:00
Ralf Becker
ceaec3d3c1 added calendar-timezone property, changed groupdav_handler::extra_properties signature (removed static and added $user parameter), removed calendar-user-address-set property belonging only to principal 2011-10-20 13:35:01 +00:00
Ralf Becker
0580322fd7 * 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:23:52 +00:00
Ralf Becker
3d66a8d948 return app, so it can be used in CalDAV to generate urn:uuid 2011-10-17 15:44:26 +00:00
Ralf Becker
512138ed56 diverse fixes for resources&locations, thought iCal only autocompletes locations, no idea why it skips resources, thought resources booked via webgui are shown correct 2011-10-17 15:36:28 +00:00
Ralf Becker
77fb521ccd fixed not exported participants via CalDAV 2011-10-17 14:06:21 +00:00
Ralf Becker
a949acf031 locations and resources principal tree, should allow (untested!) to add resources via iCal autocomplate and "subscribe" to resource calendars 2011-10-16 08:53:07 +00:00
Ralf Becker
49a6cdd34d reverting accidental commit r36964 2011-10-16 08:51:11 +00:00
Ralf Becker
377a32ef7a not announcing DAV level 2, as we dont support locking 2011-10-16 08:49:29 +00:00
Ralf Becker
897bef41f6 fixed timezone alias update always reports one timezone update, event if it updated nothing 2011-10-11 13:09:51 +00:00
Ralf Becker
84c4174a3a 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 11:43:18 +00:00
Ralf Becker
873c737b8c added missing static to calendar_timezones::DateTimeZone($tzid) 2011-10-11 09:57:38 +00:00
Ralf Becker
6385b94108 fixing the fix: DTSTART is in UTC time, Horde_iCalendar parses it in server timezone, which we need to set again for printing 2011-10-09 17:48:12 +00:00
Ralf Becker
c2f74d0c72 * CalDAV: fixed wrong VTIMEZONE component generated (has to be in UTC), probably fixes bug #2984: Problem with VTIMEZONE component generated for NZ 2011-10-08 18:40:29 +00:00
Ralf Becker
b2fa12eb3e remove unusual and unnecessary "EGw-...-wGE" prefix/postfix from etag and ctag 2011-10-08 11:34:55 +00:00
Ralf Becker
b2ea1a7d05 new method groupdav_principals::url2uid to convert a principal url to a calendar uid, fixes emclient uses urn:uuid urls in outbox posts to get freebusy 2011-10-07 06:02:30 +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
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
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
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
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
1d8034e17b code cleanup: as bo_merge::is_export_limit_excepted checks for ->is Admin<- already 2011-08-30 15:13:58 +00:00
Klaus Leithoff
10411b539d adapting missed export_limit_excepted processing to static bo_merge::is_export_limit_excepted 2011-08-30 14:49:49 +00:00
Klaus Leithoff
69a930ab67 * calendar/holidays: fix charset for japanese holidays 2011-08-22 14:29:22 +00:00
Nathan Gray
16bafa78b8 Implement export restriction exception for given users/groups in apps 2011-08-17 15:38:56 +00:00
Ralf Becker
8996f45e9e * Calendar: not using freebusy rights for searching calendar, as it would allow to probe for event contents
- optimised private event filter for searching to not query private grants (again) from database
2011-08-16 10:20:40 +00:00
Ralf Becker
d2a87d2de4 fixed Warning: DateTime::modify(): Failed to parse time string (1234.5 second) at position 7 (s): The timezone could not be found in the database, caused by second fraction 2011-08-11 08:41:13 +00:00
Ralf Becker
378526a648 quietend PHP Warning: explode() expects parameter 2 to be string, array given on line 313 2011-08-11 07:41:18 +00:00
Ralf Becker
17a41103d5 Loa language translation from vimontha <kvimontha@yahoo.com> 2011-08-09 06:12:25 +00:00
Ralf Becker
3819816248 * Calendar: fixed various issues with history in calendar: id display, unecessary stuff loged, ... 2011-08-04 14:00:15 +00:00
Ralf Becker
17f6dad7eb * CalDAV: fixed and enabled iterator again, to minimize resource usage, fix for mystylite bug #1942
it was disabled because sql query was broken, because we did not use MIN(cal_end) multiple events per cal_id were returned
2011-08-03 16:13:56 +00:00
Ralf Becker
5f415cafc2 - clearify wording "display holidays or birthdays as events *in dayview*", as it currently only works in dayview and might take to much space for other views
- fixed holidays as events to show no participants and not as private
2011-08-03 15:12:07 +00:00
Ralf Becker
9b8921116b * Calendar: show status set for the whole series at recurrences too, unless they have an individual status
removed previous participants call now completly, as the above changes archive the same thing, without enumerating all recurrences to the database
2011-08-03 12:35:42 +00:00
Ralf Becker
74ddade8a0 fixed PHP fatal error: can not pass parameter 6 by reference 2011-08-02 15:55:20 +00:00
Ralf Becker
26f08e7149 fixing r35871: status was not explicitly set to false (only to true) and therefore not editable 2011-08-01 16:36:54 +00:00
Ralf Becker
b11767f450 * Calendar: fixed in readonly events custom fields were still editable 2011-08-01 15:57:23 +00:00
Klaus Leithoff
5529618ba1 fix broken category search, selected cat=1 always, when only one category wasselected, as (int) of an array does not give the required/expected result 2011-07-19 07:32:28 +00:00