summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-06-27 12:29:04 +0200
committerStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-06-27 12:29:04 +0200
commitace935fd2793b09925ab4b8a6b352585b5bdf3d2 (patch)
tree2d96ad4a82de25a9ab4e00129dea3f4c3777ecb7
parentbdb14342dd502ea01a83a791bb51507a82522daf (diff)
Switchboard shows offline label when the SipAccount has no registration.
-rw-r--r--app/serializers/sip_account_serializer.rb10
-rw-r--r--app/views/switchboards/show.html.erb79
-rw-r--r--public/js/app.js1
3 files changed, 57 insertions, 33 deletions
diff --git a/app/serializers/sip_account_serializer.rb b/app/serializers/sip_account_serializer.rb
index aa749b0..7465a17 100644
--- a/app/serializers/sip_account_serializer.rb
+++ b/app/serializers/sip_account_serializer.rb
@@ -1,7 +1,15 @@
class SipAccountSerializer < ActiveModel::Serializer
embed :ids, :include => true
- attributes :id, :auth_name, :caller_name, :sip_accountable_id
+ attributes :id, :auth_name, :caller_name, :sip_accountable_id, :is_registrated
has_many :phone_numbers
has_many :calls
+
+ def is_registrated
+ if object.registration
+ true
+ else
+ false
+ end
+ end
end
diff --git a/app/views/switchboards/show.html.erb b/app/views/switchboards/show.html.erb
index b390ce5..1952a3c 100644
--- a/app/views/switchboards/show.html.erb
+++ b/app/views/switchboards/show.html.erb
@@ -40,44 +40,59 @@
</p>
{{/if}}
- {{#if switchboardEntry.switchable}}
- <p>
- {{#each phoneNumber in switchboardEntry.sipAccount.phoneNumberShortList}}
- <span class="label">
- {{phoneNumber.number}}
- </span>
- {{/each}}
- </p>
- {{else}}
- <p>
+ {{#if switchboardEntry.sipAccount.is_registrated}}
+ {{#if switchboardEntry.switchable}}
+ <p>
+ {{#each phoneNumber in switchboardEntry.sipAccount.phoneNumberShortList}}
+ <span class="label">
+ {{phoneNumber.number}}
+ </span>
+ {{/each}}
+ </p>
+ {{else}}
+ <p>
+ {{#each phoneNumber in switchboardEntry.sipAccount.phoneNumberShortList}}
+ <span class="label">
+ {{phoneNumber.number}}
+ </span>
+
+ {{#if dispatchableIncomingCalls.length}}
+ <p>
+ {{#each dispatchableIncomingCall in dispatchableIncomingCalls}}
+ <button {{action transfer_blind dispatchableIncomingCall.id phoneNumber.number}} class="btn btn-small">Transfer</button>
+ <button {{action transfer_attended dispatchableIncomingCall.id phoneNumber.number}} class="btn btn-small">Attended Transfer</button>
+ {{/each}}
+ </p>
+ {{/if}}
+ {{/each}}
+ </p>
+ {{/if}}
+
+ {{#if switchboardEntry.sipAccount.calls.length}}
+ <p>
+ {{#each call in switchboardEntry.sipAccount.calls}}
+ <span {{bindAttr class=":label call.isRinging:label-warning:label-success"}}>
+ {{#if call.isRinging}}<i class="icon-bell icon-white"></i>{{/if}}
+ von {{call.b_caller_id_number}} an {{call.destination}}
+ </span>
+ {{/each}}
+ </p>
+ {{/if}}
+ {{else}}
+ <p>
{{#each phoneNumber in switchboardEntry.sipAccount.phoneNumberShortList}}
<span class="label">
{{phoneNumber.number}}
</span>
-
- {{#if dispatchableIncomingCalls.length}}
- <p>
- {{#each dispatchableIncomingCall in dispatchableIncomingCalls}}
- <button {{action transfer_blind dispatchableIncomingCall.id phoneNumber.number}} class="btn btn-small">Transfer</button>
- <button {{action transfer_attended dispatchableIncomingCall.id phoneNumber.number}} class="btn btn-small">Attended Transfer</button>
- {{/each}}
- </p>
- {{/if}}
{{/each}}
- </p>
- {{/if}}
-
- {{#if switchboardEntry.sipAccount.calls.length}}
- <p>
- {{#each call in switchboardEntry.sipAccount.calls}}
- <span {{bindAttr class=":label call.isRinging:label-warning:label-success"}}>
- {{#if call.isRinging}}<i class="icon-bell icon-white"></i>{{/if}}
- von {{call.b_caller_id_number}} an {{call.destination}}
- </span>
- {{/each}}
- </p>
- {{/if}}
+ </p>
+ <p>
+ <span class="label label-warning">
+ offline
+ </span>
+ </p>
+ {{/if}}
</small>
</div>
</li>
diff --git a/public/js/app.js b/public/js/app.js
index 531e4b8..6d4ba65 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -127,6 +127,7 @@ App.SipAccount = DS.Model.extend({
phoneNumbers: DS.hasMany('App.PhoneNumber'),
callerName: DS.attr('string'),
authName: DS.attr('string'),
+ is_registrated: DS.attr('boolean'),
phoneNumberShortList: Ember.computed(function() {
var phoneNumbers = this.get('phoneNumbers');