recruitment/app/models/recruitment_job.rb

47 lines
1.7 KiB
Ruby

class RecruitmentJob
include Mongoid::Document
include Mongoid::Timestamps
include Slug
field :post_type #type1 => Job, type2 => Internship, type3 => Exchange
field :job_title, as: :slug_title, localize: true
field :job_description, localize: true
field :responsibility, localize: true
field :other_conditions, localize: true
field :salary #type1 => negotiable type2 => according to company rules
field :travel_assignment #type1 => Need to travel, type2 => occasionally, type3 => travelling not required
field :working_time #type1 => Day Shift, type2 => Night Shift
field :holiday_system #type1 => According to Company Rules, type2 => other
field :holiday_system_other
field :joining_time #type1 => Immediate, type2 => withing week, type3 => within a month, type4 => more than a month
field :work_type #type1 => Office worker, type2 => graduate, type3 => foreigner, type4 => internship, type5 => SOHO
field :work_experience_years, type: Integer, :default => 0
field :work_experience_months, type: Integer, :default => 0
field :academic_requirement
field :language_requirement
field :skills, type: Array, :default => []
field :category
field :location_of_work
field :industrial_area
field :academic_type #type1 -> bachelors, type2 -> masters, type3 -> phd, type4 -> course
field :min_salary, type: Integer, :default => 0
field :max_salary, type: Integer, :default => 0
field :filled, type: Boolean, :default => false
belongs_to :employer_profile
scope :not_filled, ->{where(:filled => false)}
def get_category
RecruitmentCategory.find(self.category).job_category rescue ""
end
def get_application_count
EmployeeJobApplication.where(:job => self.id.to_s).not_archived.count
end
end