Skip to content

Commit 8e9bd67

Browse files
committed
fix skeleton according to community recommendations
1 parent e9f91ef commit 8e9bd67

File tree

7 files changed

+37
-61
lines changed

7 files changed

+37
-61
lines changed

src/Resources/skeleton/crud/controller/ControllerWithTwig.tpl.php

+6-25
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ public function show(<?= $entity_class_name; ?> $<?= $entity_var_singular; ?>)
4343

4444
return $this->render('<?= $route_name; ?>/show.html.twig', [
4545
'<?= $entity_var_singular; ?>' => $<?= $entity_var_singular; ?>,
46-
'delete_form' => $deleteForm->createView(),
4746
]);
4847
}
4948

@@ -100,7 +99,6 @@ public function edit(Request $request, <?= $entity_class_name; ?> $<?= $entity_v
10099
return $this->render('<?= $route_name; ?>/edit.html.twig', [
101100
'<?= $entity_var_singular; ?>' => $<?= $entity_var_singular; ?>,
102101
'form' => $form->createView(),
103-
'delete_form' => $deleteForm->createView(),
104102
]);
105103
}
106104

@@ -115,31 +113,14 @@ public function edit(Request $request, <?= $entity_class_name; ?> $<?= $entity_v
115113
*/
116114
public function delete(Request $request, <?= $entity_class_name; ?> $<?= $entity_var_singular; ?>)
117115
{
118-
$form = $this->createDeleteForm($<?= $entity_var_singular; ?>);
119-
$form->handleRequest($request);
120-
121-
if ($form->isSubmitted() && $form->isValid()) {
122-
$em = $this->getDoctrine()->getManager();
123-
$em->remove($<?= $entity_var_singular; ?>);
124-
$em->flush();
116+
if (!$this->isCsrfTokenValid('delete'.$<?= $entity_var_singular; ?>->get<?= ucfirst($entity_identifier); ?>(), $request->request->get('token'))) {
117+
return $this->redirectToRoute('<?= $route_name; ?>_index');
125118
}
126119

127-
return $this->redirectToRoute('<?= $route_name; ?>_index');
128-
}
120+
$em = $this->getDoctrine()->getManager();
121+
$em->remove($<?= $entity_var_singular; ?>);
122+
$em->flush();
129123

130-
/**
131-
* Creates a form to delete a <?= $entity_class_name; ?> entity.
132-
*
133-
* @param <?= $entity_class_name; ?> $<?= $entity_var_singular; ?> The <?= $entity_class_name; ?> entity
134-
*
135-
* @return \Symfony\Component\Form\FormInterface The form
136-
*/
137-
private function createDeleteForm(<?= $entity_class_name; ?> $<?= $entity_var_singular; ?>)
138-
{
139-
return $this->createFormBuilder()
140-
->setAction($this->generateUrl('<?= $route_name; ?>_delete', ['<?= $entity_identifier; ?>' => $<?= $entity_var_singular; ?>->get<?= ucfirst($entity_identifier); ?>()]))
141-
->setMethod('DELETE')
142-
->getForm()
143-
;
124+
return $this->redirectToRoute('<?= $route_name; ?>_index');
144125
}
145126
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<form name="form" method="post" action="{{ path('<?= $route_name; ?>_delete', {'<?= $entity_identifier; ?>':identifier}) }}">
2+
<input type="hidden" name="_method" value="_DELETE">
3+
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ identifier) }}">
4+
<input type="submit" value="Delete">
5+
</form>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{{ form_start(form) }}
2+
{{ form_widget(form) }}
3+
<button>{{ button_label|default('Save') }}</button>
4+
{{ form_end(form) }}

src/Resources/skeleton/crud/templates/edit.tpl.php

+4-14
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,10 @@
33
{% block body %}
44
<h1>Edit <?= $entity_class_name; ?></h1>
55

6-
{{ form_start(form) }}
7-
{{ form_widget(form) }}
8-
<input type="submit" value="Edit">
9-
{{ form_end(form) }}
6+
{% include '<?= $route_name?>/_form.html.twig' with {'form': form, 'button_label': 'Edit'} only %}
107

11-
<ul>
12-
<li>
13-
<a href="{{ path('<?= $route_name; ?>_index') }}">back to list</a>
14-
</li>
15-
<li>
16-
{{ form_start(delete_form) }}
17-
<input type="submit" value="Delete">
18-
{{ form_end(delete_form) }}
19-
</li>
20-
</ul>
8+
<a href="{{ path('<?= $route_name; ?>_index') }}">back to list</a>
9+
10+
{% include '<?= $route_name?>/_delete_form.html.twig' with {'identifier': <?= $entity_var_singular; ?>.<?= $entity_identifier; ?>} only %}
2111

2212
{% endblock %}

src/Resources/skeleton/crud/templates/index.tpl.php

+9-5
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
{% block body %}
44
<h1><?= $entity_class_name; ?> index</h1>
55
<table>
6-
<tr>
7-
<?php foreach ($entity_fields as $field): ?><th><?= ucfirst($field['fieldName']); ?></th>
8-
<?php endforeach; ?>
9-
<th>actions</th>
10-
</tr>
6+
<thead>
7+
<tr>
8+
<?php foreach ($entity_fields as $field): ?><th><?= ucfirst($field['fieldName']); ?></th>
9+
<?php endforeach; ?>
10+
<th>actions</th>
11+
</tr>
12+
</thead>
13+
<tbody>
1114
{% for <?= $entity_var_singular; ?> in <?= $entity_var_plural; ?> %}
1215
<tr>
1316
<?php foreach ($entity_fields as $field): ?><td>{{ <?= $entity_var_singular; ?>.<?= $field['fieldName']; ?> }}</td>
@@ -22,6 +25,7 @@
2225
<td colspan="<?= (count($entity_fields) + 1); ?>">no records found</td>
2326
</tr>
2427
{% endfor %}
28+
</tbody>
2529
</table>
2630
<a href="{{ path('<?= $route_name; ?>_new') }}">Create new</a>
2731
{% endblock %}

src/Resources/skeleton/crud/templates/new.tpl.php

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
{% block body %}
44
<h1>Create new <?= $entity_class_name; ?></h1>
5-
{{ form_start(form) }}
6-
{{ form_widget(form) }}
7-
<input type="submit" value="Save">
8-
{{ form_end(form) }}
5+
6+
{% include '<?= $route_name?>/_form.html.twig' with {'form': form} only %}
7+
98
{% endblock %}

src/Resources/skeleton/crud/templates/show.tpl.php

+6-13
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,10 @@
1212
<?php endforeach; ?>
1313
</table>
1414

15-
<ul>
16-
<li>
17-
<a href="{{ path('<?= $route_name; ?>_index') }}">back to list</a>
18-
</li>
19-
<li>
20-
<a href="{{ path('<?= $route_name; ?>_edit', {'<?= $entity_identifier; ?>':<?= $entity_var_singular; ?>.<?= $entity_identifier; ?>}) }}">edit</a>
21-
</li>
22-
<li>
23-
{{ form_start(delete_form) }}
24-
<input type="submit" value="Delete">
25-
{{ form_end(delete_form) }}
26-
</li>
27-
</ul>
15+
<a href="{{ path('<?= $route_name; ?>_index') }}">back to list</a>
16+
17+
<a href="{{ path('<?= $route_name; ?>_edit', {'<?= $entity_identifier; ?>':<?= $entity_var_singular; ?>.<?= $entity_identifier; ?>}) }}">edit</a>
18+
19+
{% include '<?= $route_name?>/_delete_form.html.twig' with {'identifier': <?= $entity_var_singular; ?>.<?= $entity_identifier; ?>} only %}
20+
2821
{% endblock %}

0 commit comments

Comments
 (0)