protected function addUserGroups(\Aimeos\MShop\Context\Item\Iface $context)
{
$token = null;
$username = '';
if ($this->container->has('security.token_storage')) {
$token = $this->container->get('security.token_storage')->getToken();
} else {
if ($this->container->has('security.context')) {
$token = $this->container->get('security.context')->getToken();
}
}
if (is_object($token)) {
if (method_exists($token->getUser(), 'getId')) {
$userid = $token->getUser()->getId();
$context->setUserId($userid);
$context->setGroupIds(function () use($context, $userid) {
$manager = \Aimeos\MShop\Factory::createManager($context, 'customer');
return $manager->getItem($userid, array('customer/group'))->getGroups();
});
}
if (is_object($token->getUser())) {
$username = $token->getUser()->getUsername();
} else {
$username = $token->getUser();
}
}
$context->setEditor($username);
}