/** * Orthanc - A Lightweight, RESTful DICOM Store * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics * Department, University Hospital of Liege, Belgium * Copyright (C) 2017-2023 Osimis S.A., Belgium * Copyright (C) 2024-2025 Orthanc Team SRL, Belgium * Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium * * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . **/ function IsoToDicomDate(s) { return s.substring(0, 4) + s.substring(5, 7) + s.substring(8, 10); } function GenerateDicomDate(days) { var today = new Date(); var utc = new Date(today); utc.setDate(today.getDate() + days); /** * "utc" contains the date of interest, as selected by the user. * Calling "utc.toISOString()" would return a date in the UTC * timezone, whereas the user expects the date to be expressed in * her own timezone. We thus adjust from UTC to the local timezome. * https://stackoverflow.com/a/50537435 * https://groups.google.com/g/orthanc-users/c/dK7EEPVpedk/m/DPtMRFnKAgAJ **/ var timezoneOffset = today.getTimezoneOffset() * 60 * 1000; var localDate = new Date(utc.getTime() - timezoneOffset); return IsoToDicomDate(localDate.toISOString()); } $('#query-retrieve').live('pagebeforeshow', function() { var targetDate; $.ajax({ url: '../modalities', dataType: 'json', async: false, cache: false, success: function(modalities) { var targetServer = $('#qr-server'); var option; $('option', targetServer).remove(); for (var i = 0; i < modalities.length; i++) { option = $('