summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorspag <spag@golwen.net>2012-12-27 14:09:53 +0100
committerspag <spag@golwen.net>2012-12-27 14:09:53 +0100
commitb76b13bff13cd6bcb2d543386cae9868cd4d882f (patch)
tree776c5735cdb4d162b8085c52fabd88bb1f8f2b13 /app
parent98fe29192d3fb3f79ad8913b73c89b6e7f234eb4 (diff)
Fallback sip account in phone views
Diffstat (limited to 'app')
-rw-r--r--app/controllers/phones_controller.rb4
-rw-r--r--app/models/phone.rb2
-rw-r--r--app/views/phones/_form_core.html.haml1
-rw-r--r--app/views/phones/show.html.haml5
4 files changed, 11 insertions, 1 deletions
diff --git a/app/controllers/phones_controller.rb b/app/controllers/phones_controller.rb
index 0b765e8..b865cb1 100644
--- a/app/controllers/phones_controller.rb
+++ b/app/controllers/phones_controller.rb
@@ -13,6 +13,8 @@ class PhonesController < ApplicationController
end
def new
+ used_sip_account_ids = Phone.where('fallback_sip_account_id IS NOT NULL').collect {|r| r.fallback_sip_account }
+ @fallback_sip_accounts = SipAccount.where('sip_accountable_type = "Tenant" AND id NOT IN (?)', used_sip_account_ids).all
@phone = @phoneable.phones.build()
# Use the last phone.phone_model as the default.
#
@@ -34,6 +36,8 @@ class PhonesController < ApplicationController
end
def edit
+ used_sip_account_ids = Phone.where('fallback_sip_account_id IS NOT NULL AND id != ?', @phone.id).collect {|r| r.fallback_sip_account_id }
+ @fallback_sip_accounts = SipAccount.where('sip_accountable_type = "Tenant" AND id NOT IN (?)', used_sip_account_ids).all
end
def update
diff --git a/app/models/phone.rb b/app/models/phone.rb
index bd6e3f6..f78ebe2 100644
--- a/app/models/phone.rb
+++ b/app/models/phone.rb
@@ -4,7 +4,7 @@ class Phone < ActiveRecord::Base
attr_accessible :mac_address, :ip_address, :http_user, :http_password,
:phone_model_id, :hot_deskable, :nightly_reboot,
- :provisioning_key, :provisioning_key_active
+ :provisioning_key, :provisioning_key_active, :fallback_sip_account_id, :tenant
# Associations
#
diff --git a/app/views/phones/_form_core.html.haml b/app/views/phones/_form_core.html.haml
index 51ceff5..96e53e6 100644
--- a/app/views/phones/_form_core.html.haml
+++ b/app/views/phones/_form_core.html.haml
@@ -2,6 +2,7 @@
= f.input :mac_address, :label => t('phones.form.mac_address.label'), :hint => conditional_hint('phones.form.mac_address.hint')
= f.association :phone_model, :label => t('phones.form.phone_model_id.label'), :hint => conditional_hint('phones.form.phone_model_id.hint')
= f.input :hot_deskable, :label => t('phones.form.hot_deskable.label'), :hint => conditional_hint('phones.form.hot_deskable.hint')
+ = f.association :fallback_sip_account, :collection => @fallback_sip_accounts, :label => t('phones.form.fallback_sip_account_id.label'), :hint => conditional_hint('phones.form.fallback_sip_account_id.hint'), :include_blank => true
- if defined? NIGHTLY_REBOOT_OF_PHONES && NIGHTLY_REBOOT_OF_PHONES == true
= f.input :nightly_reboot, :label => t('phones.form.nightly_reboot.label'), :hint => conditional_hint('phones.form.nightly_reboot.hint')
- if defined? PROVISIONING_KEY_LENGTH && PROVISIONING_KEY_LENGTH > 0
diff --git a/app/views/phones/show.html.haml b/app/views/phones/show.html.haml
index 2664ffa..7629fb9 100644
--- a/app/views/phones/show.html.haml
+++ b/app/views/phones/show.html.haml
@@ -9,6 +9,11 @@
%p
%strong= t('phones.show.hot_deskable') + ":"
= @phone.hot_deskable
+
+%p
+ %strong= t('phones.show.fallback_sip_account_id') + ":"
+ = @phone.fallback_sip_account
+
- if defined? NIGHTLY_REBOOT_OF_PHONES && NIGHTLY_REBOOT_OF_PHONES == true
%p
%strong= t('phones.show.nightly_reboot') + ":"