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.Shiro;
|
||||||
import org.libreccm.security.User;
|
import org.libreccm.security.User;
|
||||||
import org.libreccm.security.UserManager;
|
|
||||||
import org.libreccm.security.UserRepository;
|
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.Workflow;
|
||||||
|
import org.libreccm.workflow.WorkflowRepository;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
|
|
@ -83,10 +84,16 @@ public class ContentItemRepository
|
||||||
private UserRepository userRepository;
|
private UserRepository userRepository;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private UserManager userManager;
|
private RoleManager roleManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private RoleManager roleManager;
|
private WorkflowRepository workflowRepo;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private TaskRepository taskRepo;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private TaskManager taskManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private PermissionChecker permissionChecker;
|
private PermissionChecker permissionChecker;
|
||||||
|
|
@ -493,6 +500,14 @@ public class ContentItemRepository
|
||||||
removeCategoryFromItem(item, category);
|
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);
|
super.delete(draft);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ public class TaskManager {
|
||||||
task.setWorkflow(null);
|
task.setWorkflow(null);
|
||||||
|
|
||||||
workflowRepo.save(workflow);
|
workflowRepo.save(workflow);
|
||||||
taskRepo.save(task);
|
taskRepo.delete(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue