trying to fix some issues
Closed this issue · 2 comments
Здравей Лъчо,
Не мога да намеря правилният път за разрешаването на някои неща в проекта. Голяма каша, не съм рефракторирал още за да добие приличен вид. Ще се радвам, ако можеш да ми дадеш някакви насоки, ако не може решение на следните неща:
- Page “my-pets” искам да бъде видима само за логнатият нормален юзер, да не се вижда от модератори и админи. Какво ли не правих и въртях и не можах да стигна до решение.
- На page “price-list” не мога да си заредя с fetch цените по манипулации през бутона. Гледах видеото и ползвах стъпките, които показа, но не става, имам съмнение, че бъркам с js т.к. го знам като basics само.
- Не мога да разреша как да зареждам в базата новите pets. Метода ми .addPet в PetService явно не работи.
Link : https://github.com/PlamenPeev/adorablePet
Би трябвало да имаш достъп, ако съм уцелил настройките.
Благодаря предварително!
Здравей!
Ще се опитам да помогна по точките:
- Ако действително искаш това нещо, то трябва нормалния юзър да има някаква роля, която админа няма.
Например админа може да има роли ADMIN
, MODERATOR
.
Нормалния юзър - USER
.
И my-pets
ще е видима само за юзъри с роля `USER, между които няма да е админа.
- Тук въобще не си стигнал до js :-) Линка на скрипта е грешен в thymeleaf темплейта и js-a не се зарежда в браузъра, и нищо не става. Опитай:
<script th:src="@{/js/price-list.js}"></script>
След това използвай Console/Network табовете на developer tools-а на браузъра за да се ориентираш какво става. Тези грешки се виждат там веднага.
- Не се извиква метода на сървиса ти изобщо, тъй като ДТО-то винаги е невалидно. Заради това:
@NotNull
private UserEntity owner;
Ако искаш го махни инжектирай детайлите на юзъра като аргумент на контролера:
public String addConfirm(@Valid @ModelAttribute("petAddDTO")
PetAddDTO petAddDTO,
BindingResult bindingResult,
RedirectAttributes redirectAttributes,
@AuthenticationPrincipal UserDetails loggedUser)
Дано съм помогнал!
Поздрави,
Л.
Много благодаря!