2019-04-22 22:16:35 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Grocy\Controllers;
|
|
|
|
|
|
|
|
class GenericEntityController extends BaseController
|
|
|
|
{
|
2020-02-11 17:42:03 +01:00
|
|
|
public function UserentitiesList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
2019-09-18 16:18:15 +02:00
|
|
|
{
|
2020-03-01 23:47:47 +07:00
|
|
|
return $this->renderPage($response, 'userentities', [
|
2020-11-17 19:11:02 +01:00
|
|
|
'userentities' => $this->getDatabase()->userentities()->orderBy('name', 'COLLATE NOCASE')
|
2019-09-18 16:18:15 +02:00
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
2020-08-31 20:40:31 +02:00
|
|
|
public function UserentityEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
2019-09-18 16:18:15 +02:00
|
|
|
{
|
2020-08-31 20:40:31 +02:00
|
|
|
if ($args['userentityId'] == 'new')
|
|
|
|
{
|
|
|
|
return $this->renderPage($response, 'userentityform', [
|
|
|
|
'mode' => 'create'
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
return $this->renderPage($response, 'userentityform', [
|
|
|
|
'mode' => 'edit',
|
|
|
|
'userentity' => $this->getDatabase()->userentities($args['userentityId'])
|
|
|
|
]);
|
|
|
|
}
|
2019-09-18 16:18:15 +02:00
|
|
|
}
|
|
|
|
|
2020-02-11 17:42:03 +01:00
|
|
|
public function UserfieldEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
2019-04-22 22:16:35 +02:00
|
|
|
{
|
|
|
|
if ($args['userfieldId'] == 'new')
|
|
|
|
{
|
2020-03-01 23:47:47 +07:00
|
|
|
return $this->renderPage($response, 'userfieldform', [
|
2019-04-22 22:16:35 +02:00
|
|
|
'mode' => 'create',
|
2020-03-01 23:47:47 +07:00
|
|
|
'userfieldTypes' => $this->getUserfieldsService()->GetFieldTypes(),
|
|
|
|
'entities' => $this->getUserfieldsService()->GetEntities()
|
2019-04-22 22:16:35 +02:00
|
|
|
]);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2020-03-01 23:47:47 +07:00
|
|
|
return $this->renderPage($response, 'userfieldform', [
|
2019-04-22 22:16:35 +02:00
|
|
|
'mode' => 'edit',
|
2020-08-31 20:40:31 +02:00
|
|
|
'userfield' => $this->getUserfieldsService()->GetField($args['userfieldId']),
|
2020-03-01 23:47:47 +07:00
|
|
|
'userfieldTypes' => $this->getUserfieldsService()->GetFieldTypes(),
|
|
|
|
'entities' => $this->getUserfieldsService()->GetEntities()
|
2019-04-22 22:16:35 +02:00
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|
2019-09-18 16:18:15 +02:00
|
|
|
|
2020-08-31 20:40:31 +02:00
|
|
|
public function UserfieldsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
2019-09-18 16:18:15 +02:00
|
|
|
{
|
2020-08-31 20:40:31 +02:00
|
|
|
return $this->renderPage($response, 'userfields', [
|
|
|
|
'userfields' => $this->getUserfieldsService()->GetAllFields(),
|
|
|
|
'entities' => $this->getUserfieldsService()->GetEntities()
|
|
|
|
]);
|
2019-09-18 16:18:15 +02:00
|
|
|
}
|
|
|
|
|
2020-02-11 17:42:03 +01:00
|
|
|
public function UserobjectEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
2019-09-18 16:18:15 +02:00
|
|
|
{
|
2020-03-01 23:47:47 +07:00
|
|
|
$userentity = $this->getDatabase()->userentities()->where('name = :1', $args['userentityName'])->fetch();
|
2019-09-18 16:18:15 +02:00
|
|
|
|
|
|
|
if ($args['userobjectId'] == 'new')
|
|
|
|
{
|
2020-03-01 23:47:47 +07:00
|
|
|
return $this->renderPage($response, 'userobjectform', [
|
2019-09-18 16:18:15 +02:00
|
|
|
'userentity' => $userentity,
|
|
|
|
'mode' => 'create',
|
2020-03-01 23:47:47 +07:00
|
|
|
'userfields' => $this->getUserfieldsService()->GetFields('userentity-' . $args['userentityName'])
|
2019-09-18 16:18:15 +02:00
|
|
|
]);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2020-03-01 23:47:47 +07:00
|
|
|
return $this->renderPage($response, 'userobjectform', [
|
2019-09-18 16:18:15 +02:00
|
|
|
'userentity' => $userentity,
|
|
|
|
'mode' => 'edit',
|
2020-08-31 20:40:31 +02:00
|
|
|
'userobject' => $this->getDatabase()->userobjects($args['userobjectId']),
|
2020-03-01 23:47:47 +07:00
|
|
|
'userfields' => $this->getUserfieldsService()->GetFields('userentity-' . $args['userentityName'])
|
2019-09-18 16:18:15 +02:00
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|
2020-08-31 20:40:31 +02:00
|
|
|
|
|
|
|
public function UserobjectsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
|
|
|
{
|
|
|
|
$userentity = $this->getDatabase()->userentities()->where('name = :1', $args['userentityName'])->fetch();
|
|
|
|
|
|
|
|
return $this->renderPage($response, 'userobjects', [
|
|
|
|
'userentity' => $userentity,
|
|
|
|
'userobjects' => $this->getDatabase()->userobjects()->where('userentity_id = :1', $userentity->id),
|
|
|
|
'userfields' => $this->getUserfieldsService()->GetFields('userentity-' . $args['userentityName']),
|
|
|
|
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('userentity-' . $args['userentityName'])
|
|
|
|
]);
|
|
|
|
}
|
2019-04-22 22:16:35 +02:00
|
|
|
}
|