demarches-normaliennes/app/models/traitement.rb
2024-11-26 16:35:45 +01:00

31 lines
1,001 B
Ruby

# frozen_string_literal: true
class Traitement < ApplicationRecord
belongs_to :dossier, optional: false
scope :en_construction, -> { where(state: Dossier.states.fetch(:en_construction)) }
scope :en_instruction, -> { where(state: Dossier.states.fetch(:en_instruction)) }
scope :termine, -> { where(state: Dossier::TERMINE) }
scope :for_traitement_time_stats, -> (procedure) do
includes(:dossier)
.termine
.where(dossier: procedure.dossiers.visible_by_administration)
.where.not('dossiers.depose_at' => nil)
.where.not(processed_at: nil)
.order(:processed_at)
end
def browser=(browser)
if browser == 'api'
self.browser_name = browser
self.browser_version = 2
self.browser_supported = true
elsif browser.present?
self.browser_name = browser.name
self.browser_version = browser.version
self.browser_supported = BrowserSupport.supported?(browser)
end
end
def termine? = state.in?(Dossier::TERMINE)
end