mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-02-14 19:48:41 +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\System\MimeType;
|
||||||
use phpOMS\Utils\Parser\Markdown\Markdown;
|
use phpOMS\Utils\Parser\Markdown\Markdown;
|
||||||
use phpOMS\Views\View;
|
use phpOMS\Views\View;
|
||||||
|
use phpOMS\DataStorage\Database\RelationType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Admin controller class.
|
* Admin controller class.
|
||||||
|
|
@ -203,7 +204,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-list');
|
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-list');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
$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);
|
$view->setData('list:count', 1);
|
||||||
|
|
||||||
return $view;
|
return $view;
|
||||||
|
|
@ -235,7 +236,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-single');
|
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-single');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
$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');
|
$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->setTemplate('/Modules/Admin/Theme/Backend/groups-list');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
$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;
|
return $view;
|
||||||
}
|
}
|
||||||
|
|
@ -337,7 +338,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-single');
|
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-single');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
$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');
|
$permissions = GroupPermissionMapper::getFor((int) $request->getData('id'), 'group');
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,14 @@ class Group extends \phpOMS\Account\Group
|
||||||
*/
|
*/
|
||||||
protected $descriptionRaw = '';
|
protected $descriptionRaw = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Accounts
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
protected $accounts = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
|
|
@ -121,4 +129,16 @@ class Group extends \phpOMS\Account\Group
|
||||||
{
|
{
|
||||||
return $this->descriptionRaw;
|
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
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static $createdAt = 'group_created';
|
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');
|
$group = $this->getData('group');
|
||||||
$permissions = $this->getData('permissions');
|
$permissions = $this->getData('permissions');
|
||||||
$accounts = $this->getData('accounts');
|
$accounts = $group->getAccounts();
|
||||||
|
|
||||||
echo $this->getData('nav')->render(); ?>
|
echo $this->getData('nav')->render(); ?>
|
||||||
|
|
||||||
|
|
@ -66,11 +66,10 @@ echo $this->getData('nav')->render(); ?>
|
||||||
<td><?= $this->getHtml('ID', 0, 0); ?>
|
<td><?= $this->getHtml('ID', 0, 0); ?>
|
||||||
<td class="wf-100">Name
|
<td class="wf-100">Name
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php $c = 0; foreach ([] as $key => $value) : $c++; ?>
|
<?php $c = 0; foreach ($accounts as $key => $value) : $c++; ?>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="#"><i class="fa fa-times"></i></a>
|
<td><a href="#"><i class="fa fa-times"></i></a>
|
||||||
<td>
|
<td><a href="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/account/settings?{?}&id=' . $value->getId()) ?>"><?= $value->getName1(); ?></a>
|
||||||
<td>
|
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
<?php if ($c === 0) : ?>
|
<?php if ($c === 0) : ?>
|
||||||
<tr><td colspan="2" class="empty"><?= $this->getHtml('Empty', 0, 0); ?>
|
<tr><td colspan="2" class="empty"><?= $this->getHtml('Empty', 0, 0); ?>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user