From 3803d6657b53200866286faef6bc7f67985e0dc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20B=C3=B6hm?= Date: Mon, 7 Oct 2024 10:35:46 +0200 Subject: [PATCH] Analyze PDF only if present --- app/models/job.rb | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/app/models/job.rb b/app/models/job.rb index b551e0e..40dd5db 100644 --- a/app/models/job.rb +++ b/app/models/job.rb @@ -13,8 +13,8 @@ class Job < ApplicationRecord validates_presence_of :pdf, unless: :created_by_operator? validates :privacy_policy, acceptance: true, unless: :created_by_operator? validates :number_of_plans_a0, :number_of_plans_a1, :number_of_plans_a2, :number_of_plans_a3, :costum_qm_plan, numericality: { greater_than_or_equal_to: 0 } + validate :acceptable_pdf, unless: :created_by_operator? - validate :acceptable_pdf before_save :update_status_changed_at, if: :will_save_change_to_status? before_save :update_user_status_infos, if: -> { will_save_change_to_status? || new_record? } @@ -173,15 +173,17 @@ class Job < ApplicationRecord # TODO: add any check if attachment has changed # pdfs.each do |pdf| - pdf.blob.open do |file| - # file = ActiveStorage::Blob.service.path_for(pdf.key).to_s - pdf_analyzer = Services::PdfAnalyzer.new(file) - pdf_analyzer.analyze - self.number_of_plans_a0 += pdf_analyzer.pages_a0 - self.number_of_plans_a1 += pdf_analyzer.pages_a1 - self.number_of_plans_a2 += pdf_analyzer.pages_a2 - self.number_of_plans_a3 += pdf_analyzer.pages_a3 - self.costum_qm_plan += pdf_analyzer.costum_qm + if pdf.blob + pdf.blob.open do |file| + # file = ActiveStorage::Blob.service.path_for(pdf.key).to_s + pdf_analyzer = Services::PdfAnalyzer.new(file) + pdf_analyzer.analyze + self.number_of_plans_a0 += pdf_analyzer.pages_a0 + self.number_of_plans_a1 += pdf_analyzer.pages_a1 + self.number_of_plans_a2 += pdf_analyzer.pages_a2 + self.number_of_plans_a3 += pdf_analyzer.pages_a3 + self.costum_qm_plan += pdf_analyzer.costum_qm + end end # end calc_cost