private void createWidgets(FormEntryContext context, Widget fieldWidget, ErrorWidget errorWidget, Object initialValue) { context.registerWidget(fieldWidget); if (errorWidget != null) { context.registerErrorWidget(fieldWidget, errorWidget); } if (initialValue != null && StringUtils.hasText(initialValue.toString())) { fieldWidget.setInitialValue(initialValue); } }
/** * @see org.openmrs.module.htmlformentry.element.HtmlGeneratorElement#generateHtml(org.openmrs.module.htmlformentry.FormEntryContext) */ @Override public String generateHtml(FormEntryContext context) { StringBuilder ret = new StringBuilder(); if (label != null) { ret.append(label); } ret.append(widget.generateHtml(context)); return ret.toString(); }
private boolean validateMandatoryField(FormEntryContext context, HttpServletRequest request, Widget widget, ErrorWidget errorWidget, List<FormSubmissionError> ret) { try { if (widget != null) { Object obj = widget.getValue(context, request); if (obj == null || (obj instanceof String && !StringUtils.hasText((String) obj))) { throw new Exception("htmlformentry.error.required"); } } } catch (Exception ex) { ret.add(new FormSubmissionError(context.getFieldName(errorWidget), Context.getMessageSourceService().getMessage(ex.getMessage()))); return false; } return true; }
protected void matchStandardRegimenInExistingOrders(FormEntryContext context) { Map<RegimenSuggestion, List<DrugOrder>> map = RegimenUtil.findStrongestStandardRegimenInDrugOrders(possibleRegimens, context.getRemainingExistingOrders()); if (map.size() == 1){ existingStandardRegimen = map.keySet().iterator().next(); for (DrugOrder dor : map.get(existingStandardRegimen)){ regDrugOrders.add(context.removeExistingDrugOrder(dor.getDrug())); regWidget.setInitialValue(existingStandardRegimen.getCodeName()); } discontinuedDateWidget.setInitialValue(getCommonDiscontinueDate(regDrugOrders)); if (discontinuedReasonWidget != null && regDrugOrders.get(0).getDiscontinuedReason() != null) discontinuedReasonWidget.setInitialValue(regDrugOrders.get(0).getDiscontinuedReason().getConceptId()); } }
@Override public Collection<FormSubmissionError> validateSubmission( FormEntryContext context, HttpServletRequest submission) { List<FormSubmissionError> ret = new ArrayList<FormSubmissionError>(); Object value = null; try { value = valueWidget.getValue(context, submission); } catch (Exception ex) { ret.add(new FormSubmissionError(valueWidget, ex.getMessage())); } if (required) { if (value == null) { ret.add(new FormSubmissionError(valueWidget, Context.getMessageSourceService().getMessage("htmlformentry.error.required"))); } else if (value instanceof String) { String valueStr = (String) value; if (StringUtils.isEmpty(valueStr)) { ret.add(new FormSubmissionError(valueWidget, Context.getMessageSourceService().getMessage("htmlformentry.error.required"))); } } } return ret; }
public static String generateHtmlForWidget(FormEntryContext context, String label, Widget widget, Widget errorWidget) { StringBuilder html = new StringBuilder(); if (widget != null){ if (label != null) { html.append(label); } html.append(widget.generateHtml(context) + " "); if (context.getMode() != Mode.VIEW && errorWidget != null) html.append(errorWidget.generateHtml(context)); } return html.toString(); }
@Override protected void matchStandardRegimenInExistingOrders(FormEntryContext context) { Map<RegimenSuggestion, List<DrugOrder>> map = RegimenUtil1_10.findStrongestStandardRegimenInDrugOrders( possibleRegimens, context.getRemainingExistingOrders()); if (map.size() == 1) { existingStandardRegimen = map.keySet().iterator().next(); for (DrugOrder dor : map.get(existingStandardRegimen)) { regDrugOrders.add(context.removeExistingDrugOrder(dor.getDrug())); regWidget.setInitialValue(existingStandardRegimen.getCodeName()); careSettingWidget.setInitialValue(dor.getCareSetting()); } discontinuedDateWidget.setInitialValue(getCommonDiscontinueDate(regDrugOrders)); Order discontinuationOrder = Context.getOrderService().getDiscontinuationOrder(regDrugOrders.get(0)); if (discontinuedReasonWidget != null && discontinuationOrder != null) discontinuedReasonWidget.setInitialValue(discontinuationOrder.getOrderReason().getConceptId()); } }
@Override public String generateHtml(FormEntryContext context) { StringBuilder ret = new StringBuilder(); ret.append(valueLabel); if (!"".equals(valueLabel)) ret.append(" "); // if value is required ret.append(valueWidget.generateHtml(context)); if (required) { ret.append("<span class='required'>*</span>"); } if (context.getMode() != Mode.VIEW) { ret.append(" "); ret.append(errorWidget.generateHtml(context)); } return ret.toString(); }
providerWidget.setInitialValue(p); initialProviderSet = true; roleWidget.setInitialValue(roleAndProvider.getKey()); providerWidget.setInitialValue(byRole.get(currentIteration)); initialProviderSet = true; providerWidgets.iterator().next().setInitialValue(provider);
/** * @see org.openmrs.module.htmlformentry.action.FormSubmissionControllerAction#validateSubmission(org.openmrs.module.htmlformentry.FormEntryContext, javax.servlet.http.HttpServletRequest) */ @Override public Collection<FormSubmissionError> validateSubmission(FormEntryContext context, HttpServletRequest submission) { if (!required) { return null; } EncounterRole role = encounterRole; Provider provider = null; List<FormSubmissionError> ret = new ArrayList<FormSubmissionError>(); if (roleWidget != null) { role = (EncounterRole) roleWidget.getValue(context, submission); if (role == null) ret.add(new FormSubmissionError(roleWidget, Context.getMessageSourceService().getMessage("htmlformentry.error.required"))); } boolean atLeastOneProviderSpecified = false; for (Widget providerWidget : providerWidgets) { if (providerWidget != null) { provider = (Provider) providerWidget.getValue(context, submission); if (provider != null) { atLeastOneProviderSpecified = true; } } } if (!atLeastOneProviderSpecified) { ret.add(new FormSubmissionError(providerWidgets.get(0), Context.getMessageSourceService().getMessage("htmlformentry.error.required"))); } return ret; }
/** * @see org.openmrs.module.htmlformentry.element.HtmlGeneratorElement#generateHtml(org.openmrs.module.htmlformentry.FormEntryContext) */ @Override public String generateHtml(FormEntryContext context) { StringBuilder ret = new StringBuilder(); if (roleWidget != null) { ret.append(roleWidget.generateHtml(context)); if (context.getMode() != Mode.VIEW) ret.append(roleErrorWidget.generateHtml(context)); ret.append(": "); } Iterator<ErrorWidget> errorWidgetIterator = providerErrorWidgets.iterator(); for (Widget providerWidget : providerWidgets) { ret.append(providerWidget.generateHtml(context)); if (context.getMode() != Mode.VIEW) { ret.append(errorWidgetIterator.next().generateHtml(context)); } } return ret.toString(); }
valueWidget.setInitialValue(existingObs.getConcept());
@Override public void handleSubmission(FormEntrySession session, HttpServletRequest submission) { Object value = valueWidget.getValue(session.getContext(), submission); try { if (value instanceof Concept) concept = (Concept) value; else concept = (Concept) HtmlFormEntryUtil.convertToType(value.toString(), Concept.class); } catch (Exception ex){ throw new RuntimeException("Unable to convert response to a concept!"); } Date obsDatetime = null; String accessionNumberValue = null; if (existingObs != null && session.getContext().getMode() == Mode.EDIT) { //TODO: we're going to need a new version of this that uses the conceptAnswer as the matching concept... session.getSubmissionActions().modifyObs(existingObs, concept, answerConcept, obsDatetime, accessionNumberValue, null); } else { if (value != null && !"".equals(value) && concept != null) { session.getSubmissionActions().createObs(concept, answerConcept, obsDatetime, accessionNumberValue, null); } } }
sb.append(mss.getMessage("Person.birthdate")).append(" "); sb.append(birthDateWidget.generateHtml(context)); if (context.getMode() != Mode.VIEW) sb.append(birthDateErrorWidget.generateHtml(context)); sb.append(" ").append(mss.getMessage("Person.age.or")).append(" "); sb.append(ageWidget.generateHtml(context)); if (context.getMode() != Mode.VIEW) sb.append(ageErrorWidget.generateHtml(context)); sb.append(identifierTypeValueWidget.generateHtml(context)); if (context.getMode() != Mode.VIEW) { sb.append(" ").append(mss.getMessage("PatientIdentifier.identifierType")).append(" "); sb.append(identifierTypeWidget.generateHtml(context)).append(" "); sb.append(identifierLocationWidget.generateHtml(context)); if (context.getMode() != Mode.VIEW) sb.append(identifierLocationErrorWidget.generateHtml(context));
widget.setInitialValue(state.getValue().getUuid()); } else if (tagParams.getType().equals("checkbox")) { widget.setInitialValue(currentState.getUuid()); widget.setInitialValue(currentState.getUuid());
Number value = (Number) ageWidget.getValue(context, request); && validateMandatoryField(context, request, birthDateWidget, birthDateErrorWidget, ageOrBirthdDateErrorMessage)) { try { if (birthDateWidget.getValue(context, request) != null && OpenmrsUtil.compare((Date) birthDateWidget.getValue(context, request), new Date()) > 0) { ret.add(new FormSubmissionError(context.getFieldName(birthDateErrorWidget), Context.getMessageSourceService().getMessage( "htmlformentry.error.cannotBeInFuture"))); String identifierTypeId = (String) identifierTypeWidget.getValue(context, request); String identifierValue = (String) identifierTypeValueWidget.getValue(context, request); if(StringUtils.hasText(identifierValue)){ try {
ret.append(regWidget.generateHtml(context) + " "); if (context.getMode() != Mode.VIEW) ret.append(regErrorWidget.generateHtml(context));
try { defaultDose = Double.valueOf(defaultDoseStr); doseWidget.setInitialValue(defaultDose); } catch (Exception ex){ throw new RuntimeException("optional attribute 'defaultDose' must be numeric or empty.");
if (drugWidget != null && drugWidget.getValue(context, submission) != null && ((String) drugWidget.getValue(context, submission)).equals("~")) throw new IllegalArgumentException("htmlformentry.error.cannotChooseADrugHeader"); } catch (Exception ex){ if (drugWidget != null && drugWidget.getValue(context, submission) != null && !((String) drugWidget.getValue(context, submission)).trim().equals("") && !((String) drugWidget.getValue(context, submission)).trim().equals("~")){ try { if (doseWidget != null) { Double dose = (Double) doseWidget.getValue(context, submission); if (dose == null) throw new Exception("htmlformentry.error.required"); String drugID = (String) drugWidget.getValue(context, submission); Drug drug = Context.getConceptService().getDrug(drugID); if ((drug.getMinimumDailyDose() != null && dose < drug.getMinimumDailyDose()) || (drug.getMaximumDailyDose() != null && dose > drug.getMaximumDailyDose())) {