From 4ce04ec03bc8f362d48ded43833645e7f454cb5c Mon Sep 17 00:00:00 2001
From: Stefan Wintermeyer
Date: Fri, 21 Jun 2013 15:07:44 +0200
Subject: Added blind transfer functionality for the switchboard.
---
app/controllers/api/v1/calls_controller.rb | 24 ++++++++++++++++++++++
app/controllers/switchboard_entries_controller.rb | 2 +-
app/views/switchboard_entries/_form_core.html.haml | 1 +
app/views/switchboard_entries/show.html.haml | 5 +++++
app/views/switchboards/show.html.erb | 22 ++++++++++----------
5 files changed, 42 insertions(+), 12 deletions(-)
create mode 100644 app/controllers/api/v1/calls_controller.rb
(limited to 'app')
diff --git a/app/controllers/api/v1/calls_controller.rb b/app/controllers/api/v1/calls_controller.rb
new file mode 100644
index 0000000..e6fbed4
--- /dev/null
+++ b/app/controllers/api/v1/calls_controller.rb
@@ -0,0 +1,24 @@
+module Api
+ module V1
+ class CallsController < ApplicationController
+ respond_to :json
+
+ def index
+ @calls = Call.limit(10)
+
+ respond_with @calls
+ end
+
+ def show
+ @call = Call.find(params[:id])
+
+ if params[:transfer_blind]
+ @call.transfer_blind(params[:transfer_blind])
+ end
+
+ respond_with @call
+ end
+
+ end
+ end
+end
diff --git a/app/controllers/switchboard_entries_controller.rb b/app/controllers/switchboard_entries_controller.rb
index ef6c72e..5b41816 100644
--- a/app/controllers/switchboard_entries_controller.rb
+++ b/app/controllers/switchboard_entries_controller.rb
@@ -58,7 +58,7 @@ class SwitchboardEntriesController < ApplicationController
private
def switchboard_entry_params
- params.require(:switchboard_entry).permit(:name, :sip_account_id)
+ params.require(:switchboard_entry).permit(:name, :sip_account_id, :switchable)
end
def spread_breadcrumbs
diff --git a/app/views/switchboard_entries/_form_core.html.haml b/app/views/switchboard_entries/_form_core.html.haml
index 6f340c2..2caaba5 100644
--- a/app/views/switchboard_entries/_form_core.html.haml
+++ b/app/views/switchboard_entries/_form_core.html.haml
@@ -1,3 +1,4 @@
.inputs
= f.association :sip_account, :collection => @sip_accounts, :label => t('switchboard_entries.form.sip_account_id.label'), :hint => conditional_hint('switchboard_entries.form.sip_account_id.hint'), :autofocus => true, :include_blank => false
= f.input :name, :label => t('switchboard_entries.form.name.label'), :hint => conditional_hint('switchboard_entries.form.name.hint')
+ = f.input :switchable, :as => :boolean, :label => t('switchboard_entries.form.switchable.label'), :hint => conditional_hint('switchboard_entries.form.switchable.hint')
\ No newline at end of file
diff --git a/app/views/switchboard_entries/show.html.haml b/app/views/switchboard_entries/show.html.haml
index b519781..85b8166 100644
--- a/app/views/switchboard_entries/show.html.haml
+++ b/app/views/switchboard_entries/show.html.haml
@@ -18,5 +18,10 @@
%strong= t('switchboard_entries.show.position') + ":"
%td
= @switchboard_entry.position
+ %tr
+ %td
+ %strong= t('switchboard_entries.show.switchable') + ":"
+ %td
+ = @switchboard_entry.switchable
= render :partial => 'shared/show_edit_destroy_part', :locals => {:parent => @switchboard, :child => @switchboard_entry }
\ No newline at end of file
diff --git a/app/views/switchboards/show.html.erb b/app/views/switchboards/show.html.erb
index 2a2765f..4877613 100644
--- a/app/views/switchboards/show.html.erb
+++ b/app/views/switchboards/show.html.erb
@@ -26,16 +26,27 @@
{{avatar_img switchboardEntry.avatar_src}}
+ {{#if switchboardEntry.name}}
{{switchboardEntry.name}}
+ {{/if}}
{{#each phoneNumber in switchboardEntry.sipAccount.phoneNumberShortList}}
{{phoneNumber.number}}
+
+ {{#if activeCalls.length}}
+
+ {{#each activeCall in activeCalls}}
+
+ {{/each}}
+
+ {{/if}}
{{/each}}
{{show_callstate switchboardEntry.callstate}}
+
{{#if switchboardEntry.sipAccount.calls.length}}
Anrufe:
@@ -51,17 +62,6 @@
{{/if}}
- {{#if activeCalls.length}}
-
- Verbinden mit:
-
- {{#each activeCall in activeCalls}}
-
- {{/each}}
-
- {{/if}}
--
cgit v1.2.3