File tree Expand file tree Collapse file tree
java/org/launchcode/codingevents/controllers
resources/templates/Events Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1616@ RequestMapping ("events" )
1717public 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" )
Original file line number Diff line number Diff line change 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 >
Original file line number Diff line number Diff line change 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
You can’t perform that action at this time.
0 commit comments