mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2026-01-04 00:11:23 +00:00
Refactor SingleTaskType: replace UserPickerType with PickUserDynamicType and CenterResolverDispatcherInterface with CenterResolverManagerInterface.
This commit is contained in:
@@ -21,6 +21,7 @@ parameters:
|
||||
- src/Bundle/*/src/migrations/*
|
||||
- src/Bundle/*/src/translations/*
|
||||
- src/Bundle/*/src/Resources/*
|
||||
- utils/rector/src/Rector/*
|
||||
|
||||
symfony:
|
||||
containerXmlPath: var/cache/dev/App_KernelDevDebugContainer.xml
|
||||
|
||||
@@ -14,11 +14,10 @@ namespace Chill\TaskBundle\Form;
|
||||
use Chill\MainBundle\Form\Type\ChillDateType;
|
||||
use Chill\MainBundle\Form\Type\ChillTextareaType;
|
||||
use Chill\MainBundle\Form\Type\DateIntervalType;
|
||||
use Chill\MainBundle\Form\Type\PickUserDynamicType;
|
||||
use Chill\MainBundle\Form\Type\ScopePickerType;
|
||||
use Chill\MainBundle\Form\Type\UserPickerType;
|
||||
use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface;
|
||||
use Chill\MainBundle\Security\Resolver\CenterResolverManagerInterface;
|
||||
use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher;
|
||||
use Chill\TaskBundle\Security\Authorization\TaskVoter;
|
||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
@@ -27,15 +26,19 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
class SingleTaskType extends AbstractType
|
||||
{
|
||||
public function __construct(private readonly ParameterBagInterface $parameterBag, private readonly CenterResolverDispatcherInterface $centerResolverDispatcher, private readonly ScopeResolverDispatcher $scopeResolverDispatcher) {}
|
||||
public function __construct(
|
||||
private readonly ParameterBagInterface $parameterBag,
|
||||
private readonly CenterResolverManagerInterface $centerResolverManager,
|
||||
private readonly ScopeResolverDispatcher $scopeResolverDispatcher,
|
||||
) {}
|
||||
|
||||
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||
{
|
||||
$center = null;
|
||||
$isScopeConcerned = false;
|
||||
$centers = [];
|
||||
|
||||
if (null !== $task = $options['data']) {
|
||||
$center = $this->centerResolverDispatcher->resolveCenter($task);
|
||||
$centers = $this->centerResolverManager->resolveCenters($task);
|
||||
$isScopeConcerned = $this->scopeResolverDispatcher->isConcerned($task);
|
||||
}
|
||||
|
||||
@@ -44,12 +47,10 @@ class SingleTaskType extends AbstractType
|
||||
->add('description', ChillTextareaType::class, [
|
||||
'required' => false,
|
||||
])
|
||||
->add('assignee', UserPickerType::class, [
|
||||
->add('assignee', PickUserDynamicType::class, [
|
||||
'required' => false,
|
||||
'center' => $center,
|
||||
'role' => TaskVoter::SHOW,
|
||||
'placeholder' => 'Not assigned',
|
||||
'attr' => ['class' => ' select2 '],
|
||||
'suggest_myself' => true,
|
||||
'multiple' => false,
|
||||
])
|
||||
->add('startDate', ChillDateType::class, [
|
||||
'required' => false,
|
||||
@@ -64,7 +65,7 @@ class SingleTaskType extends AbstractType
|
||||
if ($isScopeConcerned && $this->parameterBag->get('chill_main')['acl']['form_show_scopes']) {
|
||||
$builder
|
||||
->add('circle', ScopePickerType::class, [
|
||||
'center' => $center,
|
||||
'center' => $centers,
|
||||
'role' => $options['role'],
|
||||
'required' => true,
|
||||
]);
|
||||
|
||||
@@ -23,6 +23,16 @@
|
||||
{{ 'Edit task'|trans }}
|
||||
{% endblock %}
|
||||
|
||||
{% block css %}
|
||||
{{ parent() }}
|
||||
{{ encore_entry_link_tags('mod_pickentity_type') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
{{ parent() }}
|
||||
{{ encore_entry_script_tags('mod_pickentity_type') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% include '@ChillTask/SingleTask/_edit.html.twig' %}
|
||||
|
||||
Reference in New Issue
Block a user