diff --git a/services/web/public/coffee/ide/pdf/controllers/PdfController.coffee b/services/web/public/coffee/ide/pdf/controllers/PdfController.coffee index 389631c0a7..c717ef6b82 100644 --- a/services/web/public/coffee/ide/pdf/controllers/PdfController.coffee +++ b/services/web/public/coffee/ide/pdf/controllers/PdfController.coffee @@ -224,6 +224,12 @@ define [ _csrf: window.csrfToken }, {params: params} + buildPdfDownloadUrl = (pdfDownloadDomain, path)-> + if pdfDownloadDomain? + return "#{pdfDownloadDomain}#{path}" + else + return path + parseCompileResponse = (response) -> # keep last url @@ -244,11 +250,7 @@ define [ $scope.pdf.compileInProgress = false $scope.pdf.autoCompileDisabled = false - buildPdfDownloadUrl = (path)-> - if pdfDownloadDomain? - return "#{pdfDownloadDomain}#{path}" - else - return path + # make a cache to look up files by name fileByPath = {} if response?.outputFiles? @@ -267,24 +269,24 @@ define [ if response.status == "timedout" $scope.pdf.view = 'errors' $scope.pdf.timedout = true - fetchLogs(fileByPath) + fetchLogs(fileByPath, {pdfDownloadDomain:pdfDownloadDomain}) else if response.status == "terminated" $scope.pdf.view = 'errors' $scope.pdf.compileTerminated = true - fetchLogs(fileByPath) + fetchLogs(fileByPath, {pdfDownloadDomain:pdfDownloadDomain}) else if response.status in ["validation-fail", "validation-pass"] $scope.pdf.view = 'pdf' - $scope.pdf.url = buildPdfDownloadUrl last_pdf_url + $scope.pdf.url = buildPdfDownloadUrl pdfDownloadDomain, last_pdf_url $scope.shouldShowLogs = true $scope.pdf.failedCheck = true if response.status is "validation-fail" event_tracking.sendMB "syntax-check-#{response.status}" - fetchLogs(fileByPath, { validation: true }) + fetchLogs(fileByPath, { validation: true, pdfDownloadDomain:pdfDownloadDomain}) else if response.status == "exited" $scope.pdf.view = 'pdf' $scope.pdf.compileExited = true - $scope.pdf.url = buildPdfDownloadUrl last_pdf_url + $scope.pdf.url = buildPdfDownloadUrl pdfDownloadDomain, last_pdf_url $scope.shouldShowLogs = true - fetchLogs(fileByPath) + fetchLogs(fileByPath, {pdfDownloadDomain:pdfDownloadDomain}) else if response.status == "autocompile-backoff" if $scope.pdf.isAutoCompileOnLoad # initial autocompile $scope.pdf.view = 'uncompiled' @@ -300,7 +302,7 @@ define [ $scope.pdf.view = 'errors' $scope.pdf.failure = true $scope.shouldShowLogs = true - fetchLogs(fileByPath) + fetchLogs(fileByPath, {pdfDownloadDomain:pdfDownloadDomain}) else if response.status == 'clsi-maintenance' $scope.pdf.view = 'errors' $scope.pdf.clsiMaintenance = true @@ -320,12 +322,12 @@ define [ # define the base url. if the pdf file has a build number, pass it to the clsi in the url if fileByPath['output.pdf']?.url? - $scope.pdf.url = buildPdfDownloadUrl fileByPath['output.pdf'].url + $scope.pdf.url = buildPdfDownloadUrl pdfDownloadDomain, fileByPath['output.pdf'].url else if fileByPath['output.pdf']?.build? build = fileByPath['output.pdf'].build - $scope.pdf.url = buildPdfDownloadUrl "/project/#{$scope.project_id}/build/#{build}/output/output.pdf" + $scope.pdf.url = buildPdfDownloadUrl pdfDownloadDomain, "/project/#{$scope.project_id}/build/#{build}/output/output.pdf" else - $scope.pdf.url = buildPdfDownloadUrl "/project/#{$scope.project_id}/output/output.pdf" + $scope.pdf.url = buildPdfDownloadUrl pdfDownloadDomain, "/project/#{$scope.project_id}/output/output.pdf" # check if we need to bust cache (build id is unique so don't need it in that case) if not fileByPath['output.pdf']?.build? qs.cache_bust = "#{Date.now()}" @@ -335,7 +337,7 @@ define [ qs.popupDownload = true $scope.pdf.downloadUrl = "/project/#{$scope.project_id}/output/output.pdf" + createQueryString(qs) - fetchLogs(fileByPath) + fetchLogs(fileByPath, {pdfDownloadDomain:pdfDownloadDomain}) IGNORE_FILES = ["output.fls", "output.fdb_latexmk"] $scope.pdf.outputFiles = [] @@ -376,11 +378,11 @@ define [ compileGroup:ide.compileGroup clsiserverid:ide.clsiServerId if file?.url? # FIXME clean this up when we have file.urls out consistently - opts.url = file.url + opts.url = buildPdfDownloadUrl options.pdfDownloadDomain, file.url else if file?.build? - opts.url = "/project/#{$scope.project_id}/build/#{file.build}/output/#{name}" + opts.url = buildPdfDownloadUrl options.pdfDownloadDomain, "/project/#{$scope.project_id}/build/#{file.build}/output/#{name}" else - opts.url = "/project/#{$scope.project_id}/output/#{name}" + opts.url = buildPdfDownloadUrl options.pdfDownloadDomain, "/project/#{$scope.project_id}/output/#{name}" # check if we need to bust cache (build id is unique so don't need it in that case) if not file?.build? opts.params.cache_bust = "#{Date.now()}"