Commit Graph

141 Commits

Author SHA1 Message Date
Ralf Becker
58c4ec7717 no more querying of recurrences for etag of series master, as all update methods now update modification time of series master for recurrenc-exceptions 2013-02-26 08:49:21 +00:00
Ralf Becker
0e957053dc * CalDAV/CardDAV: removed unnecessary (double) etag generation and improved calendar etag generation for recurring events 2013-02-25 11:18:32 +00:00
Ralf Becker
fd7ec9b71d fixed backend returning all events for freebusy query with just email addresses 2013-01-29 14:59:29 +00:00
Klaus Leithoff
1a56b1516c * Calendar: fix for problem with moving alarms on series when next occurrence is an exception in the way that it is deleted for that time; we use a different method to read the next occurrence of a series now; (as old method also fetched deleted exceptions as next occurrence) 2012-12-12 13:29:03 +00:00
Ralf Becker
f91d9e4e28 * Calendar: fixed not working extending of an event series (latter recurrence end-date), after schema update in last package 2012-10-23 14:56:19 +00:00
Ralf Becker
4030c6a2b7 * Calendar/CalDAV/eSync: fixed truncating an existing daily event left it one day to long 2012-10-23 10:56:19 +00:00
Ralf Becker
138d16cfa3 * CalDAV/Calendar/Resources: calendars of resources can now be accessed or subscribed via CalDAV, to subscribe use CalDAV preferences 2012-10-16 11:30:35 +00:00
Ralf Becker
a735c5886b * CalDAV/CardDAV: sync-collection report for calendar allowing a more efficient sync 2012-10-16 11:11:29 +00:00
Ralf Becker
34fe3b123f * Calendar/CalDAV: fixed not working update/delete of recurring event containing exceptions (always gave 412 Precondition Failed)
because recur_exceptions were not read on search
2012-10-07 17:10:55 +00:00
Ralf Becker
096716461c * Calendar: fixed recuring event lost start-date, if single recurrence got deleted, also installed save-guard in case other code triggers that too
caused by storing an event with unset start- or end-date, to not write it
2012-10-02 16:44:30 +00:00
Ralf Becker
2cfd842118 * Calendar/CalDAV/eSync: fixed recuring events were returned in sync, even if user rejected (after recent database schema changes) 2012-10-02 13:01:43 +00:00
Ralf Becker
c884eb0b8f * Calendar/eMail: fixed sql error when clicking on iCal attachment and probably other iCal imports 2012-09-28 09:32:27 +00:00
Ralf Becker
1035175419 if event is an exception: update modified of master, to force etag, ctag and sync-token change 2012-09-28 08:07:36 +00:00
Ralf Becker
84b0c79d05 if event is an exception: update modified of master, to force etag, ctag and sync-token change 2012-09-28 08:01:38 +00:00
Ralf Becker
41470de3b4 * Calendar/CalDAV/eSync: tracking participant status changes now in modified date and user of calendar entry (main table), fixes sometimes not synced status changes and simplifies code a lot 2012-09-25 14:40:17 +00:00
Ralf Becker
fba1fd1e56 fixed new unlimited recuring events get not synced (range_end == 0 instead of NULL) 2012-09-19 13:37:37 +00:00
Ralf Becker
652e735886 fixed some sql errors because of no longer existing egw_cal_repeats.recur_enddate column 2012-09-19 10:27:53 +00:00
Ralf Becker
acf3e9edbe * Calendar/CalDAV/eSync: tremendious speed improvment for sync-queries on huge installations (few milisecs instead of more then 2 minutes) *** REQUIRES SCHEMA UPDATE *** 2012-09-18 11:40:32 +00:00
Ralf Becker
c85432afd0 only users can be owners, no need to add groups 2012-09-18 11:39:26 +00:00
Ralf Becker
9898162a65 * Calendar: fixed issue of deleted first recurrence shortens event and causes it not to be find in CalDAV or eSync ("event has exceptions before startdate"), REQUIRES SCHEMA UPDATE (visit setup)!
r40103: * Calendar: Try alter description to varchar(16384), to not force temp. tables to disk on MySQL (because of text columns)
r40112: MAX(CHAR_LENGTH(cal_description)) returns NULL, if there are no rows --> casting to int
2012-08-13 13:27:14 +00:00
Ralf Becker
791cec1be9 * Calendar/CalDAV/eSync: fixed etag generation to NOT query maximum user-modification date for each entry, fixed etag and ctag for eSync to only use recurance master, as ActiveSync event does not contain extra participant data for exceptions (virtual and real)
r38474: fixed SQL error reported on developer list: nothing known about column "recur_date"!
2012-03-29 12:43:34 +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
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
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
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
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
3ecb55ad78 * 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:21:22 +00:00
Ralf Becker
d9120468be * 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:15:33 +00:00
Ralf Becker
641aed0f20 * 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:37:08 +00:00
Klaus Leithoff
39ccc98418 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:30:39 +00:00
Ralf Becker
678d0ed937 AS supports now two types of meeting requests:
a) meeting request arriving per mail via felamimail_activesync::GetMessage(List)
b) EGw internal meeting requests via calendar_activesync::GetMeetingRequest(s)
EGw backend returns both via INBOX to the client device (b) with negative id's to not conflict with mail uid's)
MettingResponse method in EGw backend calls calendar or fmail depending on id
Unfortunately this is NOT yet completly working:
- could not test with fmail, as I have no permanent internet access
- MeetingResponse method of calendar get never called, in fact client never sends one :-(
- meeting requests via calendar a now displayed double:
  a) via calendar_activesync::GetMessage(List), which could be switched off easily
  b) via calendar_activesync::GetMeetingRequest(s)
  client sends no MeetingResponse on either of them, for a) it displays buttons to accept, tentative or decline, but only calls SendMail and ChangeMessage (without status)
--> do NOT update if you already use AS!!!!!!!!!!!!!!!!!!!!!!!!!!
2011-05-15 18:25:16 +00:00
Klaus Leithoff
59a0fc75ad temporary fix for array passed as custom-field-link 2011-05-12 15:03:26 +00:00
Ralf Becker
9e141e72e0 patch #2952: typo in class.calendar_so.inc.php 2011-05-03 17:28:54 +00:00
Ralf Becker
51c365d572 deal with cols parameter to search() being an array 2011-04-10 13:52:35 +00:00
Ralf Becker
1b8654b57f fixed PostgreSQL error on CalDAV PROPFIND: not all selected columns where in GROUP BY clause 2011-04-10 13:11:33 +00:00
Ralf Becker
da95032505 fixed some problems with r34529: move all filtering into SQL query
- group-calendar empty
- owner-too filter fixed
- events with multiple users with differnt status and group invitation fixed
2011-04-09 14:41:15 +00:00
Ralf Becker
0bfd238e3f * CalDAV: store name part of URL from client PUT request, to fully comply with CalDAV spec 2011-04-06 19:26:10 +00:00
Ralf Becker
be3dd73dcf quietened permanent error_log 2011-04-06 12:56:40 +00:00
Ralf Becker
bef80c1f7f improved performance of ctag generation (using only a single and quick DB query, compared to multiple queries plus one for each recurring event 2011-04-06 12:46:21 +00:00
Ralf Becker
1df79639b9 quieten permanent error_log 2011-04-06 08:03:32 +00:00
Ralf Becker
66c61cb74e - move all filtering into SQL query in calendar_so, to be able to correctly return N rows starting from row M
- re-enabling propfind iterator again for calendar (fetching events in chunks of 500), to lower memory footprint
Please note: changed SQL queries used for CalDAV do not take changed participants (or status) in exceptions into account
2011-04-05 15:32:20 +00:00
Ralf Becker
c0b4f3b4c6 * Calendar: store async job of alarm with alarm owner as owner to get eg. the correct from address 2011-03-21 14:13:42 +00:00
Ralf Becker
246f13ff6a * Calendar: fixed PostgreSQL error on transfering records of a delted user to an other one 2011-03-11 07:37:34 +00:00
Ralf Becker
d7356a350f * Calendar: fixed SQL error on search: Argument of OR must be of type boolean, not of type smallint 2011-03-10 17:56:13 +00:00
Ralf Becker
3bb9e89bcf * CalDAV/Lightning: fixed under some conditions infinit poping up alarms and user not able to add alarms
- Lightning pops up alarm, until Sequence/etag get updated: if user has no edit rights on an other users calendar, etag never got updated, now we update it
- fixed user was not able to add alarms via CalDAV, if he had no edit rights for event (was always possible in web UI)
- alarms from other users calendars are not included any more, as they make no sense but a lot of trouble
- fixed wrong condition on adding alarms, causing some alarms no being saved
2011-03-05 10:21:32 +00:00
Nathan Gray
b2bea332b1 Do private filtering on DB level 2011-02-28 23:43:34 +00:00
Ralf Becker
3c469c8392 fixed status of all recurrences get set to "unknown", if status of a single recurrence get changed 2011-01-06 05:19:10 +00:00
Ralf Becker
b19c4b3030 * fixed conflict check of resource quantity and storage of changed quantity in existing events
(changed quantity was used for conflict check, but not stored!)
There is still a bug with multiple non-overlapping events overlapping the checked event: check is against quantity sum, not the maximum
2010-11-11 08:51:13 +00:00
Ralf Becker
abb976d0cf fixed typo 2010-10-28 09:43:40 +00:00