use of com.axelor.rpc.filter.Filter in project axelor-open-suite by axelor.
the class ClientViewController method showClientMyTotalProjects.
/* PROJECT OnClick */
public void showClientMyTotalProjects(ActionRequest request, ActionResponse response) {
try {
ClientViewService clientViewService = Beans.get(ClientViewService.class);
User clientUser = clientViewService.getClientUser();
if (clientUser.getPartner() == null) {
response.setError(I18n.get(ITranslation.CLIENT_PORTAL_NO_PARTNER));
} else {
Filter filter = clientViewService.getTotalProjectsOfUser(clientUser).get(0);
if (filter != null) {
response.setView(ActionView.define(I18n.get("Total projects")).model(Project.class.getName()).add("grid", "project-grid").add("form", "project-form").param("search-filters", "project-filters").domain(filter.getQuery()).map());
}
}
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
use of com.axelor.rpc.filter.Filter in project axelor-open-suite by axelor.
the class AdvancedExportServiceImpl method getCriteria.
/**
* This method make <i>WHERE</i> clause with criteria.
*
* @param metaModel
* @param criteria
* @return
*/
private String getCriteria(MetaModel metaModel, List<Long> recordIds) {
String criteria = null;
if (recordIds != null) {
criteria = recordIds.toString().substring(1, recordIds.toString().length() - 1);
log.trace("criteria : {}", recordIds.toString());
criteria = " WHERE self.id IN (" + criteria + ")";
}
Filter filter = getJpaSecurityFilter(metaModel);
JoinHelper helper = null;
if (filter != null) {
String permissionFilter = filter.getQuery();
try {
helper = new JoinHelper(Class.forName(metaModel.getFullName()));
permissionFilter = helper.parse(permissionFilter).toString();
} catch (ClassNotFoundException e) {
TraceBackService.trace(e, e.getMessage());
}
if (recordIds == null) {
criteria = " WHERE " + permissionFilter;
} else {
criteria += " AND (" + permissionFilter + ")";
}
params = filter.getParams();
}
if (helper != null) {
criteria = helper.toString() + " " + criteria;
}
return criteria;
}
Aggregations