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 = '/'.implode('/', $path);
} }
$generatedUrl = rtrim($generatedUrl, '/'); if ($generatedUrl !== '/') {
$generatedUrl = rtrim($generatedUrl, '/');
}
$parameters = $node->getParameters(); $parameters = $node->getParameters();
foreach ($parameters as $key => $parameter) { foreach ($parameters as $key => $parameter) {
@ -95,6 +98,15 @@ class NodeEventSubscriber extends EntityManagerEventSubscriber
$node->setParameters($parameters); $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); $urlExists = $this->nodeRepository->urlExists($generatedUrl, $node);
if ($urlExists) { if ($urlExists) {

View file

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

View file

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

View file

@ -112,13 +112,25 @@
<div class="d block" style="padding-left: {{ (node.treeLevel - 1) * 30 }}px"> <div class="d block" style="padding-left: {{ (node.treeLevel - 1) * 30 }}px">
{{ node.label }} {{ node.label }}
{% if node.url %} <span class="ml-3 btn-group">
<span class="ml-3"> {% if node.url %}
<span class="btn btn-sm border border-secondary btn-light"> {% if node.parameters|length %}
{{ node.url }} <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>
</span> {% endif %}
{% endif %} </span>
</div> </div>
<form method="post" action="{{ path('admin_site_node_toggle_visibility', {entity: node.id}) }}" id="form-node-visibility-{{ node.id }}"> <form method="post" action="{{ path('admin_site_node_toggle_visibility', {entity: node.id}) }}" id="form-node-visibility-{{ node.id }}">