Mercurial > hg > orthanc
diff OrthancServer/Sources/ResourceFinder.cpp @ 5697:f375e9983943 find-refactoring
fix
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 12 Jul 2024 11:55:27 +0200 |
parents | 0f8b6214308a |
children | e8e028aed89f |
line wrap: on
line diff
--- a/OrthancServer/Sources/ResourceFinder.cpp Fri Jul 12 10:56:33 2024 +0200 +++ b/OrthancServer/Sources/ResourceFinder.cpp Fri Jul 12 11:55:27 2024 +0200 @@ -624,8 +624,8 @@ { if (request_.GetLevel() == ResourceType_Patient) { - request_.GetParentSpecification(ResourceType_Patient).SetRetrieveMainDicomTags(true); - request_.GetParentSpecification(ResourceType_Patient).SetRetrieveMetadata(true); + request_.SetRetrieveMainDicomTags(true); + request_.SetRetrieveMetadata(true); requestedPatientTags_.insert(tag); } else @@ -634,8 +634,19 @@ * This comes from the fact that patient-level tags are copied * at the study level, as implemented by "ResourcesContent::AddResource()". **/ - request_.GetParentSpecification(ResourceType_Study).SetRetrieveMainDicomTags(true); - request_.GetParentSpecification(ResourceType_Study).SetRetrieveMetadata(true); + requestedStudyTags_.insert(tag); + + if (request_.GetLevel() == ResourceType_Study) + { + request_.SetRetrieveMainDicomTags(true); + request_.SetRetrieveMetadata(true); + } + else + { + request_.GetParentSpecification(ResourceType_Study).SetRetrieveMainDicomTags(true); + request_.GetParentSpecification(ResourceType_Study).SetRetrieveMetadata(true); + } + requestedStudyTags_.insert(tag); } @@ -652,8 +663,17 @@ } else { - request_.GetParentSpecification(ResourceType_Study).SetRetrieveMainDicomTags(true); - request_.GetParentSpecification(ResourceType_Study).SetRetrieveMetadata(true); + if (request_.GetLevel() == ResourceType_Study) + { + request_.SetRetrieveMainDicomTags(true); + request_.SetRetrieveMetadata(true); + } + else + { + request_.GetParentSpecification(ResourceType_Study).SetRetrieveMainDicomTags(true); + request_.GetParentSpecification(ResourceType_Study).SetRetrieveMetadata(true); + } + requestedStudyTags_.insert(tag); } @@ -671,8 +691,17 @@ } else { - request_.GetParentSpecification(ResourceType_Series).SetRetrieveMainDicomTags(true); - request_.GetParentSpecification(ResourceType_Series).SetRetrieveMetadata(true); + if (request_.GetLevel() == ResourceType_Series) + { + request_.SetRetrieveMainDicomTags(true); + request_.SetRetrieveMetadata(true); + } + else + { + request_.GetParentSpecification(ResourceType_Series).SetRetrieveMainDicomTags(true); + request_.GetParentSpecification(ResourceType_Series).SetRetrieveMetadata(true); + } + requestedSeriesTags_.insert(tag); }