[31d67c0] | 1 | package com.proekt.Controller;
|
---|
| 2 |
|
---|
| 3 |
|
---|
| 4 | import com.proekt.model.Kontroler.Kontroler;
|
---|
| 5 | import com.proekt.model.Kontroler.KontrolerKey;
|
---|
| 6 | import com.proekt.Repository.AdministratorRepository;
|
---|
| 7 | import com.proekt.Repository.KontrolerRepository;
|
---|
| 8 | import com.proekt.Repository.NajavaRepository;
|
---|
| 9 | import com.proekt.Repository.VrabotenRepository1;
|
---|
| 10 | import com.proekt.model.Admin.AdminKey;
|
---|
| 11 | import com.proekt.model.Admin.Administrator;
|
---|
| 12 | import com.proekt.model.Najava;
|
---|
| 13 | import com.proekt.model.Vraboten.Vraboten;
|
---|
| 14 | import com.proekt.model.Vraboten.VrabotenKey;
|
---|
| 15 | import org.springframework.stereotype.Controller;
|
---|
| 16 | import org.springframework.ui.Model;
|
---|
| 17 | import org.springframework.web.bind.annotation.*;
|
---|
| 18 |
|
---|
| 19 | import java.util.List;
|
---|
| 20 |
|
---|
| 21 | @Controller
|
---|
| 22 | @RequestMapping("/register-employee")
|
---|
| 23 | public class RegisterEmployee {
|
---|
| 24 |
|
---|
| 25 | private final NajavaRepository najavaRepository;
|
---|
| 26 | private final AdministratorRepository administratorRepository;
|
---|
| 27 | private final VrabotenRepository1 vrabotenRepository;
|
---|
| 28 | private final KontrolerRepository kontrolerRepository;
|
---|
| 29 |
|
---|
| 30 | public RegisterEmployee(NajavaRepository najavaRepository, AdministratorRepository administratorRepository, VrabotenRepository1 vrabotenRepository, KontrolerRepository kontrolerRepository) {
|
---|
| 31 | this.najavaRepository = najavaRepository;
|
---|
| 32 | this.administratorRepository = administratorRepository;
|
---|
| 33 | this.vrabotenRepository = vrabotenRepository;
|
---|
| 34 | this.kontrolerRepository = kontrolerRepository;
|
---|
| 35 | }
|
---|
| 36 |
|
---|
| 37 |
|
---|
| 38 | @GetMapping
|
---|
| 39 | public String getRegisterPage(@RequestParam(required = false) String error, Model model) {
|
---|
| 40 | if(error != null && !error.isEmpty()) {
|
---|
| 41 | model.addAttribute("hasError", true);
|
---|
| 42 | model.addAttribute("error", error);
|
---|
| 43 | }
|
---|
| 44 | model.addAttribute("bodyContent","registerEmployee");
|
---|
| 45 | return "master-template";
|
---|
| 46 | }
|
---|
| 47 |
|
---|
| 48 | @PostMapping
|
---|
| 49 | public String register(@RequestParam String korisnicko_ime,
|
---|
| 50 | @RequestParam String ime,
|
---|
| 51 | @RequestParam String prezime,
|
---|
| 52 | @RequestParam String embg,
|
---|
| 53 | @RequestParam String email,
|
---|
| 54 | @RequestParam String br_tel,
|
---|
| 55 | @RequestParam String password,
|
---|
| 56 | @RequestParam String user_role
|
---|
| 57 | ) {
|
---|
| 58 |
|
---|
| 59 | String admin = "ROLE_ADMIN";
|
---|
| 60 | String controller = "ROLE_CONTROLLER";
|
---|
| 61 |
|
---|
| 62 |
|
---|
| 63 |
|
---|
| 64 | if(user_role.equals(admin)){
|
---|
| 65 | Najava najava = new Najava();
|
---|
| 66 | najava.setKorisnickoIme(korisnicko_ime);
|
---|
| 67 | najava.setIme(ime);
|
---|
| 68 | najava.setPrezime(prezime);
|
---|
| 69 | najava.setEmbg(embg);
|
---|
| 70 | najava.setEmail(email);
|
---|
| 71 | najava.setBrTel(br_tel);
|
---|
| 72 | najava.setPassword(password);
|
---|
| 73 | this.najavaRepository.save(najava);
|
---|
| 74 |
|
---|
| 75 | Administrator admin2 = new Administrator();
|
---|
| 76 | AdminKey adminKey = new AdminKey(najava);
|
---|
| 77 | admin2.setAdminKey(adminKey);
|
---|
| 78 | List<Najava> administrators = najavaRepository.findAll();
|
---|
| 79 | int size = administrators.size() + 1;
|
---|
| 80 | admin2.setIdAdministrator(size);
|
---|
| 81 | this.administratorRepository.save(admin2);
|
---|
| 82 |
|
---|
| 83 | Vraboten vraboten = new Vraboten();
|
---|
| 84 | VrabotenKey vrabotenKey = new VrabotenKey(najava);
|
---|
| 85 | vraboten.setVrabotenKey(vrabotenKey);
|
---|
| 86 | //vraboten.setIdVraboten(1337);
|
---|
| 87 | vraboten.setUloga("Administrator");
|
---|
| 88 | vraboten.setIdVraboten(size);
|
---|
| 89 | this.vrabotenRepository.save(vraboten);
|
---|
| 90 | return "redirect:/success";
|
---|
| 91 | }else if(user_role.equals(controller)){
|
---|
| 92 |
|
---|
| 93 | Najava najava = new Najava();
|
---|
| 94 | najava.setKorisnickoIme(korisnicko_ime);
|
---|
| 95 | najava.setIme(ime);
|
---|
| 96 | najava.setPrezime(prezime);
|
---|
| 97 | najava.setEmbg(embg);
|
---|
| 98 | najava.setEmail(email);
|
---|
| 99 | najava.setBrTel(br_tel);
|
---|
| 100 | najava.setPassword(password);
|
---|
| 101 | this.najavaRepository.save(najava);
|
---|
| 102 |
|
---|
| 103 | KontrolerKey kontrolerKey = new KontrolerKey(najava);
|
---|
| 104 | Kontroler kontroler = new Kontroler();
|
---|
| 105 | kontroler.setKontrolerKey(kontrolerKey);
|
---|
| 106 | List<Najava> administrators = najavaRepository.findAll();
|
---|
| 107 | int size = administrators.size() + 1;
|
---|
| 108 | kontroler.setId_kontroler(size);
|
---|
| 109 | this.kontrolerRepository.save(kontroler);
|
---|
| 110 |
|
---|
| 111 | Vraboten vraboten = new Vraboten();
|
---|
| 112 | VrabotenKey vrabotenKey = new VrabotenKey(najava);
|
---|
| 113 | vraboten.setVrabotenKey(vrabotenKey);
|
---|
| 114 | //vraboten.setIdVraboten(1337);
|
---|
| 115 | vraboten.setUloga("Controller");
|
---|
| 116 | vraboten.setIdVraboten(size);
|
---|
| 117 | this.vrabotenRepository.save(vraboten);
|
---|
| 118 | return "redirect:/success";
|
---|
| 119 | }else{
|
---|
| 120 | return "redirect:/register-employee";
|
---|
| 121 | }
|
---|
| 122 | }
|
---|
| 123 |
|
---|
| 124 | }
|
---|