Mercurial > hg > orthanc
comparison OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp @ 2518:63d2cc0fb40a
refactoring
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 29 Mar 2018 14:41:41 +0200 |
parents | d3d306bc4b99 |
children | 2e6b7862ccf2 |
comparison
equal
deleted
inserted
replaced
2517:d3d306bc4b99 | 2518:63d2cc0fb40a |
---|---|
198 } | 198 } |
199 } | 199 } |
200 | 200 |
201 | 201 |
202 static void ParseAnonymizationRequest(DicomModification& target, | 202 static void ParseAnonymizationRequest(DicomModification& target, |
203 const Json::Value& request, | 203 bool& patientNameReplaced, |
204 ServerContext& context) | 204 const Json::Value& request) |
205 { | 205 { |
206 if (!request.isObject()) | 206 if (!request.isObject()) |
207 { | 207 { |
208 throw OrthancException(ErrorCode_BadFileFormat); | 208 throw OrthancException(ErrorCode_BadFileFormat); |
209 } | 209 } |
247 if (request.isMember("Keep")) | 247 if (request.isMember("Keep")) |
248 { | 248 { |
249 ParseListOfTags(target, request["Keep"], TagOperation_Keep, force); | 249 ParseListOfTags(target, request["Keep"], TagOperation_Keep, force); |
250 } | 250 } |
251 | 251 |
252 if (target.IsReplaced(DICOM_TAG_PATIENT_NAME) && | 252 patientNameReplaced = (target.IsReplaced(DICOM_TAG_PATIENT_NAME) && |
253 target.GetReplacement(DICOM_TAG_PATIENT_NAME) == patientName) | 253 target.GetReplacement(DICOM_TAG_PATIENT_NAME) == patientName); |
254 { | |
255 // Overwrite the random Patient's Name by one that is more | |
256 // user-friendly (provided none was specified by the user) | |
257 target.Replace(DICOM_TAG_PATIENT_NAME, GeneratePatientName(context), true); | |
258 } | |
259 } | 254 } |
260 | 255 |
261 | 256 |
262 static void ParseModifyRequest(DicomModification& target, | 257 static void ParseModifyRequest(DicomModification& target, |
263 const RestApiPostCall& call) | 258 const RestApiPostCall& call) |
283 | 278 |
284 Json::Value request; | 279 Json::Value request; |
285 if (call.ParseJsonRequest(request) && | 280 if (call.ParseJsonRequest(request) && |
286 request.isObject()) | 281 request.isObject()) |
287 { | 282 { |
288 ParseAnonymizationRequest(target, request, OrthancRestApi::GetContext(call)); | 283 bool patientNameReplaced; |
284 ParseAnonymizationRequest(target, patientNameReplaced, request); | |
285 | |
286 if (patientNameReplaced) | |
287 { | |
288 // Overwrite the random Patient's Name by one that is more | |
289 // user-friendly (provided none was specified by the user) | |
290 target.Replace(DICOM_TAG_PATIENT_NAME, GeneratePatientName(OrthancRestApi::GetContext(call)), true); | |
291 } | |
289 } | 292 } |
290 else | 293 else |
291 { | 294 { |
292 throw OrthancException(ErrorCode_BadFileFormat); | 295 throw OrthancException(ErrorCode_BadFileFormat); |
293 } | 296 } |