summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-02-26 10:48:43 +0100
committerStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-02-26 10:48:43 +0100
commitececfdf24075dd4e2794734a07187750b1b33e13 (patch)
tree63538e6f6135ce031da830da0ca6e14515e776e1 /app/models
parentb144a7885610d605447c80f659643524a839db0c (diff)
parentad2121462a9ea9a776756a188779a9d504f078b7 (diff)
Merge branch 'develop' of github.com:amooma/GS5 into develop
Diffstat (limited to 'app/models')
-rw-r--r--app/models/call_forward.rb3
-rw-r--r--app/models/ringtone.rb14
-rw-r--r--app/models/sip_account.rb2
3 files changed, 17 insertions, 2 deletions
diff --git a/app/models/call_forward.rb b/app/models/call_forward.rb
index b304439..a932e11 100644
--- a/app/models/call_forward.rb
+++ b/app/models/call_forward.rb
@@ -24,8 +24,8 @@ class CallForward < ActiveRecord::Base
belongs_to :call_forward_case
- validates_presence_of :depth
validates_numericality_of :depth,
+ :allow_nil => true,
:only_integer => true,
:greater_than_or_equal_to => 1,
:less_than_or_equal_to => (GsParameter.get('MAX_CALL_FORWARD_DEPTH').nil? ? 0 : GsParameter.get('MAX_CALL_FORWARD_DEPTH'))
@@ -59,7 +59,6 @@ class CallForward < ActiveRecord::Base
before_save :split_and_format_destination_numbers
after_save :set_presence
after_save :deactivate_concurring_entries, :if => Proc.new { |cf| cf.active == true }
- before_destroy :check_if_other_callforward_rules_have_to_be_destroyed
before_destroy :deactivate_connected_softkeys
def case_string
diff --git a/app/models/ringtone.rb b/app/models/ringtone.rb
index 36053c0..45ecd93 100644
--- a/app/models/ringtone.rb
+++ b/app/models/ringtone.rb
@@ -1,11 +1,25 @@
class Ringtone < ActiveRecord::Base
attr_accessible :audio, :bellcore_id
+ CORE_RINGTONES_AVAILABLE = {
+ 'Silence' => 0,
+ 'Ringtone 1' => 1,
+ 'Ringtone 2' => 2,
+ 'Ringtone 3' => 3,
+ 'Ringtone 4' => 4,
+ 'Ringtone 5' => 5,
+ 'Ringtone 6' => 6,
+ 'Ringtone 7' => 7,
+ 'Ringtone 8' => 8,
+ 'Ringtone 9' => 9,
+ 'Ringtone 10' => 10,
+ }
mount_uploader :audio, AudioUploader
validates_presence_of :audio, :if => Proc.new{ |ringtone| ringtone.bellcore_id.blank? }
validates_presence_of :ringtoneable_type
validates_presence_of :ringtoneable_id
validates_presence_of :ringtoneable
+ validates_uniqueness_of :ringtoneable_id, :scope => [:ringtoneable_type]
belongs_to :ringtoneable, :polymorphic => true
diff --git a/app/models/sip_account.rb b/app/models/sip_account.rb
index a39982b..034af7c 100644
--- a/app/models/sip_account.rb
+++ b/app/models/sip_account.rb
@@ -36,6 +36,8 @@ class SipAccount < ActiveRecord::Base
has_many :group_memberships, :as => :item, :dependent => :destroy, :uniq => true
has_many :groups, :through => :group_memberships
+ has_many :ringtones, :as => :ringtoneable, :dependent => :destroy
+
# Delegations:
#
delegate :host, :to => :sip_domain, :allow_nil => true