Skip to content

Commit dfe539d

Browse files
committed
added edit option
1 parent 24e74a5 commit dfe539d

3 files changed

Lines changed: 51 additions & 3 deletions

File tree

src/main/java/org/launchcode/codingevents/controllers/EventController.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
@RequestMapping("events")
1717
public class EventController {
1818

19-
@GetMapping
19+
@GetMapping
2020
public String displayAllEvents(Model model) {
2121
model.addAttribute("title", "All Events");
2222
model.addAttribute("events", EventData.getAll());
@@ -29,10 +29,27 @@ public String displayCreateEventForm(Model model) {
2929
return "events/create";
3030
}
3131

32-
@PostMapping("create")
32+
@PostMapping("create")
3333
public String processCreateEventForm(@ModelAttribute Event newEvent) {
3434
EventData.add(newEvent);
35-
return "redirect:";
35+
return "redirect:/events";
36+
}
37+
38+
@GetMapping("edit/{eventId}")
39+
public String displayEditForm(Model model, @PathVariable int eventId){
40+
Event eventToEdit = EventData.getById(eventId);
41+
model.addAttribute("event", eventToEdit);
42+
String title = "Edit Event " + eventToEdit.getName() + " (id=" + eventToEdit.getId() + ")";
43+
model.addAttribute("title", title );
44+
return "events/edit";
45+
}
46+
47+
@PostMapping("edit")
48+
public String processEditForm(int eventId, String name, String description) {
49+
Event eventToEdit = EventData.getById(eventId);
50+
eventToEdit.setName(name);
51+
eventToEdit.setDescription(description);
52+
return "redirect:/events";
3653
}
3754

3855
@GetMapping("delete")
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<!DOCTYPE html>
2+
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
3+
<title>
4+
<head th:replace="fragments :: head"></head>
5+
</title>
6+
<body class="container">
7+
8+
<header th:replace="fragments :: header"></header>
9+
10+
<form method="post">
11+
<div class="form-group">
12+
<label> Name
13+
<input type="text" name="name" class="form-control">
14+
</label>
15+
</div>
16+
<br>
17+
<div class="form-group">
18+
<label>
19+
Description
20+
<input type="text" name="description" class="form-control">
21+
</label>
22+
<input type="submit" value="Edit" class="btn btn-success">
23+
</div>
24+
</form>
25+
26+
</body>
27+
</html>

src/main/resources/templates/Events/index.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,16 @@
1313
<th>ID</th>
1414
<th>Name</th>
1515
<th>Description</th>
16+
1617
</tr>
1718
</thead>
1819
<tr th:each="event : ${events}">
1920
<td th:text="${event.id}"></td>
2021
<td th:text="${event.name}"></td>
2122
<td th:text="${event.description}"></td>
23+
<td>
24+
<a th:href="@{/events/edit/{id}(id=${event.id})}">Edit</a>
25+
</td>
2226
</tr>
2327
</table>
2428

0 commit comments

Comments
 (0)