Core adjustments for pending issues

This commit is contained in:
Dennis Eichhorn 2016-10-02 12:07:05 +02:00
parent 8d672d6acf
commit 1675e6f827
5 changed files with 86 additions and 59 deletions

View File

@ -50,6 +50,7 @@ class Installer extends InstallerAbstract
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'group` (
`group_id` int(11) NOT NULL AUTO_INCREMENT,
`group_name` varchar(50) NOT NULL,
`group_status` int(11) NOT NULL,
`group_desc` varchar(100) DEFAULT NULL,
`group_created` datetime DEFAULT NULL,
PRIMARY KEY (`group_id`)

62
Admin/Routes/Web/Api.php Normal file
View File

@ -0,0 +1,62 @@
<?php
use phpOMS\Router\RouteVerb;
return [
'^.*/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,
],
],
'^.*/api/admin/module/status.*$' => [
[
'dest' => '\Modules\Admin\Controller:apiModuleStatusUpdate',
'verb' => RouteVerb::SET,
],
],
];

View File

@ -57,60 +57,4 @@ 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,
],
],
'^.*/api/admin/module/status.*$' => [
[
'dest' => '\Modules\Admin\Controller:apiModuleStatusUpdate',
'verb' => RouteVerb::SET,
],
],
];

View File

@ -15,10 +15,12 @@
*/
namespace Modules\Admin;
use Model\Message\FormValidation;
use Modules\Admin\Models\Account;
use Modules\Admin\Models\AccountMapper;
use Modules\Admin\Models\GroupMapper;
use Modules\Admin\Models\Group;
use Modules\Admin\Models\GroupMapper;
use phpOMS\Account\GroupStatus;
use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract;
use phpOMS\Module\ModuleAbstract;
@ -298,8 +300,25 @@ class Controller extends ModuleAbstract implements WebInterface
public function apiGroupCreate(RequestAbstract $request, ResponseAbstract $response, $data = null)
{
$val = [];
if (
$val['name'] = empty($request->getData('name'))
|| $val['parent'] = (
$request->getData('parent') !== null
&& !is_numeric($request->getData('parent'))
)
|| $val['status'] = (
$request->getData('status') === null
|| !GroupStatus::isValidValue((int) $request->getData('status'))
)
) {
$response->set('group_create_validation', new FormValidation($val));
return;
}
$group = new Group();
$group->setName($request->getData('name'));
$group->setName((int) $request->getData('status'));
$group->setDescription($request->getData('desc'));
GroupMapper::create($group);
@ -365,11 +384,11 @@ class Controller extends ModuleAbstract implements WebInterface
$module = $request->getData('module');
$status = $request->getData('status');
if(!$module || !$status) {
if (!$module || !$status) {
// todo: create failure response
}
switch($status) {
switch ($status) {
case 'activate':
$done = $this->app->moduleManager->activate($module);
break;

View File

@ -30,6 +30,7 @@ class GroupMapper extends DataMapperAbstract
protected static $columns = [
'group_id' => ['name' => 'group_id', 'type' => 'int', 'internal' => 'id'],
'group_name' => ['name' => 'group_name', 'type' => 'string', 'internal' => 'name'],
'group_status' => ['name' => 'group_status', 'type' => 'int', 'internal' => 'status'],
'group_desc' => ['name' => 'group_desc', 'type' => 'string', 'internal' => 'description'],
'group_created' => ['name' => 'group_created', 'type' => 'DateTime', 'internal' => 'createdAt'],
];