Fixed: Fill fields of manual member if nami type
	
		
			
	
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
					Details
				
			
		
	
				
					
				
			
				
	
				continuous-integration/drone/push Build is passing
				
					Details
				
			
		
	This commit is contained in:
		
							parent
							
								
									c9885a8c9c
								
							
						
					
					
						commit
						9252686e78
					
				|  | @ -43,13 +43,11 @@ class NamiField extends Field | |||
|     { | ||||
|         $rules = [$this->key => 'present|array']; | ||||
| 
 | ||||
|         $c = $form->getFields()->forMembers()->noNamiType()->noNamiField() | ||||
|             ->map(fn ($field) => $field->getRegistrationRules($form)) | ||||
|             ->toArray(); | ||||
|         foreach ($form->getFields()->forMembers()->noNamiField() as $field) { | ||||
|             $r = $field->getRegistrationRules($form); | ||||
| 
 | ||||
|         foreach ($c as $field) { | ||||
|             foreach ($field as $ruleKey => $rule) { | ||||
|                 $rules[$this->key . '.*.' . $ruleKey] = $rule; | ||||
|             foreach ($r as $ruleKey => $rule) { | ||||
|                 $rules[$this->key . '.*.' . $ruleKey] = $field->namiType === null ? $rule : ''; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|  | @ -114,7 +112,7 @@ class NamiField extends Field | |||
|             $member = Member::firstWhere(['mitgliedsnr' => $memberData['id']]); | ||||
|             $data = []; | ||||
|             foreach (FieldCollection::fromRequest($form, $memberData) as $field) { | ||||
|                 $data[$field->key] = $field->namiType === null | ||||
|                 $data[$field->key] = $field->namiType === null || $member === null | ||||
|                     ? $field->value | ||||
|                     : $field->namiType->getMemberAttribute($member, $form); | ||||
|             } | ||||
|  |  | |||
|  | @ -562,13 +562,15 @@ class FormRegisterActionTest extends FormTestCase | |||
|         $this->createMember(['mitgliedsnr' => '5505']); | ||||
|         $form = Form::factory()->fields([ | ||||
|             $this->namiField('members'), | ||||
|             $this->textField('gender')->namiType(NamiType::GENDER)->required(false), | ||||
|             $this->textField('other')->required(false), | ||||
|         ]) | ||||
|             ->create(); | ||||
| 
 | ||||
|         $this->register($form, ['other' => '::string::', 'members' => [['id' => null, 'other' => 'othervalue']]]) | ||||
|         $this->register($form, ['other' => '::string::', 'members' => [['id' => null, 'gender' => 'Herr', 'other' => 'othervalue']]]) | ||||
|             ->assertOk(); | ||||
|         $this->assertEquals('othervalue', $form->participants->get(1)->data['other']); | ||||
|         $this->assertEquals('Herr', $form->participants->get(1)->data['gender']); | ||||
|     } | ||||
| 
 | ||||
|     public function testItValidatesMembersFields(): void | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue