diff --git a/app/Http/Controllers/FamilyActionsController.php b/app/Http/Controllers/FamilyActionsController.php
index 037975e..883b385 100644
--- a/app/Http/Controllers/FamilyActionsController.php
+++ b/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();
diff --git a/resources/views/users/partials/childs.blade.php b/resources/views/users/partials/childs.blade.php
index 6f6e29b..bb2972f 100644
--- a/resources/views/users/partials/childs.blade.php
+++ b/resources/views/users/partials/childs.blade.php
@@ -14,7 +14,7 @@
{{ $child->profileLink() }} ({{ $child->gender }})
@empty
-
{{ trans('app.childs_were_not_recorded') }}
+ {{ trans('app.childs_were_not_recorded') }}
@endforelse
@can('edit', $user)
@if (request('action') == 'add_child')
@@ -29,6 +29,7 @@
{!! 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
-
\ No newline at end of file
+
diff --git a/tests/Feature/ManageUserFamiliesTest.php b/tests/Feature/ManageUserFamiliesTest.php
index 506a214..3041636 100644
--- a/tests/Feature/ManageUserFamiliesTest.php
+++ b/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]);