Commit 64bf0e2e by Bogdan Andjelkovic

model oglas - dodati atributi

OglasController - dodat novi oglas reguest
parent dd9fb38c
...@@ -41,7 +41,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter ...@@ -41,7 +41,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter
@Override @Override
protected void configure(HttpSecurity http) throws Exception { protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests() http.authorizeRequests()
.antMatchers("/profile/**","/moji-oglasi/**","/moji-zahtevi/**","/lista-korisnika").authenticated() .antMatchers("/profile/**","/moji-oglasi/**","/moji-zahtevi/**","/lista-korisnika","/novi-oglas/**").authenticated()
.anyRequest().permitAll() .anyRequest().permitAll()
.and().formLogin().loginPage("/login").permitAll() .and().formLogin().loginPage("/login").permitAll()
.usernameParameter("email") .usernameParameter("email")
......
package com.example.SkuciSe.controller;
import com.example.SkuciSe.model.korisnik.KorisnikDetails;
import com.example.SkuciSe.model.oglas.Oglas;
import com.example.SkuciSe.repository.KorisnikRepository;
import com.example.SkuciSe.repository.LokacijaRepository;
import com.example.SkuciSe.repository.OglasRepository;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
@Controller
public class OglasController
{
@Autowired
LokacijaRepository lRepo;
@Autowired
KorisnikRepository kRepo;
@Autowired
OglasRepository oRepo;
@GetMapping("/novi-oglas")
public String getNoviOglas(Model model, @AuthenticationPrincipal KorisnikDetails loggedUser)
{
model.addAttribute("loggedUser", loggedUser);
model.addAttribute("newOglas", new Oglas());
model.addAttribute("lokacije", lRepo.findAll());
return("novi-oglas-form");
}
@PostMapping("/novi-oglas/save")
public String postSaveNoviOglas( @ModelAttribute("newOglas") Oglas newOglas, @RequestParam("images") MultipartFile[] files)
{
oRepo.insert( newOglas, files);
return("redirect:/profile");
}
}
package com.example.SkuciSe.model.korisnik; package com.example.SkuciSe.model.korisnik;
import lombok.AllArgsConstructor; import lombok.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.IOException; import java.io.IOException;
import java.util.Base64; import java.util.Base64;
...@@ -12,6 +9,7 @@ import java.util.Base64; ...@@ -12,6 +9,7 @@ import java.util.Base64;
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ToString
public class Korisnik { public class Korisnik {
int korisnikId; int korisnikId;
String ime; String ime;
...@@ -22,20 +20,5 @@ public class Korisnik { ...@@ -22,20 +20,5 @@ public class Korisnik {
private String slika; private String slika;
int tipId; int tipId;
int gradId; int gradId;
boolean enabled; boolean enabled;
@Override
public String toString() {
return "Korisnik{" +
"korisnikId=" + korisnikId +
", ime='" + ime + '\'' +
", prezime='" + prezime + '\'' +
", email='" + email + '\'' +
", sifra='" + sifra + '\'' +
", telefon='" + telefon + '\'' +
", tipId=" + tipId +
", gradId=" + gradId +
", slika='" + slika + '\'' +
'}';
}
} }
\ No newline at end of file
package com.example.SkuciSe.model.oglas; package com.example.SkuciSe.model.oglas;
import lombok.AllArgsConstructor; import lombok.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter @Getter
@Setter @Setter
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ToString
public class Oglas public class Oglas
{ {
int oglasId; int oglasId;
int korisnikId; int korisnikId;
String naslov; String naslov;
String opis; String opis;
String lokacija; int lokacijaId;
int gradId;
double cena; double cena;
double kvadratura;
int vrstaOglasaId; int vrstaOglasaId;
double kvadratura;
int brojSoba;
boolean namesten;
boolean grejanje;
boolean lift;
String lokacija;
public Oglas(int korisnikId, String naslov, String opis, String lokacija, int gradId, double cena, double kvadratura, int vrstaOglasaId) {
this.korisnikId = korisnikId;
this.naslov = naslov;
this.opis = opis;
this.lokacija = lokacija;
this.gradId = gradId;
this.cena = cena;
this.kvadratura = kvadratura;
this.vrstaOglasaId = vrstaOglasaId;
}
@Override
public String toString() {
return "Oglas{" +
"oglasId=" + oglasId +
", korisnikId=" + korisnikId +
", naslov='" + naslov + '\'' +
", opis='" + opis + '\'' +
", lokacija='" + lokacija + '\'' +
", gradId=" + gradId +
", cena=" + cena +
", kvadratura=" + kvadratura +
", vrstaOglasaId=" + vrstaOglasaId +
'}';
}
} }
...@@ -26,10 +26,10 @@ public class KorisnikRepository ...@@ -26,10 +26,10 @@ public class KorisnikRepository
String slika = Base64.getEncoder().encodeToString(multipartFile.getBytes()); String slika = Base64.getEncoder().encodeToString(multipartFile.getBytes());
String sql = "insert into korisnik( ime, prezime, telefon, email, sifra, tipId, slika, gradid, enabled) values('"+korisnik.getIme()+"','"+korisnik.getPrezime()+"','"+korisnik.getTelefon()+"','"+korisnik.getEmail()+"','"+new BCryptPasswordEncoder().encode(korisnik.getSifra())+"',1, '"+ slika +"', "+korisnik.getGradId()+",false)"; String sql = "insert into korisnik( ime, prezime, telefon, email, sifra, tipId, slika, gradid, enabled) values('"+korisnik.getIme()+"','"+korisnik.getPrezime()+"','"+korisnik.getTelefon()+"','"+korisnik.getEmail()+"','"+new BCryptPasswordEncoder().encode(korisnik.getSifra())+"',1, '"+ slika +"', "+korisnik.getGradId()+",false)";
dataBase.statement.executeUpdate( sql); dataBase.statement.executeUpdate( sql);
} catch (SQLException e) {
throw new RuntimeException(e);
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); System.out.println(e.getMessage());
} catch (SQLException e) {
System.out.println(e.getMessage());
} }
} }
} }
......
package com.example.SkuciSe.repository; package com.example.SkuciSe.repository;
import com.example.SkuciSe.model.oglas.Oglas;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
@Component @Component
public class OglasRepository public class OglasRepository
{ {
@Autowired @Autowired
DataBase dataBase; DataBase dataBase;
public void insert(Oglas newOglas, MultipartFile[] files)
{
}
} }
spring.servlet.multipart.max-file-size=16MB
spring.servlet.multipart.max-request-size=16MB
\ No newline at end of file
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