# HG changeset patch # User Sebastien Jodogne # Date 1444748275 -7200 # Node ID 275780da54aeaa5f779c243e95bb7b190275b455 # Parent d2268c7a7ede5648744dac8dfab7f36956d96670# Parent 9a04ad916831718573c26661c1549298dd5319ea integration mainline->db-changes diff -r d2268c7a7ede -r 275780da54ae Core/DicomFormat/DicomMap.cpp --- a/Core/DicomFormat/DicomMap.cpp Tue Oct 13 16:30:48 2015 +0200 +++ b/Core/DicomFormat/DicomMap.cpp Tue Oct 13 16:57:55 2015 +0200 @@ -285,6 +285,7 @@ result.Remove(DICOM_TAG_NUMBER_OF_SLICES); result.Remove(DICOM_TAG_NUMBER_OF_TEMPORAL_POSITIONS); result.Remove(DICOM_TAG_NUMBER_OF_TIME_SLICES); + result.Remove(DICOM_TAG_IMAGE_ORIENTATION_PATIENT); } void DicomMap::SetupFindInstanceTemplate(DicomMap& result) diff -r d2268c7a7ede -r 275780da54ae OrthancServer/DicomProtocol/DicomUserConnection.cpp --- a/OrthancServer/DicomProtocol/DicomUserConnection.cpp Tue Oct 13 16:30:48 2015 +0200 +++ b/OrthancServer/DicomProtocol/DicomUserConnection.cpp Tue Oct 13 16:57:55 2015 +0200 @@ -384,8 +384,9 @@ } - static void CheckFindQuery(ResourceType level, - const DicomMap& fields) + static void FixFindQuery(DicomMap& fixedQuery, + ResourceType level, + const DicomMap& fields) { std::set allowedTags; @@ -422,8 +423,11 @@ const DicomTag& tag = query.GetElement(i).GetTag(); if (allowedTags.find(tag) == allowedTags.end()) { - LOG(ERROR) << "Tag not allowed for this C-Find level: " << tag; - throw OrthancException(ErrorCode_BadRequest); + LOG(WARNING) << "Tag not allowed for this C-Find level, will be ignored: " << tag; + } + else + { + fixedQuery.SetValue(tag, query.GetElement(i).GetValue()); } } } @@ -471,9 +475,10 @@ void DicomUserConnection::Find(DicomFindAnswers& result, ResourceType level, - const DicomMap& fields) + const DicomMap& originalFields) { - CheckFindQuery(level, fields); + DicomMap fields; + FixFindQuery(fields, level, originalFields); CheckIsOpen();