Repository URL to install this package:
|
Version:
2.23.0 ▾
|
module JPlatform
module ClientConcern
extend ActiveSupport::Concern
include PlatformConcern
included do
schema do
string :name, :status, :organization_id, :description, :admin_ids, :member_ids
end
has_many :social_accounts
def twitter_accounts; social_accounts.select { |sa| sa.class.name =~ /Twitter/ } end
def google_accounts; social_accounts.select { |sa| sa.class.name =~ /Google/ } end
def facebook_accounts; social_accounts.select { |sa| sa.class.name =~ /Facebook$/ } end
def facebook_personal_accounts; social_accounts.select { |sa| sa.class.name =~ /Facebook::Personal/ } end
def facebook_business_accounts; social_accounts.select { |sa| sa.class.name =~ /Facebook::Business/ } end
def facebook_pages; social_accounts.select { |sa| sa.class.name =~ /Facebook::Page/ } end
def buffer_accounts; social_accounts.select { |sa| sa.class.name =~ /Buffer/ } end
def linkedin_accounts; social_accounts.select { |sa| sa.class.name =~ /Linkedin/ } end
belongs_to :organization, class_name: "#{@module_name}::Organization"
has_many :client_memberships, class_name: "#{@module_name}::ClientMembership"
has_many :members, class_name: "#{@module_name}::User"
has_many :admin_client_memberships, class_name: "#{@module_name}::ClientMembership"
has_many :admins, class_name: "#{@module_name}::User"
has_many :projects, class_name: "#{@module_name}::Project"
validates :name, presence: { message: I18n.t('client._errors.name') }
validates :admin_ids, presence: { message: I18n.t('client._errors.admin_ids') }
def to_s; name end
end
end
end