Skip to content
Snippets Groups Projects
Commit 0b5ddcb9 authored by srosse's avatar srosse
Browse files

OO-1518: remove assessment modes before deleting the repository entry

parent 071f78a9
No related branches found
No related tags found
No related merge requests found
...@@ -48,6 +48,8 @@ public interface AssessmentModeManager { ...@@ -48,6 +48,8 @@ public interface AssessmentModeManager {
*/ */
public AssessmentMode createAssessmentMode(RepositoryEntry entry); public AssessmentMode createAssessmentMode(RepositoryEntry entry);
public AssessmentModeToGroup createAssessmentModeToGroup(AssessmentMode mode, BusinessGroup group); public AssessmentModeToGroup createAssessmentModeToGroup(AssessmentMode mode, BusinessGroup group);
public void deleteAssessmentModesToGroup(BusinessGroupRef group); public void deleteAssessmentModesToGroup(BusinessGroupRef group);
...@@ -65,7 +67,19 @@ public interface AssessmentModeManager { ...@@ -65,7 +67,19 @@ public interface AssessmentModeManager {
*/ */
public AssessmentMode merge(AssessmentMode assessmentMode, boolean forceStatus); public AssessmentMode merge(AssessmentMode assessmentMode, boolean forceStatus);
/**
* Delete a specific assessment mode.
*
* @param assessmentMode
*/
public void delete(AssessmentMode assessmentMode); public void delete(AssessmentMode assessmentMode);
/**
* Delete all assessment modes of a course.
*
* @param entry
*/
public void delete(RepositoryEntryRef entry);
public AssessmentMode getAssessmentModeById(Long key); public AssessmentMode getAssessmentModeById(Long key);
......
...@@ -177,6 +177,13 @@ public class AssessmentModeManagerImpl implements AssessmentModeManager { ...@@ -177,6 +177,13 @@ public class AssessmentModeManagerImpl implements AssessmentModeManager {
dbInstance.getCurrentEntityManager().remove(refMode); dbInstance.getCurrentEntityManager().remove(refMode);
} }
@Override
public void delete(RepositoryEntryRef entry) {
for(AssessmentMode mode: getAssessmentModeFor(entry)) {
delete(mode);
}
}
@Override @Override
public AssessmentMode getAssessmentModeById(Long key) { public AssessmentMode getAssessmentModeById(Long key) {
List<AssessmentMode> modes = dbInstance.getCurrentEntityManager() List<AssessmentMode> modes = dbInstance.getCurrentEntityManager()
......
...@@ -51,12 +51,13 @@ import org.olat.core.util.vfs.LocalFolderImpl; ...@@ -51,12 +51,13 @@ import org.olat.core.util.vfs.LocalFolderImpl;
import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSContainer;
import org.olat.core.util.vfs.VFSItem; import org.olat.core.util.vfs.VFSItem;
import org.olat.core.util.vfs.VFSLeaf; import org.olat.core.util.vfs.VFSLeaf;
import org.olat.course.assessment.AssessmentModeManager;
import org.olat.course.assessment.manager.UserCourseInformationsManager; import org.olat.course.assessment.manager.UserCourseInformationsManager;
import org.olat.course.certificate.CertificatesManager; import org.olat.course.certificate.CertificatesManager;
import org.olat.repository.ErrorList; import org.olat.repository.ErrorList;
import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntry;
import org.olat.repository.RepositoryEntryAuthorView;
import org.olat.repository.RepositoryEntryAllowToLeaveOptions; import org.olat.repository.RepositoryEntryAllowToLeaveOptions;
import org.olat.repository.RepositoryEntryAuthorView;
import org.olat.repository.RepositoryEntryMyView; import org.olat.repository.RepositoryEntryMyView;
import org.olat.repository.RepositoryEntryRef; import org.olat.repository.RepositoryEntryRef;
import org.olat.repository.RepositoryEntryRelationType; import org.olat.repository.RepositoryEntryRelationType;
...@@ -114,6 +115,8 @@ public class RepositoryServiceImpl implements RepositoryService { ...@@ -114,6 +115,8 @@ public class RepositoryServiceImpl implements RepositoryService {
private CertificatesManager certificatesManager; private CertificatesManager certificatesManager;
@Autowired @Autowired
private UserCourseInformationsManager userCourseInformationsManager; private UserCourseInformationsManager userCourseInformationsManager;
@Autowired
private AssessmentModeManager assessmentModeMgr;
@Autowired @Autowired
private LifeFullIndexer lifeIndexer; private LifeFullIndexer lifeIndexer;
...@@ -299,6 +302,8 @@ public class RepositoryServiceImpl implements RepositoryService { ...@@ -299,6 +302,8 @@ public class RepositoryServiceImpl implements RepositoryService {
CoreSpringFactory.getImpl(MarkManager.class).deleteMarks(entry); CoreSpringFactory.getImpl(MarkManager.class).deleteMarks(entry);
// delete all catalog entries referencing deleted entry // delete all catalog entries referencing deleted entry
catalogManager.resourceableDeleted(entry); catalogManager.resourceableDeleted(entry);
// delete assessment modes
assessmentModeMgr.delete(entry);
//delete all policies //delete all policies
securityManager.deletePolicies(resource); securityManager.deletePolicies(resource);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment