From 4c0fc1ec3803ffddfe9cbac0bdd1ff191f2a92d0 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Fri, 30 Dec 2016 19:59:24 +0100 Subject: [PATCH] Template, comment and path fixes --- Controller.php | 30 ++++++++++++++++- Models/AccountMapper.php | 46 +++++++++++++++++++++++++++ Theme/Backend/accounts-create.tpl.php | 14 ++++---- Theme/Backend/accounts-list.tpl.php | 2 +- Theme/backend/accounts-create.tpl.php | 14 ++++---- Theme/backend/accounts-list.tpl.php | 2 +- 6 files changed, 91 insertions(+), 17 deletions(-) diff --git a/Controller.php b/Controller.php index a23c805..734f0b4 100644 --- a/Controller.php +++ b/Controller.php @@ -17,6 +17,8 @@ namespace Modules\Admin; use Model\Message\FormValidation; use Modules\Admin\Models\Account; +use phpOMS\Account\AccountStatus; +use phpOMS\Account\AccountType; use Modules\Admin\Models\AccountMapper; use Modules\Admin\Models\Group; use Modules\Admin\Models\GroupMapper; @@ -356,11 +358,37 @@ class Controller extends ModuleAbstract implements WebInterface $response->set('account', AccountMapper::getByRequest($request)); } + private function validateAccountCreate(RequestAbstract $request) : array + { + $val = []; + if ( + ($val['name'] = empty($request->getData('name'))) + || ($val['name1'] = empty($request->getData('name1'))) + || ($val['type'] = !AccountType::isValidValue((int) $request->getData('type'))) + || ($val['status'] = !AccountStatus::isValidValue((int) $request->getData('status'))) + ) { + return $val; + } + + return []; + } + public function apiAccountCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) { + if (!empty($val = $this->validateAccountCreate($request))) { + $response->set('account_create', new FormValidation($val)); + + return; + } + $account = new Account(); + $account->setStatus($request->getData('status')); + $account->setType($request->getData('type')); $account->setName($request->getData('name')); - $account->setDescription($request->getData('desc')); + $account->setName1($request->getData('name1')); + $account->setName2($request->getData('name2')); + $account->setName3($request->getData('name3')); + $account->setEmail($request->getData('email')); AccountMapper::create($account); diff --git a/Models/AccountMapper.php b/Models/AccountMapper.php index 84c2050..1e87413 100644 --- a/Models/AccountMapper.php +++ b/Models/AccountMapper.php @@ -15,7 +15,10 @@ */ namespace Modules\Admin\Models; +use Modules\Media\Models\MediaMapper; use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Query\Builder; +use phpOMS\DataStorage\Database\Query\Column; use phpOMS\DataStorage\Database\RelationType; class AccountMapper extends DataMapperAbstract @@ -66,6 +69,49 @@ class AccountMapper extends DataMapperAbstract */ protected static $createdAt = 'account_created_at'; + /** + * Create object. + * + * @param mixed $obj Object + * @param int $relations Behavior for relations creation + * + * @return mixed + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public static function create($obj, int $relations = RelationType::ALL) + { + try { + $objId = parent::create($obj, $relations); + $query = new Builder(self::$db); + + $query->prefix(self::$db->getPrefix()) + ->insert( + 'account_permission_account', + 'account_permission_from', + 'account_permission_for', + 'account_permission_id1', + 'account_permission_id2', + 'account_permission_r', + 'account_permission_w', + 'account_permission_m', + 'account_permission_d', + 'account_permission_p' + ) + ->into('account_permission') + ->values(1, 'account', 'account', 1, $objId, 1, 1, 1, 1, 1); + + self::$db->con->prepare($query->toSql())->execute(); + } catch (\Exception $e) { + var_dump($e->getMessage()); + + return false; + } + } + + + /** * Get object. * diff --git a/Theme/Backend/accounts-create.tpl.php b/Theme/Backend/accounts-create.tpl.php index bfcdc2a..f64650d 100644 --- a/Theme/Backend/accounts-create.tpl.php +++ b/Theme/Backend/accounts-create.tpl.php @@ -18,20 +18,20 @@ echo $this->getData('nav')->render(); ?>

getText('Account') ?>

-
+ -
diff --git a/Theme/Backend/accounts-list.tpl.php b/Theme/Backend/accounts-list.tpl.php index 2c8a653..f67bfb7 100644 --- a/Theme/Backend/accounts-list.tpl.php +++ b/Theme/Backend/accounts-list.tpl.php @@ -44,8 +44,8 @@ echo $this->getData('nav')->render(); getData('list:elements') as $key => $value) : $c++; $url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/account/settings?id=' . $value->getId()); ?>
getStatus(); ?> getId(); ?> + getStatus(); ?> getName1(); ?> getLastActive()->format('Y-m-d H:i:s'); ?> getCreatedAt()->format('Y-m-d H:i:s'); ?> diff --git a/Theme/backend/accounts-create.tpl.php b/Theme/backend/accounts-create.tpl.php index bfcdc2a..f64650d 100644 --- a/Theme/backend/accounts-create.tpl.php +++ b/Theme/backend/accounts-create.tpl.php @@ -18,20 +18,20 @@ echo $this->getData('nav')->render(); ?>

getText('Account') ?>

- + -
diff --git a/Theme/backend/accounts-list.tpl.php b/Theme/backend/accounts-list.tpl.php index 2c8a653..f67bfb7 100644 --- a/Theme/backend/accounts-list.tpl.php +++ b/Theme/backend/accounts-list.tpl.php @@ -44,8 +44,8 @@ echo $this->getData('nav')->render(); getData('list:elements') as $key => $value) : $c++; $url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/account/settings?id=' . $value->getId()); ?>
getStatus(); ?> getId(); ?> + getStatus(); ?> getName1(); ?> getLastActive()->format('Y-m-d H:i:s'); ?> getCreatedAt()->format('Y-m-d H:i:s'); ?>