Skip to content
Snippets Groups Projects
Commit 10a65a58 authored by srosse's avatar srosse
Browse files

Merge remote-tracking branch 'origin/OpenOLAT_14.2'

parents e9af3b1b efd74bc8
No related branches found
No related tags found
No related merge requests found
...@@ -101,9 +101,9 @@ public class BigBlueButtonCourseNode extends AbstractAccessableCourseNode { ...@@ -101,9 +101,9 @@ public class BigBlueButtonCourseNode extends AbstractAccessableCourseNode {
String message = trans.translate("guestnoaccess.message"); String message = trans.translate("guestnoaccess.message");
controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message); controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
} else { } else {
// check if user is moderator of the virtual classroom // check if user is admin. / moderator of the virtual classroom
boolean admin = userCourseEnv.isAdmin(); boolean admin = userCourseEnv.isAdmin() || userCourseEnv.isCoach();
boolean moderator = admin || userCourseEnv.isCoach(); boolean moderator = userCourseEnv.isAdmin() || userCourseEnv.isCoach();
// create run controller // create run controller
RepositoryEntry entry = userCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseEntry(); RepositoryEntry entry = userCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
......
...@@ -23,6 +23,7 @@ import java.util.Date; ...@@ -23,6 +23,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
import org.olat.core.id.Identity; import org.olat.core.id.Identity;
import org.olat.core.id.Roles;
import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroup;
import org.olat.modules.bigbluebutton.model.BigBlueButtonErrors; import org.olat.modules.bigbluebutton.model.BigBlueButtonErrors;
import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntry;
...@@ -70,6 +71,10 @@ public interface BigBlueButtonManager { ...@@ -70,6 +71,10 @@ public interface BigBlueButtonManager {
public List<BigBlueButtonMeetingTemplate> getTemplates(); public List<BigBlueButtonMeetingTemplate> getTemplates();
public List<BigBlueButtonMeetingTemplate> getTemplates(List<BigBlueButtonRoles> editionRoles);
public List<BigBlueButtonRoles> calculatePermittedRoles(RepositoryEntry entry, BusinessGroup businessGroup, Identity identity, Roles userRoles);
public BigBlueButtonMeetingTemplate updateTemplate(BigBlueButtonMeetingTemplate template); public BigBlueButtonMeetingTemplate updateTemplate(BigBlueButtonMeetingTemplate template);
public void deleteTemplate(BigBlueButtonMeetingTemplate template); public void deleteTemplate(BigBlueButtonMeetingTemplate template);
......
...@@ -139,6 +139,16 @@ public interface BigBlueButtonMeetingTemplate extends ModifiedInfo, CreateInfo { ...@@ -139,6 +139,16 @@ public interface BigBlueButtonMeetingTemplate extends ModifiedInfo, CreateInfo {
public GuestPolicyEnum getGuestPolicyEnum(); public GuestPolicyEnum getGuestPolicyEnum();
public void setGuestPolicyEnum(GuestPolicyEnum guestPolicy); public void setGuestPolicyEnum(GuestPolicyEnum guestPolicy);
public default boolean availableTo(List<BigBlueButtonRoles> editionRoles) {
List<BigBlueButtonRoles> roles = getPermittedRolesEnum();
for(BigBlueButtonRoles role:roles) {
for(BigBlueButtonRoles editionRole:editionRoles) {
if(role.accept(editionRole)) {
return true;
}
}
}
return false;
}
} }
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
package org.olat.modules.bigbluebutton.manager; package org.olat.modules.bigbluebutton.manager;
import java.net.URI; import java.net.URI;
import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -35,6 +36,7 @@ import org.olat.commons.calendar.model.Kalendar; ...@@ -35,6 +36,7 @@ import org.olat.commons.calendar.model.Kalendar;
import org.olat.commons.calendar.model.KalendarEvent; import org.olat.commons.calendar.model.KalendarEvent;
import org.olat.commons.calendar.ui.components.KalendarRenderWrapper; import org.olat.commons.calendar.ui.components.KalendarRenderWrapper;
import org.olat.core.id.Identity; import org.olat.core.id.Identity;
import org.olat.core.id.Roles;
import org.olat.core.id.User; import org.olat.core.id.User;
import org.olat.core.id.context.BusinessControlFactory; import org.olat.core.id.context.BusinessControlFactory;
import org.olat.core.logging.Tracing; import org.olat.core.logging.Tracing;
...@@ -44,6 +46,7 @@ import org.olat.core.util.WebappHelper; ...@@ -44,6 +46,7 @@ import org.olat.core.util.WebappHelper;
import org.olat.course.CourseFactory; import org.olat.course.CourseFactory;
import org.olat.course.ICourse; import org.olat.course.ICourse;
import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroup;
import org.olat.group.BusinessGroupService;
import org.olat.modules.bigbluebutton.BigBlueButtonManager; import org.olat.modules.bigbluebutton.BigBlueButtonManager;
import org.olat.modules.bigbluebutton.BigBlueButtonMeeting; import org.olat.modules.bigbluebutton.BigBlueButtonMeeting;
import org.olat.modules.bigbluebutton.BigBlueButtonMeetingTemplate; import org.olat.modules.bigbluebutton.BigBlueButtonMeetingTemplate;
...@@ -56,6 +59,8 @@ import org.olat.modules.bigbluebutton.model.BigBlueButtonErrorCodes; ...@@ -56,6 +59,8 @@ import org.olat.modules.bigbluebutton.model.BigBlueButtonErrorCodes;
import org.olat.modules.bigbluebutton.model.BigBlueButtonErrors; import org.olat.modules.bigbluebutton.model.BigBlueButtonErrors;
import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntry;
import org.olat.repository.RepositoryEntryRef; import org.olat.repository.RepositoryEntryRef;
import org.olat.repository.RepositoryEntrySecurity;
import org.olat.repository.RepositoryManager;
import org.olat.repository.manager.RepositoryEntryDAO; import org.olat.repository.manager.RepositoryEntryDAO;
import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -76,10 +81,14 @@ public class BigBlueButtonManagerImpl implements BigBlueButtonManager, Initializ ...@@ -76,10 +81,14 @@ public class BigBlueButtonManagerImpl implements BigBlueButtonManager, Initializ
@Autowired @Autowired
private CalendarManager calendarManager; private CalendarManager calendarManager;
@Autowired @Autowired
private RepositoryManager repositoryManager;
@Autowired
private RepositoryEntryDAO repositoryEntryDao; private RepositoryEntryDAO repositoryEntryDao;
@Autowired @Autowired
private BigBlueButtonModule bigBlueButtonModule; private BigBlueButtonModule bigBlueButtonModule;
@Autowired @Autowired
private BusinessGroupService businessGroupService;
@Autowired
private BigBlueButtonMeetingDAO bigBlueButtonMeetingDao; private BigBlueButtonMeetingDAO bigBlueButtonMeetingDao;
@Autowired @Autowired
private BigBlueButtonMeetingTemplateDAO bigBlueButtonMeetingTemplateDao; private BigBlueButtonMeetingTemplateDAO bigBlueButtonMeetingTemplateDao;
...@@ -249,6 +258,19 @@ public class BigBlueButtonManagerImpl implements BigBlueButtonManager, Initializ ...@@ -249,6 +258,19 @@ public class BigBlueButtonManagerImpl implements BigBlueButtonManager, Initializ
return bigBlueButtonMeetingTemplateDao.getTemplates(); return bigBlueButtonMeetingTemplateDao.getTemplates();
} }
@Override
public List<BigBlueButtonMeetingTemplate> getTemplates(List<BigBlueButtonRoles> editionRoles) {
List<BigBlueButtonMeetingTemplate> templates = getTemplates();
List<BigBlueButtonMeetingTemplate> authorisedTemplates = new ArrayList<>();
for(BigBlueButtonMeetingTemplate template:templates) {
if(template.isEnabled() && template.availableTo(editionRoles)) {
authorisedTemplates.add(template);
}
}
return authorisedTemplates;
}
@Override @Override
public List<BigBlueButtonMeeting> getAllMeetings() { public List<BigBlueButtonMeeting> getAllMeetings() {
return bigBlueButtonMeetingDao.getAllMeetings(); return bigBlueButtonMeetingDao.getAllMeetings();
...@@ -334,6 +356,38 @@ public class BigBlueButtonManagerImpl implements BigBlueButtonManager, Initializ ...@@ -334,6 +356,38 @@ public class BigBlueButtonManagerImpl implements BigBlueButtonManager, Initializ
} }
return wrapper == null ? null: wrapper.getKalendar(); return wrapper == null ? null: wrapper.getKalendar();
} }
@Override
public List<BigBlueButtonRoles> calculatePermittedRoles(RepositoryEntry entry, BusinessGroup businessGroup, Identity identity, Roles userRoles) {
List<BigBlueButtonRoles> editionRoles = new ArrayList<>();
if(userRoles.isAdministrator() || userRoles.isSystemAdmin()) {
editionRoles.add(BigBlueButtonRoles.administrator);
}
if(userRoles.isAuthor() || userRoles.isLearnResourceManager()) {
// global authors / LR-managers can use author templates also in groups
editionRoles.add(BigBlueButtonRoles.author);
}
if(businessGroup != null) {
if(businessGroupService.isIdentityInBusinessGroup(identity, businessGroup)) {
// all group user can choose the group templates (if they are allowed to create group online-meetings)
editionRoles.add(BigBlueButtonRoles.group);
if(businessGroupService.isIdentityInBusinessGroup(identity, businessGroup.getKey(), true, false, null)) {
editionRoles.add(BigBlueButtonRoles.coach);
}
}
} else if(entry != null) {
RepositoryEntrySecurity reSecurity = repositoryManager.isAllowed(identity, userRoles, entry);
if(reSecurity.isEntryAdmin()) {
editionRoles.add(BigBlueButtonRoles.owner);
}
if(reSecurity.isCourseCoach()) {
editionRoles.add(BigBlueButtonRoles.coach);
}
}
return editionRoles;
}
@Override @Override
public boolean isMeetingRunning(BigBlueButtonMeeting meeting) { public boolean isMeetingRunning(BigBlueButtonMeeting meeting) {
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
*/ */
package org.olat.modules.bigbluebutton.ui; package org.olat.modules.bigbluebutton.ui;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.olat.core.commons.persistence.SortKey; import org.olat.core.commons.persistence.SortKey;
...@@ -42,9 +41,7 @@ import org.olat.core.gui.control.WindowControl; ...@@ -42,9 +41,7 @@ import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController;
import org.olat.core.gui.control.generic.modal.DialogBoxController; import org.olat.core.gui.control.generic.modal.DialogBoxController;
import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory;
import org.olat.core.id.Roles;
import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroup;
import org.olat.group.BusinessGroupService;
import org.olat.modules.bigbluebutton.BigBlueButtonManager; import org.olat.modules.bigbluebutton.BigBlueButtonManager;
import org.olat.modules.bigbluebutton.BigBlueButtonMeeting; import org.olat.modules.bigbluebutton.BigBlueButtonMeeting;
import org.olat.modules.bigbluebutton.BigBlueButtonModule; import org.olat.modules.bigbluebutton.BigBlueButtonModule;
...@@ -53,8 +50,6 @@ import org.olat.modules.bigbluebutton.model.BigBlueButtonErrors; ...@@ -53,8 +50,6 @@ import org.olat.modules.bigbluebutton.model.BigBlueButtonErrors;
import org.olat.modules.bigbluebutton.ui.BigBlueButtonMeetingTableModel.BMeetingsCols; import org.olat.modules.bigbluebutton.ui.BigBlueButtonMeetingTableModel.BMeetingsCols;
import org.olat.modules.gotomeeting.ui.GoToMeetingTableModel.MeetingsCols; import org.olat.modules.gotomeeting.ui.GoToMeetingTableModel.MeetingsCols;
import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntry;
import org.olat.repository.RepositoryEntrySecurity;
import org.olat.repository.RepositoryManager;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
/** /**
...@@ -78,14 +73,10 @@ public class BigBlueButtonEditMeetingsController extends FormBasicController { ...@@ -78,14 +73,10 @@ public class BigBlueButtonEditMeetingsController extends FormBasicController {
private final RepositoryEntry entry; private final RepositoryEntry entry;
private final BusinessGroup businessGroup; private final BusinessGroup businessGroup;
@Autowired
private RepositoryManager repositoryManager;
@Autowired @Autowired
private BigBlueButtonModule bigBlueButtonModule; private BigBlueButtonModule bigBlueButtonModule;
@Autowired @Autowired
private BigBlueButtonManager bigBlueButtonManager; private BigBlueButtonManager bigBlueButtonManager;
@Autowired
private BusinessGroupService businessGroupService;
public BigBlueButtonEditMeetingsController(UserRequest ureq, WindowControl wControl, public BigBlueButtonEditMeetingsController(UserRequest ureq, WindowControl wControl,
RepositoryEntry entry, String subIdentifier, BusinessGroup group, boolean readOnly) { RepositoryEntry entry, String subIdentifier, BusinessGroup group, boolean readOnly) {
...@@ -194,7 +185,8 @@ public class BigBlueButtonEditMeetingsController extends FormBasicController { ...@@ -194,7 +185,8 @@ public class BigBlueButtonEditMeetingsController extends FormBasicController {
private void doAddMeeting(UserRequest ureq) { private void doAddMeeting(UserRequest ureq) {
if(guardModalController(editMeetingCtlr)) return; if(guardModalController(editMeetingCtlr)) return;
List<BigBlueButtonRoles> editionRoles= getPermittedRoles(ureq); List<BigBlueButtonRoles> editionRoles= bigBlueButtonManager
.calculatePermittedRoles(entry, businessGroup, getIdentity(), ureq.getUserSession().getRoles());
editMeetingCtlr = new EditBigBlueButtonMeetingController(ureq, getWindowControl(), editMeetingCtlr = new EditBigBlueButtonMeetingController(ureq, getWindowControl(),
entry, subIdent, businessGroup, editionRoles); entry, subIdent, businessGroup, editionRoles);
listenTo(editMeetingCtlr); listenTo(editMeetingCtlr);
...@@ -208,7 +200,8 @@ public class BigBlueButtonEditMeetingsController extends FormBasicController { ...@@ -208,7 +200,8 @@ public class BigBlueButtonEditMeetingsController extends FormBasicController {
private void doEditMeeting(UserRequest ureq, BigBlueButtonMeeting meeting) { private void doEditMeeting(UserRequest ureq, BigBlueButtonMeeting meeting) {
if(guardModalController(editMeetingCtlr)) return; if(guardModalController(editMeetingCtlr)) return;
List<BigBlueButtonRoles> editionRoles= getPermittedRoles(ureq); List<BigBlueButtonRoles> editionRoles= bigBlueButtonManager
.calculatePermittedRoles(entry, businessGroup, getIdentity(), ureq.getUserSession().getRoles());
editMeetingCtlr = new EditBigBlueButtonMeetingController(ureq, getWindowControl(), editMeetingCtlr = new EditBigBlueButtonMeetingController(ureq, getWindowControl(),
meeting, editionRoles); meeting, editionRoles);
listenTo(editMeetingCtlr); listenTo(editMeetingCtlr);
...@@ -219,40 +212,6 @@ public class BigBlueButtonEditMeetingsController extends FormBasicController { ...@@ -219,40 +212,6 @@ public class BigBlueButtonEditMeetingsController extends FormBasicController {
listenTo(cmc); listenTo(cmc);
} }
private List<BigBlueButtonRoles> getPermittedRoles(UserRequest ureq) {
Roles roles = ureq.getUserSession().getRoles();
List<BigBlueButtonRoles> editionRoles = new ArrayList<>();
if(businessGroup != null) {
if(roles.isAdministrator() || roles.isSystemAdmin()) {
editionRoles.add(BigBlueButtonRoles.administrator);
}
if(roles.isAuthor() || roles.isLearnResourceManager()) {
// global authors / LR-managers can use author templates also in groups
editionRoles.add(BigBlueButtonRoles.author);
}
if(businessGroupService.isIdentityInBusinessGroup(getIdentity(), businessGroup)) {
// all group user can choose the group templates (if they are allowed to create group online-meetings)
editionRoles.add(BigBlueButtonRoles.group);
}
} else if(entry != null) {
RepositoryEntrySecurity reSecurity = repositoryManager.isAllowed(getIdentity(), roles, entry);
if(roles.isAdministrator() || roles.isSystemAdmin()) {
editionRoles.add(BigBlueButtonRoles.administrator);
}
if(reSecurity.isAuthor() || roles.isLearnResourceManager()) {
editionRoles.add(BigBlueButtonRoles.author);
}
if(reSecurity.isEntryAdmin()) {
editionRoles.add(BigBlueButtonRoles.owner);
}
if(reSecurity.isCourseCoach()) {
editionRoles.add(BigBlueButtonRoles.coach);
}
}
return editionRoles;
}
private void doConfirmDelete(UserRequest ureq, BigBlueButtonMeeting meeting) { private void doConfirmDelete(UserRequest ureq, BigBlueButtonMeeting meeting) {
String confirmDeleteTitle = translate("confirm.delete.meeting.title", new String[]{ meeting.getName() }); String confirmDeleteTitle = translate("confirm.delete.meeting.title", new String[]{ meeting.getName() });
String confirmDeleteText = translate("confirm.delete.meeting", new String[]{ meeting.getName() }); String confirmDeleteText = translate("confirm.delete.meeting", new String[]{ meeting.getName() });
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
*/ */
package org.olat.modules.bigbluebutton.ui; package org.olat.modules.bigbluebutton.ui;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
...@@ -35,12 +34,10 @@ import org.olat.core.gui.control.Event; ...@@ -35,12 +34,10 @@ import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.controller.BasicController; import org.olat.core.gui.control.controller.BasicController;
import org.olat.core.gui.control.generic.dtabs.Activateable2; import org.olat.core.gui.control.generic.dtabs.Activateable2;
import org.olat.core.id.Roles;
import org.olat.core.id.context.ContextEntry; import org.olat.core.id.context.ContextEntry;
import org.olat.core.id.context.StateEntry; import org.olat.core.id.context.StateEntry;
import org.olat.core.util.resource.OresHelper; import org.olat.core.util.resource.OresHelper;
import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroup;
import org.olat.group.BusinessGroupService;
import org.olat.modules.bigbluebutton.BigBlueButtonManager; import org.olat.modules.bigbluebutton.BigBlueButtonManager;
import org.olat.modules.bigbluebutton.BigBlueButtonMeeting; import org.olat.modules.bigbluebutton.BigBlueButtonMeeting;
import org.olat.modules.bigbluebutton.BigBlueButtonMeetingTemplate; import org.olat.modules.bigbluebutton.BigBlueButtonMeetingTemplate;
...@@ -79,8 +76,6 @@ public class BigBlueButtonRunController extends BasicController implements Activ ...@@ -79,8 +76,6 @@ public class BigBlueButtonRunController extends BasicController implements Activ
@Autowired @Autowired
private BigBlueButtonManager bigBlueButtonManager; private BigBlueButtonManager bigBlueButtonManager;
@Autowired
private BusinessGroupService businessGroupService;
public BigBlueButtonRunController(UserRequest ureq, WindowControl wControl, RepositoryEntry entry, String subIdentifier, public BigBlueButtonRunController(UserRequest ureq, WindowControl wControl, RepositoryEntry entry, String subIdentifier,
BusinessGroup group, BigBlueButtonMeetingDefaultConfiguration configuration, boolean admin, boolean moderator, boolean readOnly) { BusinessGroup group, BigBlueButtonMeetingDefaultConfiguration configuration, boolean admin, boolean moderator, boolean readOnly) {
...@@ -122,40 +117,15 @@ public class BigBlueButtonRunController extends BasicController implements Activ ...@@ -122,40 +117,15 @@ public class BigBlueButtonRunController extends BasicController implements Activ
private boolean hasAtLeastOneTemplate(UserRequest ureq) { private boolean hasAtLeastOneTemplate(UserRequest ureq) {
// TODO: refactor: copy paste from BigBlueButtonEditMeetingsController.getPermittedRoles() // TODO bbb should also apply to group config form: don't let regular students enable bbb in groups when they have no
// should also apply to group config form: don't let regular students enable bbb in groups when they have no
// template to choose from. // template to choose from.
Roles userRoles = ureq.getUserSession().getRoles(); List<BigBlueButtonRoles> editionRoles = bigBlueButtonManager
.calculatePermittedRoles(entry, group, getIdentity(), ureq.getUserSession().getRoles());
List<BigBlueButtonRoles> editionRoles = new ArrayList<>(); bigBlueButtonManager.getTemplates(editionRoles);
if(userRoles.isAdministrator() || userRoles.isSystemAdmin()) {
editionRoles.add(BigBlueButtonRoles.administrator);
}
if(userRoles.isAuthor() || userRoles.isLearnResourceManager()) {
// global authors / LR-managers can use author templates also in groups
editionRoles.add(BigBlueButtonRoles.author);
}
if(businessGroupService.isIdentityInBusinessGroup(getIdentity(), group)) {
// all group user can choose the group templates (if they are allowed to create group online-meetings)
editionRoles.add(BigBlueButtonRoles.group);
}
List<BigBlueButtonMeetingTemplate> templates = bigBlueButtonManager.getTemplates();
for(BigBlueButtonMeetingTemplate template:templates) {
if(!template.isEnabled()) continue;
List<BigBlueButtonRoles> roles = template.getPermittedRolesEnum();
for(BigBlueButtonRoles role:roles) {
for(BigBlueButtonRoles editionRole:editionRoles) {
if(role.accept(editionRole)) {
return true;
}
}
}
}
return false;
}
List<BigBlueButtonMeetingTemplate> templates = bigBlueButtonManager.getTemplates(editionRoles);
return !templates.isEmpty();
}
@Override @Override
protected void doDispose() { protected void doDispose() {
......
...@@ -131,7 +131,8 @@ public class EditBigBlueButtonMeetingController extends FormBasicController { ...@@ -131,7 +131,8 @@ public class EditBigBlueButtonMeetingController extends FormBasicController {
? null : meeting.getTemplate().getKey(); ? null : meeting.getTemplate().getKey();
KeyValues templatesKeyValues = new KeyValues(); KeyValues templatesKeyValues = new KeyValues();
for(BigBlueButtonMeetingTemplate template:templates) { for(BigBlueButtonMeetingTemplate template:templates) {
if(accept(template) || template.getKey().equals(selectedTemplateKey)) { if((template.isEnabled() && template.availableTo(editionRoles))
|| template.getKey().equals(selectedTemplateKey)) {
templatesKeyValues.add(KeyValues.entry(template.getKey().toString(), template.getName())); templatesKeyValues.add(KeyValues.entry(template.getKey().toString(), template.getName()));
} }
} }
...@@ -196,20 +197,6 @@ public class EditBigBlueButtonMeetingController extends FormBasicController { ...@@ -196,20 +197,6 @@ public class EditBigBlueButtonMeetingController extends FormBasicController {
uifactory.addFormSubmitButton("save", buttonLayout); uifactory.addFormSubmitButton("save", buttonLayout);
} }
private boolean accept(BigBlueButtonMeetingTemplate template) {
if(!template.isEnabled()) return false;
List<BigBlueButtonRoles> roles = template.getPermittedRolesEnum();
for(BigBlueButtonRoles role:roles) {
for(BigBlueButtonRoles editionRole:editionRoles) {
if(role.accept(editionRole)) {
return true;
}
}
}
return false;
}
private void updateUI() { private void updateUI() {
boolean permanent = permanentEl.isAtLeastSelected(1); boolean permanent = permanentEl.isAtLeastSelected(1);
startDateEl.setVisible(!permanent); startDateEl.setVisible(!permanent);
......
...@@ -47,7 +47,7 @@ meeting.welcome=Welcome message ...@@ -47,7 +47,7 @@ meeting.welcome=Welcome message
meetings.admin.title=Meeting management meetings.admin.title=Meeting management
meetings.past=Past online-meetings meetings.past=Past online-meetings
meetings.title=Online-meetings meetings.title=Online-meetings
meetings.upcoming=Current and upcoming onlin-meetings meetings.upcoming=Current and upcoming online-meetings
minutes={0} min. minutes={0} min.
no.meeting.configured=There are no online-meetings available at this time. no.meeting.configured=There are no online-meetings available at this time.
no.recordings=There is no recording available for this online-meeting at this time. no.recordings=There is no recording available for this online-meeting at this time.
......
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