mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-19 15:22:17 +02:00
N°2039 - Add iTop notifications to newsroom (#590)
* N°2039 - Add iTop notifications to newsroom * Update sources/Controller/Newsroom/iTopNewsroomController.php Co-authored-by: Molkobain <lajarige.guillaume@free.fr> * Update sources/Controller/Newsroom/iTopNewsroomController.php Co-authored-by: Molkobain <lajarige.guillaume@free.fr> * Update sources/Service/Notification/Event/EventiTopNotificationGC.php Co-authored-by: Molkobain <lajarige.guillaume@free.fr> * Add a default value to Action url attribute, check if there's an object in the context before adding it to the event * Phpdoc * Fix default config values * Replace MetaModel::EnumPlugins calls for iNewsroomProvider * Replace hardcoded url with generated routes * Add dict entries * Correclty throw error when trying to display a non existing event * Fix unit test * Migrate old action email language values to its parent table * Migrate Action and Event class to XML, generate their dictionary entries, add meta data for ActionNotification and EventNotification * Fix issue in dictionary definition * Allows Action to create Events for users that the current user can't see * Dump autoloader * Remove classes from homemade "autoloader" as they are now loaded through XML * Apply suggestions from code review * Remove class from homemade "autoloader" as they are now loaded through GetClassesForInterfaces * Apply suggestions from code review Co-authored-by: Molkobain <lajarige.guillaume@free.fr> --------- Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
This commit is contained in:
46
sources/Application/Newsroom/iTopNewsroomProvider.php
Normal file
46
sources/Application/Newsroom/iTopNewsroomProvider.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
use Combodo\iTop\Service\Router\Router;
|
||||
|
||||
/**
|
||||
* Class iTopNewsroomProvider
|
||||
*
|
||||
* @author Stephen Abello <stephen.abello@combodo.com>
|
||||
* @package Combodo\iTop\Application\Newsroom
|
||||
* @since 3.2.0
|
||||
*/
|
||||
class iTopNewsroomProvider extends NewsroomProviderBase {
|
||||
|
||||
public function IsApplicable(User $oUser = null){
|
||||
return true;
|
||||
}
|
||||
public function GetLabel()
|
||||
{
|
||||
return Dict::S('UI:Newsroom:iTopNotification:Label');
|
||||
}
|
||||
|
||||
public function GetFetchURL()
|
||||
{
|
||||
return self::MakeURL('fetch_unread_messages');
|
||||
}
|
||||
|
||||
public function GetMarkAllAsReadURL()
|
||||
{
|
||||
return self::MakeURL('mark_all_as_read_messages');
|
||||
}
|
||||
|
||||
public function GetViewAllURL()
|
||||
{
|
||||
return self::MakeURL('view_all');
|
||||
}
|
||||
|
||||
private static function MakeURL($sRouteCode)
|
||||
{
|
||||
return Router::GetInstance()->GenerateUrl(iTopNewsroomController::ROUTE_NAMESPACE . '.' . $sRouteCode);
|
||||
}
|
||||
|
||||
public function GetTTL()
|
||||
{
|
||||
return MetaModel::GetConfig()->Get('notifications.itop.newsroom_cache_time') * 60;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user