diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/sequenceanalysis-12.333-12.334.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/sequenceanalysis-12.333-12.334.sql
new file mode 100644
index 000000000..48b5f2499
--- /dev/null
+++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/sequenceanalysis-12.333-12.334.sql
@@ -0,0 +1 @@
+ALTER TABLE sequenceanalysis.barcodes DROP CONSTRAINT IF EXISTS UNIQUE_barcodes;
\ No newline at end of file
diff --git a/SequenceAnalysis/resources/schemas/dbscripts/sqlserver/sequenceanalysis-12.333-12.334.sql b/SequenceAnalysis/resources/schemas/dbscripts/sqlserver/sequenceanalysis-12.333-12.334.sql
new file mode 100644
index 000000000..48b5f2499
--- /dev/null
+++ b/SequenceAnalysis/resources/schemas/dbscripts/sqlserver/sequenceanalysis-12.333-12.334.sql
@@ -0,0 +1 @@
+ALTER TABLE sequenceanalysis.barcodes DROP CONSTRAINT IF EXISTS UNIQUE_barcodes;
\ No newline at end of file
diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java
index 6849a9c81..638f77fcf 100644
--- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java
+++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java
@@ -208,6 +208,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.stream.Collectors;
import java.util.zip.GZIPInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -717,7 +718,7 @@ else if (SequenceAnalysisSchema.TABLE_OUTPUTFILES.equals(_table.getName()))
msg.append("Folder: ").unsafeAppend("" + h(target.getPath()) + "
");
}
}
- msg.append("
");
+ msg.unsafeAppend("
");
}
}
}
@@ -1914,7 +1915,7 @@ else if (!d.getFile().exists())
{
throw new PipelineValidationException("Missing file for data: " + o.get("dataId"));
}
- else if (d.getContainer().hasPermission(u, ReadPermission.class))
+ else if (!d.getContainer().hasPermission(u, ReadPermission.class))
{
throw new UnauthorizedException("You do not have permission to read data: " + o.get("dataId"));
}
@@ -5161,14 +5162,13 @@ public ApiResponse execute(ArchiveReadsetsForm form, BindException errors) throw
if (!toUpdate.isEmpty())
{
- List