summaryrefslogtreecommitdiff
path: root/app/models/switchboard_entry.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/switchboard_entry.rb')
-rw-r--r--app/models/switchboard_entry.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/app/models/switchboard_entry.rb b/app/models/switchboard_entry.rb
new file mode 100644
index 0000000..76d002f
--- /dev/null
+++ b/app/models/switchboard_entry.rb
@@ -0,0 +1,31 @@
+class SwitchboardEntry < ActiveRecord::Base
+ # https://github.com/rails/strong_parameters
+ include ActiveModel::ForbiddenAttributesProtection
+
+ belongs_to :switchboard, :touch => true
+ belongs_to :sip_account, :touch => true
+
+ validates :switchboard,
+ :presence => true
+
+ validates :sip_account,
+ :presence => true
+
+ validates :name,
+ :length => { :maximum => 10 },
+ :uniqueness => {:scope => :switchboard_id},
+ :allow_blank => true,
+ :allow_nil => true
+
+ acts_as_list :scope => [ :switchboard_id ]
+
+ default_scope order(:position)
+
+ def to_s
+ if self.name.blank? && !self.sip_account.to_s.blank?
+ self.sip_account.to_s
+ else
+ self.name.to_s
+ end
+ end
+end