Forms
-
quote
-
customer
-
repair
-
status
-
issueDate
-
validUntil
-
notes
-
items
-
_token
-
quote
Form type:
"App\Form\QuoteType"
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | App\Entity\Quote {#780 -id: null -quoteNumber: "DEV-2025-0725" -customer: null -repair: null -status: "draft" -issueDate: DateTime @1765862696 {#778 date: 2025-12-16 05:24:56.731010 UTC (+00:00) } -validUntil: null -totalAmount: "0.00" -notes: null -items: Doctrine\Common\Collections\ArrayCollection {#801 …} -createdAt: DateTime @1765862696 {#810 date: 2025-12-16 05:24:56.731006 UTC (+00:00) } -updatedAt: DateTime @1765862696 {#808 date: 2025-12-16 05:24:56.731009 UTC (+00:00) } } |
| View Format | same as normalized format |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| data | App\Entity\Quote {#780 -id: null -quoteNumber: "DEV-2025-0725" -customer: null -repair: null -status: "draft" -issueDate: DateTime @1765862696 {#778 date: 2025-12-16 05:24:56.731010 UTC (+00:00) } -validUntil: null -totalAmount: "0.00" -notes: null -items: Doctrine\Common\Collections\ArrayCollection {#801 …} -createdAt: DateTime @1765862696 {#810 date: 2025-12-16 05:24:56.731006 UTC (+00:00) } -updatedAt: DateTime @1765862696 {#808 date: 2025-12-16 05:24:56.731009 UTC (+00:00) } } |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | true |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#573 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#205 …} -logger: Monolog\Logger {#106 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#733 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 1 -cookieName: "csrf-token" } |
| data | App\Entity\Quote {#780 -id: null -quoteNumber: "DEV-2025-0725" -customer: null -repair: null -status: "draft" -issueDate: DateTime @1765862696 {#778 date: 2025-12-16 05:24:56.731010 UTC (+00:00) } -validUntil: null -totalAmount: "0.00" -notes: null -items: Doctrine\Common\Collections\ArrayCollection {#801 …} -createdAt: DateTime @1765862696 {#810 date: 2025-12-16 05:24:56.731006 UTC (+00:00) } -updatedAt: DateTime @1765862696 {#808 date: 2025-12-16 05:24:56.731009 UTC (+00:00) } } |
| data_class | "App\Entity\Quote" |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#865 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $class: "App\Entity\Quote" } } |
| error_bubbling | true |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "This value is not valid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | null |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | true |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#863 class: "Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension" use: { $translator: Symfony\Component\Translation\DataCollectorTranslator {#98 …} $message: Closure() {#864 …} $translationDomain: "validators" } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "quote" "_quote" ] |
| cache_key | "_quote_quote" |
| compound | true |
| data | App\Entity\Quote {#780 -id: null -quoteNumber: "DEV-2025-0725" -customer: null -repair: null -status: "draft" -issueDate: DateTime @1765862696 {#778 date: 2025-12-16 05:24:56.731010 UTC (+00:00) } -validUntil: null -totalAmount: "0.00" -notes: null -items: Doctrine\Common\Collections\ArrayCollection {#801 …} -createdAt: DateTime @1765862696 {#810 date: 2025-12-16 05:24:56.731006 UTC (+00:00) } -updatedAt: DateTime @1765862696 {#808 date: 2025-12-16 05:24:56.731009 UTC (+00:00) } } |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#1360 -errors: [] -form: Symfony\Component\Form\Form {#1244 …} } |
| form | Symfony\Component\Form\FormView {#862 …5} |
| full_name | "quote" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "quote" |
| label | null |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "quote" |
| priority | 0 |
| required | true |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_quote" |
| valid | true |
| value | App\Entity\Quote {#780 -id: null -quoteNumber: "DEV-2025-0725" -customer: null -repair: null -status: "draft" -issueDate: DateTime @1765862696 {#778 date: 2025-12-16 05:24:56.731010 UTC (+00:00) } -validUntil: null -totalAmount: "0.00" -notes: null -items: Doctrine\Common\Collections\ArrayCollection {#801 …} -createdAt: DateTime @1765862696 {#810 date: 2025-12-16 05:24:56.731006 UTC (+00:00) } -updatedAt: DateTime @1765862696 {#808 date: 2025-12-16 05:24:56.731009 UTC (+00:00) } } |
customer
Form type:
"Symfony\Bridge\Doctrine\Form\Type\EntityType"
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-select" ] |
[ "class" => "form-select" ] |
| choice_label | Closure(Customer $customer) {#906 class: "App\Form\QuoteType" this: App\Form\QuoteType {#797 …} } |
same as passed value |
| class | "App\Entity\Customer" |
same as passed value |
| label | "Client" |
same as passed value |
| placeholder | "Sélectionnez un client" |
same as passed value |
| query_builder | Closure(EntityRepository $er) {#914 class: "App\Form\QuoteType" this: App\Form\QuoteType {#797 …} } |
Doctrine\ORM\QueryBuilder {#994 -dqlParts: [ "distinct" => false "select" => [ Doctrine\ORM\Query\Expr\Select {#996 #preSeparator: "" #separator: ", " #postSeparator: "" #allowedClasses: [ "Doctrine\ORM\Query\Expr\Func" ] #parts: [ "c" ] } ] "from" => [ Doctrine\ORM\Query\Expr\From {#990 #from: "App\Entity\Customer" #alias: "c" #indexBy: null } ] "join" => [] "set" => [] "where" => null "groupBy" => [] "having" => null "orderBy" => [ Doctrine\ORM\Query\Expr\OrderBy {#1001 #preSeparator: "" #separator: ", " #postSeparator: "" #allowedClasses: [] #parts: [ "c.lastName ASC" ] } ] ] -type: Doctrine\ORM\QueryType {#911 …} -dql: "SELECT c FROM App\Entity\Customer c ORDER BY c.lastName ASC" -parameters: Doctrine\Common\Collections\ArrayCollection {#995 …} -firstResult: 0 -maxResults: null -joinRootAliases: [] #cacheable: false #cacheRegion: null #cacheMode: null #lifetime: 0 -boundCounter: 0 -em: Container6xBjgVf\EntityManagerGhost614a58f {#250 …12} } |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| choice_attr | null |
| choice_filter | null |
| choice_label | Closure(Customer $customer) {#906 class: "App\Form\QuoteType" this: App\Form\QuoteType {#797 …} } |
| choice_lazy | false |
| choice_loader | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceLoader {#980 -option: Symfony\Bridge\Doctrine\Form\ChoiceList\DoctrineChoiceLoader {#998 …} } |
| choice_name | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceFieldName {#904 -option: Symfony\Bridge\Doctrine\Form\Type\DoctrineType::createChoiceName(object $choice, string|int $key, string $value): string {#989 …} } |
| choice_translation_domain | false |
| choice_translation_parameters | [] |
| choice_value | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceValue {#1017 -option: Symfony\Bridge\Doctrine\Form\ChoiceList\IdReader::getIdValue(?object $object = null): string {#901 …} } |
| choices | null |
| class | "App\Entity\Customer" |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#573 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#205 …} -logger: Monolog\Logger {#106 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#733 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 1 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| duplicate_preferred_choices | true |
| em | Container6xBjgVf\EntityManagerGhost614a58f {#250 …12} |
| empty_data | "" |
| error_bubbling | false |
| error_mapping | [] |
| expanded | false |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| group_by | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id_reader | Symfony\Bridge\Doctrine\Form\ChoiceList\IdReader {#1065 -singleId: true -intId: true -idField: "id" -associationIdReader: null -om: Container6xBjgVf\EntityManagerGhost614a58f {#250 …12} -classMetadata: Doctrine\ORM\Mapping\ClassMetadata {#899 …} } |
| inherit_data | false |
| invalid_message | "The selected choice is invalid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Client" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| multiple | false |
| placeholder | "Sélectionnez un client" |
| placeholder_attr | [] |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| preferred_choices | [] |
| priority | 0 |
| property_path | null |
| query_builder | Doctrine\ORM\QueryBuilder {#994 -dqlParts: [ "distinct" => false "select" => [ Doctrine\ORM\Query\Expr\Select {#996 #preSeparator: "" #separator: ", " #postSeparator: "" #allowedClasses: [ "Doctrine\ORM\Query\Expr\Func" ] #parts: [ "c" ] } ] "from" => [ Doctrine\ORM\Query\Expr\From {#990 #from: "App\Entity\Customer" #alias: "c" #indexBy: null } ] "join" => [] "set" => [] "where" => null "groupBy" => [] "having" => null "orderBy" => [ Doctrine\ORM\Query\Expr\OrderBy {#1001 #preSeparator: "" #separator: ", " #postSeparator: "" #allowedClasses: [] #parts: [ "c.lastName ASC" ] } ] ] -type: Doctrine\ORM\QueryType {#911 …} -dql: "SELECT c FROM App\Entity\Customer c ORDER BY c.lastName ASC" -parameters: Doctrine\Common\Collections\ArrayCollection {#995 …} -firstResult: 0 -maxResults: null -joinRootAliases: [] #cacheable: false #cacheRegion: null #cacheMode: null #lifetime: 0 -boundCounter: 0 -em: Container6xBjgVf\EntityManagerGhost614a58f {#250 …12} } |
| required | true |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| setter | null |
| translation_domain | null |
| trim | false |
| upload_max_size_message | Closure() {#879 class: "Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension" use: { $translator: Symfony\Component\Translation\DataCollectorTranslator {#98 …} $message: Closure() {#881 …} $translationDomain: "validators" } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "choice" "entity" "_quote_customer" ] |
| cache_key | "_quote_customer_entity" |
| choice_translation_domain | false |
| choice_translation_parameters | [] |
| choices | [ 5 => Symfony\Component\Form\ChoiceList\View\ChoiceView {#1395 +data: App\Entity\Customer {#1420 …} +value: "5" +label: "Zakaria Itehda (0645825757)" +attr: [] +labelTranslationParameters: [] } 4 => Symfony\Component\Form\ChoiceList\View\ChoiceView {#1413 +data: App\Entity\Customer {#1568 …} +value: "4" +label: "STE SARL (0613231095)" +attr: [] +labelTranslationParameters: [] } ] |
| compound | false |
| data | null |
| disabled | false |
| duplicate_preferred_choices | true |
| errors | Symfony\Component\Form\FormErrorIterator {#1396 -errors: [] -form: Symfony\Component\Form\Form {#1278 …} } |
| expanded | false |
| form | Symfony\Component\Form\FormView {#1398 …5} |
| full_name | "quote[customer]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "quote_customer" |
| is_selected | Closure($choice, $value) {#1231 class: "Symfony\Component\Form\Extension\Core\Type\ChoiceType" } |
| label | "Client" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| multiple | false |
| name | "customer" |
| placeholder | "Sélectionnez un client" |
| placeholder_attr | [] |
| placeholder_in_choices | false |
| preferred_choices | [] |
| priority | 0 |
| required | true |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_quote_customer" |
| valid | true |
| value | "" |
repair
Form type:
"Symfony\Bridge\Doctrine\Form\Type\EntityType"
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-select" ] |
[ "class" => "form-select" ] |
| choice_label | Closure(Repair $repair) {#912 class: "App\Form\QuoteType" this: App\Form\QuoteType {#797 …} } |
same as passed value |
| choices | [] |
same as passed value |
| class | "App\Entity\Repair" |
same as passed value |
| label | "Réparation associée" |
same as passed value |
| placeholder | "Aucune réparation (optionnel)" |
same as passed value |
| required | false |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| choice_attr | null |
| choice_filter | null |
| choice_label | Closure(Repair $repair) {#912 class: "App\Form\QuoteType" this: App\Form\QuoteType {#797 …} } |
| choice_lazy | false |
| choice_loader | null |
| choice_name | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceFieldName {#1016 -option: Symfony\Bridge\Doctrine\Form\Type\DoctrineType::createChoiceName(object $choice, string|int $key, string $value): string {#989 …} } |
| choice_translation_domain | false |
| choice_translation_parameters | [] |
| choice_value | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceValue {#1013 -option: Symfony\Bridge\Doctrine\Form\ChoiceList\IdReader::getIdValue(?object $object = null): string {#1014 …} } |
| choices | [] |
| class | "App\Entity\Repair" |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#573 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#205 …} -logger: Monolog\Logger {#106 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#733 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 1 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| duplicate_preferred_choices | true |
| em | Container6xBjgVf\EntityManagerGhost614a58f {#250 …12} |
| empty_data | "" |
| error_bubbling | false |
| error_mapping | [] |
| expanded | false |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| group_by | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id_reader | Symfony\Bridge\Doctrine\Form\ChoiceList\IdReader {#908 -singleId: true -intId: true -idField: "id" -associationIdReader: null -om: Container6xBjgVf\EntityManagerGhost614a58f {#250 …12} -classMetadata: Doctrine\ORM\Mapping\ClassMetadata {#985 …} } |
| inherit_data | false |
| invalid_message | "The selected choice is invalid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Réparation associée" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| multiple | false |
| placeholder | "Aucune réparation (optionnel)" |
| placeholder_attr | [] |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| preferred_choices | [] |
| priority | 0 |
| property_path | null |
| query_builder | null |
| required | false |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| setter | null |
| translation_domain | null |
| trim | false |
| upload_max_size_message | Closure() {#948 class: "Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension" use: { $translator: Symfony\Component\Translation\DataCollectorTranslator {#98 …} $message: Closure() {#898 …} $translationDomain: "validators" } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "choice" "entity" "_quote_repair" ] |
| cache_key | "_quote_repair_entity" |
| choice_translation_domain | false |
| choice_translation_parameters | [] |
| choices | [] |
| compound | false |
| data | null |
| disabled | false |
| duplicate_preferred_choices | true |
| errors | Symfony\Component\Form\FormErrorIterator {#1394 -errors: [] -form: Symfony\Component\Form\Form {#1328 …} } |
| expanded | false |
| form | Symfony\Component\Form\FormView {#1199 …5} |
| full_name | "quote[repair]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "quote_repair" |
| is_selected | Closure($choice, $value) {#1392 class: "Symfony\Component\Form\Extension\Core\Type\ChoiceType" } |
| label | "Réparation associée" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| multiple | false |
| name | "repair" |
| placeholder | "Aucune réparation (optionnel)" |
| placeholder_attr | [] |
| placeholder_in_choices | false |
| preferred_choices | [] |
| priority | 0 |
| required | false |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_quote_repair" |
| valid | true |
| value | "" |
status
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | "draft" |
| View Format | same as normalized format |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-select" ] |
[ "class" => "form-select" ] |
| choices | [ "Brouillon" => "draft" "Envoyé" => "sent" "Accepté" => "accepted" "Refusé" => "rejected" "Expiré" => "expired" ] |
[ "Brouillon" => "draft" "Envoyé" => "sent" "Accepté" => "accepted" "Refusé" => "rejected" "Expiré" => "expired" ] |
| label | "Statut" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| choice_attr | null |
| choice_filter | null |
| choice_label | null |
| choice_lazy | false |
| choice_loader | null |
| choice_name | null |
| choice_translation_domain | null |
| choice_translation_parameters | [] |
| choice_value | null |
| choices | [ "Brouillon" => "draft" "Envoyé" => "sent" "Accepté" => "accepted" "Refusé" => "rejected" "Expiré" => "expired" ] |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#573 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#205 …} -logger: Monolog\Logger {#106 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#733 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 1 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| duplicate_preferred_choices | true |
| empty_data | "" |
| error_bubbling | false |
| error_mapping | [] |
| expanded | false |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| group_by | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "The selected choice is invalid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Statut" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| multiple | false |
| placeholder | null |
| placeholder_attr | [] |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| preferred_choices | [] |
| priority | 0 |
| property_path | null |
| required | true |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| setter | null |
| translation_domain | null |
| trim | false |
| upload_max_size_message | Closure() {#1076 class: "Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension" use: { $translator: Symfony\Component\Translation\DataCollectorTranslator {#98 …} $message: Closure() {#1075 …} $translationDomain: "validators" } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "choice" "_quote_status" ] |
| cache_key | "_quote_status_choice" |
| choice_translation_domain | null |
| choice_translation_parameters | [] |
| choices | [ Symfony\Component\Form\ChoiceList\View\ChoiceView {#1408 +data: "draft" +value: "draft" +label: "Brouillon" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#1355 +data: "sent" +value: "sent" +label: "Envoyé" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#1071 +data: "accepted" +value: "accepted" +label: "Accepté" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#1645 +data: "rejected" +value: "rejected" +label: "Refusé" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#1646 +data: "expired" +value: "expired" +label: "Expiré" +attr: [] +labelTranslationParameters: [] } ] |
| compound | false |
| data | "draft" |
| disabled | false |
| duplicate_preferred_choices | true |
| errors | Symfony\Component\Form\FormErrorIterator {#1190 -errors: [] -form: Symfony\Component\Form\Form {#1317 …} } |
| expanded | false |
| form | Symfony\Component\Form\FormView {#1406 …5} |
| full_name | "quote[status]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "quote_status" |
| is_selected | Closure($choice, $value) {#1648 class: "Symfony\Component\Form\Extension\Core\Type\ChoiceType" } |
| label | "Statut" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| multiple | false |
| name | "status" |
| placeholder | null |
| placeholder_attr | [] |
| placeholder_in_choices | false |
| preferred_choices | [] |
| priority | 0 |
| required | true |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_quote_status" |
| valid | true |
| value | "draft" |
issueDate
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | DateTime @1765862696 {#1374 date: 2025-12-16 05:24:56.731010 UTC (+00:00) } |
| View Format |
"2025-12-16T05:24"
|
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" ] |
[ "class" => "form-control" ] |
| label | "Date d'émission" |
same as passed value |
| widget | "single_text" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | false |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#573 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#205 …} -logger: Monolog\Logger {#106 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#733 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 1 -cookieName: "csrf-token" } |
| data_class | null |
| date_format | null |
| date_label | null |
| date_widget | null |
| disabled | false |
| empty_data | "" |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| format | "yyyy-MM-dd'T'HH:mm:ss" |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| html5 | true |
| inherit_data | false |
| input | "datetime" |
| input_format | "Y-m-d H:i:s" |
| invalid_message | "Please enter a valid date and time." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Date d'émission" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| model_timezone | null |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | true |
| row_attr | [] |
| setter | null |
| time_label | null |
| time_widget | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#1189 class: "Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension" use: { $translator: Symfony\Component\Translation\DataCollectorTranslator {#98 …} $message: Closure() {#1188 …} $translationDomain: "validators" } } |
| validation_groups | null |
| view_timezone | null |
| widget | "single_text" |
| with_minutes | true |
| with_seconds | false |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "datetime" "_quote_issueDate" ] |
| cache_key | "_quote_issueDate_datetime" |
| compound | false |
| data | DateTime @1765862696 {#1374 date: 2025-12-16 05:24:56.731010 UTC (+00:00) } |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#1649 -errors: [] -form: Symfony\Component\Form\Form {#1331 …} } |
| form | Symfony\Component\Form\FormView {#1650 …5} |
| full_name | "quote[issueDate]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "quote_issueDate" |
| label | "Date d'émission" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "issueDate" |
| priority | 0 |
| required | true |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| type | "datetime-local" |
| unique_block_prefix | "_quote_issueDate" |
| valid | true |
| value | "2025-12-16T05:24" |
| widget | "single_text" |
validUntil
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" ] |
[ "class" => "form-control" ] |
| label | "Valide jusqu'au" |
same as passed value |
| required | false |
same as passed value |
| widget | "single_text" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | false |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#573 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#205 …} -logger: Monolog\Logger {#106 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#733 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 1 -cookieName: "csrf-token" } |
| data_class | null |
| date_format | null |
| date_label | null |
| date_widget | null |
| disabled | false |
| empty_data | "" |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| format | "yyyy-MM-dd'T'HH:mm:ss" |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| html5 | true |
| inherit_data | false |
| input | "datetime" |
| input_format | "Y-m-d H:i:s" |
| invalid_message | "Please enter a valid date and time." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Valide jusqu'au" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| model_timezone | null |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | false |
| row_attr | [] |
| setter | null |
| time_label | null |
| time_widget | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#1198 class: "Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension" use: { $translator: Symfony\Component\Translation\DataCollectorTranslator {#98 …} $message: Closure() {#1201 …} $translationDomain: "validators" } } |
| validation_groups | null |
| view_timezone | null |
| widget | "single_text" |
| with_minutes | true |
| with_seconds | false |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "datetime" "_quote_validUntil" ] |
| cache_key | "_quote_validUntil_datetime" |
| compound | false |
| data | null |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#1651 -errors: [] -form: Symfony\Component\Form\Form {#1334 …} } |
| form | Symfony\Component\Form\FormView {#1652 …5} |
| full_name | "quote[validUntil]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "quote_validUntil" |
| label | "Valide jusqu'au" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "validUntil" |
| priority | 0 |
| required | false |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| type | "datetime-local" |
| unique_block_prefix | "_quote_validUntil" |
| valid | true |
| value | "" |
| widget | "single_text" |
notes
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" "rows" => 4 "placeholder" => "Notes additionnelles pour le devis..." ] |
[ "class" => "form-control" "rows" => 4 "placeholder" => "Notes additionnelles pour le devis..." ] |
| label | "Notes" |
same as passed value |
| required | false |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" "rows" => 4 "placeholder" => "Notes additionnelles pour le devis..." ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#573 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#205 …} -logger: Monolog\Logger {#106 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#733 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 1 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#1210 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "This value is not valid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Notes" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | false |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#1216 class: "Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension" use: { $translator: Symfony\Component\Translation\DataCollectorTranslator {#98 …} $message: Closure() {#1215 …} $translationDomain: "validators" } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" "rows" => 4 "placeholder" => "Notes additionnelles pour le devis..." ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "text" "textarea" "_quote_notes" ] |
| cache_key | "_quote_notes_textarea" |
| compound | false |
| data | null |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#1653 -errors: [] -form: Symfony\Component\Form\Form {#1337 …} } |
| form | Symfony\Component\Form\FormView {#1654 …5} |
| full_name | "quote[notes]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "quote_notes" |
| label | "Notes" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "notes" |
| pattern | null |
| priority | 0 |
| required | false |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_quote_notes" |
| valid | true |
| value | "" |
items
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | Doctrine\Common\Collections\ArrayCollection {#1387 -elements: [] } |
| View Format | same as normalized format |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| allow_add | true |
same as passed value |
| allow_delete | true |
same as passed value |
| attr | [ "class" => "quote-items-collection" ] |
[ "class" => "quote-items-collection" ] |
| by_reference | false |
same as passed value |
| entry_options | [ "label" => false ] |
[ "label" => false "block_name" => "entry" ] |
| entry_type | "App\Form\QuoteItemType" |
same as passed value |
| label | "Articles du devis" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_add | true |
| allow_delete | true |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "quote-items-collection" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | false |
| compound | true |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#573 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#205 …} -logger: Monolog\Logger {#106 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#733 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 1 -cookieName: "csrf-token" } |
| data_class | null |
| delete_empty | false |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#1223 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| entry_options | [ "label" => false "block_name" => "entry" ] |
| entry_type | "App\Form\QuoteItemType" |
| error_bubbling | true |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "The collection is invalid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| keep_as_list | false |
| label | "Articles du devis" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| prototype | true |
| prototype_data | null |
| prototype_name | "__name__" |
| prototype_options | [] |
| required | true |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#1230 class: "Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension" use: { $translator: Symfony\Component\Translation\DataCollectorTranslator {#98 …} $message: Closure() {#1229 …} $translationDomain: "validators" } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| allow_add | true |
| allow_delete | true |
| attr | [ "class" => "quote-items-collection" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "collection" "_quote_items" ] |
| cache_key | "_quote_items_collection" |
| compound | true |
| data | Doctrine\Common\Collections\ArrayCollection {#1387 -elements: [] } |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#1655 -errors: [] -form: Symfony\Component\Form\Form {#1339 …} } |
| form | Symfony\Component\Form\FormView {#1656 …5} |
| full_name | "quote[items]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "quote_items" |
| label | "Articles du devis" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "items" |
| priority | 0 |
| prototype | Symfony\Component\Form\FormView {#1657 …5} |
| required | true |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_quote_items" |
| valid | true |
| value | Doctrine\Common\Collections\ArrayCollection {#1387 -elements: [] } |
_token
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | "csrf-token" |
| View Format | same as normalized format |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "data-controller" => "csrf-protection" ] |
[ "data-controller" => "csrf-protection" ] |
| block_prefix | "csrf_token" |
same as passed value |
| data | "csrf-token" |
same as passed value |
| mapped | false |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "data-controller" => "csrf-protection" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | "csrf_token" |
| by_reference | true |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#573 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#205 …} -logger: Monolog\Logger {#106 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#733 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 1 -cookieName: "csrf-token" } |
| data | "csrf-token" |
| data_class | null |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#1660 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | true |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "The hidden field is invalid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | null |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | false |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | false |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#1679 class: "Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension" use: { $translator: Symfony\Component\Translation\DataCollectorTranslator {#98 …} $message: Closure() {#1677 …} $translationDomain: "validators" } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "data-controller" => "csrf-protection" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "hidden" "csrf_token" "_quote__token" ] |
| cache_key | "_quote__token_hidden" |
| compound | false |
| data | "csrf-token" |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#1689 -errors: [] -form: Symfony\Component\Form\Form {#1685 …} } |
| form | Symfony\Component\Form\FormView {#1680 …5} |
| full_name | "quote[_token]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "quote__token" |
| label | null |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "_token" |
| priority | 0 |
| required | false |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_quote__token" |
| valid | true |
| value | "csrf-token" |