diff options
Diffstat (limited to 'apps/dashboard/lib/Controller/DashboardController.php')
-rw-r--r-- | apps/dashboard/lib/Controller/DashboardController.php | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/apps/dashboard/lib/Controller/DashboardController.php b/apps/dashboard/lib/Controller/DashboardController.php index 9c1ab7813f2..da7e0901115 100644 --- a/apps/dashboard/lib/Controller/DashboardController.php +++ b/apps/dashboard/lib/Controller/DashboardController.php @@ -10,17 +10,21 @@ namespace OCA\Dashboard\Controller; use OCA\Dashboard\Service\DashboardService; use OCP\AppFramework\Controller; -use OCP\AppFramework\Http; use OCP\AppFramework\Http\Attribute\FrontpageRoute; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\OpenAPI; +use OCP\AppFramework\Http\FeaturePolicy; use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Services\IInitialState; +use OCP\Dashboard\IIconWidget; use OCP\Dashboard\IManager; use OCP\Dashboard\IWidget; use OCP\EventDispatcher\IEventDispatcher; use OCP\IConfig; use OCP\IL10N; use OCP\IRequest; +use OCP\Util; #[OpenAPI(scope: OpenAPI::SCOPE_IGNORE)] class DashboardController extends Controller { @@ -40,20 +44,21 @@ class DashboardController extends Controller { } /** - * @NoCSRFRequired - * @NoAdminRequired * @return TemplateResponse */ + #[NoCSRFRequired] + #[NoAdminRequired] #[FrontpageRoute(verb: 'GET', url: '/')] public function index(): TemplateResponse { - \OCP\Util::addStyle('dashboard', 'dashboard'); - \OCP\Util::addScript('dashboard', 'main', 'theming'); + Util::addStyle('dashboard', 'dashboard'); + Util::addScript('dashboard', 'main', 'theming'); $widgets = array_map(function (IWidget $widget) { return [ 'id' => $widget->getId(), 'title' => $widget->getTitle(), 'iconClass' => $widget->getIconClass(), + 'iconUrl' => $widget instanceof IIconWidget ? $widget->getIconUrl() : '', 'url' => $widget->getUrl() ]; }, $this->dashboardManager->getWidgets()); @@ -63,6 +68,7 @@ class DashboardController extends Controller { $this->initialState->provideInitialState('layout', $this->service->getLayout()); $this->initialState->provideInitialState('appStoreEnabled', $this->config->getSystemValueBool('appstoreenabled', true)); $this->initialState->provideInitialState('firstRun', $this->config->getUserValue($this->userId, 'dashboard', 'firstRun', '1') === '1'); + $this->initialState->provideInitialState('birthdate', $this->service->getBirthdate()); $this->config->setUserValue($this->userId, 'dashboard', 'firstRun', '0'); $response = new TemplateResponse('dashboard', 'index', [ @@ -72,7 +78,7 @@ class DashboardController extends Controller { ]); // For the weather widget we should allow the geolocation - $featurePolicy = new Http\FeaturePolicy(); + $featurePolicy = new FeaturePolicy(); $featurePolicy->addAllowedGeoLocationDomain('\'self\''); $response->setFeaturePolicy($featurePolicy); |