summaryrefslogtreecommitdiff
path: root/app/models/switchboard_entry.rb
diff options
context:
space:
mode:
authorStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-03-08 12:09:17 +0100
committerStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-03-08 12:09:17 +0100
commit6374c0b3e38dfc74eb1b4a5a1fcc5229eacdcaf2 (patch)
tree016deaf97e961973069a592537594348df7bb5a7 /app/models/switchboard_entry.rb
parentdb9dbf03d88cfbd68ce99a242730b9e870339539 (diff)
Added SwitchboardEntry scaffold. switchboard has_many switchboard_entries
Diffstat (limited to 'app/models/switchboard_entry.rb')
-rw-r--r--app/models/switchboard_entry.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/app/models/switchboard_entry.rb b/app/models/switchboard_entry.rb
new file mode 100644
index 0000000..d1e9a0c
--- /dev/null
+++ b/app/models/switchboard_entry.rb
@@ -0,0 +1,30 @@
+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,
+ :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