Browse Source

Add birth_order input on child entry

pull/13/head
Nafies Luthfi 7 years ago
parent
commit
97a75d6a9e
  1. 12
      app/Http/Controllers/FamilyActionsController.php
  2. 5
      resources/views/users/partials/childs.blade.php
  3. 29
      tests/Feature/ManageUserFamiliesTest.php

12
app/Http/Controllers/FamilyActionsController.php

@ -2,10 +2,10 @@
namespace App\Http\Controllers;
use App\Couple;
use App\User;
use Illuminate\Http\Request;
use App\Couple;
use Ramsey\Uuid\Uuid;
use Illuminate\Http\Request;
class FamilyActionsController extends Controller
{
@ -60,9 +60,10 @@ class FamilyActionsController extends Controller
public function addChild(Request $request, User $user)
{
$this->validate($request, [
'add_child_name' => 'required|string|max:255',
'add_child_gender_id' => 'required|in:1,2',
'add_child_parent_id' => 'nullable|exists:couples,id',
'add_child_name' => 'required|string|max:255',
'add_child_gender_id' => 'required|in:1,2',
'add_child_parent_id' => 'nullable|exists:couples,id',
'add_child_birth_order' => 'nullable|numeric',
]);
$child = new User;
@ -71,6 +72,7 @@ class FamilyActionsController extends Controller
$child->nickname = $request->get('add_child_name');
$child->gender_id = $request->get('add_child_gender_id');
$child->parent_id = $request->get('add_child_parent_id');
$child->birth_order = $request->get('add_child_birth_order');
$child->manager_id = auth()->id();
\DB::beginTransaction();

5
resources/views/users/partials/childs.blade.php

@ -14,7 +14,7 @@
{{ $child->profileLink() }} ({{ $child->gender }})
</li>
@empty
<li class="list-group-item"><i>{{ trans('app.childs_were_not_recorded') }}</i></li>
<li class="list-group-item">{{ trans('app.childs_were_not_recorded') }}</li>
@endforelse
@can('edit', $user)
@if (request('action') == 'add_child')
@ -29,6 +29,7 @@
</div>
</div>
{!! FormField::select('add_child_parent_id', $usersMariageList, ['label' => trans('user.add_child_from_existing_couples', ['name' => $user->name]), 'placeholder' => trans('app.unknown')]) !!}
{!! FormField::text('add_child_birth_order', ['label' => trans('user.birth_order'), 'type' => 'number', 'min' => 1]) !!}
{{ Form::submit(trans('user.add_child'), ['class' => 'btn btn-success btn-sm']) }}
{{ link_to_route('users.show', trans('app.cancel'), [$user->id], ['class' => 'btn btn-default btn-sm']) }}
{{ Form::close() }}
@ -36,4 +37,4 @@
@endif
@endcan
</ul>
</div>
</div>

29
tests/Feature/ManageUserFamiliesTest.php

@ -3,8 +3,8 @@
namespace Tests\Feature;
use App\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ManageUserFamiliesTest extends TestCase
{
@ -114,6 +114,33 @@ class ManageUserFamiliesTest extends TestCase
}
/** @test */
public function user_can_add_children_with_birth_order()
{
$user = $this->loginAsUser(['gender_id' => 1]);
$this->visit(route('profile'));
$this->seePageIs(route('profile'));
$this->click(trans('user.add_child'));
$this->seeElement('input', ['name' => 'add_child_birth_order']);
$this->submitForm(trans('user.add_child'), [
'add_child_name' => 'Nama Anak 1',
'add_child_gender_id' => 1,
'add_child_birth_order' => 2,
'add_child_parent_id' => '',
]);
$this->seeInDatabase('users', [
'nickname' => 'Nama Anak 1',
'gender_id' => 1,
'father_id' => $user->id,
'mother_id' => null,
'parent_id' => null,
'manager_id' => $user->id,
'birth_order' => 2,
]);
}
/** @test */
public function user_can_set_wife()
{
$user = $this->loginAsUser(['gender_id' => 1]);

Loading…
Cancel
Save