Commit Graph

156 Commits

Author SHA1 Message Date
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
Ralf Becker
0a35a4a7c2 an other PostgreSQL compatibility problem: cast to varchar necessary 2010-10-28 09:22:01 +00:00
Ralf Becker
ddcc0e1f75 removed never implemented cats_no_subs common pref and always include sub-cats (no change as currently only one was selectable) 2010-10-14 16:16:02 +00:00
Nathan Gray
7c55020318 Use just set cal_id variable instead of potentially not set event['cal_id'] 2010-10-13 17:24:32 +00:00
Jörg Lehrke
07063ebf7a Update cal_modified for all required cases; adjust CalDAV ctag function 2010-09-11 18:08:48 +00:00
Ralf Becker
ce35264ed9 fix for postgreSQL bug reported by Anthony Messina (amessina-at-messinet.com): sync_contentid is varchar(60) and needs explicit cast, fixed by letting egw_db do the quoting, which is more save anyway 2010-09-10 07:01:41 +00:00
Ralf Becker
8241be4091 storing deleted timestamp instead of a deleted flag, to allow to use calendar table instead of egw_api_content_history later on 2010-09-09 09:11:57 +00:00
Jörg Lehrke
f90e1da24f Fix alarm handling for recurring events starting in the past 2010-08-10 21:21:18 +00:00
Klaus Leithoff
f2bc58898f rework of calendar purge function 2010-07-06 08:20:53 +00:00
Ralf Becker
419516c011 removed columns from DELETE statement 2010-07-02 06:00:25 +00:00
Nathan Gray
f8431b00a7 - Fix purging of old events so it doesn't delete everything
- Trick config into calling the hook when purging is turned off so cron job is cancelled
2010-07-01 15:27:37 +00:00
Jörg Lehrke
c6b0f825d9 Fix SyncML replace and recur_enddate issue 2010-06-26 15:58:33 +00:00
Ralf Becker
a4ae9df347 searching case insensitive for PostgreSQL too 2010-06-22 16:59:04 +00:00
Jörg Lehrke
ae1807c571 Fix recurring event alarm issue 2010-06-18 13:37:42 +00:00
Nathan Gray
61099d4a89 Move purging of old calendar events to use less API and do more with the DB directly. Hopefully will be a little easier on the DB. 2010-06-14 11:45:00 +00:00
Jörg Lehrke
f6eb00e6a1 Allow alarms for recurring events starting in the past 2010-06-08 16:36:55 +00:00
Jörg Lehrke
015245d235 Improved alarm handling 2010-06-07 17:54:29 +00:00
Ralf Becker
b1682123c7 certain clean-ups, plus fixing wrong query passed to calendar integration (leftover from parameter change) 2010-06-01 09:28:37 +00:00
Ralf Becker
de1a64cacd "missing break in deleted filter (showing only unknow status)" 2010-05-21 15:09:11 +00:00
Ralf Becker
3a19b96589 "fixed not not changed old $_cols parameter to $params['cols']" 2010-05-21 15:05:31 +00:00
Ralf Becker
2d53603ccd replaced several calendar_so::search() parameter with new array $params parameter and added new $params[users] with raw users as passed to calendar_bo::search() (without members and memberships added) for calendar integration 2010-05-20 15:22:37 +00:00
Ralf Becker
06854c6301 replaced several calendar_so::search() parameter with new array $params parameter and added new $params[users] with raw users as passed to calendar_bo::search() (without members and memberships added) for calendar integration 2010-05-20 15:12:59 +00:00
Jörg Lehrke
7ab47224c9 Fix calendar_bo::search() returning all-day events one day later (bug#2602) 2010-05-17 15:40:06 +00:00
Jörg Lehrke
ec48d32681 Calendar recurrence horizont configurable; fix recur_enddate issue 2010-05-03 16:43:42 +00:00
Nathan Gray
a2daa3f5cc Add trailing / to regex to silence warning 2010-04-27 18:35:14 +00:00
Klaus Leithoff
5e8b903207 if filter showonlypublic is set, set status filter to hide rejected too 2010-04-26 12:28:30 +00:00
Klaus Leithoff
09ea5fe114 feature to filter for only public events (no events tacked as private) 2010-04-26 07:08:23 +00:00
Nathan Gray
afafbec708 Use db->quote to get good cross db comparisons 2010-04-23 19:11:24 +00:00
Ralf Becker
74ccf7501d helper function to construct union-query-columns for calendar_integration 2010-04-23 06:52:48 +00:00
Nathan Gray
074b893e37 Change preserving deleted events. For speed improvements, use an extra column instead of joining to the sync tables 2010-04-22 16:09:36 +00:00
Klaus Leithoff
ebe6ec61fa fixing problem in listview, using the new UNION functionality 2010-04-16 07:55:43 +00:00
Klaus Leithoff
06fed70281 all user_types supported while building the UNION 2010-04-15 13:41:57 +00:00
Klaus Leithoff
d41940fc1f work in progress, forgot that ressources are user_types too 2010-04-15 13:23:16 +00:00
Klaus Leithoff
b1987c62fa use UNIONs instead of OR for calendar filter "owner too" 2010-04-15 12:52:35 +00:00
Nathan Gray
3a09d2072f Fix for cast from Anthony Messina 2010-03-07 22:09:48 +00:00
Jörg Lehrke
a8804a44ef GroupDAV updates 2010-03-06 23:06:43 +00:00
Nathan Gray
79824c2e0c Use cast only for Postgres, as in projectmanager 2010-03-06 15:49:59 +00:00
Nathan Gray
11183a763d Cast sync_contentid to unsigned int 2010-03-06 02:40:57 +00:00
Nathan Gray
cb5054f2e4 Add an option to keep deleted events, only an admin can purge them 2010-03-05 20:01:44 +00:00
Jörg Lehrke
85b6ba5ef0 Cleanup issues found during backport 2010-02-23 18:19:12 +00:00
Jörg Lehrke
ce7324f12f Fix daywise search 2010-02-19 17:10:15 +00:00
Jörg Lehrke
21ccdd5f28 Fix various synchronization issues (SyncML & CalDAV) 2010-02-17 13:29:28 +00:00
Klaus Leithoff
f9a3ab52dc only do the integration query, if currentapp is calendar, because of performance issues thereof (addressbook fetches the last calendar event(, which fetchs the infologs)) 2010-02-02 13:29:51 +00:00
Klaus Leithoff
6e258109d8 as you can now see other apps in calendar, you must make sure you read only true calendar events for recurring dates, participants and customfields 2010-02-01 10:35:05 +00:00
Jörg Lehrke
32639bd47e Major SyncML Calendar update
- SIFE support improved
  - various vCalendar 1.0 issues fixed
  - device specific timezone support for recurring events
  - pseudo exception handling improvements
2010-01-29 21:42:54 +00:00
Ralf Becker
cc848debf2 disable integration for GroupDAV, SyncML, ... 2010-01-24 03:50:40 +00:00
Christian Binder
fb16385a8d method get_related should only return the ids 2010-01-22 19:47:32 +00:00
Ralf Becker
890125cab5 A few more change for the new integration interface, probably not the
last ...
2010-01-21 23:36:05 +00:00
Ralf Becker
12e5f2b218 allow calendar integration to supply participants and icons 2010-01-21 03:00:53 +00:00
Ralf Becker
8c1e245925 hook to supply further union queries for calendar display 2010-01-19 22:20:44 +00:00
Christian Binder
c32beca725 fixed a typo 2010-01-15 08:49:36 +00:00
Jörg Lehrke
14e7c0cd87 Add filter to calendar_so::get_recurrence_exceptions() method 2010-01-14 17:01:30 +00:00
Ralf Becker
dd0a5c1b13 Fixed CalDAV/GroupDAV to include all exceptions of a series in the
resource of the series master. Now the status of single recurrences of a
serie are send to the clients as (virtual) exceptions as Jaytrax&Joerg
implemented it already for SyncML.
The implementation is unfortunately a little different, as CalDAV
differs from SyncML and I dont know the SyncML part that well. Maybe we
can re-unify the code again together.
Tested so far with Tb3/Lightning1.0b and a little with iPhone.
Please let me know, if you run into problems with other clients.
2009-12-27 04:21:33 +00:00
Jörg Lehrke
3fa506f24a Change calendar filter 'all' to include 'owner'; typo in get_recurrences() 2009-11-29 21:02:15 +00:00
Jörg Lehrke
a0e1a238dd Optimized SyncML memory footprint; fixes various filter issues 2009-11-29 14:03:45 +00:00
Jörg Lehrke
43c5373b4d Fix event recur_interval mismatch issue 2009-11-27 06:46:32 +00:00
Jörg Lehrke
0f77f7e802 Fix role handling in get_recurrences() 2009-11-26 20:21:16 +00:00
Jörg Lehrke
6a7b07e3c6 New PARTICIPANT/ORGANIZER schema 2009-11-26 18:36:19 +00:00
Jörg Lehrke
4088b81c5c Impoved support for recurrences if device timezone differs from event timezone 2009-11-19 10:13:17 +00:00
Ralf Becker
b7c5dd63dc "recalculate recurences, if timezone of a recuring event changes
(it would be nice, if there's a simple method to find out if two different timezones switch at identical times, eg. Europe/Berlin and Europe/Paris do so, so we can avoid the recalculation)"
2009-11-12 19:11:27 +00:00
Ralf Becker
4e9120ecf0 New tz_id column in egw_cal storing id into egw_cal_timezones
Please note: timestamps in egw_cal* tables are in server-time,
tz_id / timezone is only used to (re-)calculate recurrences and to
export in iCals (NOT yet implemented)
2009-11-04 15:00:08 +00:00
Ralf Becker
28518afcbf "quietening diagnostics in search" 2009-11-04 07:57:55 +00:00
Ralf Becker
54f32ae08a "fixed sql error after switching on custom fields column" 2009-11-03 16:13:45 +00:00
Jörg Lehrke
2eed0b9ddc Fix comment 2009-10-25 18:20:00 +00:00
Jörg Lehrke
d0028ffc31 Improve readability 2009-10-19 20:50:17 +00:00
Ralf Becker
867f5d650d default params for calendar_so::combine_status(,=1,='REQ-PARTICIPANT') 2009-10-13 08:58:54 +00:00
Ralf Becker
0548cf5770 - added roles to UI
- enabling again resource booking without direct booking permission
  (status is then unknown, not accepted)
2009-10-12 19:16:42 +00:00
Jörg Lehrke
6312a087e3 Fix participants() deleted attendee issue, again 2009-10-07 04:23:42 +00:00
Jörg Lehrke
7f07102630 Fix participants() deleted attendee issue 2009-10-06 23:30:05 +00:00
Ralf Becker
04d48a677a Implemented display of custom fields in list-view
ToDo: implement search, sort and filtering by them
2009-10-03 07:32:05 +00:00
Ralf Becker
c38acb88d5 New filter for calendar based on participant status:
- Not rejected
- Accepted
- Invitations
- Tentative
- Rejected
- Owner too: display also events you own, not only ones you participate
- All incl. rejected
- Hide private infos: as usual
--> filter is stored in the user prefs (survives logouts)
--> old "show events you rejected" preference got removed
Also added a hook allowing applications supplying resources to modify
calendar search with SQL.
2009-09-29 19:58:51 +00:00
Ralf Becker
f855b57683 "make storing of cf's aware of arrays
Thanks to Hans-Jürgen Tappe"
2009-09-27 07:59:01 +00:00
Christian Binder
2db8bd6c9c complete rework of participants() method. The only purpose of this method is now to add or delete participants - NOT to overwrite stati. Added a new param "add_only" to have the possibility to check for the existence of a single participant in the egw_cal_user db and add this participant if needed. This is used for e.g. group invitations where a default set of stati does no primary exist for the user. 2009-08-17 14:45:42 +00:00
Christian Binder
77de24e563 manually insert or truncate the recurrences when changing enddate. recurrences rebuild (and stati reset) is now minimized to the following cases: move startdate/enddate, change recur_type, change recur_interval 2009-08-10 09:24:39 +00:00
Ralf Becker
da981bb02f "fixed problem reported in bug #2202 and on the devel list: Database Error when modifying the time of a calendar event
wrong SQL (UPDATE with ORDER BY) was introduce in SyncML-1.2 patch, no idea what the idea behind was ..."
2009-08-09 07:51:27 +00:00
Ralf Becker
0a1a7f4637 some more role related fixes: updating participants, if quantity or role changes 2009-08-07 10:20:58 +00:00
Ralf Becker
bb5511cc9f - methods to combine and split status, quantity and role
- $ignore_acl parameter for calendar_boupdate::delete()
- removed setting owner always as participant: owner is allowed to
  remove himself as participant from an event
  (owner only get's set, if there are no other participants in BO)
2009-08-06 11:29:05 +00:00
Ralf Becker
c29ab01e8d - added ability to store participant roles to calendar backend,
currently not settable via GUI, but GUI leaves them untouched
- showing quantity for resources in brackets behind resource name
- docu and formatting updates all over the place
2009-08-04 17:14:16 +00:00
Ralf Becker
560f18bacd - added new colums cal_creator, cal_created for easier deleting of
doublicates from failed sync
- added cal_recurrences timestamp for exceptions (ts of original
  recurrence), for existing exceptions update script uses
  the closest recur_exception date/time for it
- using uid of original series for new recurrence exceptions,
  update script does NOT update the uid's of existing exceptions
- displaying (maybe temporary) these data in the recurrence tab
2009-07-23 16:14:22 +00:00
Christian Binder
3d1cb839ce so class STEP2: re-insert recurrences for deleted exceptions manually to avoid the forced rebuild of all recurrences and states 2009-07-17 17:16:34 +00:00
Christian Binder
e77ed49566 so class STEP1: reverted wrong recurrence rebuild with $max. fixed not working move() method for egw_cal_user. fixed participant status orphans 2009-07-17 14:49:19 +00:00
Ralf Becker
81a4097818 removed depricated assignment by reference 2009-07-17 11:29:45 +00:00
Ralf Becker
cb0fc5db82 - merged SyncML-1.2 branch with trunk:
svn merge -r 26935:HEAD ^/branches/SyncML-1.2/calendar .
- with the exception of class.calendar_uiforms.inc.php,
  as it was not updated with the latest changes from trunk
  and I'm not sure about the changes
--> needs further discussion, sorry :-(
svn revert inc/class.calendar_uiforms.inc.php
2009-07-15 20:35:56 +00:00
Ralf Becker
232252475f patch fixing many depricated functions (eg. posix regular expressions) and features, which fill up the error_log under php5.3 (and will no longer be available under php6).
Patch is mostly created by script in egroupware/doc/fix_depricated.php in separate commit.
I do NOT advice to apply this patch to a production system (it's commited to trunk!), as the automatic modified regular expressions have a good change to break something ...
2009-06-08 16:21:14 +00:00
Ralf Becker
772c9e57e8 "docu update" 2009-05-06 09:11:37 +00:00
Ralf Becker
2845873bae - docu update
- 2 new (optional) parameters for calendar_so::search()
2009-05-04 22:39:27 +00:00