summaryrefslogtreecommitdiff
path: root/app/Http/RequestHandlers/ModuleAction.php
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2019-10-26 19:38:28 +0100
committerGreg Roach <fisharebest@webtrees.net>2019-10-26 19:38:28 +0100
commitf49178372ce2fce90124921dd80544f39495cda8 (patch)
tree42511c6df6af8d49c6e5dabda26d3dba7b576a8d /app/Http/RequestHandlers/ModuleAction.php
parent9496e11925af3e84707d8b4b67e3543d5e6abc24 (diff)
downloadwebtrees-f49178372ce2fce90124921dd80544f39495cda8.tar.gz
webtrees-f49178372ce2fce90124921dd80544f39495cda8.tar.bz2
webtrees-f49178372ce2fce90124921dd80544f39495cda8.zip
Remove dependency on UserInterface
Diffstat (limited to 'app/Http/RequestHandlers/ModuleAction.php')
-rw-r--r--app/Http/RequestHandlers/ModuleAction.php11
1 files changed, 4 insertions, 7 deletions
diff --git a/app/Http/RequestHandlers/ModuleAction.php b/app/Http/RequestHandlers/ModuleAction.php
index ee2c4c7169..5575bae56e 100644
--- a/app/Http/RequestHandlers/ModuleAction.php
+++ b/app/Http/RequestHandlers/ModuleAction.php
@@ -41,19 +41,14 @@ class ModuleAction implements RequestHandlerInterface
/** @var ModuleService */
private $module_service;
- /** @var UserInterface */
- private $user;
-
/**
* ModuleController constructor.
*
* @param ModuleService $module_service
- * @param UserInterface $user
*/
- public function __construct(ModuleService $module_service, UserInterface $user)
+ public function __construct(ModuleService $module_service)
{
$this->module_service = $module_service;
- $this->user = $user;
}
/**
@@ -67,6 +62,8 @@ class ModuleAction implements RequestHandlerInterface
{
$module_name = $request->getAttribute('module');
$action = $request->getAttribute('action');
+ $user = $request->getAttribute('user');
+ assert($user instanceof UserInterface);
// Check that the module is enabled.
// The module itself will need to check any tree-level access,
@@ -82,7 +79,7 @@ class ModuleAction implements RequestHandlerInterface
$method = $verb . $action . 'Action';
// Actions with "Admin" in the name are for administrators only.
- if (strpos($action, 'Admin') !== false && !Auth::isAdmin($this->user)) {
+ if (strpos($action, 'Admin') !== false && !Auth::isAdmin($user)) {
throw new AccessDeniedHttpException('Admin only action');
}