Commit 74dfea5d by Bogdan Andjelkovic

insertovanje zahteva - back uradjen

parent f1b43020
......@@ -3,6 +3,7 @@ package com.example.SkuciSe.controller;
import com.example.SkuciSe.model.korisnik.Korisnik;
import com.example.SkuciSe.model.korisnik.KorisnikDetails;
import com.example.SkuciSe.model.oglas.Oglas;
import com.example.SkuciSe.model.zahtev.Zahtev;
import com.example.SkuciSe.repository.KorisnikRepository;
import com.example.SkuciSe.repository.LokacijaRepository;
import com.example.SkuciSe.repository.OglasRepository;
......@@ -86,6 +87,8 @@ public class OglasController
@GetMapping("/lista-oglasa/{oglasId}")
public String getOglas(Model model, @PathVariable("oglasId") int oglasId, @AuthenticationPrincipal KorisnikDetails loggedUser)
{
model.addAttribute("noviZahtev", new Zahtev());
model.addAttribute("oglasId", oglasId);
model.addAttribute("loggedUser", loggedUser);
model.addAttribute("oglas", oRepo.findById( oglasId));
model.addAttribute("slike", sRepo.findAllById( oglasId));
......
package com.example.SkuciSe.controller;
import com.example.SkuciSe.model.korisnik.KorisnikDetails;
import com.example.SkuciSe.model.zahtev.StanjeZahteva;
import com.example.SkuciSe.model.zahtev.Zahtev;
import com.example.SkuciSe.repository.ZahtevRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
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.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.Date;
@Controller
public class ZahtevController {
@Autowired
ZahtevRepository zRepo;
@GetMapping("/profile/moji-zahtevi")
public String getMojiZahtevi(Model model, @AuthenticationPrincipal KorisnikDetails loggedUser)
{
model.addAttribute("loggedUser", loggedUser);
return "moji-zahtevi";
}
@PostMapping("/obradi-zahtev/{id}")
public String postObradizahtev(Model model, @AuthenticationPrincipal KorisnikDetails loggedUser, @ModelAttribute Zahtev noviZahtev, @ModelAttribute("datumIVreme") String datumIVreme, @PathVariable("id") int oglasId)
{
noviZahtev.setKorisnikId( loggedUser.getKorisnik().getKorisnikId());
noviZahtev.setOglasId( oglasId);
noviZahtev.setStatus( StanjeZahteva.CEKANJE);
zRepo.insert( noviZahtev, datumIVreme);
return "redirect:/lista-oglasa/"+oglasId;
}
}
package com.example.SkuciSe.model.zahtev;
public enum StanjeZahteva
{
CEKANJE, POTVRDJEN, ODBIJEN, ZAVRSEN
}
package com.example.SkuciSe.model.termin;
package com.example.SkuciSe.model.zahtev;
import lombok.*;
......@@ -9,12 +9,12 @@ import java.sql.*;
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Termin
public class Zahtev
{
int terminId;
int korisnikId;
int oglasId;
Date datum;
Time vreme;
String status;
String datum;
String vreme;
StanjeZahteva status;
}
package com.example.SkuciSe.repository;
import com.example.SkuciSe.model.zahtev.Zahtev;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.sql.SQLException;
@Component
public class ZahtevRepository {
@Autowired
DataBase dataBase;
public void insert(Zahtev noviZahtev, String datumIVreme)
{
String datum = datumIVreme.split("T")[0];
String vreme = datumIVreme.split("T")[1];
noviZahtev.setDatum( datum);
noviZahtev.setVreme( vreme);
System.out.println( noviZahtev.toString());
String sql = "insert into zahtev( oglasid, korisnikid, datum, vreme, stanje) values ("+noviZahtev.getOglasId()+","+noviZahtev.getKorisnikId()+",'"+noviZahtev.getDatum()+"','"+noviZahtev.getDatum()+"','"+noviZahtev.getStatus()+"')";
try {
dataBase.statement.executeUpdate( sql);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
......@@ -88,7 +88,7 @@
</div>
</nav>
<div class="mt-5 ml-5 mr-0 w-100">
<div class="mt-5 ml-5 mr-0 w-100" th:object="${oglasId}">
<div class="row mb-5 flex-row">
<div class="col-lg-6 col-md-6 col-sm-6">
<div id="custCarousel" class="carousel slide" data-ride="carousel" align="center">
......@@ -170,6 +170,13 @@
</div>
</div>
<form th:if="${loggedUser != null}" th:action="@{/obradi-zahtev/{id}(id=${oglasId})}" method="POST" th:object="${noviZahtev}">
<input type="hidden" th:field="${noviZahtev.korisnikId}" th:value="${loggedUser.korisnik.korisnikId}">
<input type="hidden" th:field="${noviZahtev.oglasId}" th:value="${oglas.oglasId}">
<input type="datetime-local" name="datumIVreme">
<button type="submit">POSALJI ZAHTEV</button>
</form>
<div class="container-fluid pb-0 mb-0 justify-content-center text-light ">
<footer>
<div class="row my-5 justify-content-center py-5">
......
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