Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class User < ActiveRecord::Base
- self.table_name = "users_standard"
- include Scopeable::Clientable, Searchable, Auditable
- attr_accessor :password, :password_confirmation
- belongs_to :role
- has_many :discussion_posts, dependent: :destroy
- has_many :passtokens
- has_many :attendees
- has_many :authorized_ipads
- has_many :bookjobs
- with_options foreign_key: "user_id" do |user|
- user.has_and_belongs_to_many :questions, join_table: "questions_users"
- user.has_and_belongs_to_many :chatposts, join_table: "chatusers"
- user.has_and_belongs_to_many :permissions, join_table: "permissions_users"
- user.has_and_belongs_to_many :committees, join_table: "committees_users"
- user.has_and_belongs_to_many :bookfolders, join_table: "bookfolders_users"
- user.has_and_belongs_to_many :efolders, join_table: "efolders_users"
- user.has_and_belongs_to_many :surveys, join_table: "surveys_users"
- user.has_and_belongs_to_many :tasks, join_table: "tasks_users"
- end
- with_options uniqueness: { scope: :client_id } do |user|
- user.validates :email, email: true, allow_blank: true
- user.validates :companyemail, email: true, allow_blank: true
- user.validates :login, presence: true
- end
- validates :firstname, :lastname, presence: true
- validates :password, presence: true, confirmation: { message: "does not match" }, password: true, allow_blank: true
- before_save do |u|
- if u.password.present?
- self.password_hash = SecurePasswordService.new(self.password).secure
- self.p2 = true
- end
- end
- accepts_nested_attributes_for :permissions, allow_destroy: true
- delegate :title, :hostname, :forge_email_sender, :email_from, :email_new_account, :profile_update_email, :remove_email_footer, :disclaimer, :disclaimer_expiration_period, :password_change_days, :ftlogin, :user_lockout, to: :client, prefix: true
- mount_uploader :photo, UserPhotoUploader
- def self.active
- where('active = 1 and (system = 0 or system is null) and global_spawn != 1').order('lastname asc')
- end
- def self.private_directory_list(user)
- joins(:committees).where('committees.id in (?)', user.committees.map(&:id))
- end
- def endpoint_safe
- { user: self.attributes.with_indifferent_access.except!(:client_id) }
- end
- def is_committee_member?(committee)
- (committee.is_a?(Committee) && self.committees.include?(committee)) or (!committee.is_a?(Committee) && committee.map{ |c| self.committees.include?(c) })
- end
- end
Add Comment
Please, Sign In to add comment