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
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
3d66a8d948
return app, so it can be used in CalDAV to generate urn:uuid
2011-10-17 15:44:26 +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
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
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
d79a1740be
* Calendar: fixed not working accept/reject of invitations, if participant is in a group with only a freebusy grant
...
- previouse prevented that, thought we dont know why it was implemented that way
2011-06-26 15:46:30 +00:00
Ralf Becker
be76b42634
file_access_user implementation for calendar
2011-06-26 15:41:21 +00:00
Ralf Becker
5dc47a9044
* Calendar: warning if user tries to move horizont further then default 1000 days and NOT start moving horizont, to allow adding events after the horizont
2011-06-14 18:33:26 +00:00
Ralf Becker
486e99ec0c
- Implemented a hook for timesheet_ui::edit to query calling apps for additional information to set in new tickets incl. links.
...
Replaces existing $_GET parameters, which are hard to set for new action system.
- also adding category color to infolog and tracker
2011-05-30 14:21:27 +00:00
Ralf Becker
145cf9ce68
New method to display meeting-requests for fmail and allow to (tentativ) accept or reject them
2011-05-27 20:32:46 +00:00
Ralf Becker
df5ec0ae72
small docu update
2011-05-26 16:50:57 +00:00
Ralf Becker
c15ba47b5f
* Calendar/CalDAV: fixed SQL error on ctag generation, if no ACL rights for requested group calendar exists
2011-05-23 14:43:47 +00:00
Ralf Becker
4e13824fc5
patch #2953 : limit calculation of exceptions in recuring event to horizont
2011-05-03 17:33:50 +00:00
Ralf Becker
f3402daf91
fixed not included participants which are email addresses or contacts in AS
2011-04-28 17:55:44 +00:00
Ralf Becker
0a04c20764
do NOT allow users to purge deleted events, if we dont have 'user_purge' enabled
2011-04-27 16:28:38 +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
2de73d86a5
fixed not working creation of new series, calendar_bo::read() always returned some event, even if no id given
2011-04-08 14:20:01 +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
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
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
2a9198eb86
throw an exception, if calendar_bo::resource_info($uid) is called with a non-scalar parameter
2011-03-28 12:04:34 +00:00
Ralf Becker
bd6889657e
fixed etag for series not containing etag's of exceptions
2011-03-24 22:18:30 +00:00
Ralf Becker
4101c181d4
fixed doublicat groups, because they were in grants and memberships
2011-03-24 17:19:31 +00:00
Ralf Becker
ad287e8664
calendar_bo::list_cals() returns now array no longer indexed by account names, as this overwrites identical account names with the last one
...
also do NOT return no longer existing account, which are eg. still included in acl
2011-03-24 09:26:39 +00:00
Ralf Becker
26a55d8c01
removed not possible condition (private events are NOT returned by calendar_so::serach() for filter "showonlypublic", so no need to deal with them here
2011-03-23 08:12:29 +00:00
Nathan Gray
8d81db64af
Fix hideprivate / showonlypublic filters
2011-03-22 16:03:35 +00:00
Nathan Gray
b2bea332b1
Do private filtering on DB level
2011-02-28 23:43:34 +00:00
Nathan Gray
50543c0115
Don't show private events in search results, even if user has freebusy permission
2011-02-17 20:39:10 +00:00
Ralf Becker
1e296760d9
fixed not working ctag calculation in trunk, plus docu and logging
2011-02-16 14:21:59 +00:00
Ralf Becker
20db16219d
* Calendar: invite rights, should NOT implicate a freebusy rights (users with invite rights could see freebusy times of other users)
2011-01-04 19:27:17 +00:00
Ralf Becker
c65705aac4
- started implementing virtual exceptions for AS (currently commented out in line 176, as not yet tested)
...
- ChangeMessage now searched contacts for participants and always re-adds resources (everything but accounts, contacts and email)
- some more timezone specific fixes
>>> none of the above is tested, as my iPhone charges no more and battery is now flat :-(
2010-12-21 02:45:40 +00:00
Ralf Becker
904471d3d3
fixed typo
2010-12-18 23:58:11 +00:00
Ralf Becker
f9163f2747
typo
2010-12-17 03:40:55 +00:00
Klaus Leithoff
0cd5658ca1
* calendar: make configurable the number of users, until day- or weekview are consolidated; 5 is set as default
2010-12-10 11:03:35 +00:00
Klaus Leithoff
8a293796e1
fix for postgres
2010-12-07 11:34:18 +00:00
Ralf Becker
8f3d6954e5
search extra account repository for birthdays too
2010-12-06 18:40:08 +00:00
Ralf Becker
0e4217f37f
* fixed birthday of contacts/accounts in LDAP could not be modified in addressbook
2010-12-06 18:25:35 +00:00
Ralf Becker
a7ea17d896
fixed fatal error, after move of get_ctag to calendar_bo
2010-12-03 13:22:08 +00:00
Ralf Becker
9981730b29
moved ctag to calendar_bo, to use it in CalDAV and ActiveSync, thought it needs to be reworked, as it is to expensive performance-wise
2010-12-02 22:27:32 +00:00
Ralf Becker
96d44948f7
missing 5. parameter
2010-12-02 22:11:05 +00:00
Ralf Becker
83fd244b5c
new parameter $clear_private_infos_users to read using EGW_ACL_FREEBUSY instead of EGW_ACL_READ (eg. private appointments) and clear private infos, if no read rights
2010-12-02 21:50:22 +00:00
Ralf Becker
fafa84e5c7
changed debug_message to use error_log and not echo messages (stalls *DAV or ActiveSync)
2010-11-28 11:01:44 +00:00
Ralf Becker
07e09c71d8
move etag to calendar_bo
2010-11-26 21:32:10 +00:00
Ralf Becker
9dfe1a55f4
convert all timestamps from DB returned as string to integers, to avoid missinterpretation from egw_time as Ymd string
2010-11-04 13:30:11 +00:00
Ralf Becker
ca4f237dc4
fixed http status "400 Something went wrong" on PUT request in CalDAV, if user has no explicit FREEBUSY rights for calendar of modified event
2010-10-21 15:30:20 +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
Jörg Lehrke
33bd0fed50
Announce all available addressbooks and calendars of the current user with GroupDAV
2010-10-09 22:49:10 +00:00
Klaus Leithoff
a5342d2eb1
calendar: handle catchable fatal error while trying to build rule
2010-10-04 10:07:52 +00:00
Klaus Leithoff
b976930423
preventing invalid birthdays stored with the datastore such as 0000-00-00 or 0.0.00 to transform to a birthday
2010-09-30 09:32:34 +00:00
Klaus Leithoff
5c8d3301d6
postgres compatibility gathering of birthdays for homearea (calendar merge of birtdays into holidays) order by column must be part of distinct selection list; adapting calendar home view to meet expected date format by using egw_time::to
2010-09-17 13:51:12 +00:00
Ralf Becker
c5f77ca982
new param $sql_filter for search()
2010-09-10 19:12:59 +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
Nathan Gray
49471c5e2b
Change link title so it can give the date for a particular recurrence, if the passed id is in the form CAL_ID-RECUR_DATE
2010-09-03 18:04:48 +00:00
Jörg Lehrke
c5ae8dd8e2
Support Free/Busy information with credentials as part of the URL
2010-06-26 11:35:11 +00:00
Jörg Lehrke
015245d235
Improved alarm handling
2010-06-07 17:54:29 +00:00
Jörg Lehrke
f1343bfde0
Fix EGW_ACL_FREEBUSY issue
2010-05-21 15:53:06 +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
32678401e8
Fix calendar_bo::search() issue with events outside the search window (bug#8090)
2010-05-18 15:12:51 +00:00
Jörg Lehrke
d2c03cd287
Fix CalDAV PUT failure
2010-05-18 10:03:21 +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
362afdb312
Fix GroupDAV private event issue
2010-05-14 08:35:16 +00:00
Jörg Lehrke
91cfd18e16
Fix all-day event recurrence issue
2010-05-06 19:16:43 +00:00
Nathan Gray
a2eab86ef8
Use pre-existing function to handle deleted flag
2010-05-04 21:35:06 +00:00
Nathan Gray
5bea81f18f
Handle if event deleted flag gets turned into a string (Postgres)
2010-05-04 15:47:53 +00:00
Jörg Lehrke
ec48d32681
Calendar recurrence horizont configurable; fix recur_enddate issue
2010-05-03 16:43:42 +00:00
Jörg Lehrke
d22a9aa537
Fix all-day recurring event timezone issue
2010-05-01 16:25:10 +00:00
Jörg Lehrke
22bb23b8ff
Fix new all-day event handling
2010-04-23 13:52:45 +00:00
Jörg Lehrke
ee18b0acac
New all-day event implementation
2010-04-23 06:15:18 +00:00
Ralf Becker
9e8a74b92e
"fixed not working caching to avoid multiple reads of same event from database
...
(condition !$date stoped caching for all non-repeating events)"
2010-04-14 08:49:49 +00:00
Christian Binder
8211aef3ff
fixed wrong series event end times for whole day events when events occur or span over a daylight saving date, fixed typos
2010-02-25 17:05:24 +00:00
Jörg Lehrke
08dbf52b66
Fix typos and code cleanup
2010-02-22 10:02:33 +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
ed7f3a764e
Free/Busy handling for groups and recources; Groups: if a group allows only free/busy to its users, then participation does not mean a lot. Resources: if grant is free/busy only explicit recources rights are not to be regarded
2010-02-10 12:31:34 +00:00
Hans-Jürgen Tappe
b712cc0480
$ts += DAY_s in a 'for' loop does not work for daylight savings in week view
...
because the day is longer than DAY_s: Fullday events will be added twice.
2010-02-07 14:37:27 +00:00
Jörg Lehrke
75746226a4
Use egw_time for InfoLog, tracking backend and Tracker
2010-02-04 12:08:03 +00:00
Ralf Becker
25c29211f5
adapting for changed categories class
2010-01-30 23:54:08 +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
890125cab5
A few more change for the new integration interface, probably not the
...
last ...
2010-01-21 23:36:05 +00:00
Christian Binder
5c29be0ed1
read event start and end times if not given from the caller to avoid broken recurrences
2010-01-15 08:44:21 +00:00
Nathan Gray
ac14a5a1fd
Implement options so link_query() can be limited
2009-12-08 22:36:43 +00:00
Ralf Becker
8a9392c681
fixed problem with blanks in account_id of owner parameter
2009-12-04 10:22:33 +00:00
Ralf Becker
5066c5c3b7
docu update
2009-12-03 18:20:07 +00:00
Jörg Lehrke
dd92e60180
Use UID for find_content(); code cleanups
2009-12-01 10:24:55 +00:00
Ralf Becker
0e60f6ac29
NOT clear timezone for private events (causes exception in calendar list
...
view)
2009-11-26 10:27:46 +00:00
Ralf Becker
d53b681f21
- reworked referer handling to allow calling from other apps and not
...
changing back to calendar
- allow to specify custom template for event edit
2009-11-25 20:16:41 +00:00
Christian Binder
a7c2b81b85
moved declaration of categories var to bo class
2009-11-25 12:55:59 +00:00
Ralf Becker
55fc673dc5
- new configurable invitation ACL: Require an ACL grant to invite other
...
users and groups:
* No: Every user can invite other users and groups (default and old
behavior)
* Groups: other users can allways be invited, only groups require an invite_grant
* Users + groups: inviting both allways requires an invite grant
One need to keep in mind, that setting an invitation ACL via a group,
gives each groupmember the right to invite the group / create a group
event. So the last option propable only works, if users manage
invitations grants on their own, or admin only sets it in small working
groups, where every member is allowed to invite the whole group.
--> calendar backend code removes participants a user is not allowed
to invite
- new "only groupevents" filter, showing only real groupenvents not
events of groupmembers (added tooltips to explain filters)
2009-11-19 18:56:04 +00:00
Ralf Becker
b307d2a5cf
"using new rrule iterator to calculate recurrences
...
--> still need to implement new monthly last day/week rules in iCal class"
2009-11-12 10:11:23 +00:00
Christian Binder
1fac8112a9
fixed a very small typo :-)
2009-11-04 21:16:08 +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
Christian Binder
e3074ac9dc
re-implemented implicit EGW_ACL_PRIVATE grant for group invitations - removed unneeded error logging
2009-10-23 07:51:07 +00:00
Ralf Becker
20e655c466
Default and forced preferences for nearly all apps
2009-10-19 17:04:11 +00:00
Ralf Becker
1fa1b92a56
docu update
2009-10-18 12:59:12 +00:00
Ralf Becker
d6cf835680
missing translation of role
2009-10-13 08:58:06 +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
Ralf Becker
ab9c9d21b6
New egw_time class used to implement correct timezone handling for
...
calendar, plus a first calendar implemenation.
This implementation just replaces following calendar_bo methods:
- date2ts($date,$user2server=False)
- date2array($date,$server2user=False)
- date2string($date,$server2user=False,$format='Ymd')
- format_date($date,$format='')
which static methods from egw_time.
If your server is in same timezone as the user, you should experience no
difference. As a small test, you can switch to an other timezone (eg.
UTC) to recognice on a weekly repeating event (which still repeats on
equal server time!) that it moves by one hour when daylight saving
changes. This switching to a TZ with different daylight saving rules,
was not working before.
Happy testing :-)
2009-10-07 13:29:06 +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