remove papers
This commit is contained in:
parent
1f5cde4b66
commit
1460e26127
@ -67,4 +67,8 @@ public class DeadlineService {
|
||||
public Deadline createWithOffset(Date date, long value, ChronoUnit chronoUnit) {
|
||||
return create(DateUtils.localDateToDate(DateUtils.convertToLocalDate(date).plus(value, chronoUnit)));
|
||||
}
|
||||
|
||||
public void delete(List<Deadline> deadlines) {
|
||||
deadlineRepository.deleteInBatch(deadlines);
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,7 @@ public class PapersView {
|
||||
|
||||
public void deleteSelected() {
|
||||
paperService.delete(selectedPapers);
|
||||
papers = paperService.findAll();
|
||||
}
|
||||
|
||||
public List<Paper.PaperStatus> getPaperStatuses() {
|
||||
|
@ -99,7 +99,7 @@ public class Paper extends BaseEntity implements UserActivity, EventSource {
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
private Date updateDate = new Date();
|
||||
|
||||
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
|
||||
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
|
||||
@JoinColumn(name = "paper_id", unique = true)
|
||||
@Fetch(FetchMode.SUBSELECT)
|
||||
@OrderBy("date")
|
||||
|
@ -233,8 +233,7 @@ public class PaperService {
|
||||
|
||||
@Transactional
|
||||
public void delete(Integer paperId) {
|
||||
Paper paper = paperRepository.getOne(paperId);
|
||||
paperRepository.delete(paper);
|
||||
delete(paperRepository.getOne(paperId));
|
||||
}
|
||||
|
||||
public List<Paper.PaperStatus> getPaperStatuses() {
|
||||
@ -439,6 +438,11 @@ public class PaperService {
|
||||
}
|
||||
|
||||
public void delete(List<Paper> papers) {
|
||||
paperRepository.deleteInBatch(papers);
|
||||
papers.forEach(paper -> delete(paper));
|
||||
}
|
||||
|
||||
public void delete(Paper paper) {
|
||||
deadlineService.delete(paper.getDeadlines());
|
||||
paperRepository.delete(paper);
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,8 @@
|
||||
}
|
||||
</style>
|
||||
<p:dataTable value="#{papersView.papers}" var="paper" paginator="true" rows="10" id="papersTable"
|
||||
widgetVar="papersTable" emptyMessage="Не найдено подходящих статей">
|
||||
widgetVar="papersTable" emptyMessage="Не найдено подходящих статей"
|
||||
selection="#{papersView.selectedPapers}" rowKey="#{paper.id}">
|
||||
<f:facet name="header">
|
||||
<p:outputPanel>
|
||||
<h:outputText value="Поиск:"/>
|
||||
@ -19,6 +20,11 @@
|
||||
placeholder="Строка поиска..."/>
|
||||
</p:outputPanel>
|
||||
</f:facet>
|
||||
<p:ajax event="rowSelect" update="mainForm:papersRemoveButton" process="@form"/>
|
||||
<p:ajax event="rowSelectCheckbox" update="mainForm:papersRemoveButton" process="@form"/>
|
||||
<p:ajax event="rowUnselectCheckbox" update="mainForm:papersRemoveButton" process="@form"/>
|
||||
<p:ajax event="rowUnselect" update="mainForm:papersRemoveButton" process="@form"/>
|
||||
<p:column selectionMode="multiple" style="width:16px;text-align:center"/>
|
||||
<p:column headerText="Название" filterBy="#{paper.title}" filterMatchMode="contains">
|
||||
<h:outputLink value="/paper/paper.xhtml">
|
||||
#{paper.title}
|
||||
@ -41,9 +47,10 @@
|
||||
</p:column>
|
||||
</p:dataTable>
|
||||
<div class="ui-g-3">
|
||||
<p:commandButton value="Удалить выделенные" disabled="#{papersView.selectedPapers.isEmpty()}"
|
||||
<p:commandButton value="Удалить выделенные" id="papersRemoveButton"
|
||||
disabled="#{papersView.selectedPapers.isEmpty()}"
|
||||
action="#{papersView.deleteSelected}" ajax="true" process="@form"
|
||||
update="messages @form mainForm:papersTable"/>
|
||||
update="messages @form"/>
|
||||
</div>
|
||||
<p:inputText placeholder="Создать новую статью" value="#{papersView.newPaperTitle}"/>
|
||||
<p:commandButton action="#{papersView.create}" value="Сохранить" ajax="true" process="@form"
|
||||
|
Loading…
Reference in New Issue
Block a user