Search in sources :

Example 46 with Filter

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);
    }
}
Also used : ClientViewService(com.axelor.apps.portal.service.ClientViewService) Project(com.axelor.apps.project.db.Project) User(com.axelor.auth.db.User) Filter(com.axelor.rpc.filter.Filter)

Example 47 with Filter

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;
}
Also used : Filter(com.axelor.rpc.filter.Filter)

Aggregations

Filter (com.axelor.rpc.filter.Filter)47 JPQLFilter (com.axelor.rpc.filter.JPQLFilter)23 ArrayList (java.util.ArrayList)22 User (com.axelor.auth.db.User)21 ClientViewService (com.axelor.apps.portal.service.ClientViewService)19 StockMove (com.axelor.apps.stock.db.StockMove)7 Invoice (com.axelor.apps.account.db.Invoice)5 Ticket (com.axelor.apps.helpdesk.db.Ticket)5 SaleOrder (com.axelor.apps.sale.db.SaleOrder)5 ProjectTask (com.axelor.apps.project.db.ProjectTask)4 StockMoveRepository (com.axelor.apps.stock.db.repo.StockMoveRepository)3 HashMap (java.util.HashMap)3 AdvancedExport (com.axelor.apps.base.db.AdvancedExport)2 AdvancedExportService (com.axelor.apps.base.service.advancedExport.AdvancedExportService)2 Project (com.axelor.apps.project.db.Project)2 SaleOrderRepository (com.axelor.apps.sale.db.repo.SaleOrderRepository)2 JpaSecurity (com.axelor.db.JpaSecurity)2 Model (com.axelor.db.Model)2 I18n (com.axelor.i18n.I18n)2 Beans (com.axelor.inject.Beans)2