- Timestamp:
- 05/05/24 01:27:16 (7 months ago)
- Branches:
- master
- Children:
- baf4cc4
- Parents:
- 4d026a5
- Location:
- src/main
- Files:
-
- 1 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
src/main/java/mk/ukim/finki/busngo/model/entities/Kondukter.java
r4d026a5 r8b875e6 3 3 import jakarta.persistence.*; 4 4 import lombok.Data; 5 import lombok.EqualsAndHashCode; 5 6 6 7 import java.util.List; 7 8 import java.util.Objects; 8 9 10 @EqualsAndHashCode(callSuper = true) 9 11 @Data 10 12 @Entity -
src/main/java/mk/ukim/finki/busngo/model/entities/Korisnik.java
r4d026a5 r8b875e6 50 50 private String kLozinka; 51 51 52 @Basic 53 @Column(name = "k_role") 54 @Enumerated(EnumType.STRING) 55 private Role kRole; 56 52 57 // @OneToMany(mappedBy = "korisnikByPatnikKId") 53 58 // private List<Bilet> biletsByKId; … … 60 65 @Override 61 66 public Collection<? extends GrantedAuthority> getAuthorities() { 62 return kIsAdmin ? Collections.singletonList(Role.ROLE_ADMIN) : Collections.singletonList(Role.ROLE_USER);67 return Collections.singletonList(kRole); 63 68 } 64 69 -
src/main/java/mk/ukim/finki/busngo/model/entities/Patnik.java
r4d026a5 r8b875e6 3 3 import jakarta.persistence.*; 4 4 import lombok.Data; 5 import lombok.EqualsAndHashCode; 5 6 6 7 import java.util.List; 7 8 import java.util.Objects; 8 9 10 @EqualsAndHashCode(callSuper = true) 9 11 @Data 10 12 @Entity -
src/main/java/mk/ukim/finki/busngo/model/entities/Vozac.java
r4d026a5 r8b875e6 3 3 import jakarta.persistence.*; 4 4 import lombok.Data; 5 import lombok.EqualsAndHashCode; 5 6 6 7 import java.util.List; 7 8 import java.util.Objects; 8 9 10 @EqualsAndHashCode(callSuper = true) 9 11 @Data 10 12 @Entity -
src/main/java/mk/ukim/finki/busngo/model/entities/Vraboten.java
r4d026a5 r8b875e6 3 3 import jakarta.persistence.*; 4 4 import lombok.Data; 5 import lombok.EqualsAndHashCode; 5 6 import lombok.Getter; 6 7 … … 8 9 import java.util.Objects; 9 10 11 @EqualsAndHashCode(callSuper = true) 10 12 @Data 11 13 @Entity -
src/main/java/mk/ukim/finki/busngo/service/AuthService.java
r4d026a5 r8b875e6 2 2 3 3 import mk.ukim.finki.busngo.model.entities.Korisnik; 4 import mk.ukim.finki.busngo.model.enums.Role; 4 5 import mk.ukim.finki.busngo.model.enums.VrabotenType; 5 6 … … 9 10 Korisnik registerVraboten(String ime, String email, String password, String confirmPassword, String address, String telefon, VrabotenType type, Double salary); 10 11 12 Korisnik register(String name, String email, String password, String confirmPassword, String address, String phone, Role role, Double salary); 11 13 } -
src/main/java/mk/ukim/finki/busngo/service/KorisnikService.java
r4d026a5 r8b875e6 2 2 3 3 import mk.ukim.finki.busngo.model.entities.Korisnik; 4 import mk.ukim.finki.busngo.model.enums.Role; 4 5 5 6 … … 10 11 Korisnik findById(Long id); 11 12 Korisnik loadUserByEmail(String email); 13 12 14 } -
src/main/java/mk/ukim/finki/busngo/service/impl/AuthServiceImpl.java
r4d026a5 r8b875e6 5 5 import mk.ukim.finki.busngo.model.entities.Patnik; 6 6 import mk.ukim.finki.busngo.model.entities.Vozac; 7 import mk.ukim.finki.busngo.model.enums.Role; 7 8 import mk.ukim.finki.busngo.model.enums.VrabotenType; 8 9 import mk.ukim.finki.busngo.model.exceptions.InvalidCredentialsException; … … 128 129 } 129 130 131 @Override 132 public Korisnik register(String name, String email, String password, String confirmPassword, String address, String phone, Role role, Double salary) { 133 if (email == null || password == null || email.isEmpty() || password.isEmpty()) { 134 throw new InvalidCredentialsException(); 135 } 136 137 if(!password.equals(confirmPassword)){ 138 throw new InvalidCredentialsException(); 139 } 140 141 if(role.equals(Role.ROLE_DRIVER)){ 142 Vozac vozac = new Vozac(); 143 vozac.setKIme(name); 144 vozac.setKAdresa(address); 145 vozac.setKLozinka(passwordEncoder.encode(password)); 146 vozac.setKEmail(email); 147 vozac.setKTelefon(phone); 148 vozac.setKIsAdmin(role.equals(Role.ROLE_ADMIN)); 149 vozac.setKRole(role); 150 vozac.setVPlata(salary != null ? salary : 0.0); 151 vozac.setVDatumNaVrabotuvanje(Date.valueOf(LocalDate.now())); 152 this.korisnikRepository.save(vozac); 153 return vozacRepository.save(vozac); 154 } else if(role.equals(Role.ROLE_CONDUCTOR)){ 155 Kondukter kondukter = new Kondukter(); 156 kondukter.setKIme(name); 157 kondukter.setKAdresa(address); 158 kondukter.setKLozinka(passwordEncoder.encode(password)); 159 kondukter.setKEmail(email); 160 kondukter.setKTelefon(phone); 161 kondukter.setKIsAdmin(role.equals(Role.ROLE_ADMIN)); 162 kondukter.setKRole(role); 163 kondukter.setVPlata(salary != null ? salary : 0.0); 164 kondukter.setVDatumNaVrabotuvanje(Date.valueOf(LocalDate.now())); 165 this.korisnikRepository.save(kondukter); 166 return kondukterRepository.save(kondukter); 167 } else { 168 Patnik patnik = new Patnik(); 169 patnik.setKIme(name); 170 patnik.setKAdresa(address); 171 patnik.setKLozinka(passwordEncoder.encode(password)); 172 patnik.setKEmail(email); 173 patnik.setKTelefon(phone); 174 patnik.setKIsAdmin(role.equals(Role.ROLE_ADMIN)); 175 patnik.setKRole(role); 176 this.korisnikRepository.save(patnik); 177 return patnikRepository.save(patnik); 178 } 179 } 180 130 181 131 182 } -
src/main/java/mk/ukim/finki/busngo/service/impl/KorisnikServiceImpl.java
r4d026a5 r8b875e6 2 2 3 3 import mk.ukim.finki.busngo.model.entities.Korisnik; 4 import mk.ukim.finki.busngo.model.enums.Role; 4 5 import mk.ukim.finki.busngo.model.exceptions.InvalidUserId; 5 6 import mk.ukim.finki.busngo.repository.KorisnikRepository; -
src/main/java/mk/ukim/finki/busngo/web/RegisterController.java
r4d026a5 r8b875e6 2 2 3 3 import mk.ukim.finki.busngo.model.entities.Korisnik; 4 import mk.ukim.finki.busngo.model.enums.Role; 4 5 import mk.ukim.finki.busngo.model.enums.VrabotenType; 5 6 import mk.ukim.finki.busngo.model.exceptions.InvalidCredentialsException; … … 35 36 } 36 37 37 model.addAttribute(" types", VrabotenType.values());38 model.addAttribute("roles", Role.values()); 38 39 39 40 model.addAttribute("bodyContent", "register"); … … 48 49 @RequestParam String address, 49 50 @RequestParam String phone, 50 @RequestParam (required = false)VrabotenType vrabotenType,51 @RequestParam Role role, 51 52 @RequestParam(required = false) Double salary 52 53 ) { 53 54 try{ 54 Korisnik korisnik; 55 if(vrabotenType != null){ 56 korisnik = this.authService.registerVraboten(name, email, password, confirmPassword, address, phone, vrabotenType, salary); 55 Korisnik korisnik = authService.register(name, email, password, confirmPassword, address, phone, role, salary); 57 56 58 }59 else60 korisnik = this.authService.registerPatnik(name, email, password, confirmPassword, address, phone);61 57 return "redirect:/login"; 62 58 } catch (InvalidCredentialsException | UserAlreadyExistsException exception) { -
src/main/resources/application.properties
r4d026a5 r8b875e6 1 1 # 2 spring.datasource.url=jdbc:postgresql://localhost:808 9/db_202324z_va_prj_busngo2 spring.datasource.url=jdbc:postgresql://localhost:8081/db_202324z_va_prj_busngo 3 3 spring.datasource.username=db_202324z_va_prj_busngo_owner 4 4 spring.datasource.password=d9f924580e7 … … 11 11 #spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect 12 12 spring.jpa.properties.hibernate.jdbc.non_contextual_creation=true 13 spring.jpa.properties.hibernate.default_schema=project 13 spring.jpa.properties.hibernate.default_schema=project_new 14 14 15 15 spring.jpa.hibernate.ddl-auto=validate -
src/main/resources/templates/fragments/header.html
r4d026a5 r8b875e6 10 10 <div class="collapse navbar-collapse justify-content-end" id="navbarsExampleDefault"> 11 11 <ul class="navbar-nav m-auto"> 12 <li sec: hasRoleclass="nav-item m-auto">12 <li sec:authorize="hasRole('ROLE_PASSENGER')" class="nav-item m-auto"> 13 13 <a class="nav-link active" href="/bilet">Bileti</a> 14 14 </li> 15 <li class="nav-item m-auto">15 <li sec:authorize="hasAnyRole('ROLE_PASSENGER')" class="nav-item m-auto"> 16 16 <a class="nav-link active" href="/vozenje">Vozenja</a> 17 17 </li> 18 <li class="nav-item m-auto">18 <li sec:authorize="hasRole('ROLE_PASSENGER')" class="nav-item m-auto"> 19 19 <a class="nav-link active" href="/kazna">Kazni</a> 20 20 </li> 21 <li class="nav-item m-auto">21 <li sec:authorize="hasAnyRole('ROLE_CONDUCTOR', 'ROLE_DRIVER')" class="nav-item m-auto"> 22 22 <a class="nav-link active" href="/instanca-na-linija">Instanci</a> 23 23 </li> -
src/main/resources/templates/register.html
r4d026a5 r8b875e6 29 29 </p> 30 30 31 <p sec:authorize="hasRole('ROLE_ADMIN')">32 <label for=" vrabotenType" class="sr-only">Vraboten Type</label>33 <select name=" vrabotenType" id="vrabotenType">34 <option th:each=" type : ${types}"35 th:text="${ type.name()}"36 th:value="${ type}" ></option>31 <!-- <p sec:authorize="hasRole('ROLE_ADMIN')">--> 32 <label for="role" class="sr-only">Role</label> 33 <select name="role" id="role"> 34 <option th:each="role : ${roles}" 35 th:text="${role.name()}" 36 th:value="${role}" ></option> 37 37 </select> 38 </p>38 <!-- </p>--> 39 39 40 40 <p sec:authorize="hasRole('ROLE_ADMIN')">
Note:
See TracChangeset
for help on using the changeset viewer.