Implementd group create

This commit is contained in:
Dennis Eichhorn 2016-11-06 14:41:44 +01:00
parent 3c4fe4836c
commit cdf1679633
3 changed files with 30 additions and 16 deletions

View File

@ -298,28 +298,34 @@ class Controller extends ModuleAbstract implements WebInterface
$response->set('group', GroupMapper::getByRequest($request));
}
public function apiGroupCreate(RequestAbstract $request, ResponseAbstract $response, $data = null)
private function validateGroupCreate(RequestAbstract $request) : array
{
$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'))
))
($val['name'] = empty($request->getData('name')))
|| ($val['status'] = (
$request->getData('status') === null
|| !GroupStatus::isValidValue((int) $request->getData('status'))
))
) {
$response->set('group_create_validation', new FormValidation($val));
return $val;
}
return [];
}
public function apiGroupCreate(RequestAbstract $request, ResponseAbstract $response, $data = null)
{
if (!empty($val = $this->validateGroupCreate($request))) {
$response->set('group_create', new FormValidation($val));
return;
}
$group = new Group();
$group->setName($request->getData('name'));
$group->setName((int) $request->getData('status'));
$group->setDescription($request->getData('desc'));
$group->setName($request->getData('name') ?? '');
$group->setStatus((int) $request->getData('status'));
$group->setDescription($request->getData('description') ?? '');
GroupMapper::create($group);

View File

@ -25,8 +25,12 @@ echo $this->getData('nav')->render(); ?>
<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 colspan="2"><label for="iStatus"><?= $this->getText('Status') ?></label>
<tr><td colspan="2"><select id="iStatus" name="status">
<option value="<?= \phpOMS\Account\GroupStatus::ACTIVE; ?>" selected><?= $this->getText('Active') ?>
<option value="<?= \phpOMS\Account\GroupStatus::INACTIVE; ?>"><?= $this->getText('Inactive') ?>
<tr><td><label for="iGname"><?= $this->getText('Name') ?></label>
<tr><td><input id="iGname" name="gname" type="text" placeholder="&#xf0c0; Guest" required>
<tr><td><input id="iGname" name="name" type="text" placeholder="&#xf0c0; Guest" required>
<tr><td><label for="iGroupDescription"><?= $this->getText('Description') ?></label>
<tr><td><textarea id="iGroupDescription" name="description" placeholder="&#xf040;"></textarea>
<tr><td><input type="submit" value="<?= $this->getText('Create', 0, 0); ?>">

View File

@ -25,8 +25,12 @@ echo $this->getData('nav')->render(); ?>
<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 colspan="2"><label for="iStatus"><?= $this->getText('Status') ?></label>
<tr><td colspan="2"><select id="iStatus" name="status">
<option value="<?= \phpOMS\Account\GroupStatus::ACTIVE; ?>" selected><?= $this->getText('Active') ?>
<option value="<?= \phpOMS\Account\GroupStatus::INACTIVE; ?>"><?= $this->getText('Inactive') ?>
<tr><td><label for="iGname"><?= $this->getText('Name') ?></label>
<tr><td><input id="iGname" name="gname" type="text" placeholder="&#xf0c0; Guest" required>
<tr><td><input id="iGname" name="name" type="text" placeholder="&#xf0c0; Guest" required>
<tr><td><label for="iGroupDescription"><?= $this->getText('Description') ?></label>
<tr><td><textarea id="iGroupDescription" name="description" placeholder="&#xf040;"></textarea>
<tr><td><input type="submit" value="<?= $this->getText('Create', 0, 0); ?>">