mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
fix creation of document when overriding center resolver
This commit is contained in:
parent
86bf0115dd
commit
6171b3411f
@ -98,7 +98,6 @@ class DocumentPersonController extends AbstractController
|
|||||||
PersonDocumentType::class,
|
PersonDocumentType::class,
|
||||||
$document,
|
$document,
|
||||||
[
|
[
|
||||||
'center' => $document->getCenter(),
|
|
||||||
'role' => 'CHILL_PERSON_DOCUMENT_UPDATE',
|
'role' => 'CHILL_PERSON_DOCUMENT_UPDATE',
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
@ -199,7 +198,6 @@ class DocumentPersonController extends AbstractController
|
|||||||
$document->setDate(new DateTime('Now'));
|
$document->setDate(new DateTime('Now'));
|
||||||
|
|
||||||
$form = $this->createForm(PersonDocumentType::class, $document, [
|
$form = $this->createForm(PersonDocumentType::class, $document, [
|
||||||
'center' => $document->getCenter(),
|
|
||||||
'role' => 'CHILL_PERSON_DOCUMENT_CREATE',
|
'role' => 'CHILL_PERSON_DOCUMENT_CREATE',
|
||||||
]);
|
]);
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
@ -13,15 +13,13 @@ namespace Chill\DocStoreBundle\Form;
|
|||||||
|
|
||||||
use Chill\DocStoreBundle\Entity\Document;
|
use Chill\DocStoreBundle\Entity\Document;
|
||||||
use Chill\DocStoreBundle\Entity\PersonDocument;
|
use Chill\DocStoreBundle\Entity\PersonDocument;
|
||||||
use Chill\MainBundle\Entity\User;
|
|
||||||
use Chill\MainBundle\Form\Type\ChillDateType;
|
use Chill\MainBundle\Form\Type\ChillDateType;
|
||||||
use Chill\MainBundle\Form\Type\ChillTextareaType;
|
use Chill\MainBundle\Form\Type\ChillTextareaType;
|
||||||
use Chill\MainBundle\Form\Type\ScopePickerType;
|
use Chill\MainBundle\Form\Type\ScopePickerType;
|
||||||
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
use Chill\MainBundle\Security\Resolver\CenterResolverDispatcher;
|
||||||
use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher;
|
use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher;
|
||||||
use Chill\MainBundle\Templating\TranslatableStringHelper;
|
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
|
||||||
use Doctrine\ORM\EntityRepository;
|
use Doctrine\ORM\EntityRepository;
|
||||||
use Doctrine\Persistence\ObjectManager;
|
|
||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
@ -31,34 +29,16 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
|||||||
|
|
||||||
class PersonDocumentType extends AbstractType
|
class PersonDocumentType extends AbstractType
|
||||||
{
|
{
|
||||||
/**
|
private CenterResolverDispatcher $centerResolverDispatcher;
|
||||||
* @var AuthorizationHelper
|
|
||||||
*/
|
|
||||||
protected $authorizationHelper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var ObjectManager
|
|
||||||
*/
|
|
||||||
protected $om;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var TranslatableStringHelper
|
|
||||||
*/
|
|
||||||
protected $translatableStringHelper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* the user running this form.
|
|
||||||
*
|
|
||||||
* @var User
|
|
||||||
*/
|
|
||||||
protected $user;
|
|
||||||
|
|
||||||
private ParameterBagInterface $parameterBag;
|
private ParameterBagInterface $parameterBag;
|
||||||
|
|
||||||
private ScopeResolverDispatcher $scopeResolverDispatcher;
|
private ScopeResolverDispatcher $scopeResolverDispatcher;
|
||||||
|
|
||||||
|
private TranslatableStringHelperInterface $translatableStringHelper;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
TranslatableStringHelper $translatableStringHelper,
|
TranslatableStringHelperInterface $translatableStringHelper,
|
||||||
ScopeResolverDispatcher $scopeResolverDispatcher,
|
ScopeResolverDispatcher $scopeResolverDispatcher,
|
||||||
ParameterBagInterface $parameterBag
|
ParameterBagInterface $parameterBag
|
||||||
) {
|
) {
|
||||||
@ -96,7 +76,7 @@ class PersonDocumentType extends AbstractType
|
|||||||
|
|
||||||
if ($isScopeConcerned && $this->parameterBag->get('chill_main')['acl']['form_show_scopes']) {
|
if ($isScopeConcerned && $this->parameterBag->get('chill_main')['acl']['form_show_scopes']) {
|
||||||
$builder->add('scope', ScopePickerType::class, [
|
$builder->add('scope', ScopePickerType::class, [
|
||||||
'center' => $options['center'],
|
'center' => $this->centerResolverDispatcher->resolveCenter($document),
|
||||||
'role' => $options['role'],
|
'role' => $options['role'],
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -108,8 +88,7 @@ class PersonDocumentType extends AbstractType
|
|||||||
'data_class' => Document::class,
|
'data_class' => Document::class,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$resolver->setRequired(['role', 'center'])
|
$resolver->setRequired(['role'])
|
||||||
->setAllowedTypes('role', ['string'])
|
->setAllowedTypes('role', ['string']);
|
||||||
->setAllowedTypes('center', [\Chill\MainBundle\Entity\Center::class]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user