All checks were successful
CI fuzzy controller / container-test-job (push) Successful in 1m40s
67 lines
2.6 KiB
Java
67 lines
2.6 KiB
Java
package ru.ulstu.fc.project.controller;
|
|
|
|
import io.swagger.v3.oas.annotations.Hidden;
|
|
import org.springframework.security.access.annotation.Secured;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.ui.Model;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import ru.ulstu.fc.project.model.Project;
|
|
import ru.ulstu.fc.project.model.ProjectDto;
|
|
import ru.ulstu.fc.project.service.ProjectRulesService;
|
|
import ru.ulstu.fc.project.service.ProjectService;
|
|
import ru.ulstu.fc.project.service.ProjectVariableService;
|
|
import ru.ulstu.fc.user.model.UserRoleConstants;
|
|
|
|
@Controller
|
|
@Hidden
|
|
@RequestMapping("project")
|
|
@Secured({UserRoleConstants.ADMIN})
|
|
public class ProjectController {
|
|
private final ProjectService projectService;
|
|
private final ProjectRulesService projectRulesService;
|
|
private final ProjectVariableService projectVariableService;
|
|
|
|
public ProjectController(ProjectService projectService,
|
|
ProjectRulesService projectRulesService,
|
|
ProjectVariableService projectVariableService) {
|
|
this.projectService = projectService;
|
|
this.projectRulesService = projectRulesService;
|
|
this.projectVariableService = projectVariableService;
|
|
}
|
|
|
|
@GetMapping("list")
|
|
public String getProjects(Model model) {
|
|
model.addAttribute("projects", projectService.getCurrentUserProjects());
|
|
return "project/list";
|
|
}
|
|
|
|
@GetMapping("/edit/{projectId}")
|
|
public String edit(@PathVariable(value = "projectId") Integer id, Model model) {
|
|
model.addAttribute("project",
|
|
new ProjectDto((id != null && id != 0)
|
|
? projectService.getById(id)
|
|
: new Project()));
|
|
|
|
model.addAttribute("rules", projectRulesService.getByProjectId(id));
|
|
model.addAttribute("variables", projectVariableService.getByProjectId(id));
|
|
return "project/edit";
|
|
}
|
|
|
|
@PostMapping(value = "save", params = "save")
|
|
public String save(ProjectDto projectDto, Model model) {
|
|
model.addAttribute("project", projectService.save(projectDto));
|
|
return "redirect:/project/list";
|
|
}
|
|
|
|
@PostMapping(value = "save", params = "delete")
|
|
public String delete(ProjectDto projectDto) {
|
|
if (projectDto != null && projectDto.getId() != null) {
|
|
projectService.delete(projectDto);
|
|
}
|
|
return "redirect:/project/list";
|
|
}
|
|
}
|