Module: MnoEnterprise::Concerns::Models::Organization

Extended by:
ActiveSupport::Concern
Included in:
Organization
Defined in:
lib/mno_enterprise/concerns/models/organization.rb

Overview

Schema Information

Endpoint:

- /v1/organizations
- /v1/users/:user_id/organizations

id                       :integer         not null, primary key
uid                      :string(255)
name                     :string(255)
created_at               :datetime        not null
updated_at               :datetime        not null
account_frozen           :boolean         default(FALSE)
free_trial_end_at        :datetime
soa_enabled              :boolean         default(TRUE)
mails                    :text
logo                     :string(255)
latitude                 :float           default(0.0)
longitude                :float           default(0.0)
geo_country_code         :string(255)
geo_state_code           :string(255)
geo_city                 :string(255)
geo_tz                   :string(255)
geo_currency             :string(255)
meta_data                :text
industry                 :string(255)
size                     :string(255)

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#add_user(user, role = 'Member') ⇒ Object

Add a user to the organization with the provided role TODO: specs



90
91
92
# File 'lib/mno_enterprise/concerns/models/organization.rb', line 90

def add_user(user,role = 'Member')
  self.users.create(id: user.id, role: role)
end

#has_credit_card_details?Boolean

Returns:

  • (Boolean)


127
128
129
# File 'lib/mno_enterprise/concerns/models/organization.rb', line 127

def has_credit_card_details?
  credit_card.persisted?
end

#last_invoiceObject



94
95
96
97
# File 'lib/mno_enterprise/concerns/models/organization.rb', line 94

def last_invoice
  inv = self.raw_last_invoice
  inv.id ? inv : nil
end

#members(show_staged = false) ⇒ Object

Instance methods

Return the list of users + active invites TODO: specs



83
84
85
86
# File 'lib/mno_enterprise/concerns/models/organization.rb', line 83

def members(show_staged=false)
  invites = show_staged ? self.org_invites.active_or_staged : self.org_invites.active
  [self.users, invites.to_a].flatten
end

#payment_restrictionObject



123
124
125
# File 'lib/mno_enterprise/concerns/models/organization.rb', line 123

def payment_restriction
   && ['payment_restriction']
end

#remove_user(user) ⇒ Object

Remove a user from the organization TODO: specs



105
106
107
# File 'lib/mno_enterprise/concerns/models/organization.rb', line 105

def remove_user(user)
  self.users.destroy(id: user.id)
end

#to_audit_eventObject



115
116
117
118
119
120
121
# File 'lib/mno_enterprise/concerns/models/organization.rb', line 115

def to_audit_event
  {
    id: id,
    uid: uid,
    name: name
  }
end

#update_user(user, role = 'Member') ⇒ Object

Change a user role in the organization TODO: specs



111
112
113
# File 'lib/mno_enterprise/concerns/models/organization.rb', line 111

def update_user(user, role = 'Member')
  self.users.update(id: user.id, role: role)
end