summaryrefslogtreecommitdiff
path: root/app/models/switchboard_entry.rb
diff options
context:
space:
mode:
authorStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-06-20 19:06:19 +0200
committerStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-06-20 19:06:19 +0200
commiteb0e1cc5c26275ff3e5c341404e8bc558f8312b8 (patch)
tree71f449ccd6f15422717de3ac24f87d5e888ddd79 /app/models/switchboard_entry.rb
parentdf6e17e48995f25e72509986f30700d778b179b6 (diff)
parent3b27a5d45b12f6bac65da2a8e17387bfda42a2f1 (diff)
Merge branch 'develop'
Diffstat (limited to 'app/models/switchboard_entry.rb')
-rw-r--r--app/models/switchboard_entry.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/app/models/switchboard_entry.rb b/app/models/switchboard_entry.rb
index 76d002f..44de7fd 100644
--- a/app/models/switchboard_entry.rb
+++ b/app/models/switchboard_entry.rb
@@ -5,6 +5,8 @@ class SwitchboardEntry < ActiveRecord::Base
belongs_to :switchboard, :touch => true
belongs_to :sip_account, :touch => true
+ has_many :phone_numbers, :through => :sip_account
+
validates :switchboard,
:presence => true
@@ -28,4 +30,37 @@ class SwitchboardEntry < ActiveRecord::Base
self.name.to_s
end
end
+
+ def avatar_src
+ if self.sip_account.sip_accountable.class == User
+ if self.sip_account.sip_accountable.image?
+ self.sip_account.sip_accountable.image_url(:profile)
+ else
+ if self.sip_account.sip_accountable.male?
+ '/assets/icons/user-male-16x.png'
+ else
+ '/assets/icons/user-female-16x.png'
+ end
+ end
+ else
+ nil
+ end
+ end
+
+ def callstate
+ if self.sip_account.call_legs.where(callstate: 'ACTIVE').any? || self.sip_account.b_call_legs.where(b_callstate: 'ACTIVE').any?
+ 'ACTIVE'
+ else
+ if self.sip_account.call_legs.where(callstate: 'EARLY').any?
+ 'EARLY'
+ else
+ if self.sip_account.call_legs.where(callstate: 'RINGING').any?
+ 'RINGING'
+ else
+ nil
+ end
+ end
+ end
+ end
+
end