Commit Graph

233 Commits

Author SHA1 Message Date
nathangray
11f3719348 Calendar - change how we're dealing with (all day) timezones, keeping the event in the assigned timezone instead of always changing it to the server timezone. 2017-05-31 09:55:41 -06:00
nathangray
8e13f3977f Calendar - Fix daily recurring recur end date got one day later when you save if timezone was Tahiti 2017-05-11 19:15:10 +02:00
nathangray
ce990f65ae * Calendar - Fix bug where recurring events were moved to server time when adding a recurrence exception 2017-05-10 13:47:13 -06:00
nathangray
99595ba1cf Moce calendar birthday stuff into contacts, expire the birthday cache if birthdays change 2017-04-04 10:58:46 -06:00
nathangray
da5cf61542 Calendar - Store contact birthdays in instance cache (by addressbook) instead of session cache to bring the session cache size down. 2017-04-04 09:36:39 -06:00
nathangray
94f678548b Add config option to show age for birthdays 2017-01-25 10:52:47 -07:00
Ralf Becker
afaa722c47 modifications to allow exporting of all calendar entries via stylite/migrate.php script, added cal_deleted as timestamp and support again setting $updateTS=false in calendar_boupdate::save() 2017-01-18 18:31:47 +01:00
nathangray
b86dfa52bb Use user accounts when available over addressbook when expanding mailing lists 2016-09-01 09:26:56 -06:00
nathangray
2b61cc4822 Fix distribution lists calendars to work when first added from search results 2016-07-20 12:39:06 -06:00
nathangray
6d5f820b97 Add resource categories to owner / participant search results
In the sidebox menu, resource categories are returned and selectable and will show events for all resources in that category.
In the edit popup, if the category name matches the search string, all resources of that category are returned and user can select them as if they would have searched for the name of the resource.
2016-07-19 14:10:15 -06:00
nathangray
fada2d433e When adding a mailing list as participant, immediately expand it to contacts 2016-07-12 11:22:36 -06:00
Ralf Becker
0b71dd2756 replace (slower and ugly) create_function with closures 2016-07-10 11:09:21 +02:00
nathangray
76307c4bbf Allow contact lists as event participants 2016-07-06 13:19:54 -06:00
Ralf Becker
b4017cb8c4 * Calendar: check recurrences for conflicts too (until configured search-time is exceeded, default 3s) 2016-07-06 12:46:00 +02:00
Ralf Becker
4af0e7cb1c WIP EGroupware without phpgwapi&etemplate 2016-05-04 19:07:54 +00:00
Ralf Becker
8c7c0c1eb2 reading holidays now from Mozilla holiday calendars, or a custom iCal URL 2016-05-04 17:15:18 +00:00
Ralf Becker
bc4362c22e remove old phpgwapi datetime class from calendar, as it is no longer in api 2016-05-02 20:22:47 +00:00
Nathan Gray
5d14807720 Planner sitemgr module
- Check ACL and only offer users or resources anonymous user has access (read or free/busy) to
- Stop some errors from missing framework breaking the timegrid
- Fallback to be able to get resource labels in all cases
2016-05-02 19:22:52 +00:00
Ralf Becker
dcc003cedf move calendar to new api 2016-05-01 17:47:59 +00:00
Ralf Becker
429177686a make home a regular application, which can eg. disabled, incl. moving all services using "home" as appname to "api" and moved some other forgotten stuff from phpgwapi&etemplate to api 2016-05-01 09:57:48 +00:00
Ralf Becker
6f0728cd9d fix for different return values of accounts->member(s) / membership(s) 2016-03-06 16:09:58 +00:00
Ralf Becker
3971dd8915 fix use of deprecated accounts::member and accounts::membership, should be members and memberships 2016-03-06 14:58:36 +00:00
Ralf Becker
4121546e85 fix docu and logging as logic for change is in backend 2016-02-23 15:04:30 +00:00
Nathan Gray
ffad978c81 Move consolidation limit from config to preference, and split it into two for day & week views 2015-12-22 23:34:53 +00:00
Nathan Gray
0e50aaee77 Remove no longer used preference for preselected group entering the planner 2015-12-17 00:02:38 +00:00
Nathan Gray
4aed504622 Fix drag and drop series exception in a different timezone did not remove original event 2015-12-16 00:28:56 +00:00
Nathan Gray
ede4956797 Changes to how recurring events are split when you change them
- Events before today can (still) not be changed
- Events after today can (still) be changed
- If you change a series by editing (or dnd) an event after today, the change is effective as of that day
2015-11-27 16:57:25 +00:00
Nathan Gray
b034eeac92 Fix changing recurring end date to earlier always gave one extra recurrence 2015-11-24 18:15:11 +00:00
Ralf Becker
8643b08e90 * CalDAV: could not set own status for participation in an exception, if not being a participant of master 2015-10-12 11:55:20 +00:00
Ralf Becker
5f109d2d9e * Calendar/CalDAV: fixed event not show if user only participates in an exeception (not the master) and has no read-rights for any master participant 2015-10-09 17:37:01 +00:00
Ralf Becker
745ef42e04 fixed all IDE warnings 2015-07-16 12:10:48 +00:00
Nathan Gray
e6f1f8f837 - Fix $$Recurrence$$ notification placeholder to be empty (not missing) for non-recurring events
- Avoid warning in get_link_options by making unused parameter optional
2015-03-23 19:58:58 +00:00
Ralf Becker
c738952af8 do NOT allow / correctly quote html in title, description and location of events 2014-11-19 20:10:07 +00:00
Hadi Nategh
a9c6c2a90e Display account_fullname of event owner, creator, and participant in calendar customized link title 2014-10-30 12:26:42 +00:00
Hadi Nategh
c16080856b * Calendar: Add customizable link title in calendar preferences, in order to append extra fields to calendar's link title. 2014-10-28 09:54:52 +00:00
Ralf Becker
349630ffa7 show calendars and ressource-calendars for user whos preferences are displayed, for "default" and "forced" we only display all and primary group calendars, but ressources of current user 2014-07-23 12:30:39 +00:00
Ralf Becker
f0e391220f * Calendar: adding default alarm for regular or whole-day events, preference is shared with CalDAV clients 2014-05-28 10:03:57 +00:00
Ralf Becker
4c79fb650a * CalDAV/calendar: if requesting user had only freebusy rights, no freebusy information was regurned 2014-04-08 13:12:41 +00:00
Klaus Leithoff
00881d1c94 silence some warnings on mail-to-all-participants 2014-03-20 16:10:52 +00:00
Ralf Becker
8d3a2d0007 * CalDAV/Calendar: store and therefore keep external organizer if he has no common name (just email) and also store its common name 2014-03-13 10:20:17 +00:00
Ralf Becker
470a204f85 renamed status icons to name them like corresponding status 2014-02-04 10:34:40 +00:00
Ralf Becker
19172b4a64 * Calendar: fixed not working filter "only group events", to not include events of members 2013-08-15 16:02:32 +00:00
Ralf Becker
012e2e4763 * Calendar: when moving a series exceptions where lost (regular recurrences shown again) and exceptions where moved too 2013-08-15 12:23:38 +00:00
Ralf Becker
217ecc01e0 fix sql error, if contact_bday is not aliases as bday (works too if it is alias) 2013-07-23 15:09:37 +00:00
Ralf Becker
a46b5b3255 fix sql error, if contact_bday is not aliases as bday (works too if it is alias) 2013-07-23 15:03:41 +00:00
Ralf Becker
1b9c105198 * Calendar: changing an existing, recurring event to whole-day, caused an end-time on day before start 2013-06-07 11:53:45 +00:00
Ralf Becker
163702b752 * Calendar: create InfoLog from event
added a general infolog_set hook like existing timesheet_set hook, to allow implementing apps to push further data to infolog, modified existing tracker code to use the hook too
2013-05-10 10:54:36 +00:00
Ralf Becker
4d11e020e8 * Calendar/CalDAV: fixed recuring event disapeared from device, if a rejected recurrence existed and a change from an other user caused a reload (412 Precondition Failed) 2013-03-14 14:47:06 +00:00
Ralf Becker
32751c69b6 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:48:50 +00:00
Ralf Becker
84ed911c97 * CalDAV/CardDAV: removed unnecessary (double) etag generation and improved calendar etag generation for recurring events 2013-02-25 11:17:59 +00:00
Ralf Becker
0fdd106cc2 * CalDAV: remove "bind" privilege (create new events right) on other users or groups calendar, if invite requires special ACL grant, which current user does NOT have 2013-01-24 12:54:08 +00:00
Nathan Gray
a816708e67 Fix deleting of entries 'Only admins can purge deleted items' 2013-01-22 15:54:23 +00:00
Ralf Becker
d6ce940eb0 * Calendar: sort participants by there name 2012-11-13 11:23:29 +00:00
Ralf Becker
f5a1cd5ded * Calendar: passing links to timesheet, when creating a timesheet on an event 2012-10-08 14:53:51 +00:00
Ralf Becker
db4bdb7f74 * CalDAV/Calendar/Resources: calendars of resources can now be accessed or subscribed via CalDAV, to subscribe use CalDAV preferences 2012-09-27 15:46:08 +00:00
Ralf Becker
9c8f7fe1ea * CalDAV: fixed broken URL of private events in shared calendar user has no right to view 2012-09-27 09:02:43 +00:00
Ralf Becker
52675388a3 * CalDAV/CardDAV: sync-collection report for all apps allowing a more efficient sync 2012-09-26 14:30:47 +00:00
Ralf Becker
b3ef030984 fixed broken schdule-tag after consolidated modified commit yesterday 2012-09-26 11:09:28 +00:00
Ralf Becker
7bf5b90739 * 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 11:54:41 +00:00
Ralf Becker
cff9872f17 cast accounts->members(hips) to array, to cope without PHP warnings for not (longer) existing accounts 2012-08-09 08:41:29 +00:00
Klaus Leithoff
3aa89e8bbc fix for filling up the error_log in certain conditions on activesync on an non-existent event (with of course no participants). clear_private_infos created an eventarray on those, thus subsequent errors occured and had to be handeled in ExportChangesDiff::Synchronize 2012-07-25 08:07:10 +00:00
Ralf Becker
cda03331e2 * Calendar: order search for events to link with by startdate descending 2012-05-22 17:08:00 +00:00
Ralf Becker
5d7c91a66e translating status-label now when the get used, to allow calendar_boupdate::_get_event_details() use language of to notify user 2012-05-15 13:23:11 +00:00
Ralf Becker
c4b76cf4e3 * Calendar: fixed not savable config "Prevent deleting of entries" as "Yes, users can purge their deleted items"
renamed from "user_purge" to "userpurge" (without underscore) as config can not handle situation when name and value contains underscores
2012-05-15 10:35:40 +00:00
Ralf Becker
5f284abfdc * Calendar: iCal import via mime-registry (clicking on iCal file in filemanager) displayed event in server- instead of user-time 2012-03-22 14:02:06 +00:00
Ralf Becker
21c49b0b26 * 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) 2012-03-12 08:20:36 +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
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