details: https://code.openbravo.com/erp/devel/pi/rev/9b3efdffbb5f changeset: 28088:9b3efdffbb5f user: Carlos Aristu <carlos.aristu <at> openbravo.com> date: Wed Dec 02 10:33:15 2015 +0100 summary: related to issue 31577: code review improvements
diffstat: modules/org.openbravo.client.application/src/org/openbravo/client/application/ADAlertDatasourceService.java | 35 +++++---- 1 files changed, 20 insertions(+), 15 deletions(-) diffs (54 lines): diff -r 1e56db81f203 -r 9b3efdffbb5f modules/org.openbravo.client.application/src/org/openbravo/client/application/ADAlertDatasourceService.java --- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/ADAlertDatasourceService.java Wed Dec 02 09:03:46 2015 +0000 +++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/ADAlertDatasourceService.java Wed Dec 02 10:33:15 2015 +0100 @@ -94,21 +94,26 @@ private List<String> getAlertIds() { // Get alert rules visible for context's the role/user. - StringBuffer whereClause = new StringBuffer(); - whereClause.append(" as ar "); - whereClause.append("\nwhere exists (select 1 from ar." - + AlertRule.PROPERTY_ADALERTRECIPIENTLIST + " as arr"); - whereClause.append("\n where arr." + AlertRecipient.PROPERTY_USERCONTACT + ".id = :user"); - whereClause.append("\n or ("); - whereClause.append("arr." + AlertRecipient.PROPERTY_USERCONTACT + " is null"); - whereClause.append("\n and arr." + AlertRecipient.PROPERTY_ROLE + ".id = :role))"); + try { + OBContext.setAdminMode(false); + StringBuffer whereClause = new StringBuffer(); + whereClause.append(" as ar "); + whereClause.append("\nwhere exists (select 1 from ar." + + AlertRule.PROPERTY_ADALERTRECIPIENTLIST + " as arr"); + whereClause.append("\n where arr." + AlertRecipient.PROPERTY_USERCONTACT + ".id = :user"); + whereClause.append("\n or ("); + whereClause.append("arr." + AlertRecipient.PROPERTY_USERCONTACT + " is null"); + whereClause.append("\n and arr." + AlertRecipient.PROPERTY_ROLE + ".id = :role))"); - OBQuery<AlertRule> alertRulesQuery = OBDal.getInstance().createQuery(AlertRule.class, - whereClause.toString()); - alertRulesQuery.setNamedParameter("user", DalUtil.getId(OBContext.getOBContext().getUser())); - alertRulesQuery.setNamedParameter("role", DalUtil.getId(OBContext.getOBContext().getRole())); + OBQuery<AlertRule> alertRulesQuery = OBDal.getInstance().createQuery(AlertRule.class, + whereClause.toString()); + alertRulesQuery.setNamedParameter("user", DalUtil.getId(OBContext.getOBContext().getUser())); + alertRulesQuery.setNamedParameter("role", DalUtil.getId(OBContext.getOBContext().getRole())); - return getAlertIdsFromAlertRules(alertRulesQuery.list()); + return getAlertIdsFromAlertRules(alertRulesQuery.list()); + } finally { + OBContext.restorePreviousMode(); + } } private List<String> getAlertIdsFromAlertRules(List<AlertRule> alertRules) { @@ -157,8 +162,8 @@ private String buildWhereClause(String alertStatus, List<String> alertList) { int chunkSize = 1000; String filterClause; - String whereClause = "coalesce(to_char(status), 'NEW') = upper('" - + StringEscapeUtils.escapeSql(alertStatus) + "')"; + String whereClause = "coalesce(to_char(status), 'NEW') = '" + + StringEscapeUtils.escapeSql(alertStatus) + "'"; ArrayList<String> alertListToRemove; if (alertList.size() == 0) { ------------------------------------------------------------------------------ Go from Idea to Many App Stores Faster with Intel(R) XDK Give your users amazing mobile app experiences with Intel(R) XDK. Use one codebase in this all-in-one HTML5 development environment. Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits