Skip to content

Commit

Permalink
edit form
Browse files Browse the repository at this point in the history
  • Loading branch information
djaiss committed Feb 19, 2024
1 parent 28d8ccc commit cd853ad
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 1 deletion.
8 changes: 8 additions & 0 deletions app/Http/Controllers/ListController.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,15 @@ public function show(Request $request): View

public function edit(Request $request): View
{
$listCategories = ListCategory::all()
->map(fn (ListCategory $listCategory) => [
'id' => $listCategory->id,
'name' => $listCategory->name,
]);

return view('user.lists.edit', [
'list' => ListViewModel::edit($request->attributes->get('list')),
'listCategories' => $listCategories,
]);
}

Expand All @@ -80,6 +87,7 @@ public function update(Request $request): RedirectResponse

$list->name = $request->input('list-name');
$list->description = $request->input('description');
$list->list_category_id = $request->input('category');
$list->save();

Cache::forget('route-list-' . $list->id);
Expand Down
1 change: 1 addition & 0 deletions app/Http/ViewModels/User/ListViewModel.php
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ public static function edit(NameList $list): array
'id' => $list->id,
'name' => $list->name,
'description' => $list->description,
'list_category_id' => $list->list_category_id,
'url' => [
'update' => route('list.update', [
'liste' => $list->id,
Expand Down
13 changes: 13 additions & 0 deletions resources/views/user/lists/edit.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,19 @@
<x-input-error class="mt-2" :messages="$errors->get('description')" />
</div>

@if (auth()->user()->is_administrator)
<div class="relative px-6 pt-4 pb-4">
<label for="country" class="block text-sm font-medium leading-6 text-gray-900">Catégories (pour administrateur seulement)</label>
<div class="mt-2">
<select id="category" name="category" class="block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:max-w-xs sm:text-sm sm:leading-6">
@foreach ($listCategories as $category)
<option value="{{ $category['id'] }}" @selected($category['id'] === $list['list_category_id'])>{{ $category['name'] }}</option>
@endforeach
</select>
</div>
</div>
@endif

<!-- actions -->
<div class="flex items-center justify-between border-t dark:border-gray-600 bg-white dark:bg-gray-800 px-6 py-4">
<x-link href="{{ route('list.show', $list['id']) }}">Retour</x-link>
Expand Down
3 changes: 2 additions & 1 deletion tests/Unit/ViewModels/User/ListViewModelTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -104,13 +104,14 @@ public function it_gets_the_list_details_for_the_edit_page(): void

$array = ListViewModel::edit($nameList);

$this->assertCount(4, $array);
$this->assertCount(5, $array);

$this->assertEquals(
[
'id' => $nameList->id,
'name' => 'Ma liste',
'description' => 'Ma description',
'list_category_id' => null,
'url' => [
'update' => env('APP_URL') . '/listes/' . $nameList->id,
],
Expand Down

0 comments on commit cd853ad

Please sign in to comment.