mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-02-07 00:38:40 +00:00
Fix #63
This commit is contained in:
parent
eeea5b0b2e
commit
e3970e3e53
|
|
@ -20,9 +20,11 @@ use phpOMS\Account\AccountStatus;
|
|||
use phpOMS\Account\AccountType;
|
||||
use Modules\Admin\Models\AccountMapper;
|
||||
use Modules\Admin\Models\AccountPermissionMapper;
|
||||
use Modules\Admin\Models\NullAccountPermission;
|
||||
use Modules\Admin\Models\Group;
|
||||
use Modules\Admin\Models\GroupMapper;
|
||||
use Modules\Admin\Models\GroupPermissionMapper;
|
||||
use Modules\Admin\Models\NullGroupPermission;
|
||||
use phpOMS\Account\GroupStatus;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
|
|
@ -173,8 +175,8 @@ class Controller extends ModuleAbstract implements WebInterface
|
|||
$view->addData('account', AccountMapper::get((int) $request->getData('id')));
|
||||
|
||||
$permissions = AccountPermissionMapper::getFor((int) $request->getData('id'), 'account');
|
||||
|
||||
if(!isset($permissions)) {
|
||||
|
||||
if(!isset($permissions) || $permissions instanceof NullAccountPermission) {
|
||||
$permissions = [];
|
||||
} elseif(!is_array($permissions)) {
|
||||
$permissions = [$permissions];
|
||||
|
|
@ -245,7 +247,7 @@ class Controller extends ModuleAbstract implements WebInterface
|
|||
|
||||
$permissions = GroupPermissionMapper::getFor((int) $request->getData('id'), 'group');
|
||||
|
||||
if(!isset($permissions)) {
|
||||
if(!isset($permissions) || $permissions instanceof NullGroupPermission) {
|
||||
$permissions = [];
|
||||
} elseif(!is_array($permissions)) {
|
||||
$permissions = [$permissions];
|
||||
|
|
|
|||
|
|
@ -46,6 +46,21 @@ class AccountMapper extends DataMapperAbstract
|
|||
'account_created_at' => ['name' => 'account_created_at', 'type' => 'DateTime', 'internal' => 'createdAt'],
|
||||
];
|
||||
|
||||
/**
|
||||
* Has many relation.
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $hasMany = [
|
||||
'groups' => [
|
||||
'mapper' => GroupMapper::class,
|
||||
'table' => 'account_group',
|
||||
'dst' => 'account_group_account',
|
||||
'src' => 'account_group_group',
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -14,6 +14,6 @@
|
|||
declare(strict_types=1);
|
||||
namespace Modules\Admin\Models;
|
||||
|
||||
class NullAccountPermission extends Group
|
||||
class NullAccountPermission extends AccountPermission
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,12 +67,13 @@ echo $this->getData('nav')->render(); ?>
|
|||
<thead>
|
||||
<tr>
|
||||
<td><?= $this->getHtml('ID', 0, 0); ?>
|
||||
<td>Name
|
||||
<td class="wf-100"><?= $this->getHtml('Name') ?>
|
||||
<tbody>
|
||||
<?php $c = 0; foreach ([] as $key => $value) : $c++; ?>
|
||||
<tr>
|
||||
<td>
|
||||
<td>
|
||||
<?php $c = 0; $groups = $account->getGroups(); foreach ($groups as $key => $value) : $c++;
|
||||
$url = \phpOMS\Uri\UriFactory::build('{/base}/{/lang}/backend/admin/group/settings?{?}&id=' . $value->getId()); ?>
|
||||
<tr data-href="<?= $url; ?>">
|
||||
<td><a href="<?= $url; ?>"><?= $this->printHtml($value->getId()); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $this->printHtml($value->getName()); ?></a>
|
||||
<?php endforeach; ?>
|
||||
<?php if($c === 0) : ?>
|
||||
<tr><td colspan="2" class="empty"><?= $this->getHtml('Empty', 0, 0); ?>
|
||||
|
|
@ -118,11 +119,11 @@ echo $this->getData('nav')->render(); ?>
|
|||
<td><?= $value->getElement(); ?>
|
||||
<td><?= $value->getComponent(); ?>
|
||||
<td>
|
||||
<?= \phpOMS\Account\PermissionType::CREATE | $permission === $permission ? 'C' : ''; ?>
|
||||
<?= \phpOMS\Account\PermissionType::READ | $permission === $permission ? 'R' : ''; ?>
|
||||
<?= \phpOMS\Account\PermissionType::MODIFY | $permission === $permission ? 'U' : ''; ?>
|
||||
<?= \phpOMS\Account\PermissionType::DELETE | $permission === $permission ? 'D' : ''; ?>
|
||||
<?= \phpOMS\Account\PermissionType::PERMISSION | $permission === $permission ? 'P' : ''; ?>
|
||||
<?= (\phpOMS\Account\PermissionType::CREATE | $permission) === $permission ? 'C' : ''; ?>
|
||||
<?= (\phpOMS\Account\PermissionType::READ | $permission) === $permission ? 'R' : ''; ?>
|
||||
<?= (\phpOMS\Account\PermissionType::MODIFY | $permission) === $permission ? 'U' : ''; ?>
|
||||
<?= (\phpOMS\Account\PermissionType::DELETE | $permission) === $permission ? 'D' : ''; ?>
|
||||
<?= (\phpOMS\Account\PermissionType::PERMISSION | $permission) === $permission ? 'P' : ''; ?>
|
||||
<?php endforeach; ?>
|
||||
<?php if($c === 0) : ?>
|
||||
<tr><td colspan="8" class="empty"><?= $this->getHtml('Empty', 0, 0); ?>
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
|
||||
$group = $this->getData('group');
|
||||
$permissions = $this->getData('permissions');
|
||||
$accounts = $this->getData('accounts');
|
||||
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
|
|
@ -104,11 +105,11 @@ echo $this->getData('nav')->render(); ?>
|
|||
<td><?= $value->getElement(); ?>
|
||||
<td><?= $value->getComponent(); ?>
|
||||
<td>
|
||||
<?= \phpOMS\Account\PermissionType::CREATE | $permission === $permission ? 'C' : ''; ?>
|
||||
<?= \phpOMS\Account\PermissionType::READ | $permission === $permission ? 'R' : ''; ?>
|
||||
<?= \phpOMS\Account\PermissionType::MODIFY | $permission === $permission ? 'U' : ''; ?>
|
||||
<?= \phpOMS\Account\PermissionType::DELETE | $permission === $permission ? 'D' : ''; ?>
|
||||
<?= \phpOMS\Account\PermissionType::PERMISSION | $permission === $permission ? 'P' : ''; ?>
|
||||
<?= (\phpOMS\Account\PermissionType::CREATE | $permission) === $permission ? 'C' : ''; ?>
|
||||
<?= (\phpOMS\Account\PermissionType::READ | $permission) === $permission ? 'R' : ''; ?>
|
||||
<?= (\phpOMS\Account\PermissionType::MODIFY | $permission) === $permission ? 'U' : ''; ?>
|
||||
<?= (\phpOMS\Account\PermissionType::DELETE | $permission) === $permission ? 'D' : ''; ?>
|
||||
<?= (\phpOMS\Account\PermissionType::PERMISSION | $permission) === $permission ? 'P' : ''; ?>
|
||||
<?php endforeach; ?>
|
||||
<?php if($c === 0) : ?>
|
||||
<tr><td colspan="8" class="empty"><?= $this->getHtml('Empty', 0, 0); ?>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user