diff --git a/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java b/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java index 5e749430b3ed65f549ad447cb815110cdcabf23a..d87a2d8228123724a5e60c809ff2d297155e99ec 100644 --- a/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java +++ b/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java @@ -151,7 +151,7 @@ public class LandingPagesAdminController extends FormBasicController { layoutCont.contextPut("rules", wrappers); } model = new RulesDataModel(columnsModel, wrappers); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "rules", model, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "rules", model, getTranslator(), formLayout); tableEl.setCustomizeColumns(false); tableEl.setRendererType(FlexiTableRendererType.classic); diff --git a/src/main/java/org/olat/admin/properties/AdvancedPropertySearchForm.java b/src/main/java/org/olat/admin/properties/AdvancedPropertySearchForm.java index 1e257b78592ed20733584b775895983b0f98ac39..58857a280e6ee0c31b8b8d3fd292940cab6e81dc 100644 --- a/src/main/java/org/olat/admin/properties/AdvancedPropertySearchForm.java +++ b/src/main/java/org/olat/admin/properties/AdvancedPropertySearchForm.java @@ -138,7 +138,7 @@ public class AdvancedPropertySearchForm extends FormBasicController { horizontalLayout.setLabel("searchform.username", null); userName = uifactory.addTextElement("userName", null, 60, "", horizontalLayout); - userChooser = uifactory.addFormLink("choose", horizontalLayout,"b_form_genericchooser"); + userChooser = uifactory.addFormLink("choose", horizontalLayout); resourceTypeName = uifactory.addDropdownSingleselect("resourceTypeName", "searchform.resoursetypename", formLayout, theKeys, theValues, null); resourceTypeId = uifactory.addTextElement("resourceTypeId", "searchform.resourcetypeid", 60, "", formLayout); diff --git a/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java b/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java index 16a75480f1367d038eb5f4b7326bceff2c2fe939..7e00d0b5687ebe8403322590007c861998ce1c8f 100644 --- a/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java +++ b/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java @@ -143,7 +143,7 @@ public class SitesConfigurationController extends FormBasicController { model = new SiteDefModel(columnsModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "sitesTable", model, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "sitesTable", model, getTranslator(), formLayout); tableEl.setRendererType(FlexiTableRendererType.classic); tableEl.setCustomizeColumns(true); tableEl.setAndLoadPersistedPreferences(ureq, "sites-admin"); diff --git a/src/main/java/org/olat/admin/user/UserSearchFlexiController.java b/src/main/java/org/olat/admin/user/UserSearchFlexiController.java index 59733b27f78803f3cb8b30ea196f19b00d31e774..dc5d1100bf4c10cb880de3117777bcb27ecb85b7 100644 --- a/src/main/java/org/olat/admin/user/UserSearchFlexiController.java +++ b/src/main/java/org/olat/admin/user/UserSearchFlexiController.java @@ -218,7 +218,7 @@ public class UserSearchFlexiController extends FlexiAutoCompleterController { Translator myTrans = userManager.getPropertyHandlerTranslator(getTranslator()); userTableModel = new UserSearchFlexiTableModel(Collections.<Identity>emptyList(), resultingPropertyHandlers, isAdministrativeUser, getLocale(), tableColumnModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "users", userTableModel, myTrans, formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "users", userTableModel, myTrans, formLayout); tableEl.setCustomizeColumns(false); tableEl.setMultiSelect(true); tableEl.setSelectAllEnable(true); diff --git a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep02.java b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep02.java index 42893fee0b391f72312881470ccbcb9c3d60339f..b11daeb761a5595d96a2bffa0237c834c743c610 100644 --- a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep02.java +++ b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep02.java @@ -270,7 +270,7 @@ class UserBulkChangeStep02 extends BasicStep { tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, "table.role.status", colPos++, false, null, FlexiColumnModel.ALIGNMENT_LEFT, textRenderer)); FlexiTableDataModel<List<String>> tableDataModel = new FlexiTableDataModelImpl<List<String>>(new OverviewModel(mergedDataChanges, colPos), tableColumnModel); - uifactory.addTableElement(ureq, getWindowControl(), "newUsers", tableDataModel, formLayoutVertical); + uifactory.addTableElement(getWindowControl(), "newUsers", tableDataModel, formLayoutVertical); Set<Long> allGroups = new HashSet<Long>(); @SuppressWarnings("unchecked") @@ -295,7 +295,7 @@ class UserBulkChangeStep02 extends BasicStep { TableDataModel<BusinessGroup> model = new GroupAddOverviewModel(groups, ownGroups, partGroups, mailGroups, getTranslator()); FlexiTableDataModel<BusinessGroup> groupDataModel = new FlexiTableDataModelImpl<BusinessGroup>(model, groupColumnModel); - uifactory.addTableElement(ureq, getWindowControl(), "groupOverview", groupDataModel, formLayout); + uifactory.addTableElement(getWindowControl(), "groupOverview", groupDataModel, formLayout); } } diff --git a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java index 62c5dd81355d302793048fc3310bd2446e998e3b..8094914754c98982dd416aa959063969e7dc078b 100644 --- a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java +++ b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java @@ -141,7 +141,7 @@ public class GroupSearchController extends StepFormBasicController { tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.participant.i18n(), Cols.participant.ordinal())); tableDataModel = new GroupTableDataModel(Collections.<GroupWrapper>emptyList(), tableColumnModel); - table = uifactory.addTableElement(ureq, getWindowControl(), "groupList", tableDataModel, tableCont); + table = uifactory.addTableElement(getWindowControl(), "groupList", tableDataModel, tableCont); table.setCustomizeColumns(false); tableCont.add("groupList", table); diff --git a/src/main/java/org/olat/admin/user/imp/ImportStep01.java b/src/main/java/org/olat/admin/user/imp/ImportStep01.java index 1904be7b62e0d754e28c06f22cb8e2a986ed5ee3..5ffd5ecd83fa26e6c7777ee8bc29c4e436652c01 100644 --- a/src/main/java/org/olat/admin/user/imp/ImportStep01.java +++ b/src/main/java/org/olat/admin/user/imp/ImportStep01.java @@ -172,7 +172,7 @@ class ImportStep01 extends BasicStep { } FlexiTableDataModel<Identity> tableDataModel = new FlexiTableDataModelImpl<Identity>(new Model(idents, colPos), tableColumnModel); - uifactory.addTableElement(ureq, getWindowControl(), "newUsers", tableDataModel, formLayoutVertical); + uifactory.addTableElement(getWindowControl(), "newUsers", tableDataModel, formLayoutVertical); } } } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java b/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java index ed165078f7bfd0015fe51901fbba85d5a5dc94e1..64efe7b94fdbc3942609dede7c407e0230789e0a 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java @@ -831,23 +831,23 @@ public class FormUIFactory { * @param formLayout * @return */ - public FlexiTableElement addTableElement(UserRequest ureq, WindowControl wControl, String name, FlexiTableDataModel<?> tableModel, + public FlexiTableElement addTableElement(WindowControl wControl, String name, FlexiTableDataModel<?> tableModel, FormItemContainer formLayout) { - FlexiTableElementImpl fte = new FlexiTableElementImpl(ureq, wControl, name,tableModel); + FlexiTableElementImpl fte = new FlexiTableElementImpl(wControl, name,tableModel); formLayout.add(fte); return fte; } - public FlexiTableElement addTableElement(UserRequest ureq, WindowControl wControl, String name, FlexiTableDataModel<?> tableModel, + public FlexiTableElement addTableElement(WindowControl wControl, String name, FlexiTableDataModel<?> tableModel, Translator translator, FormItemContainer formLayout) { - FlexiTableElementImpl fte = new FlexiTableElementImpl(ureq, wControl, name, translator, tableModel); + FlexiTableElementImpl fte = new FlexiTableElementImpl(wControl, name, translator, tableModel); formLayout.add(fte); return fte; } - public FlexiTableElement addTableElement(UserRequest ureq, WindowControl wControl, String name, FlexiTableDataModel<?> tableModel, + public FlexiTableElement addTableElement(WindowControl wControl, String name, FlexiTableDataModel<?> tableModel, int pageSize, boolean loadOnInit, Translator translator, FormItemContainer formLayout) { - FlexiTableElementImpl fte = new FlexiTableElementImpl(ureq, wControl, name, translator, tableModel, pageSize, loadOnInit); + FlexiTableElementImpl fte = new FlexiTableElementImpl(wControl, name, translator, tableModel, pageSize, loadOnInit); formLayout.add(fte); return fte; } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java index 4d160fa55ced6a1fd19201e05a0e27961fe08163..e0f17917f5f3a004c2eb5fc198afa9c86de3f763 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java @@ -96,7 +96,7 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere .append(" accept: function(event,ui){ return true; },\n") .append(" helper: function(event,ui,zt) {\n") .append(" var helperText = jQuery(this).children('.o_dnd_label').text();\n") - .append(" return jQuery(\"<div class='ui-widget-header b_table_drag'>\" + helperText + \"</div>\").appendTo('body').css('zIndex',5).show();\n") + .append(" return jQuery(\"<div class='ui-widget-header o_table_drag'>\" + helperText + \"</div>\").appendTo('body').css('zIndex',5).show();\n") .append(" }\n") .append("});\n") .append("});\n") @@ -331,7 +331,7 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere int col = 0; if(ftE.isMultiSelect()) { String choice = translator.translate("table.header.choice"); - target.append("<th class='b_first_child'>").append(choice).append("</th>"); + target.append("<th>").append(choice).append("</th>"); col++; } @@ -403,7 +403,7 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere if(ftE.isMultiSelect()) { target.append("<td>") - .append("<input type='checkbox' name='tb_ms' value='").append(rowIdPrefix).append(row).append("'"); + .append("<input type='checkbox' name='to_ms' value='").append(rowIdPrefix).append(row).append("'"); if(ftE.isAllSelectedIndex() || ftE.isMultiSelectedIndex(row)) { target.append(" checked='checked'"); } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java index 749371868bca6ac8c1acfffebf0c4659fd753a27..4fa8191ef40f97d58144c279a54cc51320ebcb4d 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java @@ -34,10 +34,8 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.ResultInfos; import org.olat.core.commons.persistence.SortKey; -import org.olat.core.dispatcher.mapper.MapperService; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.ComponentEventListener; @@ -116,7 +114,6 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle private FlexiTableComponentDelegate componentDelegate; private CloseableCalloutWindowController callout; private final WindowControl wControl; - private final String mapperUrl; private String wrapperSelector; @@ -131,15 +128,15 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle private Map<String,FormItem> components = new HashMap<String,FormItem>(); - public FlexiTableElementImpl(UserRequest ureq, WindowControl wControl, String name, FlexiTableDataModel<?> tableModel) { - this(ureq, wControl, name, null, tableModel, -1, true); + public FlexiTableElementImpl(WindowControl wControl, String name, FlexiTableDataModel<?> tableModel) { + this(wControl, name, null, tableModel, -1, true); } - public FlexiTableElementImpl(UserRequest ureq, WindowControl wControl, String name, Translator translator, FlexiTableDataModel<?> tableModel) { - this(ureq, wControl, name, translator, tableModel, -1, true); + public FlexiTableElementImpl(WindowControl wControl, String name, Translator translator, FlexiTableDataModel<?> tableModel) { + this(wControl, name, translator, tableModel, -1, true); } - public FlexiTableElementImpl(UserRequest ureq, WindowControl wControl, String name, Translator translator, + public FlexiTableElementImpl(WindowControl wControl, String name, Translator translator, FlexiTableDataModel<?> tableModel, int pageSize, boolean loadOnStart) { super(name); this.wControl = wControl; @@ -154,9 +151,6 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle } } - MapperService mapper = CoreSpringFactory.getImpl(MapperService.class); - mapperUrl = mapper.register(ureq.getUserSession(), new FlexiTableModelMapper(component)); - String dispatchId = component.getDispatchID(); customButton = new FormLinkImpl(dispatchId + "_customButton", "rCustomButton", "", Link.BUTTON + Link.NONTRANSLATED); customButton.setTranslator(translator); @@ -560,10 +554,6 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle this.currentFirstResult = currentFirstResult; } - public String getMapperUrl() { - return mapperUrl; - } - @Override public Iterable<FormItem> getFormItems() { List<FormItem> items = new ArrayList<>(components.values()); @@ -597,7 +587,7 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle */ @Override public void evalFormRequest(UserRequest ureq) { - String[] selectedIndexArr = getRootForm().getRequestParameterValues("tb_ms"); + String[] selectedIndexArr = getRootForm().getRequestParameterValues("to_ms"); if(selectedIndexArr != null) { setMultiSelectIndex(selectedIndexArr); } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableModelMapper.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableModelMapper.java deleted file mode 100644 index f820aa3412329c7b0257ec766d79594fd07b9fe6..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableModelMapper.java +++ /dev/null @@ -1,187 +0,0 @@ -/** - * <a href="http://www.openolat.org"> - * OpenOLAT - Online Learning and Training</a><br> - * <p> - * Licensed under the Apache License, Version 2.0 (the "License"); <br> - * you may not use this file except in compliance with the License.<br> - * You may obtain a copy of the License at the - * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> - * <p> - * Unless required by applicable law or agreed to in writing,<br> - * software distributed under the License is distributed on an "AS IS" BASIS, <br> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> - * See the License for the specific language governing permissions and <br> - * limitations under the License. - * <p> - * Initial code contributed and copyrighted by<br> - * frentix GmbH, http://www.frentix.com - * <p> - */ -package org.olat.core.gui.components.form.flexible.impl.elements.table; - -import javax.servlet.http.HttpServletRequest; - -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.persistence.ResultInfos; -import org.olat.core.commons.persistence.SortKey; -import org.olat.core.dispatcher.mapper.Mapper; -import org.olat.core.gui.Windows; -import org.olat.core.gui.components.form.flexible.FormItem; -import org.olat.core.gui.control.ChiefController; -import org.olat.core.gui.media.JSONMediaResource; -import org.olat.core.gui.media.MediaResource; -import org.olat.core.gui.render.StringOutput; -import org.olat.core.gui.render.URLBuilder; -import org.olat.core.gui.translator.Translator; -import org.olat.core.logging.OLog; -import org.olat.core.logging.Tracing; -import org.olat.core.util.StringHelper; -import org.olat.core.util.UserSession; -import org.olat.core.util.session.UserSessionManager; - -/** - * - * Initial date: 28.01.2013<br> - * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com - * - */ -public class FlexiTableModelMapper implements Mapper { - - private static final OLog log = Tracing.createLoggerFor(FlexiTableModelMapper.class); - - private final FlexiTableComponent ftC; - - public FlexiTableModelMapper(FlexiTableComponent ftC) { - this.ftC = ftC; - } - - @Override - public MediaResource handle(String relPath, HttpServletRequest request) { - - String firstRowStr = request.getParameter("iDisplayStart"); - String maxRowStr = request.getParameter("iDisplayLength"); - String echo = request.getParameter("sEcho"); - String sortCol = request.getParameter("iSortCol_0"); - String sortDir = request.getParameter("sSortDir_0"); - - FlexiTableElementImpl ftE = ftC.getFlexiTableElement(); - URLBuilder ubu = getURLBuilder(request); - - int sortedColIndex = -1; - if(StringHelper.containsNonWhitespace(sortCol)) { - sortedColIndex = Integer.parseInt(sortCol); - if(ftE.isMultiSelect()) { - sortedColIndex--; - } - } - - if(StringHelper.isLong(firstRowStr) && StringHelper.isLong(maxRowStr)) { - FlexiTableDataModel<?> dataModel = ftE.getTableDataModel(); - FlexiTableColumnModel columnsModel = dataModel.getTableColumnModel(); - - SortKey orderBy = null; - if(sortedColIndex >= 0 && sortedColIndex < columnsModel.getColumnCount()) { - int count = 0; - for(int i=0; i<columnsModel.getColumnCount() && count <= sortedColIndex; i++) { - FlexiColumnModel sortedColumn = columnsModel.getColumnModel(i); - if(ftE.isColumnModelVisible(sortedColumn)) { - if(count == sortedColIndex && StringHelper.containsNonWhitespace(sortedColumn.getSortKey())) { - orderBy = new SortKey(sortedColumn.getSortKey(), "asc".equals(sortDir)); - break; - } - count++; - } - } - } - - int rows = dataModel.getRowCount(); - String dispatchId = ftE.getComponent().getDispatchID(); - String rowIdPrefix = "row_" + dispatchId + "-"; - - try { - JSONObject root = new JSONObject(); - root.put("sEcho", Integer.parseInt(echo) + 1); - root.put("iTotalRecords", rows); - root.put("iTotalDisplayRecords", rows); - - JSONArray ja = new JSONArray(); - root.put("aaData", ja); - - int firstRow = Integer.parseInt(firstRowStr); - int maxRows = Integer.parseInt(maxRowStr); - int lastRow = Math.min(rows, firstRow + maxRows); - //paged loading - ResultInfos<?> results = ftE.doScroll(firstRow, maxRows, orderBy); - ftE.setCurrentFirstResult(results.getNextFirstResult()); - - for (int i = firstRow; i < lastRow; i++) { - JSONObject row = new JSONObject(); - - if(ftE.isMultiSelect()) { - StringBuilder sb = new StringBuilder(); - sb.append("<input type='checkbox' name='tb_ms' value='").append(rowIdPrefix).append(i).append("'"); - if(ftE.isAllSelectedIndex() || ftE.isMultiSelectedIndex(i)) { - sb.append(" checked='checked'"); - } - sb.append("/>"); - row.put("multiSelectCol", sb.toString()); - } - - for(int j=0; j<columnsModel.getColumnCount(); j++) { - FlexiColumnModel col = columnsModel.getColumnModel(j); - if(ftE.isColumnModelVisible(col)) { - int columnIndex = col.getColumnIndex(); - Object value = columnIndex >= 0 ? dataModel.getValueAt(i, columnIndex) : null; - - String val; - if(value instanceof FormItem) { - FormItem item = (FormItem)value; - if(ftE.getRootForm() != item.getRootForm()) { - item.setRootForm(ftE.getRootForm()); - } - ftE.addFormItem(item); - val = renderFormItem(item, request); - } else { - val = renderColumnRenderer(col, value, i, ftC, ubu, ftE.getTranslator()); - } - - row.put(col.getColumnKey(), val); - } - } - row.put("DT_RowId", rowIdPrefix + Integer.toString(i)); - - ja.put(row); - } - return new JSONMediaResource(root, "UTF-8"); - } catch (NumberFormatException e) { - log.error("", e); - } catch (JSONException e) { - log.error("", e); - } - } - return null; - } - - private String renderColumnRenderer(FlexiColumnModel col, Object cellValue, int row, FlexiTableComponent source, - URLBuilder ubu, Translator translator) { - - StringOutput target = new StringOutput(128); - col.getCellRenderer().render(null, target, cellValue, row, source, ubu, translator); - return target.toString(); - } - - private String renderFormItem(FormItem item, HttpServletRequest request) { - UserSession usess = CoreSpringFactory.getImpl(UserSessionManager.class).getUserSession(request); - ChiefController cc = Windows.getWindows(usess).getChiefController(); - return cc.getWindow().renderComponent(item.getComponent()); - } - - private URLBuilder getURLBuilder(HttpServletRequest request) { - UserSession usess = CoreSpringFactory.getImpl(UserSessionManager.class).getUserSession(request); - ChiefController cc = Windows.getWindows(usess).getChiefController(); - return cc.getWindow().getURLBuilder(); - } -} diff --git a/src/main/java/org/olat/course/area/_content/area_list.html b/src/main/java/org/olat/course/area/_content/area_list.html index c6701b4b3a858a26250f46fa0fcf1682df64d3bb..6499c2a89d31b4e5c41eceda6a69ce53764a0f6c 100644 --- a/src/main/java/org/olat/course/area/_content/area_list.html +++ b/src/main/java/org/olat/course/area/_content/area_list.html @@ -1,8 +1,9 @@ -$r.contextHelpWithWrapper("org.olat.group.ui.area","grp-Area-des.html","help.hover.bgDetail-Area") -<h4 class="b_with_small_icon_left b_group_icon">$r.translate("course.areas.title")</h4> +<h4>$r.contextHelpWithWrapper("org.olat.group.ui.area","grp-Area-des.html","help.hover.bgDetail-Area") + <i class="o_icon o_icon_group"> </i> $r.translate("course.areas.title")</h4> $r.render("areaList") <hr /> -<p> - $r.translate("course.areas.description") -</p> -$r.render("createArea") +<p class="o_info">$r.translate("course.areas.description")</p> +<div class="o_button_group o_button_group_left"> + $r.render("createArea") +</div> + diff --git a/src/main/java/org/olat/course/assessment/bulk/BulkAssessmentOverviewController.java b/src/main/java/org/olat/course/assessment/bulk/BulkAssessmentOverviewController.java index 6f4aff155b629d1d5db8510d2f290bb84e3643f0..f8a63a6dd63c319d4bf216601c6b194c47471bf8 100644 --- a/src/main/java/org/olat/course/assessment/bulk/BulkAssessmentOverviewController.java +++ b/src/main/java/org/olat/course/assessment/bulk/BulkAssessmentOverviewController.java @@ -125,7 +125,7 @@ public class BulkAssessmentOverviewController extends FormBasicController { columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("delete", translate("delete"), "delete")); taskModel = new TaskDataModel(Collections.<TaskData>emptyList(), columnsModel); - taskListEl = uifactory.addTableElement(ureq, getWindowControl(), "taskList", taskModel, formLayout); + taskListEl = uifactory.addTableElement(getWindowControl(), "taskList", taskModel, formLayout); reloadTaskModel(); } diff --git a/src/main/java/org/olat/course/assessment/bulk/ChooseColumnsStepForm.java b/src/main/java/org/olat/course/assessment/bulk/ChooseColumnsStepForm.java index c416995a7471c3e6d1da356b58de88692cfe6ab7..40b62861a955cc536fcce7ec14cf821e6ea4e7c8 100644 --- a/src/main/java/org/olat/course/assessment/bulk/ChooseColumnsStepForm.java +++ b/src/main/java/org/olat/course/assessment/bulk/ChooseColumnsStepForm.java @@ -140,7 +140,7 @@ public class ChooseColumnsStepForm extends StepFormBasicController { } overviewDataModel.setTableColumnModel(tableColumnModel); - FlexiTableElement tableEl = uifactory.addTableElement(ureq, getWindowControl(), "overviewList", overviewDataModel, formLayout); + FlexiTableElement tableEl = uifactory.addTableElement(getWindowControl(), "overviewList", overviewDataModel, formLayout); tableEl.setCustomizeColumns(false); } diff --git a/src/main/java/org/olat/course/assessment/bulk/SelectCourseNodeStepForm.java b/src/main/java/org/olat/course/assessment/bulk/SelectCourseNodeStepForm.java index f88217e277c7d1a8ea75beda6be18e0f6953b876..5519156d82ecdd9b8a1cc693e3440d5531750464 100644 --- a/src/main/java/org/olat/course/assessment/bulk/SelectCourseNodeStepForm.java +++ b/src/main/java/org/olat/course/assessment/bulk/SelectCourseNodeStepForm.java @@ -85,7 +85,7 @@ public class SelectCourseNodeStepForm extends StepFormBasicController { new BooleanCellRenderer(new StaticFlexiCellRenderer(translate("table.action.select"), "select"), null))); tableModel.setTableColumnModel(tableColumnModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "nodeList", tableModel, formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "nodeList", tableModel, formLayout); tableEl.setCustomizeColumns(false); } diff --git a/src/main/java/org/olat/course/assessment/bulk/ValidationStepForm.java b/src/main/java/org/olat/course/assessment/bulk/ValidationStepForm.java index 365fdf96a953e1aa0929bedcf098fe3bca057097..5ab6320c47df530c33783ceb68eedfed44593e51 100644 --- a/src/main/java/org/olat/course/assessment/bulk/ValidationStepForm.java +++ b/src/main/java/org/olat/course/assessment/bulk/ValidationStepForm.java @@ -99,12 +99,12 @@ public class ValidationStepForm extends StepFormBasicController { validModel = new ValidDataModel(Collections.<UserData>emptyList()); validModel.setTableColumnModel(tableColumnModel); - validTableEl = uifactory.addTableElement(ureq, getWindowControl(), "validList", validModel, formLayout); + validTableEl = uifactory.addTableElement(getWindowControl(), "validList", validModel, formLayout); validTableEl.setCustomizeColumns(false); invalidModel = new ValidDataModel(Collections.<UserData>emptyList()); invalidModel.setTableColumnModel(tableColumnModel); - invalidTableEl = uifactory.addTableElement(ureq, getWindowControl(), "notFoundList", invalidModel, formLayout); + invalidTableEl = uifactory.addTableElement(getWindowControl(), "notFoundList", invalidModel, formLayout); invalidTableEl.setCustomizeColumns(false); flc.contextPut("settings", settings); diff --git a/src/main/java/org/olat/course/condition/AreaSelectionController.java b/src/main/java/org/olat/course/condition/AreaSelectionController.java index 51e8248506d31ecc07f9f93072ace11e70449935..295cb5c27e918ce6a54b1c9f2666a37ae01b57b2 100644 --- a/src/main/java/org/olat/course/condition/AreaSelectionController.java +++ b/src/main/java/org/olat/course/condition/AreaSelectionController.java @@ -31,14 +31,11 @@ import java.util.List; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement; -import org.olat.core.gui.components.form.flexible.elements.Reset; -import org.olat.core.gui.components.form.flexible.elements.Submit; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormEvent; -import org.olat.core.gui.components.form.flexible.impl.elements.FormLinkImpl; -import org.olat.core.gui.components.form.flexible.impl.elements.FormReset; -import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit; +import org.olat.core.gui.components.link.Link; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; @@ -58,7 +55,7 @@ import org.olat.group.ui.NewAreaController; public class AreaSelectionController extends FormBasicController { private MultipleSelectionElement entrySelector; - private FormLinkImpl createNew; + private FormLink createNew; private final CourseGroupManager courseGrpMngr; private NewAreaController areaCreateCntrllr; private CloseableModalController cmc; @@ -67,7 +64,7 @@ public class AreaSelectionController extends FormBasicController { private String[] areaNames; private String[] areaKeys; - public AreaSelectionController(UserRequest ureq, WindowControl wControl, String title, + public AreaSelectionController(UserRequest ureq, WindowControl wControl, boolean allowCreate, CourseGroupManager courseGrpMngr, List<Long> selectionKeys) { super(ureq, wControl, "group_or_area_selection"); this.courseGrpMngr = courseGrpMngr; @@ -128,25 +125,15 @@ public class AreaSelectionController extends FormBasicController { } @Override - protected void initForm(FormItemContainer boundTo, Controller listener, UserRequest ureq) { + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { if(createEnable) { // easy creation only possible if a default group context available - createNew = new FormLinkImpl("create"); - //is a button - createNew.setCustomEnabledLinkCSS("b_button"); - createNew.setCustomDisabledLinkCSS("b_button o_disabled"); - // create new group/area on the right side - boundTo.add(createNew); + createNew = uifactory.addFormLink("create", formLayout, Link.BUTTON); } - - entrySelector = uifactory.addCheckboxesVertical("entries", null, boundTo, areaKeys, areaNames, 1); - // submitCancel after checkboxes - // - Submit subm = new FormSubmit("subm", "apply"); - Reset reset = new FormReset("reset", "cancel"); - boundTo.add(subm); - boundTo.add(reset); + entrySelector = uifactory.addCheckboxesVertical("entries", null, formLayout, areaKeys, areaNames, 1); + uifactory.addFormSubmitButton("subm", "apply", formLayout); + uifactory.addFormCancelButton("cancel", formLayout, ureq, getWindowControl()); } @Override @@ -155,10 +142,10 @@ public class AreaSelectionController extends FormBasicController { } @Override - protected void formResetted(UserRequest ureq) { + protected void formCancelled(UserRequest ureq) { fireEvent(ureq, Event.CANCELLED_EVENT); } - + public List<String> getSelectedNames() { List<String> selectedNames = new ArrayList<String>(); for(int i=0; i<areaKeys.length; i++) { diff --git a/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java b/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java index 09a9348de8357c7b7a10c54b98e046b95955029e..5fca48c0f06e0a2cee67e7ae434cadb1a00cb63b 100644 --- a/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java +++ b/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java @@ -353,7 +353,7 @@ public class ConditionConfigEasyController extends FormBasicController implement removeAsListenerAndDispose(cmc); removeAsListenerAndDispose(areaChooseC); - areaChooseC = new AreaSelectionController(ureq, getWindowControl(), "area", true, + areaChooseC = new AreaSelectionController(ureq, getWindowControl(), true, courseEditorEnv.getCourseGroupManager(), getKeys(easyAreaList)); listenTo(areaChooseC); diff --git a/src/main/java/org/olat/course/condition/_content/group_or_area_selection.html b/src/main/java/org/olat/course/condition/_content/group_or_area_selection.html index a0189909c5ea5e4852364bd6e945d26e6585da9a..d1941a3a631d3c0dd373de34d595f2d9cd28876b 100644 --- a/src/main/java/org/olat/course/condition/_content/group_or_area_selection.html +++ b/src/main/java/org/olat/course/condition/_content/group_or_area_selection.html @@ -1,8 +1,9 @@ #if($f.isVisible("create")) -$r.render("create") ##<!-- the create button either for group or area --> -<hr/> +<div class="o_button_group o_button_group_right"> + $r.render("create") +</div> #end -$r.render("entries") ##<!-- all the checkboxes vertically aligned --> -<div class="b_button_group"> - $r.render("subm") $r.render("reset") +$r.render("entries") +<div class="o_button_group"> + $r.render("subm") $r.render("cancel") </div> \ No newline at end of file diff --git a/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java b/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java index a938289ff4eb53b413bbd15ccb11f50283a94be2..4c63bad060f53e861543570fa3c0b22e53dea27c 100644 --- a/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java +++ b/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java @@ -93,7 +93,7 @@ public class GroupsAndRightsController extends FormBasicController { List<BGRightsOption> groupRights = loadModel(); tableDataModel = new GroupsAndRightsDataModel(groupRights, tableColumnModel); - uifactory.addTableElement(ureq, getWindowControl(), "rightList", tableDataModel, formLayout); + uifactory.addTableElement(getWindowControl(), "rightList", tableDataModel, formLayout); FormLayoutContainer buttonsLayout = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); buttonsLayout.setRootForm(mainForm); diff --git a/src/main/java/org/olat/course/member/wizard/ImportMemberOverviewIdentitiesController.java b/src/main/java/org/olat/course/member/wizard/ImportMemberOverviewIdentitiesController.java index a7309b3a8deffc19c699428d8b17a9a58f13b499..08adfaef971f5edbcab74132e43a8b2617819561 100644 --- a/src/main/java/org/olat/course/member/wizard/ImportMemberOverviewIdentitiesController.java +++ b/src/main/java/org/olat/course/member/wizard/ImportMemberOverviewIdentitiesController.java @@ -124,7 +124,7 @@ public class ImportMemberOverviewIdentitiesController extends StepFormBasicContr Translator myTrans = userManager.getPropertyHandlerTranslator(getTranslator()); ImportMemberOverviewDataModel userTableModel = new ImportMemberOverviewDataModel(oks, resultingPropertyHandlers, isAdministrativeUser, getLocale(), tableColumnModel); - FlexiTableElement tableEl = uifactory.addTableElement(ureq, getWindowControl(), "users", userTableModel, myTrans, formLayout); + FlexiTableElement tableEl = uifactory.addTableElement(getWindowControl(), "users", userTableModel, myTrans, formLayout); tableEl.setCustomizeColumns(false); } diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java index e47ef4cb28992ce3cec382bc387a2eac00ad5f6f..c2f1738bb2e2474901e1d59f808b9f6960c793ee 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java @@ -241,7 +241,7 @@ public class CheckListAssessmentController extends FormBasicController implement List<CheckListAssessmentRow> datas = loadDatas(); model = new CheckListAssessmentDataModel(checkboxList, datas, columnsModel); - table = uifactory.addTableElement(ureq, getWindowControl(), "checkbox-list", model, getTranslator(), formLayout); + table = uifactory.addTableElement(getWindowControl(), "checkbox-list", model, getTranslator(), formLayout); if(userCourseEnv instanceof UserCourseEnvironmentImpl) { UserCourseEnvironmentImpl env = (UserCourseEnvironmentImpl)userCourseEnv; List<BusinessGroup> coachedGroups = env.getCoachedGroups(); diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListBoxListEditController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListBoxListEditController.java index b8816b98a82e906d05032af3c4193147c4d7620c..898777e295420012295516bb013f440ee229b4d2 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListBoxListEditController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListBoxListEditController.java @@ -131,7 +131,7 @@ public class CheckListBoxListEditController extends FormBasicController { boxList = new ArrayList<Checkbox>(); } model = new CheckboxConfigDataModel(boxList, getTranslator(), columnsModel); - boxTable = uifactory.addTableElement(ureq, getWindowControl(), "checkbox-list", model, getTranslator(), tableCont); + boxTable = uifactory.addTableElement(getWindowControl(), "checkbox-list", model, getTranslator(), tableCont); boxTable.setCustomizeColumns(false); } diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java index 973ff0a3a989567e81831f77da5da99a451307fb..7c68cb33f3e0353414e0062b8d5dc4faef0d2dd9 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java @@ -205,7 +205,8 @@ public class CheckboxAssessmentController extends FormBasicController { TextElement pointEl = uifactory.addTextElement(name + "point", null, 5, pointVal, formLayout); pointEl.setDisplaySize(5); - MultipleSelectionElement checkEl = uifactory.addCheckboxesHorizontal(name + "check", formLayout, onKeys, onValues); + MultipleSelectionElement checkEl = uifactory.addCheckboxesVertical(name + "check", formLayout, onKeys, onValues, 1); + checkEl.setDomReplacementWrapperRequired(false); checkEl.addActionListener(FormEvent.ONCHANGE); checkEl.setUserObject(row); if(checked != null && checked.length > currentCheckboxIndex @@ -220,7 +221,7 @@ public class CheckboxAssessmentController extends FormBasicController { } model = new CheckboxAssessmentDataModel(boxRows, columnsModel); - table = uifactory.addTableElement(ureq, getWindowControl(), "checkbox-list", model, getTranslator(), formLayout); + table = uifactory.addTableElement(getWindowControl(), "checkbox-list", model, getTranslator(), formLayout); table.setCustomizeColumns(true); table.setEditMode(true); table.setAndLoadPersistedPreferences(ureq, "checkbox-assessment"); diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_content/assessment_list.html b/src/main/java/org/olat/course/nodes/cl/ui/_content/assessment_list.html index be4cc97a838a413ee7af602d9d8b65af7a41c40f..bd8b9b141fc43c1759bd5deef6e3d2f363fb20f7 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/_content/assessment_list.html +++ b/src/main/java/org/olat/course/nodes/cl/ui/_content/assessment_list.html @@ -1,6 +1,6 @@ -<div class="b_form clearfix"> +<div class="o_form clearfix"> $r.contextHelpWithWrapper("$off_chelp_package","$off_chelp_page","$off_chelp_hover") - <div class="b_form_desc">$off_desc</div> + <div class="o_desc">$off_desc</div> #if($dueDate) <div class="o_course_run_deadline"> <p>$r.translate("coach.due.date.desc")</p> @@ -8,8 +8,7 @@ </div> #end $r.render("checkbox-list") - - <div class="o_buttons_box_center clearfix"> + <div class="o_button_group clearfix"> $r.render("pdf.export") $r.render("pdf.export.checked") $r.render("box.assessment") diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_content/assessment_per_box.html b/src/main/java/org/olat/course/nodes/cl/ui/_content/assessment_per_box.html index 8f7a71784d354b8b3cc36b13570585543dcee6d3..89f6c63d79f29b0a7586eb62a87d9cca743250bd 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/_content/assessment_per_box.html +++ b/src/main/java/org/olat/course/nodes/cl/ui/_content/assessment_per_box.html @@ -1,13 +1,9 @@ -<div class="b_form clearfix"> +<div class="o_form clearfix"> $r.contextHelpWithWrapper("$off_chelp_package","$off_chelp_page","$off_chelp_hover") - <div class="b_form_desc">$off_desc</div> + <div class="o_desc">$off_desc</div> $r.render("checkbox_sel_cont") - $r.render("checkbox-list") - - <div class="b_form_element_wrapper clearfix"> - <div class="b_form_element"> - $r.render("buttons") - </div> + <div class="o_button_group"> + $r.render("buttons") </div> </div> \ No newline at end of file diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_content/checkboxlist_edit.html b/src/main/java/org/olat/course/nodes/cl/ui/_content/checkboxlist_edit.html index 73c991369a0cadd6c28a58ff22a27679af7edfb8..04dd3f9a782dfdab1e0ef0a6ceed9d0c8c5db897 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/_content/checkboxlist_edit.html +++ b/src/main/java/org/olat/course/nodes/cl/ui/_content/checkboxlist_edit.html @@ -1,4 +1,2 @@ -<div class="clearfix"> - <div class="b_float_right">$r.render("add.checkbox")</div> -</div> +<div class="o_button_group o_button_group_right">$r.render("add.checkbox")</div> $r.render("checkbox-list") \ No newline at end of file diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_content/segments.html b/src/main/java/org/olat/course/nodes/cl/ui/_content/segments.html index ae882e5cd7ff007e2178957708ef2bbe38538d5c..3a8932a78c272982dff57845ee5c1656d3a7b28d 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/_content/segments.html +++ b/src/main/java/org/olat/course/nodes/cl/ui/_content/segments.html @@ -1,7 +1,8 @@ <div class="clearfix"> - $r.render("segments") <br/> - + $r.render("segments") #if($r.available("segmentCmp")) + <div class="o_segments_content"> $r.render("segmentCmp") + </div> #end </div> \ No newline at end of file diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_content/user_assessment.html b/src/main/java/org/olat/course/nodes/cl/ui/_content/user_assessment.html index 0741e92c418d0e5bf94310d5ffa7a6960da9ac9c..bd9400b1ab2bb61513a1ed50aac588b48db8efa5 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/_content/user_assessment.html +++ b/src/main/java/org/olat/course/nodes/cl/ui/_content/user_assessment.html @@ -2,9 +2,10 @@ $r.render("identityInfos") </div> <div class="clearfix"> - $r.render("segments") <br/> - + $r.render("segments") #if($r.available("segmentCmp")) + <div class="o_segments_content"> $r.render("segmentCmp") + </div> #end </div> \ No newline at end of file diff --git a/src/main/java/org/olat/course/nodes/cl/ui/wizard/CheckboxListStepController.java b/src/main/java/org/olat/course/nodes/cl/ui/wizard/CheckboxListStepController.java index 23d4bcef919552393454a0ac99c14b84bfc6716b..3c575f4dd52c127eb79e54ef6fded4cebada02fb 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/wizard/CheckboxListStepController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/wizard/CheckboxListStepController.java @@ -101,7 +101,7 @@ public class CheckboxListStepController extends StepFormBasicController { List<Checkbox> boxList = data.getCheckboxList(); model = new CheckboxConfigDataModel(boxList, getTranslator(), columnsModel); - boxTable = uifactory.addTableElement(ureq, getWindowControl(), "checkbox-list", model, getTranslator(), tableCont); + boxTable = uifactory.addTableElement(getWindowControl(), "checkbox-list", model, getTranslator(), tableCont); boxTable.setCustomizeColumns(false); } diff --git a/src/main/java/org/olat/course/nodes/cl/ui/wizard/_content/checklist_config.html b/src/main/java/org/olat/course/nodes/cl/ui/wizard/_content/checklist_config.html index 195f0487bf6fd9c3148dbdbce32f74be283f19ff..bf00bd10c98f1a44fc9fc9ec9fe3a8b2567fcefe 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/wizard/_content/checklist_config.html +++ b/src/main/java/org/olat/course/nodes/cl/ui/wizard/_content/checklist_config.html @@ -1,9 +1,8 @@ -<div class="b_form clearfix"> - <fieldset><legend>$off_title</legend> - $r.contextHelpWithWrapper("$off_chelp_package","$off_chelp_page","$off_chelp_hover") - <div class="b_form_desc">$off_desc</div> +<div class="o_form clearfix"> + <fieldset><legend>$r.contextHelpWithWrapper("$off_chelp_package","$off_chelp_page","$off_chelp_hover") + $off_title</legend> + <div class="o_desc">$off_desc</div> $r.render("config") - </fieldset> </div> \ No newline at end of file diff --git a/src/main/java/org/olat/course/nodes/cl/ui/wizard/_content/metadatas_config.html b/src/main/java/org/olat/course/nodes/cl/ui/wizard/_content/metadatas_config.html index 560edac578d366e725648835081d2413a85fa703..9fa83b36fe49222f8e1af552a83ffca0207181a9 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/wizard/_content/metadatas_config.html +++ b/src/main/java/org/olat/course/nodes/cl/ui/wizard/_content/metadatas_config.html @@ -1,7 +1,7 @@ <div class="b_form clearfix"> - <fieldset><legend>$off_title</legend> - $r.contextHelpWithWrapper("$off_chelp_package","$off_chelp_page","$off_chelp_hover") - <div class="b_form_desc">$off_desc</div> + <fieldset><legend>$r.contextHelpWithWrapper("$off_chelp_package","$off_chelp_page","$off_chelp_hover") + $off_title</legend> + <div class="o_desc">$off_desc</div> <table> <thead> diff --git a/src/main/java/org/olat/course/nodes/co/COConfigForm.java b/src/main/java/org/olat/course/nodes/co/COConfigForm.java index 2f3c28762a8374f28fb773e0e0ca1b29dae5e755..e30c7ef9ba1d207091fe800b994e1ad91c916b47 100644 --- a/src/main/java/org/olat/course/nodes/co/COConfigForm.java +++ b/src/main/java/org/olat/course/nodes/co/COConfigForm.java @@ -574,7 +574,7 @@ public class COConfigForm extends FormBasicController { removeAsListenerAndDispose(cmc); removeAsListenerAndDispose(areaChooseC); - areaChooseC = new AreaSelectionController (ureq, getWindowControl(), "area", true, + areaChooseC = new AreaSelectionController (ureq, getWindowControl(), true, cev.getCourseGroupManager(), getKeys(easyAreaList)); listenTo(areaChooseC); diff --git a/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java b/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java index 78c35ae8c9a87dd406cdf9b68b110ffba43a349d..ef01dcac41437e56e47d28158bbc88ab294f7db2 100644 --- a/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java +++ b/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java @@ -406,7 +406,7 @@ class ENEditGroupAreaFormController extends FormBasicController implements Gener removeAsListenerAndDispose(areaChooseC); // already areas -> choose areas - areaChooseC = new AreaSelectionController (ureq, getWindowControl() , "area", true, + areaChooseC = new AreaSelectionController (ureq, getWindowControl(), true, cev.getCourseGroupManager(), getKeys(easyAreaList)); listenTo(areaChooseC); diff --git a/src/main/java/org/olat/course/site/ui/CourseSiteAdminController.java b/src/main/java/org/olat/course/site/ui/CourseSiteAdminController.java index c3ec3455d12dfea8a90400111b40349851a82942..e07fe839d379292a8d14a00a048729a23ca408d2 100644 --- a/src/main/java/org/olat/course/site/ui/CourseSiteAdminController.java +++ b/src/main/java/org/olat/course/site/ui/CourseSiteAdminController.java @@ -141,7 +141,7 @@ public class CourseSiteAdminController extends FormBasicController { model.setObjects(configs); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "languageTable", model, getTranslator(), tableLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "languageTable", model, getTranslator(), tableLayout); tableEl.setRendererType(FlexiTableRendererType.classic); tableEl.setCustomizeColumns(true); tableEl.setAndLoadPersistedPreferences(ureq, "course-site-admin"); diff --git a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java index f8597eb94f8195feaad05723df43d549e878e1d3..c619845073574ba7e02ed1222b91c24062e754b4 100644 --- a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java +++ b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java @@ -194,7 +194,7 @@ public abstract class AbstractBusinessGroupListController extends FormBasicContr FlexiTableColumnModel columnModel = initColumnModel(); groupTableModel = new BusinessGroupFlexiTableModel(getTranslator(), columnModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "table", groupTableModel, 20, false, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "table", groupTableModel, 20, false, getTranslator(), formLayout); FlexiTableSortOptions options = new FlexiTableSortOptions(); options.setFromColumnModel(true); diff --git a/src/main/java/org/olat/group/ui/main/EditMembershipController.java b/src/main/java/org/olat/group/ui/main/EditMembershipController.java index ae41b3c1db9d156f038bce5d2baf6471a663e402..02f110429d6dc650220fc00abce2e109b800e61b 100644 --- a/src/main/java/org/olat/group/ui/main/EditMembershipController.java +++ b/src/main/java/org/olat/group/ui/main/EditMembershipController.java @@ -248,7 +248,7 @@ public class EditMembershipController extends FormBasicController { tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("table.header.waitingList", 6)); tableDataModel = new EditMemberTableDataModel(Collections.<MemberOption>emptyList(), tableColumnModel); - FlexiTableElement tableEl = uifactory.addTableElement(ureq, getWindowControl(), "groupList", tableDataModel, formLayout); + FlexiTableElement tableEl = uifactory.addTableElement(getWindowControl(), "groupList", tableDataModel, formLayout); tableEl.setCustomizeColumns(false); if(withButtons) { diff --git a/src/main/java/org/olat/group/ui/main/PendingEnrollmentController.java b/src/main/java/org/olat/group/ui/main/PendingEnrollmentController.java index 056402de7376c605d403e42857230704c5b83bea..542233dcb9f15a70b40742932d8623bf83f9d15a 100644 --- a/src/main/java/org/olat/group/ui/main/PendingEnrollmentController.java +++ b/src/main/java/org/olat/group/ui/main/PendingEnrollmentController.java @@ -124,10 +124,10 @@ public class PendingEnrollmentController extends FormBasicController implements for(ReservationWrapper reservation:reservations) { FormLink acceptLink = uifactory.addFormLink("accept_" + reservation.getKey(), "accept", null, formLayout, Link.BUTTON); acceptLink.setUserObject(reservation); - acceptLink.setCustomEnabledLinkCSS("b_link_left_icon b_link_ok"); + acceptLink.setIconLeftCSS("o_icon o_icon_accept"); FormLink rejectLink = uifactory.addFormLink("reject_" + reservation.getKey(), "reject", null, formLayout, Link.BUTTON); rejectLink.setUserObject(reservation); - rejectLink.setCustomEnabledLinkCSS("b_link_left_icon b_link_nok"); + rejectLink.setIconLeftCSS("o_icon o_icon_reject"); formLayout.add(acceptLink.getName(), acceptLink); formLayout.add(rejectLink.getName(), rejectLink); } diff --git a/src/main/java/org/olat/group/ui/main/_content/accept_reservations.html b/src/main/java/org/olat/group/ui/main/_content/accept_reservations.html index d4a96b8a04990d6fd668780dadd59cd8a53bca10..527c7f451b5909f7ffd16b6eae993dca5d025b11 100644 --- a/src/main/java/org/olat/group/ui/main/_content/accept_reservations.html +++ b/src/main/java/org/olat/group/ui/main/_content/accept_reservations.html @@ -1,9 +1,10 @@ #foreach($reservation in $reservations) #set($id = $reservation.key) <div> - <div class="o_reservation clearfix"> + <div class="o_reservation o_block clearfix"> <div> - <span class="o_reservation_name b_with_small_icon_left #if($reservation.isGroupReservation()) b_group_icon #elseif($reservation.isRepositoryEntryReservation()) o_course_icon #end"> + <span class="o_reservation_name"> + <i class="o_icon #if($reservation.isGroupReservation()) o_icon_group #elseif($reservation.isRepositoryEntryReservation()) o_CourseModule_icon #end"> </i> $r.escapeHtml(${reservation.name}) </span> #if($reservation.coach) @@ -36,7 +37,7 @@ <strong>$r.translate("group.used.in.course")</strong> <ul> #foreach($course in $reservation.courses) - <li class=""><span class="b_with_small_icon_left o_CourseModule_icon">$course</span></li> + <li class=""><span><i class="o_icon o_CourseModule_icon"> </i> $course</span></li> #end </ul> #end diff --git a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormSubworkflow.java b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormSubworkflow.java index f94a94e11a36b212d8a87d5f0f0fa5123e564f92..db584129e4f7ed4c235a0dc2703d6eea1911b1e3 100644 --- a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormSubworkflow.java +++ b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormSubworkflow.java @@ -192,7 +192,7 @@ public class GuiDemoFlexiFormSubworkflow extends FormBasicController { institution = uifactory.addTextElement("institution", null, 256, personData.getInstitution(), horizontalLayout); institution.setEnabled(false); - choose = uifactory.addFormLink("choose", horizontalLayout,"b_form_genericchooser"); + choose = uifactory.addFormLink("choose", horizontalLayout); if (inputMode) { // submit only if in input mode diff --git a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiTablesController.java b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiTablesController.java index 609539e0b94b9989450fdb8ce9e323b6d08d26c1..3a0af01abdae3f19dc7df8b9b346df051d427446 100644 --- a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiTablesController.java +++ b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiTablesController.java @@ -87,7 +87,7 @@ public class GuiDemoFlexiTablesController extends FormBasicController { tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("guidemo.table.header7", 6)); tableDataModel = new FlexiTableDataModelImpl<Row>(new SampleFlexiTableModel(formLayout), tableColumnModel); - uifactory.addTableElement(ureq, getWindowControl(), "gui-demo", tableDataModel, formLayout); + uifactory.addTableElement(getWindowControl(), "gui-demo", tableDataModel, formLayout); uifactory.addFormSubmitButton("ok", formLayout); } diff --git a/src/main/java/org/olat/ldap/ui/DeletStep01.java b/src/main/java/org/olat/ldap/ui/DeletStep01.java index 7aeda74f1e6325497a579e0e2cd577ce3d1c8afd..33d144353ace120bb74cc51c11c0067c8835c9a3 100644 --- a/src/main/java/org/olat/ldap/ui/DeletStep01.java +++ b/src/main/java/org/olat/ldap/ui/DeletStep01.java @@ -147,7 +147,7 @@ public class DeletStep01 extends BasicStep { } tableDataModel = new FlexiTableDataModelImpl<List<String>>(new IdentityFlexiTableModel(mergedDataChanges, colPos + 1), tableColumnModel); - uifactory.addTableElement(ureq, getWindowControl(), "newUsers", tableDataModel, formLayout); + uifactory.addTableElement(getWindowControl(), "newUsers", tableDataModel, formLayout); } } diff --git a/src/main/java/org/olat/login/_chelp/about.html b/src/main/java/org/olat/login/_chelp/about.html index b89417b5f6b966ed626051c96d567f637eb3aac0..ba60ba11c559fa3047c56850ea50b7a503af1c18 100644 --- a/src/main/java/org/olat/login/_chelp/about.html +++ b/src/main/java/org/olat/login/_chelp/about.html @@ -11,7 +11,7 @@ <p> $r.translate("about.elearningjournal.test.2012") <br /> - <a href="http://www.openolat.org/fileadmin/documents/openolat/TH_LMS_TEST_frentix_OpenOLAT_v1.0.pdf" target="_blank" class="o_link_extern">OpenOLAT 8.1 im Test, eLearning Journal Testbericht</a> + <a href="http://www.openolat.org/fileadmin/documents/openolat/TH_LMS_TEST_frentix_OpenOLAT_v1.0.pdf" target="_blank" class="o_link_extern"><i class="o_icon o_icon_external_link"> </i> OpenOLAT 8.1 im Test, eLearning Journal Testbericht</a> </p> <h4>$r.translate("about.financing")</h4> <p>$r.translate("about.financing.intro")<p> diff --git a/src/main/java/org/olat/login/_chelp/accessibility.html b/src/main/java/org/olat/login/_chelp/accessibility.html index 3a82223accb297c00401e270cd16c6416d110e5c..c97c982ce06e0574b049f89ff25af0f3ab3458e2 100644 --- a/src/main/java/org/olat/login/_chelp/accessibility.html +++ b/src/main/java/org/olat/login/_chelp/accessibility.html @@ -9,7 +9,7 @@ $r.translate("accessibility.accesskeys2") </p> <p> - <a href="http://en.wikipedia.org/wiki/Access_key" target="_blank" class="b_link_extern">$r.translate("accessibility.accesskeys.browsers")</a> + <a href="http://en.wikipedia.org/wiki/Access_key" target="_blank" class="o_link_extern"><i class="o_icon o_icon_external_link"> </i> $r.translate("accessibility.accesskeys.browsers")</a> </p> <p> $r.translate("accessibility.accesskeys4") diff --git a/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java b/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java index d1bd2116c5d3427b80163675bf1632fedf6a74f8..95951773d4daf5a5bf276603d840a359c8c483cf 100644 --- a/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java +++ b/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java @@ -138,7 +138,7 @@ public abstract class AbstractItemListController extends FormBasicController columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("details", translate("details"), "select-item")); model = new QuestionItemDataModel(columnsModel, this, getTranslator()); - itemsTable = uifactory.addTableElement(ureq, getWindowControl(), "items", model, 50, true, getTranslator(), formLayout); + itemsTable = uifactory.addTableElement(getWindowControl(), "items", model, 50, true, getTranslator(), formLayout); itemsTable.setWrapperSelector("qitems"); itemsTable.setSelectAllEnable(true); itemsTable.setMultiSelect(true); diff --git a/src/main/java/org/olat/modules/qpool/ui/CollectionListController.java b/src/main/java/org/olat/modules/qpool/ui/CollectionListController.java index 52cd89cc23fa59e6fd75ad0c3663e251eef0d411..4db0cb289f73c6a0c9a879b9ba59891061a258d3 100644 --- a/src/main/java/org/olat/modules/qpool/ui/CollectionListController.java +++ b/src/main/java/org/olat/modules/qpool/ui/CollectionListController.java @@ -90,7 +90,7 @@ public class CollectionListController extends FormBasicController { columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("select", translate("select"), "select-coll")); model = new CollectionsDataModel(colls, columnsModel); - collectionsTable = uifactory.addTableElement(ureq, getWindowControl(), "collections", model, getTranslator(), formLayout); + collectionsTable = uifactory.addTableElement(getWindowControl(), "collections", model, getTranslator(), formLayout); collectionsTable.setMultiSelect(true); collectionsTable.setRendererType(FlexiTableRendererType.classic); diff --git a/src/main/java/org/olat/modules/qpool/ui/PoolsController.java b/src/main/java/org/olat/modules/qpool/ui/PoolsController.java index bcb70dd46627a942d550bf3e97fdf72522bc7af0..f56cdcaf7506d14fa363bb4447277792b348968a 100644 --- a/src/main/java/org/olat/modules/qpool/ui/PoolsController.java +++ b/src/main/java/org/olat/modules/qpool/ui/PoolsController.java @@ -112,7 +112,7 @@ public class PoolsController extends FormBasicController { columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("select", translate("select"), "select-pool")); model = new PoolDataModel(columnsModel, getTranslator()); - poolTable = uifactory.addTableElement(ureq, getWindowControl(), "pools", model, getTranslator(), formLayout); + poolTable = uifactory.addTableElement(getWindowControl(), "pools", model, getTranslator(), formLayout); poolTable.setMultiSelect(true); poolTable.setRendererType(FlexiTableRendererType.classic); reloadModel(); diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/PoolsAdminController.java b/src/main/java/org/olat/modules/qpool/ui/admin/PoolsAdminController.java index 17eb31f157b84e8f98ceb968f9cc65fdf94c3c42..7449b12bf5bbcc8942ca1fb4609c0aa9f1226671 100644 --- a/src/main/java/org/olat/modules/qpool/ui/admin/PoolsAdminController.java +++ b/src/main/java/org/olat/modules/qpool/ui/admin/PoolsAdminController.java @@ -113,7 +113,7 @@ public class PoolsAdminController extends FormBasicController { columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("delete", translate("delete"), "delete-pool")); model = new PoolDataModel(columnsModel, getTranslator()); - poolTable = uifactory.addTableElement(ureq, getWindowControl(), "pools", model, getTranslator(), formLayout); + poolTable = uifactory.addTableElement(getWindowControl(), "pools", model, getTranslator(), formLayout); poolTable.setCustomizeColumns(false); poolTable.setRendererType(FlexiTableRendererType.classic); diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextsAdminController.java b/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextsAdminController.java index 9a300e4e4597d9c3d7b3b85ec395bf1ede33715d..dd8314430bd377a03639cc10f828f97c5f9914c2 100644 --- a/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextsAdminController.java +++ b/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextsAdminController.java @@ -105,7 +105,7 @@ public class QEducationalContextsAdminController extends FormBasicController { columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("delete", Cols.deletable.ordinal(), "delete-level", delRenderer)); model = new LevelDataModel(columnsModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "levels", model, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "levels", model, getTranslator(), formLayout); tableEl.setRendererType(FlexiTableRendererType.classic); tableEl.setCustomizeColumns(false); diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypesAdminController.java b/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypesAdminController.java index a5de1edbc804d4f366e406f8d324a3be560fa1ae..e13ba5480d78f0fd2b126b3056059542537a9f34 100644 --- a/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypesAdminController.java +++ b/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypesAdminController.java @@ -105,7 +105,7 @@ public class QItemTypesAdminController extends FormBasicController { columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("delete", Cols.deletable.ordinal(), "delete-type", delRenderer)); model = new QItemTypeDataModel(columnsModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "types", model, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "types", model, getTranslator(), formLayout); tableEl.setRendererType(FlexiTableRendererType.classic); tableEl.setCustomizeColumns(false); diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/QLicensesAdminController.java b/src/main/java/org/olat/modules/qpool/ui/admin/QLicensesAdminController.java index a14e3e54bd1a823a7a2d720af35c5d2e721a18d5..1041d9cd247edbc7e49361175d6653c3213fd819 100644 --- a/src/main/java/org/olat/modules/qpool/ui/admin/QLicensesAdminController.java +++ b/src/main/java/org/olat/modules/qpool/ui/admin/QLicensesAdminController.java @@ -97,7 +97,7 @@ public class QLicensesAdminController extends FormBasicController { columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("delete", Cols.deletable.ordinal(), "delete-license", delRenderer)); model = new QItemTypeDataModel(columnsModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "licenses", model, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "licenses", model, getTranslator(), formLayout); tableEl.setRendererType(FlexiTableRendererType.classic); tableEl.setCustomizeColumns(false); diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java index c2ec99dec12d1b28ac0e74f91bb12ac156dd5cf4..3c182f4b17120adff3e65f36a9730cfd8b456f08 100644 --- a/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java +++ b/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java @@ -84,14 +84,14 @@ public class SharingController extends FormBasicController { )); poolInfosColumnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("pool.name", 1)); poolInfosModel = new PoolInfosDataModel(poolInfosColumnsModel); - poolInfosTable = uifactory.addTableElement(ureq, getWindowControl(), "pools", poolInfosModel, getTranslator(), formLayout); + poolInfosTable = uifactory.addTableElement(getWindowControl(), "pools", poolInfosModel, getTranslator(), formLayout); poolInfosTable.setCustomizeColumns(false); //list of authors FlexiTableColumnModel authorsColumnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); authorsColumnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("sharing.author.name", 0)); authorsModel = new AuthorDataModel(authorsColumnsModel); - authorsTable = uifactory.addTableElement(ureq, getWindowControl(), "authors", authorsModel, getTranslator(), formLayout); + authorsTable = uifactory.addTableElement(getWindowControl(), "authors", authorsModel, getTranslator(), formLayout); authorsTable.setCustomizeColumns(false); //list of groups @@ -103,7 +103,7 @@ public class SharingController extends FormBasicController { )); sharesColumnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("pool.name", 1)); sharesModel = new SharesDataModel(poolInfosColumnsModel); - sharesTable = uifactory.addTableElement(ureq, getWindowControl(), "shares", sharesModel, getTranslator(), formLayout); + sharesTable = uifactory.addTableElement(getWindowControl(), "shares", sharesModel, getTranslator(), formLayout); sharesTable.setCustomizeColumns(false); } diff --git a/src/main/java/org/olat/modules/qpool/ui/wizard/ExportOverviewController.java b/src/main/java/org/olat/modules/qpool/ui/wizard/ExportOverviewController.java index 2ca885be52ce2ae7d7830eaea22890479139c4c8..d4c8741481cc1678f48406940ad7d3e5daa91e34 100644 --- a/src/main/java/org/olat/modules/qpool/ui/wizard/ExportOverviewController.java +++ b/src/main/java/org/olat/modules/qpool/ui/wizard/ExportOverviewController.java @@ -81,7 +81,7 @@ public class ExportOverviewController extends StepFormBasicController { columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("general.title", Cols.title.ordinal())); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("technical.format", Cols.format.ordinal())); itemsModel = new QItemDataModel(columnsModel, format); - uifactory.addTableElement(ureq, getWindowControl(), "shares", itemsModel, getTranslator(), formLayout); + uifactory.addTableElement(getWindowControl(), "shares", itemsModel, getTranslator(), formLayout); } @Override diff --git a/src/main/java/org/olat/modules/qpool/ui/wizard/ImportAuthorOverviewIdentitiesController.java b/src/main/java/org/olat/modules/qpool/ui/wizard/ImportAuthorOverviewIdentitiesController.java index 531e033055c549b55052c9544d0fc1c9af4d5614..b62402cdb281781e4db17b8fab9526265ab70aaf 100644 --- a/src/main/java/org/olat/modules/qpool/ui/wizard/ImportAuthorOverviewIdentitiesController.java +++ b/src/main/java/org/olat/modules/qpool/ui/wizard/ImportAuthorOverviewIdentitiesController.java @@ -108,7 +108,7 @@ public class ImportAuthorOverviewIdentitiesController extends StepFormBasicContr Translator myTrans = userManager.getPropertyHandlerTranslator(getTranslator()); ImportAuthorOverviewDataModel userTableModel = new ImportAuthorOverviewDataModel(oks, resultingPropertyHandlers, isAdministrativeUser, getLocale(), tableColumnModel); - uifactory.addTableElement(ureq, getWindowControl(), "users", userTableModel, myTrans, formLayout); + uifactory.addTableElement(getWindowControl(), "users", userTableModel, myTrans, formLayout); } private List<Identity> loadModel(List<String> keys) { diff --git a/src/main/java/org/olat/repository/_content/addDelegate.html b/src/main/java/org/olat/repository/_content/addDelegate.html deleted file mode 100644 index cf3f588fe1531b1a483c83f840003f17d441f2a4..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/repository/_content/addDelegate.html +++ /dev/null @@ -1,4 +0,0 @@ -<p>$r.render("subcomp")</p> -<div class="b_button_group"> - $r.render("cmd.cancel") -</div> \ No newline at end of file diff --git a/src/main/java/org/olat/repository/_content/addDetails.html b/src/main/java/org/olat/repository/_content/addDetails.html deleted file mode 100644 index 2d1c3e56ea9a207b6c1234bd941a11efaf6f26ec..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/repository/_content/addDetails.html +++ /dev/null @@ -1,5 +0,0 @@ -$r.render("details") -<div class="b_button_group"> - $r.render("cmd.cancel") - $r.render("cmd.forward") -</div> diff --git a/src/main/java/org/olat/repository/_content/addSteps.html b/src/main/java/org/olat/repository/_content/addSteps.html deleted file mode 100644 index 21bc734b6e1b4124019da8ae10c48d9ee9e6194f..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/repository/_content/addSteps.html +++ /dev/null @@ -1,6 +0,0 @@ -<div class="o_closablewapper"> - <h4>$r.translate("csc.title")</h4> - <div class="o_help_wrapper"> - $r.render("chooser") - </div> -</div> \ No newline at end of file diff --git a/src/main/java/org/olat/repository/ui/LifecycleAdminController.java b/src/main/java/org/olat/repository/ui/LifecycleAdminController.java index 48ae1660a54209e4be3393ce147483cdee981e93..c805505595fd3037d9015b0b4b0dbe4978710114 100644 --- a/src/main/java/org/olat/repository/ui/LifecycleAdminController.java +++ b/src/main/java/org/olat/repository/ui/LifecycleAdminController.java @@ -93,7 +93,7 @@ public class LifecycleAdminController extends FormBasicController { columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("edit", translate(LCCols.edit.i18nKey()), "edit-lifecycle")); model = new LifecycleDataModel(columnsModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "cycles", model, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "cycles", model, getTranslator(), formLayout); tableEl.setRendererType(FlexiTableRendererType.classic); tableEl.setCustomizeColumns(false); diff --git a/src/main/java/org/olat/repository/ui/author/AuthorListController.java b/src/main/java/org/olat/repository/ui/author/AuthorListController.java index abfb40f4702bdb31b4e91d77e17f5e3d16a1dc54..3f03767354febd29c8c0e948f9f9e3b5a552af13 100644 --- a/src/main/java/org/olat/repository/ui/author/AuthorListController.java +++ b/src/main/java/org/olat/repository/ui/author/AuthorListController.java @@ -223,7 +223,7 @@ public class AuthorListController extends FormBasicController implements Activat new StaticFlexiCellRenderer("" /* translate("edit") */, "edit", "o_icon-lg o_icon_edit"))); model = new AuthoringEntryDataModel(dataSource, columnsModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "table", model, 20, false, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "table", model, 20, false, getTranslator(), formLayout); tableEl.setSearchEnabled(true); tableEl.setExportEnabled(true); tableEl.setExtendedSearch(searchCtrl); diff --git a/src/main/java/org/olat/repository/ui/author/CatalogSettingsController.java b/src/main/java/org/olat/repository/ui/author/CatalogSettingsController.java index b4eee020a4c3a06b6079520878f607cd5dad6f87..bdc931b9fc7b5b891e91854ed47beda29aa5df48 100644 --- a/src/main/java/org/olat/repository/ui/author/CatalogSettingsController.java +++ b/src/main/java/org/olat/repository/ui/author/CatalogSettingsController.java @@ -96,7 +96,7 @@ public class CatalogSettingsController extends FormBasicController { List<CatalogEntry> catalogEntries = catalogManager.getCatalogCategoriesFor(entry); model = new CategoriesListModel(catalogEntries, columnsModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "table", model, 200, true, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "table", model, 200, true, getTranslator(), formLayout); tableEl.setCustomizeColumns(false); } diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java index bd8a64335498131c98cbe08862c51b9238c99785..9b47a877e5fb84ed5e491f56cd17b53f4c19ce8a 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java @@ -199,7 +199,7 @@ public class RepositoryEntryListController extends FormBasicController columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.comments.i18nKey(), Cols.comments.ordinal())); model = new RepositoryEntryDataModel(dataSource, columnsModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "table", model, 20, false, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(getWindowControl(), "table", model, 20, false, getTranslator(), formLayout); tableEl.setAvailableRendererTypes(FlexiTableRendererType.custom, FlexiTableRendererType.classic); tableEl.setRendererType(FlexiTableRendererType.custom); tableEl.setSearchEnabled(true); diff --git a/src/main/webapp/static/themes/light/modules/_icons.scss b/src/main/webapp/static/themes/light/modules/_icons.scss index 4a55f429903550da8a56a6482d7bb48130e7a71f..f7630ac2d3712d1081671f9d168938c782d05004 100644 --- a/src/main/webapp/static/themes/light/modules/_icons.scss +++ b/src/main/webapp/static/themes/light/modules/_icons.scss @@ -27,6 +27,7 @@ $fa-css-prefix: "o_icon" !default; .o_icon_archive_tool:before { content: $fa-var-download;} .o_icon_assessment_tool:before { content: $fa-var-trophy;} .o_icon_attempt_limit:before { content: $fa-var-refresh; } +.o_icon_accept:before { content: $fa-var-check; color: $brand-success; } .o_icon_add:before { content: $fa-var-plus-circle; } .o_icon_add_search:before { content: $fa-var-search-plus;} .o_icon_audio:before { content: $fa-var-volume-up; } @@ -152,6 +153,7 @@ $fa-css-prefix: "o_icon" !default; .o_icon_readwrite:before { content: $fa-var-edit; } .o_icon_recycle:before { content: $fa-var-recycle; } .o_icon_refresh:before { content: $fa-var-refresh; } +.o_icon_reject:before { content: $fa-var-times; color:$brand-danger; } .o_icon_remove:before { content: $fa-var-times; } .o_icon_reply:before { content: $fa-var-reply; } .o_icon_reply_with_quote:before { content: $fa-var-reply-all; } diff --git a/src/main/webapp/static/themes/light/theme.css b/src/main/webapp/static/themes/light/theme.css index f2cd71b8b3d265f9d2e0cc2f9187cc30a2d310eb..3d0e2bd5088016ffed342fd7bc5d56ed268dd3f5 100644 --- a/src/main/webapp/static/themes/light/theme.css +++ b/src/main/webapp/static/themes/light/theme.css @@ -58,7 +58,7 @@ fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100% @media (max-width: 767px){.hidden-xs{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important}}@media (min-width: 1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}} .visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}} .visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}} -@media print{.hidden-print{display:none !important}}body .modal{position:absolute;overflow:visible}body div.tooltip-inner{max-width:400px}body div.popover{max-width:450px}body .modal-body.alert{border-radius:0}body .progress{margin-bottom:0}.panel-body:nth-child(n+2){border-top:1px solid #ddd}.form-control-feedback{top:10px}.form-horizontal .has-feedback .form-control-feedback{top:10px}@font-face{font-family:'FontAwesome';src:url("../../../font-awesome/fonts/fontawesome-webfont.eot?v=4.1.0");src:url("../../../font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../../../font-awesome/fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../../../font-awesome/fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../../../font-awesome/fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.o_icon{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_icon-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.o_icon-2x{font-size:2em}.o_icon-3x{font-size:3em}.o_icon-4x{font-size:4em}.o_icon-5x{font-size:5em}.o_icon-fw{width:1.28571em;text-align:center}.o_icon-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.o_icon-ul>li{position:relative}.o_icon-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.o_icon-li.o_icon-lg{left:-1.85714em}.o_icon-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.o_icon.pull-left{margin-right:.3em}.o_icon.pull-right{margin-left:.3em}.o_icon-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.o_icon-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.o_icon-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.o_icon-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.o_icon-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.o_icon-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.o_icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.o_icon-stack-1x,.o_icon-stack-2x{position:absolute;left:0;width:100%;text-align:center}.o_icon-stack-1x{line-height:inherit}.o_icon-stack-2x{font-size:2em}.o_icon-inverse{color:#fff}.o_icon_accessibility:before{content:"\f193"}.o_icon_actions:before{content:"\f085"}.o_icon_archive_tool:before{content:"\f019"}.o_icon_assessment_tool:before{content:"\f091"}.o_icon_attempt_limit:before{content:"\f021"}.o_icon_add:before{content:"\f055"}.o_icon_add_search:before{content:"\f00e"}.o_icon_audio:before{content:"\f028"}.o_icon_back:before{content:"\f053"}.o_icon_back_history:before{content:"\f1da"}.o_icon_bold:before{content:"\f032"}.o_icon_booking:before{content:"\f07a"}.o_icon_bookmark:before{content:"\f02e";color:#996633}.o_icon_bookmark_add:before{content:"\f097"}.o_icon_bookmark_header:before{content:"\f02e"}.o_icon_browse:before{content:"\f00e"}.o_icon_browsercheck:before{content:"\f164"}.o_icon_busy:before{content:"\f110"}.o_icon_calendar:before{content:"\f073"}.o_icon_calendar_enabled:before{content:"\f05d"}.o_icon_calendar_disabled:before{content:"\f10c"}.o_icon_calendar:before{content:"\f073"}.o_icon_caret:before{content:"\f0d7"}.o_icon_catalog:before{content:"\f0e8"}.o_icon_certificate:before{content:"\f0a3"}.o_icon_chat:before{content:"\f0e5"}.o_icon_check:before{content:"\f00c"}.o_icon_checkbox:before{content:"\f096"}.o_icon_checkbox_checked:before{content:"\f14a"}.o_icon_cleanup:before{content:"\f0f9"}.o_icon_close:before{content:"\f00d"}.o_icon_close_resource:before{content:"\f011"}.o_icon_close_tab:before{content:"\f00d"}.o_icon_close_tool:before{content:"\f00d"}.o_icon_close_tree:before{content:"\f0d7"}.o_icon_close_togglebox:before,.o_togglebox_wrapper .o_opener.o_in i:before{content:"\f0d7"}.o_icon_code:before{content:"\f121"}.o_icon_color_picker:before{content:"\f043"}.o_icon_copy:before{content:"\f0c5"}.o_icon_courseareas:before{content:"\f1db"}.o_icon_coursedb:before{content:"\f1c0"}.o_icon_courseeditor:before{content:"\f044"}.o_icon_coursefolder:before{content:"\f114"}.o_icon_courserun:before{content:"\f1b2"}.o_icon_comments:before{content:"\f086"}.o_icon_comments_none:before{content:"\f0e5"}.o_icon_content_popup:before{content:"\f08e"}.o_icon_customize:before{content:"\f013"}.o_icon_delete_item:before{content:"\f014"}.o_icon_delete:before{content:"\f056";color:#A87E7E}.o_icon_details:before{content:"\f0eb"}.o_icon_dev:before{content:"\f188"}.o_icon_disabled:before{content:"\f10c"}.o_icon_download:before{content:"\f019"}.o_icon_edit:before{content:"\f044"}.o_icon_edit_file:before{content:"\f044"}.o_icon_edit_metadata:before{content:"\f013"}.o_icon_enabled:before{content:"\f111"}.o_icon_enlarge:before{content:"\f00e"}.o_icon_eportfolio_add:before{content:"\f12e"}.o_icon_error:before{content:"\f06a";color:#d9534f}.o_icon_expenditure:before{content:"\f017"}.o_icon_external_link:before{content:"\f08e"}.o_icon_failed:before{content:"\f057"}.o_icon_filter:before{content:"\f0b0"}.o_icon_group:before{content:"\f0c0"}.o_icon_header:before{content:"\f1dc"}.o_icon_help:before{content:"\f059";cursor:help}.o_icon_home:before{content:"\f015"}.o_icon_impress:before{content:"\f05a"}.o_icon_important:before{content:"\f071";color:#f0ad4e}.o_icon_import:before{content:"\f093"}.o_icon_info:before{content:"\f05a";color:#5bc0de}.o_icon_info_msg:before{content:"\f06a";color:#d9534f}.o_icon_inline_editable:before{content:"\f044"}.o_icon_institution:before{content:"\f19c"}.o_icon_italic:before{content:"\f033"}.o_icon_language:before{content:"\f0ac"}.o_icon_link:before{content:"\f0c1"}.o_icon_link_extern:before{content:"\f08e"}.o_icon_list:before{content:"\f03a"}.o_icon_list_num :before{content:"\f0cb"}.o_icon_lifecycle:before{content:"\f073"}.o_icon_locked:before{content:"\f023"}.o_icon_login:before{content:"\f090"}.o_icon_logout:before{content:"\f08b"}.o_icon_mandatory:before{content:"\f069";color:#f0ad4e}.o_icon_managed:before{content:"\f079";color:#777}.o_icon_mail:before{content:"\f003"}.o_icon_math:before{content:"\f198"}.o_icon_membersmanagement:before{content:"\f0c0"}.o_icon_menuhandel:before{content:"\f0c9"}.o_icon_message:before{content:"\f0e0"}.o_icon_move:before{content:"\f047"}.o_icon_move_down:before{content:"\f103"}.o_icon_move_left:before{content:"\f100"}.o_icon_move_right:before{content:"\f101"}.o_icon_move_up:before{content:"\f102"}.o_icon_new:before{content:"\f069";color:#5cb85c}.o_icon_new_document:before{content:"\f15c"}.o_icon_new_folder:before{content:"\f07b"}.o_icon_news:before{content:"\f05a"}.o_icon_next:before{content:"\f0a9"}.o_icon_next_page:before{content:"\f101"}.o_icon_notes:before{content:"\f040"}.o_icon_notification:before{content:"\f09e"}.o_icon_open_tree:before{content:"\f0da"}.o_icon_open_togglebox:before,.o_togglebox_wrapper .o_opener i:before{content:"\f0da"}.o_icon_openolat:before,.o_icon_provider_olat:before{content:"\221E";font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold}.o_icon_passed:before{content:"\f058"}.o_icon_password:before{content:"\f023"}.o_icon_post:before{content:"\f0e5"}.o_icon_preview:before{content:"\f06e"}.o_icon_previous:before{content:"\f0a8"}.o_icon_previous_page:before{content:"\f100"}.o_icon_print:before{content:"\f02f"}.o_icon_private:before{content:"\f02f"}.o_icon_provider_guest:before{content:"\f1ae"}.o_icon_provider_ldap:before{content:"\f19c"}.o_icon_provider_shibboleth:before{content:"\f19c"}.o_icon_publish:before{content:"\f064"}.o_icon_qrcode:before{content:"\f029"}.o_icon_rating_on:before,.o_rating .o_rating_items.o_enabled .o_icon:hover:before{content:"\f005"}.o_icon_rating_off:before{content:"\f006"}.o_icon_read:before{content:"\f10c"}.o_icon_readonly:before{content:"\f044";color:red}.o_icon_readwrite:before{content:"\f044"}.o_icon_recycle:before{content:"\f1b8"}.o_icon_refresh:before{content:"\f021"}.o_icon_remove:before{content:"\f00d"}.o_icon_reply:before{content:"\f112"}.o_icon_reply_with_quote:before{content:"\f122"}.o_icon_rss:before{content:"\f09e"}.o_icon_rss_unsubscribe:before{content:"\f09e";color:#996633}.o_icon_search:before{content:"\f002"}.o_icon_settings:before{content:"\f085"}.o_icon_share:before{content:"\f064"}.o_icon_show_more:before{content:"\f150"}.o_icon_show_less:before{content:"\f151"}.o_icon_spacer:before{content:"\f07e"}.o_icon_split:before{content:"\f127"}.o_icon_sort:before{content:"\f0dc"}.o_icon_sort_asc:before{content:"\f0de"}.o_icon_sort_desc:before{content:"\f0dd"}.o_icon_sort_menu:before{content:"\f160"}.o_icon_start:before{content:"\f054"}.o_icon_status_available:before{content:"\f111";color:#006633}.o_icon_status_chat:before{content:"\f075"}.o_icon_status_dnd:before{content:"\f192";color:#CCCC33}.o_icon_status_unavailable:before{content:"\f05c";color:#996633}.o_icon_statistics_tool:before{content:"\f080"}.o_icon_table:before{content:"\f0ce"}.o_icon_table_large:before{content:"\f009"}.o_icon_timelimit:before{content:"\f1e2"}.o_icon_toggle:before{content:"\f111"}.o_icon_to_read:before{content:"\f111"}.o_icon_tool:before{content:"\f013"}.o_icon_tools:before{content:"\f0ad"}.o_icon_top:before{content:"\f077"}.o_icon_translation_item:before{content:"\f1c9"}.o_icon_translation_package:before{content:"\f115"}.o_icon_user:before{content:"\f007"}.o_icon_user_vip:before{content:"\f19d"}.o_icon_user_anonymous:before{content:"\f128"}.o_icon_upload:before{content:"\f093"}.o_icon_version:before{content:"\f1da"}.o_icon_video:before{content:"\f008"}.o_icon_warn:before{content:"\f071";color:#f0ad4e}.o_icon_wizard:before{content:"\f0d0"}.o_CourseModule_icon:before,.o_course_icon:before{content:"\f1b2"}.o_EPStructuredMapTemplate_icon:before{content:"\f12e"}.o_FileResource-BLOG_icon:before{content:"\f0a1"}.o_FileResource-IMSCP_icon:before{content:"\f187"}.o_FileResource-PODCAST_icon:before{content:"\f03d"}.o_FileResource-SHAREDFOLDER:before{content:"\f08e"}.o_FileResource-SCORMCP_icon:before{content:"\f187"}.o_FileResource-SURVEY_icon:before{content:"\f11a"}.o_FileResource-TEST_icon:before{content:"\f044"}.o_FileResource-WIKI_icon:before{content:"\f0ac"}.o_FileResource-SHAREDFOLDER_icon:before{content:"\f115"}.o_FileResource-GLOSSARY_icon:before{content:"\f19d"}.o_FileResource-PDF_icon:before{content:"\f1c1"}.o_FileResource-XLS_icon:before{content:"\f1c3"}.o_FileResource-PPT_icon:before{content:"\f1c4"}.o_FileResource-DOC_icon:before{content:"\f1c2"}.o_FileResource-ANIM_icon:before{content:"\f1c8"}.o_FileResource-IMAGE_icon:before{content:"\f1c5"}.o_FileResource-SOUND_icon:before{content:"\f1c7"}.o_FileResource-MOVIE_icon:before{content:"\f1c8"}.o_FileResource-FILE_icon:before{content:"\f016"}.o_portlet_infomsg_icon:before{content:"\f05a"}.o_portlet_quickstart_icon:before{content:"\f1d9"}.o_portlet_bookmark_icon:before{content:"\f02e"}.o_portlet_groups_icon:before{content:"\f0c0"}.o_portlet_notes_icon:before{content:"\f040"}.o_portlet_noti_icon:before{content:"\f09e"}.o_portlet_eff_icon:before{content:"\f0a3"}.o_portlet_repository_student_icon:before{content:"\f1b3"}.o_portlet_repository_teacher_icon:before{content:"\f19d"}.o_portlet_iframe_icon:before{content:"\f005"}.o_portlet_sysinfo_icon:before{content:"\f0e4"}.o_portlet_dyk_icon:before{content:"\f0eb"}.o_portlet_infomessages_icon:before{content:"\f0e5"}.o_portlet_cal_icon:before{content:"\f073"}.o_portlet_institutions_icon:before{content:"\f19c"}.o_portlet_links_icon:before{content:"\f0c1"}.o_portlet_shibboleth_icon:before{content:"\f090"}.o_icon_qpool:before{content:"\f19c"}.o_icon_pool_private:before{content:"\f00d"}.o_icon_pool_public:before{content:"\f00c"}.o_icon_pool_my_items:before{content:"\f007"}.o_icon_pool_favorits:before{content:"\f02e"}.o_icon_pool_collection:before{content:"\f03a"}.o_icon_pool_pool:before{content:"\f1e1"}.o_icon_pool_share:before{content:"\f0c0"}.o_forum_message_icon:before{content:"\f0e5"}.o_calendar_icon:before{content:"\f073"}.o_forum_status_thread_icon:before{content:"\f0e6"}.o_forum_status_sticky_closed_icon:before{content:"\f05e"}.o_forum_status_sticky_icon:before{content:"\f086"}.o_forum_status_closed_icon:before{content:"\f05e";color:#a94442}.o_forum_status_opened_icon:before{content:"\f05e";color:#3c763d}.o_forum_status_hidden_icon:before{content:"\f070";color:#a94442}.o_forum_status_visible_icon:before{content:"\f06e";color:#3c763d}.o_mi_qtisc:before{content:"\f192"}.o_mi_qtimc:before{content:"\f046"}.o_mi_qtikprim:before{content:"\f14a"}.o_mi_qtifib:before{content:"\f141"}.o_mi_qtiessay:before{content:"\f036"}.o_black_led:before{content:"\f111";color:#428bca}.o_green_led:before{content:"\f111";color:#5cb85c}.o_yellow_led:before{content:"\f111";color:#f0ad4e}.o_red_led:before{content:"\f111";color:#d9534f}.o_ac_token_icon:before{content:"\f084"}.o_ac_free_icon:before{content:"\f06b"}.o_ac_group_icon:before{content:"\f0c0"}.o_ac_membersonly_icon:before{content:"\f023"}.o_ac_paypal_icon:before{content:"\f09d"}.o_ac_status_canceled_icon:before{content:"\f068";color:#f0ad4e}.o_ac_status_error_icon:before{content:"\f00d";color:#d9534f}.o_ac_status_new_icon:before{content:"\f069";color:#428bca}.o_ac_status_succes_icon:before{content:"\f00c";color:#5cb85c}.o_ac_status_waiting_icon:before{content:"\f017";color:#428bca}.o_ac_order_status_new_icon:before{content:"\f069";color:#428bca}.o_ac_order_status_prepayment_icon:before{content:"\f0d6";color:#5bc0de}.o_ac_order_status_payed_icon:before{content:"\f00c";color:#5cb85c}.o_ac_order_status_canceled_icon:before{content:"\f068";color:#f0ad4e}.o_ac_order_status_error_icon:before{content:"\f00d";color:#d9534f}.o_ac_order_status_warning_icon:before{content:"\f12a";color:#f0ad4e}.o_filetype_file:before,.o_filetype_ico:before{content:"\f016"}.o_filetype_folder:before{content:"\f114"}.o_filetype_folder_open:before{content:"\f115"}.o_filetype_zip:before,.o_filetype_gz:before,.o_filetype_tar:before,.o_filetype_tgz:before{content:"\f1c6"}.o_filetype_css:before,.o_filetype_js:before,.o_filetype_java:before,.o_filetype_numbers:before,.o_filetype_ods:before,.o_filetype_xml:before,.o_filetype_xsl:before{content:"\f1c9"}.o_filetype_bat_icon:before,.o_filetype_bat:before,.o_filetype_exe:before,.o_filetype_app:before,.o_filetype_sh:before{content:"\f1c9"}.o_filetype_xls:before,.o_filetype_xlsx:before{content:"\f1c3"}.o_filetype_png:before,.o_filetype_tiff:before,.o_filetype_webp:before,.o_filetype_gif:before,.o_filetype_ico:before,.o_filetype_jpeg:before,.o_filetype_bmp:before,.o_filetype_odg:before,.o_filetype_eps:before,.o_filetype_jpg:before{content:"\f1c5"}.o_filetype_psd:before,.o_filetype_avi:before,.o_filetype_dvi:before,.o_filetype_mp4:before,.o_filetype_m4v:before,.o_filetype_webm:before,.o_filetype_ogg:before,.o_filetype_video:before,.o_filetype_mov:before,.o_filetype_mpeg:before,.o_filetype_mpg:before,.o_filetype_qt:before,.o_filetype_ra:before,.o_filetype_ram:before,.o_filetype_swf:before,.o_filetype_flv:before{content:"\f1c8"}.o_filetype_midi:before,.o_filetype_audio:before,.o_filetype_mp3:before,.o_filetype_m3u:before,.o_filetype_wav:before{content:"\f1c7"}.o_filetype_ps:before,.o_filetype_pdf:before{content:"\f1c1"}.o_filetype_key:before,.o_filetype_odp:before,.o_filetype_ppt:before,.o_filetype_pptx:before{content:"\f1c4"}.o_filetype_odf:before,.o_filetype_rtf:before,.o_filetype_readme:before,.o_filetype_README:before,.o_filetype_log:before,.o_filetype_txt:before,.o_filetype_htm:before,.o_filetype_html:before{content:"\f0f6"}.o_filetype_odt:before,.o_filetype_pages:before,.o_filetype_doc:before,.o_filetype_docx:before{content:"\f1c2"}.o_icon_apple:before{content:"\f179"}.o_icon_facebook:before{content:"\f082"}.o_icon_twitter:before{content:"\f081"}.o_icon_google:before{content:"\f0d4"}.o_icon_delicious:before{content:"\f1a5"}.o_icon_digg:before{content:"\f1a6"}.o_icon_mailto:before{content:"\f199"}.o_icon_link:before{content:"\f0c1"}.o_icon_yahoo:before{content:"\f19e"}a.o_icon:hover,a.o_icon:focus{text-decoration:none}img.o_emoticons_angel{background:url(../light/images/emoticons/smiley-angel.png);width:16px;height:16px}img.o_emoticons_angry{background:url(../light/images/emoticons/smiley-mad.png);width:16px;height:16px}img.o_emoticons_blushing{background:url(../light/images/emoticons/smiley-red.png);width:16px;height:16px}img.o_emoticons_confused{background:url(../light/images/emoticons/smiley-confuse.png);width:16px;height:16px}img.o_emoticons_cool{background:url(../light/images/emoticons/smiley-cool.png);width:16px;height:16px}img.o_emoticons_cry{background:url(../light/images/emoticons/smiley-cry.png);width:16px;height:16px}img.o_emoticons_devil{background:url(../light/images/emoticons/smiley-evil.png);width:16px;height:16px}img.o_emoticons_grin{background:url(../light/images/emoticons/smiley-grin.png);width:16px;height:16px}img.o_emoticons_kiss{background:url(../light/images/emoticons/smiley-kiss.png);width:16px;height:16px}img.o_emoticons_ohoh{background:url(../light/images/emoticons/smiley-eek.png);width:16px;height:16px}img.o_emoticons_sad{background:url(../light/images/emoticons/smiley-sad.png);width:16px;height:16px}img.o_emoticons_sick{background:url(../light/images/emoticons/smiley-sad-blue.png);width:16px;height:16px}img.o_emoticons_smile{background:url(../light/images/emoticons/smiley.png);width:16px;height:16px}img.o_emoticons_tongue{background:url(../light/images/emoticons/smiley-razz.png);width:16px;height:16px}img.o_emoticons_ugly{background:url(../light/images/emoticons/smiley-money.png);width:16px;height:16px}img.o_emoticons_weird{background:url(../light/images/emoticons/smiley-nerd.png);width:16px;height:16px}img.o_emoticons_wink{background:url(../light/images/emoticons/smiley-wink.png);width:16px;height:16px}img.o_emoticons_worried{background:url(../light/images/emoticons/smiley-roll-blue.png);width:16px;height:16px}img.o_emoticons_up{background:url(../light/images/emoticons/thumb-up.png);width:16px;height:16px}img.o_emoticons_down{background:url(../light/images/emoticons/thumb.png);width:16px;height:16px}.o_block_bottom,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry,.o_header_with_buttons,.o_search_result{margin-bottom:1em}.o_block_top,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry{margin-top:1em}.o_block_large_bottom,.o_block_large,.o_block_with_datecomp,.o_portlet{margin-bottom:2em}.o_block_large_top,.o_block_large,.o_block_with_datecomp,.o_portlet{margin-top:2em}.o_scrollblock{overflow-x:auto;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.o_button_group{text-align:center}.o_button_group a,.o_button_group input,.o_button_group button,.o_button_group .btn-group{margin-right:5px;margin-bottom:0.5em}.o_button_group a:last-child,.o_button_group input:last-child,.o_button_group button:last-child,.o_button_group .btn-group:last-child{margin-right:0}.o_button_group .btn-group a,.o_button_group .btn-group input,.o_button_group .btn-group button{margin-right:0;margin-bottom:0}.o_button_group .dropdown-menu{text-align:left}.o_button_group_left{text-align:left}.o_button_group_right{text-align:right}.o_button_group_top{margin-top:0}.o_header_with_buttons:before,.o_header_with_buttons:after{content:" ";display:table}.o_header_with_buttons:after{clear:both}.o_header_with_buttons h3,.o_header_with_buttons h4,.o_header_with_buttons .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_header_with_buttons h2{display:inline-block}.o_header_with_buttons .o_button_group{margin-top:10px;margin-bottom:0;float:right}.o_xsmall{font-size:12px}.o_small,.o_comments .o_comment_wrapper h5,.o_comments .o_comment_wrapper .o_comment,.o_bc_meta,.tooltip,.o_noti,.o_block_with_datecomp .o_meta,.o_togglebox_wrapper div.o_togglebox_content .o_hide,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label,.o_course_run .o_toc .o_entry{font-size:12px}.o_large{font-size:18px}.o_xlarge{font-size:18px}.o_disabled{color:#777 !important;cursor:default}.o_disabled:hover{color:#777 !important}.o_dimmed{opacity:0.4;filter:alpha(opacity=40)}.o_selected{font-weight:bold}.o_deleted{text-decoration:line-through}.o_ochre{color:#c8a959}.o_blue{color:#12223F}.o_undecorated:hover,.o_undecorated:focus,.o_disabled:hover,.o_withEllipsis .o_morelink:hover,.o_withEllipsis .o_lesslink:hover,#o_main_wrapper #o_toplink:hover,#o_footer_wrapper #o_footer_container #o_footer_powered a:hover,#o_share a:hover,.o_toolbar a:hover,.o_button_toggle:hover,.o_im_message_group .o_im_from:hover,.o_noti .o_label:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover,.o_catalog .o_level .o_meta .o_title a:hover,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover,.o_repo_details .o_social .o_comments:hover,.o_login .o_login_register:hover,.o_disabled:focus,.o_withEllipsis .o_morelink:focus,.o_withEllipsis .o_lesslink:focus,#o_main_wrapper #o_toplink:focus,#o_footer_wrapper #o_footer_container #o_footer_powered a:focus,#o_share a:focus,.o_toolbar a:focus,.o_button_toggle:focus,.o_im_message_group .o_im_from:focus,.o_noti .o_label:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:focus,.o_catalog .o_level .o_meta .o_title a:focus,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:focus,.o_repo_details .o_social .o_comments:focus,.o_login .o_login_register:focus{text-decoration:none}.o_copy_code{overflow-x:auto;overflow-y:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}.o_nowrap{white-space:nowrap}.o_titled_wrapper .o_content{margin-top:20px}.o_video{display:block;width:100% \9;max-width:100%;height:auto}.o_image{display:block;width:100% \9;max-width:100%;height:auto}.o_withEllipsis .o_ellipsis_links{float:right}.o_withEllipsis .o_morelink,.o_withEllipsis .o_lesslink{display:none}.o_withEllipsis.o_hasOverflow .o_morelink{display:block}.o_withEllipsis.o_hasOverflow .o_lesslink{display:none}.o_withEllipsis.o_hasOverflow.o_showOverflow{height:auto !important}.o_withEllipsis.o_hasOverflow.o_showOverflow .o_morelink{display:none}.o_withEllipsis.o_hasOverflow.o_showOverflow .o_lesslink{display:block}html{position:relative;min-height:100%}body{min-height:100%;margin-bottom:70px}#o_main_wrapper{background:#fff;z-index:3}#o_main_wrapper #o_main_container{background:#fff}#o_main_wrapper #o_main_container #o_main_left{float:left;z-index:2;position:relative;background:#fff}#o_main_wrapper #o_main_container #o_main_left #o_main_left_content{padding:0 0 0 15px}#o_main_wrapper #o_main_container #o_main_left #o_main_left_toggle{position:absolute;display:none;right:0;top:70px;margin-right:-30px;font-size:25px;line-height:35px;text-align:center;width:30px;height:35px;z-index:3;border:1px solid #ddd;border-left:none;border-bottom-right-radius:4px;border-top-right-radius:4px;background-color:#fbfbfb;-webkit-box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);color:#428bca}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas{background:#fbfbfb;-webkit-box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);min-width:250px}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas #o_main_left_content{padding:0 0 0 0}#o_main_wrapper #o_main_container #o_main_right{float:right;z-index:2;position:relative;background:inherit}#o_main_wrapper #o_main_container #o_main_right #o_main_right_content{padding:0 15px 0 0}#o_main_wrapper #o_main_container #o_main_center{position:relative;z-index:1;background:inherit}#o_main_wrapper #o_main_container #o_main_center h2:first-child{margin-top:0}@media screen and (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center{margin-left:0 !important}}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:0 15px}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content #o_main_center_content_inner{padding-bottom:15px}#o_main_wrapper #o_toplink{position:absolute;bottom:0;right:15px;text-align:center;z-index:3}@media (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:15px}} +@media print{.hidden-print{display:none !important}}body .modal{position:absolute;overflow:visible}body div.tooltip-inner{max-width:400px}body div.popover{max-width:450px}body .modal-body.alert{border-radius:0}body .progress{margin-bottom:0}.panel-body:nth-child(n+2){border-top:1px solid #ddd}.form-control-feedback{top:10px}.form-horizontal .has-feedback .form-control-feedback{top:10px}@font-face{font-family:'FontAwesome';src:url("../../../font-awesome/fonts/fontawesome-webfont.eot?v=4.1.0");src:url("../../../font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../../../font-awesome/fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../../../font-awesome/fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../../../font-awesome/fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.o_icon{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_icon-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.o_icon-2x{font-size:2em}.o_icon-3x{font-size:3em}.o_icon-4x{font-size:4em}.o_icon-5x{font-size:5em}.o_icon-fw{width:1.28571em;text-align:center}.o_icon-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.o_icon-ul>li{position:relative}.o_icon-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.o_icon-li.o_icon-lg{left:-1.85714em}.o_icon-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.o_icon.pull-left{margin-right:.3em}.o_icon.pull-right{margin-left:.3em}.o_icon-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.o_icon-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.o_icon-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.o_icon-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.o_icon-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.o_icon-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.o_icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.o_icon-stack-1x,.o_icon-stack-2x{position:absolute;left:0;width:100%;text-align:center}.o_icon-stack-1x{line-height:inherit}.o_icon-stack-2x{font-size:2em}.o_icon-inverse{color:#fff}.o_icon_accessibility:before{content:"\f193"}.o_icon_actions:before{content:"\f085"}.o_icon_archive_tool:before{content:"\f019"}.o_icon_assessment_tool:before{content:"\f091"}.o_icon_attempt_limit:before{content:"\f021"}.o_icon_accept:before{content:"\f00c";color:#5cb85c}.o_icon_add:before{content:"\f055"}.o_icon_add_search:before{content:"\f00e"}.o_icon_audio:before{content:"\f028"}.o_icon_back:before{content:"\f053"}.o_icon_back_history:before{content:"\f1da"}.o_icon_bold:before{content:"\f032"}.o_icon_booking:before{content:"\f07a"}.o_icon_bookmark:before{content:"\f02e";color:#996633}.o_icon_bookmark_add:before{content:"\f097"}.o_icon_bookmark_header:before{content:"\f02e"}.o_icon_browse:before{content:"\f00e"}.o_icon_browsercheck:before{content:"\f164"}.o_icon_busy:before{content:"\f110"}.o_icon_calendar:before{content:"\f073"}.o_icon_calendar_enabled:before{content:"\f05d"}.o_icon_calendar_disabled:before{content:"\f10c"}.o_icon_calendar:before{content:"\f073"}.o_icon_caret:before{content:"\f0d7"}.o_icon_catalog:before{content:"\f0e8"}.o_icon_certificate:before{content:"\f0a3"}.o_icon_chat:before{content:"\f0e5"}.o_icon_check:before{content:"\f00c"}.o_icon_checkbox:before{content:"\f096"}.o_icon_checkbox_checked:before{content:"\f14a"}.o_icon_cleanup:before{content:"\f0f9"}.o_icon_close:before{content:"\f00d"}.o_icon_close_resource:before{content:"\f011"}.o_icon_close_tab:before{content:"\f00d"}.o_icon_close_tool:before{content:"\f00d"}.o_icon_close_tree:before{content:"\f0d7"}.o_icon_close_togglebox:before,.o_togglebox_wrapper .o_opener.o_in i:before{content:"\f0d7"}.o_icon_code:before{content:"\f121"}.o_icon_color_picker:before{content:"\f043"}.o_icon_copy:before{content:"\f0c5"}.o_icon_courseareas:before{content:"\f1db"}.o_icon_coursedb:before{content:"\f1c0"}.o_icon_courseeditor:before{content:"\f044"}.o_icon_coursefolder:before{content:"\f114"}.o_icon_courserun:before{content:"\f1b2"}.o_icon_comments:before{content:"\f086"}.o_icon_comments_none:before{content:"\f0e5"}.o_icon_content_popup:before{content:"\f08e"}.o_icon_customize:before{content:"\f013"}.o_icon_delete_item:before{content:"\f014"}.o_icon_delete:before{content:"\f056";color:#A87E7E}.o_icon_details:before{content:"\f0eb"}.o_icon_dev:before{content:"\f188"}.o_icon_disabled:before{content:"\f10c"}.o_icon_download:before{content:"\f019"}.o_icon_edit:before{content:"\f044"}.o_icon_edit_file:before{content:"\f044"}.o_icon_edit_metadata:before{content:"\f013"}.o_icon_enabled:before{content:"\f111"}.o_icon_enlarge:before{content:"\f00e"}.o_icon_eportfolio_add:before{content:"\f12e"}.o_icon_error:before{content:"\f06a";color:#d9534f}.o_icon_expenditure:before{content:"\f017"}.o_icon_external_link:before{content:"\f08e"}.o_icon_failed:before{content:"\f057"}.o_icon_filter:before{content:"\f0b0"}.o_icon_group:before{content:"\f0c0"}.o_icon_header:before{content:"\f1dc"}.o_icon_help:before{content:"\f059";cursor:help}.o_icon_home:before{content:"\f015"}.o_icon_impress:before{content:"\f05a"}.o_icon_important:before{content:"\f071";color:#f0ad4e}.o_icon_import:before{content:"\f093"}.o_icon_info:before{content:"\f05a";color:#5bc0de}.o_icon_info_msg:before{content:"\f06a";color:#d9534f}.o_icon_inline_editable:before{content:"\f044"}.o_icon_institution:before{content:"\f19c"}.o_icon_italic:before{content:"\f033"}.o_icon_language:before{content:"\f0ac"}.o_icon_link:before{content:"\f0c1"}.o_icon_link_extern:before{content:"\f08e"}.o_icon_list:before{content:"\f03a"}.o_icon_list_num :before{content:"\f0cb"}.o_icon_lifecycle:before{content:"\f073"}.o_icon_locked:before{content:"\f023"}.o_icon_login:before{content:"\f090"}.o_icon_logout:before{content:"\f08b"}.o_icon_mandatory:before{content:"\f069";color:#f0ad4e}.o_icon_managed:before{content:"\f079";color:#777}.o_icon_mail:before{content:"\f003"}.o_icon_math:before{content:"\f198"}.o_icon_membersmanagement:before{content:"\f0c0"}.o_icon_menuhandel:before{content:"\f0c9"}.o_icon_message:before{content:"\f0e0"}.o_icon_move:before{content:"\f047"}.o_icon_move_down:before{content:"\f103"}.o_icon_move_left:before{content:"\f100"}.o_icon_move_right:before{content:"\f101"}.o_icon_move_up:before{content:"\f102"}.o_icon_new:before{content:"\f069";color:#5cb85c}.o_icon_new_document:before{content:"\f15c"}.o_icon_new_folder:before{content:"\f07b"}.o_icon_news:before{content:"\f05a"}.o_icon_next:before{content:"\f0a9"}.o_icon_next_page:before{content:"\f101"}.o_icon_notes:before{content:"\f040"}.o_icon_notification:before{content:"\f09e"}.o_icon_open_tree:before{content:"\f0da"}.o_icon_open_togglebox:before,.o_togglebox_wrapper .o_opener i:before{content:"\f0da"}.o_icon_openolat:before,.o_icon_provider_olat:before{content:"\221E";font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold}.o_icon_passed:before{content:"\f058"}.o_icon_password:before{content:"\f023"}.o_icon_post:before{content:"\f0e5"}.o_icon_preview:before{content:"\f06e"}.o_icon_previous:before{content:"\f0a8"}.o_icon_previous_page:before{content:"\f100"}.o_icon_print:before{content:"\f02f"}.o_icon_private:before{content:"\f02f"}.o_icon_provider_guest:before{content:"\f1ae"}.o_icon_provider_ldap:before{content:"\f19c"}.o_icon_provider_shibboleth:before{content:"\f19c"}.o_icon_publish:before{content:"\f064"}.o_icon_qrcode:before{content:"\f029"}.o_icon_rating_on:before,.o_rating .o_rating_items.o_enabled .o_icon:hover:before{content:"\f005"}.o_icon_rating_off:before{content:"\f006"}.o_icon_read:before{content:"\f10c"}.o_icon_readonly:before{content:"\f044";color:red}.o_icon_readwrite:before{content:"\f044"}.o_icon_recycle:before{content:"\f1b8"}.o_icon_refresh:before{content:"\f021"}.o_icon_reject:before{content:"\f00d";color:#d9534f}.o_icon_remove:before{content:"\f00d"}.o_icon_reply:before{content:"\f112"}.o_icon_reply_with_quote:before{content:"\f122"}.o_icon_rss:before{content:"\f09e"}.o_icon_rss_unsubscribe:before{content:"\f09e";color:#996633}.o_icon_search:before{content:"\f002"}.o_icon_settings:before{content:"\f085"}.o_icon_share:before{content:"\f064"}.o_icon_show_more:before{content:"\f150"}.o_icon_show_less:before{content:"\f151"}.o_icon_spacer:before{content:"\f07e"}.o_icon_split:before{content:"\f127"}.o_icon_sort:before{content:"\f0dc"}.o_icon_sort_asc:before{content:"\f0de"}.o_icon_sort_desc:before{content:"\f0dd"}.o_icon_sort_menu:before{content:"\f160"}.o_icon_start:before{content:"\f054"}.o_icon_status_available:before{content:"\f111";color:#006633}.o_icon_status_chat:before{content:"\f075"}.o_icon_status_dnd:before{content:"\f192";color:#CCCC33}.o_icon_status_unavailable:before{content:"\f05c";color:#996633}.o_icon_statistics_tool:before{content:"\f080"}.o_icon_table:before{content:"\f0ce"}.o_icon_table_large:before{content:"\f009"}.o_icon_timelimit:before{content:"\f1e2"}.o_icon_toggle:before{content:"\f111"}.o_icon_to_read:before{content:"\f111"}.o_icon_tool:before{content:"\f013"}.o_icon_tools:before{content:"\f0ad"}.o_icon_top:before{content:"\f077"}.o_icon_translation_item:before{content:"\f1c9"}.o_icon_translation_package:before{content:"\f115"}.o_icon_user:before{content:"\f007"}.o_icon_user_vip:before{content:"\f19d"}.o_icon_user_anonymous:before{content:"\f128"}.o_icon_upload:before{content:"\f093"}.o_icon_version:before{content:"\f1da"}.o_icon_video:before{content:"\f008"}.o_icon_warn:before{content:"\f071";color:#f0ad4e}.o_icon_wizard:before{content:"\f0d0"}.o_CourseModule_icon:before,.o_course_icon:before{content:"\f1b2"}.o_EPStructuredMapTemplate_icon:before{content:"\f12e"}.o_FileResource-BLOG_icon:before{content:"\f0a1"}.o_FileResource-IMSCP_icon:before{content:"\f187"}.o_FileResource-PODCAST_icon:before{content:"\f03d"}.o_FileResource-SHAREDFOLDER:before{content:"\f08e"}.o_FileResource-SCORMCP_icon:before{content:"\f187"}.o_FileResource-SURVEY_icon:before{content:"\f11a"}.o_FileResource-TEST_icon:before{content:"\f044"}.o_FileResource-WIKI_icon:before{content:"\f0ac"}.o_FileResource-SHAREDFOLDER_icon:before{content:"\f115"}.o_FileResource-GLOSSARY_icon:before{content:"\f19d"}.o_FileResource-PDF_icon:before{content:"\f1c1"}.o_FileResource-XLS_icon:before{content:"\f1c3"}.o_FileResource-PPT_icon:before{content:"\f1c4"}.o_FileResource-DOC_icon:before{content:"\f1c2"}.o_FileResource-ANIM_icon:before{content:"\f1c8"}.o_FileResource-IMAGE_icon:before{content:"\f1c5"}.o_FileResource-SOUND_icon:before{content:"\f1c7"}.o_FileResource-MOVIE_icon:before{content:"\f1c8"}.o_FileResource-FILE_icon:before{content:"\f016"}.o_portlet_infomsg_icon:before{content:"\f05a"}.o_portlet_quickstart_icon:before{content:"\f1d9"}.o_portlet_bookmark_icon:before{content:"\f02e"}.o_portlet_groups_icon:before{content:"\f0c0"}.o_portlet_notes_icon:before{content:"\f040"}.o_portlet_noti_icon:before{content:"\f09e"}.o_portlet_eff_icon:before{content:"\f0a3"}.o_portlet_repository_student_icon:before{content:"\f1b3"}.o_portlet_repository_teacher_icon:before{content:"\f19d"}.o_portlet_iframe_icon:before{content:"\f005"}.o_portlet_sysinfo_icon:before{content:"\f0e4"}.o_portlet_dyk_icon:before{content:"\f0eb"}.o_portlet_infomessages_icon:before{content:"\f0e5"}.o_portlet_cal_icon:before{content:"\f073"}.o_portlet_institutions_icon:before{content:"\f19c"}.o_portlet_links_icon:before{content:"\f0c1"}.o_portlet_shibboleth_icon:before{content:"\f090"}.o_icon_qpool:before{content:"\f19c"}.o_icon_pool_private:before{content:"\f00d"}.o_icon_pool_public:before{content:"\f00c"}.o_icon_pool_my_items:before{content:"\f007"}.o_icon_pool_favorits:before{content:"\f02e"}.o_icon_pool_collection:before{content:"\f03a"}.o_icon_pool_pool:before{content:"\f1e1"}.o_icon_pool_share:before{content:"\f0c0"}.o_forum_message_icon:before{content:"\f0e5"}.o_calendar_icon:before{content:"\f073"}.o_forum_status_thread_icon:before{content:"\f0e6"}.o_forum_status_sticky_closed_icon:before{content:"\f05e"}.o_forum_status_sticky_icon:before{content:"\f086"}.o_forum_status_closed_icon:before{content:"\f05e";color:#a94442}.o_forum_status_opened_icon:before{content:"\f05e";color:#3c763d}.o_forum_status_hidden_icon:before{content:"\f070";color:#a94442}.o_forum_status_visible_icon:before{content:"\f06e";color:#3c763d}.o_mi_qtisc:before{content:"\f192"}.o_mi_qtimc:before{content:"\f046"}.o_mi_qtikprim:before{content:"\f14a"}.o_mi_qtifib:before{content:"\f141"}.o_mi_qtiessay:before{content:"\f036"}.o_black_led:before{content:"\f111";color:#428bca}.o_green_led:before{content:"\f111";color:#5cb85c}.o_yellow_led:before{content:"\f111";color:#f0ad4e}.o_red_led:before{content:"\f111";color:#d9534f}.o_ac_token_icon:before{content:"\f084"}.o_ac_free_icon:before{content:"\f06b"}.o_ac_group_icon:before{content:"\f0c0"}.o_ac_membersonly_icon:before{content:"\f023"}.o_ac_paypal_icon:before{content:"\f09d"}.o_ac_status_canceled_icon:before{content:"\f068";color:#f0ad4e}.o_ac_status_error_icon:before{content:"\f00d";color:#d9534f}.o_ac_status_new_icon:before{content:"\f069";color:#428bca}.o_ac_status_succes_icon:before{content:"\f00c";color:#5cb85c}.o_ac_status_waiting_icon:before{content:"\f017";color:#428bca}.o_ac_order_status_new_icon:before{content:"\f069";color:#428bca}.o_ac_order_status_prepayment_icon:before{content:"\f0d6";color:#5bc0de}.o_ac_order_status_payed_icon:before{content:"\f00c";color:#5cb85c}.o_ac_order_status_canceled_icon:before{content:"\f068";color:#f0ad4e}.o_ac_order_status_error_icon:before{content:"\f00d";color:#d9534f}.o_ac_order_status_warning_icon:before{content:"\f12a";color:#f0ad4e}.o_filetype_file:before,.o_filetype_ico:before{content:"\f016"}.o_filetype_folder:before{content:"\f114"}.o_filetype_folder_open:before{content:"\f115"}.o_filetype_zip:before,.o_filetype_gz:before,.o_filetype_tar:before,.o_filetype_tgz:before{content:"\f1c6"}.o_filetype_css:before,.o_filetype_js:before,.o_filetype_java:before,.o_filetype_numbers:before,.o_filetype_ods:before,.o_filetype_xml:before,.o_filetype_xsl:before{content:"\f1c9"}.o_filetype_bat_icon:before,.o_filetype_bat:before,.o_filetype_exe:before,.o_filetype_app:before,.o_filetype_sh:before{content:"\f1c9"}.o_filetype_xls:before,.o_filetype_xlsx:before{content:"\f1c3"}.o_filetype_png:before,.o_filetype_tiff:before,.o_filetype_webp:before,.o_filetype_gif:before,.o_filetype_ico:before,.o_filetype_jpeg:before,.o_filetype_bmp:before,.o_filetype_odg:before,.o_filetype_eps:before,.o_filetype_jpg:before{content:"\f1c5"}.o_filetype_psd:before,.o_filetype_avi:before,.o_filetype_dvi:before,.o_filetype_mp4:before,.o_filetype_m4v:before,.o_filetype_webm:before,.o_filetype_ogg:before,.o_filetype_video:before,.o_filetype_mov:before,.o_filetype_mpeg:before,.o_filetype_mpg:before,.o_filetype_qt:before,.o_filetype_ra:before,.o_filetype_ram:before,.o_filetype_swf:before,.o_filetype_flv:before{content:"\f1c8"}.o_filetype_midi:before,.o_filetype_audio:before,.o_filetype_mp3:before,.o_filetype_m3u:before,.o_filetype_wav:before{content:"\f1c7"}.o_filetype_ps:before,.o_filetype_pdf:before{content:"\f1c1"}.o_filetype_key:before,.o_filetype_odp:before,.o_filetype_ppt:before,.o_filetype_pptx:before{content:"\f1c4"}.o_filetype_odf:before,.o_filetype_rtf:before,.o_filetype_readme:before,.o_filetype_README:before,.o_filetype_log:before,.o_filetype_txt:before,.o_filetype_htm:before,.o_filetype_html:before{content:"\f0f6"}.o_filetype_odt:before,.o_filetype_pages:before,.o_filetype_doc:before,.o_filetype_docx:before{content:"\f1c2"}.o_icon_apple:before{content:"\f179"}.o_icon_facebook:before{content:"\f082"}.o_icon_twitter:before{content:"\f081"}.o_icon_google:before{content:"\f0d4"}.o_icon_delicious:before{content:"\f1a5"}.o_icon_digg:before{content:"\f1a6"}.o_icon_mailto:before{content:"\f199"}.o_icon_link:before{content:"\f0c1"}.o_icon_yahoo:before{content:"\f19e"}a.o_icon:hover,a.o_icon:focus{text-decoration:none}img.o_emoticons_angel{background:url(../light/images/emoticons/smiley-angel.png);width:16px;height:16px}img.o_emoticons_angry{background:url(../light/images/emoticons/smiley-mad.png);width:16px;height:16px}img.o_emoticons_blushing{background:url(../light/images/emoticons/smiley-red.png);width:16px;height:16px}img.o_emoticons_confused{background:url(../light/images/emoticons/smiley-confuse.png);width:16px;height:16px}img.o_emoticons_cool{background:url(../light/images/emoticons/smiley-cool.png);width:16px;height:16px}img.o_emoticons_cry{background:url(../light/images/emoticons/smiley-cry.png);width:16px;height:16px}img.o_emoticons_devil{background:url(../light/images/emoticons/smiley-evil.png);width:16px;height:16px}img.o_emoticons_grin{background:url(../light/images/emoticons/smiley-grin.png);width:16px;height:16px}img.o_emoticons_kiss{background:url(../light/images/emoticons/smiley-kiss.png);width:16px;height:16px}img.o_emoticons_ohoh{background:url(../light/images/emoticons/smiley-eek.png);width:16px;height:16px}img.o_emoticons_sad{background:url(../light/images/emoticons/smiley-sad.png);width:16px;height:16px}img.o_emoticons_sick{background:url(../light/images/emoticons/smiley-sad-blue.png);width:16px;height:16px}img.o_emoticons_smile{background:url(../light/images/emoticons/smiley.png);width:16px;height:16px}img.o_emoticons_tongue{background:url(../light/images/emoticons/smiley-razz.png);width:16px;height:16px}img.o_emoticons_ugly{background:url(../light/images/emoticons/smiley-money.png);width:16px;height:16px}img.o_emoticons_weird{background:url(../light/images/emoticons/smiley-nerd.png);width:16px;height:16px}img.o_emoticons_wink{background:url(../light/images/emoticons/smiley-wink.png);width:16px;height:16px}img.o_emoticons_worried{background:url(../light/images/emoticons/smiley-roll-blue.png);width:16px;height:16px}img.o_emoticons_up{background:url(../light/images/emoticons/thumb-up.png);width:16px;height:16px}img.o_emoticons_down{background:url(../light/images/emoticons/thumb.png);width:16px;height:16px}.o_block_bottom,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry,.o_header_with_buttons,.o_search_result{margin-bottom:1em}.o_block_top,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry{margin-top:1em}.o_block_large_bottom,.o_block_large,.o_block_with_datecomp,.o_portlet{margin-bottom:2em}.o_block_large_top,.o_block_large,.o_block_with_datecomp,.o_portlet{margin-top:2em}.o_scrollblock{overflow-x:auto;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.o_button_group{text-align:center}.o_button_group a,.o_button_group input,.o_button_group button,.o_button_group .btn-group{margin-right:5px;margin-bottom:0.5em}.o_button_group a:last-child,.o_button_group input:last-child,.o_button_group button:last-child,.o_button_group .btn-group:last-child{margin-right:0}.o_button_group .btn-group a,.o_button_group .btn-group input,.o_button_group .btn-group button{margin-right:0;margin-bottom:0}.o_button_group .dropdown-menu{text-align:left}.o_button_group_left{text-align:left}.o_button_group_right{text-align:right}.o_button_group_top{margin-top:0}.o_header_with_buttons:before,.o_header_with_buttons:after{content:" ";display:table}.o_header_with_buttons:after{clear:both}.o_header_with_buttons h3,.o_header_with_buttons h4,.o_header_with_buttons .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_header_with_buttons h2{display:inline-block}.o_header_with_buttons .o_button_group{margin-top:10px;margin-bottom:0;float:right}.o_xsmall{font-size:12px}.o_small,.o_comments .o_comment_wrapper h5,.o_comments .o_comment_wrapper .o_comment,.o_bc_meta,.tooltip,.o_noti,.o_block_with_datecomp .o_meta,.o_togglebox_wrapper div.o_togglebox_content .o_hide,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label,.o_course_run .o_toc .o_entry{font-size:12px}.o_large{font-size:18px}.o_xlarge{font-size:18px}.o_disabled{color:#777 !important;cursor:default}.o_disabled:hover{color:#777 !important}.o_dimmed{opacity:0.4;filter:alpha(opacity=40)}.o_selected{font-weight:bold}.o_deleted{text-decoration:line-through}.o_ochre{color:#c8a959}.o_blue{color:#12223F}.o_undecorated:hover,.o_undecorated:focus,.o_disabled:hover,.o_withEllipsis .o_morelink:hover,.o_withEllipsis .o_lesslink:hover,#o_main_wrapper #o_toplink:hover,#o_footer_wrapper #o_footer_container #o_footer_powered a:hover,#o_share a:hover,.o_toolbar a:hover,.o_button_toggle:hover,.o_im_message_group .o_im_from:hover,.o_noti .o_label:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover,.o_catalog .o_level .o_meta .o_title a:hover,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover,.o_repo_details .o_social .o_comments:hover,.o_login .o_login_register:hover,.o_disabled:focus,.o_withEllipsis .o_morelink:focus,.o_withEllipsis .o_lesslink:focus,#o_main_wrapper #o_toplink:focus,#o_footer_wrapper #o_footer_container #o_footer_powered a:focus,#o_share a:focus,.o_toolbar a:focus,.o_button_toggle:focus,.o_im_message_group .o_im_from:focus,.o_noti .o_label:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:focus,.o_catalog .o_level .o_meta .o_title a:focus,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:focus,.o_repo_details .o_social .o_comments:focus,.o_login .o_login_register:focus{text-decoration:none}.o_copy_code{overflow-x:auto;overflow-y:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}.o_nowrap{white-space:nowrap}.o_titled_wrapper .o_content{margin-top:20px}.o_video{display:block;width:100% \9;max-width:100%;height:auto}.o_image{display:block;width:100% \9;max-width:100%;height:auto}.o_withEllipsis .o_ellipsis_links{float:right}.o_withEllipsis .o_morelink,.o_withEllipsis .o_lesslink{display:none}.o_withEllipsis.o_hasOverflow .o_morelink{display:block}.o_withEllipsis.o_hasOverflow .o_lesslink{display:none}.o_withEllipsis.o_hasOverflow.o_showOverflow{height:auto !important}.o_withEllipsis.o_hasOverflow.o_showOverflow .o_morelink{display:none}.o_withEllipsis.o_hasOverflow.o_showOverflow .o_lesslink{display:block}html{position:relative;min-height:100%}body{min-height:100%;margin-bottom:70px}#o_main_wrapper{background:#fff;z-index:3}#o_main_wrapper #o_main_container{background:#fff}#o_main_wrapper #o_main_container #o_main_left{float:left;z-index:2;position:relative;background:#fff}#o_main_wrapper #o_main_container #o_main_left #o_main_left_content{padding:0 0 0 15px}#o_main_wrapper #o_main_container #o_main_left #o_main_left_toggle{position:absolute;display:none;right:0;top:70px;margin-right:-30px;font-size:25px;line-height:35px;text-align:center;width:30px;height:35px;z-index:3;border:1px solid #ddd;border-left:none;border-bottom-right-radius:4px;border-top-right-radius:4px;background-color:#fbfbfb;-webkit-box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);color:#428bca}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas{background:#fbfbfb;-webkit-box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);min-width:250px}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas #o_main_left_content{padding:0 0 0 0}#o_main_wrapper #o_main_container #o_main_right{float:right;z-index:2;position:relative;background:inherit}#o_main_wrapper #o_main_container #o_main_right #o_main_right_content{padding:0 15px 0 0}#o_main_wrapper #o_main_container #o_main_center{position:relative;z-index:1;background:inherit}#o_main_wrapper #o_main_container #o_main_center h2:first-child{margin-top:0}@media screen and (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center{margin-left:0 !important}}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:0 15px}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content #o_main_center_content_inner{padding-bottom:15px}#o_main_wrapper #o_toplink{position:absolute;bottom:0;right:15px;text-align:center;z-index:3}@media (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:15px}} #o_footer_wrapper{position:absolute;bottom:0;width:100%;z-index:3;height:70px;overflow:hidden;background-color:#f5f5f5;color:#999;line-height:16px;font-size:12px}#o_footer_wrapper a{color:#999}#o_footer_wrapper a:hover{color:#000}#o_footer_wrapper #o_footer_container{position:relative;padding-top:10px;min-height:70px;background:#f5f5f5}#o_footer_wrapper #o_footer_container #o_footer_user #o_counter{white-space:nowrap}#o_footer_wrapper #o_footer_container #o_footer_user #o_username{white-space:nowrap;margin-right:1em}#o_footer_wrapper #o_footer_container #o_footer_version{position:absolute;right:15px;top:10px;text-align:right}@media (max-width: 767px){#o_footer_wrapper #o_footer_container #o_footer_version{padding-top:10px;text-align:left}}#o_footer_wrapper #o_footer_container #o_footer_powered{position:absolute;top:30px;right:15px}#o_footer_wrapper #o_footer_container #o_footer_powered img{opacity:0.6;filter:alpha(opacity=60)}#o_footer_wrapper #o_footer_container #o_footer_powered img:hover{opacity:1;filter:alpha(opacity=100)}@media (max-width: 767px){#o_footer_wrapper #o_footer_container #o_counter,#o_footer_wrapper #o_footer_container #o_footer_version{display:none}#o_footer_wrapper #o_footer_container #o_footer_powered{top:10px}#o_footer_wrapper #o_footer_container #o_footer_powered a:after{content:"\221E";font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:14px}#o_footer_wrapper #o_footer_container #o_footer_powered img{display:none}} #o_share{margin-top:10px;font-size:14px}#o_share a{margin:0 3px 0 0;opacity:0.6;filter:alpha(opacity=60)}#o_share a:hover{opacity:1;filter:alpha(opacity=100)}#o_navbar_wrapper{z-index:4}#o_navbar_wrapper #o_navbar_container{position:relative}#o_navbar_wrapper #o_navbar_container a.o_navbar-brand{font-size:40px;vertical-align:top;font-weight:bold;color:#31729B}#o_navbar_wrapper #o_navbar_container a.o_navbar-brand:after{content:"\221E"}.o_navbar .o_navbar_tabs li a{padding-right:30px}.o_navbar .o_navbar_tabs .o_navbar_tab_close{position:absolute;top:15px;right:0.5em;padding:0;width:1em;height:1em}.o_navbar .o_navbar_tabs .o_navbar_tab_close i:before{color:#A87E7E}.o_navbar .o_navbar_tabs .o_navbar_tab_close:hover i:before{color:#CC0000}.o_navbar #o_navbar_tools_permanent #o_navbar_langchooser{color:#777;padding:7px 15px}.o_navbar #o_navbar_tools_permanent #o_navbar_langchooser form span+div{display:inline}.o_navbar #o_navbar_tools_permanent #o_navbar_help a i{margin-right:0.4em}@media (max-width: 767px){.o_navbar #o_navbar_tools_permanent #o_navbar_impress a span{display:none}}.o_navbar #o_navbar_tools_personal .o_navbar_tool a{padding-right:5px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu .dropdown-toggle{padding-left:45px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu .o_portrait{position:absolute;left:7px;top:10px}.o_navbar #o_navbar_tools_personal .o_logout{color:#d9534f}.o_navbar.o_navbar-offcanvas .o_navbar_tab_close{top:10px}.o_navbar.o_navbar-offcanvas .o_navbar_tool{display:none}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a{color:#777}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a:hover,.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a:focus{color:#fff;background-color:transparent}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a.o_logout{color:#d9534f}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a.o_logout:hover,.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a.o_logout:focus{color:#d9534f}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu .dropdown-header{padding-left:15px}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu .dropdown-toggle{display:none}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu .dropdown-menu{box-shadow:none;position:relative;top:0;left:0;display:block;float:none;background-color:#222;color:#777;font-size:14px}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu .dropdown-menu .divider{background:none}.o_navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.o_navbar:before,.o_navbar:after{content:" ";display:table}.o_navbar:after{clear:both}.o_navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.o_navbar-collapse:before,.o_navbar-collapse:after{content:" ";display:table}.o_navbar-collapse:after{clear:both}.o_navbar-collapse.o_collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.o_navbar-offcanvas .o_navbar-collapse{width:auto;border-top:0;box-shadow:none;margin-top:10px;margin-right:-15px;margin-left:-15px}.o_navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.o_navbar-brand:hover,.o_navbar-brand:focus{text-decoration:none}.o_navbar-toggle{position:relative;margin-right:15px;margin-left:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.o_navbar-toggle:focus{outline:none}.o_navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.o_navbar-toggle .icon-bar+.icon-bar{margin-top:4px}#o_navbar_left-toggle{float:left}#o_navbar_right-toggle{float:right}.o_navbar-nav{margin:7.5px -15px}.o_navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}.o_collapse .o_navbar-nav{float:left;margin:0}.o_collapse .o_navbar-nav>li{float:left}.o_collapse .o_navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.o_collapse .o_navbar-nav.o_navbar-right:last-child{margin-right:-15px}.o_collapse.o_navbar-collapse .o_navbar-left{float:left !important}.o_collapse.o_navbar-collapse .o_navbar-right{float:right !important}.o_navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (max-width: 767px){.o_navbar-form .form-group{margin-bottom:5px}} .o_collapse .o_navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.o_collapse .o_navbar-form.o_navbar-right:last-child{margin-right:-15px}.o_navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.o_navbar-fixed-bottom .o_navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.o_navbar-btn{margin-top:8px;margin-bottom:8px}.o_navbar-btn.btn-sm,.btn-group-sm>.o_navbar-btn.btn{margin-top:10px;margin-bottom:10px}.o_navbar-btn.btn-xs,.btn-group-xs>.o_navbar-btn.btn{margin-top:14px;margin-bottom:14px}.o_navbar-text{margin-top:15px;margin-bottom:15px}.o_collapse .o_navbar-text{float:left;margin-left:15px;margin-right:15px}.o_collapse .o_navbar-text.o_navbar-right:last-child{margin-right:0}.o_navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.o_navbar-default .o_navbar-brand{color:#777}.o_navbar-default .o_navbar-brand:hover,.o_navbar-default .o_navbar-brand:focus{color:#5e5e5e;background-color:transparent}.o_navbar-default .o_navbar-text{color:#777}.o_navbar-default .o_navbar-nav>li>a{color:#777}.o_navbar-default .o_navbar-nav>li>a:hover,.o_navbar-default .o_navbar-nav>li>a:focus{color:#333;background-color:transparent}.o_navbar-default .o_navbar-nav>.active>a,.o_navbar-default .o_navbar-nav>.active>a:hover,.o_navbar-default .o_navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar-default .o_navbar-nav>.disabled>a,.o_navbar-default .o_navbar-nav>.disabled>a:hover,.o_navbar-default .o_navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.o_navbar-default .o_navbar-toggle{border-color:#ddd}.o_navbar-default .o_navbar-toggle:hover,.o_navbar-default .o_navbar-toggle:focus{background-color:#ddd}.o_navbar-default .o_navbar-toggle .icon-bar{background-color:#888}.o_navbar-default .o_navbar-collapse,.o_navbar-default .o_navbar-form{border-color:#e7e7e7}.o_navbar-default .o_navbar-nav>.open>a,.o_navbar-default .o_navbar-nav>.open>a:hover,.o_navbar-default .o_navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.o_navbar-default .o_navbar-link{color:#777}.o_navbar-default .o_navbar-link:hover{color:#333}.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>li>a{color:#777}.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>li>a:hover,.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.active>a,.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.active>a:hover,.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.disabled>a,.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.disabled>a:hover,.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}.o_navbar-inverse{background-color:#222;border-color:#090909}.o_navbar-inverse .o_navbar-brand{color:#777}.o_navbar-inverse .o_navbar-brand:hover,.o_navbar-inverse .o_navbar-brand:focus{color:#fff;background-color:transparent}.o_navbar-inverse .o_navbar-text{color:#777}.o_navbar-inverse .o_navbar-nav>li>a{color:#777}.o_navbar-inverse .o_navbar-nav>li>a:hover,.o_navbar-inverse .o_navbar-nav>li>a:focus{color:#fff;background-color:transparent}.o_navbar-inverse .o_navbar-nav>.active>a,.o_navbar-inverse .o_navbar-nav>.active>a:hover,.o_navbar-inverse .o_navbar-nav>.active>a:focus{color:#fff;background-color:#090909}.o_navbar-inverse .o_navbar-nav>.disabled>a,.o_navbar-inverse .o_navbar-nav>.disabled>a:hover,.o_navbar-inverse .o_navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.o_navbar-inverse .o_navbar-toggle{border-color:#333}.o_navbar-inverse .o_navbar-toggle:hover,.o_navbar-inverse .o_navbar-toggle:focus{background-color:#333}.o_navbar-inverse .o_navbar-toggle .icon-bar{background-color:#fff}.o_navbar-inverse .o_navbar-collapse,.o_navbar-inverse .o_navbar-form{border-color:#101010}.o_navbar-inverse .o_navbar-nav>.open>a,.o_navbar-inverse .o_navbar-nav>.open>a:hover,.o_navbar-inverse .o_navbar-nav>.open>a:focus{background-color:#090909;color:#fff}.o_navbar-inverse .o_navbar-nav .o_navbar-link{color:#777}.o_navbar-inverse .o_navbar-nav .o_navbar-link:hover{color:#fff}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu .divider{background-color:#090909}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>li>a{color:#777}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>li>a:hover,.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.active>a,.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.active>a:hover,.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#090909}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.disabled>a,.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.disabled>a:hover,.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}.o_toolbar{position:relative;min-height:37px;margin-bottom:20px;border:1px solid transparent;background-color:#f8f8f8;border-color:#e7e7e7;text-align:center;min-height:37px}.o_toolbar:before,.o_toolbar:after{content:" ";display:table}.o_toolbar:after{clear:both}@media (min-width: 768px){.o_toolbar{border-radius:4px}}.o_toolbar a{color:#777;display:inline-block}.o_toolbar a:hover{color:#333}.o_toolbar .o_breadcrumb{float:left;margin-top:4px;margin-bottom:2px;padding-right:5px;padding-left:5px;padding-top:3px;border-right:1px solid #e7e7e7;margin-right:15px;margin-left:-15px}.o_toolbar .o_breadcrumb i{font-size:18px}.o_toolbar .o_breadcrumb .o_history.o_tool_dropdown i{font-size:14px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_breadcrumb{margin-top:3px;margin-bottom:2px;padding-top:3px}.o_toolbar .o_breadcrumb i{font-size:16px}.o_toolbar .o_breadcrumb .o_history.o_tool_dropdown i{font-size:12px}}@media (max-width: 767px){.o_toolbar .o_breadcrumb{margin-top:6px;margin-bottom:4px;padding-top:0}.o_toolbar .o_breadcrumb i{font-size:20px}.o_toolbar .o_breadcrumb .o_history{display:none}}.o_toolbar .o_tools_close{float:right;position:relative;margin:8px -15px 5px 15px;border-left:1px solid #e7e7e7;padding-right:5px;padding-left:5px;vertical-align:middle}.o_toolbar .o_tools_close a{line-height:37px;color:#d9534f}.o_toolbar .o_tools_close a:hover{color:#b52b27}.o_toolbar .o_tools_close a i{font-size:18px}.o_toolbar .o_tools_close a span{display:none}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tools_close{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools_close a{line-height:35px}.o_toolbar .o_tools_close a i{font-size:16px}}@media (max-width: 767px){.o_toolbar .o_tools_close{min-height:22px;margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools_close a{line-height:22px}.o_toolbar .o_tools_close a i{font-size:20px}}.o_toolbar .o_tools{margin-top:8px;margin-bottom:5px}.o_toolbar .o_tool,.o_toolbar .o_text{position:relative;margin:0 10px}.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:18px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{display:block;font-size:12px}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{position:absolute;right:50%;top:-24px;margin-right:-12px;font-size:13px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:16px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{font-size:11px}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{top:-22px;margin-right:-11px;font-size:12px}}@media (max-width: 767px){.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:20px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{display:none}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{display:block;position:relative;top:0;left:0}}.o_toolbar .o_tool .o_chelp,.o_toolbar .o_text .o_chelp{position:relative;top:-1em;vertical-align:top}.o_toolbar .o_tool_dropdown{position:relative}.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:18px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span{display:block;font-size:12px}.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{position:absolute;right:50%;top:4px;margin-right:-20px;font-size:14px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:16px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span,.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{font-size:11px}.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{top:4px;margin-right:-18px;font-size:12px}}@media (max-width: 767px){.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:20px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span,.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{display:none}}.o_toolbar .o_tool_dropdown .dropdown-menu{text-align:left}.o_toolbar .o_tools_left{float:left}.o_toolbar .o_tools_right{float:right}@media (max-width: 991px){.o_toolbar{min-height:35px}.o_toolbar .o_tools{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tool span{max-width:10em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 767px){.o_toolbar{min-height:22px;text-align:left}.o_toolbar .o_tools{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools .o_chelp{top:0;vertical-align:top}.o_toolbar .o_tools_right,.o_toolbar .o_tools_center{float:left}}