Changed the way the data in the people create/edit form is stored.

This commit is contained in:
Lukas Halbritter
2018-10-12 12:11:41 +02:00
parent de5f19c73a
commit 4768e8d8cd
2 changed files with 32 additions and 14 deletions
+14 -9
View File
@@ -54,11 +54,11 @@ class PeopleController extends Controller
$person->save(); $person->save();
// If the member states data is non-empty, save a record to the database. // If the member states data is non-empty, save a record to the database.
if (!is_null(request('joining_date')[0])) { if (!is_null(request('memberState')[0]['joining_date'])) {
$memberState = new MemberState(); $memberState = new MemberState();
$memberState->joining_date = request('joining_date')[0]; $memberState->joining_date = request('memberState')[0]['joining_date'];
$memberState->leaving_date = request('leaving_date')[0]; $memberState->leaving_date = request('memberState')[0]['leaving_date'];
$person->memberStates()->save($memberState); $person->memberStates()->save($memberState);
} }
@@ -94,13 +94,18 @@ class PeopleController extends Controller
// If the member states data is non-empty, save a record to the database. // If the member states data is non-empty, save a record to the database.
if ($person->title != 'Firma') { if ($person->title != 'Firma') {
for ($i = 0; $i < sizeof(request('joining_date')); $i++) { foreach (request('memberState') as $id => $rMemberState) {
$memberState = !$person->isMember() ? if ($rMemberState['joining_date'] === null) {
new MemberState() : continue;
$person->MemberState::find(request('memberStateId')[$i]); }
$memberState->joining_date = request('joining_date')[$i]; $memberState = $id === 0 ?
$memberState->leaving_date = request('leaving_date')[$i]; new MemberState() :
MemberState::find($id);
$memberState->joining_date = $rMemberState['joining_date'];
$memberState->leaving_date = $rMemberState['leaving_date'];
$memberState->person_id = $person->id;
$memberState->save(); $memberState->save();
} }
+18 -5
View File
@@ -79,9 +79,22 @@
@if ($person->wasMember()) @if ($person->wasMember())
@foreach ($person->memberStates as $memberState) @foreach ($person->memberStates as $memberState)
<tr> <tr>
<td>{{ Form::hidden('memberStateId[]', $memberState->id) }} <td>
{{ Form::date('joining_date[]', $memberState->joining_date) }}</td> {{
<td>{{ Form::date('leaving_date[]', $memberState->leaving_date) }}</td> Form::date(
"memberState[$memberState->id][joining_date]",
$memberState->joining_date
)
}}
</td>
<td>
{{
Form::date(
"memberState[$memberState->id][leaving_date]",
$memberState->leaving_date
)
}}
</td>
</tr> </tr>
@endforeach @endforeach
@endif @endif
@@ -89,8 +102,8 @@
{{-- Create empty input field for a new member state record. --}} {{-- Create empty input field for a new member state record. --}}
@if (!$person->isMember()) @if (!$person->isMember())
<tr> <tr>
<td>{{ Form::date('joining_date[]') }}</td> <td>{{ Form::date('memberState[0][joining_date]') }}</td>
<td>{{ Form::date('leaving_date[]') }}</td> <td>{{ Form::date('memberState[0][leaving_date]') }}</td>
</tr> </tr>
@endif @endif
</table> </table>