Skip to content
Snippets Groups Projects
Commit 0e1e9321 authored by srosse's avatar srosse
Browse files

OO-1000,OO-1068: fix administration access to groups, icon in artefacts

parent a08a8140
No related branches found
No related tags found
No related merge requests found
......@@ -32,7 +32,6 @@ import java.util.List;
import org.olat.NewControllerFactory;
import org.olat.basesecurity.BaseSecurity;
import org.olat.basesecurity.BaseSecurityModule;
import org.olat.basesecurity.Constants;
import org.olat.basesecurity.Group;
import org.olat.basesecurity.GroupRoles;
import org.olat.basesecurity.ui.GroupController;
......@@ -208,11 +207,9 @@ public class BusinessGroupMainRunController extends MainLayoutBasicController im
// not null indicates tool is enabled
private GenericTreeNode nodeFolder, nodeForum, nodeWiki, nodeCal, nodePortfolio, nodeOpenMeetings;
//fxdiff BAKS-7 Resume function
private GenericTreeNode nodeContact, nodeGroupOwners, nodeResources, nodeInformation, nodeAdmin;
private boolean groupRunDisabled;
private OLATResourceable assessmentEventOres;
//fxdiff VCRP-1,2: access control of resources
private Controller accessController;
private boolean needActivation;
......@@ -261,7 +258,7 @@ public class BusinessGroupMainRunController extends MainLayoutBasicController im
chatAvailable = isChatAvailable();
isAdmin = ureq.getUserSession().getRoles().isOLATAdmin()
|| ureq.getUserSession().getRoles().isGroupManager()
|| securityManager.isIdentityPermittedOnResourceable(getIdentity(), Constants.PERMISSION_ACCESS, businessGroup);
|| businessGroupService.isIdentityInBusinessGroup(getIdentity(), businessGroup.getKey(), true, false, null);
// Initialize translator:
// package translator with default group fallback translators and type
......
......@@ -45,7 +45,7 @@ public class ArtefactTableDataModel extends DefaultTableDataModel<AbstractArtefa
public ArtefactTableDataModel(List<AbstractArtefact> artefacts) {
super(artefacts);
userManager = CoreSpringFactory.getImpl(UserManager.class);
ePFMgr = (EPFrontendManager) CoreSpringFactory.getBean("epFrontendManager");
ePFMgr = CoreSpringFactory.getImpl(EPFrontendManager.class);
}
/**
......
......@@ -41,6 +41,14 @@ import org.olat.portfolio.ui.filter.PortfolioFilterController;
* @author Roman Haag, roman.haag@frentix.com, http://www.frentix.com
*/
public class ArtefactTypeImageCellRenderer implements CustomCellRenderer {
private final PortfolioModule portfolioModule;
private final Translator translator;
public ArtefactTypeImageCellRenderer(Locale locale) {
portfolioModule = CoreSpringFactory.getImpl(PortfolioModule.class);
translator = Util.createPackageTranslator(ArtefactTypeImageCellRenderer.class, locale);
}
/**
* @see org.olat.core.gui.components.table.CustomCellRenderer#render(org.olat.core.gui.render.StringOutput, org.olat.core.gui.render.Renderer, java.lang.Object, java.util.Locale, int, java.lang.String)
......@@ -49,20 +57,16 @@ public class ArtefactTypeImageCellRenderer implements CustomCellRenderer {
public void render(StringOutput sb, Renderer renderer, Object val, Locale locale, int alignment, String action) {
if (val instanceof AbstractArtefact){
AbstractArtefact artefact = (AbstractArtefact) val;
PortfolioModule portfolioModule = (PortfolioModule)CoreSpringFactory.getBean("portfolioModule");
EPArtefactHandler<?> artHandler = portfolioModule.getArtefactHandler(artefact.getResourceableTypeName());
Translator pT = Util.createPackageTranslator(this.getClass(), locale);
Translator handlerTrans = artHandler.getHandlerTranslator(pT);
Translator handlerTrans = artHandler.getHandlerTranslator(translator);
String handlerClass = PortfolioFilterController.HANDLER_PREFIX + artHandler.getClass().getSimpleName() + PortfolioFilterController.HANDLER_TITLE_SUFFIX;
String artType = handlerTrans.translate(handlerClass);
String artIcon = artefact.getIcon();
sb.append("<span class=\"");
sb.append(artIcon);
sb.append("\" title=\"");
sb.append(artType);
sb.append("\" style=\"background-repeat: no-repeat; background-position: center center; padding: 2px 8px;\">&nbsp;</span>");
sb.append("<i class='o_icon o_icon-lg ").append(artIcon)
.append("' title=\"").append(artType)
.append("\"> </i>");
}
}
}
}
\ No newline at end of file
......@@ -180,7 +180,8 @@ public class EPArtefactViewController extends FormBasicController {
title = uifactory.addInlineTextElement("title", artefact.getTitle(), formLayout, this);
flc.contextPut("cssClosed", artefactInClosedMap ? "b_artefact_closed" : "");
System.out.println("Closed: " + artefactInClosedMap);
flc.contextPut("cssClosed", artefactInClosedMap ? "o_artefact_closed" : "");
flc.contextPut("viewOnly", viewOnlyMode);
if (viewOnlyMode || artefactInClosedMap) title.setEnabled(false);
......
......@@ -141,7 +141,7 @@ public class EPMultipleArtefactsAsTableController extends BasicController implem
descr = new DefaultColumnDescriptor("artefact.tags", 4, null, getLocale());
artefactListTblCtrl.addColumnDescriptor(false, descr);
descr = new CustomRenderColumnDescriptor("table.header.type", 5, null, ureq.getLocale(), ColumnDescriptor.ALIGNMENT_CENTER, new ArtefactTypeImageCellRenderer()){
descr = new CustomRenderColumnDescriptor("table.header.type", 5, null, ureq.getLocale(), ColumnDescriptor.ALIGNMENT_CENTER, new ArtefactTypeImageCellRenderer(getLocale())){
/**
* @see org.olat.core.gui.components.table.DefaultColumnDescriptor#compareTo(int, int)
*/
......
<div class="panel panel-default b_artefact">
<div class="panel-heading">
#if ($cssClosed != "")
<div class="$!cssClosed">&nbsp;&nbsp;&nbsp;&nbsp;</div>
#end
<h4><i class="o_icon $artefact.getIcon()"> </i> $r.escapeHtml($!artefact.getTitle())</h4>
<h4><i class="o_icon $artefact.getIcon()"> </i> $r.escapeHtml($!artefact.getTitle())
#if ($cssClosed != "") <i class="o_icon pull-right $cssClosed"> </i> #end</h4>
</div>
<table class="table table-condensed table-striped"><tbody>
#if ($artAttribConfig.get("artefact.title"))
......@@ -64,9 +62,9 @@
<td>#if ($r.available("detailsController")) $r.render("detailsController") #end </td></tr>
#end
</tbody></table>
</div>
<div class="o_actions clearfix">
#if ($r.available("details.link")) <div class="b_float_right"> $r.render("details.link") </div> #end
#if ($r.available("delete.artefact")) <div class="b_float_left">$r.render("delete.artefact")</div> #end
#if ($r.available("choose.artefact")) <p style="text-align: center">$r.render("choose.artefact")</p> #end
<div class="panel-body">
#if ($r.available("details.link")) <div class="b_float_right"> $r.render("details.link") </div> #end
#if ($r.available("delete.artefact")) <div class="b_float_left">$r.render("delete.artefact")</div> #end
#if ($r.available("choose.artefact")) <p style="text-align: center">$r.render("choose.artefact")</p> #end
</div>
</div>
\ No newline at end of file
......@@ -2,6 +2,7 @@
.o_ep_icon_page:before { content: $fa-var-file-o; };
.o_ep_icon_struct:before { content: $fa-var-cubes; }
.o_ep_icon_liveblog:before { content: $fa-var-bullhorn;}
.o_artefact_closed:before { content: $fa-var-lock;}
.o_portfolio_toc {
.o_ep_link { float: right; margin-right: 0px; }
......
This diff is collapsed.
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