Skip to content

Commit

Permalink
MGR-142
Browse files Browse the repository at this point in the history
fix filtering by group
  • Loading branch information
Matthias Müller authored and Matthias Müller committed Aug 29, 2022
1 parent 0bd27a2 commit b927ea3
Show file tree
Hide file tree
Showing 8 changed files with 12 additions and 15 deletions.
5 changes: 1 addition & 4 deletions application-home/conf/datasources/ds-subjects.xml
Expand Up @@ -10,7 +10,6 @@
</permissions>
<params>
<param name="userId" />
<param name="groupId" />
</params>
<meta-data bindClass="org.appng.api.model.Subject" result-selector="${current.id eq userId}">
<field name="name" type="text">
Expand Down Expand Up @@ -68,9 +67,7 @@
</link>
</linkpanel>
</config>
<bean id="subjects">
<option name="subject" groupId="${groupId}" />
</bean>
<bean id="subjects" />
</datasource>

<datasource id="user">
Expand Down
1 change: 0 additions & 1 deletion application-home/conf/pages/pg-subjects.xml
Expand Up @@ -58,7 +58,6 @@
<datasource id="users">
<params>
<param name="userId">${id}</param>
<param name="groupId">${f_gid}</param>
</params>
</datasource>
</element>
Expand Down
Expand Up @@ -102,8 +102,7 @@ public DataContainer getData(Site site, Application application, Environment env
data = service.getNewSubject(request, fp, defaultTimezone, languages);
} else {
try {
Integer groupId = options.getInteger(SUBJECT, "groupId");
data = service.searchSubjects(request, fp, subjectId, defaultTimezone, languages, groupId);
data = service.searchSubjects(request, fp, subjectId, defaultTimezone, languages);
} catch (BusinessException ex) {
String message = request.getMessage(ex.getMessageKey(), ex.getMessageArgs());
log.error(message, ex);
Expand Down
Expand Up @@ -1124,7 +1124,7 @@ private void checkSite(Request request, Site site, FieldProcessor fp, Site curre
}

public DataContainer searchSubjects(Request request, FieldProcessor fp, Integer subjectId, String defaultTimezone,
List<String> languages, Integer groupId) throws BusinessException {
List<String> languages) throws BusinessException {
DataContainer data = new DataContainer(fp);
if (subjectId != null) {
SubjectImpl subject = subjectRepository.findOne(subjectId);
Expand All @@ -1137,19 +1137,20 @@ public DataContainer searchSubjects(Request request, FieldProcessor fp, Integer
String timeZone = subject.getTimeZone();
addSelectionsForSubject(request, data, subject, timeZone == null ? defaultTimezone : timeZone, languages);
} else {
Page<SubjectImpl> subjects = searchSubjects(request, data, fp, groupId);
Page<SubjectImpl> subjects = searchSubjects(request, data, fp);
data.setPage(subjects);
}
return data;
}

private Page<SubjectImpl> searchSubjects(Request request, DataContainer data, FieldProcessor fp, Integer groupId) {
private Page<SubjectImpl> searchSubjects(Request request, DataContainer data, FieldProcessor fp) {
String filterParamType = "f_type";
String filterParamName = "f_name";
String filterParamRealName = "f_rlnme";
String filterParamGroup = "f_gid";
String filterParamLocked = "f_lckd";
String filterParamEmail = "f_eml";
String filterParamGroupId = "f_gid";
String typeFromRequest = request.getParameter(filterParamType);
String locked = request.getParameter(filterParamLocked);
UserType userType = null != typeFromRequest && UserType.names().contains(typeFromRequest)
Expand Down Expand Up @@ -1186,9 +1187,10 @@ private Page<SubjectImpl> searchSubjects(Request request, DataContainer data, Fi
} else if ("false".equalsIgnoreCase(locked)) {
searchQuery.equals("e.locked", false);
}
String groupId = request.getParameter(filterParamGroupId);
if (null != groupId) {
searchQuery.join("join e.groups g");
searchQuery.equals("g.id", groupId);
searchQuery.equals("g.id", request.convert(groupId, Integer.class));
List<Order> orders = StreamSupport.stream(pageable.getSort().spliterator(), false)
.map(o -> new Order(o.getDirection(), "e." + o.getProperty())).collect(Collectors.toList());
pageable = new PageRequest(pageable.getPageNumber(), pageable.getPageSize(), new Sort(orders));
Expand Down
Expand Up @@ -115,7 +115,7 @@ DataContainer searchSites(Environment environment, FieldProcessor fp, Integer si
String active) throws BusinessException;

DataContainer searchSubjects(Request request, FieldProcessor fp, Integer subjectId, String defaultTimezone,
List<String> languages, Integer groupId) throws BusinessException;
List<String> languages) throws BusinessException;

DataContainer searchPermissions(FieldProcessor fp, Integer permissionId, Integer appId) throws BusinessException;

Expand Down
Expand Up @@ -160,7 +160,9 @@ public void testShowAll() throws Exception {

@Test
public void testShowAllFilterGroup() throws Exception {
CallableDataSource siteDatasource = getDataSource("users").withParam("groupId", "1").getCallableDataSource();
addParameter("f_gid", "1");
initParameters();
CallableDataSource siteDatasource = getDataSource("users").getCallableDataSource();
siteDatasource.perform("test");
validate(siteDatasource.getDatasource());
}
Expand Down
1 change: 0 additions & 1 deletion src/test/resources/xml/SubjectsTest-testShowAll.xml
Expand Up @@ -7,7 +7,6 @@
</permissions>
<params>
<param name="userId" />
<param name="groupId" />
</params>
<meta-data bindClass="org.appng.api.model.Subject" result-selector="${current.id eq userId}">
<field name="name" type="text" binding="name">
Expand Down
Expand Up @@ -7,7 +7,6 @@
</permissions>
<params>
<param name="userId" />
<param name="groupId">1</param>
</params>
<meta-data bindClass="org.appng.api.model.Subject" result-selector="${current.id eq userId}">
<field name="name" type="text" binding="name">
Expand Down

0 comments on commit b927ea3

Please sign in to comment.