CCM NG: Some improvments for the ContentItemRepository#delete method
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4838 8810af33-2d31-482b-a856-94f89814c4dfccm-docs
parent
4f9e3dfe81
commit
5b0639ba72
|
|
@ -45,13 +45,14 @@ import javax.persistence.TypedQuery;
|
|||
|
||||
import org.libreccm.security.Shiro;
|
||||
import org.libreccm.security.User;
|
||||
import org.libreccm.security.UserManager;
|
||||
import org.libreccm.security.UserRepository;
|
||||
import org.libreccm.workflow.Task;
|
||||
import org.libreccm.workflow.TaskManager;
|
||||
import org.libreccm.workflow.TaskRepository;
|
||||
import org.libreccm.workflow.Workflow;
|
||||
import org.libreccm.workflow.WorkflowRepository;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
|
|
@ -82,12 +83,18 @@ public class ContentItemRepository
|
|||
@Inject
|
||||
private UserRepository userRepository;
|
||||
|
||||
@Inject
|
||||
private UserManager userManager;
|
||||
|
||||
@Inject
|
||||
private RoleManager roleManager;
|
||||
|
||||
@Inject
|
||||
private WorkflowRepository workflowRepo;
|
||||
|
||||
@Inject
|
||||
private TaskRepository taskRepo;
|
||||
|
||||
@Inject
|
||||
private TaskManager taskManager;
|
||||
|
||||
@Inject
|
||||
private PermissionChecker permissionChecker;
|
||||
|
||||
|
|
@ -492,6 +499,14 @@ public class ContentItemRepository
|
|||
|
||||
removeCategoryFromItem(item, category);
|
||||
}
|
||||
|
||||
if (draft.getWorkflow() != null) {
|
||||
final Workflow workflow = draft.getWorkflow();
|
||||
for(final Task task : workflow.getTasks()) {
|
||||
taskManager.removeTask(workflow, task);
|
||||
}
|
||||
workflowRepo.delete(workflow);
|
||||
}
|
||||
|
||||
super.delete(draft);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ public class TaskManager {
|
|||
task.setWorkflow(null);
|
||||
|
||||
workflowRepo.save(workflow);
|
||||
taskRepo.save(task);
|
||||
taskRepo.delete(task);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue