|
|
@ -2,12 +2,14 @@ package ru.ulstu.project.service;
|
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import org.springframework.validation.Errors;
|
|
|
|
import org.thymeleaf.util.StringUtils;
|
|
|
|
import org.thymeleaf.util.StringUtils;
|
|
|
|
import ru.ulstu.deadline.service.DeadlineService;
|
|
|
|
import ru.ulstu.deadline.service.DeadlineService;
|
|
|
|
import ru.ulstu.file.model.FileDataDto;
|
|
|
|
import ru.ulstu.file.model.FileDataDto;
|
|
|
|
import ru.ulstu.file.service.FileService;
|
|
|
|
import ru.ulstu.file.service.FileService;
|
|
|
|
import ru.ulstu.grant.model.GrantDto;
|
|
|
|
import ru.ulstu.grant.model.GrantDto;
|
|
|
|
import ru.ulstu.grant.repository.GrantRepository;
|
|
|
|
import ru.ulstu.grant.repository.GrantRepository;
|
|
|
|
|
|
|
|
import ru.ulstu.name.BaseService;
|
|
|
|
import ru.ulstu.project.model.Project;
|
|
|
|
import ru.ulstu.project.model.Project;
|
|
|
|
import ru.ulstu.project.model.ProjectDto;
|
|
|
|
import ru.ulstu.project.model.ProjectDto;
|
|
|
|
import ru.ulstu.project.repository.ProjectRepository;
|
|
|
|
import ru.ulstu.project.repository.ProjectRepository;
|
|
|
@ -26,7 +28,7 @@ import static ru.ulstu.core.util.StreamApiUtils.convert;
|
|
|
|
import static ru.ulstu.project.model.Project.ProjectStatus.TECHNICAL_TASK;
|
|
|
|
import static ru.ulstu.project.model.Project.ProjectStatus.TECHNICAL_TASK;
|
|
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
@Service
|
|
|
|
public class ProjectService {
|
|
|
|
public class ProjectService extends BaseService {
|
|
|
|
private final static int MAX_DISPLAY_SIZE = 40;
|
|
|
|
private final static int MAX_DISPLAY_SIZE = 40;
|
|
|
|
|
|
|
|
|
|
|
|
private final ProjectRepository projectRepository;
|
|
|
|
private final ProjectRepository projectRepository;
|
|
|
@ -48,6 +50,7 @@ public class ProjectService {
|
|
|
|
this.fileService = fileService;
|
|
|
|
this.fileService = fileService;
|
|
|
|
this.eventService = eventService;
|
|
|
|
this.eventService = eventService;
|
|
|
|
this.userService = userService;
|
|
|
|
this.userService = userService;
|
|
|
|
|
|
|
|
this.baseRepository = projectRepository;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public List<Project> findAll() {
|
|
|
|
public List<Project> findAll() {
|
|
|
@ -118,6 +121,19 @@ public class ProjectService {
|
|
|
|
return project;
|
|
|
|
return project;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Boolean save(ProjectDto projectDto, Errors errors) throws IOException {
|
|
|
|
|
|
|
|
projectDto.setName(projectDto.getTitle());
|
|
|
|
|
|
|
|
checkUniqueName(projectDto,
|
|
|
|
|
|
|
|
errors,
|
|
|
|
|
|
|
|
projectDto.getId(),
|
|
|
|
|
|
|
|
"title",
|
|
|
|
|
|
|
|
"Проект с таким именем уже существует");
|
|
|
|
|
|
|
|
if (errors.hasErrors()) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public Project save(ProjectDto projectDto) throws IOException {
|
|
|
|
public Project save(ProjectDto projectDto) throws IOException {
|
|
|
|
if (isEmpty(projectDto.getId())) {
|
|
|
|
if (isEmpty(projectDto.getId())) {
|
|
|
|
return create(projectDto);
|
|
|
|
return create(projectDto);
|
|
|
|