feat: personal data confirmation with invoice upload
This commit is contained in:
@@ -46,7 +46,10 @@ class DetailController extends AbstractController
|
|||||||
$isUploadInvoice = $this->workflow->can($disposition, 'upload_invoice');
|
$isUploadInvoice = $this->workflow->can($disposition, 'upload_invoice');
|
||||||
|
|
||||||
// Create dummy form without fields to generate POST requests
|
// Create dummy form without fields to generate POST requests
|
||||||
$form = $this->createForm(TeamerDispositionType::class, $disposition, ['enable_pickup' => $isUploadContract]);
|
$form = $this->createForm(TeamerDispositionType::class, $disposition, [
|
||||||
|
'enable_pickup' => $isUploadContract,
|
||||||
|
'enable_invoice_confirmation' => $isUploadInvoice,
|
||||||
|
]);
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
|
||||||
if ($form->isSubmitted() && $form->isValid()) {
|
if ($form->isSubmitted() && $form->isValid()) {
|
||||||
|
|||||||
@@ -4,11 +4,13 @@ namespace App\Form;
|
|||||||
|
|
||||||
use App\Entity\Disposition;
|
use App\Entity\Disposition;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\Form\FormEvent;
|
use Symfony\Component\Form\FormEvent;
|
||||||
use Symfony\Component\Form\FormEvents;
|
use Symfony\Component\Form\FormEvents;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
|
use Symfony\Component\Validator\Constraints\IsTrue;
|
||||||
|
|
||||||
class TeamerDispositionType extends AbstractType
|
class TeamerDispositionType extends AbstractType
|
||||||
{
|
{
|
||||||
@@ -34,6 +36,18 @@ class TeamerDispositionType extends AbstractType
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (true === $options['enable_invoice_confirmation']) {
|
||||||
|
$builder->add('confirmInvoiceData', CheckboxType::class, [
|
||||||
|
'label' => 'Ich bestätige, dass meine persönlichen Daten, Bankverbindung und Kontoinhaber korrekt sind',
|
||||||
|
'mapped' => false,
|
||||||
|
'constraints' => [
|
||||||
|
new IsTrue([
|
||||||
|
'message' => 'Deine Bestätigung ist erforderlich',
|
||||||
|
]),
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver): void
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
@@ -41,6 +55,7 @@ class TeamerDispositionType extends AbstractType
|
|||||||
$resolver->setDefaults([
|
$resolver->setDefaults([
|
||||||
'data_class' => Disposition::class,
|
'data_class' => Disposition::class,
|
||||||
'enable_pickup' => false,
|
'enable_pickup' => false,
|
||||||
|
'enable_invoice_confirmation' => false,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,6 +108,9 @@
|
|||||||
'endpoint_upload': path('_uploader_upload_invoice'),
|
'endpoint_upload': path('_uploader_upload_invoice'),
|
||||||
'accepted_files': 'image/jpg,image/jpeg,application/pdf',
|
'accepted_files': 'image/jpg,image/jpeg,application/pdf',
|
||||||
} %}
|
} %}
|
||||||
|
{% if form.confirmInvoiceData is defined %}
|
||||||
|
{{ form_row(form.confirmInvoiceData) }}
|
||||||
|
{% endif %}
|
||||||
<button type="submit" class="btn" {{ stimulus_target('form-upload-guard', 'submit') }}>
|
<button type="submit" class="btn" {{ stimulus_target('form-upload-guard', 'submit') }}>
|
||||||
Aktualisieren
|
Aktualisieren
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user