mirror of
https://github.com/nextcloud/server.git
synced 2026-02-16 09:19:43 -05:00
Merge pull request #47201 from nextcloud/fix/also-run-user-status-automation-for-start-and-end
fix(userstatus): run user status automation job for start and end events
This commit is contained in:
commit
4585c71a5e
2 changed files with 11 additions and 2 deletions
|
|
@ -23,7 +23,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;
|
||||
|
|
@ -61,6 +63,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';
|
||||
|
|
|
|||
|
|
@ -15,14 +15,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 {
|
||||
|
|
@ -42,7 +44,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()]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue