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

Merge OpenOLAT default branch to OpenOLAT 13a with 3f826b01d961e66998d229019171ee3d0e14106d

parents 708b8231 d06c6102
No related branches found
No related tags found
No related merge requests found
Showing
with 61 additions and 28 deletions
...@@ -29,7 +29,9 @@ With regard to licensing and copyright please refer to the file [LICENSE](LICENS ...@@ -29,7 +29,9 @@ With regard to licensing and copyright please refer to the file [LICENSE](LICENS
* [Installation](https://www.openolat.com/fileadmin/adminwiki/_START_.html) * [Installation](https://www.openolat.com/fileadmin/adminwiki/_START_.html)
* [About OpenOLAT](https://www.openolat.com) * [About OpenOLAT](https://www.openolat.com)
* [Mailing list](https://groups.google.com/forum/#!forum/openolat) * [Mailing list](https://groups.google.com/forum/#!forum/openolat)
* [Issues](https://jira.openolat.org/)
* [OpenOLAT for the community](https://community.openolat.org) An OpenOLAT instance dedicated to the community
## Being a community member ## Being a community member
...@@ -37,7 +39,7 @@ We strongly suggest to participate in the OpenOLAT community membership program. ...@@ -37,7 +39,7 @@ We strongly suggest to participate in the OpenOLAT community membership program.
Even though this software is free and open source, the development and management Even though this software is free and open source, the development and management
has to be funded by someone. If you like what we do and want the product to be has to be funded by someone. If you like what we do and want the product to be
maintained and developed in the long run you should consider purchasing a member maintained and developed in the long run you should consider purchasing a member
ship. ship: [Partner program](https://www.openolat.com/open-source/partner-program/?lang=en).
## Developers ## Developers
......
...@@ -1304,7 +1304,7 @@ ...@@ -1304,7 +1304,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId> <artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version> <version>2.21.0</version>
<configuration> <configuration>
<encoding>UTF-8</encoding> <encoding>UTF-8</encoding>
<skipTests>${skipTests}</skipTests> <skipTests>${skipTests}</skipTests>
...@@ -1383,7 +1383,7 @@ ...@@ -1383,7 +1383,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId> <artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version> <version>3.2.1</version>
<configuration> <configuration>
<!-- <!--
<attachClasses>true</attachClasses> <attachClasses>true</attachClasses>
......
...@@ -42,7 +42,7 @@ import org.olat.core.gui.translator.Translator; ...@@ -42,7 +42,7 @@ import org.olat.core.gui.translator.Translator;
*/ */
public class MemoryRenderer extends DefaultComponentRenderer { public class MemoryRenderer extends DefaultComponentRenderer {
private static final String[] bars = new String[]{ "progress-bar-success", "progress-bar-warning", "progress-bar-info"}; private static final String[] bars = new String[]{ "progress-bar-success", "progress-bar-warning", "progress-bar-info" };
@Override @Override
public void render(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, public void render(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu,
...@@ -98,14 +98,11 @@ public class MemoryRenderer extends DefaultComponentRenderer { ...@@ -98,14 +98,11 @@ public class MemoryRenderer extends DefaultComponentRenderer {
usedPercent = usedPercent - (totalUsedPercent - 100l); usedPercent = usedPercent - (totalUsedPercent - 100l);
} }
sb.append("<div class='progress-bar ").append(bars[count++]).append("' role='progressbar' ") sb.append("<div class='progress-bar ").append(bars[count++ % bars.length]).append("' role='progressbar' ")
.append(" aria-valuenow='").append(usedMB).append("'") .append(" aria-valuenow='").append(usedMB).append("'")
.append(" aria-valuemin='0' style='width:").append(usedPercent).append("%;'><span") .append(" aria-valuemin='0' style='width:").append(usedPercent).append("%;'><span")
.append(" title=\"").append(usedMB).append("MB (").append(name).append(")\"") .append(" title=\"").append(usedMB).append("MB (").append(name).append(")\"")
.append(">").append(usedMB).append("MB (").append(name).append(")</span></div>"); .append(">").append(usedMB).append("MB (").append(name).append(")</span></div>");
if(count > bars.length) {
count = 0;
}
} }
} }
......
...@@ -1062,7 +1062,10 @@ public class RichTextConfiguration implements Disposable { ...@@ -1062,7 +1062,10 @@ public class RichTextConfiguration implements Disposable {
.append(" {title: 'Mail', value: 'b_link_mailto'},\n") .append(" {title: 'Mail', value: 'b_link_mailto'},\n")
.append(" {title: 'Forward', value: 'b_link_forward'}\n") .append(" {title: 'Forward', value: 'b_link_forward'}\n")
.append("],\n"); .append("],\n");
// predefined table styles selectable in a menu
tinyMenuSb.append("table_class_list: [\n") tinyMenuSb.append("table_class_list: [\n")
.append(" {title: 'No style', value: ''},\n")
.append(" {title: 'Default', value: 'b_default'},\n")
.append(" {title: 'Borderless', value: 'b_borderless'},\n") .append(" {title: 'Borderless', value: 'b_borderless'},\n")
.append(" {title: 'Grid', value: 'b_grid'},\n") .append(" {title: 'Grid', value: 'b_grid'},\n")
.append(" {title: 'Border', value: 'b_border'},\n") .append(" {title: 'Border', value: 'b_border'},\n")
...@@ -1074,6 +1077,9 @@ public class RichTextConfiguration implements Disposable { ...@@ -1074,6 +1077,9 @@ public class RichTextConfiguration implements Disposable {
.append(" {title: 'Blue', value: 'b_blue'},\n") .append(" {title: 'Blue', value: 'b_blue'},\n")
.append(" {title: 'Yellow', value: 'b_yellow'}\n") .append(" {title: 'Yellow', value: 'b_yellow'}\n")
.append("],\n"); .append("],\n");
// default table style
tinyMenuSb.append("table_default_attributes: { class: 'b_default' },\n");
if (tinyConfig.getTool1() != null) { if (tinyConfig.getTool1() != null) {
tinyMenuSb.append("toolbar1: '").append(tinyConfig.getTool1()).append("',\n"); tinyMenuSb.append("toolbar1: '").append(tinyConfig.getTool1()).append("',\n");
......
...@@ -336,7 +336,7 @@ public class XMLDigitalSignatureUtil { ...@@ -336,7 +336,7 @@ public class XMLDigitalSignatureUtil {
KeyInfoFactory kif = sigFactory.getKeyInfoFactory(); KeyInfoFactory kif = sigFactory.getKeyInfoFactory();
X509Data xd = kif.newX509Data(Collections.singletonList(x509Cert)); X509Data xd = kif.newX509Data(Collections.singletonList(x509Cert));
List<Object> keyInfoList = new ArrayList<>(); List<XMLStructure> keyInfoList = new ArrayList<>();
if(StringHelper.containsNonWhitespace(keyName)) { if(StringHelper.containsNonWhitespace(keyName)) {
keyInfoList.add(kif.newKeyName(keyName)); keyInfoList.add(kif.newKeyName(keyName));
} }
...@@ -461,18 +461,18 @@ public class XMLDigitalSignatureUtil { ...@@ -461,18 +461,18 @@ public class XMLDigitalSignatureUtil {
private static class X509KeySelector extends KeySelector { private static class X509KeySelector extends KeySelector {
@Override
public KeySelectorResult select(KeyInfo keyInfo, KeySelector.Purpose purpose, AlgorithmMethod method, XMLCryptoContext context) public KeySelectorResult select(KeyInfo keyInfo, KeySelector.Purpose purpose, AlgorithmMethod method, XMLCryptoContext context)
throws KeySelectorException { throws KeySelectorException {
@SuppressWarnings("unchecked")
Iterator<Object> ki = keyInfo.getContent().iterator(); Iterator<?> ki = keyInfo.getContent().iterator();
while (ki.hasNext()) { while (ki.hasNext()) {
XMLStructure info = (XMLStructure) ki.next(); XMLStructure info = (XMLStructure) ki.next();
if (!(info instanceof X509Data)) { if (!(info instanceof X509Data)) {
continue; continue;
} }
X509Data x509Data = (X509Data) info; X509Data x509Data = (X509Data) info;
@SuppressWarnings("unchecked") Iterator<?> xi = x509Data.getContent().iterator();
Iterator<Object> xi = x509Data.getContent().iterator();
while (xi.hasNext()) { while (xi.hasNext()) {
Object o = xi.next(); Object o = xi.next();
if (!(o instanceof X509Certificate)) { if (!(o instanceof X509Certificate)) {
......
...@@ -53,9 +53,12 @@ public class Card2BrainEditController extends ActivateableTabbableDefaultControl ...@@ -53,9 +53,12 @@ public class Card2BrainEditController extends ActivateableTabbableDefaultControl
private ConditionEditController accessibilityCondContr; private ConditionEditController accessibilityCondContr;
private TabbedPane tabPane; private TabbedPane tabPane;
private final Card2BrainCourseNode courseNode;
public Card2BrainEditController(UserRequest ureq, WindowControl wControl, public Card2BrainEditController(UserRequest ureq, WindowControl wControl,
Card2BrainCourseNode card2BrainCourseNode, ICourse course, UserCourseEnvironment userCourseEnv) { Card2BrainCourseNode card2BrainCourseNode, ICourse course, UserCourseEnvironment userCourseEnv) {
super(ureq, wControl); super(ureq, wControl);
this.courseNode = card2BrainCourseNode;
card2BrainConfigController = new Card2BrainConfigController(ureq, wControl, card2BrainCourseNode.getModuleConfiguration()); card2BrainConfigController = new Card2BrainConfigController(ureq, wControl, card2BrainCourseNode.getModuleConfiguration());
listenTo(card2BrainConfigController); listenTo(card2BrainConfigController);
...@@ -89,7 +92,13 @@ public class Card2BrainEditController extends ActivateableTabbableDefaultControl ...@@ -89,7 +92,13 @@ public class Card2BrainEditController extends ActivateableTabbableDefaultControl
@Override @Override
public void event(UserRequest ureq, Controller source, Event event) { public void event(UserRequest ureq, Controller source, Event event) {
if (source == card2BrainConfigController && event.equals(Event.DONE_EVENT)) { if (source == accessibilityCondContr) {
if (event == Event.CHANGED_EVENT) {
Condition cond = accessibilityCondContr.getCondition();
courseNode.setPreConditionAccess(cond);
fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT);
}
} else if (source == card2BrainConfigController && event.equals(Event.DONE_EVENT)) {
card2BrainConfigController.getUpdatedConfig(); card2BrainConfigController.getUpdatedConfig();
fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT); fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT);
} }
......
...@@ -52,10 +52,13 @@ public class EdubaseEditController extends ActivateableTabbableDefaultController ...@@ -52,10 +52,13 @@ public class EdubaseEditController extends ActivateableTabbableDefaultController
private ConditionEditController accessibilityCondContr; private ConditionEditController accessibilityCondContr;
private EdubaseConfigController edubaseConfigController; private EdubaseConfigController edubaseConfigController;
private EdubaseBookSectionListController edubaseBookSectionListController; private EdubaseBookSectionListController edubaseBookSectionListController;
private final EdubaseCourseNode courseNode;
public EdubaseEditController(UserRequest ureq, WindowControl wControl, EdubaseCourseNode edubaseCourseNode, public EdubaseEditController(UserRequest ureq, WindowControl wControl, EdubaseCourseNode edubaseCourseNode,
ICourse course, UserCourseEnvironment userCourseEnv) { ICourse course, UserCourseEnvironment userCourseEnv) {
super(ureq, wControl); super(ureq, wControl);
this.courseNode = edubaseCourseNode;
Condition accessCondition = edubaseCourseNode.getPreConditionAccess(); Condition accessCondition = edubaseCourseNode.getPreConditionAccess();
accessibilityCondContr = new ConditionEditController(ureq, wControl, userCourseEnv, accessCondition, accessibilityCondContr = new ConditionEditController(ureq, wControl, userCourseEnv, accessCondition,
...@@ -92,7 +95,13 @@ public class EdubaseEditController extends ActivateableTabbableDefaultController ...@@ -92,7 +95,13 @@ public class EdubaseEditController extends ActivateableTabbableDefaultController
@Override @Override
public void event(UserRequest ureq, Controller source, Event event) { public void event(UserRequest ureq, Controller source, Event event) {
if (source == edubaseConfigController && event.equals(Event.DONE_EVENT)) { if (source == accessibilityCondContr) {
if (event == Event.CHANGED_EVENT) {
Condition cond = accessibilityCondContr.getCondition();
courseNode.setPreConditionAccess(cond);
fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT);
}
} else if (source == edubaseConfigController && event.equals(Event.DONE_EVENT)) {
edubaseConfigController.getUpdatedConfig(); edubaseConfigController.getUpdatedConfig();
fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT); fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT);
edubaseBookSectionListController.dispatchEvent(ureq, edubaseConfigController, event); edubaseBookSectionListController.dispatchEvent(ureq, edubaseConfigController, event);
......
This diff is collapsed.
This diff is collapsed.
...@@ -66,7 +66,7 @@ div.b_scrollblock { ...@@ -66,7 +66,7 @@ div.b_scrollblock {
td, th { td, th {
padding: $padding-xs-vertical $padding-xs-horizontal; padding: $padding-xs-vertical $padding-xs-horizontal;
background: $bgcolor; background: $bgcolor;
border: 1px solid lighten($bgcolor,20%); border: 1px solid lighten($bgcolor,5%);
} }
thead td, th { thead td, th {
background: darken($bgcolor,10%); background: darken($bgcolor,10%);
...@@ -81,6 +81,11 @@ table { ...@@ -81,6 +81,11 @@ table {
vertical-align: top; vertical-align: top;
} }
&.b_default {
td, th {
padding: $padding-xs-vertical $padding-xs-horizontal;
}
}
&.b_grid { &.b_grid {
width: 99.5%; width: 99.5%;
background: transparent; background: transparent;
......
...@@ -101,6 +101,11 @@ ...@@ -101,6 +101,11 @@
} }
.o_video_run { .o_video_run {
h1 {
// same as youtube
font-size: 1.8rem;
font-weight: normal;
}
.o_author { .o_author {
margin-top: 0.5em; margin-top: 0.5em;
margin-bottom: 1em; margin-bottom: 1em;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -44,8 +44,8 @@ db.name=${test.env.db.name:olattest} ...@@ -44,8 +44,8 @@ db.name=${test.env.db.name:olattest}
db.user=${test.env.db.user:olat} db.user=${test.env.db.user:olat}
db.pass=${test.env.db.pass:olat} db.pass=${test.env.db.pass:olat}
db.host.port=${test.env.db.host.port:3306} db.host.port=${test.env.db.host.port:3306}
db.database.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
auto.upgrade.database=false auto.upgrade.database=false
db.hibernate.hikari.leakDetectionThreshold=120000
#site we need #site we need
site.portal.enable=true site.portal.enable=true
......
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