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

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

Added all advanced reports, added bootstrap for every template

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