Sha256: 56b80bcfe98332309f20877af38d692404371dbaf4d1b1f2dbbeb4b69805a8f7

Contents?: true

Size: 893 Bytes

Versions: 60

Compression:

Stored size: 893 Bytes

Contents

module Comee
  module Core
    class ReorderReport < ApplicationRecord
      before_create :set_reference_number
      belongs_to :store
      has_many :reorder_report_items

      validates :report_date, presence: true
      validates :reference_number, uniqueness: true

      def self.ransackable_attributes(_auth_object = nil)
        %w[reference_number report_date store_id]
      end

      def self.ransackable_associations(_auth_object = nil)
        %w[store]
      end

      private

      def set_reference_number
        self.reference_number = generate_reference_number
      end

      def generate_reference_number
        loop do
          number = SecureRandom.random_number(10000000)
          reference_number = "RR-#{number}"

          break reference_number unless ReorderReport.where(reference_number: reference_number).exists?
        end
      end
    end
  end
end

Version data entries

60 entries across 60 versions & 1 rubygems

Version Path
comee_core-0.3.62 app/models/comee/core/reorder_report.rb
comee_core-0.3.61 app/models/comee/core/reorder_report.rb
comee_core-0.3.60 app/models/comee/core/reorder_report.rb
comee_core-0.3.59 app/models/comee/core/reorder_report.rb
comee_core-0.3.58 app/models/comee/core/reorder_report.rb
comee_core-0.3.57 app/models/comee/core/reorder_report.rb
comee_core-0.3.56 app/models/comee/core/reorder_report.rb
comee_core-0.3.55 app/models/comee/core/reorder_report.rb
comee_core-0.3.54 app/models/comee/core/reorder_report.rb
comee_core-0.3.53 app/models/comee/core/reorder_report.rb
comee_core-0.3.51 app/models/comee/core/reorder_report.rb
comee_core-0.3.50 app/models/comee/core/reorder_report.rb
comee_core-0.3.49 app/models/comee/core/reorder_report.rb
comee_core-0.3.48 app/models/comee/core/reorder_report.rb
comee_core-0.3.47 app/models/comee/core/reorder_report.rb
comee_core-0.3.46 app/models/comee/core/reorder_report.rb
comee_core-0.3.45 app/models/comee/core/reorder_report.rb
comee_core-0.3.44 app/models/comee/core/reorder_report.rb
comee_core-0.3.43 app/models/comee/core/reorder_report.rb
comee_core-0.3.42 app/models/comee/core/reorder_report.rb