diff options
author | Andy Scherzinger <info@andy-scherzinger.de> | 2024-08-27 18:44:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-27 18:44:59 +0200 |
commit | a1ffb9ffeabb3e78e487c76de569e8553bb55419 (patch) | |
tree | 4115d089f3fc37f9eb38a0197f6134a8bd524ab7 /apps/user_status | |
parent | 5ecccb928a418446c8729e2c9726cb5a3f11386b (diff) | |
parent | 312831bec87593be479e1d20695e188d88a8b811 (diff) | |
download | nextcloud-server-a1ffb9ffeabb3e78e487c76de569e8553bb55419.tar.gz nextcloud-server-a1ffb9ffeabb3e78e487c76de569e8553bb55419.zip |
Merge pull request #47214 from nextcloud/backport/47201/stable28
[stable28] fix(userstatus): run user status automation job for start and end events
Diffstat (limited to 'apps/user_status')
-rw-r--r-- | apps/user_status/lib/AppInfo/Application.php | 4 | ||||
-rw-r--r-- | apps/user_status/lib/Listener/OutOfOfficeStatusListener.php | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/apps/user_status/lib/AppInfo/Application.php b/apps/user_status/lib/AppInfo/Application.php index 26f736bbc24..fbdf45140ea 100644 --- a/apps/user_status/lib/AppInfo/Application.php +++ b/apps/user_status/lib/AppInfo/Application.php @@ -40,7 +40,9 @@ use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; use OCP\IConfig; use OCP\User\Events\OutOfOfficeChangedEvent; use OCP\User\Events\OutOfOfficeClearedEvent; +use OCP\User\Events\OutOfOfficeEndedEvent; use OCP\User\Events\OutOfOfficeScheduledEvent; +use OCP\User\Events\OutOfOfficeStartedEvent; use OCP\User\Events\UserDeletedEvent; use OCP\User\Events\UserLiveStatusEvent; use OCP\UserStatus\IManager; @@ -78,6 +80,8 @@ class Application extends App implements IBootstrap { $context->registerEventListener(OutOfOfficeChangedEvent::class, OutOfOfficeStatusListener::class); $context->registerEventListener(OutOfOfficeScheduledEvent::class, OutOfOfficeStatusListener::class); $context->registerEventListener(OutOfOfficeClearedEvent::class, OutOfOfficeStatusListener::class); + $context->registerEventListener(OutOfOfficeStartedEvent::class, OutOfOfficeStatusListener::class); + $context->registerEventListener(OutOfOfficeEndedEvent::class, OutOfOfficeStatusListener::class); $config = $this->getContainer()->query(IConfig::class); $shareeEnumeration = $config->getAppValue('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes') === 'yes'; diff --git a/apps/user_status/lib/Listener/OutOfOfficeStatusListener.php b/apps/user_status/lib/Listener/OutOfOfficeStatusListener.php index 087446d94a7..466fb1c42f8 100644 --- a/apps/user_status/lib/Listener/OutOfOfficeStatusListener.php +++ b/apps/user_status/lib/Listener/OutOfOfficeStatusListener.php @@ -32,14 +32,16 @@ use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\User\Events\OutOfOfficeChangedEvent; use OCP\User\Events\OutOfOfficeClearedEvent; +use OCP\User\Events\OutOfOfficeEndedEvent; use OCP\User\Events\OutOfOfficeScheduledEvent; +use OCP\User\Events\OutOfOfficeStartedEvent; use OCP\UserStatus\IManager; use OCP\UserStatus\IUserStatus; /** * Class UserDeletedListener * - * @template-implements IEventListener<OutOfOfficeScheduledEvent|OutOfOfficeChangedEvent|OutOfOfficeClearedEvent> + * @template-implements IEventListener<OutOfOfficeScheduledEvent|OutOfOfficeChangedEvent|OutOfOfficeClearedEvent|OutOfOfficeStartedEvent|OutOfOfficeEndedEvent> * */ class OutOfOfficeStatusListener implements IEventListener { @@ -59,7 +61,10 @@ class OutOfOfficeStatusListener implements IEventListener { } if ($event instanceof OutOfOfficeScheduledEvent - || $event instanceof OutOfOfficeChangedEvent) { + || $event instanceof OutOfOfficeChangedEvent + || $event instanceof OutOfOfficeStartedEvent + || $event instanceof OutOfOfficeEndedEvent + ) { // This might be overwritten by the office hours automation, but that is ok. This is just in case no office hours are set $this->jobsList->scheduleAfter(UserStatusAutomation::class, $this->time->getTime(), ['userId' => $event->getData()->getUser()->getUID()]); } |