changeset 6976:5b8ee3b407b1

Multitenant plugin: don't filter against SpecificCharacterSet
author Alain Mazy <am@orthanc.team>
date Thu, 02 Jul 2026 17:33:14 +0200
parents 0e6a65731bbc
children aacfa67e39ce
files OrthancServer/Plugins/Samples/MultitenantDicom/FindRequestHandler.cpp
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/OrthancServer/Plugins/Samples/MultitenantDicom/FindRequestHandler.cpp	Thu Jul 02 17:20:47 2026 +0200
+++ b/OrthancServer/Plugins/Samples/MultitenantDicom/FindRequestHandler.cpp	Thu Jul 02 17:33:14 2026 +0200
@@ -27,6 +27,7 @@
 
 #include "../../../../OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.h"
 #include "../../../../OrthancFramework/Sources/OrthancException.h"
+#include "../../../../OrthancFramework/Sources/Logging.h"
 
 #include "../Common/OrthancPluginCppWrapper.h"
 
@@ -50,6 +51,11 @@
   {
     std::string s;
 
+    if (*it == Orthanc::DICOM_TAG_SPECIFIC_CHARACTER_SET)
+    {
+      continue;  // skip it since we don't want it to be a filter criteria
+    }
+
     if (input.LookupStringValue(s, *it, false) &&
         !s.empty())
     {
@@ -72,6 +78,8 @@
   request["Level"] = EnumerationToString(PluginToolbox::ParseQueryRetrieveLevel(level));
   request["Query"] = query;
 
+  // LOG(INFO) << request.toStyledString();
+
   Json::Value response;
   if (!OrthancPlugins::RestApiPost(response, "/tools/find", request, false) ||
       response.type() != Json::arrayValue)
@@ -79,6 +87,8 @@
     throw Orthanc::OrthancException(Orthanc::ErrorCode_NetworkProtocol, "Invalid DICOM C-FIND request");
   }
 
+  // LOG(INFO) << response.toStyledString();
+
   for (Json::Value::ArrayIndex i = 0; i < response.size(); i++)
   {
     if (response[i].type() != Json::objectValue ||