Skip to content

Commit 2003906

Browse files
authored
Merge pull request #6 from Jibbarth/fix/display-form-without-easyadmin
Fix bug to display form without easyadmin
2 parents 992275f + 6027efa commit 2003906

File tree

7 files changed

+59
-13
lines changed

7 files changed

+59
-13
lines changed

src/Controller/DefaultController.php

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
use Barth\SimpleConfigBundle\Service\ExtensionConfigurationService;
88
use Barth\SimpleConfigBundle\Service\ExtensionLocatorService;
99
use Barth\SimpleConfigBundle\Service\FormConfigService;
10-
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
10+
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
1111
use Symfony\Component\HttpFoundation\Request;
1212
use Symfony\Component\HttpFoundation\Response;
1313
use Symfony\Component\Routing\Annotation\Route;
1414

1515
/**
1616
* Class DefaultController.
1717
*/
18-
class DefaultController extends Controller
18+
class DefaultController extends AbstractController
1919
{
2020
/**
2121
* @var ConfigService
@@ -106,10 +106,9 @@ public function editAction(
106106
}
107107
}
108108

109-
$nameConverter = new SnakeCaseToCamelCaseNameConverter();
110-
return $this->render('@BarthSimpleConfig/form.html.twig', [
109+
return $this->render($this->getTemplate(), [
111110
'config_form' => $form->createView(),
112-
'extension' => $nameConverter->handle($extension->getAlias()),
111+
'extension' => $extension->getAlias(),
113112
'parent_template' => $this->getParentTemplate(),
114113
]);
115114
}
@@ -134,4 +133,14 @@ protected function getParentTemplate()
134133
return '@BarthSimpleConfig/base.html.twig';
135134
}
136135
}
136+
137+
protected function getTemplate()
138+
{
139+
switch ($this->defaultAdminBundle) {
140+
case 'easy_admin':
141+
return '@BarthSimpleConfig/easy_admin_form.html.twig';
142+
default:
143+
return '@BarthSimpleConfig/base_form.html.twig';
144+
}
145+
}
137146
}

src/Resources/config/services.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ services:
88
$projectDir: '%kernel.project_dir%'
99

1010
Barth\SimpleConfigBundle\:
11-
resource: '../../{Service}/*'
11+
resource: '../../{Service,Twig,NameConverter}/*'
1212

1313
Barth\SimpleConfigBundle\Controller\:
1414
resource: '../../Controller'
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{% block main %}
2+
{% set form_attr = {} %}
3+
{% embed '@BarthSimpleConfig/form.html.twig' %}{% endembed %}
4+
{% endblock %}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{% block main %}
2+
{% form_theme config_form with easyadmin_config('design.form_theme') %}
3+
{% set form_attr = {'attr': {'class':'form-horizontal'}} %}
4+
{% embed '@BarthSimpleConfig/form.html.twig' %}{% endembed %}
5+
{% endblock %}

src/Resources/views/form.html.twig

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
{% extends parent_template %}
22

3-
{% set form_attr = {} %}
4-
{% if 'EasyAdmin' in parent_template %}
5-
{% form_theme config_form with easyadmin_config('design.form_theme') %}
6-
{% set form_attr = {'attr': {'class':'form-horizontal'}} %}
7-
{% endif %}
3+
{% block content_title %}Settings for {{ extension | snakeToCamel }}{% endblock %}
84

9-
{% block content_title %}Settings for {{ extension }}{% endblock %}
105
{% block main %}
116
{{ form_start(config_form, form_attr) }}
127
<div class="row">

src/Resources/views/list.html.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<main class="col-xs-12 col-12 row m-2">
66
{% for bundle in bundles %}
77
<div class="col-xs-3 col-3 border text-center m-2 p-2">
8-
<span class="h5 text-capitalize clearfix">{{ bundle }}</span>
8+
<span class="h5 text-capitalize clearfix">{{ bundle | snakeToCamel}}</span>
99
<a href="{{ path('barth_simpleconfig_edit', {'package' : bundle}) }}" class="btn btn-primary btn-xs mt-3 mb-2" >
1010
Edit configuration
1111
</a>

src/Twig/CamelizeExtension.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
namespace Barth\SimpleConfigBundle\Twig;
4+
5+
use Barth\SimpleConfigBundle\NameConverter\SnakeCaseToCamelCaseNameConverter;
6+
use Twig\Extension\AbstractExtension;
7+
use Twig\TwigFilter;
8+
9+
class CamelizeExtension extends AbstractExtension
10+
{
11+
/**
12+
* @var SnakeCaseToCamelCaseNameConverter
13+
*/
14+
private $nameConverter;
15+
16+
public function __construct(
17+
SnakeCaseToCamelCaseNameConverter $nameConverter
18+
) {
19+
$this->nameConverter = $nameConverter;
20+
}
21+
22+
public function getFilters(): array
23+
{
24+
return [
25+
new TwigFilter('snakeToCamel', [$this, 'snakeToCamel']),
26+
];
27+
}
28+
29+
public function snakeToCamel(string $value): string
30+
{
31+
return $this->nameConverter->handle($value);
32+
}
33+
}

0 commit comments

Comments
 (0)