diff --git a/core/src/main/java/org/phoenixctms/ctsms/service/proband/ProbandServiceImpl.java b/core/src/main/java/org/phoenixctms/ctsms/service/proband/ProbandServiceImpl.java
index 2f538403f13d..3633b05f30a9 100644
--- a/core/src/main/java/org/phoenixctms/ctsms/service/proband/ProbandServiceImpl.java
+++ b/core/src/main/java/org/phoenixctms/ctsms/service/proband/ProbandServiceImpl.java
@@ -187,9 +187,10 @@ private void addUpdateInquiryValue(InquiryValueInVO inquiryValueIn, Proband prob
InquiryValueJsonVO resultJs = null;
JournalEntryDao journalEntryDao = this.getJournalEntryDao();
if (id == null) {
- if (inquiry.isDisabled()) {
- inquiryValueIn = ServiceUtil.createPresetInquiryInValue(inquiry, proband.getId(), this.getInputFieldSelectionSetValueDao());
- }
+ // override disabled values with preset:
+ //if (inquiry.isDisabled()) {
+ // inquiryValueIn = ServiceUtil.createPresetInquiryInValue(inquiry, proband.getId(), this.getInputFieldSelectionSetValueDao());
+ //}
checkInquiryValueInput(inquiryValueIn, proband, inquiry);
ServiceUtil.addAutocompleteSelectionSetValue(inquiry.getField(), inquiryValueIn.getTextValue(), now, user, this.getInputFieldSelectionSetValueDao(), journalEntryDao);
InquiryValue inquiryValue = inquiryValueDao.inquiryValueInVOToEntity(inquiryValueIn);
@@ -211,8 +212,9 @@ private void addUpdateInquiryValue(InquiryValueInVO inquiryValueIn, Proband prob
}
} else {
InquiryValue originalInquiryValue = CheckIDUtil.checkInquiryValueId(id, inquiryValueDao);
- if (!inquiry.isDisabled()
- && !ServiceUtil.inquiryValueEquals(inquiryValueIn, originalInquiryValue.getValue(), force)) {
+ if (//!inquiry.isDisabled()
+ // &&
+ !ServiceUtil.inquiryValueEquals(inquiryValueIn, originalInquiryValue.getValue(), force)) {
checkInquiryValueInput(inquiryValueIn, proband, inquiry);
ServiceUtil.addAutocompleteSelectionSetValue(inquiry.getField(), inquiryValueIn.getTextValue(), now, user, this.getInputFieldSelectionSetValueDao(),
journalEntryDao);
diff --git a/core/src/main/java/org/phoenixctms/ctsms/service/trial/TrialServiceImpl.java b/core/src/main/java/org/phoenixctms/ctsms/service/trial/TrialServiceImpl.java
index 46f32fd95105..23a52a3f2eb9 100644
--- a/core/src/main/java/org/phoenixctms/ctsms/service/trial/TrialServiceImpl.java
+++ b/core/src/main/java/org/phoenixctms/ctsms/service/trial/TrialServiceImpl.java
@@ -624,10 +624,11 @@ private void addUpdateEcrfFieldValue(ECRFFieldValueInVO ecrfFieldValueIn, ECRFSt
ProbandListEntry listEntry = ecrfStatusEntry.getListEntry();
boolean isAuditTrail = ecrfField.isAuditTrail() && ecrfStatusEntry.getStatus().isAuditTrail();
if (id == null) {
- if (ecrfField.isDisabled()) {
- ecrfFieldValueIn = ServiceUtil.createPresetEcrfFieldInValue(ecrfField, listEntry.getId(), visit != null ? visit.getId() : null, ecrfFieldValueIn.getIndex(),
- this.getInputFieldSelectionSetValueDao());
- }
+ // override disabled values with preset:
+ //if (ecrfField.isDisabled()) {
+ // ecrfFieldValueIn = ServiceUtil.createPresetEcrfFieldInValue(ecrfField, listEntry.getId(), visit != null ? visit.getId() : null, ecrfFieldValueIn.getIndex(),
+ // this.getInputFieldSelectionSetValueDao());
+ //}
checkEcrfFieldValueInputUnlockedForFieldStatus(ecrfFieldValueIn, ecrfStatusEntry, visit, ecrfField);
checkEcrfFieldValueInput(ecrfFieldValueIn, ecrfStatusEntry, ecrfField);
ServiceUtil.addAutocompleteSelectionSetValue(ecrfField.getField(), ecrfFieldValueIn.getTextValue(), now, user, this.getInputFieldSelectionSetValueDao(),
@@ -662,9 +663,10 @@ private void addUpdateEcrfFieldValue(ECRFFieldValueInVO ecrfFieldValueIn, ECRFSt
ecrfFieldValueIn.getIndex()))) {
throw L10nUtil.initServiceException(ServiceExceptionCodes.ENTITY_WAS_MODIFIED_SINCE, originalEcrfFieldValue.getModifiedUser().getName());
}
- if (!ecrfField.isDisabled()
- && (!CommonUtil.isEmptyString(ecrfFieldValueIn.getReasonForChange())
- || !ServiceUtil.ecrfFieldValueEquals(ecrfFieldValueIn, originalEcrfFieldValue.getValue(), force))) {
+ if (//!ecrfField.isDisabled()
+ // &&
+ (!CommonUtil.isEmptyString(ecrfFieldValueIn.getReasonForChange())
+ || !ServiceUtil.ecrfFieldValueEquals(ecrfFieldValueIn, originalEcrfFieldValue.getValue(), force))) {
checkEcrfFieldValueInputUnlockedForFieldStatus(ecrfFieldValueIn, ecrfStatusEntry, visit, ecrfField);
checkEcrfFieldValueInput(ecrfFieldValueIn, ecrfStatusEntry, ecrfField);
ServiceUtil.addAutocompleteSelectionSetValue(ecrfField.getField(), ecrfFieldValueIn.getTextValue(), now, user, this.getInputFieldSelectionSetValueDao(),
@@ -739,9 +741,10 @@ private void addUpdateProbandListEntryTagValue(ProbandListEntryTagValueInVO prob
ProbandListEntryTagValueJsonVO resultJs = null;
JournalEntryDao journalEntryDao = this.getJournalEntryDao();
if (id == null) {
- if (listEntryTag.isDisabled()) {
- probandListEntryTagValueIn = ServiceUtil.createPresetProbandListEntryTagInValue(listEntryTag, listEntry.getId(), this.getInputFieldSelectionSetValueDao());
- }
+ // override disabled values with preset:
+ //if (listEntryTag.isDisabled()) {
+ // probandListEntryTagValueIn = ServiceUtil.createPresetProbandListEntryTagInValue(listEntryTag, listEntry.getId(), this.getInputFieldSelectionSetValueDao());
+ //}
checkProbandListEntryTagValueInput(probandListEntryTagValueIn, listEntry, listEntryTag);
ServiceUtil.addAutocompleteSelectionSetValue(listEntryTag.getField(), probandListEntryTagValueIn.getTextValue(), now, user, this.getInputFieldSelectionSetValueDao(),
journalEntryDao);
@@ -768,8 +771,9 @@ private void addUpdateProbandListEntryTagValue(ProbandListEntryTagValueInVO prob
}
} else {
ProbandListEntryTagValue originalListEntryTagValue = CheckIDUtil.checkProbandListEntryTagValueId(id, probandListEntryTagValueDao);
- if (!listEntryTag.isDisabled()
- && !ServiceUtil.probandListEntryTagValueEquals(probandListEntryTagValueIn, originalListEntryTagValue.getValue(), force)) {
+ if (//!listEntryTag.isDisabled()
+ // &&
+ !ServiceUtil.probandListEntryTagValueEquals(probandListEntryTagValueIn, originalListEntryTagValue.getValue(), force)) {
boolean isEqual = ServiceUtil.probandListEntryTagValueEquals(probandListEntryTagValueIn, originalListEntryTagValue.getValue(), false);
checkProbandListEntryTagValueInput(probandListEntryTagValueIn, listEntry, listEntryTag); // access original associations before evict
ServiceUtil.addAutocompleteSelectionSetValue(listEntryTag.getField(), probandListEntryTagValueIn.getTextValue(), now, user,
@@ -5983,7 +5987,7 @@ protected ECRFFieldValuesOutVO handleGetEcrfFieldValue(AuthenticationVO auth, Lo
throws Exception {
CheckIDUtil.checkProbandListEntryId(probandListEntryId, this.getProbandListEntryDao());
ECRFField ecrfField = CheckIDUtil.checkEcrfFieldId(ecrfFieldId, this.getECRFFieldDao());
- if (visitId == null) {
+ if (visitId != null) {
CheckIDUtil.checkVisitId(visitId, this.getVisitDao());
}
checkEcrfFieldValueIndex(ecrfField, probandListEntryId, visitId, ecrfFieldId, index);
diff --git a/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/EcrfDataEntryBeanBase.java b/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/EcrfDataEntryBeanBase.java
index 240925df668d..10afa3cb265f 100644
--- a/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/EcrfDataEntryBeanBase.java
+++ b/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/EcrfDataEntryBeanBase.java
@@ -48,6 +48,8 @@ protected void addMessages() {
Messages.addLocalizedMessage(FacesMessage.SEVERITY_WARN, MessageCodes.TRIAL_LOCKED);
} else if (probandListEntry != null && !probandListEntry.getTrial().getStatus().getEcrfValueInputEnabled()) {
Messages.addLocalizedMessage(FacesMessage.SEVERITY_INFO, MessageCodes.ECRF_VALUE_INPUT_DISABLED_FOR_TRIAL, probandListEntry.getTrial().getStatus().getName());
+ } else if (ecrf != null && ecrf.getDisabled()) {
+ Messages.addLocalizedMessage(FacesMessage.SEVERITY_INFO, MessageCodes.ECRF_VALUE_INPUT_DISABLED_FOR_ECRF);
} else if (probandListEntry != null && probandListEntry.getLastStatus() != null && !probandListEntry.getLastStatus().getStatus().getEcrfValueInputEnabled()) {
Messages.addLocalizedMessage(FacesMessage.SEVERITY_INFO, MessageCodes.ECRF_VALUE_INPUT_DISABLED_FOR_PROBAND_LIST_ENTRY, probandListEntry.getLastStatus().getStatus()
.getName());
@@ -182,6 +184,8 @@ public boolean isEditable() {
return false;
} else if (WebUtil.isProbandLocked(probandListEntry)) {
return false;
+ } else if (ecrf != null && ecrf.getDisabled()) {
+ return false;
} else if (probandListEntry != null && !probandListEntry.getTrial().getStatus().getEcrfValueInputEnabled()) {
return false;
} else if (probandListEntry.getLastStatus() != null && !probandListEntry.getLastStatus().getStatus().getEcrfValueInputEnabled()) {
diff --git a/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/EcrfFieldValueBean.java b/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/EcrfFieldValueBean.java
index 83c025095909..3a2112ad7086 100644
--- a/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/EcrfFieldValueBean.java
+++ b/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/EcrfFieldValueBean.java
@@ -532,6 +532,8 @@ public boolean getEditable(boolean unlockValue) {
return false;
} else if (WebUtil.isProbandLocked(probandListEntry)) {
return false;
+ } else if (ecrf.getDisabled()) {
+ return false;
} else if (!probandListEntry.getTrial().getStatus().getEcrfValueInputEnabled()) {
return false;
} else if (probandListEntry.getLastStatus() != null && !probandListEntry.getLastStatus().getStatus().getEcrfValueInputEnabled()) {
diff --git a/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/inputfield/EcrfFieldInputModel.java b/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/inputfield/EcrfFieldInputModel.java
index 51e8bfe6be5c..17c9e4b5bd65 100644
--- a/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/inputfield/EcrfFieldInputModel.java
+++ b/web/src/main/java/org/phoenixctms/ctsms/web/model/shared/inputfield/EcrfFieldInputModel.java
@@ -321,6 +321,14 @@ public boolean isDisabled() {
return false;
}
+ @Override
+ public boolean isEditable() {
+ if (ecrfField != null) {
+ return !ecrfField.getEcrf().getDisabled();
+ }
+ return true;
+ }
+
@Override
public boolean isDummy() {
return false;
diff --git a/web/src/main/java/org/phoenixctms/ctsms/web/util/MessageCodes.java b/web/src/main/java/org/phoenixctms/ctsms/web/util/MessageCodes.java
index 62b7840ca0cd..658a4859b755 100644
--- a/web/src/main/java/org/phoenixctms/ctsms/web/util/MessageCodes.java
+++ b/web/src/main/java/org/phoenixctms/ctsms/web/util/MessageCodes.java
@@ -72,6 +72,7 @@ public interface MessageCodes {
public static final String MASS_MAIL_LOCKED = "mass_mail_locked";
public static final String ECRF_VALUE_INPUT_DISABLED_FOR_PROBAND_LIST_ENTRY = "ecrf_value_input_disabled_for_proband_list_entry";
public static final String ECRF_VALUE_INPUT_DISABLED_FOR_TRIAL = "ecrf_value_input_disabled_for_trial";
+ public static final String ECRF_VALUE_INPUT_DISABLED_FOR_ECRF = "ecrf_value_input_disabled_for_ecrf";
public static final String ECRF_FIELD_VALUES_LOCKED_STATUS = "ecrf_field_values_locked_status";
public static final String ECRF_FIELD_STATUS_LOCKED_STATUS = "ecrf_field_status_locked_status";
public static final String CRITERION_LIST_NULL = "criterion_list_null";
diff --git a/web/src/main/resources/org/phoenixctms/ctsms/web/messages.properties b/web/src/main/resources/org/phoenixctms/ctsms/web/messages.properties
index 7a283ead1bfd..7d34bacf6c53 100644
--- a/web/src/main/resources/org/phoenixctms/ctsms/web/messages.properties
+++ b/web/src/main/resources/org/phoenixctms/ctsms/web/messages.properties
@@ -99,6 +99,7 @@ mass_mail_locked=mass mail is locked
inquiry_value_input_disabled=inquiry input is disabled
ecrf_value_input_disabled_for_proband_list_entry=eCRFs are locked for this proband (enrollment status: {0})
ecrf_value_input_disabled_for_trial=eCRFs are locked for this trial (trial status: {0})
+ecrf_value_input_disabled_for_ecrf=eCRF is disabled
ecrf_field_values_locked_status=inputs are locked for this eCRF (eCRF status: {0})
ecrf_field_status_locked_status=issues are locked for this eCRF (eCRF status: {0})
no_new_ecrf_field_status=no new eCRF issues ({0}) to manually create
diff --git a/web/src/main/resources/org/phoenixctms/ctsms/web/messages_de.properties b/web/src/main/resources/org/phoenixctms/ctsms/web/messages_de.properties
index 19b8b4d8ada0..6b9bc56dc2d7 100644
--- a/web/src/main/resources/org/phoenixctms/ctsms/web/messages_de.properties
+++ b/web/src/main/resources/org/phoenixctms/ctsms/web/messages_de.properties
@@ -99,6 +99,7 @@ mass_mail_locked=Massenmail ist gesperrt
inquiry_value_input_disabled=Eingabe von Erhebungen ist gesperrt
ecrf_value_input_disabled_for_proband_list_entry=eCRFs f\u00FCr diesen Probanden sind gesperrt (Enrollment Status\: {0})
ecrf_value_input_disabled_for_trial=eCRFs f\u00FCr diese Studie sind gesperrt (Studienstatus\: {0})
+ecrf_value_input_disabled_for_ecrf=eCRF ist deaktiviert
ecrf_field_values_locked_status=Eingaben dieses eCRF''s sind gesperrt (eCRF Status: {0})
ecrf_field_status_locked_status=Issues dieses eCRF''s sind gesperrt (eCRF Status: {0})
no_new_ecrf_field_status=keine neuen eCRF Issues ({0}) manuell erstellbar
diff --git a/web/src/main/resources/org/phoenixctms/ctsms/web/trial/labels.properties b/web/src/main/resources/org/phoenixctms/ctsms/web/trial/labels.properties
index 14e0f49067ac..2f61c689b750 100644
--- a/web/src/main/resources/org/phoenixctms/ctsms/web/trial/labels.properties
+++ b/web/src/main/resources/org/phoenixctms/ctsms/web/trial/labels.properties
@@ -817,7 +817,7 @@ proband_list_entry_tag_title=Input field title
proband_list_entry_tag_title_tooltip=The input field title can be overridden.
proband_list_entry_tag_disabled_label=Disabled:
-proband_list_entry_tag_disabled_tooltip=Input is disabled, existing or preset value cannot be edited.
+proband_list_entry_tag_disabled_tooltip=Input cannot be edited manually.
proband_list_entry_tag_excel_value_label=Excel value:
proband_list_entry_tag_excel_value_tooltip=Show attribute (value) in exported proband lists.
@@ -921,7 +921,7 @@ inquiry_title=Input field title
inquiry_title_tooltip=The input field title can be overridden.
inquiry_disabled_label=Disabled:
-inquiry_disabled_tooltip=Input is disabled, existing or preset value cannot be edited.
+inquiry_disabled_tooltip=Input cannot be edited manually.
inquiry_active_label=Display:
inquiry_active_tooltip=Show/hide this inquiry in the inquiry form.
@@ -994,7 +994,7 @@ ecrf_active_label=Display:
ecrf_active_tooltip=Show/hide this eCRF in the data capture tab.
Only the most recent eCRF revision should be visible.
ecrf_disabled_label=Disabled:
-ecrf_disabled_tooltip=All form inputs are disabled, existing or preset values cannot be edited.
+ecrf_disabled_tooltip=All form inputs are readonly.
ecrf_groups_label=Groups:
ecrf_groups=Groups
@@ -1105,7 +1105,7 @@ ecrffield_optional_label=Optional:
ecrffield_optional_tooltip=Input is mandatory or not.
ecrffield_disabled_label=Disabled:
-ecrffield_disabled_tooltip=Input is disabled, existing or preset value cannot be edited.
+ecrffield_disabled_tooltip=Input cannot be edited manually.
ecrffield_js_variable_name_label=Variable name:
ecrffield_js_variable_name=Variable name
diff --git a/web/src/main/resources/org/phoenixctms/ctsms/web/trial/labels_de.properties b/web/src/main/resources/org/phoenixctms/ctsms/web/trial/labels_de.properties
index 545beff12b54..897b8eaae772 100644
--- a/web/src/main/resources/org/phoenixctms/ctsms/web/trial/labels_de.properties
+++ b/web/src/main/resources/org/phoenixctms/ctsms/web/trial/labels_de.properties
@@ -817,7 +817,7 @@ proband_list_entry_tag_title=Eingabefeld Titel
proband_list_entry_tag_title_tooltip=Den Titel des Eingabefeldes \u00FCberschreiben.
proband_list_entry_tag_disabled_label=Deaktiviert:
-proband_list_entry_tag_disabled_tooltip=Eingabefeld ist deaktiviert, aktueller Wert bzw. Voreinstellungswert
kann nicht bearbeitet werden.
+proband_list_entry_tag_disabled_tooltip=Eingabefeld kann nicht bearbeitet werden.
proband_list_entry_tag_js_variable_name_label=Variablenname:
proband_list_entry_tag_js_variable_name=Variablenname
@@ -921,7 +921,7 @@ inquiry_title=Eingabefeld Titel
inquiry_title_tooltip=Den Titel des Eingabefeldes \u00FCberschreiben.
inquiry_disabled_label=Deaktiviert:
-inquiry_disabled_tooltip=Eingabefeld ist deaktiviert, aktueller Wert bzw. Voreinstellungswert
kann nicht bearbeitet werden.
+inquiry_disabled_tooltip=Eingabefeld kann nicht bearbeitet werden.
inquiry_active_label=Anzeigen:
inquiry_active_tooltip=Eingabefeld im Erhebungsformular ausblenden.
@@ -994,7 +994,7 @@ ecrf_active_label=Anzeigen:
ecrf_active_tooltip=Das eCRF im Datenerfassungsreiter einblenden/ausblenden.
Nur die aktuelle eCRF Version sollte sichtbar sein.
ecrf_disabled_label=Deaktiviert:
-ecrf_disabled_tooltip=Alle Eingabefelder sind deaktiviert,
Eingaben k\u00F6nnen nicht bearbeitet werden.
+ecrf_disabled_tooltip=Alle Eingabefelder sind schreibgesch\u00FCtzt.
ecrf_groups_label=Gruppen:
ecrf_groups=Gruppen
@@ -1105,7 +1105,7 @@ ecrffield_optional_label=Optional:
ecrffield_optional_tooltip=Eingabe zwingend erforderlich oder nicht.
ecrffield_disabled_label=Deaktiviert:
-ecrffield_disabled_tooltip=Eingabefeld ist deaktiviert, aktueller Wert bzw. Voreinstellungswert
kann nicht bearbeitet werden.
+ecrffield_disabled_tooltip=Eingabefeld kann nicht bearbeitet werden.
ecrffield_js_variable_name_label=Variablenname:
ecrffield_js_variable_name=Variablenname
diff --git a/web/src/main/webapp/META-INF/includes/inputfield/inputFieldDummy.xhtml b/web/src/main/webapp/META-INF/includes/inputfield/inputFieldDummy.xhtml
index 63924f102436..0e01062bb175 100644
--- a/web/src/main/webapp/META-INF/includes/inputfield/inputFieldDummy.xhtml
+++ b/web/src/main/webapp/META-INF/includes/inputfield/inputFieldDummy.xhtml
@@ -89,7 +89,9 @@
oncomplete="handleUpdateInputFieldTabTitles(xhr, status, args);FieldCalculation.handleInitInputFieldVariables(xhr, status, args)"
icon="ui-icon ui-icon-help" ajax="true"
disabled="#{!dummyInputFieldValueBean.created}"
- update="input_dummy_input" />
+ update="input_dummy_input">
+
+
+ update="inquiriestrial,inquiry_input_grid">
+
+
+ update=":tabView:probandecrfstatusentry_form:probandecrfstatus_ecrf_list,:tabView:probandecrfstatusentry_form:section_filter,:tabView:probandecrfstatusentry_form:field_query,:tabView:probandecrfstatusentry_form:ecrf_detail,:tabView:probandecrfstatusentry_form:ecrf_title,:tabView:probandecrfstatusentry_form:ecrffield_input_grid">
+
+
@@ -636,7 +638,9 @@
oncomplete="FieldCalculation.handleUpdateInputFieldVariables(xhr, status, args);handleUpdateProbandTabTitles(xhr, status, args)"
icon="ui-icon ui-icon-disk" ajax="true"
rendered="#{probandEcrfStatusEntryBean.ecrfFieldValueBean.editable}"
- update="probandecrfstatus_ecrf_list,section_filter,field_query,ecrf_detail,ecrf_title,ecrffield_input_grid" />
+ update="probandecrfstatus_ecrf_list,section_filter,field_query,ecrf_detail,ecrf_title,ecrffield_input_grid">
+
+
diff --git a/web/src/main/webapp/META-INF/includes/proband/trialParticipation.xhtml b/web/src/main/webapp/META-INF/includes/proband/trialParticipation.xhtml
index d4c9e6c6178d..b8d61a03686d 100644
--- a/web/src/main/webapp/META-INF/includes/proband/trialParticipation.xhtml
+++ b/web/src/main/webapp/META-INF/includes/proband/trialParticipation.xhtml
@@ -350,7 +350,9 @@
oncomplete="FieldCalculation.handleUpdateInputFieldVariables(xhr, status, args);trialParticipationList.unselectAllRows();trialParticipationList.filter()"
icon="ui-icon ui-icon-disk" ajax="true"
disabled="#{!trialParticipationBean.probandListEntryTagValueBean.editable}"
- update="tagvalue_input_grid" />
+ update="tagvalue_input_grid">
+
+
+ rowClasses="#{fieldInput.multiLineText ? 'ctsms-textarea-row' : (fieldInput.sketch ? 'ctsms-sketchpad-row' : 'ctsms-input-row')},#{fieldInput.hasOutput ? 'ctsms-inputfield-output-row,' : ''}#{!fieldInput.fieldCommentEmpty ? 'ctsms-inputfield-comment-row,' : ''}#{!fieldInput.commentEmpty ? 'ctsms-inputfield-comment-row,' : ''}#{!fieldInput.statusCommentEmpty ? 'ctsms-inputfield-statuscomment-row,' : ''}#{((not (!enabled)) and fieldInput.reasonForChangeRequired and reasonForChangeRequired) ? 'ctsms-inputfield-reasonforchange-row,' : ''}ctsms-toolbar-row">
+
@@ -98,7 +99,7 @@
rendered="#{fieldInput.selectOneDropdown}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
styleClass="ctsms-control-larger"
onkeyup="#{fieldInput.getEventJSCall('FieldCalculation.selectOneDropdownOnChange')}"
onchange="#{fieldInput.getEventJSCall('FieldCalculation.selectOneDropdownOnChange')}">
@@ -124,7 +125,7 @@
rendered="#{fieldInput.selectOneRadio}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
onkeyup="#{fieldInput.getEventJSCall('FieldCalculation.selectOneRadioOnChange')}"
onchange="#{fieldInput.getEventJSCall('FieldCalculation.selectOneRadioOnChange')}">
@@ -148,7 +149,7 @@
label="#{fieldInput.label}" rendered="#{fieldInput.selectMany}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
layout="#{fieldInput.selectVertical ? 'pageDirection' : 'lineDirection'}"
onkeyup="#{fieldInput.getEventJSCall('FieldCalculation.selectManyOnChange')}"
onchange="#{fieldInput.getEventJSCall('FieldCalculation.selectManyOnChange')}">
@@ -170,7 +171,7 @@
rendered="#{fieldInput.autocomplete}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
label="#{fieldInput.label}" styleClass="ctsms-control-larger"
autocomplete="off"
minQueryLength="#{autoCompleteMinQueryLengthInputField}"
@@ -197,7 +198,7 @@
rendered="#{fieldInput.checkBox}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
onchange="#{fieldInput.getEventJSCall('FieldCalculation.checkBoxOnChange')}">
@@ -212,7 +213,7 @@
rendered="#{fieldInput.integer}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
styleClass="ctsms-spinner" autocomplete="off"
onkeyup="#{fieldInput.getEventJSCall('FieldCalculation.integerOnChange')}"
onchange="#{fieldInput.getEventJSCall('FieldCalculation.integerOnChange')}">
@@ -229,7 +230,7 @@
rendered="#{fieldInput.float}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
styleClass="ctsms-control-float" autocomplete="off"
onkeyup="#{fieldInput.getEventJSCall('FieldCalculation.floatOnChange')}"
onchange="#{fieldInput.getEventJSCall('FieldCalculation.floatOnChange')}">
@@ -246,7 +247,7 @@
rendered="#{fieldInput.date}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
pattern="#{sessionScopeBean.inputDatePattern}"
yearRange="#{applicationScopeBean.calendarYearRange}"
showWeek="true" navigator="true"
@@ -270,7 +271,7 @@
rendered="#{fieldInput.timestamp}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
pattern="#{sessionScopeBean.inputDateTimePattern}"
yearRange="#{applicationScopeBean.calendarYearRange}"
showWeek="true" navigator="true"
@@ -296,7 +297,7 @@
rendered="#{fieldInput.time}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
timeSeparator="#{applicationScopeBean.timeSeparator}"
mode="popup"
intervalMinutes="#{applicationScopeBean.timePickerIntervalMinutes}"
@@ -351,7 +352,7 @@
value="#{fieldInput.textValue}"
required="#{!optional and !fieldInput.optional}"
requiredMessage="#{fieldInput.requiredMessage}"
- disabled="#{!enabled or fieldInput.disabled}" autoResize="false"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}" autoResize="false"
styleClass="ctsms-textarea" autocomplete="off"
label="#{fieldInput.label}"
onkeyup="#{fieldInput.getEventJSCall('FieldCalculation.multiLineTextOnChange')}"
@@ -380,7 +381,7 @@
value="#{fieldInput.inkValueWithSelections}"
width="#{fieldInput.width}" height="#{fieldInput.height}"
regions="#{fieldInput.inkRegions}"
- disabled="#{!enabled or fieldInput.disabled}"
+ disabled="#{!enabled or (fieldInput.disabled and facesContext.currentPhaseId.ordinal eq 6)}"
label="#{fieldInput.label}"
backgroundImage="#{request.contextPath}/inputfieldimage?#{applicationScopeBean.parameterName('INPUT_FIELD_ID')}=#{fieldInput.inputField.id}"
onChange="#{fieldInput.getEventJSCall('FieldCalculation.sketchOnChange')}" />
@@ -417,19 +418,19 @@
+ value="#{labels.noencryption_warning_label}#{((not (!enabled)) and fieldInput.reasonForChangeRequired and reasonForChangeRequired) ? labels.audit_trail_reason_for_change_label_required : labels.audit_trail_reason_for_change_label}" />
@@ -437,7 +438,7 @@
@@ -557,7 +558,9 @@
oncomplete="FieldCalculation.handleUpdateInputFieldVariables(xhr, status, args);#{updateOnComplete}"
icon="ui-icon ui-icon-disk" rendered="#{!fieldInput.dummy}"
ajax="true" disabled="#{!editable or !fieldInput.editable}"
- update="row#{index},#{update}" />
+ update="row#{index},#{update}" >
+
+
+ update="inquiry_input_grid">
+
+
+ update="tagvalue_input_grid">
+
+
-
-
+ update=":tabView:trialecrfstatusentry_form:trialecrfstatus_ecrf_list,:tabView:trialecrfstatusentry_form:section_filter,:tabView:trialecrfstatusentry_form:field_query,:tabView:trialecrfstatusentry_form:ecrf_detail,:tabView:trialecrfstatusentry_form:ecrf_title,:tabView:trialecrfstatusentry_form:ecrffield_input_grid" >
+
+
@@ -737,7 +737,9 @@
oncomplete="FieldCalculation.handleUpdateInputFieldVariables(xhr, status, args);handleUpdateTrialTabTitles(xhr, status, args)"
icon="ui-icon ui-icon-disk" ajax="true"
rendered="#{trialEcrfStatusEntryBean.ecrfFieldValueBean.editable}"
- update="trialecrfstatus_ecrf_list,section_filter,field_query,ecrf_detail,ecrf_title,ecrffield_input_grid" />
+ update="trialecrfstatus_ecrf_list,section_filter,field_query,ecrf_detail,ecrf_title,ecrffield_input_grid" >
+
+
diff --git a/web/src/main/webapp/resources/js/primefacesOverrides.js b/web/src/main/webapp/resources/js/primefacesOverrides.js
index 9c976896d915..e41c33d0f590 100644
--- a/web/src/main/webapp/resources/js/primefacesOverrides.js
+++ b/web/src/main/webapp/resources/js/primefacesOverrides.js
@@ -167,12 +167,12 @@ PrimeFaces.ajax.AjaxUtils.send = function(cfg) {
var jqProcess = $(PrimeFaces.escapeClientId(item)), componentPostParams = null;
if (jqProcess.is('form')) {
- componentPostParams = jqProcess.serializeArray();
+ componentPostParams = _serializeArray(jqProcess, cfg);
hasViewstate = true;
} else if (jqProcess.is(':input')) {
- componentPostParams = jqProcess.serializeArray();
+ componentPostParams = _serializeArray(jqProcess, cfg);
} else {
- componentPostParams = jqProcess.find(':input').serializeArray();
+ componentPostParams = _serializeArray(jqProcess.find(':input'), cfg);
}
$.merge(postParams, componentPostParams);
@@ -188,7 +188,7 @@ PrimeFaces.ajax.AjaxUtils.send = function(cfg) {
}
} else {
- $.merge(postParams, form.serializeArray());
+ $.merge(postParams, _serializeArray(form, cfg));
}
//serialize
@@ -273,6 +273,29 @@ PrimeFaces.ajax.AjaxUtils.send = function(cfg) {
$.ajax(xhrOptions);
};
+function _serializeArray(jqProcess, cfg) {
+ var componentPostParams;
+ var includeDisabled = false;
+ var i;
+ if (cfg != null && 'params' in cfg && cfg.params != null) {
+ for (i = 0; i < cfg.params.length; i++) {
+ if (cfg.params[i].name == 'includeDisabled') {
+ includeDisabled = cfg.params[i].value;
+ break;
+ }
+ }
+ }
+ if (includeDisabled) {
+ var fields = jqProcess.filter(':disabled');
+ fields.prop('disabled', false);
+ componentPostParams = jqProcess.serializeArray();
+ fields.prop('disabled', true);
+ } else {
+ componentPostParams = jqProcess.serializeArray();
+ }
+ return componentPostParams;
+}
+
function _highlightText(jq) {
if (jq != null) {
diff --git a/web/src/main/webapp/shared/ecrfSection.xhtml b/web/src/main/webapp/shared/ecrfSection.xhtml
index 35345ff02534..7f1e392d244c 100644
--- a/web/src/main/webapp/shared/ecrfSection.xhtml
+++ b/web/src/main/webapp/shared/ecrfSection.xhtml
@@ -5,7 +5,7 @@
xmlns:p="http://primefaces.org/ui"
xmlns:h="http://java.sun.com/jsf/html">
- team member picker
+ ecrf section view
@@ -170,7 +170,9 @@
oncomplete="FieldCalculation.handleUpdateInputFieldVariables(xhr, status, args)"
icon="ui-icon ui-icon-disk" ajax="true"
disabled="#{!ecrfSectionBean.ecrfFieldValueBean.editable and !ecrfSectionBean.ecrfFieldValueBean.sectionUnlockValueMap[section]}"
- update=":ecrfsection_form:ecrffield_input_grid" />
+ update=":ecrfsection_form:ecrffield_input_grid">
+
+