mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-02-11 10:28:40 +00:00
Rest changes
This commit is contained in:
parent
0843a87a1b
commit
befbe5dc3e
|
|
@ -57,4 +57,53 @@ return [
|
||||||
'verb' => RouteVerb::GET,
|
'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;
|
namespace Modules\Admin;
|
||||||
|
|
||||||
|
use Modules\Admin\Models\Account;
|
||||||
use Modules\Admin\Models\AccountMapper;
|
use Modules\Admin\Models\AccountMapper;
|
||||||
use Modules\Admin\Models\GroupMapper;
|
use Modules\Admin\Models\GroupMapper;
|
||||||
|
use Modules\Admin\Models\Group;
|
||||||
use phpOMS\Message\RequestAbstract;
|
use phpOMS\Message\RequestAbstract;
|
||||||
use phpOMS\Message\ResponseAbstract;
|
use phpOMS\Message\ResponseAbstract;
|
||||||
use phpOMS\Module\ModuleAbstract;
|
use phpOMS\Module\ModuleAbstract;
|
||||||
|
|
@ -133,8 +135,7 @@ 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));
|
||||||
|
|
||||||
$accountMapper = new AccountMapper($this->app->dbPool->get());
|
$view->setData('list:elements', AccountMapper::getAll());
|
||||||
$view->setData('list:elements', $accountMapper->getAll());
|
|
||||||
$view->setData('list:count', 1);
|
$view->setData('list:count', 1);
|
||||||
|
|
||||||
return $view;
|
return $view;
|
||||||
|
|
@ -156,8 +157,7 @@ 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));
|
||||||
|
|
||||||
$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;
|
return $view;
|
||||||
}
|
}
|
||||||
|
|
@ -197,8 +197,7 @@ 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));
|
||||||
|
|
||||||
$groupMapper = new GroupMapper($this->app->dbPool->get());
|
$view->setData('list:elements', GroupMapper::getAll());
|
||||||
$view->setData('list:elements', $groupMapper->getAll());
|
|
||||||
|
|
||||||
return $view;
|
return $view;
|
||||||
}
|
}
|
||||||
|
|
@ -219,8 +218,7 @@ 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));
|
||||||
|
|
||||||
$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;
|
return $view;
|
||||||
}
|
}
|
||||||
|
|
@ -280,11 +278,82 @@ class Controller extends ModuleAbstract implements WebInterface
|
||||||
return $view;
|
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;
|
namespace Modules\Admin\Models;
|
||||||
|
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
|
use phpOMS\DataStorage\Database\RelationType;
|
||||||
|
|
||||||
class AccountMapper extends DataMapperAbstract
|
class AccountMapper extends DataMapperAbstract
|
||||||
{
|
{
|
||||||
|
|
@ -64,4 +65,21 @@ class AccountMapper extends DataMapperAbstract
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static $createdAt = 'account_created_at';
|
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
|
class Group extends \phpOMS\Account\Group
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Created at.
|
||||||
|
*
|
||||||
|
* @var \DateTime
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
protected $createdAt = null;
|
protected $createdAt = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
protected $createdBy = 0;
|
||||||
|
|
||||||
public function getCreatedAt() : \DateTime
|
public function getCreatedAt() : \DateTime
|
||||||
{
|
{
|
||||||
return $this->createdAt ?? new \DateTime('NOW');
|
return $this->createdAt ?? new \DateTime('NOW');
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
namespace Modules\Admin\Models;
|
namespace Modules\Admin\Models;
|
||||||
|
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
|
use phpOMS\DataStorage\Database\RelationType;
|
||||||
|
|
||||||
class GroupMapper extends DataMapperAbstract
|
class GroupMapper extends DataMapperAbstract
|
||||||
{
|
{
|
||||||
|
|
@ -56,4 +57,21 @@ class GroupMapper extends DataMapperAbstract
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static $createdAt = 'group_created';
|
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">
|
<section class="box w-33 floatLeft">
|
||||||
<header><h1><?= $this->l11n->lang['Admin']['Group'] ?></h1></header>
|
<header><h1><?= $this->l11n->lang['Admin']['Group'] ?></h1></header>
|
||||||
<div class="inner">
|
<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">
|
<table class="layout wf-100">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td><label for="iGname"><?= $this->l11n->lang['Admin']['Name'] ?></label>
|
<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">
|
<section class="box w-33 floatLeft">
|
||||||
<header><h1><?= $this->l11n->lang['Admin']['Group'] ?></h1></header>
|
<header><h1><?= $this->l11n->lang['Admin']['Group'] ?></h1></header>
|
||||||
<div class="inner">
|
<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">
|
<table class="layout wf-100">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td><label for="iGname"><?= $this->l11n->lang['Admin']['Name'] ?></label>
|
<tr><td><label for="iGname"><?= $this->l11n->lang['Admin']['Name'] ?></label>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user