99 lines
2.6 KiB
Java
99 lines
2.6 KiB
Java
package ru.ulstu.paper.controller;
|
|
|
|
import ru.ulstu.core.navigation.Page;
|
|
import ru.ulstu.core.util.FacesUtil;
|
|
import ru.ulstu.deadline.model.Deadline;
|
|
import ru.ulstu.deadline.service.DeadlineService;
|
|
import ru.ulstu.paper.model.Paper;
|
|
import ru.ulstu.paper.service.PaperService;
|
|
import ru.ulstu.user.model.User;
|
|
import ru.ulstu.user.service.UserService;
|
|
|
|
import javax.annotation.PostConstruct;
|
|
import javax.faces.view.ViewScoped;
|
|
import javax.inject.Inject;
|
|
import javax.inject.Named;
|
|
import java.io.Serializable;
|
|
import java.util.Arrays;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
@Named
|
|
@ViewScoped
|
|
public class PaperView implements Serializable {
|
|
@Inject
|
|
private PaperService paperService;
|
|
|
|
@Inject
|
|
private DeadlineService deadlineService;
|
|
|
|
@Inject
|
|
private UserService userService;
|
|
|
|
private Paper paper;
|
|
|
|
private Date newDeadlineDate;
|
|
|
|
private String newDeadlineDescription;
|
|
|
|
@PostConstruct
|
|
public void init() {
|
|
paper = paperService.findPaperById(Integer.valueOf(FacesUtil.getRequestParams().get("id")));
|
|
newDeadlineDescription = "";
|
|
newDeadlineDate = new Date();
|
|
FacesUtil.showInfoMessage("Статья открыта", "");
|
|
}
|
|
|
|
public Paper getPaper() {
|
|
return paper;
|
|
}
|
|
|
|
public void setPaper(Paper paper) {
|
|
this.paper = paper;
|
|
}
|
|
|
|
public List<Paper.PaperStatus> getPaperStatuses() {
|
|
return Arrays.asList(Paper.PaperStatus.values());
|
|
}
|
|
|
|
public List<Paper.PaperType> getPaperTypes() {
|
|
return Arrays.asList(Paper.PaperType.values());
|
|
}
|
|
|
|
public List<User> getAuthors() {
|
|
return userService.findAll();
|
|
}
|
|
|
|
public String save() {
|
|
paperService.save(paper);
|
|
FacesUtil.showInfoMessage("Статья сохранена", "");
|
|
return Page.PAPER_LIST + "?faces-redirect=true";
|
|
}
|
|
|
|
public Date getNewDeadlineDate() {
|
|
return newDeadlineDate;
|
|
}
|
|
|
|
public void setNewDeadlineDate(Date newDeadlineDate) {
|
|
this.newDeadlineDate = newDeadlineDate;
|
|
}
|
|
|
|
public String getNewDeadlineDescription() {
|
|
return newDeadlineDescription;
|
|
}
|
|
|
|
public void setNewDeadlineDescription(String newDeadlineDescription) {
|
|
this.newDeadlineDescription = newDeadlineDescription;
|
|
}
|
|
|
|
public void deleteDeadline(Deadline deadline) {
|
|
paper.getDeadlines().remove(deadline);
|
|
}
|
|
|
|
public void addDeadline() {
|
|
paper.getDeadlines().add(deadlineService.create(newDeadlineDescription, newDeadlineDate));
|
|
newDeadlineDescription = "";
|
|
newDeadlineDate = new Date();
|
|
}
|
|
}
|