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]);