<?php
declare(strict_types=1);
/**
* @author Mehrez Labidi
*/
namespace App\Form\Type\ProfilRepreneur;
use App\Form\Type\ProfilRepreneur\ProfilRepreneurType;
use Symfony\Component\Form\Extension\Core\Type\{
ChoiceType,
DateType,
TextType,
HiddenType,
TextareaType,
SubmitType
};
use Symfony\Component\Form\FormBuilderInterface;
use App\Form\Type\FormChoices;
class CiblesRechercheesType extends ProfilRepreneurType { // form3_cibles_recherchees.html
public function buildForm(FormBuilderInterface $builder, array $options): void {
parent::buildForm($builder, $options);
// Section: Votre projet en quelques mots
$builder
->add('idee', ChoiceType::class, [
'label' => 'Avez-vous déjà une idée claire de l\'entreprise que vous recherchez ?',
'choices' => [
'Non' => 'non',
'Oui' => 'oui',
],
'expanded' => true,
'multiple' => false,
'required' => true,
'attr' => [
'id' => 'idee'
]
])
->add('titre', TextType::class, [
'label' => 'Si vous deviez donner un titre à l\'activité ciblée, lequel serait-il ?',
'required' => false,
'attr' => [
'class' => 'form-control',
'maxlength' => self::MAXLENGTH_MEDIUM,
'id' => 'titre'
],
])
->add('description_entreprise', TextareaType::class, [
'label' => 'Comment décririez-vous plus précisément l\'entreprise que vous souhaitez reprendre ?',
'required' => false,
'attr' => [
'class' => 'form-control',
'rows' => self::ROWS_SMALL,
'maxlength' => self::MAXLENGTH_SHORT,
'id' => 'description_entreprise',
'onfocus' => 'this.rows = 10',
'onblur' => 'this.rows = 3'
],
])
->add('cibles', ChoiceType::class, [
'label' => 'Avez-vous déjà identifié des cibles potentielles ?',
'choices' => [
'Non' => 'non',
'Oui' => 'oui',
],
'expanded' => true,
'multiple' => false,
'required' => true,
'attr' => [
'id' => 'cibles'
]
])
->add('precisions_cibles', TextareaType::class, [
'label' => 'Si oui, pouvez-vous nous en dire plus ?',
'required' => false,
'attr' => [
'class' => 'form-control',
'rows' => self::ROWS_SMALL,
'maxlength' => self::MAXLENGTH_SHORT,
'id' => 'precisions_cibles',
'onfocus' => 'this.rows = 10',
'onblur' => 'this.rows = 3'
],
])
// Section: Secteurs d'activité & environnement métier
->add('secteurs_activite_recherchees', HiddenType::class, [
'attr' => [
'id' => 'secteurs_activite_recherchees',
]
])
->add('precisions_secteurs_activite', TextareaType::class, [
'label' => 'Précisez',
'required' => false,
'attr' => [
'class' => 'form-control',
'rows' => self::ROWS_SMALL,
'maxlength' => self::MAXLENGTH_SHORT,
'id' => 'precisions_secteurs_activite',
'onfocus' => 'this.rows = 10',
'onblur' => 'this.rows = 3'
],
])
->add('exclusion_secteurs', HiddenType::class, [
'attr' => [
'id' => 'exclusion_secteurs'
]
])
->add('precisions_exclusion_secteurs', TextareaType::class, [
'label' => 'Précisez',
'required' => false,
'attr' => [
'class' => 'form-control',
'rows' => self::ROWS_SMALL,
'maxlength' => self::MAXLENGTH_SHORT,
'id' => 'precisions_raison',
'onfocus' => 'this.rows = 10',
'onblur' => 'this.rows = 3'
],
])
->add('ouvert', ChoiceType::class, [
'label' => 'Êtes-vous ouvert à explorer un secteur que vous ne maîtrisez pas encore ?',
'choices' => [
'Non, je préfère rester sur des secteurs connus' => 'non',
'Oui, je suis curieux et adaptable' => 'oui',
],
'expanded' => true,
'multiple' => false,
'required' => true,
'attr' => [
'id' => 'ouvert'
]
])
// Section: Modèle économique et nature d'activité
->add('preference_clientele', ChoiceType::class, [
'label' => 'Préférence de clientèle',
'choices' => [
'B2B' => 'b2b',
'B2C' => 'b2c',
'Peu importe' => 'peu_importe',
],
'expanded' => true,
'multiple' => false,
'required' => true,
'attr' => [
'id' => 'preference_clientele'
]
])
->add('technicite', ChoiceType::class, [
'label' => 'Quel niveau de technicité souhaitez-vous dans l\'activité à reprendre ?',
'choices' => [
'Faible (commerce, services courants)' => 'faible',
'Modéré (services techniques, fabrication standard)' => 'modere',
'Elevé (ingénierie, produits complexes, expertise poussée)' => 'eleve',
],
'expanded' => true,
'multiple' => false,
'required' => true,
'attr' => [
'id' => 'technicite'
]
])
->add('type_revenus', ChoiceType::class, [
'label' => 'Avez-vous une préférence sur le type de revenus ?',
'choices' => [
'Récurrents (abonnements, contrats de maintenance…)' => 'recurrents',
'Ponctuels (ventes unitaires, projets…)' => 'ponctuels',
'Peu importe, cela dépend du projet' => 'peu_importe',
],
'expanded' => true,
'multiple' => false,
'required' => true,
'attr' => [
'id' => 'type_revenus'
]
])
->add('profil_entreprise', ChoiceType::class, [
'label' => 'Quel profil d\'entreprise vous attire le plus ?',
'choices' => [
'Une entreprise déjà structurée, avec une équipe en place à piloter' => 'structuree',
'Une entreprise plus modeste, à structurer et faire croître progressivement' => 'modeste',
'Peu importe, selon le projet' => 'peu_importe',
],
'expanded' => true,
'multiple' => false,
'required' => true,
'attr' => [
'id' => 'profil_entreprise'
]
])
->add('precisions_taille_entreprise', TextareaType::class, [
'label' => 'Précisez',
'required' => false,
'attr' => [
'class' => 'form-control',
'rows' => self::ROWS_SMALL,
'maxlength' => self::MAXLENGTH_SHORT,
'id' => 'precisions_taille_entreprise',
'onfocus' => 'this.rows = 10',
'onblur' => 'this.rows = 3'
],
])
// Section: Zone géographique
->add('localisations_recherchees', HiddenType::class, [
'attr' => [
'id' => 'localisations_recherchees',
]
])
->add('precisions_localisations_recherchees', TextareaType::class, [
'label' => 'Précisez',
'required' => false,
'attr' => [
'class' => 'form-control',
'rows' => self::ROWS_SMALL,
'maxlength' => self::MAXLENGTH_SHORT,
'id' => 'precisions_localisations_recherchees',
'onfocus' => 'this.rows = 10',
'onblur' => 'this.rows = 3'
],
])
->add('exclusion_localisation', HiddenType::class, [
'attr' => [
'id' => 'exclusion_localisation'
]
])
->add('precisions_exclusion_localisation', TextareaType::class, [
'label' => 'Précisez',
'required' => false,
'attr' => [
'class' => 'form-control',
'rows' => self::ROWS_SMALL,
'maxlength' => self::MAXLENGTH_SHORT,
'id' => 'precisions_exclusion_localisation',
'onfocus' => 'this.rows = 10',
'onblur' => 'this.rows = 3'
],
])
->add('international', ChoiceType::class, [
'label' => 'Seriez-vous prêt à étudier une opportunité à l\'international ?',
'choices' => [
'Non' => 'non',
'Oui' => 'oui',
],
'expanded' => true,
'multiple' => false,
'required' => true,
'attr' => [
'id' => 'international'
]
])
->add('precisions_international', TextareaType::class, [
'label' => 'Précisez',
'required' => false,
'attr' => [
'class' => 'form-control',
'rows' => self::ROWS_SMALL,
'maxlength' => self::MAXLENGTH_SHORT,
'id' => 'precisions_international',
'onfocus' => 'this.rows = 10',
'onblur' => 'this.rows = 3'
],
]);
// extra field // secteurs_activite , HiddenType::class
$builder->add('id_secteur_activite1', ChoiceType::class, [
"label" => "Secteur prédefini",
'required' => false,
"choices" => FormChoices::selectionnerChoisir() + self::listIdSecteurs(),
"attr" => [
"autocomplete" => "off",
'id' => 'id_secteur_activite1',
"class" => "form-control"
]
]);
$builder->add('id_secteur_activite2', ChoiceType::class, [
'required' => false,
"choices" => FormChoices::selectionnerChoisir(),
"attr" => [
"autocomplete" => "off",
'id' => 'id_secteur_activite2',
"class" => "form-control"
]
]);
$builder->add('id_secteur_activite3', ChoiceType::class, [
'required' => false,
"choices" => FormChoices::selectionnerChoisir(),
"attr" => [
"autocomplete" => "off",
'id' => 'id_secteur_activite3',
"class" => "form-control"
]
]);
$builder->add('exclusion_id_secteur_activite1', ChoiceType::class, [
"label" => "Secteur prédefini",
'required' => false,
"choices" => FormChoices::selectionnerChoisir() + self::listIdSecteurs(),
"attr" => [
"autocomplete" => "off",
'id' => 'exclusion_id_secteur_activite1',
"class" => "form-control"
]
]);
$builder->add('exclusion_id_secteur_activite2', ChoiceType::class, [
'required' => false,
"choices" => FormChoices::selectionnerChoisir(),
"attr" => [
"autocomplete" => "off",
'id' => 'exclusion_id_secteur_activite2',
"class" => "form-control"
]
]);
$builder->add('exclusion_id_secteur_activite3', ChoiceType::class, [
'required' => false,
"choices" => FormChoices::selectionnerChoisir(),
"attr" => [
"autocomplete" => "off",
'id' => 'exclusion_id_secteur_activite3',
"class" => "form-control"
]
]);
// extra field // ->add('zones', HiddenType::class
$builder->add('id_pays', ChoiceType::class, [
"label" => "Pays",
"required" => false,
"choices" => FormChoices::selectionnerChoisir() + self::listIdPays(),
"attr" => [
'id' => 'id_pays',
"class" => "form-control"
]
]);
$builder->add('id_region', ChoiceType::class, [
"required" => false,
"choices" => FormChoices::selectionnerChoisir(),
"attr" => [
'id' => 'id_region',
"class" => "form-control"
],
]);
$builder->add('id_departement', ChoiceType::class, [
"required" => false,
"choices" => FormChoices::selectionnerChoisir(),
"attr" => [
'id' => 'id_departement',
"class" => "form-control"
],
]);
$builder->add('exclusion_id_pays', ChoiceType::class, [
"label" => "Pays",
"required" => false,
"choices" => FormChoices::selectionnerChoisir() + self::listIdPays(),
"attr" => [
'id' => 'exclusion_id_pays',
"class" => "form-control"
]
]);
$builder->add('exclusion_id_region', ChoiceType::class, [
"required" => false,
"choices" => FormChoices::selectionnerChoisir(),
"attr" => [
'id' => 'exclusion_id_region',
"class" => "form-control"
],
]);
$builder->add('exclusion_id_departement', ChoiceType::class, [
"required" => false,
"choices" => FormChoices::selectionnerChoisir(),
"attr" => [
'id' => 'exclusion_id_departement',
"class" => "form-control"
],
]);
// taille_entreprise
/* * *************************************************************** Situation financière *************************************************** */
$builder->add('prix_cession_min', HiddenType::class, [
"attr" => [
"autocomplete" => "off",
"class" => "form-control",
"id" => "prix_cession_min"
]
]);
$builder->add('prix_cession_max', HiddenType::class, [
"attr" => ["autocomplete" => "off",
"class" => "form-control",
"id" => "prix_cession_max"
]
]);
$builder->add('ca_min', HiddenType::class, [
"attr" => [
"autocomplete" => "off",
"class" => "form-control",
"id" => "ca_min"
]
]);
$builder->add('ca_max', HiddenType::class, [
"attr" => [
"autocomplete" => "off",
"class" => "form-control",
"id" => "ca_max"
]
]);
$builder->add('nb_personnes_min', HiddenType::class, [
"attr" => [
"autocomplete" => "off",
"class" => "form-control",
"id" => "nb_personnes_min"
]
]);
$builder->add('nb_personnes_max', HiddenType::class, [
"attr" => [
"autocomplete" => "off",
"class" => "form-control",
"id" => "nb_personnes_max"
]
]);
/* * *************************************************************** Situation financière *************************************************** */
// prix_cession
// ca
// nb_personnes
}
}