Bugfix job role info allocation
This commit is contained in:
@@ -16,7 +16,7 @@ class Job < ApplicationRecord
|
|||||||
validate :acceptable_pdf
|
validate :acceptable_pdf
|
||||||
|
|
||||||
before_save :update_status_changed_at, if: :will_save_change_to_status?
|
before_save :update_status_changed_at, if: :will_save_change_to_status?
|
||||||
before_save :update_user_status_infos, if: :will_save_change_to_status?
|
before_save :update_user_status_infos, if: -> { will_save_change_to_status? || new_record? }
|
||||||
|
|
||||||
before_save :set_cost_qm
|
before_save :set_cost_qm
|
||||||
before_save :calc_cost, if: :printed_pages_changes?
|
before_save :calc_cost, if: :printed_pages_changes?
|
||||||
@@ -205,6 +205,10 @@ class Job < ApplicationRecord
|
|||||||
self.operator_lastname = nil
|
self.operator_lastname = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def operator_infos_set?
|
||||||
|
self.operator && self.operator_firstname && self.operator_lastname
|
||||||
|
end
|
||||||
|
|
||||||
def set_cashier_infos
|
def set_cashier_infos
|
||||||
self.paid_at = Time.now
|
self.paid_at = Time.now
|
||||||
self.cashier = current_user unless self.cashier
|
self.cashier = current_user unless self.cashier
|
||||||
@@ -226,25 +230,23 @@ class Job < ApplicationRecord
|
|||||||
end
|
end
|
||||||
|
|
||||||
def update_user_status_infos
|
def update_user_status_infos
|
||||||
if status_changed?
|
case status.to_sym
|
||||||
case status.to_sym
|
when :open
|
||||||
when :open
|
reset_operator_and_cashier_infos
|
||||||
reset_operator_and_cashier_infos
|
self.printed_at = nil
|
||||||
self.printed_at = nil
|
self.paid_at = nil
|
||||||
self.paid_at = nil
|
when :printing
|
||||||
when :printing
|
clear_cashier_infos
|
||||||
clear_cashier_infos
|
set_operator_infos
|
||||||
set_operator_infos
|
self.printed_at = nil
|
||||||
self.printed_at = nil
|
when :pickup
|
||||||
when :pickup
|
clear_cashier_infos
|
||||||
clear_cashier_infos
|
self.printed_at = Time.now unless self.printed_at
|
||||||
self.printed_at = Time.now unless self.printed_at
|
when :paid
|
||||||
when :paid
|
set_operator_infos unless operator_infos_set?
|
||||||
set_operator_infos unless self.operator
|
self.printed_at = Time.now unless self.printed_at
|
||||||
self.printed_at = Time.now unless self.printed_at
|
set_cashier_infos
|
||||||
set_cashier_infos unless self.cashier
|
self.paid_at = Time.now
|
||||||
self.paid_at = Time.now unless self.paid_at
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ students = []
|
|||||||
# created_at = Faker::Time.backward(days: 60, period: :day)
|
# created_at = Faker::Time.backward(days: 60, period: :day)
|
||||||
created_at = Faker::Time.between_dates(from: Date.today - 60, to: Date.today - 30, period: :day)
|
created_at = Faker::Time.between_dates(from: Date.today - 60, to: Date.today - 30, period: :day)
|
||||||
email="#{firstname}.#{lastname}@student.hs-rm.de".downcase.gsub('ö', 'oe').gsub('ä', 'ae').gsub('ü', 'ue').gsub('ß', 'ss')
|
email="#{firstname}.#{lastname}@student.hs-rm.de".downcase.gsub('ö', 'oe').gsub('ä', 'ae').gsub('ü', 'ue').gsub('ß', 'ss')
|
||||||
|
puts "Create Student:" + email
|
||||||
email.delete(" ")
|
email.delete(" ")
|
||||||
students << User.new(email: email, firstname: firstname, lastname: lastname, password_digest: BCrypt::Password.create("password"), verified: true, created_at: created_at)
|
students << User.new(email: email, firstname: firstname, lastname: lastname, password_digest: BCrypt::Password.create("password"), verified: true, created_at: created_at)
|
||||||
students.last.save!
|
students.last.save!
|
||||||
@@ -44,6 +45,7 @@ end
|
|||||||
# created_at = Faker::Time.between_dates(from: Date.today - 60, to: Date.today, period: :day)
|
# created_at = Faker::Time.between_dates(from: Date.today - 60, to: Date.today, period: :day)
|
||||||
email="#{firstname}.#{lastname}@student.hs-rm.de".downcase.gsub('ö', 'oe').gsub('ä', 'ae').gsub('ü', 'ue').gsub('ß', 'ss')
|
email="#{firstname}.#{lastname}@student.hs-rm.de".downcase.gsub('ö', 'oe').gsub('ä', 'ae').gsub('ü', 'ue').gsub('ß', 'ss')
|
||||||
email.delete(" ")
|
email.delete(" ")
|
||||||
|
puts "Create Student:" + email
|
||||||
User.new(email: email, firstname: firstname, lastname: lastname, password_digest: BCrypt::Password.create("password"), verified: true, created_at: created_at).save!
|
User.new(email: email, firstname: firstname, lastname: lastname, password_digest: BCrypt::Password.create("password"), verified: true, created_at: created_at).save!
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -55,6 +57,7 @@ end
|
|||||||
# created_at = Faker::Time.between_dates(from: Date.today - 60, to: Date.today, period: :day)
|
# created_at = Faker::Time.between_dates(from: Date.today - 60, to: Date.today, period: :day)
|
||||||
email="#{firstname}.#{lastname}@student.hs-rm.de".downcase.gsub('ö', 'oe').gsub('ä', 'ae').gsub('ü', 'ue').gsub('ß', 'ss')
|
email="#{firstname}.#{lastname}@student.hs-rm.de".downcase.gsub('ö', 'oe').gsub('ä', 'ae').gsub('ü', 'ue').gsub('ß', 'ss')
|
||||||
email.delete(" ")
|
email.delete(" ")
|
||||||
|
puts "Create Student:" + email
|
||||||
User.new(email: email, firstname: firstname, lastname: lastname, password_digest: BCrypt::Password.create("password"), verified: false, created_at: created_at).save!
|
User.new(email: email, firstname: firstname, lastname: lastname, password_digest: BCrypt::Password.create("password"), verified: false, created_at: created_at).save!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user