mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-11-04 03:08:25 +00:00 
			
		
		
		
	add composition type to admin menu
This commit is contained in:
		@@ -0,0 +1,26 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Chill is a software for social workers
 | 
			
		||||
 *
 | 
			
		||||
 * For the full copyright and license information, please view
 | 
			
		||||
 * the LICENSE file that was distributed with this source code.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Chill\PersonBundle\Controller;
 | 
			
		||||
 | 
			
		||||
use Chill\MainBundle\CRUD\Controller\CRUDController;
 | 
			
		||||
use Chill\MainBundle\Pagination\PaginatorInterface;
 | 
			
		||||
use Symfony\Component\HttpFoundation\Request;
 | 
			
		||||
 | 
			
		||||
class HouseholdCompositionTypeController extends CRUDController
 | 
			
		||||
{
 | 
			
		||||
    protected function orderQuery(string $action, $query, Request $request, PaginatorInterface $paginator)
 | 
			
		||||
    {
 | 
			
		||||
        $query->addOrderBy('e.id', 'ASC');
 | 
			
		||||
 | 
			
		||||
        return parent::orderQuery($action, $query, $request, $paginator);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -227,6 +227,27 @@ class ChillPersonExtension extends Extension implements PrependExtensionInterfac
 | 
			
		||||
                        ],
 | 
			
		||||
                    ],
 | 
			
		||||
                ],
 | 
			
		||||
                [
 | 
			
		||||
                    'class' => \Chill\PersonBundle\Entity\Household\HouseholdCompositionType::class,
 | 
			
		||||
                    'name' => 'person_household_composition_type',
 | 
			
		||||
                    'base_path' => '/admin/person/household/composition-type',
 | 
			
		||||
                    'form_class' => \Chill\PersonBundle\Form\HouseholdCompositionTypeType::class,
 | 
			
		||||
                    'controller' => \Chill\PersonBundle\Controller\HouseholdCompositionTypeController::class,
 | 
			
		||||
                    'actions' => [
 | 
			
		||||
                        'index' => [
 | 
			
		||||
                            'role' => 'ROLE_ADMIN',
 | 
			
		||||
                            'template' => '@ChillPerson/HouseholdCompositionType/index.html.twig',
 | 
			
		||||
                        ],
 | 
			
		||||
                        'new' => [
 | 
			
		||||
                            'role' => 'ROLE_ADMIN',
 | 
			
		||||
                            'template' => '@ChillPerson/HouseholdCompositionType/new.html.twig',
 | 
			
		||||
                        ],
 | 
			
		||||
                        'edit' => [
 | 
			
		||||
                            'role' => 'ROLE_ADMIN',
 | 
			
		||||
                            'template' => '@ChillPerson/HouseholdCompositionType/edit.html.twig',
 | 
			
		||||
                        ],
 | 
			
		||||
                    ],
 | 
			
		||||
                ],
 | 
			
		||||
                [
 | 
			
		||||
                    'class' => \Chill\PersonBundle\Entity\Relationships\Relation::class,
 | 
			
		||||
                    'name' => 'person_relation',
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,39 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Chill is a software for social workers
 | 
			
		||||
 *
 | 
			
		||||
 * For the full copyright and license information, please view
 | 
			
		||||
 * the LICENSE file that was distributed with this source code.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Chill\PersonBundle\Form;
 | 
			
		||||
 | 
			
		||||
use Chill\MainBundle\Form\Type\TranslatableStringFormType;
 | 
			
		||||
use Chill\PersonBundle\Entity\Household\HouseholdCompositionType;
 | 
			
		||||
use Symfony\Component\Form\AbstractType;
 | 
			
		||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
 | 
			
		||||
use Symfony\Component\Form\Extension\Core\Type\NumberType;
 | 
			
		||||
use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
use Symfony\Component\OptionsResolver\OptionsResolver;
 | 
			
		||||
 | 
			
		||||
class HouseholdCompositionTypeType extends AbstractType
 | 
			
		||||
{
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder, array $options)
 | 
			
		||||
    {
 | 
			
		||||
        $builder
 | 
			
		||||
            ->add('label', TranslatableStringFormType::class)
 | 
			
		||||
            ->add('active', CheckboxType::class, [
 | 
			
		||||
                'label' => 'Actif?',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
            ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function configureOptions(OptionsResolver $resolver)
 | 
			
		||||
    {
 | 
			
		||||
        $resolver
 | 
			
		||||
            ->setDefault('class', HouseholdCompositionType::class);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -46,9 +46,13 @@ class AdminHouseholdMenuBuilder implements LocalMenuBuilderInterface
 | 
			
		||||
            'route' => 'chill_crud_person_household_position_index',
 | 
			
		||||
        ])->setExtras(['order' => 2110]);
 | 
			
		||||
 | 
			
		||||
        $menu->addChild('Composition', [
 | 
			
		||||
            'route' => 'chill_crud_person_household_composition_type_index',
 | 
			
		||||
        ])->setExtras(['order' => 2120]);
 | 
			
		||||
 | 
			
		||||
        $menu->addChild('person_admin.relation', [
 | 
			
		||||
            'route' => 'chill_crud_person_relation_index',
 | 
			
		||||
        ])->setExtras(['order' => 2120]);
 | 
			
		||||
        ])->setExtras(['order' => 2130]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static function getMenuIds(): array
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,11 @@
 | 
			
		||||
{% extends '@ChillMain/CRUD/Admin/index.html.twig' %}
 | 
			
		||||
 | 
			
		||||
{% block title %}
 | 
			
		||||
    {% include('@ChillMain/CRUD/_edit_title.html.twig') %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block admin_content %}
 | 
			
		||||
    {% embed '@ChillMain/CRUD/_edit_content.html.twig' %}
 | 
			
		||||
        {% block content_form_actions_save_and_show %}{% endblock %}
 | 
			
		||||
    {% endembed %}
 | 
			
		||||
{% endblock admin_content %}
 | 
			
		||||
@@ -0,0 +1,41 @@
 | 
			
		||||
{% extends '@ChillMain/CRUD/Admin/index.html.twig' %}
 | 
			
		||||
 | 
			
		||||
{% block admin_content %}
 | 
			
		||||
    {% embed '@ChillMain/CRUD/_index.html.twig' %}
 | 
			
		||||
        {% block table_entities_thead_tr %}
 | 
			
		||||
            <th>{{ 'Id'|trans }}</th>
 | 
			
		||||
            <th>{{ 'Label'|trans }}</th>
 | 
			
		||||
            <th>{{ 'Active'|trans }}</th>
 | 
			
		||||
            <th> </th>
 | 
			
		||||
        {% endblock %}
 | 
			
		||||
 | 
			
		||||
        {% block table_entities_tbody %}
 | 
			
		||||
            {% for entity in entities %}
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <td>{{ entity.id }}</td>
 | 
			
		||||
                    <td>{{ entity.label|localize_translatable_string }}</td>
 | 
			
		||||
                    <td style="text-align:center;">
 | 
			
		||||
						{%- if entity.isActive -%}
 | 
			
		||||
							<i class="fa fa-check-square-o"></i>
 | 
			
		||||
						{%- else -%}
 | 
			
		||||
							<i class="fa fa-square-o"></i>
 | 
			
		||||
						{%- endif -%}
 | 
			
		||||
					</td>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        <ul class="record_actions">
 | 
			
		||||
                            <li>
 | 
			
		||||
                                <a href="{{ chill_path_add_return_path('chill_crud_person_household_position_edit', { 'id': entity.id }) }}" class="btn btn-edit"></a>
 | 
			
		||||
                            </li>
 | 
			
		||||
                        </ul>
 | 
			
		||||
                    </td>
 | 
			
		||||
                </tr>
 | 
			
		||||
             {% endfor %}
 | 
			
		||||
        {% endblock %}
 | 
			
		||||
 | 
			
		||||
        {% block actions_before %}
 | 
			
		||||
            <li class='cancel'>
 | 
			
		||||
                <a href="{{ path('chill_main_admin_central') }}" class="btn btn-cancel">{{'Back to the admin'|trans}}</a>
 | 
			
		||||
            </li>
 | 
			
		||||
        {% endblock %}
 | 
			
		||||
    {% endembed %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
@@ -0,0 +1,12 @@
 | 
			
		||||
{% extends '@ChillMain/CRUD/Admin/index.html.twig' %}
 | 
			
		||||
 | 
			
		||||
{% block title %}
 | 
			
		||||
    {% include('@ChillMain/CRUD/_new_title.html.twig') %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block admin_content %}
 | 
			
		||||
    {% embed '@ChillMain/CRUD/_new_content.html.twig' %}
 | 
			
		||||
        {% block content_form_actions_save_and_show %}{% endblock %}
 | 
			
		||||
    {% endembed %}
 | 
			
		||||
{% endblock admin_content %}
 | 
			
		||||
 | 
			
		||||
@@ -409,6 +409,12 @@ crud:
 | 
			
		||||
            add_new: Ajouter un nouveau
 | 
			
		||||
        title_new: Nouvelle position
 | 
			
		||||
        title_edit: Modifier la position
 | 
			
		||||
    person_household_composition_type:
 | 
			
		||||
        index:
 | 
			
		||||
            title: Composition
 | 
			
		||||
            add_new: Ajouter un nouveau
 | 
			
		||||
        title_new: Nouvelle composition
 | 
			
		||||
        title_edit: Modifier la composition
 | 
			
		||||
    person_relation:
 | 
			
		||||
        index:
 | 
			
		||||
            title: Relations de filiations
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user