ЛР5 чуть-чуть изменить логику чекбоксов
This commit is contained in:
parent
4246c98078
commit
7512de70c2
BIN
data.mv.db
BIN
data.mv.db
Binary file not shown.
@ -36,6 +36,7 @@ public class CollectionMvcController {
|
||||
public String getFilmsFromCollection(@PathVariable Long id, Model model) {
|
||||
List<Film> films = collectionService.getFilmsFromCollection(id);
|
||||
model.addAttribute("films", films);
|
||||
model.addAttribute("collectionId", id);
|
||||
return "view-films";
|
||||
}
|
||||
|
||||
@ -91,4 +92,11 @@ public class CollectionMvcController {
|
||||
collectionService.addFilm(id, filmIdAsLong);
|
||||
return "redirect:../films/{id}";
|
||||
}
|
||||
|
||||
@PostMapping(value = "/del_film/{id}/{filmId}")
|
||||
public String deleteFilm(@PathVariable(value = "id") Long id,
|
||||
@PathVariable(value = "filmId") Long filmId) {
|
||||
collectionService.deleteFilm(id, filmId);
|
||||
return "redirect:/collection/films/{id}";
|
||||
}
|
||||
}
|
||||
|
@ -37,6 +37,7 @@ public class FilmMvcController {
|
||||
public String getGenresFromFilm(@PathVariable Long id, Model model) {
|
||||
List<Genre> genres = filmService.getGenresFromFilm(id);
|
||||
model.addAttribute("genres", genres);
|
||||
model.addAttribute("filmId", id);
|
||||
return "view-genres";
|
||||
}
|
||||
|
||||
@ -94,4 +95,11 @@ public class FilmMvcController {
|
||||
filmService.addGenres(id, genreIdsAsLong);
|
||||
return "redirect:../genres/{id}";
|
||||
}
|
||||
|
||||
@PostMapping(value = "/del_genre/{id}/{genreId}")
|
||||
public String deleteFilm(@PathVariable(value = "id") Long id,
|
||||
@PathVariable(value = "genreId") Long genreId) {
|
||||
filmService.deleteGenre(id, genreId);
|
||||
return "redirect:/film/genres/{id}";
|
||||
}
|
||||
}
|
||||
|
@ -82,6 +82,21 @@ public class FilmService {
|
||||
return filmRepository.save(film);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Film deleteGenre(Long filmId, Long genreId) {
|
||||
Film film = findFilm(filmId);
|
||||
if (film == null) {
|
||||
throw new EntityNotFoundException(String.format("Film with id [%s] is not found", filmId));
|
||||
}
|
||||
final Genre genre = genreService.findGenre(genreId);
|
||||
if (genre == null) {
|
||||
throw new EntityNotFoundException(String.format("Genre with id [%s] is not found", genreId));
|
||||
}
|
||||
|
||||
film.removeGenre(genre);
|
||||
return filmRepository.save(film);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public List<Genre> getGenresFromFilm(Long filmId){
|
||||
Optional<Film> filmOptional = filmRepository.findById(filmId);
|
||||
|
@ -11,11 +11,17 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Название</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr th:each="film, iterator: ${films}">
|
||||
<td th:text="${film.name}"></td>
|
||||
<td>
|
||||
<form method="post" th:action="@{/collection/del_film/{id}/{filmId}(id=${id}, filmId=${film.id})}">
|
||||
<button type="submit" class="btn btn-danger button-fixed button-sm">Удалить</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -11,11 +11,17 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Название</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr th:each="genre, iterator: ${genres}">
|
||||
<td th:text="${genre.name}"></td>
|
||||
<td>
|
||||
<form method="post" th:action="@{/film/del_genre/{id}/{genreId}(id=${id}, genreId=${genre.id})}">
|
||||
<button type="submit" class="btn btn-danger button-fixed button-sm">Удалить</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
Loading…
Reference in New Issue
Block a user