Set fields not fillable
This commit is contained in:
parent
b194e77966
commit
a96d879023
|
@ -42,7 +42,11 @@ class NamiField extends Field
|
|||
$rules = [];
|
||||
$fields = request()->route('form')->getFields();
|
||||
|
||||
$c = collect($fields)->filter(fn ($field) => $field['nami_type'] === null)->filter(fn ($field) => $field['type'] !== class_basename(static::class))->map(fn ($field) => Field::fromConfig($field)->getRegistrationRules());
|
||||
$c = collect($fields)
|
||||
->filter(fn ($field) => $field['for_members'] === true)
|
||||
->filter(fn ($field) => $field['nami_type'] === null)
|
||||
->filter(fn ($field) => $field['type'] !== class_basename(static::class))
|
||||
->map(fn ($field) => Field::fromConfig($field)->getRegistrationRules());
|
||||
|
||||
foreach ($c as $field) {
|
||||
foreach ($field as $ruleKey => $rule) {
|
||||
|
@ -65,7 +69,10 @@ class NamiField extends Field
|
|||
$fields = request()->route('form')->getFields();
|
||||
$inputMembers = request($this->key);
|
||||
|
||||
$c = collect($fields)->filter(fn ($field) => $field['type'] !== class_basename(static::class))->map(fn ($field) => Field::fromConfig($field));
|
||||
$c = collect($fields)
|
||||
->filter(fn ($field) => $field['type'] !== class_basename(static::class))
|
||||
->filter(fn ($field) => $field['for_members'] === true)
|
||||
->map(fn ($field) => Field::fromConfig($field));
|
||||
|
||||
foreach ($c as $field) {
|
||||
foreach ($field->getRegistrationRules() as $ruleKey => $rule) {
|
||||
|
|
|
@ -370,4 +370,22 @@ class FormRegisterActionTest extends TestCase
|
|||
$this->postJson(route('form.register', ['form' => $form]), ['other' => [], 'members' => [['id' => '5505', 'other' => ['A', 'missing']]]])
|
||||
->assertJsonValidationErrors(['members.0.other.1' => 'Der gewählte Wert für Andere für Mitglied Nr 5505 ist ungültig.']);
|
||||
}
|
||||
|
||||
public function testItSetsDefaultValueForFieldsThatAreNotNamiFillable(): void
|
||||
{
|
||||
$this->login()->loginNami();
|
||||
Member::factory()->defaults()->create(['mitgliedsnr' => '5505', 'firstname' => 'Paula']);
|
||||
$form = Form::factory()
|
||||
->sections([FormtemplateSectionRequest::new()->fields([
|
||||
FormtemplateFieldRequest::type(NamiField::class)->key('members'),
|
||||
FormtemplateFieldRequest::type(TextField::class)->key('other')->required(true)->namiType(null)->forMembers(false)->options(['A', 'B']),
|
||||
FormtemplateFieldRequest::type(TextField::class)->key('firstname')->required(true)->namiType(NamiType::FIRSTNAME),
|
||||
])])
|
||||
->create();
|
||||
|
||||
$this->postJson(route('form.register', ['form' => $form]), ['firstname' => 'A', 'other' => 'B', 'members' => [['id' => '5505']]])
|
||||
->assertOk();
|
||||
$this->assertEquals('Paula', $form->participants->get(1)->data['firstname']);
|
||||
$this->assertEquals('', $form->participants->get(1)->data['other']);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@ class FormtemplateFieldRequest extends RequestFactory
|
|||
'columns' => ['mobile' => 2, 'tablet' => 4, 'desktop' => 6],
|
||||
'default' => '',
|
||||
'nami_type' => null,
|
||||
'for_members' => true,
|
||||
];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue