Commit Graph

307 Commits

Author SHA1 Message Date
nathangray
bddc878a96 Calendar - Check against user time when deciding if notifications should be sent 2019-06-05 14:02:31 -06:00
nathangray
99a223a5ad Calendar - Only send update notifications if the event is in the future 2019-06-03 11:28:39 -06:00
nathangray
a5b18a8c7b Pass ignore_acl parameter onto event read, to properly find previous event when ignoring acl 2019-05-27 16:17:53 -06:00
nathangray
c8589b6439 Avoid type error while updating events if old_event is not found 2019-05-02 09:24:49 -06:00
Ralf Becker
0121d50c30 * Calendar: fix alarms on recurring events got lost after 1st ocurrence 2019-04-26 15:13:44 +02:00
nathangray
e525f7d5e3 Calendar - Allow to save alarms for all participants 2018-12-14 11:51:46 -07:00
nathangray
6a760e193d Calendar - Allow event owner to save alarms for all participants 2018-12-14 11:50:15 -07:00
nathangray
5e48cbe78c * Calendar - fix alarm removed if user is only participant because of group invitation 2018-11-22 11:35:35 -07:00
nathangray
e9910345dc Calendar - fix missing history in a way that doesn't fail every test 2018-11-21 13:50:29 -07:00
nathangray
cbaf7e7062 Calendar - fix missing history 2018-11-21 13:24:49 -07:00
Ralf Becker
9f6a7e3187 fixing no grant required for inviting contacts 2018-10-09 18:59:56 +02:00
Hadi Nategh
8808f15934 No grant required for inviting a contact 2018-10-09 18:09:34 +02:00
nathangray
eb7ea6bfab Fix resource invite permission was checked for every resource type 2018-10-01 10:26:06 -06:00
Hadi Nategh
10a4662d07 * Notifications: fix some calendar notifications event can not be opened, error: "egw.open() app is not in registery!" 2018-07-27 11:13:07 +02:00
Hadi Nategh
c5e902926b Fix notifications with same id but no links are not getting grouped together 2018-07-23 16:25:07 +02:00
Ralf Becker
b4012e34f4 * Calendar: fix EGroupware users were notified even if they choose not to in their preferences 2018-07-17 16:03:38 +02:00
Ralf Becker
f6a6412d25 also show external organiser in textual replies and remove him from participants 2018-06-27 20:22:04 +02:00
Ralf Becker
8e419f1c1a * Calendar/Mail: handle meeting requests for single recurrences and exceptions 2018-06-27 18:28:20 +02:00
Hadi Nategh
b64d96f3de * Calendar: Fix notifications show actions for alarm notify messages 2018-06-27 16:25:29 +02:00
Marcel Klehr
75572b64c8 Fix calendar invitations of resources
Used to prevent anyone from inviting when general access was disabled
now it only prevents users who don't have direct booking permission.

see #38
2018-06-27 15:44:47 +02:00
Ralf Becker
c4e4eb45a4 * Calendar/CalDAV: sending correct iMip REPLY to mail invitations and only reply to external chair 2018-06-26 15:58:44 +02:00
Hadi Nategh
32999ee231 Set notify priority to high only for alarms 2018-06-21 17:29:39 +02:00
Hadi Nategh
6b74f2685d * Notifications: implements entry based priority to make user more aware about certain notifications like calendar alarm entry. 2018-06-19 16:03:10 +02:00
nathangray
8fb30b8ce4 * Calendar - Fix notification for single event in series had original start date 2018-05-15 11:27:28 -06:00
Nathan Gray
470b989672
Merge pull request #38 from marcelklehr/feature/disable-cal-invitations-for-resources
Allow disabling calendar invitations to resources
2018-04-03 10:07:29 -06:00
Ralf Becker
1d835928d2 new method Api\Framework::getUrl() to get a full / externally usable Url 2018-03-21 12:51:52 +01:00
Marcel Klehr
fb6cfee24c Allow disabling calendar invitations of resources 2018-03-19 16:58:44 +01:00
Hadi Nategh
c2a3c19124 W.I.P restructuring of Notifications actions 2018-01-24 19:02:49 +01:00
nathangray
540f3d574d * Calendar - Fix alarms set in different timezone from server moved when saving event - now fixed default alarm too 2017-12-11 14:10:55 -07:00
nathangray
33110fc2cd * Calendar - Fix alarms set in different timezone from server moved when saving event 2017-12-06 13:47:54 -07:00
nathangray
1a6820a5aa Calendar - fix missing history log entry when changing status via context menu 2017-10-11 15:11:13 -06:00
Ralf Becker
bbc5c05b95 quiten permanent error_log when updating alarms 2017-10-09 16:59:38 +02:00
nathangray
5fd41d95b4 Calendar - make sure notification links open properly (missing an ajax=true) 2017-09-28 10:38:31 -06:00
Ralf Becker
8dba9967e3 * Calendar/CalDAV: do not report non-participants as busy or conflict 2017-08-18 10:00:37 +02:00
nathangray
1d6fcf3f68 Change recurrence end date comparison to handle up to 1 second difference, for mix of old and new events
see 2f534beb34
2017-08-17 14:02:26 -06:00
nathangray
64a12f1ddd Calendar - fix bug in recurring event exception edit across timezones causing events to move or get lost 2017-07-31 12:39:15 -06:00
nathangray
a44bdb99f9 * Calendar - Fix edit via emailed notification link did not work properly 2017-06-22 11:07:42 -06:00
nathangray
af2ff1859c Calendar - All tests passing for daily recurring events, all day and otherwise 2017-06-07 13:19:20 -06:00
nathangray
191b129201 Calendar - Discrete (not all day) events working for all timezone combinations 2017-06-06 15:03:14 -06:00
nathangray
2bfd1c4aa9 Calendar - Ok, working for Edmonton & Berlin... 2017-06-01 11:20:38 -06:00
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
9cf6685a77 Calendar - all day recurring events would extend one day longer for some timezone combinations 2017-05-23 13:37:34 -06:00
Hadi Nategh
479a557381 WIP of Notifications system:
- Add actions for notification messages
- Fix on message click handler
- Implement appointment request actions for calendar notifications
2017-05-23 16:54:20 +02: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
2f534beb34 Calendar - Update recurrence adjustment check to match range end change from 9810077eab 2017-03-31 10:27:49 -06:00
Ralf Becker
9810077eab * Calendar/CalDAV: fix wrong end-date of recurring events incl. whole-day events 2017-03-29 19:32:49 +02:00
nathangray
5946e9f7cd Avoid errors if $instance_date is not passed correctly
(thanks, Scrutenizer)
2017-01-31 09:14:50 -07:00
Ralf Becker
55edf5cfea fix warnings when importing events: $ignore_acl=true and only cal_id given 2017-01-19 11:11:40 +01: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
aa63949012 Update notification popup to fit theme better 2017-01-10 11:42:44 -07:00
Ralf Becker
315ceed672 error_log if calendar can not send notifications 2016-10-06 19:09:40 +02:00
Hadi Nategh
df102aa04d * Calendar: Fix calendar to-firstname to-lastname place-holders do not get values 2016-10-04 16:39:28 +02:00
nathangray
87226bfbcb Change handling of new private events created for other users to allow them to show immediately 2016-09-15 10:46:11 -06:00
nathangray
fada2d433e When adding a mailing list as participant, immediately expand it to contacts 2016-07-12 11:22:36 -06:00
nathangray
76307c4bbf Allow contact lists as event participants 2016-07-06 13:19:54 -06:00
Ralf Becker
5374b39680 1) skip all past events and recurrences in conflict check and fix off-by-one error in recurrence limit
2) restructure config a bit:
- rename Birthday section to Addressbook
- rename Scheduling conflict section to Recurrences and conflict check
- add: Please note: conflict check is never done in the past and always limited by above recurrence horizont.
2016-07-06 16:44:06 +02: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
nathangray
7e0b2543d0 Fix fatal error, get_account_name() does not exist 2016-05-16 10:13:22 -06:00
Nathan Gray
9859cfa679 Fix fatal error caused by moved Categories 2016-05-05 16:56:25 +00:00
Ralf Becker
dcc003cedf move calendar to new api 2016-05-01 17:47:59 +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
Nathan Gray
26f4c6556b Fix changing status sometimes changed time(zone) 2016-02-10 00:19:55 +00:00
Nathan Gray
f438940598 Fix alarms not updated when event is moved 2016-01-18 17:45: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
66581cee3f * Calendar/CalDAV/iMip: only include replying participant in iMip REPLY messages 2015-10-14 16:39:39 +00:00
Ralf Becker
17b9b5912e fix warning if there are no participants 2015-09-29 07:31:45 +00:00
Ralf Becker
beb829c315 drop contenthistroy class and table (egw_api_content_history) formerly used by SyncML 2015-08-18 11:45:59 +00:00
Ralf Becker
9ef2cbd98a * Mail/Kalendar: remove iCal from alarms and correctly display canceled events in mail 2015-07-16 09:34:55 +00:00
Ralf Becker
6d2ef17b0f * CalDAV/Calendar: storing now all properties send by client and not known to EGroupware and fixed acknowledging and snoozing of alarms 2015-06-25 20:39:53 +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
de4d246726 * Calendar: speed improvments for huge calendar databases
by using time-range views instead of whole calendar and dates table
Also got old, much simpler non-union code working again, but union is still slightly quicker for huge databases (not at all for small ones!)
2015-01-19 19:32:26 +00:00
Ralf Becker
4e27f324c9 improved method to query events with performance gains of a factor 10 on huge databases, currently only used in conflict check 2015-01-14 19:41:01 +00:00
Ralf Becker
a35590b8fe fix replacementes in update messages 2014-10-09 13:52:14 +00:00
Ralf Becker
4c15c2f2de * Calendar/API: allow not serialized data in async jobs, only run automatic purge if we have a real number > 0 2014-07-02 12:42:12 +00:00
Klaus Leithoff
00881d1c94 silence some warnings on mail-to-all-participants 2014-03-20 16:10:52 +00:00
Ralf Becker
866d680e6a fixed iCal and iMip method and notification text for initial responses to organizer to be replys (not added=invitation) 2014-02-20 16:14:32 +00:00
Ralf Becker
90c89e0eb7 * CalDAV/Calendar: sending now iMip response to external organizer when initialy accepting invitation via CalDAV client (before only status changes where sent) 2014-02-20 15:04:47 +00:00
Hadi Nategh
874b4b594f Fix warning "Argument #1 is not an array" in calendar conflict 2014-02-12 11:59:32 +00:00
Ralf Becker
fe2438cc53 * Calendar: automatic cancel alarms from removed or rejected participants 2013-08-15 14:56:34 +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
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
86d54d092c * Calendar: configuration to automatic create links for participants from addressbook 2013-06-04 18:00:39 +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
a8e6f13304 * Calendar/CalDAV: fixed wrong time in notification mails caused by updates via CalDAV (not web interface), if user-timezone differs from server 2013-01-31 15:15:48 +00:00
Klaus Leithoff
435f726bf9 select priority should map 0 to None, not empty 2013-01-31 14:13:45 +00:00
Nathan Gray
872fe5918e Some missed skip_notifications 2012-12-18 16:00:29 +00:00
Klaus Leithoff
0be74c9b87 different method to read the next occourrence of a series; (as old method also fetched deleted exeptions as next occurrence) 2012-12-07 14:10:51 +00:00
Klaus Leithoff
83981b9cad * Calendar: fix for missing 2568to-firstname2568 and 2568to-lastname2568 replacements 2012-12-06 12:01:05 +00:00
Ralf Becker
ae28edb43a * Calendar: notify responsible for a resource "participating" in a private event only with privacy-cleared details 2012-11-13 13:31:44 +00:00
Ralf Becker
f8a007bad4 * Calendar/CalDAV/eSync: fixed exceptions get not deleted with series via CalDAV or eSync
moved code from our UI to BO, to either delete exceptions (default) or keep them with a new UID
2012-10-22 13:15:40 +00:00
Ralf Becker
49f1d43ad1 * 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:43:49 +00:00
Ralf Becker
7ade6b4f55 * Calendar: popup notifications now include a link again 2012-09-04 12:10:37 +00:00
Ralf Becker
1b3e897eec * Calendar: fixed since last update missing event details, notification iCal adds description with (required) *~*~*~*~*~*~*~*~*~* separator, extended has description before event details and links 2012-08-21 14:49:26 +00:00
Ralf Becker
df83423ca3 * Calendar: if deleting next recurrance of an event series containing alarms, move alarms to next recurrance, to not alarm for deleted recurance 2012-08-14 17:02:34 +00:00
Ralf Becker
4ac5e799eb fixed some more "Illegal string offset" 2012-08-14 07:55:05 +00:00
Ralf Becker
56a4bdfbbe * 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)! 2012-08-11 10:01:02 +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
Ralf Becker
eff584ff4b * Calendar/eSync/CalDAV: meeting requests contain again nice body followed by a separator and describtion, ignore empty description in eSync ChangeMessage 2012-07-24 22:23:32 +00:00
Ralf Becker
f8ae428f32 * Calendar: fixed EGroupware owner got notified about status changes, even if email-notification preference was "never", now only external chairs get always notified 2012-07-17 12:36:48 +00:00
Ralf Becker
68f9a07917 as we want ical body to be just describtion, we can NOT set links, as they get appended to body 2012-07-17 09:48:43 +00:00
Ralf Becker
e09a9c3198 fixed 5.4 PHP Warning: Illegal string offset 'start' or 'end' 2012-07-02 08:14:27 +00:00
Klaus Leithoff
0a076525b8 improve notification by allowing to set up specific popup notification messages and subjects; this is used for calendar notification to give worthwile information in popup and meet expectations for ical/rfc type notification 2012-06-13 14:50:41 +00:00
Ralf Becker
fc7dfc1ab6 * Calendar: notifications of type iCal use event-title as subject and describtion as body, like Exchange does, type extended provides old format 2012-06-12 16:59:06 +00:00
Klaus Leithoff
2da30ad703 fix of typos 2012-06-12 16:17:25 +00:00
Ralf Becker
313eb12f19 bocalendar_update::email_update_requested() allowing eSync to check if calendar will send a notification according to preferences 2012-06-12 15:44:55 +00:00
Ralf Becker
2f81eea8ef fixed only partially translated alarms 2012-05-15 14:41:41 +00:00
Ralf Becker
4ea76b4a95 need to init lang even earlier 2012-05-15 12:48:45 +00:00
Ralf Becker
6d1dc16ac3 * Calendar: notification always use language of current user, not of user to notify 2012-05-15 12:43:32 +00:00
Ralf Becker
8c6341d551 * Calendar/EMail: when accepting email invitation from organizer who is an EGroupware user but created invitation outside: if no access to organizers calendar, make organizer a participant with role CHAIR
- show errors from calendar_boupdate::update()
2012-04-24 14:37:32 +00:00
Ralf Becker
1fc54e038b * Calendar: fixed wrong time in iCal of notification, if notifying user is not in server TZ
we need to pass $event[id] so iCal class reads event again, as event is in user TZ, but iCal class expects server TZ!
2012-01-23 02:43:06 +00:00
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
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
89ed7d49d1 fixed alarm on series got lost, if creating an exception 2011-11-11 12:46:34 +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
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
f65fd9129f * Calendar: added purge interval of half a year 2011-06-14 18:16:08 +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
30259bfd4c * Calendar: fixed not included organizer in meeting request 2011-05-26 10:48:57 +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
11411abef5 fix for 'cf_link_fields do not create link on inital save' in calendar: reason no id passed when called tracking for new events 2011-05-11 15:09:16 +00:00
Ralf Becker
440bcb1235 * Calendar: fixed not working "use event TZ" pref for iCal exports and allways use event TZ for calendar notifications (NOT use file export pref.) 2011-04-11 10:59:59 +00:00
Ralf Becker
f4e372747a allways update modified TS and modifier in save(), removed code to only conditionally update in update()
fixes bug that ctag got not updated when eg. a recurrence got deleted
2011-04-07 08:01:48 +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
Nathan Gray
bc39d9ab5b Add 'Do not notify of these changes' checkbox to list 2011-03-09 17:42:52 +00:00
Nathan Gray
f28fb14572 Add 'Do not notify of these changes' checkbox to edit dialog 2011-03-09 17:26:20 +00:00
Ralf Becker
63e61442c9 * Calendar: fixed in some cases not updated alarms, if event got moved
- sending alarms to CalDAV/GroupDAV clients as offset, not fixed time like before
- only exception to the above are alarms for recuring events to Lightning, which must be absolute, as offset lead to infinit poping up alarms in Lightning
- update all alarm times of other users alarms too, when storing events, as they might not be included in the stored event
2011-03-07 13:49:08 +00:00
Klaus Leithoff
4e07a37116 quieten warning when no participants in function remove_no_acl_invite 2011-02-01 14:28:56 +00:00
Ralf Becker
c9e5921ff1 fixed typo causing $$enddate$$ in notifcation message to show startdate 2010-11-16 13:39:19 +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
Jörg Lehrke
b3e551e74b * Calendar: Fix notification timezone issues (#2746) 2010-11-01 19:17:57 +00:00
Nathan Gray
7ae20bcf12 Update modified time when deleting 2010-10-04 15:09:15 +00:00
Nathan Gray
2b13b73b60 When deleting but keeping events, hold on to links as well so they can be restored if event is restored 2010-09-27 18:03:46 +00:00
Jörg Lehrke
bb9190a669 New content_history approach for calendar synchronization; fix various Sync issues 2010-09-12 20:14:46 +00:00
Jörg Lehrke
13cf31924f Fix find_event() issue 2010-09-11 23:15:05 +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
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
db9bbc8460 Don't delete links until purge, same as addressbook 2010-09-02 20:55:37 +00:00
Ralf Becker
be91330030 fixed not working notifications for types:
- responses: on participant responses too (everytime)
- modifications: on all modification, but responses
2010-08-02 14:15:05 +00:00
Nathan Gray
cb3590ebab Do not send notification when a deleted event is purged 2010-06-28 11:15:25 +00:00
Jörg Lehrke
7b850eabb6 Fix recurring event issues for vCal 1.0 imports; fix bug Stylite #646 2010-06-23 14:52:55 +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
015245d235 Improved alarm handling 2010-06-07 17:54:29 +00:00
Ralf Becker
22406f6885 fixing call to calendar_so::search() to use new parameters, causing CalDAV to fail 2010-06-01 09:26:00 +00:00
Nathan Gray
586a58a4e7 Fix purging old events to get rid of events for all users, not just the admin that set it. 2010-06-01 07:36:14 +00:00
Nathan Gray
eeeebb5197 Delete alarms even if event is not really deleted 2010-05-28 07:24:34 +00:00
Jörg Lehrke
8cb71dfc84 Allow upgrade of single events to series via SyncML/CalDAV 2010-05-19 09:20:15 +00:00
Jörg Lehrke
7ad18fac74 Improved calendar_boupdate::find_event() (#2582) 2010-05-14 13:32:08 +00:00
Jörg Lehrke
dc8b3f2dec Fix 'non_blocking' issue (especially for Nokia) 2010-05-14 09:28:46 +00:00
Jörg Lehrke
587439511d Fix all-day recurring event issue (3) 2010-05-03 12:18:57 +00:00