saved export: add form to share the export

This commit is contained in:
2025-04-14 10:59:09 +02:00
parent 2842548c17
commit 9f12b42961
5 changed files with 56 additions and 3 deletions

View File

@@ -13,15 +13,22 @@ namespace Chill\MainBundle\Form;
use Chill\MainBundle\Entity\SavedExport;
use Chill\MainBundle\Form\Type\ChillTextareaType;
use Chill\MainBundle\Form\Type\PickUserGroupOrUserDynamicType;
use Chill\MainBundle\Security\Authorization\SavedExportVoter;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Security\Core\Security;
class SavedExportType extends AbstractType
{
public function __construct(private Security $security) {}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$savedExport = $options['data'];
$builder
->add('title', TextType::class, [
'required' => true,
@@ -29,6 +36,14 @@ class SavedExportType extends AbstractType
->add('description', ChillTextareaType::class, [
'required' => false,
]);
if ($this->security->isGranted(SavedExportVoter::SHARE, $savedExport)) {
$builder->add('share', PickUserGroupOrUserDynamicType::class, [
'multiple' => true,
'required' => false,
'label' => 'saved_export.Share',
]);
}
}
public function configureOptions(OptionsResolver $resolver)