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

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

parents 473374cb a5e229c5
No related branches found
No related tags found
No related merge requests found
...@@ -34,7 +34,9 @@ public enum CheckboxLabelEnum { ...@@ -34,7 +34,9 @@ public enum CheckboxLabelEnum {
inWork("label.inWork"), inWork("label.inWork"),
passed("label.passed"), passed("label.passed"),
present("label.present"), present("label.present"),
presented("label.presented"); presented("label.presented"),
read("label.read"),
viewed("label.viewed");
private final String i18nKey; private final String i18nKey;
......
...@@ -67,6 +67,8 @@ label.inWork=Bearbeitet ...@@ -67,6 +67,8 @@ label.inWork=Bearbeitet
label.passed=Bestanden label.passed=Bestanden
label.present=Anwesend label.present=Anwesend
label.presented=Vorgef\u00FChrt label.presented=Vorgef\u00FChrt
label.read=Gelesen
label.viewed=Gesehen
num.of.checklist=Anzahl Checklisten num.of.checklist=Anzahl Checklisten
pane.tab.accessibility=Zugang pane.tab.accessibility=Zugang
pane.tab.checkbox=Checkboxen pane.tab.checkbox=Checkboxen
......
...@@ -67,6 +67,8 @@ label.inWork=Processed ...@@ -67,6 +67,8 @@ label.inWork=Processed
label.passed=Passed label.passed=Passed
label.present=Attendant label.present=Attendant
label.presented=Presented label.presented=Presented
label.read=Read
label.viewed=Viewed
num.of.checklist=Quantity num.of.checklist=Quantity
pane.tab.accessibility=Access pane.tab.accessibility=Access
pane.tab.checkbox=Checkboxes pane.tab.checkbox=Checkboxes
......
...@@ -67,6 +67,8 @@ label.inWork=Trait\u00E9 ...@@ -67,6 +67,8 @@ label.inWork=Trait\u00E9
label.passed=R\u00E9ussi label.passed=R\u00E9ussi
label.present=Pr\u00E9sent label.present=Pr\u00E9sent
label.presented=Pr\u00E9sent\u00E9 label.presented=Pr\u00E9sent\u00E9
label.read=Lu
label.viewed=Vu
num.of.checklist=Nombre num.of.checklist=Nombre
pane.tab.accessibility=Acc\u00E8s pane.tab.accessibility=Acc\u00E8s
pane.tab.checkbox=Cases \u00E0 cocher pane.tab.checkbox=Cases \u00E0 cocher
......
...@@ -589,8 +589,8 @@ public class CurriculumElementDAO { ...@@ -589,8 +589,8 @@ public class CurriculumElementDAO {
sb.and() sb.and()
.append("exists (select membership.key from bgroupmember as membership") .append("exists (select membership.key from bgroupmember as membership")
.append(" where membership.identity.key=:managerKey") .append(" where membership.identity.key=:managerKey")
.append(" and (membership.group.key=baseGroup.key or organis.group.key=baseGroup.key)") .append(" and membership.role").in(CurriculumRoles.curriculummanager, CurriculumRoles.owner, OrganisationRoles.administrator)
.append(" and role in ('").append(CurriculumRoles.curriculummanager).append("','").append(OrganisationRoles.administrator).append("')") .append(" and (membership.group.key=baseGroup.key or membership.group.key=organis.group.key)")
.append(")"); .append(")");
} }
......
...@@ -30,8 +30,10 @@ import java.util.UUID; ...@@ -30,8 +30,10 @@ import java.util.UUID;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.olat.basesecurity.OrganisationService;
import org.olat.core.commons.persistence.DB; import org.olat.core.commons.persistence.DB;
import org.olat.core.id.Identity; import org.olat.core.id.Identity;
import org.olat.core.id.Organisation;
import org.olat.modules.curriculum.Curriculum; import org.olat.modules.curriculum.Curriculum;
import org.olat.modules.curriculum.CurriculumCalendars; import org.olat.modules.curriculum.CurriculumCalendars;
import org.olat.modules.curriculum.CurriculumElement; import org.olat.modules.curriculum.CurriculumElement;
...@@ -45,6 +47,8 @@ import org.olat.modules.curriculum.CurriculumRoles; ...@@ -45,6 +47,8 @@ import org.olat.modules.curriculum.CurriculumRoles;
import org.olat.modules.curriculum.CurriculumService; import org.olat.modules.curriculum.CurriculumService;
import org.olat.modules.curriculum.model.CurriculumElementImpl; import org.olat.modules.curriculum.model.CurriculumElementImpl;
import org.olat.modules.curriculum.model.CurriculumElementInfos; import org.olat.modules.curriculum.model.CurriculumElementInfos;
import org.olat.modules.curriculum.model.CurriculumElementSearchInfos;
import org.olat.modules.curriculum.model.CurriculumElementSearchParams;
import org.olat.modules.curriculum.model.CurriculumImpl; import org.olat.modules.curriculum.model.CurriculumImpl;
import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntry;
import org.olat.test.JunitTestHelper; import org.olat.test.JunitTestHelper;
...@@ -69,6 +73,8 @@ public class CurriculumElementDAOTest extends OlatTestCase { ...@@ -69,6 +73,8 @@ public class CurriculumElementDAOTest extends OlatTestCase {
private CurriculumElementTypeDAO curriculumElementTypeDao; private CurriculumElementTypeDAO curriculumElementTypeDao;
@Autowired @Autowired
private CurriculumService curriculumService; private CurriculumService curriculumService;
@Autowired
private OrganisationService organisationService;
@Test @Test
public void createCurriculumElement() { public void createCurriculumElement() {
...@@ -337,6 +343,68 @@ public class CurriculumElementDAOTest extends OlatTestCase { ...@@ -337,6 +343,68 @@ public class CurriculumElementDAOTest extends OlatTestCase {
Assert.assertEquals(element, elementsByKey.get(0)); Assert.assertEquals(element, elementsByKey.get(0));
} }
@Test
public void searchElementsWithParams_permissions() {
Identity nobody = JunitTestHelper.createAndPersistIdentityAsRndUser("curriculum-nobody");
Organisation defOrganisation = organisationService.getDefaultOrganisation();
Identity curriculumAdmin = JunitTestHelper.createAndPersistIdentityAsRndAdmin("curriculum-admin");
Curriculum curriculum = curriculumDao.createAndPersist("cur-for-el-6", "Curriculum for element", "Curriculum", defOrganisation);
String externalId = UUID.randomUUID().toString();
String identifier = UUID.randomUUID().toString();
CurriculumElement element = curriculumElementDao.createCurriculumElement(identifier, "6.1 Element",
CurriculumElementStatus.active, null, null, null, null, CurriculumCalendars.disabled, CurriculumLectures.disabled, curriculum);
dbInstance.commit();
element.setExternalId(externalId);
element = curriculumElementDao.update(element);
dbInstance.commitAndCloseSession();
//search by external id, administrator
CurriculumElementSearchParams adminSearchParams = new CurriculumElementSearchParams(curriculumAdmin);
adminSearchParams.setElementId(externalId);
List<CurriculumElementSearchInfos> elementsByExternalId = curriculumElementDao.searchElements(adminSearchParams);
Assert.assertNotNull(elementsByExternalId);
Assert.assertEquals(1, elementsByExternalId.size());
Assert.assertEquals(element, elementsByExternalId.get(0).getCurriculumElement());
//search by identifier
CurriculumElementSearchParams nobodySearchParams = new CurriculumElementSearchParams(nobody);
nobodySearchParams.setElementId(externalId);
List<CurriculumElementSearchInfos> noElements = curriculumElementDao.searchElements(nobodySearchParams);
Assert.assertNotNull(noElements);
Assert.assertTrue(noElements.isEmpty());
}
/**
* The method only checks the query syntax, not the results.
*/
@Test
public void searchElementsWithParams_allParameters() {
Organisation defOrganisation = organisationService.getDefaultOrganisation();
Identity curriculumAdmin = JunitTestHelper.createAndPersistIdentityAsRndAdmin("curriculum-admin");
Curriculum curriculum = curriculumDao.createAndPersist("cur-for-el-6", "Curriculum for element", "Curriculum", defOrganisation);
String externalId = UUID.randomUUID().toString();
String identifier = UUID.randomUUID().toString();
CurriculumElement element = curriculumElementDao.createCurriculumElement(identifier, "6.1 Element",
CurriculumElementStatus.active, null, null, null, null, CurriculumCalendars.disabled, CurriculumLectures.disabled, curriculum);
dbInstance.commit();
element.setExternalId(externalId);
element = curriculumElementDao.update(element);
dbInstance.commitAndCloseSession();
//search by external id, administrator
CurriculumElementSearchParams adminSearchParams = new CurriculumElementSearchParams(curriculumAdmin);
adminSearchParams.setElementId(externalId);
adminSearchParams.setElementBeginDate(new Date());
adminSearchParams.setElementEndDate(new Date());
adminSearchParams.setElementText("Hello");
adminSearchParams.setEntryId("734");
adminSearchParams.setEntryText("Course");
adminSearchParams.setSearchString("Search");
List<CurriculumElementSearchInfos> elementsByExternalId = curriculumElementDao.searchElements(adminSearchParams);
Assert.assertNotNull(elementsByExternalId);
}
@Test @Test
public void getDescendants() { public void getDescendants() {
Curriculum curriculum = curriculumDao.createAndPersist("cur-for-el-5", "Curriculum for element", "Curriculum", null); Curriculum curriculum = curriculumDao.createAndPersist("cur-for-el-5", "Curriculum for element", "Curriculum", null);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment