Index: .classpath
===================================================================
--- .classpath (revision 14296)
+++ .classpath (working copy)
@@ -1,45 +1,45 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lib-common/openmrs-api-1.6.0.11682-dev.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: lib-common/tests-openmrs-api-1.6.0.11682-dev.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: lib-common/web-openmrs-api-1.6.0.11682-dev.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: metadata/config.xml
===================================================================
--- metadata/config.xml (revision 14296)
+++ metadata/config.xml (working copy)
@@ -1,107 +1,107 @@
-
-
-
-
- htmlformentry
- HTML Form Entry
- 1.6.4.2
- org.openmrs.module.htmlformentry
- Darius Jazayeri
-
- FormEntry in-webapp, using HTML forms
-
-
- org.openmrs.module.htmlformentry.HtmlFormEntryActivator
-
- https://dev.openmrs.org/modules/download/@MODULE_ID@/update.rdf
-
-
- 1.6.0.11652
-
-
-
- org.openmrs.admin.list
- org.openmrs.module.htmlformentry.extension.html.AdminList
-
-
- org.openmrs.module.web.extension.FormEntryHandler
- org.openmrs.module.htmlformentry.extension.html.FormEntryHandlerExtension
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- en
- messages.properties
-
-
- fr
- messages_fr.properties
-
-
- es
- messages_es.properties
-
-
-
-
- HtmlFormEntryHtmlForm.hbm.xml
-
-
-
+
+
+
+
+ htmlformentry
+ HTML Form Entry
+ 1.6.4.3
+ org.openmrs.module.htmlformentry
+ Darius Jazayeri
+
+ FormEntry in-webapp, using HTML forms
+
+
+ org.openmrs.module.htmlformentry.HtmlFormEntryActivator
+
+ https://dev.openmrs.org/modules/download/@MODULE_ID@/update.rdf
+
+
+ 1.9.0
+
+
+
+ org.openmrs.admin.list
+ org.openmrs.module.htmlformentry.extension.html.AdminList
+
+
+ org.openmrs.module.web.extension.FormEntryHandler
+ org.openmrs.module.htmlformentry.extension.html.FormEntryHandlerExtension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ en
+ messages.properties
+
+
+ fr
+ messages_fr.properties
+
+
+ es
+ messages_es.properties
+
+
+
+
+ HtmlFormEntryHtmlForm.hbm.xml
+
+
+
Index: src/org/openmrs/module/htmlformentry/element/EncounterDetailSubmissionElement.java
===================================================================
--- src/org/openmrs/module/htmlformentry/element/EncounterDetailSubmissionElement.java (revision 14296)
+++ src/org/openmrs/module/htmlformentry/element/EncounterDetailSubmissionElement.java (working copy)
@@ -7,6 +7,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.TreeSet;
import javax.servlet.http.HttpServletRequest;
@@ -89,31 +90,34 @@
providerErrorWidget = new ErrorWidget();
if (context.getExistingEncounter() != null) {
providerWidget.setInitialValue(context.getExistingEncounter()
- .getProvider());
+ .getProviders());
} else {
String defParam = (String) parameters.get("default");
+ Set defaultProviders = null;
if (StringUtils.hasText(defParam)) {
- Person defaultProvider = null;
- if ("currentuser".equalsIgnoreCase(defParam)) {
- defaultProvider = Context.getAuthenticatedUser().getPerson();
- } else {
- User providerByUsername = Context.getUserService().getUserByUsername(defParam);
- if (providerByUsername != null) {
- defaultProvider = providerByUsername.getPerson();
+ String[] defaultParams = defParam.split(",");
+ defaultProviders = new LinkedHashSet();
+ for (int i = 0; i < defaultParams.length; i++) {
+ if ("currentuser".equalsIgnoreCase(defaultParams[i].trim())) {
+ defaultProviders.add(Context.getAuthenticatedUser().getPerson());
} else {
- try {
- defaultProvider = Context.getPersonService()
- .getPerson(Integer.parseInt(defParam));
- } catch (NumberFormatException ex) {
+ User providerByUsername = Context.getUserService().getUserByUsername(defaultParams[i]);
+ if (providerByUsername != null) {
+ defaultProviders.add(providerByUsername.getPerson());
+ } else {
+ try {
+ defaultProviders.add(Context.getPersonService().getPerson(Integer.parseInt(defaultParams[i])));
+ } catch (NumberFormatException ex) {
+ }
}
}
}
- if (defaultProvider == null) {
+ if (defaultProviders == null) {
throw new IllegalArgumentException(
"Invalid default provider specified for encounter: "
+ defParam);
}
- providerWidget.setInitialValue(defaultProvider);
+ providerWidget.setInitialValue(defaultProviders);
}
}
context.registerWidget(providerWidget);
@@ -245,10 +249,10 @@
e.setEncounterDatetime(dateAndTime);
}
if (providerWidget != null) {
- Person person = (Person) providerWidget.getValue(session
+ Set providers = (Set) providerWidget.getValue(session
.getContext(), submission);
- session.getSubmissionActions().getCurrentEncounter().setProvider(
- person);
+ session.getSubmissionActions().getCurrentEncounter().setProviders(
+ providers);
}
if (locationWidget != null) {
Location location = (Location) locationWidget.getValue(session
Index: src/org/openmrs/module/htmlformentry/widget/PersonWidget.java
===================================================================
--- src/org/openmrs/module/htmlformentry/widget/PersonWidget.java (revision 14296)
+++ src/org/openmrs/module/htmlformentry/widget/PersonWidget.java (working copy)
@@ -1,28 +1,33 @@
package org.openmrs.module.htmlformentry.widget;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
import javax.servlet.http.HttpServletRequest;
+import org.openmrs.Encounter;
import org.openmrs.Person;
import org.openmrs.api.context.Context;
import org.openmrs.module.htmlformentry.FormEntryContext;
import org.openmrs.module.htmlformentry.HtmlFormEntryUtil;
import org.openmrs.module.htmlformentry.FormEntryContext.Mode;
-import org.springframework.util.StringUtils;
/**
* A widget that allows for the selection of a Person. Implemented using a drop-down selection list.
*/
public class PersonWidget implements Widget {
- private Person person;
+ private Set persons;
private List options;
public PersonWidget() { }
public void setInitialValue(Object initialValue) {
- person = (Person) initialValue;
+ persons = (Set) initialValue;
}
/**
@@ -36,27 +41,37 @@
public String generateHtml(FormEntryContext context) {
if (context.getMode() == Mode.VIEW) {
- if (person != null)
- return WidgetFactory.displayValue(person.getPersonName().toString());
+ if (persons != null){
+ StringBuffer sb = new StringBuffer();
+ for (Iterator personIterator = persons.iterator(); personIterator.hasNext(); ) {
+ sb.append(personIterator.next().getPersonName());
+ if(personIterator.hasNext()){
+ sb.append(", ");
+ }
+ }
+ return WidgetFactory.displayValue(sb.toString());
+ }
else
return "";
}
StringBuilder sb = new StringBuilder();
- sb.append("