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');
|
||||
|
||||
// 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);
|
||||
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
|
||||
@@ -4,11 +4,13 @@ namespace App\Form;
|
||||
|
||||
use App\Entity\Disposition;
|
||||
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\FormBuilderInterface;
|
||||
use Symfony\Component\Form\FormEvent;
|
||||
use Symfony\Component\Form\FormEvents;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints\IsTrue;
|
||||
|
||||
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
|
||||
@@ -41,6 +55,7 @@ class TeamerDispositionType extends AbstractType
|
||||
$resolver->setDefaults([
|
||||
'data_class' => Disposition::class,
|
||||
'enable_pickup' => false,
|
||||
'enable_invoice_confirmation' => false,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,6 +108,9 @@
|
||||
'endpoint_upload': path('_uploader_upload_invoice'),
|
||||
'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') }}>
|
||||
Aktualisieren
|
||||
</button>
|
||||
|
||||
Reference in New Issue
Block a user