Fixed another case of bad profile link

This commit is contained in:
Matias Griese
2020-01-16 15:48:47 +02:00
parent 7c63068f5a
commit 5153266c7e
2 changed files with 18 additions and 7 deletions

View File

@@ -23,6 +23,7 @@ use Grav\Common\Session;
use Grav\Common\Themes;
use Grav\Common\Uri;
use Grav\Common\User\Interfaces\UserCollectionInterface;
use Grav\Common\User\Interfaces\UserInterface;
use Grav\Common\User\User;
use Grav\Common\Utils;
use Grav\Framework\Acl\Action;
@@ -134,7 +135,20 @@ class Admin
$this->route = $route;
$this->uri = $grav['uri'];
$this->session = $grav['session'];
$this->user = $grav['user'];
/** @var Flex|null $flex */
$flex = $grav['flex_objects'] ?? null;
/** @var UserInterface $user */
$user = $grav['user'];
if ($flex && !$user instanceof FlexObjectInterface) {
$directory = $flex->getDirectory('grav-accounts');
if ($directory) {
$user = $directory->getObject($user->username) ?? $user;
}
}
$this->user = $user;
/** @var Language $language */
$language = $grav['language'];

View File

@@ -3,12 +3,9 @@
</div>
{% set flex = grav['flex_objects'] ?? null %}
{% set user = admin.user %}
{% if flex and not user.hasFlexFeature('user') %}
{% set directory = flex.directory('grav-accounts') %}
{% set test = directory.object(user.username) %}
{% endif %}
{% set route = test ? flex.adminRoute(test) : '' %}
{% if route == '' %}
{% if flex and user.hasFlexFeature('user') %}
{% set route = flex.adminRoute(user) %}
{% else %}
{% set route = '/user/' ~ user.username %}
{% endif %}