use of org.olat.portfolio.model.structel.EPStructureElementToGroupRelation in project OpenOLAT by OpenOLAT.
the class EPStructureManager method createBaseGroup.
private EPStructureElementToGroupRelation createBaseGroup(EPStructureElement element, Identity author) {
// create security group
Group ownerGroup = groupDao.createGroup();
EPStructureElementToGroupRelation relation = new EPStructureElementToGroupRelation();
relation.setDefaultGroup(true);
relation.setCreationDate(new Date());
relation.setGroup(ownerGroup);
relation.setStructureElement(element);
groupDao.addMembershipTwoWay(ownerGroup, author, GroupRoles.owner.name());
return relation;
}
use of org.olat.portfolio.model.structel.EPStructureElementToGroupRelation in project OpenOLAT by OpenOLAT.
the class EPStructureManager method createAndPersistPortfolioMapTemplateFromEntry.
/**
* Create a template map with the given repsoitory entry and olat resource (in the repository entry).
* The repository entry must already be persisted.
* @param identity
* @param entry
* @return
*/
public PortfolioStructureMap createAndPersistPortfolioMapTemplateFromEntry(Identity identity, RepositoryEntry entry) {
EPStructuredMapTemplate el = (EPStructuredMapTemplate) loadPortfolioStructure(entry.getOlatResource());
if (el == null) {
el = new EPStructuredMapTemplate();
}
el.setTitle(entry.getDisplayname());
el.setDescription(entry.getDescription());
el.setOlatResource(entry.getOlatResource());
// create security group
Group group = repositoryEntyRelationDao.getDefaultGroup(entry);
if (group == null) {
group = groupDao.createGroup();
groupDao.addMembershipTwoWay(group, identity, GroupRoles.owner.name());
}
EPStructureElementToGroupRelation relation = createBaseRelation(el, group);
Set<EPStructureElementToGroupRelation> relations = new HashSet<>();
relations.add(relation);
el.setGroups(relations);
dbInstance.saveObject(el);
return el;
}
use of org.olat.portfolio.model.structel.EPStructureElementToGroupRelation in project OpenOLAT by OpenOLAT.
the class EPStructureManager method createPortfolioDefaultMap.
protected PortfolioStructureMap createPortfolioDefaultMap(Identity identity, String title, String description) {
EPDefaultMap el = new EPDefaultMap();
fillStructureElement(el, title, description);
// create security group
EPStructureElementToGroupRelation ownerGroup = createBaseGroup(el, identity);
Set<EPStructureElementToGroupRelation> relations = new HashSet<>();
relations.add(ownerGroup);
el.setGroups(relations);
return el;
}
use of org.olat.portfolio.model.structel.EPStructureElementToGroupRelation in project OpenOLAT by OpenOLAT.
the class EPStructureManager method createPortfolioStructuredMap.
protected PortfolioStructureMap createPortfolioStructuredMap(PortfolioStructureMap template, Identity identity, String title, String description, OLATResourceable targetOres, String targetSubPath, String targetBusinessPath) {
EPStructuredMap el = new EPStructuredMap();
el.setStructuredMapSource((EPStructuredMapTemplate) template);
el.setStructureElSource(template.getKey());
if (template != null) {
copyOrUpdateCollectRestriction(template, el, false);
}
EPTargetResource targetResource = el.getTargetResource();
if (targetOres != null) {
targetResource.setResourceableId(targetOres.getResourceableId());
targetResource.setResourceableTypeName(targetOres.getResourceableTypeName());
}
if (StringHelper.containsNonWhitespace(targetSubPath)) {
targetResource.setSubPath(targetSubPath);
}
if (StringHelper.containsNonWhitespace(targetBusinessPath)) {
targetResource.setBusinessPath(targetBusinessPath);
}
fillStructureElement(el, title, description);
// create security group
EPStructureElementToGroupRelation ownerGroup = createBaseGroup(el, identity);
Set<EPStructureElementToGroupRelation> relations = new HashSet<>();
relations.add(ownerGroup);
el.setGroups(relations);
return el;
}
use of org.olat.portfolio.model.structel.EPStructureElementToGroupRelation in project openolat by klemens.
the class EPPolicyManager method getEquivalentWrapper.
private EPMapPolicy getEquivalentWrapper(EPStructureElementToGroupRelation relation, List<EPMapPolicy> policies) {
Date to = relation.getValidTo();
Date from = relation.getValidFrom();
String role = relation.getRole();
a_a: for (EPMapPolicy policy : policies) {
for (EPStructureElementToGroupRelation p : policy.getRelations()) {
if (!role.equals(p.getRole())) {
continue a_a;
}
if (from == null && p.getValidFrom() == null || (from != null && p.getValidFrom() != null && from.equals(p.getValidFrom()))) {
if (to == null && p.getValidTo() == null || (to != null && p.getValidTo() != null && to.equals(p.getValidTo()))) {
return policy;
}
}
}
}
return null;
}
Aggregations