diff --git a/WNPRC_EHR/resources/referenceStudy/study/datasets/datasets_manifest.xml b/WNPRC_EHR/resources/referenceStudy/study/datasets/datasets_manifest.xml
index af54a8e9d..06e96046e 100644
--- a/WNPRC_EHR/resources/referenceStudy/study/datasets/datasets_manifest.xml
+++ b/WNPRC_EHR/resources/referenceStudy/study/datasets/datasets_manifest.xml
@@ -232,5 +232,8 @@
+
+
+
\ No newline at end of file
diff --git a/WNPRC_EHR/resources/referenceStudy/study/datasets/datasets_metadata.xml b/WNPRC_EHR/resources/referenceStudy/study/datasets/datasets_metadata.xml
index 82b520229..e1680dd5d 100644
--- a/WNPRC_EHR/resources/referenceStudy/study/datasets/datasets_metadata.xml
+++ b/WNPRC_EHR/resources/referenceStudy/study/datasets/datasets_metadata.xml
@@ -16334,4 +16334,117 @@
+
+
+
+ varchar
+ Id
+ Subject identifier
+ http://cpas.labkey.com/Study#ParticipantId
+ http://cpas.labkey.com/Study#ParticipantId
+ false
+ /ehr/participantView.view?participantId=${id}
+
+ ptid
+ participantid
+
+
+ study
+ Animal
+ Id
+
+ ALWAYS_OFF
+ 32
+
+
+ integer
+
+
+ timestamp
+
+
+ timestamp
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+ varchar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WNPRC_EHR/resources/web/ehr/ext3/ehrGridFormPanel.js b/WNPRC_EHR/resources/web/ehr/ext3/ehrGridFormPanel.js
index 940b0aed6..caf34ab69 100644
--- a/WNPRC_EHR/resources/web/ehr/ext3/ehrGridFormPanel.js
+++ b/WNPRC_EHR/resources/web/ehr/ext3/ehrGridFormPanel.js
@@ -1077,8 +1077,8 @@ EHR.ext.GridFormPanel = Ext.extend(Ext.Panel,
if (extension === 'xlsx' || extension === 'xls') {
// need to get the date it was uploaded,
// since 'record' only provides the date when the actual file was created
- promises.push(getFileHistory(virologyResultsFolder, record.data.name).then((history) => {
- files.push({"name": history[0], "uploaded": history[1][0].data.date})
+ promises.push(getFileHistory(virologyResultsFolder, record.data.name).then((file) => {
+ files.push(file)
}))
}
@@ -1113,6 +1113,10 @@ EHR.ext.GridFormPanel = Ext.extend(Ext.Panel,
importFromFileWindow.removeAll();
importFromFileWindow.add(selectFilePanel);
importFromFileWindow.doLayout();
+ }).catch((e) => {
+ Ext.Msg.hide();
+ console.error(e);
+ Ext.Msg.alert('Error', 'Unable to build the list of files to import.');
})
},
@@ -1130,14 +1134,17 @@ EHR.ext.GridFormPanel = Ext.extend(Ext.Panel,
}
});
function getFileHistory(fileSystem, filename) {
+ // Always resolves so one unreadable file still leaves the rest importable.
return new Promise(resolve => {
fileSystem.getHistory({
path: '/' + filename,
success: function(fileSystem,path,history) {
- resolve([filename,history]);
+ // A file placed on the server outside of an upload has no audit record.
+ resolve({name: filename, uploaded: history && history.length ? history[0].data.date : null});
},
failure: function(f) {
- reject(f);
+ console.error('Unable to read file history for ' + filename, f);
+ resolve({name: filename, uploaded: null});
}
})
});
@@ -1307,7 +1314,7 @@ EHR.ext.GridFormPanel = Ext.extend(Ext.Panel,
html: '' + file.name + ''
},
{
- html: '' + new Date(file.uploaded).format("Y-m-d H:i")+ ''
+ html: '' + (file.uploaded ? new Date(file.uploaded).format("Y-m-d H:i") : 'Unknown') + ''
},
];
diff --git a/WNPRC_EHR/test/sampledata/wnprc_ehr/wnprcEhrTestStudyPolicy.xml b/WNPRC_EHR/test/sampledata/wnprc_ehr/wnprcEhrTestStudyPolicy.xml
index 69867afde..b91d36ea9 100644
--- a/WNPRC_EHR/test/sampledata/wnprc_ehr/wnprcEhrTestStudyPolicy.xml
+++ b/WNPRC_EHR/test/sampledata/wnprc_ehr/wnprcEhrTestStudyPolicy.xml
@@ -443,5 +443,11 @@
+
+
+
+
+
+
diff --git a/wnprc_ios_app/src/org/labkey/wnprc_ios_app/wnprc_ios_appModule.java b/wnprc_ios_app/src/org/labkey/wnprc_ios_app/wnprc_ios_appModule.java
index 3025a5961..a8e555886 100644
--- a/wnprc_ios_app/src/org/labkey/wnprc_ios_app/wnprc_ios_appModule.java
+++ b/wnprc_ios_app/src/org/labkey/wnprc_ios_app/wnprc_ios_appModule.java
@@ -53,7 +53,7 @@ public String getName()
@Override
public @Nullable Double getSchemaVersion()
{
- return 25.001;
+ return 26.001;
}
@Override