source: src/main/java/com/example/autopartz/controller/AdminController.java@ 1bd8d1e

main
Last change on this file since 1bd8d1e was 1bd8d1e, checked in by andrejtodorovski <82031894+andrejtodorovski@…>, 18 months ago

Added views and functionalities for deliveryman, warehouseman and admin

  • Property mode set to 100644
File size: 2.2 KB
Line 
1package com.example.autopartz.controller;
2
3import com.example.autopartz.model.Role;
4import com.example.autopartz.model.User;
5import com.example.autopartz.model.Warehouseman;
6import com.example.autopartz.repository.WarehousemanRepository;
7import com.example.autopartz.service.UserService;
8import org.springframework.stereotype.Controller;
9import org.springframework.ui.Model;
10import org.springframework.web.bind.annotation.GetMapping;
11import org.springframework.web.bind.annotation.PathVariable;
12import org.springframework.web.bind.annotation.PostMapping;
13import org.springframework.web.bind.annotation.RequestMapping;
14
15import javax.annotation.security.RolesAllowed;
16import javax.servlet.http.HttpServletResponse;
17import java.io.IOException;
18import java.time.LocalDate;
19import java.util.List;
20import java.util.Objects;
21
22@Controller
23@RequestMapping("/")
24public class AdminController {
25 private final UserService userService;
26 private final WarehousemanRepository warehousemanRepository;
27
28 public AdminController(UserService userService, WarehousemanRepository warehousemanRepository) {
29 this.userService = userService;
30 this.warehousemanRepository = warehousemanRepository;
31 }
32
33 @GetMapping("/viewUsers")
34 public String getAllUsers(Model model){
35 List<User> pendingList = userService.findAllUsers().stream().filter(u->u.getAuthorities().contains(Role.ROLE_PENDING_DELIVERYMAN) || u.getAuthorities().contains(Role.ROLE_PENDING_WAREHOUSEMAN)).toList();
36 model.addAttribute("users", pendingList);
37 model.addAttribute("bodyContent", "viewUsers");
38 return "master-template";
39 }
40 @PostMapping("/approve/{id}")
41 public void approve(@PathVariable Integer id, HttpServletResponse response){
42 if(Objects.equals(userService.findById(id).getAuthorities().stream().findFirst().get(),Role.ROLE_PENDING_WAREHOUSEMAN)){
43 Warehouseman wh = (Warehouseman) userService.findById(id);
44 wh.setEmployed_from(LocalDate.now());
45 warehousemanRepository.save(wh);
46 try {
47 response.sendRedirect("/viewUsers");
48 } catch (IOException e) {
49 throw new RuntimeException(e);
50 }
51 }
52 }
53}
Note: See TracBrowser for help on using the repository browser.