Skip to content
Snippets Groups Projects
Commit 58af24ae authored by srosse's avatar srosse
Browse files

OO-3530: warning if the folder defined in BC course element doesn't exist (patch S. Clemenz)

parent a137d9b1
No related branches found
No related tags found
No related merge requests found
...@@ -360,7 +360,7 @@ public class MergedCourseContainer extends MergeSource { ...@@ -360,7 +360,7 @@ public class MergedCourseContainer extends MergeSource {
} else { } else {
VFSContainer courseBase = course.getCourseBaseContainer(); VFSContainer courseBase = course.getCourseBaseContainer();
rootFolder = (VFSContainer) courseBase.resolve("/coursefolder" + subpath); rootFolder = (VFSContainer) courseBase.resolve("/coursefolder" + subpath);
if(rootFolder.getLocalSecurityCallback() != null) { if(rootFolder != null && rootFolder.getLocalSecurityCallback() != null) {
SubscriptionContext subContext = CourseModule.createSubscriptionContext(course.getCourseEnvironment(), bcNode); SubscriptionContext subContext = CourseModule.createSubscriptionContext(course.getCourseEnvironment(), bcNode);
rootFolder.setLocalSecurityCallback(new OverrideSubscriptionSecurityCallback(rootFolder.getLocalSecurityCallback(), subContext)); rootFolder.setLocalSecurityCallback(new OverrideSubscriptionSecurityCallback(rootFolder.getLocalSecurityCallback(), subContext));
} }
......
...@@ -66,6 +66,7 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control ...@@ -66,6 +66,7 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
private FormLink createFolder; private FormLink createFolder;
private BCCourseNodeEditCreateFolderForm createFolderForm; private BCCourseNodeEditCreateFolderForm createFolderForm;
private FormItem sharedFolderWarning, sharedFolderInfo; private FormItem sharedFolderWarning, sharedFolderInfo;
private FormItem linkedFolderWarning;
private BCCourseNodeEditChooseFolderForm chooseForm; private BCCourseNodeEditChooseFolderForm chooseForm;
public BCCourseNodeEditForm(UserRequest ureq, WindowControl wControl, BCCourseNode bcNode, ICourse course) { public BCCourseNodeEditForm(UserRequest ureq, WindowControl wControl, BCCourseNode bcNode, ICourse course) {
...@@ -89,12 +90,16 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control ...@@ -89,12 +90,16 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
sharedFolderWarning = uifactory.createSimpleErrorText("warning", translate("warning.no.sharedfolder")); sharedFolderWarning = uifactory.createSimpleErrorText("warning", translate("warning.no.sharedfolder"));
formLayout.add(sharedFolderWarning); formLayout.add(sharedFolderWarning);
linkedFolderWarning = uifactory.createSimpleErrorText("warning2", translate("warning.no.linkedfolder"));
formLayout.add(linkedFolderWarning);
boolean isAuto = node.getModuleConfiguration().getBooleanSafe(BCCourseNodeEditController.CONFIG_AUTO_FOLDER); boolean isAuto = node.getModuleConfiguration().getBooleanSafe(BCCourseNodeEditController.CONFIG_AUTO_FOLDER);
if(isAuto){ if(isAuto){
folderTargetChoose.select("autoPath", true); folderTargetChoose.select("autoPath", true);
subPath.setVisible(false); subPath.setVisible(false);
sharedFolderWarning.setVisible(false); sharedFolderWarning.setVisible(false);
linkedFolderWarning.setVisible(false);
}else{ }else{
folderTargetChoose.select("pathChoose", false); folderTargetChoose.select("pathChoose", false);
String subpath = node.getModuleConfiguration().getStringValue(BCCourseNodeEditController.CONFIG_SUBPATH); String subpath = node.getModuleConfiguration().getStringValue(BCCourseNodeEditController.CONFIG_SUBPATH);
...@@ -110,6 +115,12 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control ...@@ -110,6 +115,12 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
sharedFolderWarning.setVisible(false); sharedFolderWarning.setVisible(false);
} }
if(isLinkedFolderNotPresent()){
linkedFolderWarning.setVisible(true);
}else{
linkedFolderWarning.setVisible(false);
}
} }
if(node.isSharedFolder()) { if(node.isSharedFolder()) {
...@@ -137,6 +148,7 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control ...@@ -137,6 +148,7 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
if(folderTargetChoose.isSelected(0)){ if(folderTargetChoose.isSelected(0)){
sharedFolderWarning.setVisible(false); sharedFolderWarning.setVisible(false);
linkedFolderWarning.setVisible(false);
}else{ }else{
if(isSharedfolderNotPresent()){ if(isSharedfolderNotPresent()){
sharedFolderWarning.setVisible(true); sharedFolderWarning.setVisible(true);
...@@ -148,6 +160,11 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control ...@@ -148,6 +160,11 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
}else{ }else{
sharedFolderInfo.setVisible(false); sharedFolderInfo.setVisible(false);
} }
if(isLinkedFolderNotPresent()){
linkedFolderWarning.setVisible(true);
}else{
linkedFolderWarning.setVisible(false);
}
} }
if(source == folderTargetChoose){ if(source == folderTargetChoose){
subPath.setVisible(folderTargetChoose.isSelected(1)); subPath.setVisible(folderTargetChoose.isSelected(1));
...@@ -276,4 +293,10 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control ...@@ -276,4 +293,10 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
return false; return false;
} }
private boolean isLinkedFolderNotPresent(){
VFSContainer courseBase = course.getCourseBaseContainer();
String subpath = node.getModuleConfiguration().getStringValue(BCCourseNodeEditController.CONFIG_SUBPATH);
VFSContainer rootFolder = (VFSContainer) courseBase.resolve("/coursefolder" + subpath);
return rootFolder == null;
}
} }
...@@ -31,4 +31,5 @@ createPath=Zu erstellender Pfad ...@@ -31,4 +31,5 @@ createPath=Zu erstellender Pfad
createButton=Ordner erstellen createButton=Ordner erstellen
warning.no.sharedfolder=Der konfigurierte Ressourcenordner ist nicht mehr verf\u00FCgbar warning.no.sharedfolder=Der konfigurierte Ressourcenordner ist nicht mehr verf\u00FCgbar
info.sharedfolder=F\u00fcr den Ressourcenordner erhalten Kursmitglieder im Kurs nur Leserechte. info.sharedfolder=F\u00fcr den Ressourcenordner erhalten Kursmitglieder im Kurs nur Leserechte.
warning.no.linkedfolder=Der angegebene Ordner existiert nicht im Ablageordner.
chooseFolder=Ordner w\u00E4hlen chooseFolder=Ordner w\u00E4hlen
...@@ -30,4 +30,5 @@ subPathLab.dummy=There is no folder configured yet ...@@ -30,4 +30,5 @@ subPathLab.dummy=There is no folder configured yet
subPathLab.label=File path subPathLab.label=File path
title_bc=Folder title_bc=Folder
warn.folderdelete=Warning\: all the files of the folder will be deleted. warn.folderdelete=Warning\: all the files of the folder will be deleted.
warning.no.linkedfolder=The configured folder is not available in the course storage folder.
warning.no.sharedfolder=The configured resourcefolder is not available anymore\! warning.no.sharedfolder=The configured resourcefolder is not available anymore\!
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