diff --git a/.gitignore b/.gitignore index 15c7af78fb18fcab701883e1756ef7c488c14ea3..5e6c19ca7b9e1f731c7c51e5215203aa7ec4bf91 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,33 @@ +/bin/ +/target/ +/cargo/ +/.settings/ + +# deprecated scripting files +*.pl +*.php + +# editor backup files +*~ +*.bak +*.swp + +# sundry useless files +*.out +mvn*.log + +# Mac idiosyncrasies +.DS_Store + +#ignore project/.classpath file at this gets created by maven +.classpath +.project +src/main/java/olat.local.properties + .classpath /.project /.settings */target *.sw? */.classpath -*/.project -*/.settings/* -*/.settings/org.eclipse.core.resources.prefs -*/.settings/org.eclipse.wst.common.component -*/.settings/org.eclipse.wst.common.project.facet.core.xml -*/.settings/org.eclipse.jdt.core.prefs -*/.settings/org.eclipse.m2e.core.prefs -*/.settings/org.eclipse.wst.jsdt.ui.* -*/.settings/org.sonarlint.* -*/.settings/.jsdtscope \ No newline at end of file +*/.project \ No newline at end of file diff --git a/pom.xml b/pom.xml index 5b457b189776a64ad49d4ecce73a5ad94c37c0e7..270437e518b97cb7d6daa47e8bcc37934c72d406 100644 --- a/pom.xml +++ b/pom.xml @@ -1271,17 +1271,18 @@ </testResource> </testResources> <plugins> - <!-- Set the build number from mercurial --> + <!-- Set the build number from git --> <plugin> - <groupId>org.openolat.mojo</groupId> - <artifactId>buildnumber-maven-plugin</artifactId> - <version>1.2.0</version> + <groupId>pl.project13.maven</groupId> + <artifactId>git-commit-id-plugin</artifactId> + <version>2.2.4</version> <executions> <execution> - <phase>validate</phase> + <id>get-the-git-infos</id> <goals> - <goal>hgchangeset</goal> + <goal>revision</goal> </goals> + <phase>validate</phase> </execution> <execution> <id>execution-create</id> @@ -1299,6 +1300,7 @@ <items> <item>timestamp</item> </items> + <dotGitDirectory>${project.basedir}/.git</dotGitDirectory> </configuration> </plugin> <plugin> @@ -1408,7 +1410,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.6.1</version> + <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> @@ -1430,9 +1432,9 @@ <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> <manifestEntries> - <Build-Change-Set>${changeSet}</Build-Change-Set> - <Build-Change-Set-Date>${changeSetDate}</Build-Change-Set-Date> - <Build-Revision-Number>${revisionNumber}</Build-Revision-Number> + <Build-Change-Set>${git.commit.id}</Build-Change-Set> + <Build-Change-Set-Date>${git.commit.time}</Build-Change-Set-Date> + <Build-Revision-Number>${git.commit.id.abbrev}</Build-Revision-Number> <Implementation-Build>${buildNumber}</Implementation-Build> </manifestEntries> </archive> @@ -1445,6 +1447,43 @@ </webResources> </configuration> </plugin> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <versionRange>[1.8,)</versionRange> + <goals> + <goal>run</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore></ignore> + </action> + </pluginExecution> + <pluginExecution> + <pluginExecutionFilter> + <groupId>org.codehaus.mojo</groupId> + <artifactId>sql-maven-plugin</artifactId> + <versionRange>[1.5,)</versionRange> + <goals> + <goal>execute</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore></ignore> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> <!-- The Eclipse plugin is only of interest to developers and requires that WTP be installed. --> diff --git a/src/main/java/org/olat/admin/user/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/admin/user/_i18n/LocalStrings_pt_BR.properties index d33f3501e510e9273a5a973e1f0d74980a6c6c9e..71c20646b8ef220dc070fd8174c51edc41f9a95e 100644 --- a/src/main/java/org/olat/admin/user/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/admin/user/_i18n/LocalStrings_pt_BR.properties @@ -1,12 +1,15 @@ -#Thu Nov 23 17:52:35 CET 2017 +#Tue Jun 19 22:51:25 CEST 2018 action.bulkedit=Editar os atributos desses usu\u00E1rios action.choose=Choose action.choose.finish=Fechar e terminar action.select=Selecionar +admins=Administrador authedit.delete.confirm=Are you sure you want to delete the authentication provider {0} for user {1}? authedit.delete.success=Authentication provider {0} deleted for user {1}. +authors=Autor autocomplete.noresults=$org.olat.core.gui.control.generic.ajax.autocompletion\:autocomplete.noresults autocompletion.info=Pesquisa por login, primeiro nome, \u00FAltimo nome, e-mail ou matr\u00EDcula (n\u00FAmero de registro) +bgroupcoach=Coach de grupo btn.back=Voltar bulkChange.failed=Nenhuma modifica\u00E7\u00E3o feita bulkChange.partialsuccess={0} de {1} modifica\u00E7\u00F5es sucedidas. Os seguintes atributos de usu\u00E1rio n\u00E3o poderam ser modificados\: {3} @@ -15,10 +18,13 @@ bulkChange.title=Modifica\u00E7\u00E3o de atributos de usu\u00E1rio changeuserpwd.cancel=Action was cancelled. Password remains unchanged. changeuserpwd.failed=Sua nova senha n\u00E3o pode ser salva. Houve um erro inesperado no servidor. changeuserpwd.successful=New password saved successfully. It is valid from now on. +clear=Limpar command.mail=Send e-mail to these users +confirm.clear.identity=Deseja realmente limpar o nome e sobrenome desse usu\u00E1rio exclu\u00EDdo "{0}"? content.usermgmt.text1=Aqui voc\u00EA pode modificar ou gerenciar dados de usu\u00E1rios existentes do OLAT. Favor iniciar sua busca de usu\u00E1rio. content.usermgmt.title=Gerenciamento do usu\u00E1rio content.usermgmt.userfound=Gerenciar configura\u00E7\u00F5es de usu\u00E1rio +deleted.user.list=Lista de usu\u00E1rios exclu\u00EDdos deselectall=$org.olat.core.gui.components.table\:uncheckall edit.uauth=Authentications edit.uhomepage=Cart\u00E3o de visitas @@ -38,6 +44,8 @@ error.search.form.no.wildcard.dublicates=Termos de pesquisa, incluindo `**` n\u0 error.search.form.notempty=Please fill in at least one of the available fields. error.search.form.to.short=Termo de pesquisa muito curto. error.search.maxResults=Muitos resultados encontrados. Apenas o primeiro {0} s\u00E3o exibidos. +export.user.data=Exportar dados +export.user.data.title=Exportar dados do usu\u00E1rio "{0}" form.password.new1=New password form.password.new2=Confirm password form.please.enter.new=Please enter a new password for this user @@ -46,8 +54,10 @@ form.token.new.text=Mensagem form.token.new.title=Enviar link de senha form.username=User name found.property=Property selected +groupmanagers=Gestor de grupo header.autocompletion=Busca combinada com auto-completar header.normal=Pesquisa com atributos de usu\u00E1rio +instoresmanager=Gestor de recurso did\u00E1tico mailtemplate.login.denied.body=Sua conta OpenOLAT {0} com o endere\u00E7o de e-mail {1} est\u00E1 bloqueada.\r\n\r\n\r\nSe voc\u00EA n\u00E3o concorda com esta mudan\u00E7a, por favor, contate o suporte imediatamente em {3}. mailtemplate.login.denied.subject=Conta OpenOLAT bloqueada mailto.userlist=List of users @@ -71,6 +81,9 @@ new.user.cancel=Action cancelled. No new user account created. new.user.successful=The new user account has been created successfully. notification.noNews=Nenhum novo usu\u00E1rio se conectou desde essa data. notification.noSubscription=Voc\u00EA n\u00E3o est\u00E1 inscrito para receber not\u00EDcias sobre novos usu\u00E1rios. +owner=Propriet\u00E1rio do Curso +poolsmanager=Gestor do banco de perguntas +repocoach=Coach de Curso rightForm.error.anonymous.no.roles=Anonymous guests can not exercise system roles rightsForm.isAdmin=System administrator rightsForm.isAnonymous=User type @@ -130,6 +143,10 @@ table.header.action=Action table.header.vcard=Cart\u00E3o de visitas table.identity.action=A\u00E7\u00E3o table.identity.creationdate=Criado +table.identity.deleted.name=Del_User name +table.identity.deletedby=Exclu\u00EDdo por +table.identity.deleteddate=Exclu\u00EDdo +table.identity.deletedroles=Fun\u00E7\u00F5es table.identity.lastlogin=Ultimo Login table.identity.name=Nome de usu\u00E1rio table.identity.vcard=<i class\='o_icon o_icon-lg o_icon_home'> </i> @@ -150,6 +167,7 @@ title.user.search=Search for an OLAT user title.userlist=User list title.usersearch=User search user.found=User was found +usermanagers=Gestor de usu\u00E1rios view.access=Reservas view.competences=Compet\u00EAncias view.courses=Cursos 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 6124ee948baf1b2684ae69134f8c32fa262f65f7..c5dbb1dcc91f5fd5581d73a2900c4c30b006cf9f 100644 --- a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java +++ b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java @@ -42,7 +42,7 @@ import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit; import org.olat.core.gui.components.form.flexible.impl.elements.MultipleSelectionElementImpl; import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; -import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiColumnDef; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory; @@ -139,12 +139,12 @@ public class GroupSearchController extends StepFormBasicController { //group rights FlexiTableColumnModel tableColumnModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); - tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.groupName.i18n(), Cols.groupName.ordinal())); - tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.description.i18n(), Cols.description.ordinal(), - false, null, FlexiColumnModel.ALIGNMENT_LEFT, new TextFlexiCellRenderer(EscapeMode.antisamy))); - tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.courses.i18n(), Cols.courses.ordinal())); - tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.tutor.i18n(), Cols.tutor.ordinal())); - tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.participant.i18n(), Cols.participant.ordinal())); + tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.key)); + tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.groupName)); + tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.description, new TextFlexiCellRenderer(EscapeMode.antisamy))); + tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.courses)); + tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.tutor)); + tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.participant)); tableDataModel = new GroupTableDataModel(Collections.<GroupWrapper>emptyList(), tableColumnModel); table = uifactory.addTableElement(getWindowControl(), "groupList", tableDataModel, getTranslator(), tableCont); @@ -155,10 +155,7 @@ public class GroupSearchController extends StepFormBasicController { saveLink = uifactory.addFormLink("save", formLayout, Link.BUTTON); } } - - /** - * @see org.olat.core.gui.components.form.flexible.impl.FormBasicController#formOK(org.olat.core.gui.UserRequest) - */ + @Override protected void formOK(UserRequest ureq) { doSearchGroups(); @@ -414,6 +411,7 @@ public class GroupSearchController extends StepFormBasicController { public Object getValueAt(int row, int col) { GroupWrapper option = getObject(row); switch(Cols.values()[col]) { + case key: return option.getGroupKey(); case groupName: return option.getGroupName(); case description: String description = option.getDescription(); @@ -433,7 +431,8 @@ public class GroupSearchController extends StepFormBasicController { } } - public static enum Cols { + public static enum Cols implements FlexiColumnDef { + key("table.group.key"), groupName("table.group.name"), description("description"), courses("table.header.resources"), @@ -446,7 +445,8 @@ public class GroupSearchController extends StepFormBasicController { this.i18n = i18n; } - public String i18n() { + @Override + public String i18nHeaderKey() { return i18n; } } diff --git a/src/main/java/org/olat/admin/user/groups/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/admin/user/groups/_i18n/LocalStrings_de.properties index c4e159aca19c10003cc32f811b34f71ebfa5b587..2222bbb3d0c495ae7cf3f01e185f7c33864b11d1 100644 --- a/src/main/java/org/olat/admin/user/groups/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/admin/user/groups/_i18n/LocalStrings_de.properties @@ -4,6 +4,7 @@ attende.and.owner=Besitzer und Teilnehmer group.removed=Diese Gruppe existiert nicht mehr\! owner=Besitzer table.group.name=Gruppenname +table.group.key=ID table.group.type=Typ der Gruppe table.group.add.tutor=Hinzuf\u00fcgen als Betreuer table.group.add.participant=Hinzuf\u00fcgen als Teilnehmer diff --git a/src/main/java/org/olat/admin/user/groups/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/admin/user/groups/_i18n/LocalStrings_en.properties index 734653f4416d7adb7021b86bc13b434b4e1bb280..9113f67dfbba817199b75c5742a7d990e82d19af 100644 --- a/src/main/java/org/olat/admin/user/groups/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/admin/user/groups/_i18n/LocalStrings_en.properties @@ -21,6 +21,7 @@ send.email=Send invitational email send.email.notif=Do you want to send a notification to the user? table.group.add.participant=Add as participant table.group.add.tutor=Add as coach +table.group.key=ID table.group.name=Group name table.group.type=Type of group table.header.resources=$org.olat.group.ui.main\:table.header.resources diff --git a/src/main/java/org/olat/basesecurity/model/GroupMembershipImpl.java b/src/main/java/org/olat/basesecurity/model/GroupMembershipImpl.java index c9a0de90f03127399f296584cd542a9e0bce68f3..2e28be25dfe25eaf791c84305a06364fb9e9038b 100644 --- a/src/main/java/org/olat/basesecurity/model/GroupMembershipImpl.java +++ b/src/main/java/org/olat/basesecurity/model/GroupMembershipImpl.java @@ -85,7 +85,7 @@ public class GroupMembershipImpl implements GroupMembership, ModifiedInfo, Persi private Date creationDate; @Temporal(TemporalType.TIMESTAMP) - @Column(name="lastmodified", nullable=false, insertable=true, updatable=false) + @Column(name="lastmodified", nullable=false, insertable=true, updatable=true) private Date lastModified; @Column(name="g_role", nullable=false, insertable=true, updatable=false) diff --git a/src/main/java/org/olat/collaboration/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/collaboration/_i18n/LocalStrings_pt_BR.properties index b476d02c60f13e32c490dbf992eb10c2c0f94069..29b9fc40da8ea0d8bca5a770072c22071d08e304 100644 --- a/src/main/java/org/olat/collaboration/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/collaboration/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Tue May 02 23:52:16 CEST 2017 +#Tue Jun 19 22:42:05 CEST 2018 calendar.access=Direito de grava\u00E7\u00E3o no calend\u00E1rio calendar.access.all=Propriet\u00E1rios e membros calendar.access.owners=Propriet\u00E1rios @@ -12,6 +12,7 @@ collabtools.named.hasNews=Informa\u00E7\u00E3o para membros collabtools.named.hasOpenMeetings=OpenMeetings collabtools.named.hasPortfolio=ePortfolio collabtools.named.hasWiki=Wiki +error.missing.map=O fich\u00E1rio foi exclu\u00EDdo. folder=Pasta folder.access=Permiss\u00E3o de grava\u00E7\u00E3o na pasta folder.access.all=Todos os membros diff --git a/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties index ee1cd0d7e545623ae198f0b6f4099c7a8c9d20d5..cfdc0f2479bcae574de1fd6a89c395f319cb4578 100644 --- a/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Fri May 11 23:58:52 CEST 2018 +#Tue Jun 19 22:51:26 CEST 2018 cal.add.event=Adicionar evento cal.add.readonly=(somente leitura) cal.color.choose=Escolher cor diff --git a/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_de.properties index b191aa18f9afda575083115c7bfd5fc9d2750341..3706cce81619411a9718aa99a479e29d885058c1 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_de.properties @@ -86,6 +86,7 @@ mf.author=Autor mf.cancel=Abbrechen mf.comment=Beschreibung mf.edit=Metadaten bearbeiten +mf.elements=Element(e) mf.error.filename.empty=Der Name des Objektes darf nicht leer sein. mf.error.filename.exists=Es gibt bereits ein Objekt mit diesem Namen. mf.error.filename.invalidchars=Der Name des Objekts enth\u00E4lt ung\u00FCltige Zeichen. diff --git a/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_en.properties index 23a384a182d792e20445db7c8a5503bbc67c7d27..c94551267c7dd33147c964b0f9f2ede4a49ff02c 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_en.properties @@ -86,6 +86,7 @@ mf.author=Author mf.cancel=Cancel mf.comment=Description mf.edit=Edit metadata +mf.elements=element(s) mf.error.filename.empty=You have to enter a name for this object. mf.error.filename.exists=An object with this name already exists. mf.error.filename.invalidchars=Name of object contains invalid characters. diff --git a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java index e72f2ea6d0ffba906d982ca2d7bc0eaeb78e3abc..bcaa51161b57bf401caaed13096c671d94175248 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java +++ b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java @@ -61,6 +61,7 @@ import org.olat.core.util.vfs.VFSItem; import org.olat.core.util.vfs.VFSLeaf; import org.olat.core.util.vfs.VFSLockManager; import org.olat.core.util.vfs.VirtualContainer; +import org.olat.core.util.vfs.filters.SystemItemFilter; import org.olat.core.util.vfs.lock.LockInfo; import org.olat.core.util.vfs.version.Versionable; import org.olat.core.util.vfs.version.Versions; @@ -357,6 +358,11 @@ public class ListRenderer { sb.append(Formatter.formatBytes(leaf.getSize())); sb.append("</span>"); } + else if (child instanceof VFSContainer) { + sb.append("<span class='text-muted small'>"); + sb.append(((VFSContainer) child).getItems(new SystemItemFilter()).size()); + sb.append(" "+translator.translate("mf.elements")+"</span>"); + } sb.append("</td><td>"); // last modified diff --git a/src/main/java/org/olat/core/gui/components/stack/TooledStackedPanel.java b/src/main/java/org/olat/core/gui/components/stack/TooledStackedPanel.java index ea2f2c2de24e681b7347df371a0e6009a29d2e41..924fd92114196ee333976c72216520c8bd7c6762 100644 --- a/src/main/java/org/olat/core/gui/components/stack/TooledStackedPanel.java +++ b/src/main/java/org/olat/core/gui/components/stack/TooledStackedPanel.java @@ -44,6 +44,7 @@ public class TooledStackedPanel extends BreadcrumbedStackedPanel implements Stac private static final ComponentRenderer RENDERER = new TooledStackedPanelRenderer(); private boolean toolbarEnabled = true; private boolean toolbarAutoEnabled = false; + private boolean breadcrumbEnabled = true; private String message; private String messageCssClass; @@ -219,6 +220,14 @@ public class TooledStackedPanel extends BreadcrumbedStackedPanel implements Stac } } + public boolean isBreadcrumbEnabled() { + return breadcrumbEnabled; + } + + public void setBreadcrumbEnabled(boolean breadcrumbEnabled) { + this.breadcrumbEnabled = breadcrumbEnabled; + } + public String getMessage() { return message; } diff --git a/src/main/java/org/olat/core/gui/components/stack/TooledStackedPanelRenderer.java b/src/main/java/org/olat/core/gui/components/stack/TooledStackedPanelRenderer.java index ccf3ae8ac26417ebe6853371eed96e0d16d6130d..a2f238e41b8c857a82ee5bde692fc9b589122478 100644 --- a/src/main/java/org/olat/core/gui/components/stack/TooledStackedPanelRenderer.java +++ b/src/main/java/org/olat/core/gui/components/stack/TooledStackedPanelRenderer.java @@ -55,10 +55,10 @@ public class TooledStackedPanelRenderer extends DefaultComponentRenderer { String mainCssClass = panel.getCssClass(); sb.append("<div id='o_c").append(source.getDispatchID()).append("' class='").append(mainCssClass, mainCssClass != null).append("'>"); - if(breadCrumbs.size() > panel.getInvisibleCrumb() || tools.size() > 0 && panel.isToolbarEnabled()) { + if((panel.isBreadcrumbEnabled() && breadCrumbs.size() > panel.getInvisibleCrumb()) || (tools.size() > 0 && panel.isToolbarEnabled())) { sb.append("<div id='o_main_toolbar' class='o_toolbar'>"); - if(breadCrumbs.size() > panel.getInvisibleCrumb()) { + if(panel.isBreadcrumbEnabled() && breadCrumbs.size() > panel.getInvisibleCrumb()) { sb.append("<div class='o_breadcrumb'><ol class='breadcrumb'>"); Link backLink = panel.getBackLink(); int numOfCrumbs = breadCrumbs.size(); diff --git a/src/main/java/org/olat/core/util/mail/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/core/util/mail/_i18n/LocalStrings_pt_BR.properties index 872667c728fd7d754838e977fcf1cf6c32ee7eeb..bcf703afeb9b5639392884d474ed58f005666117 100644 --- a/src/main/java/org/olat/core/util/mail/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/core/util/mail/_i18n/LocalStrings_pt_BR.properties @@ -1,5 +1,6 @@ -#Thu Feb 08 13:30:43 CET 2018 +#Tue Jun 19 22:04:40 CEST 2018 add.email=Adicionar +at.least.one.recipient=Voc\u00EA precisa escolher pelo menos um destinat\u00E1rio. contact.cp.from=C\u00F3pia enviada ao endere\u00E7o error.too.long=O modelo \u00E9 muito grande. O tamanho m\u00E1ximo \u00E9 {0}\! footer.no.userdata=<p>Esta mensagem foi enviada automaticamente via OpenOLAT\: {0}</p> diff --git a/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java b/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java index e5274f4c048d1c7f3f1669bf8863b1e636b9d042..840ae32bf67b66ea8a5d9dc4487f0857ba8b4a0d 100644 --- a/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java +++ b/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java @@ -521,7 +521,7 @@ public class MailManagerImpl implements MailManager, InitializingBean { .append(" inner join fromRecipient.recipient fromRecipientIdentity") .append(" inner join ").append(fetchRecipients ? "fetch" : "").append(" mail.recipients recipient") .append(" inner join ").append(fetchRecipients ? "fetch" : "").append(" recipient.recipient recipientIdentity") - .append(" where fromRecipientIdentity.key=:fromKey and fromRecipient.deleted=false and recipientIdentity.key!=:fromKey") + .append(" where fromRecipientIdentity.key=:fromKey and fromRecipient.deleted=false ") .append(" order by mail.creationDate desc"); TypedQuery<DBMailLight> query = dbInstance.getCurrentEntityManager() diff --git a/src/main/java/org/olat/course/db/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/db/_i18n/LocalStrings_pt_BR.properties index 514d26a9134d02d023b59debddfe4e65ba2ebefa..25c2cf784f93655b67f6aca54ad6c4d1f3cca2dc 100644 --- a/src/main/java/org/olat/course/db/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/db/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Fri May 11 23:51:11 CEST 2018 +#Tue Jun 19 22:05:16 CEST 2018 command.new_db=Criar novo banco de dados customDb.category=Nome customDb.create=Criar diff --git a/src/main/java/org/olat/course/nodes/bc/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/bc/_i18n/LocalStrings_pt_BR.properties index 0c5b20c3f2950346cc0254f22a3107b676540048..cc7c9feb22ebaf4785cd3062117b352da8f7cf23 100644 --- a/src/main/java/org/olat/course/nodes/bc/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/nodes/bc/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Apr 28 20:32:25 CEST 2016 +#Tue Jun 19 22:05:50 CEST 2018 chooseFolder=Escolher pasta condition.accessDownloaders.title=Apenas ler (download) condition.accessUploaders.title=Ler e escrever (up/download) @@ -30,4 +30,5 @@ subPathLab.dummy=N\u00E3o existe nenhuma pasta configurada ainda subPathLab.label=Caminho de arquivo title_bc=Pasta warn.folderdelete=Aviso\: Todos os arquivos nesta pasta ser\u00E3o apagados. +warning.no.linkedfolder=A pasta configurada n\u00E3o est\u00E1 dispon\u00EDvel na pasta de armazenamento do curso. warning.no.sharedfolder=A pasta de recursos configurada n\u00E3o est\u00E1 mais dispon\u00EDvel\! diff --git a/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_pt_BR.properties index b46393f10ae0df40a8795ce72ac188b1e8d60c2c..28fbb0ff7d19f182ae56a11437c0eec26b71a81e 100644 --- a/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Fri May 11 23:52:28 CEST 2018 +#Tue Jun 19 22:06:07 CEST 2018 add.member=Adicionar already.all.selected=Voc\u00EA j\u00E1 escolheu todos usu\u00E1rios coaches=Treinadores do Curso diff --git a/src/main/java/org/olat/course/run/CourseRuntimeController.java b/src/main/java/org/olat/course/run/CourseRuntimeController.java index 00fdc7ebb780ea5da12260e28f09e9fa7dbb33cd..e669869c4109ca95d82b7ac5d769efeab1396719 100644 --- a/src/main/java/org/olat/course/run/CourseRuntimeController.java +++ b/src/main/java/org/olat/course/run/CourseRuntimeController.java @@ -425,12 +425,9 @@ public class CourseRuntimeController extends RepositoryEntryRuntimeController im toolbarPanel.setToolbarEnabled(true); } // make bread crumb disappear if not enabled - if (!course.getCourseConfig().isBreadCrumbEnabled()) { - toolbarPanel.setInvisibleCrumb(100); - if (!toolbarPanel.isToolbarEnabled()) { - // disable if toolbar also not visible - toolbarPanel.setEnabled(false); - } + if (!course.getCourseConfig().isBreadCrumbEnabled() && !toolbarPanel.isToolbarEnabled()) { + // disable if toolbar also not visible + toolbarPanel.setBreadcrumbEnabled(false); } if(!isAssessmentLock()) { diff --git a/src/main/java/org/olat/group/manager/BusinessGroupRelationDAO.java b/src/main/java/org/olat/group/manager/BusinessGroupRelationDAO.java index 0693b16d4a5a0707b9933a448e6be64eb144d0d0..947bf9af813860e59f2d7bb20794f4388d4643b0 100644 --- a/src/main/java/org/olat/group/manager/BusinessGroupRelationDAO.java +++ b/src/main/java/org/olat/group/manager/BusinessGroupRelationDAO.java @@ -295,6 +295,7 @@ public class BusinessGroupRelationDAO { .getResultList(); for(GroupMembershipImpl membership:memberships) { membership.setLastModified(new Date()); + dbInstance.getCurrentEntityManager().merge(membership); } } diff --git a/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties index f31c7bb303ba07ead800da88e4f2d19eb2a8a140..15fb49095febc73813e7361c90d58da7739e19c0 100644 --- a/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Fri May 11 23:46:23 CEST 2018 +#Tue Jun 19 22:51:38 CEST 2018 businessgroup.contact.bodytext=<p></p>---<p>Ir imediatamente para o grupo "{0}"\: {1}</p> businessgroup.contact.subject=Mensagem para grupo {0} contact.all.coaches=Todos os treinadores (coaches) de grupo diff --git a/src/main/java/org/olat/ims/qti21/ui/assessment/CorrectionIdentityInteractionsController.java b/src/main/java/org/olat/ims/qti21/ui/assessment/CorrectionIdentityInteractionsController.java index 8759afcec5d59379f374042fae2e0060d15706f9..d18d46ce6a272fe3d60326c6a270eb2c0e551dc5 100644 --- a/src/main/java/org/olat/ims/qti21/ui/assessment/CorrectionIdentityInteractionsController.java +++ b/src/main/java/org/olat/ims/qti21/ui/assessment/CorrectionIdentityInteractionsController.java @@ -48,6 +48,7 @@ import org.olat.core.gui.control.generic.closablewrapper.CloseableCalloutWindowC import org.olat.core.gui.control.winmgr.JSCommand; import org.olat.core.util.CodeHelper; import org.olat.core.util.StringHelper; +import org.olat.core.util.Util; import org.olat.course.assessment.AssessmentHelper; import org.olat.fileresource.FileResourceManager; import org.olat.fileresource.types.ImsQTI21Resource; @@ -57,6 +58,7 @@ import org.olat.ims.qti21.AssessmentTestSession; import org.olat.ims.qti21.QTI21Constants; import org.olat.ims.qti21.QTI21Service; import org.olat.ims.qti21.model.xml.QtiNodesExtractor; +import org.olat.ims.qti21.ui.AssessmentTestDisplayController; import org.olat.ims.qti21.ui.assessment.model.AssessmentItemCorrection; import org.olat.ims.qti21.ui.components.FeedbackResultFormItem; import org.olat.ims.qti21.ui.components.InteractionResultFormItem; @@ -135,6 +137,7 @@ public class CorrectionIdentityInteractionsController extends FormBasicControlle AssessmentItemCorrection correction, Map<Long, File> submissionDirectoryMaps, String mapperUri, Form rootForm) { super(ureq, wControl, LAYOUT_CUSTOM, "correction_identity_interactions", rootForm); + setTranslator(Util.createPackageTranslator(AssessmentTestDisplayController.class, getLocale(), getTranslator())); this.mapperUri = mapperUri; this.correction = correction; diff --git a/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_pt_BR.properties index ab5b398f44dd690682950ed6593b837b7284a2a8..898d4486b47856ea2543ca8c7c83c11df1a639ae 100644 --- a/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Fri May 11 23:41:32 CEST 2018 +#Tue Jun 19 21:44:48 CEST 2018 assessed.identity=Usu\u00E1rio avaliado back.overview=Voltar ao menu principal comment=Coment\u00E1rio @@ -44,6 +44,7 @@ table.header.username=Usu\u00E1rio to.review=Marcar para revis\u00E3o tool.review.all=Marcar todos para revis\u00E3o tool.unreview.all=Remover marca\u00E7\u00F5es +view.correct.solution=Ver solu\u00E7\u00E3o correta view.solution=Mostrar solu\u00E7\u00E3o waring.atleast.one=Voc\u00EA precisa de pelo menos uma pergunta. warning.assessment.item.locked=A resposta est\u00E1 atualmente bloqueada por outro usu\u00E1rio\: {0}. diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java index 57cbb9aaeed312b51e71153e4b5e571afcbc38a8..61798baf7f3fdf638878eecebb08ac44d9aa72e4 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java +++ b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java @@ -884,15 +884,23 @@ public class AssessmentTestComposerController extends MainLayoutBasicController metadata.setOpenOLATMetadataMasterIdentifier(identifier); metadata.setOpenOLATMetadataIdentifier(UUID.randomUUID().toString()); doSaveManifest(); - return doReloadItem(ureq); + + // reselect the node (--force) + String itemId = itemRef.getIdentifier().toString(); + TreeNode newItemNode = menuTree.getTreeModel().getNodeById(itemId); + menuTree.setSelectedNode(newItemNode); + menuTree.open(newItemNode); + return doReloadItem(ureq); } private TreeNode doReloadItem(UserRequest ureq) { TreeNode selectedNode = menuTree.getSelectedNode(); updateTreeModel(false); - menuTree.setSelectedNodeId(selectedNode.getIdent()); - selectedNode = menuTree.getSelectedNode(); - partEditorFactory(ureq, selectedNode); + if(selectedNode != null) { + menuTree.setSelectedNodeId(selectedNode.getIdent()); + selectedNode = menuTree.getSelectedNode(); + partEditorFactory(ureq, selectedNode); + } return selectedNode; } diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBNumericalEntrySettingsController.java b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBNumericalEntrySettingsController.java index ed5f7444efd07d4876c4fe69c9c528287d03cfe6..c6c2ab8a6f9449774dadad9cc63badc33455bf45 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBNumericalEntrySettingsController.java +++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBNumericalEntrySettingsController.java @@ -252,11 +252,11 @@ public class FIBNumericalEntrySettingsController extends FormBasicController { BigDecimal solution = new BigDecimal(solutionEl.getValue()); BigDecimal upperBound = new BigDecimal(upperToleranceEl.getValue()); BigDecimal lowerBound = new BigDecimal(lowerToleranceEl.getValue()); - if(upperBound.subtract(solution).compareTo(new BigDecimal("0.0")) < 0) { + if(upperBound.subtract(solution).compareTo(new BigDecimal("0.0")) <= 0) { upperToleranceEl.setErrorKey("error.upper.tolerance", null); allOk &= false; } - if(solution.subtract(lowerBound).compareTo(new BigDecimal("0.0")) < 0) { + if(solution.subtract(lowerBound).compareTo(new BigDecimal("0.0")) <= 0) { lowerToleranceEl.setErrorKey("error.lower.tolerance", null); allOk &= false; } diff --git a/src/main/java/org/olat/modules/edubase/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/edubase/ui/_i18n/LocalStrings_pt_BR.properties index cb20035e50fbd8260334869256b5beba50bd6a70..b842df73b188a4f0a50b8efd2296fe3c46be2ce3 100644 --- a/src/main/java/org/olat/modules/edubase/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/edubase/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Nov 23 17:11:54 CET 2017 +#Tue Jun 19 21:45:29 CEST 2018 admin.edubase.coverver.url=Servi\u00E7o de "coverver" de URL admin.edubase.description=Edubase \u00E9 a solu\u00E7\u00E3o integral para publica\u00E7\u00F5es digitais e impressas. O m\u00F3dulo OpenOLAT Edubase permite integrar o leitor Edubase em cursos. Mais informa\u00E7\u00F5es est\u00E3o dispon\u00EDveis no <a href\="http\://www.edubase.ch" target\=_blank>Website</a> da Edubase. admin.edubase.enabled=Elemento de curso "Edubase" @@ -7,6 +7,8 @@ admin.edubase.lti.launch.url=Lan\u00E7ar URL LTI admin.edubase.oauth.key=Chave admin.edubase.oauth.secret=Segredo admin.edubase.reader.url=Leitor URL Edubase +admin.edubase.reader.url.unique=URL Edubase Reader exclusivo +admin.edubase.reader.url.unique.help=O URL do Leitor do Edubase \u00E9 alterado por um token espec\u00EDfico do usu\u00E1rio para evitar problemas com o n\u00FAmero de dispositivos. admin.edubase.title=Edubase admin.expert.settings=Configura\u00E7\u00F5es avan\u00E7adas admin.menu.title=Edubase/Edubook diff --git a/src/main/java/org/olat/modules/gotomeeting/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/gotomeeting/ui/_i18n/LocalStrings_pt_BR.properties index 507c3ebe5a6ead8e9d1e290795b8363110997e82..58dc0a24dec1353d9dbf1abcf6a74786bd59613f 100644 --- a/src/main/java/org/olat/modules/gotomeeting/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/gotomeeting/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Fri May 11 23:43:17 CEST 2018 +#Tue Jun 19 21:45:31 CEST 2018 add.my.account=Eu tenho uma conta add.organizer=Adicionar um novo organizador add.training=Adicionar novo treinamento diff --git a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties index 802a952a5c9a6df5bd47838842bc596fa54c62bd..185782fcf6849677e54f9302c90f4e2ad41057f0 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties @@ -411,4 +411,5 @@ warning.binder.synched=Die Portfolioaufgabe wurde mit ihrer Vorlage synchronisie warning.evaluation.not.visible.text=Zur Zeit ist die Einsch\u00E4tzung nicht sichtbar. warning.evaluation.not.visible.title=Einsch\u00E4tzung nicht sichtbar warning.portfolio.not.found=Die Portfolio Mappe konnte nicht gefunden werden. Sie wurde wahrscheinlich gel\u00F6scht. +warning.page.not.found=Der Eintrag konnte nicht gefunden werden. Sie wurde wahrscheinlich gel\u00F6scht. warning.template.in.use=Die Vorlage konnte nicht gel\u00F6scht werden, weil sie von einigen Benutzern in Verwendung ist. diff --git a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties index 410a41eaf058c61a862363733e74a3897a1c9a0a..a754beef7c616c66dd8edd47f11e85470ef6eb20 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties @@ -410,5 +410,6 @@ volume=Volume warning.binder.synched=The binder is synchronized with its template. warning.evaluation.not.visible.text=The evaluation is for the moment not visible. warning.evaluation.not.visible.title=Evaluation not visible +warning.page.not.found=The entry cannot be found, probably deleted in the mean time warning.portfolio.not.found=The portfolio cannot be found, probably deleted in the mean time warning.template.in.use=The template cannot deleted because some users use it. diff --git a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_pt_BR.properties index 6da7486c0db090f745e48828f14b7d68da64084c..282b25de1a544b6bea79d373a7817b3203fcf401 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Fri May 11 23:45:47 CEST 2018 +#Tue Jun 19 22:02:57 CEST 2018 access=Acesso access.binder=As pessoas abaixo t\u00EAm acesso \u00E0 carteira do portf\u00F3lio access.rights=Adicionar direitos de acesso @@ -58,6 +58,7 @@ assignment.type=Tipo assignment.type.document=Documento assignment.type.essay=Reda\u00E7\u00E3o assignment.type.form=Pesquisa +attachments=Documentos attachments.error.file.exists=Esse arquivo j\u00E1 existe e portanto n\u00E3o pode ser enviado novamente attachments.upload.successful=Arquivo {0} enviado com sucesso. Outros arquivos ainda podem ser anexados se necess\u00E1rio. author=Autor @@ -95,6 +96,7 @@ compare.evaluations=Avalia\u00E7\u00E3o confirm.close.page=Deseja concluir esta entrada? A entrada \u00E9 exibida como conclu\u00EDda para o aprendiz. confirm.close.page.other.coaches=As seguintes pessoas tamb\u00E9m t\u00EAm acesso a esta entrada\: confirmation=Confirma\u00E7\u00E3o +content.title=Conte\u00FAdo create.binder=Criar pasta (liga\u00E7\u00E3o) create.empty.binder=Nova pasta vazia create.empty.binder.from.course=Nova pasta da tarefa de portf\u00F3lio de cursos @@ -222,6 +224,7 @@ meta.page.assignment=Esta \u00E9 uma tarefa meta.page.assignment.type=Tipo meta.section.assignments=<strong>Atribui\u00E7\u00F5es</strong> nesta sec\u00E7\u00E3o meta.section.categories=<strong>Categorias</strong> nesta se\u00E7\u00E3o +metadata.title=Metadados mf.creator=Autor mf.edition=Edi\u00E7\u00E3o mf.editor=Editor diff --git a/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java b/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java index 469e29e2eeba2f80cefffbe043124c606afafba6..290d5a96fb381ca1455fb40e450c2592bd9ae21c 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java @@ -340,6 +340,11 @@ public class SharedPagesController extends FormBasicController implements Activa removeAsListenerAndDispose(pageCtrl); Page reloadedPage = portfolioService.getPageByKey(row.getPageKey()); + if(reloadedPage == null) { + loadModel(true, true); + showWarning("warning.page.not.found"); + return null; + } Binder binder = reloadedPage.getSection().getBinder(); OLATResourceable pageOres = OresHelper.createOLATResourceableInstance("Entry", reloadedPage.getKey()); diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties index dfe4a1d60a4be76f1050a83a8fe5ed9bbd1d0db2..fee7b5c0eb449da07eb2dd4439cd3d005a4fee6e 100644 --- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Fri May 11 23:46:16 CEST 2018 +#Tue Jun 19 22:03:25 CEST 2018 add=+ add.to.list=Adicionar \u00E0 lista admin.configuration.title=Banco de perguntas @@ -180,6 +180,8 @@ menu.pools.main=Cat\u00E1logo menu.pools.main.alt=Cat\u00E1logo menu.queries=Perguntas menu.queries.all=Todas perguntas +menu.queries.whithout.author=Sem autor +menu.queries.whithout.taxonomy.level=Sem assunto menu.queries.without.author=Sem autor menu.queries.without.taxonomy.level=Sem departamento menu.ratings=Classifica\u00E7\u00F5es diff --git a/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/OlatWikiDataHandler.java b/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/OlatWikiDataHandler.java index 0d5f59b80ba698504460de4b218d0045cbdbe429..0e17435af6486558da56883f5f1a4c99cf4414a7 100644 --- a/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/OlatWikiDataHandler.java +++ b/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/OlatWikiDataHandler.java @@ -68,6 +68,7 @@ public class OlatWikiDataHandler implements DataHandler { * @see org.jamwiki.DataHandler#lookupTopic(java.lang.String, * java.lang.String, boolean, java.lang.Object) */ + @Override public Topic lookupTopic(String virtualWiki, String topicName, boolean deleteOK, Object transactionObject) throws Exception { String decodedName = null; @@ -114,6 +115,7 @@ public class OlatWikiDataHandler implements DataHandler { * @see org.jamwiki.DataHandler#lookupWikiFile(java.lang.String, * java.lang.String) */ + @Override public WikiFile lookupWikiFile(String virtualWiki, String topicName) throws Exception { WikiFile wikifile = new WikiFile(); if (topicName.startsWith(IMAGE_NAMESPACE)) { @@ -131,17 +133,23 @@ public class OlatWikiDataHandler implements DataHandler { /** * @see org.jamwiki.DataHandler#exists(java.lang.String, java.lang.String) */ + @Override public boolean exists(String virtualWiki, String topic) { - if (!StringUtils.hasText(topic)) { return false; } - if (PseudoTopicHandler.isPseudoTopic(topic)) { return true; } - if (InterWikiHandler.isInterWiki(topic)) { return true; } - -// try { -// Utilities.validateTopicName(topic); -// } catch (WikiException e) { -// throw new OLATRuntimeException(this.getClass(), "invalid topic name!", e); -// } - + if (!StringUtils.hasText(topic)) { + return false; + } + if (PseudoTopicHandler.isPseudoTopic(topic)) { + return true; + } + + try { + if (InterWikiHandler.isInterWiki(topic)) { + return true; + } + } catch (Exception e) { + log.warn("Cannot initialize InterWikiHandler", e); + } + Wiki wiki = WikiManager.getInstance().getOrLoadWiki(ores); if (topic.startsWith(IMAGE_NAMESPACE) || topic.startsWith(MEDIA_NAMESPACE)) { return wiki.pageExists(topic); diff --git a/src/main/java/org/olat/user/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/user/_i18n/LocalStrings_pt_BR.properties index f609602aaf06d123ce1e3669976ebf30e6b3997d..90895c2c54bed28624f4f002b4aa365fb8475eb4 100644 --- a/src/main/java/org/olat/user/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/user/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Fri May 11 23:55:12 CEST 2018 +#Tue Jun 19 22:20:18 CEST 2018 Failed=Falha na carga do arquivo. NoImage=Este formato de arquivo n\u00E3o pode ser carregado como imagem. ULLimitExceeded=A imagem n\u00E3o pode exceder {0} kByte. @@ -129,6 +129,7 @@ tab.pwd=Senha tab.pwdav=WebDAV tab.roles=Fun\u00E7\u00F5es tab.settings=Configura\u00E7\u00F5es do sistema +tab.user.data=Dados do usu\u00E1rio table.header.action=A\u00E7\u00E3o table.prop.category=Categoria table.prop.creatdat=Criado @@ -149,6 +150,7 @@ ul.header=Sua imagem (.jpg .jpeg .png .gif) ul.select=Selecionar arquivo ul.select.fhelp=OpenOLAT vai cortar esta imagem com a largura de 100 pixels. ul.upload=Salvar +user.data.download.explain=Baixar dados do usu\u00E1rio user.deleted=Este usu\u00E1rio foi removido do OLAT user.email.admin.description=Configura\u00E7\u00E3o do endere\u00E7o de e-mail do usu\u00E1rio. Se o endere\u00E7o de e-mail ou a singularidade forem opcionais, v\u00E1rios recursos do OpenOLAT est\u00E3o desativados, p. Ex. Auto-registro, Vitero, WebDAV. user.email.admin.title=Endere\u00E7o de Email do usu\u00E1rio diff --git a/src/main/java/org/olat/user/manager/UserDataExportServiceImpl.java b/src/main/java/org/olat/user/manager/UserDataExportServiceImpl.java index b9994ec21cca82cd6b97884a3a5a82d6815c1209..a404dd301cfe7ce3bea824a60f10f6f53860a668 100644 --- a/src/main/java/org/olat/user/manager/UserDataExportServiceImpl.java +++ b/src/main/java/org/olat/user/manager/UserDataExportServiceImpl.java @@ -223,7 +223,7 @@ public class UserDataExportServiceImpl implements UserDataExportService { vContext.put("url", url); } }; - MailBundle bundle = mailService.makeMailBundle(new MailContextImpl(), dataExport.getRequestBy(), template, dataExport.getRequestBy(), null, result); + MailBundle bundle = mailService.makeMailBundle(new MailContextImpl(), dataExport.getRequestBy(), template, null, null, result); if(bundle != null) { mailService.sendMessage(bundle); } diff --git a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties index 82f509adee9cba5b2d2d26da864c51a6a9d8661c..4a1e40d8b25eb65170fedbfff54d20b69f81b2dc 100644 --- a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties @@ -386,6 +386,7 @@ import.example.studySubject=Jura import.example.telMobile=0781234567 import.example.telOffice=0449871234 import.example.telPrivate=0443215467 +import.example.typeOfUser=Betreuer import.example.xingname=xingbenutzer oder E-Mail-Adresse import.example.zipCode=8000 nocountry.doselect=- diff --git a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_en.properties index 0d2ad752cdea35509a4af2a3059c70bb6045951b..5ffd888aa4480e4c3701ef5c13924eeacfe77ac9 100644 --- a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_en.properties @@ -386,6 +386,7 @@ import.example.studySubject=Law import.example.telMobile=0781234567 import.example.telOffice=0449871234 import.example.telPrivate=0443215467 +import.example.typeOfUser=Coach import.example.xingname=xing user or e-mail address import.example.zipCode=10000 nocountry.doselect=- diff --git a/src/main/java/org/olat/user/ui/data/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/user/ui/data/_i18n/LocalStrings_pt_BR.properties new file mode 100644 index 0000000000000000000000000000000000000000..84763317f3aa10c168e07fe0e0113b2f255935af --- /dev/null +++ b/src/main/java/org/olat/user/ui/data/_i18n/LocalStrings_pt_BR.properties @@ -0,0 +1,34 @@ +#Tue Jun 19 22:41:57 CEST 2018 +binders=Pastas do ePortfolio +bookings=Reservas +calendars=Calend\u00E1rios +certificates=Certificados +chat=Mensagens de Chat +comments.ratings=Coment\u00E1rios e avalia\u00E7\u00F5es +dialog=Arquivo de di\u00E1logo +disclaimer=Disclaimer +display.portrait=Imagem publicada +download.data=Baixar os dados +efficiency.statements=Comprovantes de conclus\u00E3o +export.options=Exportar elementos +export.start=Iniciar exporta\u00E7\u00E3o +export.url=Link para os dados +export.user.data.explain=Selecione os elementos a serem exportados para esse usu\u00E1rio. A exporta\u00E7\u00E3o pode demorar v\u00E1rias horas. Voc\u00EA receber\u00E1 um email assim que a exporta\u00E7\u00E3o for conclu\u00EDda. +export.user.data.none=Declara\u00E7\u00E3o de privacidade +export.user.data.notReady=O usu\u00E1rio pode baixar a exporta\u00E7\u00E3o usando o seguinte link. +export.user.data.processing=A exporta\u00E7\u00E3o est\u00E1 sendo processada atualmente +export.user.data.ready=O usu\u00E1rio pode baixar a exporta\u00E7\u00E3o com o seguinte link. Voc\u00EA tamb\u00E9m pode pedir uma nova exporta\u00E7\u00E3o. +export.user.data.ready.subject=A exporta\u00E7\u00E3o para "{0}" est\u00E1 pronta +export.user.data.ready.text=<p>A exporta\u00E7\u00E3o para "{0}" est\u00E1 pronta. O usu\u00E1rio pode usar o seguinte link para fazer o download <a href\="{1}">{1}</a>.</p> +feeds=Blogs e Podcasts +forums=F\u00F3rums +group.memberships=Associa\u00E7\u00E3o a grupos +gta=Tarefas +logs=Logs +mail=Emails +notes=Notas +notifications=Assinaturas +personal.folders=Todos os documentos em pastas privadas e p\u00FAblicas +pf=Pastas de participantes +profile=todos os dados do perfil, incluindo os invis\u00EDveis +repository.memberships=Filia\u00E7\u00E3o aos cursos diff --git a/src/main/resources/database/mysql/alter_12_4_x_to_12_5_0.sql b/src/main/resources/database/mysql/alter_12_4_x_to_12_5_0.sql index 69cfd3015a2be013deda5908c39e6828b32db4c5..9d7f08153a6647724cbe433faa7d774f0967aa4d 100644 --- a/src/main/resources/database/mysql/alter_12_4_x_to_12_5_0.sql +++ b/src/main/resources/database/mysql/alter_12_4_x_to_12_5_0.sql @@ -5,7 +5,7 @@ alter table o_bs_identity add column deletedby varchar(128); alter table o_loggingtable drop username, drop userproperty1, drop userproperty2, drop userproperty3, drop userproperty4, drop userproperty5, drop userproperty6, drop userproperty7, drop userproperty8, drop userproperty9, drop userproperty10, drop userproperty11, drop userproperty12; -update o_bs_identity set name=id where status=199; +update o_bs_identity set name=concat('del_',id) where status=199; update o_user inner join o_bs_identity on (id=fk_identity) set u_firstname=null where status=199; update o_user inner join o_bs_identity on (id=fk_identity) set u_lastname=null where status=199; diff --git a/src/main/resources/database/oracle/alter_12_4_x_to_12_5_0.sql b/src/main/resources/database/oracle/alter_12_4_x_to_12_5_0.sql index b11cf61f8deded0fd171ed067322a7b9eb05c55e..4ebe306ec356cc971bdad72e39940d4f5ff041cf 100644 --- a/src/main/resources/database/oracle/alter_12_4_x_to_12_5_0.sql +++ b/src/main/resources/database/oracle/alter_12_4_x_to_12_5_0.sql @@ -5,7 +5,7 @@ alter table o_bs_identity add deletedby varchar(128); alter table o_loggingtable drop (username, userproperty1, userproperty2, userproperty3, userproperty4, userproperty5, userproperty6, userproperty7, userproperty8, userproperty9, userproperty10, userproperty11, userproperty12); -update o_bs_identity set name=id where status=199; +update o_bs_identity set name=concat('del_',id) where status=199; update o_user set u_firstname=null where exists (select id from o_bs_identity where id=fk_identity and status=199); update o_user set u_firstname=null where exists (select id from o_bs_identity where id=fk_identity and status=199); diff --git a/src/main/resources/database/postgresql/alter_12_4_x_to_12_5_0.sql b/src/main/resources/database/postgresql/alter_12_4_x_to_12_5_0.sql index cdb68f1ccd5a01996da0ad714c3bee455dfde3ce..16e7e843c25fa3908a918c7ef8f9e9f0f1d7fd74 100644 --- a/src/main/resources/database/postgresql/alter_12_4_x_to_12_5_0.sql +++ b/src/main/resources/database/postgresql/alter_12_4_x_to_12_5_0.sql @@ -5,7 +5,7 @@ alter table o_bs_identity add column deletedby varchar(128); alter table o_loggingtable drop column username, drop column userproperty1, drop column userproperty2, drop column userproperty3, drop column userproperty4, drop column userproperty5, drop column userproperty6, drop column userproperty7, drop column userproperty8, drop column userproperty9, drop column userproperty10, drop column userproperty11, drop column userproperty12; -update o_bs_identity set name=id where status=199; +update o_bs_identity set name=concat('del_',id) where status=199; update o_user set u_firstname=null from o_bs_identity where id=fk_identity and status=199; update o_user set u_lastname=null from o_bs_identity where id=fk_identity and status=199;