mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-01-26 20:18:40 +00:00
Implement account/group relation and depth handling
This commit is contained in:
parent
47c3c27084
commit
2e15cba910
|
|
@ -39,6 +39,7 @@ use phpOMS\Module\WebInterface;
|
|||
use phpOMS\System\MimeType;
|
||||
use phpOMS\Utils\Parser\Markdown\Markdown;
|
||||
use phpOMS\Views\View;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
|
||||
/**
|
||||
* Admin controller class.
|
||||
|
|
@ -203,7 +204,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
|||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-list');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
$view->setData('list:elements', AccountMapper::getNewest(50));
|
||||
$view->setData('list:elements', AccountMapper::getNewest(50, null, RelationType::NONE));
|
||||
$view->setData('list:count', 1);
|
||||
|
||||
return $view;
|
||||
|
|
@ -235,7 +236,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
|||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
$view->addData('account', AccountMapper::get((int) $request->getData('id')));
|
||||
$view->addData('account', AccountMapper::get((int) $request->getData('id'), RelationType::ALL, null, 2));
|
||||
|
||||
$permissions = AccountPermissionMapper::getFor((int) $request->getData('id'), 'account');
|
||||
|
||||
|
|
@ -306,7 +307,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
|||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-list');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
||||
$view->setData('list:elements', GroupMapper::getAll());
|
||||
$view->setData('list:elements', GroupMapper::getAll(RelationType::NONE));
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
|
@ -337,7 +338,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
|||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
||||
$view->addData('group', GroupMapper::get((int) $request->getData('id')));
|
||||
$view->addData('group', GroupMapper::get((int) $request->getData('id'), RelationType::ALL, null, 2));
|
||||
|
||||
$permissions = GroupPermissionMapper::getFor((int) $request->getData('id'), 'group');
|
||||
|
||||
|
|
|
|||
|
|
@ -48,6 +48,14 @@ class Group extends \phpOMS\Account\Group
|
|||
*/
|
||||
protected $descriptionRaw = '';
|
||||
|
||||
/**
|
||||
* Accounts
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $accounts = [];
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
|
|
@ -121,4 +129,16 @@ class Group extends \phpOMS\Account\Group
|
|||
{
|
||||
return $this->descriptionRaw;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get accounts
|
||||
*
|
||||
* @return array Accounts
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function getAccounts() : array
|
||||
{
|
||||
return $this->accounts;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,4 +65,19 @@ class GroupMapper extends DataMapperAbstract
|
|||
* @since 1.0.0
|
||||
*/
|
||||
protected static $createdAt = 'group_created';
|
||||
|
||||
/**
|
||||
* Has many relation.
|
||||
*
|
||||
* @var array<string, array<string, string>>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $hasMany = [
|
||||
'accounts' => [
|
||||
'mapper' => AccountMapper::class,
|
||||
'table' => 'account_group',
|
||||
'dst' => 'account_group_group',
|
||||
'src' => 'account_group_account',
|
||||
],
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
*/
|
||||
$group = $this->getData('group');
|
||||
$permissions = $this->getData('permissions');
|
||||
$accounts = $this->getData('accounts');
|
||||
$accounts = $group->getAccounts();
|
||||
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
|
|
@ -66,11 +66,10 @@ echo $this->getData('nav')->render(); ?>
|
|||
<td><?= $this->getHtml('ID', 0, 0); ?>
|
||||
<td class="wf-100">Name
|
||||
<tbody>
|
||||
<?php $c = 0; foreach ([] as $key => $value) : $c++; ?>
|
||||
<?php $c = 0; foreach ($accounts as $key => $value) : $c++; ?>
|
||||
<tr>
|
||||
<td><a href="#"><i class="fa fa-times"></i></a>
|
||||
<td>
|
||||
<td>
|
||||
<td><a href="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/account/settings?{?}&id=' . $value->getId()) ?>"><?= $value->getName1(); ?></a>
|
||||
<?php endforeach; ?>
|
||||
<?php if ($c === 0) : ?>
|
||||
<tr><td colspan="2" class="empty"><?= $this->getHtml('Empty', 0, 0); ?>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user