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 | }
|
---|