[ SendEmailVerificationNotification::class, ], Logout::class => [ UpdateUserOnLogout::class, ], WorkflowTriggered::class => [ AutoStartWorkflowListener::class, ], BudgetUpdated::class => [ InvalidateBudgetCache::class, ], NotificationSending::class => [ SkipNotificationsForDeactivatedUsers::class, ], ]; /** * Register any events for your application. * * @return void */ public function boot(): void { $budgetObserver = BudgetModelObserver::class; ColumnCell::observe($budgetObserver); SubPositionRow::observe($budgetObserver); SubPosition::observe($budgetObserver); MainPosition::observe($budgetObserver); Column::observe($budgetObserver); Table::observe($budgetObserver); SageAssignedData::observe($budgetObserver); SageNotAssignedData::observe($budgetObserver); $staticObserver = StaticLookupObserver::class; ContractType::observe($staticObserver); CompanyType::observe($staticObserver); Currency::observe($staticObserver); CollectingSociety::observe($staticObserver); MoneySource::observe($staticObserver); // Projektzeitraum-Änderungen (Termin-Anlage/-Verschiebung/-Löschung/-Restore) // halten die Projektzuordnungen im Dienstplan synchron \Artwork\Modules\Event\Models\Event::observe( \Artwork\Modules\Project\Observers\ProjectDayAssignmentEventObserver::class ); } /** * Determine if events and listeners should be automatically discovered. * * @return bool */ public function shouldDiscoverEvents(): bool { return false; } }