Skip to content

Commit 07b8de5

Browse files
committed
Merge branch 'release/v1.4'
2 parents 521defb + 4c67913 commit 07b8de5

File tree

11 files changed

+577
-17
lines changed

11 files changed

+577
-17
lines changed

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
## Release notes
44

5+
### Version 1.4
6+
7+
- add page index to list all todos
8+
- status design (currents / done)
9+
- filter all todos or done todos
10+
- create new todo
11+
- delete todo
12+
- update todo
13+
- done todo
14+
- show description
15+
- use carbon API to show dates and duration around todos
16+
17+
### Version 1.3
18+
19+
- Start using Eloquent, the Laravel's ORM
20+
521
### Version 1.2
622

723
- Add a basic static home page

app/Http/Controllers/TodoController.php

Lines changed: 47 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,29 @@ class TodoController extends Controller
1414
*/
1515
public function index()
1616
{
17-
//
18-
$datas = Todo::all()->reject(function ($todo) {
19-
return $todo->done == 0;
20-
});
17+
$datas = Todo::orderBy('id', 'desc')->paginate(10);
18+
return view('todos.index', compact('datas'));
19+
}
2120

21+
/**
22+
* Display a listing of done's todos
23+
*/
24+
public function done()
25+
{
26+
$datas = Todo::where('done', 1)->paginate(10);
2227
return view('todos.index', compact('datas'));
28+
}
2329

2430

31+
/**
32+
* Action to change todo's status to done
33+
*/
34+
public function makedone(Todo $todo)
35+
{
36+
$todo->done = 1;
37+
$todo->update();
38+
toastr()->success("La todo <span class='badge badge-dark'>#$todo->id</span> a bien été terminée.");
39+
return back();
2540
}
2641

2742
/**
@@ -31,7 +46,7 @@ public function index()
3146
*/
3247
public function create()
3348
{
34-
//
49+
return view('todos.create');
3550
}
3651

3752
/**
@@ -42,7 +57,17 @@ public function create()
4257
*/
4358
public function store(Request $request)
4459
{
45-
//
60+
$todo = new Todo();
61+
$todo->name = $request->name;
62+
$todo->description = $request->description;
63+
if(isset($request->done))
64+
{
65+
$todo->done = $request->done;
66+
}
67+
$todo->save();
68+
69+
toastr()->success("La todo <span class'badge badge-dark'>#$todo->id</span> vient d'être créée.");
70+
return redirect()->route('todos.index');
4671
}
4772

4873
/**
@@ -62,9 +87,9 @@ public function show($id)
6287
* @param int $id
6388
* @return \Illuminate\Http\Response
6489
*/
65-
public function edit($id)
90+
public function edit(Todo $todo)
6691
{
67-
//
92+
return view('todos.edit', compact('todo'));
6893
}
6994

7095
/**
@@ -74,9 +99,16 @@ public function edit($id)
7499
* @param int $id
75100
* @return \Illuminate\Http\Response
76101
*/
77-
public function update(Request $request, $id)
102+
public function update(Request $request, Todo $todo)
78103
{
79-
//
104+
if (!isset ($request->done)) {
105+
$request['done'] = 0;
106+
}
107+
108+
$todo->update($request->all());
109+
110+
toastr()->success("La todo <span class'badge badge-dark'>#$todo->id</span> a bien été mise à jour.");
111+
return redirect()->route('todos.index');
80112
}
81113

82114
/**
@@ -85,8 +117,11 @@ public function update(Request $request, $id)
85117
* @param int $id
86118
* @return \Illuminate\Http\Response
87119
*/
88-
public function destroy($id)
120+
public function destroy(Todo $todo)
89121
{
90-
//
122+
$todo->delete();
123+
toastr()->error("La todo <span class='badge badge-dark'>#$todo->id</span> a bien été supprimée.");
124+
125+
return back();
91126
}
92127
}

composer.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99
"license": "MIT",
1010
"require": {
1111
"php": "^7.2",
12+
"doctrine/dbal": "^2.10",
1213
"fideloper/proxy": "^4.0",
1314
"laravel/framework": "^6.2",
1415
"laravel/telescope": "^3.1",
1516
"laravel/tinker": "^2.0",
16-
"laravel/ui": "^1.2"
17+
"laravel/ui": "^1.2",
18+
"yoeunes/toastr": "^1.2"
1719
},
1820
"require-dev": {
1921
"facade/ignition": "^1.4",

0 commit comments

Comments
 (0)