Search in sources :

Example 6 with WikiSecurityCallback

use of org.olat.modules.wiki.WikiSecurityCallback in project openolat by klemens.

the class WikiEditController method event.

/**
 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
 *      org.olat.core.gui.components.Component,
 *      org.olat.core.gui.control.Event)
 */
public void event(UserRequest ureq, Component source, Event event) {
    if (source == previewLink) {
        // Preview as modal dialogue only if the config is valid
        RepositoryEntry re = getWikiRepoReference(moduleConfiguration, false);
        if (re == null) {
            // we cannot preview it, because the repository entry
            // had been deleted between the time when it was
            // chosen here, and now
            this.showError("error.repoentrymissing");
        } else {
            // File cpRoot =
            // FileResourceManager.getInstance().unzipFileResource(re.getOlatResource());
            Identity ident = ureq.getIdentity();
            boolean isOlatAdmin = ureq.getUserSession().getRoles().isOLATAdmin();
            boolean isResourceOwner = RepositoryManager.getInstance().isOwnerOfRepositoryEntry(ident, re);
            CourseEnvironment cenv = course.getCourseEnvironment();
            SubscriptionContext subsContext = WikiManager.createTechnicalSubscriptionContextForCourse(cenv, wikiCourseNode);
            WikiSecurityCallback callback = new WikiSecurityCallbackImpl(null, isOlatAdmin, false, false, isResourceOwner, subsContext);
            wikiCtr = WikiManager.getInstance().createWikiMainController(ureq, getWindowControl(), re.getOlatResource(), callback, null);
            cmcWikiCtr = new CloseableModalController(getWindowControl(), translate("command.close"), wikiCtr.getInitialComponent());
            this.listenTo(cmcWikiCtr);
            cmcWikiCtr.activate();
        }
    } else if (source == chooseButton || source == changeButton) {
        searchController = new ReferencableEntriesSearchController(getWindowControl(), ureq, WikiResource.TYPE_NAME, translate("command.choose"));
        this.listenTo(searchController);
        cmcSearchController = new CloseableModalController(getWindowControl(), translate("close"), searchController.getInitialComponent(), true, translate("command.create"));
        cmcSearchController.activate();
    } else if (source == editLink) {
        RepositoryEntry repositoryEntry = wikiCourseNode.getReferencedRepositoryEntry();
        if (repositoryEntry == null) {
            // do nothing
            return;
        }
        String bPath = "[RepositoryEntry:" + repositoryEntry.getKey() + "][Editor:0]";
        NewControllerFactory.getInstance().launch(bPath, ureq, getWindowControl());
    }
}
Also used : WikiSecurityCallbackImpl(org.olat.modules.wiki.WikiSecurityCallbackImpl) CourseEnvironment(org.olat.course.run.environment.CourseEnvironment) UserCourseEnvironment(org.olat.course.run.userview.UserCourseEnvironment) CloseableModalController(org.olat.core.gui.control.generic.closablewrapper.CloseableModalController) RepositoryEntry(org.olat.repository.RepositoryEntry) SubscriptionContext(org.olat.core.commons.services.notifications.SubscriptionContext) Identity(org.olat.core.id.Identity) WikiSecurityCallback(org.olat.modules.wiki.WikiSecurityCallback) ReferencableEntriesSearchController(org.olat.repository.controllers.ReferencableEntriesSearchController)

Aggregations

SubscriptionContext (org.olat.core.commons.services.notifications.SubscriptionContext)6 WikiSecurityCallback (org.olat.modules.wiki.WikiSecurityCallback)6 WikiSecurityCallbackImpl (org.olat.modules.wiki.WikiSecurityCallbackImpl)6 OLATResourceable (org.olat.core.id.OLATResourceable)4 BusinessControl (org.olat.core.id.context.BusinessControl)4 ContextEntry (org.olat.core.id.context.ContextEntry)4 RepositoryEntry (org.olat.repository.RepositoryEntry)4 BaseSecurityModule (org.olat.basesecurity.BaseSecurityModule)2 UserRequest (org.olat.core.gui.UserRequest)2 TooledStackedPanel (org.olat.core.gui.components.stack.TooledStackedPanel)2 Controller (org.olat.core.gui.control.Controller)2 WindowControl (org.olat.core.gui.control.WindowControl)2 CloseableModalController (org.olat.core.gui.control.generic.closablewrapper.CloseableModalController)2 MainLayoutController (org.olat.core.gui.control.generic.layout.MainLayoutController)2 StepsMainRunController (org.olat.core.gui.control.generic.wizard.StepsMainRunController)2 Identity (org.olat.core.id.Identity)2 OLATResourceableListeningWrapperController (org.olat.core.util.controller.OLATResourceableListeningWrapperController)2 AssessmentMode (org.olat.course.assessment.AssessmentMode)2 CourseEnvironment (org.olat.course.run.environment.CourseEnvironment)2 UserCourseEnvironment (org.olat.course.run.userview.UserCourseEnvironment)2