Sha256: 3b91a5bb4dd88c027c35eb7b98115516a79c3fa3423d8165ec60dbe2105347c0
Contents?: true
Size: 1.92 KB
Versions: 2
Compression:
Stored size: 1.92 KB
Contents
module Maestrano::Connector::Rails class Organization < ActiveRecord::Base # Enable Maestrano for this group maestrano_group_via :provider, :uid, :tenant do |group, maestrano| group.name = (maestrano.name.blank? ? "Default Group name" : maestrano.name) group.tenant = 'default' # To be set from SSO parameter #group.country_alpha2 = maestrano.country #group.free_trial_end_at = maestrano.free_trial_end_at #group.some_required_field = 'some-appropriate-default-value' end def initialize super self.synchronized_entities = {} Entity.entities_list.each do |entity| self.synchronized_entities[entity.to_sym] = true end end #=================================== # Associations #=================================== has_many :user_organization_rels has_many :users, through: :user_organization_rels has_many :id_maps, dependent: :destroy has_many :synchronizations, dependent: :destroy #=================================== # Validation #=================================== validates :name, presence: true validates :tenant, presence: true #=================================== # Serialized field #=================================== serialize :synchronized_entities def add_member(user) if self.tenant == user.tenant && !self.member?(user) self.user_organization_rels.create(user:user) end end def member?(user) self.user_organization_rels.where(user_id:user.id).count > 0 end def remove_member(user) self.user_organization_rels.where(user_id:user.id).delete_all end def from_omniauth(auth) self.oauth_provider = auth.provider self.oauth_uid = auth.uid self.oauth_token = auth.credentials.token self.refresh_token = auth.credentials.refresh_token self.instance_url = auth.credentials.instance_url self.save! end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
maestrano-connector-rails-0.4.1 | app/models/maestrano/connector/rails/organization.rb |
maestrano-connector-rails-0.4.0 | app/models/maestrano/connector/rails/organization.rb |