]> git.agnieray.net Git - galette.git/commitdiff
Prevent empty parent group dropdown; closes #1648
authorJohan Cwiklinski <johan@x-tnd.be>
Thu, 6 Jul 2023 04:50:54 +0000 (06:50 +0200)
committerJohan Cwiklinski <johan@x-tnd.be>
Thu, 6 Jul 2023 04:50:54 +0000 (06:50 +0200)
galette/lib/Galette/Controllers/Crud/GroupsController.php
galette/templates/default/elements/group.html.twig
galette/templates/default/pages/groups_list.html.twig

index 1f939247e3c3af37c53096678cafc3caebd8ae02..e89e280172625053203dc4ea9ad7120c2ea989ec 100644 (file)
@@ -183,6 +183,13 @@ class GroupsController extends CrudController
             }
         }
 
+        $parent_groups = [];
+        foreach ($groups_list as $parent_group) {
+            if ($group->canSetParentGroup($parent_group)) {
+                $parent_groups[] = $parent_group;
+            }
+        }
+
         //Active tab on page
         $tab = $request->getQueryParams['tab'] ?? 'group_information';
 
@@ -193,7 +200,7 @@ class GroupsController extends CrudController
             array(
                 'page_title'            => _T("Groups"),
                 'groups_root'           => $groups_root,
-                'groups'                => $groups_list,
+                'parent_groups'         => $parent_groups,
                 'group'                 => $group,
                 'tab'                   => $tab
             )
index ba117a0e2bf2945440453cc3e5722bdcc461c528..ca29d021cb405311acc84fa4c4a7fd6b6b53d734 100644 (file)
             {% endif %}
             <div class="inline field">
                     <label for="parent_group">{{ _T("Parent group:") }}</label>
-                {% if can_edit %}
+                {% if can_edit and parent_groups|length > 0 %}
                     <select name="parent_group" id="parent_group" class="ui search dropdown nochosen">
                         <option value="">{{ _T("None") }}</option>
-                        {% for g in groups %}
-                            {% if group.canSetParentGroup(g) %}
-                                <option value="{{ g.getId() }}"{% if pgroup is defined and pgroup.getId() == g.getId() %} selected="selected"{% endif %}>{{ g.getIndentName()|raw }}</option>
-                            {% endif %}
+                        {% for g in parent_groups %}
+                            <option value="{{ g.getId() }}"{% if pgroup is defined and pgroup.getId() == g.getId() %} selected="selected"{% endif %}>{{ g.getIndentName()|raw }}</option>
                         {% endfor %}
                     </select>
                 {% else %}
index cd22e91252f10e6ca6654f97d736d46703cec6ac..c32d115a8c4c2c26ed7a5797ec9fe9440a53868e 100644 (file)
@@ -52,7 +52,7 @@
         {% endif %}
             </div>
             <div class="thirteen wide column">
-                {% include "elements/group.html.twig" with {"group": group, "groups": groups} %}
+                {% include "elements/group.html.twig" with {"group": group, "parent_groups": parent_groups} %}
             </div>
         </div>
     {% else %}