Search in sources :

Example 6 with BinderRefImpl

use of org.olat.modules.portfolio.model.BinderRefImpl in project openolat by klemens.

the class BinderContextEntryControllerCreator method getTabContext.

@Override
public TabContext getTabContext(UserRequest ureq, OLATResourceable ores, ContextEntry mainEntry, List<ContextEntry> entries) {
    Identity identity = ureq.getIdentity();
    PortfolioService portfolioService = CoreSpringFactory.getImpl(PortfolioService.class);
    Long binderKey = mainEntry.getOLATResourceable().getResourceableId();
    BinderRef binder = new BinderRefImpl(binderKey);
    List<ContextEntry> rewritedEntries = new ArrayList<ContextEntry>();
    OLATResourceable homeRes = OresHelper.createOLATResourceableInstance("HomeSite", identity.getKey());
    rewritedEntries.add(BusinessControlFactory.getInstance().createContextEntry(homeRes));
    rewritedEntries.add(BusinessControlFactory.getInstance().createContextEntry(OresHelper.createOLATResourceableInstance("PortfolioV2", 0l)));
    if (portfolioService.isMember(binder, identity, PortfolioRoles.owner.name())) {
        rewritedEntries.add(BusinessControlFactory.getInstance().createContextEntry(OresHelper.createOLATResourceableInstance("MyBinders", 0l)));
    } else if (portfolioService.isMember(binder, identity, PortfolioRoles.coach.name(), PortfolioRoles.reviewer.name())) {
        rewritedEntries.add(BusinessControlFactory.getInstance().createContextEntry(OresHelper.createOLATResourceableInstance("SharedWithMe", 0l)));
    }
    // Binder
    rewritedEntries.add(mainEntry);
    if (entries != null && !entries.isEmpty()) {
        // more details
        rewritedEntries.addAll(entries);
    }
    // -> HomeSite
    return new TabContext("", homeRes, rewritedEntries);
}
Also used : TabContext(org.olat.core.id.context.TabContext) OLATResourceable(org.olat.core.id.OLATResourceable) ArrayList(java.util.ArrayList) Identity(org.olat.core.id.Identity) BinderRefImpl(org.olat.modules.portfolio.model.BinderRefImpl) ContextEntry(org.olat.core.id.context.ContextEntry)

Aggregations

ContextEntry (org.olat.core.id.context.ContextEntry)6 BinderRefImpl (org.olat.modules.portfolio.model.BinderRefImpl)6 ArrayList (java.util.ArrayList)2 Activateable2 (org.olat.core.gui.control.generic.dtabs.Activateable2)2 Identity (org.olat.core.id.Identity)2 OLATResourceable (org.olat.core.id.OLATResourceable)2 TabContext (org.olat.core.id.context.TabContext)2 BinderRef (org.olat.modules.portfolio.BinderRef)2