diff options
author | spag <spag@golwen.net> | 2013-01-08 14:11:54 +0100 |
---|---|---|
committer | spag <spag@golwen.net> | 2013-01-08 14:11:54 +0100 |
commit | b67c3f5ff6474ba117c75eb81c7d2d9371e8a103 (patch) | |
tree | 592400434bd1aceb16aeaa9a8f06f771944af296 | |
parent | 70ef0ee8e668b0f620ec74afc8347e43bcfebb87 (diff) |
Click to dial in phone book
-rw-r--r-- | app/controllers/phone_numbers_controller.rb | 17 | ||||
-rw-r--r-- | app/views/phone_book_entries/show.html.haml | 15 | ||||
-rw-r--r-- | config/locales/views/phone_numbers/de.yml | 3 | ||||
-rw-r--r-- | config/locales/views/phone_numbers/en.yml | 1 | ||||
-rw-r--r-- | config/routes.rb | 1 |
5 files changed, 29 insertions, 8 deletions
diff --git a/app/controllers/phone_numbers_controller.rb b/app/controllers/phone_numbers_controller.rb index 065934c..c562954 100644 --- a/app/controllers/phone_numbers_controller.rb +++ b/app/controllers/phone_numbers_controller.rb @@ -77,6 +77,23 @@ class PhoneNumbersController < ApplicationController redirect_to :back end + def call + sip_account = nil + current_user.sip_accounts.each do |user_sip_account| + if user_sip_account.registration + sip_account = user_sip_account + break + end + end + + if can?(:call, @phone_number) && sip_account + if ! @phone_number.number.blank? + sip_account.call(@phone_number.number) + end + end + redirect_to(:back) + end + private def set_and_authorize_parent @parent = @phone_book_entry || @sip_account || @conference || @fax_account || diff --git a/app/views/phone_book_entries/show.html.haml b/app/views/phone_book_entries/show.html.haml index a9e1e8f..ff43b8a 100644 --- a/app/views/phone_book_entries/show.html.haml +++ b/app/views/phone_book_entries/show.html.haml @@ -67,27 +67,28 @@ = @phone_book_entry.description .widget.phones - @phone_book_entry.phone_numbers.each do |phone_number| - - case phone_number.name + - case phone_number.name.to_s.downcase - when /fax/ .fax - %a= phone_number + = link_to phone_number, call_phone_book_entry_phone_number_path(@phone_book_entry, phone_number), :method => :put, :title => t('phone_numbers.show.actions.call') %span= phone_number.name - when /home/ .home - %a= phone_number - %span= phone_number.name + = link_to phone_number, call_phone_book_entry_phone_number_path(@phone_book_entry, phone_number), :method => :put, :title => t('phone_numbers.show.actions.call') + %span - when /mobile/ .cellphone - %a= phone_number + = link_to phone_number, call_phone_book_entry_phone_number_path(@phone_book_entry, phone_number), :method => :put, :title => t('phone_numbers.show.actions.call') %span= phone_number.name - when /office/ .office - %a= phone_number + = link_to phone_number, call_phone_book_entry_phone_number_path(@phone_book_entry, phone_number), :method => :put, :title => t('phone_numbers.show.actions.call') %span= phone_number.name - else .phone - %a= phone_number + = link_to phone_number, call_phone_book_entry_phone_number_path(@phone_book_entry, phone_number), :method => :put, :title => t('phone_numbers.show.actions.call') %span= phone_number.name + = link_to t('phone_book_entries.show.manage_phone_numbers'), phone_book_entry_phone_numbers_path(@phone_book_entry) .widget.adresses diff --git a/config/locales/views/phone_numbers/de.yml b/config/locales/views/phone_numbers/de.yml index 40fc7f8..e801ab4 100644 --- a/config/locales/views/phone_numbers/de.yml +++ b/config/locales/views/phone_numbers/de.yml @@ -34,7 +34,8 @@ de: confirm: 'Sind Sie sicher, dass Sie diese Telefonnummer löschen möchten?' destroy: 'Löschen' edit: 'Bearbeiten' - view_all: 'View all phone numbers' + view_all: 'Alle anzeigen' + call: 'Anrufen' new: page_title: 'Neue Telefonnummer' edit: diff --git a/config/locales/views/phone_numbers/en.yml b/config/locales/views/phone_numbers/en.yml index 31af5c8..be3b4f5 100644 --- a/config/locales/views/phone_numbers/en.yml +++ b/config/locales/views/phone_numbers/en.yml @@ -35,6 +35,7 @@ en: destroy: 'Delete' edit: 'Edit' view_all: 'View all phone numbers' + call: 'Call' new: page_title: 'New Phone number' edit: diff --git a/config/routes.rb b/config/routes.rb index a0ad6aa..6d45f9f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -304,6 +304,7 @@ Gemeinschaft42c::Application.routes.draw do member do put 'move_higher' put 'move_lower' + put 'call' end end end |