Ticket #866: OrderTypeListController_delete.patch
| File OrderTypeListController_delete.patch, 3.2 kB (added by dkayiwa, 7 months ago) |
|---|
patch for displaying a user friendly messages for exceptions thro.wn when attempting to delete drug order types |
-
openmrs/trunk/src/web/org/openmrs/web/controller/order/OrderTypeListController.java
old new 31 31 import org.openmrs.web.WebConstants; 32 32 import org.springframework.beans.propertyeditors.CustomNumberEditor; 33 33 import org.springframework.context.support.MessageSourceAccessor; 34 import org.springframework.dao.DataIntegrityViolationException; 34 35 import org.springframework.validation.BindException; 35 36 import org.springframework.web.bind.ServletRequestDataBinder; 36 37 import org.springframework.web.servlet.ModelAndView; … … 69 70 Locale locale = request.getLocale(); 70 71 String view = getFormView(); 71 72 if (Context.isAuthenticated()) { 72 String[] orderTypeList = request.getParameterValues("orderTypeId");73 OrderService os = Context.getOrderService();74 75 73 String success = ""; 76 74 String error = ""; 77 75 78 76 MessageSourceAccessor msa = getMessageSourceAccessor(); 79 String deleted = msa.getMessage("general.deleted"); 80 String notDeleted = msa.getMessage("general.cannot.delete"); 81 for (String p : orderTypeList) { 82 try { 83 os.deleteOrderType(os.getOrderType(Integer.valueOf(p))); 84 if (!success.equals("")) success += "<br/>"; 85 success += p + " " + deleted; 77 78 String[] orderTypeList = request.getParameterValues("orderTypeId"); 79 if(orderTypeList != null){ 80 OrderService os = Context.getOrderService(); 81 82 String deleted = msa.getMessage("general.deleted"); 83 String notDeleted = msa.getMessage("OrderType.cannot.delete"); 84 for (String p : orderTypeList) { 85 try { 86 os.deleteOrderType(os.getOrderType(Integer.valueOf(p))); 87 if (!success.equals("")) success += "<br/>"; 88 success += p + " " + deleted; 89 } 90 catch(DataIntegrityViolationException e){ 91 error = handleOrderTypeIntegrityException(e,error,notDeleted); 92 } 93 catch (APIException e) { 94 error = handleOrderTypeIntegrityException(e,error,notDeleted); 95 } 86 96 } 87 catch (APIException e) {88 log.warn("Error deleting order type", e);89 if (!error.equals("")) error += "<br/>";90 error += p + " " + notDeleted;91 }92 97 } 98 else 99 error = msa.getMessage("OrderType.select"); 93 100 94 101 view = getSuccessView(); 95 102 if (!success.equals("")) … … 100 107 101 108 return new ModelAndView(new RedirectView(view)); 102 109 } 110 111 /** 112 * 113 * Logs an order type delete data integrity violation exception and 114 * returns a user friedly message of the problem that occured. 115 * 116 * @param e the exception. 117 * @param error the error message. 118 * @param notDeleted the not deleted error message. 119 * @return the formatted error message. 120 */ 121 private String handleOrderTypeIntegrityException(Exception e,String error,String notDeleted){ 122 log.warn("Error deleting order type", e); 123 if (!error.equals("")) error += "<br/>"; 124 error += notDeleted; 125 return error; 126 } 103 127 104 128 /** 105 129 *
Download in other formats:
Powered by Trac 0.10.5
By Edgewall Software.
Visit the Trac open source project at
http://trac.edgewall.com/