2018-04-15 23:53:46 +00:00
|
|
|
<?php
|
2018-08-04 22:05:14 +00:00
|
|
|
namespace App\Controller\Admin;
|
2018-04-15 23:53:46 +00:00
|
|
|
|
2019-08-07 04:33:55 +00:00
|
|
|
use App\Entity;
|
|
|
|
use App\Form\EntityFormManager;
|
2019-08-09 15:00:21 +00:00
|
|
|
use App\Http\Response;
|
|
|
|
use App\Http\ServerRequest;
|
2019-08-07 04:33:55 +00:00
|
|
|
use Azura\Config;
|
2018-11-17 15:30:28 +00:00
|
|
|
use Psr\Http\Message\ResponseInterface;
|
2018-04-15 23:53:46 +00:00
|
|
|
|
2019-04-14 02:05:42 +00:00
|
|
|
class CustomFieldsController extends AbstractAdminCrudController
|
2018-04-15 23:53:46 +00:00
|
|
|
{
|
|
|
|
/**
|
2019-08-07 04:33:55 +00:00
|
|
|
* @param Config $config
|
|
|
|
* @param EntityFormManager $formManager
|
2018-04-15 23:53:46 +00:00
|
|
|
*/
|
2019-08-07 04:33:55 +00:00
|
|
|
public function __construct(Config $config, EntityFormManager $formManager)
|
2018-04-15 23:53:46 +00:00
|
|
|
{
|
2019-08-07 04:33:55 +00:00
|
|
|
$form = $formManager->getForm(Entity\CustomField::class, $config->get('forms/custom_field'));
|
2019-04-14 02:05:42 +00:00
|
|
|
parent::__construct($form);
|
2018-04-15 23:53:46 +00:00
|
|
|
|
2019-04-14 02:05:42 +00:00
|
|
|
$this->csrf_namespace = 'admin_custom_fields';
|
2018-04-15 23:53:46 +00:00
|
|
|
}
|
|
|
|
|
2019-08-09 15:00:21 +00:00
|
|
|
public function indexAction(ServerRequest $request, Response $response): ResponseInterface
|
2018-04-15 23:53:46 +00:00
|
|
|
{
|
|
|
|
$records = $this->record_repo->fetchArray(true, 'name');
|
|
|
|
|
2019-08-09 15:00:21 +00:00
|
|
|
return $request->getView()->renderToResponse($response, 'admin/custom_fields/index', [
|
2018-04-15 23:53:46 +00:00
|
|
|
'records' => $records,
|
2019-08-09 15:00:21 +00:00
|
|
|
'csrf' => $request->getSession()->getCsrf()->generate($this->csrf_namespace)
|
2018-04-15 23:53:46 +00:00
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
2019-08-09 15:00:21 +00:00
|
|
|
public function editAction(ServerRequest $request, Response $response, $id = null): ResponseInterface
|
2018-04-15 23:53:46 +00:00
|
|
|
{
|
2019-04-14 02:05:42 +00:00
|
|
|
if (false !== $this->_doEdit($request, $id)) {
|
2019-08-21 22:33:47 +00:00
|
|
|
$request->getSession()->flash(($id ? __('Custom Field updated.') : __('Custom Field added.')), 'green');
|
2019-08-09 15:00:21 +00:00
|
|
|
return $response->withRedirect($request->getRouter()->named('admin:custom_fields:index'));
|
2018-04-15 23:53:46 +00:00
|
|
|
}
|
|
|
|
|
2019-08-09 15:00:21 +00:00
|
|
|
return $request->getView()->renderToResponse($response, 'system/form_page', [
|
2019-04-14 02:05:42 +00:00
|
|
|
'form' => $this->form,
|
2018-04-15 23:53:46 +00:00
|
|
|
'render_mode' => 'edit',
|
2019-08-21 22:33:47 +00:00
|
|
|
'title' => $id ? __('Edit Custom Field') : __('Add Custom Field')
|
2018-04-15 23:53:46 +00:00
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
2019-08-09 15:00:21 +00:00
|
|
|
public function deleteAction(ServerRequest $request, Response $response, $id, $csrf_token): ResponseInterface
|
2018-04-15 23:53:46 +00:00
|
|
|
{
|
2019-04-14 02:05:42 +00:00
|
|
|
$this->_doDelete($request, $id, $csrf_token);
|
2018-04-15 23:53:46 +00:00
|
|
|
|
2019-08-21 22:33:47 +00:00
|
|
|
$request->getSession()->flash('<b>' . __('Custom Field deleted.') . '</b>', 'green');
|
2018-04-15 23:53:46 +00:00
|
|
|
|
2019-08-09 15:00:21 +00:00
|
|
|
return $response->withRedirect($request->getRouter()->named('admin:custom_fields:index'));
|
2018-04-15 23:53:46 +00:00
|
|
|
}
|
2018-08-04 22:05:14 +00:00
|
|
|
}
|