Commit d18fddc2 by Bogdan Andjelkovic

komentarisanje - back i baza

parent 8c7750c6
package com.example.SkuciSe.controller; package com.example.SkuciSe.controller;
import com.example.SkuciSe.model.komentar.Komentar;
import com.example.SkuciSe.model.korisnik.KorisnikDetails;
import com.example.SkuciSe.repository.KomentarRepository; import com.example.SkuciSe.repository.KomentarRepository;
import com.example.SkuciSe.repository.ZahtevRepository;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.PostMapping;
@Controller @Controller
public class KomentarController public class KomentarController
{ {
@Autowired @Autowired
KomentarRepository komentarRepo; KomentarRepository komentarRepo;
@Autowired
@PostMapping("/profile/moji-zahtevi/sacuvaj-komentar") ZahtevRepository zRepo;
public String postSacuvajKomentar(Model model, @AuthenticationPrincipal KorisnikDetails loggedUser, @ModelAttribute("komentar") Komentar komentar) throws Exception { @GetMapping("/profile/moji-zahtevi/sacuvaj-komentar")
komentarRepo.insert( loggedUser.getKorisnik().getKorisnikId(), komentar); public String postSacuvajKomentar( @RequestParam("korisnikId") int korisnikId, @RequestParam("oglasId") int oglasId, @RequestParam("zahtevId") int zahtevId, @RequestParam("ocenaRadio") int ocenaRadio, @RequestParam("komentar") String text)
{
try {
komentarRepo.insert( korisnikId, oglasId, text, ocenaRadio);
zRepo.deleteZahtev( zahtevId);
} catch (Exception e) {
throw new RuntimeException(e);
}
return ("redirect:/profile/moji-zahtevi"); return ("redirect:/profile/moji-zahtevi");
} }
} }
...@@ -38,18 +38,14 @@ public class ZahtevController { ...@@ -38,18 +38,14 @@ public class ZahtevController {
{ {
List<Zahtev> mojiZahtevi = zRepo.findAllByKorisnikId( loggedUser.getKorisnik().getKorisnikId()); List<Zahtev> mojiZahtevi = zRepo.findAllByKorisnikId( loggedUser.getKorisnik().getKorisnikId());
List<Oglas> mojiOglasi = new ArrayList<Oglas>(); List<Oglas> mojiOglasi = new ArrayList<Oglas>();
List<Komentar> komentari = new ArrayList<Komentar>();
for( Zahtev zahtev: mojiZahtevi) for( Zahtev zahtev: mojiZahtevi)
{ {
mojiOglasi.add(oRepo.findById(zahtev.getOglasId())); mojiOglasi.add(oRepo.findById(zahtev.getOglasId()));
komentari.add( new Komentar());
} }
model.addAttribute("loggedUser", loggedUser); model.addAttribute("loggedUser", loggedUser);
model.addAttribute("zahtevi", mojiZahtevi); model.addAttribute("zahtevi", mojiZahtevi);
model.addAttribute("oglasi", mojiOglasi); model.addAttribute("oglasi", mojiOglasi);
model.addAttribute("slike",sRepo.findAllFirstPics(mojiOglasi)); model.addAttribute("slike",sRepo.findAllFirstPics(mojiOglasi));
model.addAttribute("komentari", komentari);
return "moji-zahtevi"; return "moji-zahtevi";
} }
......
...@@ -11,9 +11,14 @@ import java.sql.ResultSet; ...@@ -11,9 +11,14 @@ import java.sql.ResultSet;
public class KomentarRepository { public class KomentarRepository {
@Autowired @Autowired
DataBase dataBase; DataBase dataBase;
public void insert(int korisnikId, Komentar komentar) throws Exception public void insert( int korisnikId, int oglasId, String text, int ocenaRadio) throws Exception
{ {
Komentar komentar = new Komentar();
komentar.setOglasId( oglasId);
komentar.setKorisnikId( korisnikId); komentar.setKorisnikId( korisnikId);
komentar.setKomentar( text);
komentar.setOcena( ocenaRadio);
CallableStatement stmt = null; CallableStatement stmt = null;
ResultSet rs = null; ResultSet rs = null;
try { try {
......
...@@ -159,28 +159,35 @@ ...@@ -159,28 +159,35 @@
</button> </button>
</form> </form>
</div> </div>
<div class="col-5 d-flex align-items-center flex-row justify-content-center" <div class="col-5 d-flex align-items-center flex-row justify-content-center">
th:if="${zahtevi[oglasStat.count - 1].status.toString() == 'ZAVRSEN'}"> <form method="get" th:action="@{/profile/moji-zahtevi/sacuvaj-komentar}">
<div th:each="komentar: ${komentari}">
<p th:text="${komentar.toString()}"></p>
</div>
<form method="post" th:action="@{/profile/moji-zahtevi/sacuvaj-komentar}" th:object="${komentari[oglasStat.count - 1]}">
<div class="col-4 h-100"> <div class="col-4 h-100">
<div class="w-100 h-100 d-flex justify-content-center align-items-center"> <div class="w-100 h-100 d-flex justify-content-center align-items-center">
<input type="text" th:field="${komentari[oglasStat.count - 1].komentar}"/> <input type="text" name="komentar"/>
<input th:value="${loggedUser.korisnik.korisnikId}" name="korisnikId" style="display: none">
<input th:value="${oglas.oglasId}" name="oglasId" style="display: none">
<input th:value="${zahtevi[oglasStat.count - 1].zahtevId}" name="zahtevId" style="display: none">
</div> </div>
</div> </div>
<div class="col-4"> <div class="col-4">
<input type="radio" name="ocenaRadio"/> <!--<input type="radio" name="ocenaRadio" value="1"/>
<input type="radio" name="ocenaRadio"/> <input type="radio" name="ocenaRadio" value="2"/>
<input type="radio" name="ocenaRadio"/> <input type="radio" name="ocenaRadio" value="3"/>
<input type="radio" name="ocenaRadio"/> <input type="radio" name="ocenaRadio" value="4"/>
<input type="radio" name="ocenaRadio"/> <input type="radio" name="ocenaRadio" value="5"/>-->
<select name="ocenaRadio">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div> </div>
<div class="col-4"> <div class="col-4">
<button type="submit" class="btn btn-secondary">Postavi komentar</button> <button type="submit" class="btn btn-secondary">Postavi komentar</button>
</div> </div>
</form> </form>
</form>
</div> </div>
</div> </div>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment