Commit c6c53652 by Milovan Samardzic

dodavanjeOglasaFrontIzgled

parent 2f03958a
......@@ -31,7 +31,7 @@ public class OglasRepository
"," + newOglas.isNamesten() +
"," + newOglas.isGrejanje() +
"," + newOglas.isLift() +
",'" + newOglas.getLokacija() + "'";
",'" + newOglas.getLokacija() + "')";
System.out.println( sql);
try {
......
spring.servlet.multipart.max-file-size=16MB
spring.servlet.multipart.max-request-size=16MB
spring.servlet.multipart.max-file-size=16MB
spring.servlet.multipart.max-request-size=16MB
\ No newline at end of file
......@@ -406,4 +406,7 @@ img {
font-size: 12px;
width: 50%;
text-align: center;
}
.form-check-input{
position:relative;
}
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>SkuciSe</title>
<link rel="shortcut icon" type="image/x-icon" href="/images/logo.ico"/>
<link href='https://fonts.googleapis.com/css?family=Jost' rel='stylesheet'>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>SkuciSe</title>
<link rel="shortcut icon" type="image/x-icon" href="/images/logo.ico"/>
<link href='https://fonts.googleapis.com/css?family=Jost' rel='stylesheet'>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico"/>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico"/>
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
<!-- Core theme CSS (includes Bootstrap)-->
<link href="/css/style.css" rel="stylesheet"/>
<!-- Core theme CSS (includes Bootstrap)-->
<link href="/css/style.css" rel="stylesheet"/>
</head>
<body th:object="${loggedUser}">
<nav class="navbar navbar-icon-top navbar-expand-lg p-3" style="background-color: white;">
<a class="navbar-brand" href="#"> </a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="#"> </a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" th:href="@{/index}">
<i class="fa fa-home"></i>
Pocetna
<span class="sr-only">(current)</span>
</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0" th:if="${loggedUser != null}">
<a th:href="@{/novi-oglas}"><button type="button" class="btn btn-primary btn-md mr-2"><i class="fa-solid fa-plus"></i> Postavite
novi oglas
</button>
</a>
</form>
<ul class="navbar-nav">
<li class="nav-item" th:if="${loggedUser == null}">
<a th:href="@{/login}"><i class="fas fa-sign-in-alt" style="color:#495056"></i><span
style="padding:10px;color:#495056">Prijavi se</span></a>
</li>
<li class="nav-item" th:if="${loggedUser == null}">
<a th:href="@{/register}"><i class="fa-solid fa-circle-user" style="color:#495056"></i><span
style="padding:10px;color:#495056">Registruj se</span></a>
</li>
<li th:if="${loggedUser != null}">
<div class="dropdown mr-4">
<button class="btn btn-secondary dropdown-toggle round" type="button" id="dropdownMenuButton"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa-solid fa-circle-user"></i><span style="padding:10px;"
th:text="${loggedUser.getKorisnik().getIme()}"></span>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" th:href="@{/profile}">Moj Profil</a>
<a class="dropdown-item" th:href="@{/mojioglasi}">Moji Oglasi</a>
<a class="dropdown-item" th:href="@{/mojizahtevi}">Moji Zahtevi</a>
<a th:if="${loggedUser.getKorisnik().getTipId() == 2}" class="dropdown-item"
th:href="@{/lista-korisnika}">Lista Profila</a>
<form th:action="@{/logout}" method="post" id="my_form" class="dropdown-item">
<a href="#" onclick="document.getElementById('my_form').submit(); return false;"><i
class="fas fa-sign-in-alt"></i><span style="padding:5px;">Odjavi se</span></a>
</form>
</div>
</div>
</li>
</ul>
</div>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" th:href="@{/index}">
<i class="fa fa-home"></i>
Pocetna
<span class="sr-only">(current)</span>
</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0" th:if="${loggedUser != null}">
<a th:href="@{/novi-oglas}">
<button type="button" class="btn btn-primary btn-md mr-2"><i class="fa-solid fa-plus"></i> Postavite
novi oglas
</button>
</a>
</form>
<ul class="navbar-nav">
<li class="nav-item" th:if="${loggedUser == null}">
<a th:href="@{/login}"><i class="fas fa-sign-in-alt" style="color:#495056"></i><span
style="padding:10px;color:#495056">Prijavi se</span></a>
</li>
<li class="nav-item" th:if="${loggedUser == null}">
<a th:href="@{/register}"><i class="fa-solid fa-circle-user" style="color:#495056"></i><span
style="padding:10px;color:#495056">Registruj se</span></a>
</li>
<li th:if="${loggedUser != null}">
<div class="dropdown mr-4">
<button class="btn btn-secondary dropdown-toggle round" type="button" id="dropdownMenuButton"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa-solid fa-circle-user"></i><span style="padding:10px;"
th:text="${loggedUser.getKorisnik().getIme()}"></span>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" th:href="@{/profile}">Moj Profil</a>
<a class="dropdown-item" th:href="@{/mojioglasi}">Moji Oglasi</a>
<a class="dropdown-item" th:href="@{/mojizahtevi}">Moji Zahtevi</a>
<a th:if="${loggedUser.getKorisnik().getTipId() == 2}" class="dropdown-item"
th:href="@{/lista-korisnika}">Lista Profila</a>
<form th:action="@{/logout}" method="post" id="my_form" class="dropdown-item">
<a href="#" onclick="document.getElementById('my_form').submit(); return false;"><i
class="fas fa-sign-in-alt"></i><span style="padding:5px;">Odjavi se</span></a>
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
<div class="form-body d-flex justify-content-center w-100 mt-5">
<div class="row">
<div class="form-holder">
<div class="form-content" style="bottom:50px;">
<div class="form-items">
<h3>Novi oglas</h3>
<p>Popunite podatke ispod.</p>
<form class="requires-validation" novalidate th:object="${newOglas}" method="POST"
th:action="@{/novi-oglas/save}" enctype="multipart/form-data">
<div class="col-md-12">
<input th:field="${newOglas.naslov}" class="form-control" type="text"
placeholder="Ime" required>
<div class="invalid-feedback">Naslov ne sme biti prazan!</div>
</div>
<div class="col-md-12">
<select th:field="${newOglas.lokacijaId}">
<option th:each="lokacija: ${lokacije}" th:value="${lokacija.getLokacijaId()}"
th:text="${lokacija.getNaziv()}">
</option>
</select>
</div>
<div class="form-body d-flex justify-content-center w-100 mt-5" style="height: 600px;">
<div class="row">
<div class="form-holder">
<div class="form-content">
<div class="form-items">
<h3>Novi oglas</h3>
<p>Popunite podatke ispod.</p>
<form class="requires-validation d-flex flex-wrap justify-content-center align-items-center"
novalidate th:object="${newOglas}" method="POST"
th:action="@{/novi-oglas/save}" enctype="multipart/form-data">
<div>
<div class="col-md-12">
<input th:field="${newOglas.naslov}" class="form-control" type="text"
placeholder="Ime" required>
<div class="invalid-feedback">Naslov ne sme biti prazan!</div>
</div>
<div class="col-md-12">
<input th:field="${newOglas.lokacija}" class="form-control" type="text"
placeholder="Naselje" required>
<div class="invalid-feedback">Naselje ne sme biti prazno!</div>
</div>
<div class="col-md-12">
<label class="form-check-label">
Kvadratura
</label>
<input th:field="${newOglas.kvadratura}" class="form-control" type="number"
placeholder="Kvadratura" required>
<div class="invalid-feedback">Kvadratura ne sme biti prazna!</div>
</div>
<div class="col-md-12">
<label class="form-check-label">
Cena po m2
</label>
<input th:field="${newOglas.cena}" class="form-control" type="number"
placeholder="Cena po m2" required>
<div class="invalid-feedback">Cena ne sme biti prazan!</div>
</div>
<div class="col-md-12">
<select th:field="${newOglas.lokacijaId}">
<option th:each="lokacija: ${lokacije}" th:value="${lokacija.getLokacijaId()}"
th:text="${lokacija.getNaziv()}">
</option>
</select>
</div>
<div class="col-md-12">
<label class="form-check-label">
Broj soba
</label>
<input th:field="${newOglas.brojSoba}" class="form-control" type="number"
placeholder="Broj soba" required>
<div class="invalid-feedback">Broj soba ne sme biti prazan!</div>
</div>
<div class="col-md-12">
<input th:field="${newOglas.lokacija}" class="form-control" type="text"
placeholder="Naselje" required>
<div class="invalid-feedback">Naselje ne sme biti prazno!</div>
</div>
<div class="col-md-12">
<input th:field="${newOglas.lift}" class="form-check-input" type="checkbox" value="">
<label class="form-check-label">
Lift
</label>
</div>
<div class="col-md-12">
<label class="form-check-label">
Kvadratura
</label>
<input th:field="${newOglas.kvadratura}" class="form-control" type="number"
placeholder="Kvadratura" required>
<div class="invalid-feedback">Kvadratura ne sme biti prazna!</div>
</div>
<div class="col-md-12">
<input th:field="${newOglas.namesten}" class="form-check-input" type="checkbox" value="">
<label class="form-check-label">
Namesten
</label>
</div>
<div class="col-md-12">
<label class="form-check-label">
Cena po m2
</label>
<input th:field="${newOglas.cena}" class="form-control" type="number"
placeholder="Cena po m2" required>
<div class="invalid-feedback">Cena ne sme biti prazan!</div>
</div>
<div class="col-md-12">
<input th:field="${newOglas.grejanje}" class="form-check-input" type="checkbox" value="">
<label class="form-check-label">
Grejanje
</label>
</div>
<div class="col-md-12">
<label class="form-check-label">
Broj soba
</label>
<input th:field="${newOglas.brojSoba}" class="form-control" type="number"
placeholder="Broj soba" required>
<div class="invalid-feedback">Broj soba ne sme biti prazan!</div>
</div>
</div>
<div class="d-flex justify-content-center align-items-center flex-column mt-4">
<div class="d-flex flex-row justify-content-center align-items-center w-100">
<div class="col d-flex flex-row justify-content-center">
<input th:field="${newOglas.lift}" class="form-check-input" type="checkbox"
value="">
<label class="ml-2">
Lift
</label>
</div>
<div class="col-md-12">
<input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault1" value="1" checked>
<label class="form-check-label" for="flexRadioDefault1">
Prodaja
</label>
<input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault2" value="2">
<label class="form-check-label" for="flexRadioDefault2">
Izdavanje
</label>
</div>
<div class="col col d-flex flex-row justify-content-center">
<input th:field="${newOglas.namesten}" class="form-check-input" type="checkbox"
value="">
<label class="ml-2">
Namesten
</label>
</div>
<div class="col-md-12">
<textarea th:field="${newOglas.opis}" class="form-control"
placeholder="Opis" required></textarea>
<div class="invalid-feedback">Opis ne sme biti prazan!</div>
</div>
<div class="col col d-flex flex-row justify-content-center">
<input th:field="${newOglas.grejanje}" class="form-check-input" type="checkbox"
value="">
<label class="ml-2">
Grejanje
</label>
</div>
</div>
<div class="col-md-12 d-flex justify-content-between align-items-center flex-row">
<div style="margin-left: 1.4rem">
<input class="form-check-input" type="radio" name="flexRadioDefault"
id="flexRadioDefault1" value="1" checked th:field="${newOglas.vrstaOglasaId}">
<label class="form-check-label" for="flexRadioDefault1">
Prodaja
</label>
</div>
<div>
<input class="form-check-input" type="radio" name="flexRadioDefault"
id="flexRadioDefault2" value="2" th:field="${newOglas.vrstaOglasaId}">
<label class="form-check-label" for="flexRadioDefault2">
Izdavanje
</label>
</div>
</div>
<div class="col-md-12 mt-2" style="color:white;">
<input class="form-control" name="images" type="file" id="formFileMultiple" accept="image/png, image/jpeg" multiple />
<label for="formFileMultiple" class="form-label">Slike stana</label>
<div class="invalid-feedback">Unesite sliku!</div>
</div>
<div class="col-md-12 mt-2" style="color:white;">
<input type="file" name="images" accept="image/png, image/jpeg"/>
<div class="invalid-feedback">Unesite sliku!</div>
</div>
<div class="col-md-12">
<textarea th:field="${newOglas.opis}" class="form-control" placeholder="Opis"
required></textarea>
<div class="invalid-feedback">Opis ne sme biti prazan!</div>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="invalidCheck" required>
<label class="form-check-label">Potvrdjujem da su svi podaci tacni</label>
<div class="invalid-feedback">Molim vas da potvrdite da su svi podaci tacni!</div>
</div>
<div class="form-check ml-3">
<input class="form-check-input" type="checkbox" value="" id="invalidCheck" required>
<label class="form-check-label">Potvrdjujem da su svi podaci tacni</label>
<div class="invalid-feedback">Molim vas da potvrdite da su svi podaci tacni!</div>
</div>
<div class="form-button mt-3">
<button id="submit" type="submit" class="btn btn-primary">Registruj se</button>
<div class="form-button mt-3">
<button id="submit" type="submit" class="btn btn-primary">Registruj se</button>
</div>
</div>
</form>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="container-fluid pb-0 mb-0 justify-content-center text-light ">
<footer>
<div class="row my-5 justify-content-center py-5">
<div class="col-11">
<div class="row ">
<div class="col-xl-8 col-md-4 col-sm-4 col-12 my-auto mx-auto a"><h3
class="text-muted mb-md-0 mb-5 bold-text">SkuciSe</h3></div>
<div class="col-xl-2 col-md-4 col-sm-4 col-12"><h6 class="mb-3 mb-lg-4 bold-text "><b>MENI</b></h6>
<ul class="list-unstyled">
<li>Pocetna</li>
<li>O nama</li>
<li>Blog</li>
<li>Portfolio</li>
</ul>
</div>
<div class="col-xl-2 col-md-4 col-sm-4 col-12"><h6
class="mb-3 mb-lg-4 text-muted bold-text mt-sm-0 mt-5"><b>ADRESA</b></h6>
<p class="mb-1">Radoja Domanovića 12</p>
<p> Kragujevac 34000</p></div>
</div>
<div class="row ">
<div class="col-xl-8 col-md-4 col-sm-4 col-auto my-md-0 mt-5 order-sm-1 order-3 align-self-end"><p
class="social text-muted mb-0 pb-0 bold-text"><span class="mx-2"><i class="fa fa-facebook"
aria-hidden="true"></i></span>
<span class="mx-2"><i class="fa fa-linkedin-square" aria-hidden="true"></i></span> <span
class="mx-2"><i class="fa fa-twitter" aria-hidden="true"></i></span> <span class="mx-2"><i
class="fa fa-instagram" aria-hidden="true"></i></span></p><small class="rights"><span>&#174;</span>
SkuciSe All Rights Reserved.</small></div>
<div class="col-xl-2 col-md-4 col-sm-4 col-auto order-1 align-self-end "><h6
class="mt-55 mt-2 text-muted bold-text"><b>PERA PERIC</b></h6><small> <span><i
class="fa fa-envelope" aria-hidden="true"></i></span> pera@gmail.com</small></div>
<div class="col-xl-2 col-md-4 col-sm-4 col-auto order-2 align-self-end mt-3 "><h6
class="text-muted bold-text"><b>ACA ACIC</b></h6><small><span><i class="fa fa-envelope"
aria-hidden="true"></i></span>
aca@gmail.com</small></div>
<footer>
<div class="row my-5 justify-content-center py-5">
<div class="col-11">
<div class="row ">
<div class="col-xl-8 col-md-4 col-sm-4 col-12 my-auto mx-auto a"><h3
class="text-muted mb-md-0 mb-5 bold-text">SkuciSe</h3></div>
<div class="col-xl-2 col-md-4 col-sm-4 col-12"><h6 class="mb-3 mb-lg-4 bold-text "><b>MENI</b></h6>
<ul class="list-unstyled">
<li>Pocetna</li>
<li>O nama</li>
<li>Blog</li>
<li>Portfolio</li>
</ul>
</div>
<div class="col-xl-2 col-md-4 col-sm-4 col-12"><h6
class="mb-3 mb-lg-4 text-muted bold-text mt-sm-0 mt-5"><b>ADRESA</b></h6>
<p class="mb-1">Radoja Domanovića 12</p>
<p> Kragujevac 34000</p></div>
</div>
<div class="row ">
<div class="col-xl-8 col-md-4 col-sm-4 col-auto my-md-0 mt-5 order-sm-1 order-3 align-self-end"><p
class="social text-muted mb-0 pb-0 bold-text"><span class="mx-2"><i class="fa fa-facebook"
aria-hidden="true"></i></span>
<span class="mx-2"><i class="fa fa-linkedin-square" aria-hidden="true"></i></span> <span
class="mx-2"><i class="fa fa-twitter" aria-hidden="true"></i></span> <span class="mx-2"><i
class="fa fa-instagram" aria-hidden="true"></i></span></p><small class="rights"><span>&#174;</span>
SkuciSe All Rights Reserved.</small></div>
<div class="col-xl-2 col-md-4 col-sm-4 col-auto order-1 align-self-end "><h6
class="mt-55 mt-2 text-muted bold-text"><b>PERA PERIC</b></h6><small> <span><i
class="fa fa-envelope" aria-hidden="true"></i></span> pera@gmail.com</small></div>
<div class="col-xl-2 col-md-4 col-sm-4 col-auto order-2 align-self-end mt-3 "><h6
class="text-muted bold-text"><b>ACA ACIC</b></h6><small><span><i class="fa fa-envelope"
aria-hidden="true"></i></span>
aca@gmail.com</small></div>
</div>
</div>
</div>
</div>
</div>
</footer>
</footer>
</div>
<!-- JavaScript Bundle with Popper -->
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
......
......@@ -134,7 +134,7 @@
</div>
<div class="col-md-12 mt-2" style="color:white;">
<input type="file" name="image" accept="image/png, image/jpeg"/>
<input class="form-control" name="image" type="file" id="formFileMultiple" accept="image/png, image/jpeg" multiple />
<div class="invalid-feedback">Unesite sliku!</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