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\Themes;
use Grav\Common\Uri; use Grav\Common\Uri;
use Grav\Common\User\Interfaces\UserCollectionInterface; use Grav\Common\User\Interfaces\UserCollectionInterface;
use Grav\Common\User\Interfaces\UserInterface;
use Grav\Common\User\User; use Grav\Common\User\User;
use Grav\Common\Utils; use Grav\Common\Utils;
use Grav\Framework\Acl\Action; use Grav\Framework\Acl\Action;
@@ -134,7 +135,20 @@ class Admin
$this->route = $route; $this->route = $route;
$this->uri = $grav['uri']; $this->uri = $grav['uri'];
$this->session = $grav['session']; $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 */ /** @var Language $language */
$language = $grav['language']; $language = $grav['language'];

View File

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