mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-01-21 09:48:40 +00:00
Rest changes
This commit is contained in:
parent
0843a87a1b
commit
befbe5dc3e
|
|
@ -57,4 +57,53 @@ return [
|
|||
'verb' => RouteVerb::GET,
|
||||
],
|
||||
],
|
||||
|
||||
'^.*/api/admin/settings.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiSettingsSet',
|
||||
'verb' => RouteVerb::SET,
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiSettingsGet',
|
||||
'verb' => RouteVerb::GET,
|
||||
],
|
||||
],
|
||||
|
||||
'^.*/api/admin/group.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiGroupCreate',
|
||||
'verb' => RouteVerb::PUT,
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiGroupUpdate',
|
||||
'verb' => RouteVerb::SET,
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiGroupDelete',
|
||||
'verb' => RouteVerb::DELETE,
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiGroupGet',
|
||||
'verb' => RouteVerb::GET,
|
||||
],
|
||||
],
|
||||
|
||||
'^.*/api/admin/account.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAccountCreate',
|
||||
'verb' => RouteVerb::PUT,
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAccountUpdate',
|
||||
'verb' => RouteVerb::SET,
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAccountDelete',
|
||||
'verb' => RouteVerb::DELETE,
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAccountGet',
|
||||
'verb' => RouteVerb::GET,
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -15,8 +15,10 @@
|
|||
*/
|
||||
namespace Modules\Admin;
|
||||
|
||||
use Modules\Admin\Models\Account;
|
||||
use Modules\Admin\Models\AccountMapper;
|
||||
use Modules\Admin\Models\GroupMapper;
|
||||
use Modules\Admin\Models\Group;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
use phpOMS\Module\ModuleAbstract;
|
||||
|
|
@ -133,8 +135,7 @@ 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));
|
||||
|
||||
$accountMapper = new AccountMapper($this->app->dbPool->get());
|
||||
$view->setData('list:elements', $accountMapper->getAll());
|
||||
$view->setData('list:elements', AccountMapper::getAll());
|
||||
$view->setData('list:count', 1);
|
||||
|
||||
return $view;
|
||||
|
|
@ -156,8 +157,7 @@ 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));
|
||||
|
||||
$accountMapper = new AccountMapper($this->app->dbPool->get());
|
||||
$view->addData('account', $accountMapper->get((int) $request->getData('id')));
|
||||
$view->addData('account', AccountMapper::get((int) $request->getData('id')));
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
|
@ -197,8 +197,7 @@ 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));
|
||||
|
||||
$groupMapper = new GroupMapper($this->app->dbPool->get());
|
||||
$view->setData('list:elements', $groupMapper->getAll());
|
||||
$view->setData('list:elements', GroupMapper::getAll());
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
|
@ -219,8 +218,7 @@ 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));
|
||||
|
||||
$groupMapper = new GroupMapper($this->app->dbPool->get());
|
||||
$view->addData('group', $groupMapper->get((int) $request->getData('id')));
|
||||
$view->addData('group', GroupMapper::get((int) $request->getData('id')));
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
|
@ -280,11 +278,82 @@ class Controller extends ModuleAbstract implements WebInterface
|
|||
return $view;
|
||||
}
|
||||
|
||||
public function apiAccountList(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
public function apiSettingsGet(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
// todo: instead of returning dom, maybe only return data and let ui handle presentation?!!?!?!?!!
|
||||
$response->set('settings', $this->app->appSettings->get($request->getData('id')));
|
||||
}
|
||||
|
||||
$mapper = new AccountMapper($this->app->dbPool->get());
|
||||
public function apiSettingsSet(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
$this->app->appSettings->set([$request->getData('setting') => $request->getData('value')], true);
|
||||
}
|
||||
|
||||
public function apiGroupGet(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
$response->set('group', GroupMapper::getByRequest($request));
|
||||
}
|
||||
|
||||
public function apiGroupCreate(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
$group = new Group();
|
||||
$group->setName($request->getData('name'));
|
||||
$group->setDescription($request->getData('desc'));
|
||||
|
||||
GroupMapper::create($group);
|
||||
|
||||
$response->set('group', $group->__toString());
|
||||
}
|
||||
|
||||
public function apiGroupDelete(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
$status = GroupMapper::delete($request->getData('id'));
|
||||
|
||||
$response->set('group', $status);
|
||||
}
|
||||
|
||||
public function apiGroupUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
$group = GroupMapper::get($request->getData('id'));
|
||||
$group->setName($request->getData('name'));
|
||||
$group->setDescription($request->getData('desc'));
|
||||
|
||||
$status = GroupMapper::update($group);
|
||||
|
||||
$response->set('group', ['status' => $status, 'group' => $group->__toString()]);
|
||||
}
|
||||
|
||||
public function apiAccountGet(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
$response->set('account', AccountMapper::getByRequest($request));
|
||||
}
|
||||
|
||||
public function apiAccountCreate(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
$account = new Account();
|
||||
$account->setName($request->getData('name'));
|
||||
$account->setDescription($request->getData('desc'));
|
||||
|
||||
AccountMapper::create($account);
|
||||
|
||||
$response->set('account', $account->__toString());
|
||||
}
|
||||
|
||||
public function apiAccountDelete(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
$status = AccountMapper::delete($request->getData('id'));
|
||||
|
||||
$response->set('account', $status);
|
||||
}
|
||||
|
||||
public function apiAccountUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
$account = AccountMapper::get($request->getData('id'));
|
||||
$account->setName($request->getData('name'));
|
||||
$account->setDescription($request->getData('desc'));
|
||||
|
||||
$status = AccountMapper::update($account);
|
||||
|
||||
$response->set('account', ['status' => $status, 'account' => $account->__toString()]);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
namespace Modules\Admin\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
|
||||
class AccountMapper extends DataMapperAbstract
|
||||
{
|
||||
|
|
@ -64,4 +65,21 @@ class AccountMapper extends DataMapperAbstract
|
|||
* @since 1.0.0
|
||||
*/
|
||||
protected static $createdAt = 'account_created_at';
|
||||
|
||||
/**
|
||||
* Get object.
|
||||
*
|
||||
* @param mixed $primaryKey Key
|
||||
* @param int $relations Load relations
|
||||
* @param mixed $fill Object to fill
|
||||
*
|
||||
* @return Account
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public static function get($primaryKey, int $relations = RelationType::ALL, $fill = null)
|
||||
{
|
||||
return parent::get((int) $primaryKey, $relations, $fill);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,8 +17,22 @@ namespace Modules\Admin\Models;
|
|||
|
||||
class Group extends \phpOMS\Account\Group
|
||||
{
|
||||
/**
|
||||
* Created at.
|
||||
*
|
||||
* @var \DateTime
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $createdAt = null;
|
||||
|
||||
/**
|
||||
* Created by.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $createdBy = 0;
|
||||
|
||||
public function getCreatedAt() : \DateTime
|
||||
{
|
||||
return $this->createdAt ?? new \DateTime('NOW');
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
namespace Modules\Admin\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
|
||||
class GroupMapper extends DataMapperAbstract
|
||||
{
|
||||
|
|
@ -56,4 +57,21 @@ class GroupMapper extends DataMapperAbstract
|
|||
* @since 1.0.0
|
||||
*/
|
||||
protected static $createdAt = 'group_created';
|
||||
|
||||
/**
|
||||
* Get object.
|
||||
*
|
||||
* @param mixed $primaryKey Key
|
||||
* @param int $relations Load relations
|
||||
* @param mixed $fill Object to fill
|
||||
*
|
||||
* @return Group
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public static function get($primaryKey, int $relations = RelationType::ALL, $fill = null)
|
||||
{
|
||||
return parent::get((int) $primaryKey, $relations, $fill);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
20
Models/NullAccount.php
Normal file
20
Models/NullAccount.php
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.0
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright 2013 Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Admin\Models;
|
||||
|
||||
class NullAccount extends Account
|
||||
{
|
||||
}
|
||||
20
Models/NullGroup.php
Normal file
20
Models/NullGroup.php
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.0
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright 2013 Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Admin\Models;
|
||||
|
||||
class NullGroup extends Group
|
||||
{
|
||||
}
|
||||
|
|
@ -22,7 +22,7 @@ echo $this->getData('nav')->render(); ?>
|
|||
<section class="box w-33 floatLeft">
|
||||
<header><h1><?= $this->l11n->lang['Admin']['Group'] ?></h1></header>
|
||||
<div class="inner">
|
||||
<form action="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/api/admin/group'); ?>" method="post">
|
||||
<form id="group-create" action="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/api/admin/group'); ?>" method="<?= \phpOMS\Message\Http\RequestMethod::PUT; ?>">
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td><label for="iGname"><?= $this->l11n->lang['Admin']['Name'] ?></label>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ echo $this->getData('nav')->render(); ?>
|
|||
<section class="box w-33 floatLeft">
|
||||
<header><h1><?= $this->l11n->lang['Admin']['Group'] ?></h1></header>
|
||||
<div class="inner">
|
||||
<form action="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/api/admin/group'); ?>" method="post">
|
||||
<form id="group-create" action="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/api/admin/group'); ?>" method="<?= \phpOMS\Message\Http\RequestMethod::PUT; ?>">
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td><label for="iGname"><?= $this->l11n->lang['Admin']['Name'] ?></label>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user