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 {
} else {
VFSContainer courseBase = course.getCourseBaseContainer();
rootFolder = (VFSContainer) courseBase.resolve("/coursefolder" + subpath);
if(rootFolder.getLocalSecurityCallback() != null) {
if(rootFolder != null && rootFolder.getLocalSecurityCallback() != null) {
SubscriptionContext subContext = CourseModule.createSubscriptionContext(course.getCourseEnvironment(), bcNode);
rootFolder.setLocalSecurityCallback(new OverrideSubscriptionSecurityCallback(rootFolder.getLocalSecurityCallback(), subContext));
}
......
......@@ -66,6 +66,7 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
private FormLink createFolder;
private BCCourseNodeEditCreateFolderForm createFolderForm;
private FormItem sharedFolderWarning, sharedFolderInfo;
private FormItem linkedFolderWarning;
private BCCourseNodeEditChooseFolderForm chooseForm;
public BCCourseNodeEditForm(UserRequest ureq, WindowControl wControl, BCCourseNode bcNode, ICourse course) {
......@@ -89,12 +90,16 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
sharedFolderWarning = uifactory.createSimpleErrorText("warning", translate("warning.no.sharedfolder"));
formLayout.add(sharedFolderWarning);
linkedFolderWarning = uifactory.createSimpleErrorText("warning2", translate("warning.no.linkedfolder"));
formLayout.add(linkedFolderWarning);
boolean isAuto = node.getModuleConfiguration().getBooleanSafe(BCCourseNodeEditController.CONFIG_AUTO_FOLDER);
if(isAuto){
folderTargetChoose.select("autoPath", true);
subPath.setVisible(false);
sharedFolderWarning.setVisible(false);
linkedFolderWarning.setVisible(false);
}else{
folderTargetChoose.select("pathChoose", false);
String subpath = node.getModuleConfiguration().getStringValue(BCCourseNodeEditController.CONFIG_SUBPATH);
......@@ -110,6 +115,12 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
sharedFolderWarning.setVisible(false);
}
if(isLinkedFolderNotPresent()){
linkedFolderWarning.setVisible(true);
}else{
linkedFolderWarning.setVisible(false);
}
}
if(node.isSharedFolder()) {
......@@ -137,6 +148,7 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
if(folderTargetChoose.isSelected(0)){
sharedFolderWarning.setVisible(false);
linkedFolderWarning.setVisible(false);
}else{
if(isSharedfolderNotPresent()){
sharedFolderWarning.setVisible(true);
......@@ -148,6 +160,11 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
}else{
sharedFolderInfo.setVisible(false);
}
if(isLinkedFolderNotPresent()){
linkedFolderWarning.setVisible(true);
}else{
linkedFolderWarning.setVisible(false);
}
}
if(source == folderTargetChoose){
subPath.setVisible(folderTargetChoose.isSelected(1));
......@@ -276,4 +293,10 @@ public class BCCourseNodeEditForm extends FormBasicController implements Control
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
createButton=Ordner erstellen
warning.no.sharedfolder=Der konfigurierte Ressourcenordner ist nicht mehr verf\u00FCgbar
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
......@@ -30,4 +30,5 @@ subPathLab.dummy=There is no folder configured yet
subPathLab.label=File path
title_bc=Folder
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\!
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