Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/mautic.corals.io/plugins/MauticCrmBundle/Form/Type/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/mautic.corals.io/plugins/MauticCrmBundle/Form/Type/IntegrationCampaignsTaskType.php
<?php

namespace MauticPlugin\MauticCrmBundle\Form\Type;

use MauticPlugin\MauticCrmBundle\Integration\ConnectwiseIntegration;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Validator\Constraints\Callback;
use Symfony\Component\Validator\Context\ExecutionContextInterface;

/**
 * @extends AbstractType<array<mixed>>
 */
class IntegrationCampaignsTaskType extends AbstractType
{
    public function __construct(
        private ConnectwiseIntegration $connectwiseIntegration
    ) {
    }

    public function buildForm(FormBuilderInterface $builder, array $options): void
    {
        $builder->add(
            'activity_name',
            TextType::class,
            [
                'label'       => 'mautic.connectwise.activity.name',
                'label_attr'  => ['class' => 'control-label'],
                'attr'        => ['class' => 'form-control'],
                'constraints' => [
                    new Callback(
                        function ($validateMe, ExecutionContextInterface $context): void {
                            $data = $context->getRoot()->getData();
                            if (!empty($data['properties']['config']['push_activities']) && empty($validateMe)) {
                                $context->buildViolation('mautic.core.value.required')->addViolation();
                            }
                        }
                    ),
                ],
            ]
        );

        $builder->add(
            'campaign_activity_type',
            ChoiceType::class,
            [
                'choices'           => array_flip($this->connectwiseIntegration->getActivityTypes()), // Choice type expects labels as keys
                'attr'              => ['class' => 'form-control'],
                'label'             => 'mautic.plugin.integration.campaigns.connectwise.activity.type',
                'required'          => false,
            ]
        );

        $builder->add(
            'campaign_members',
            ChoiceType::class,
            [
                'choices'           => array_flip($this->connectwiseIntegration->getMembers()),  // Choice type expects labels as keys
                'attr'              => ['class' => 'form-control'],
                'label'             => 'mautic.plugin.integration.campaigns.connectwise.members',
                'constraints'       => [
                    new Callback(
                        function ($validateMe, ExecutionContextInterface $context): void {
                            $data = $context->getRoot()->getData();
                            if (!empty($data['properties']['config']['push_activities']) && empty($validateMe)) {
                                $context->buildViolation('mautic.core.value.required')->addViolation();
                            }
                        }
                    ),
                ],
            ]
        );
    }

    public function getBlockPrefix()
    {
        return 'integration_campaign_task';
    }
}

Spamworldpro Mini