update node attributes

This commit is contained in:
Simon Vieille 2021-03-22 14:04:14 +01:00
parent b44a40eba3
commit 56516e6c7d
4 changed files with 36 additions and 8 deletions

View file

@ -78,7 +78,10 @@ class NodeEventSubscriber extends EntityManagerEventSubscriber
$generatedUrl = '/'.implode('/', $path);
}
$generatedUrl = rtrim($generatedUrl, '/');
if ($generatedUrl !== '/') {
$generatedUrl = rtrim($generatedUrl, '/');
}
$parameters = $node->getParameters();
foreach ($parameters as $key => $parameter) {
@ -95,6 +98,15 @@ class NodeEventSubscriber extends EntityManagerEventSubscriber
$node->setParameters($parameters);
$attributes = $node->getAttributes();
$realAttributes = [];
foreach ($attributes as $key => $attribute) {
$realAttributes[$attribute['label']] = $attribute;
}
$node->setAttributes($realAttributes);
$urlExists = $this->nodeRepository->urlExists($generatedUrl, $node);
if ($urlExists) {

View file

@ -44,6 +44,7 @@ class NodeParameterType extends AbstractType
TextType::class,
[
'label' => 'Éxigence',
'help' => 'Expression régulière',
'required' => false,
'attr' => [
],

View file

@ -52,7 +52,10 @@ class SiteRouteLoader extends Loader
foreach ($node->getParameters() as $parameter) {
$name = $parameter['name'];
$requirements[$name] = $parameter['requirement'];
if (!empty($parameter['requirement'])) {
$requirements[$name] = $parameter['requirement'];
};
$defaults[$name] = $parameter['defaultValue'];
}

View file

@ -112,13 +112,25 @@
<div class="d block" style="padding-left: {{ (node.treeLevel - 1) * 30 }}px">
{{ node.label }}
{% if node.url %}
<span class="ml-3">
<span class="btn btn-sm border border-secondary btn-light">
{{ node.url }}
<span class="ml-3 btn-group">
{% if node.url %}
{% if node.parameters|length %}
<span class="btn btn-sm border border-secondary btn-light">
{{ node.url }}
</span>
{% else %}
<a href="{{ url(node.routeName) }}" target="_blank" class="btn btn-sm border border-secondary btn-light">
{{ node.url }}
</a>
{% endif %}
{% endif %}
{% if node.controller %}
<span title="{{ node.controller }}" data-toggle="tooltip" data-placement="top" class="btn btn-sm border border-secondary btn-light">
<span class="fa fa-dice-d6"></span>
</span>
</span>
{% endif %}
{% endif %}
</span>
</div>
<form method="post" action="{{ path('admin_site_node_toggle_visibility', {entity: node.id}) }}" id="form-node-visibility-{{ node.id }}">