diff --git a/src/main/java/at/ac/uibk/course/CreateCourseRepositoryEntryController.java b/src/main/java/at/ac/uibk/course/CreateCourseRepositoryEntryController.java index ab170c7a1b147ee1ab5455f730814fca8d8f33e7..7560dc2f4aa9f518f871c10e1fc85f0f2cb77aba 100644 --- a/src/main/java/at/ac/uibk/course/CreateCourseRepositoryEntryController.java +++ b/src/main/java/at/ac/uibk/course/CreateCourseRepositoryEntryController.java @@ -91,7 +91,8 @@ import at.ac.uibk.course.model.SisCourse; import at.ac.uibk.sis.SisManager; import at.ac.uibk.sis.SisManagerException; -public class CreateCourseRepositoryEntryController extends FormBasicController implements CreateEntryController { +public class CreateCourseRepositoryEntryController extends FormBasicController + implements CreateEntryController { public static final Event CREATION_WIZARD = new Event("start_wizard"); @@ -129,9 +130,12 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i private DateChooser periodBeginTextElement; private DateChooser periodEndTextElement; - private String[] radioAccessibilityKeys = new String[] { CreateCourseModel.ACCESSIBILITY_WITHOUT, - CreateCourseModel.ACCESSIBILITY_MEMBER, CreateCourseModel.ACCESSIBILITY_EN, - CreateCourseModel.ACCESSIBILITY_PWD, CreateCourseModel.ACCESSIBILITY_PERIOD }; + private String[] radioAccessibilityKeys = new String[] { + CreateCourseModel.ACCESSIBILITY_MEMBER, + CreateCourseModel.ACCESSIBILITY_EN, + CreateCourseModel.ACCESSIBILITY_WITHOUT, + CreateCourseModel.ACCESSIBILITY_PWD, + CreateCourseModel.ACCESSIBILITY_PERIOD }; private Translator translator; @@ -139,12 +143,15 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i private FormItemContainer flc; - public CreateCourseRepositoryEntryController(UserRequest ureq, WindowControl wControl, RepositoryHandler handler) { + public CreateCourseRepositoryEntryController(UserRequest ureq, + WindowControl wControl, RepositoryHandler handler) { super(ureq, wControl); - setTranslator(Util.createPackageTranslator(RepositoryManager.class, getLocale(), getTranslator())); + setTranslator(Util.createPackageTranslator(RepositoryManager.class, + getLocale(), getTranslator())); this.handler = handler; this.createCourseModel = new CreateCourseModel(); - translator = Util.createPackageTranslator(CreateCourseRepositoryEntryController.class, ureq.getLocale()); + translator = Util.createPackageTranslator( + CreateCourseRepositoryEntryController.class, ureq.getLocale()); initForm(ureq); } @@ -168,7 +175,8 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i private List<Identity> filterAvailableUsers(final List<String> tutors) { final List<Identity> filteredIdentities = new ArrayList<Identity>(); for (final String name : tutors) { - final Identity identity = BaseSecurityManager.getInstance().findIdentityByName(name); + final Identity identity = BaseSecurityManager.getInstance() + .findIdentityByName(name); if (identity != null) { filteredIdentities.add(identity); } @@ -186,8 +194,10 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i sync_prefix = "nosync"; } - final String[] radioAccessibilityValues = Arrays.stream(radioAccessibilityKeys) - .map(k -> translate("form.radio." + sync_prefix + "." + k)).toArray(size -> new String[size]); + final String[] radioAccessibilityValues = Arrays + .stream(radioAccessibilityKeys) + .map(k -> translate("form.radio." + sync_prefix + "." + k)) + .toArray(size -> new String[size]); final String original_selection; if (radioAccess.isOneSelected()) { @@ -196,14 +206,24 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i original_selection = null; } - radioAccess.setKeysAndValues(radioAccessibilityKeys, radioAccessibilityValues, null); + radioAccess.setKeysAndValues(radioAccessibilityKeys, + radioAccessibilityValues, null); if (original_selection != null) { radioAccess.select(original_selection, true); } + + pwdTextElement.setVisible(radioAccess.getSelectedKey().equals( + CreateCourseModel.ACCESSIBILITY_PWD)); + + final Boolean accessibility_period = radioAccess.getSelectedKey() + .equals(CreateCourseModel.ACCESSIBILITY_PERIOD); + periodBeginTextElement.setVisible(accessibility_period); + periodEndTextElement.setVisible(accessibility_period); } - + @Override - protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + protected void initForm(FormItemContainer formLayout, Controller listener, + UserRequest ureq) { flc = formLayout; isAdministrativeUser = ureq.getUserSession().getRoles().isOLATAdmin(); @@ -218,10 +238,13 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i // OLAT Administrators see all external courses, therefore the // ExternalCourseSearchListProvider is initialized with null in that // case: - ListProvider provider = new ExternalCourseSearchListProvider(isAdministrativeUser ? null : userIdentity); + ListProvider provider = new ExternalCourseSearchListProvider( + isAdministrativeUser ? null : userIdentity); - autocompleterC = new FlexiAutoCompleterController(ureq, getWindowControl(), provider, - translator.translate("form.autocomplete.not.found"), false, true, 60, 3, null, mainForm); + autocompleterC = new FlexiAutoCompleterController(ureq, + getWindowControl(), provider, + translator.translate("form.autocomplete.not.found"), false, + true, 60, 3, null, mainForm); autocompleterC.setFormElement(false); listenTo(autocompleterC); @@ -235,19 +258,23 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i * Add list of owners with buttons to remove and add additional ones ************************************************************************************************/ - ownerCheckBoxes = uifactory.addCheckboxesVertical("form.owners", formLayout, new String[0], new String[0], null, - 1); + ownerCheckBoxes = uifactory.addCheckboxesVertical("form.owners", + formLayout, new String[0], new String[0], null, 1); ownerCheckBoxes.setVisible(false); // buttons - ownerCheckBoxButtonContainer = FormLayoutContainer.createButtonLayout("buttonContainer", getTranslator()); - formLayout.add("ownerCheckBoxButtonContainer", ownerCheckBoxButtonContainer); + ownerCheckBoxButtonContainer = FormLayoutContainer.createButtonLayout( + "buttonContainer", getTranslator()); + formLayout.add("ownerCheckBoxButtonContainer", + ownerCheckBoxButtonContainer); - this.ownerAddButton = uifactory.addFormLink("form.owner.add.button", ownerCheckBoxButtonContainer, Link.BUTTON); + this.ownerAddButton = uifactory.addFormLink("form.owner.add.button", + ownerCheckBoxButtonContainer, Link.BUTTON); ownerAddButton.setIconLeftCSS("o_icon o_icon-fw o_icon_add_member"); ownerAddButton.setElementCssClass("o_sel_group_add_member"); - this.ownerDelButton = uifactory.addFormLink("form.owner.del.button", ownerCheckBoxButtonContainer, Link.BUTTON); + this.ownerDelButton = uifactory.addFormLink("form.owner.del.button", + ownerCheckBoxButtonContainer, Link.BUTTON); ownerDelButton.setIconLeftCSS("o_icon o_icon-fw o_icon_remove"); ownerCheckBoxButtonContainer.setVisible(false); @@ -257,12 +284,14 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i uifactory.addSpacerElement("spacer0", formLayout, true); - final String[] radioSyncKeys = new String[] { "form.user.sync.sis", "form.user.sync.disabled" }; - final String[] radioSyncVals = new String[] { translator.translate("form.user.sync.sis"), + final String[] radioSyncKeys = new String[] { "form.user.sync.sis", + "form.user.sync.disabled" }; + final String[] radioSyncVals = new String[] { + translator.translate("form.user.sync.sis"), translator.translate("form.user.sync.disabled") }; - radioSync = uifactory.addRadiosHorizontal("syncSelect", "form.user.sync", formLayout, radioSyncKeys, - radioSyncVals); + radioSync = uifactory.addRadiosHorizontal("syncSelect", + "form.user.sync", formLayout, radioSyncKeys, radioSyncVals); radioSync.setHelpTextKey("form.user.sync.descr", null); radioSync.select("form.user.sync.disabled", true); radioSync.setVisible(false); @@ -278,26 +307,29 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i // access radios - radioAccess = uifactory.addRadiosVertical("accessibility.radio", "form.course.access", formLayout, - radioAccessibilityKeys, radioAccessibilityKeys); + radioAccess = uifactory.addRadiosVertical("accessibility.radio", + "form.course.access", formLayout, radioAccessibilityKeys, + radioAccessibilityKeys); refreshRadioAccessibility(); - radioAccess.select(CreateCourseModel.ACCESSIBILITY_WITHOUT, true); + radioAccess.select(CreateCourseModel.ACCESSIBILITY_MEMBER, true); radioAccess.addActionListener(FormEvent.ONCLICK); radioAccess.setVisible(false); // pwd - pwdTextElement = uifactory.addTextElement("form.accessibility.pwd", "form.accessibility.pwd", 20, "", - formLayout); + pwdTextElement = uifactory.addTextElement("form.accessibility.pwd", + "form.accessibility.pwd", 20, "", formLayout); pwdTextElement.setVisible(false); pwdTextElement.setMandatory(true); pwdTextElement.setDisplaySize(20); pwdTextElement.setHelpTextKey("form.accessibility.pwd.descr", null); // period - periodBeginTextElement = uifactory.addDateChooser("form.accessibility.period.begin", + periodBeginTextElement = uifactory.addDateChooser( + "form.accessibility.period.begin", "form.accessibility.period.begin", new Date(), formLayout); periodBeginTextElement.setVisible(false); - periodEndTextElement = uifactory.addDateChooser("form.accessibility.period.end", + periodEndTextElement = uifactory.addDateChooser( + "form.accessibility.period.end", "form.accessibility.period.end", new Date(), formLayout); periodEndTextElement.setVisible(false); @@ -305,31 +337,39 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i * Add Create Wizard and Cancel Buttons ************************************************************************************************/ - FormLayoutContainer buttonContainer = FormLayoutContainer.createButtonLayout("buttonContainer", - getTranslator()); + FormLayoutContainer buttonContainer = FormLayoutContainer + .createButtonLayout("buttonContainer", getTranslator()); formLayout.add("buttonContainer", buttonContainer); buttonContainer.setElementCssClass("o_sel_repo_save_details"); - FormSubmit submit = uifactory.addFormSubmitButton("cmd.create.ressource", buttonContainer); + FormSubmit submit = uifactory.addFormSubmitButton( + "cmd.create.ressource", buttonContainer); submit.setElementCssClass("o_sel_author_create_submit"); // if (handler.isPostCreateWizardAvailable()) { - wizardButton = uifactory.addFormLink("form.course.startwizard.button", buttonContainer, Link.BUTTON); + wizardButton = uifactory.addFormLink("form.course.startwizard.button", + buttonContainer, Link.BUTTON); wizardButton.setElementCssClass("o_sel_author_create_wizard"); // } - uifactory.addFormCancelButton("cancel", buttonContainer, ureq, getWindowControl()); + uifactory.addFormCancelButton("cancel", buttonContainer, ureq, + getWindowControl()); } private void fillModel() { createCourseModel.setWithSISSync(radioSync.getSelected() == 0); createCourseModel.setAccessibility(radioAccess.getSelectedKey()); - if (radioAccess.getSelectedKey().equals(CreateCourseModel.ACCESSIBILITY_PWD)) { + if (radioAccess.getSelectedKey().equals( + CreateCourseModel.ACCESSIBILITY_PWD)) { // pwd createCourseModel.setAccessibilityPwd(pwdTextElement.getValue()); - } else if (radioAccess.getSelectedKey().equals(CreateCourseModel.ACCESSIBILITY_PERIOD)) { + } else if (radioAccess.getSelectedKey().equals( + CreateCourseModel.ACCESSIBILITY_PERIOD)) { // period - createCourseModel.setAccessibilityPeriodBegin(periodBeginTextElement.getValue()); - createCourseModel.setAccessibilityPeriodEnd(periodEndTextElement.getValue()); + createCourseModel + .setAccessibilityPeriodBegin(periodBeginTextElement + .getValue()); + createCourseModel.setAccessibilityPeriodEnd(periodEndTextElement + .getValue()); } } @@ -352,11 +392,14 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i FormItem acFormItem = autocompleterC.getInitialFormItem(); acFormItem.clearError(); if (createCourseModel.getSelectedSisCourse() == null - && (createCourseModel.getCourseTitle() == null || createCourseModel.getCourseTitle().length() < 3)) { - acFormItem.setErrorKey("cif.error.displayname.empty", new String[] {}); + && (createCourseModel.getCourseTitle() == null || createCourseModel + .getCourseTitle().length() < 3)) { + acFormItem.setErrorKey("cif.error.displayname.empty", + new String[] {}); allOk &= false; } - if (pwdTextElement.isVisible() && pwdTextElement.getValue().length() == 0) { + if (pwdTextElement.isVisible() + && pwdTextElement.getValue().length() == 0) { pwdTextElement.setErrorKey("form.accessibility.pwd.empty", null); allOk &= false; } @@ -370,11 +413,13 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i protected void formOK(UserRequest ureq) { doCreate(ureq); fireEvent(ureq, Event.DONE_EVENT); - fireEvent(ureq, new EntryChangedEvent(addedEntry, getIdentity(), Change.added)); + fireEvent(ureq, new EntryChangedEvent(addedEntry, getIdentity(), + Change.added)); } @Override - protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + protected void formInnerEvent(UserRequest ureq, FormItem source, + FormEvent event) { if (wizardButton == source) { if (validateFormLogic(ureq)) { doCreate(ureq); @@ -383,37 +428,40 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i } if (source == ownerAddButton) { removeAsListenerAndDispose(usc); - usc = new UserSearchController(ureq, getWindowControl(), true, true, translate("form.owner.add.button")); + usc = new UserSearchController(ureq, getWindowControl(), true, + true, translate("form.owner.add.button")); listenTo(usc); removeAsListenerAndDispose(cmc); - cmc = new CloseableModalController(getWindowControl(), translate("close"), usc.getInitialComponent(), true, + cmc = new CloseableModalController(getWindowControl(), + translate("close"), usc.getInitialComponent(), true, translate("form.owner.add.button")); listenTo(cmc); cmc.activate(); } else if (source == ownerDelButton) { - if (ownerCheckBoxes.getSelectedKeys() != null && ownerCheckBoxes.getSelectedKeys().size() > 0) { - if (ownerCheckBoxes.getSelectedKeys().size() == createCourseModel.getAdditionalOwners().size()) { + if (ownerCheckBoxes.getSelectedKeys() != null + && ownerCheckBoxes.getSelectedKeys().size() > 0) { + if (ownerCheckBoxes.getSelectedKeys().size() == createCourseModel + .getAdditionalOwners().size()) { showError("error.atleastone"); } else { - createCourseModel.removeAdditionalOwners(ownerCheckBoxes.getSelectedKeys()); + createCourseModel.removeAdditionalOwners(ownerCheckBoxes + .getSelectedKeys()); updateOwnerCheckBoxesFromModel(); } } } else if (source == radioSync) { - refreshRadioAccessibility(); createCourseModel.setWithSISSync(radioSync.getSelected() == 0); + if (createCourseModel.isWithSISSync()) { + radioAccess.select(CreateCourseModel.ACCESSIBILITY_MEMBER, true); + } else { + radioAccess.select(CreateCourseModel.ACCESSIBILITY_EN, true); + } + refreshRadioAccessibility(); } else if (source == radioAccess) { - - pwdTextElement.setVisible(radioAccess.getSelectedKey().equals(CreateCourseModel.ACCESSIBILITY_PWD)); - - final Boolean accessibility_period = radioAccess.getSelectedKey() - .equals(CreateCourseModel.ACCESSIBILITY_PERIOD); - periodBeginTextElement.setVisible(accessibility_period); - periodEndTextElement.setVisible(accessibility_period); - + refreshRadioAccessibility(); } super.formInnerEvent(ureq, source, event); } @@ -423,15 +471,21 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i super.event(ureq, source, event); if (event instanceof NewValueChosenEvent) { NewValueChosenEvent nvce = (NewValueChosenEvent) event; - createCourseModel.setCourseTitle(nvce.getEntries().get(0)); + String nval = nvce.getEntries().get(0); + createCourseModel.setCourseTitle(nval); // reset the sisCourse - if (createCourseModel.getSelectedSisCourse() != null) { + Boolean coursePrevSelected = createCourseModel.getSelectedSisCourse() != null; + if (coursePrevSelected) { createCourseModel.clearAdditionalOwners(); } createCourseModel.addAdditionalOwner(userIdentity); createCourseModel.setSelectedSisCourse(null); + if (nval.length() > 0) { + autocompleterC.getInitialFormItem().clearError(); + } + updateOwnerCheckBoxesFromModel(); ownerCheckBoxes.setVisible(true); ownerCheckBoxButtonContainer.setVisible(true); @@ -441,7 +495,12 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i radioSync.setVisible(false); refreshRadioAccessibility(); - radioAccess.select(CreateCourseModel.ACCESSIBILITY_WITHOUT, true); + if (coursePrevSelected || !radioAccess.isVisible()) { + // set the accessibility only when we switch from an external + // course to an autonomous one, or if this is the first time + // a title is chosen + radioAccess.select(CreateCourseModel.ACCESSIBILITY_EN, true); + } radioAccess.setVisible(true); flc.getComponent().setDirty(true); @@ -460,15 +519,18 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i } else { if (event instanceof SingleIdentityChosenEvent) { final SingleIdentityChosenEvent singleEvent = (SingleIdentityChosenEvent) event; - final Identity choosenIdentity = singleEvent.getChosenIdentity(); + final Identity choosenIdentity = singleEvent + .getChosenIdentity(); createCourseModel.addAdditionalOwner(choosenIdentity); } else if (event instanceof MultiIdentityChosenEvent) { final MultiIdentityChosenEvent multiEvent = (MultiIdentityChosenEvent) event; - for (Identity choosenIdentity : multiEvent.getChosenIdentities()) { + for (Identity choosenIdentity : multiEvent + .getChosenIdentities()) { createCourseModel.addAdditionalOwner(choosenIdentity); } } else { - throw new RuntimeException("unknown event ::" + event.getCommand()); + throw new RuntimeException("unknown event ::" + + event.getCommand()); } cmc.deactivate(); @@ -491,15 +553,18 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i try { sc = sisManager.getCourse(externalId); } catch (SisManagerException sException) { - autocompleterC.getInitialFormItem().setErrorKey("form.course.sis.backend.error", new String[] {}); + autocompleterC.getInitialFormItem().setErrorKey( + "form.course.sis.backend.error", new String[] {}); } // double check here if the user is in the list of the tutors of the // course, or an administrator createCourseModel.clearAdditionalOwners(); - if (sc != null && (sc.getTutors().contains(userName) || isAdministrativeUser)) { + if (sc != null + && (sc.getTutors().contains(userName) || isAdministrativeUser)) { createCourseModel.setSelectedSisCourse(sc); + autocompleterC.getInitialFormItem().clearError(); radioSync.setEnabled(true); radioSync.setVisible(true); @@ -519,11 +584,12 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i refreshRadioAccessibility(); radioAccess.setVisible(true); - radioAccess.select(CreateCourseModel.ACCESSIBILITY_WITHOUT, true); + radioAccess.select(CreateCourseModel.ACCESSIBILITY_MEMBER, true); } private void updateOwnerCheckBoxesFromModel() { - this.ownerCheckBoxes.setKeysAndValues(createCourseModel.getAdditionalOwnerKeys(), + this.ownerCheckBoxes.setKeysAndValues( + createCourseModel.getAdditionalOwnerKeys(), createCourseModel.getAdditionalOwnerNames(), null, null); } @@ -538,14 +604,17 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i final CreateCourseConfiguration createCourseConfig = (CreateCourseConfiguration) CoreSpringFactory .getBean(CreateCourseConfiguration.class.getCanonicalName()); - final boolean isCreatedFromSisCourse = createCourseModel.getSelectedSisCourse() != null; + final boolean isCreatedFromSisCourse = createCourseModel + .getSelectedSisCourse() != null; if (isCreatedFromSisCourse) { - externalCourseId = createCourseModel.getSelectedSisCourse().getSisCourseId(); + externalCourseId = createCourseModel.getSelectedSisCourse() + .getSisCourseId(); if (createCourseModel.isWithSISSync()) { managedFlags = createCourseConfig.getManagedFlagsSynced(); } else { - managedFlags = createCourseConfig.getManagedFlagsSyncedNoRegistration(); + managedFlags = createCourseConfig + .getManagedFlagsSyncedNoRegistration(); } } else { externalCourseId = null; @@ -555,14 +624,16 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i displayname = createCourseModel.getCourseTitle(); description = createCourseModel.getCourseDescription(); - addedEntry = handler.createResource(getIdentity(), displayname, description, getCreateObject(), getLocale()); + addedEntry = handler.createResource(getIdentity(), displayname, + description, getCreateObject(), getLocale()); - repositoryManager.setDescriptionAndName(addedEntry, displayname, description, "", "", externalCourseId, "", - managedFlags, null); + repositoryManager.setDescriptionAndName(addedEntry, displayname, + description, "", "", externalCourseId, "", managedFlags, null); repositoryManager.triggerIndexer(addedEntry); - repositoryManager.setAccess(addedEntry, RepositoryEntry.ACC_USERS, true); + repositoryManager + .setAccess(addedEntry, RepositoryEntry.ACC_USERS, true); // ICourse newCourse = CourseFactory.createCourse(addedEntry, // displayname, "", ""); @@ -571,62 +642,84 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i // add owners if (createCourseModel.getAdditionalOwners().size() > 0) { // add the authors as owner of the course - IdentitiesAddEvent identitiesAddedEvent = new IdentitiesAddEvent(createCourseModel.getAdditionalOwners()); - repositoryManager.addOwners(userIdentity, identitiesAddedEvent, addedEntry); + IdentitiesAddEvent identitiesAddedEvent = new IdentitiesAddEvent( + createCourseModel.getAdditionalOwners()); + repositoryManager.addOwners(userIdentity, identitiesAddedEvent, + addedEntry); } /** * Access control */ - if (CreateCourseModel.ACCESSIBILITY_WITHOUT.equals(createCourseModel.getAccessibility())) { - repositoryManager.setAccess(addedEntry, RepositoryEntry.ACC_USERS, false); - } else if (CreateCourseModel.ACCESSIBILITY_MEMBER.equals(createCourseModel.getAccessibility())) { - repositoryManager.setAccess(addedEntry, RepositoryEntry.ACC_OWNERS, true); - } else if (CreateCourseModel.ACCESSIBILITY_PWD.equals(createCourseModel.getAccessibility())) { + if (CreateCourseModel.ACCESSIBILITY_WITHOUT.equals(createCourseModel + .getAccessibility())) { + repositoryManager.setAccess(addedEntry, RepositoryEntry.ACC_USERS, + false); + } else if (CreateCourseModel.ACCESSIBILITY_MEMBER + .equals(createCourseModel.getAccessibility())) { + repositoryManager.setAccess(addedEntry, RepositoryEntry.ACC_OWNERS, + true); + } else if (CreateCourseModel.ACCESSIBILITY_PWD.equals(createCourseModel + .getAccessibility())) { // access code ACService acService = CoreSpringFactory.getImpl(ACService.class); - Offer offer = acService.createOffer(addedEntry.getOlatResource(), addedCourse.getCourseTitle()); - ((OfferImpl) offer).setToken(createCourseModel.getAccessibilityPwd()); + Offer offer = acService.createOffer(addedEntry.getOlatResource(), + addedCourse.getCourseTitle()); + ((OfferImpl) offer).setToken(createCourseModel + .getAccessibilityPwd()); acService.save(offer); - ACMethodDAO acMethodManager = CoreSpringFactory.getImpl(ACMethodDAO.class); - List<AccessMethod> methods = acMethodManager.getAvailableMethodsByType(TokenAccessMethod.class); + ACMethodDAO acMethodManager = CoreSpringFactory + .getImpl(ACMethodDAO.class); + List<AccessMethod> methods = acMethodManager + .getAvailableMethodsByType(TokenAccessMethod.class); AccessMethod method = methods.get(0); - OfferAccess access = acMethodManager.createOfferAccess(offer, method); + OfferAccess access = acMethodManager.createOfferAccess(offer, + method); acMethodManager.save(access); - } else if (CreateCourseModel.ACCESSIBILITY_PERIOD.equals(createCourseModel.getAccessibility())) { + } else if (CreateCourseModel.ACCESSIBILITY_PERIOD + .equals(createCourseModel.getAccessibility())) { // period ACService acService = CoreSpringFactory.getImpl(ACService.class); - Offer offer = acService.createOffer(addedEntry.getOlatResource(), addedCourse.getCourseTitle()); + Offer offer = acService.createOffer(addedEntry.getOlatResource(), + addedCourse.getCourseTitle()); acService.save(offer); - ACMethodDAO acMethodManager = CoreSpringFactory.getImpl(ACMethodDAO.class); - List<AccessMethod> methods = acMethodManager.getAvailableMethodsByType(FreeAccessMethod.class); + ACMethodDAO acMethodManager = CoreSpringFactory + .getImpl(ACMethodDAO.class); + List<AccessMethod> methods = acMethodManager + .getAvailableMethodsByType(FreeAccessMethod.class); AccessMethod method = methods.get(0); - OfferAccess access = acMethodManager.createOfferAccess(offer, method); + OfferAccess access = acMethodManager.createOfferAccess(offer, + method); access.setValidFrom(periodBeginTextElement.getDate()); access.setValidTo(periodEndTextElement.getDate()); acMethodManager.save(access); - } else if (CreateCourseModel.ACCESSIBILITY_EN.equals(createCourseModel.getAccessibility())) { + } else if (CreateCourseModel.ACCESSIBILITY_EN.equals(createCourseModel + .getAccessibility())) { // everyone is free to book the course ACService acService = CoreSpringFactory.getImpl(ACService.class); - Offer offer = acService.createOffer(addedEntry.getOlatResource(), addedCourse.getCourseTitle()); + Offer offer = acService.createOffer(addedEntry.getOlatResource(), + addedCourse.getCourseTitle()); acService.save(offer); - ACMethodDAO acMethodManager = CoreSpringFactory.getImpl(ACMethodDAO.class); - List<AccessMethod> methods = acMethodManager.getAvailableMethodsByType(FreeAccessMethod.class); + ACMethodDAO acMethodManager = CoreSpringFactory + .getImpl(ACMethodDAO.class); + List<AccessMethod> methods = acMethodManager + .getAvailableMethodsByType(FreeAccessMethod.class); AccessMethod method = methods.get(0); - OfferAccess access = acMethodManager.createOfferAccess(offer, method); + OfferAccess access = acMethodManager.createOfferAccess(offer, + method); acMethodManager.save(access); } @@ -634,7 +727,8 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i // fetch publish process CourseFactory.openCourseEditSession(addedCourse.getResourceableId()); final CourseEditorTreeModel cetm = addedCourse.getEditorTreeModel(); - final PublishProcess pp = PublishProcess.getInstance(addedCourse, cetm, ureq.getLocale()); + final PublishProcess pp = PublishProcess.getInstance(addedCourse, cetm, + ureq.getLocale()); final StatusDescription[] sds; // create publish node list final List<String> nodeIds = new ArrayList<String>(); @@ -650,14 +744,17 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i final StringBuilder errors = new StringBuilder(); for (final StatusDescription sd : sds) { errors.append("\nCourseNode: " + sd.getDescriptionForUnit()); - errors.append(", Description: " + sd.getShortDescription(ureq.getLocale()) + "\n"); + errors.append(", Description: " + + sd.getShortDescription(ureq.getLocale()) + "\n"); } - Tracing.createLoggerFor(this.getClass()) - .warn("Course Publishing reported following errors: " + errors.toString()); + Tracing.createLoggerFor(this.getClass()).warn( + "Course Publishing reported following errors: " + + errors.toString()); } pp.applyPublishSet(ureq.getIdentity(), ureq.getLocale()); - CourseFactory.closeCourseEditSession(addedCourse.getResourceableId(), true); + CourseFactory.closeCourseEditSession(addedCourse.getResourceableId(), + true); /** * send mail @@ -678,11 +775,14 @@ public class CreateCourseRepositoryEntryController extends FormBasicController i * external id */ if (isCreatedFromSisCourse) { - SisManager.getInstance().sendInvalidateCourseEvent(externalCourseId); + SisManager.getInstance() + .sendInvalidateCourseEvent(externalCourseId); } - ThreadLocalUserActivityLogger.log(LearningResourceLoggingAction.LEARNING_RESOURCE_CREATE, getClass(), - LoggingResourceable.wrap(addedEntry, OlatResourceableType.genRepoEntry)); + ThreadLocalUserActivityLogger.log( + LearningResourceLoggingAction.LEARNING_RESOURCE_CREATE, + getClass(), LoggingResourceable.wrap(addedEntry, + OlatResourceableType.genRepoEntry)); } }