From af09d2c8d9f72e681c2c6d460a0d2545504d72d3 Mon Sep 17 00:00:00 2001 From: Peter Kozak Date: Fri, 19 Apr 2013 10:17:55 +0200 Subject: voicemail_accounts in voicemail_messages_controller --- app/controllers/voicemail_messages_controller.rb | 36 ++++++++++++------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'app/controllers/voicemail_messages_controller.rb') diff --git a/app/controllers/voicemail_messages_controller.rb b/app/controllers/voicemail_messages_controller.rb index dfe0ae4..239fed4 100644 --- a/app/controllers/voicemail_messages_controller.rb +++ b/app/controllers/voicemail_messages_controller.rb @@ -1,7 +1,7 @@ class VoicemailMessagesController < ApplicationController - load_resource :sip_account - load_and_authorize_resource :voicemail_message, :through => [:sip_account] + load_resource :voicemail_account + load_and_authorize_resource :voicemail_message, :through => [:voicemail_account] before_filter :set_and_authorize_parent before_filter :spread_breadcrumbs @@ -17,22 +17,22 @@ class VoicemailMessagesController < ApplicationController } def index - @messages_count = @sip_account.voicemail_messages.count - @messages_unread_count = @sip_account.voicemail_messages.where(:read_epoch => 0).count + @messages_count = @voicemail_account.voicemail_messages.count + @messages_unread_count = @voicemail_account.voicemail_messages.where(:read_epoch => 0).count @messages_read_count = @messages_count - @messages_unread_count if @type == 'read' - @voicemail_messages = @sip_account.voicemail_messages.where('read_epoch > 0').order('created_epoch DESC').paginate( + @voicemail_messages = @voicemail_account.voicemail_messages.where('read_epoch > 0').order('created_epoch DESC').paginate( :page => @pagination_page_number, :per_page => GsParameter.get('DEFAULT_PAGINATION_ENTRIES_PER_PAGE') ) elsif @type == 'unread' - @voicemail_messages = @sip_account.voicemail_messages.where(:read_epoch => 0).order('created_epoch DESC').paginate( + @voicemail_messages = @voicemail_account.voicemail_messages.where(:read_epoch => 0).order('created_epoch DESC').paginate( :page => @pagination_page_number, :per_page => GsParameter.get('DEFAULT_PAGINATION_ENTRIES_PER_PAGE') ) else - @voicemail_messages = @sip_account.voicemail_messages.order('created_epoch DESC').paginate( + @voicemail_messages = @voicemail_account.voicemail_messages.order('created_epoch DESC').paginate( :page => @pagination_page_number, :per_page => GsParameter.get('DEFAULT_PAGINATION_ENTRIES_PER_PAGE') ) @@ -78,7 +78,7 @@ class VoicemailMessagesController < ApplicationController def destroy_multiple result = false if ! params[:selected_uuids].blank? then - voicemail_messages = @sip_account.voicemail_messages.where(:uuid => params[:selected_uuids]) + voicemail_messages = @voicemail_account.voicemail_messages.where(:uuid => params[:selected_uuids]) voicemail_messages.each do |voicemail_message| result = voicemail_message.destroy end @@ -94,8 +94,8 @@ class VoicemailMessagesController < ApplicationController def call phone_number = @voicemail_message.cid_number - if ! phone_number.blank? && @sip_account.registration - @sip_account.call(phone_number) + if ! phone_number.blank? && @voicemail_account.registration + @voicemail_account.call(phone_number) end redirect_to(:back) end @@ -112,7 +112,7 @@ class VoicemailMessagesController < ApplicationController private def set_and_authorize_parent - @parent = @sip_account + @parent = @voicemail_account authorize! :read, @parent @@ -124,15 +124,15 @@ class VoicemailMessagesController < ApplicationController def spread_breadcrumbs if @parent.class == SipAccount - if @sip_account.sip_accountable.class == User - add_breadcrumb t("#{@sip_account.sip_accountable.class.name.underscore.pluralize}.index.page_title"), method( :"tenant_#{@sip_account.sip_accountable.class.name.underscore.pluralize}_path" ).(@sip_account.tenant) - add_breadcrumb @sip_account.sip_accountable, method( :"tenant_#{@sip_account.sip_accountable.class.name.underscore}_path" ).(@sip_account.tenant, @sip_account.sip_accountable) + if @voicemail_account.voicemail_accountable.class == User + add_breadcrumb t("#{@voicemail_account.voicemail_accountable.class.name.underscore.pluralize}.index.page_title"), method( :"tenant_#{@voicemail_account.voicemail_accountable.class.name.underscore.pluralize}_path" ).(@voicemail_account.tenant) + add_breadcrumb @voicemail_account.voicemail_accountable, method( :"tenant_#{@voicemail_account.voicemail_accountable.class.name.underscore}_path" ).(@voicemail_account.tenant, @voicemail_account.voicemail_accountable) end - add_breadcrumb t("sip_accounts.index.page_title"), method( :"#{@sip_account.sip_accountable.class.name.underscore}_sip_accounts_path" ).(@sip_account.sip_accountable) - add_breadcrumb @sip_account, method( :"#{@sip_account.sip_accountable.class.name.underscore}_sip_account_path" ).(@sip_account.sip_accountable, @sip_account) - add_breadcrumb t("voicemail_messages.index.page_title"), sip_account_voicemail_messages_path(@sip_account) + add_breadcrumb t("voicemail_accounts.index.page_title"), method( :"#{@voicemail_account.voicemail_accountable.class.name.underscore}_voicemail_accounts_path" ).(@voicemail_account.voicemail_accountable) + add_breadcrumb @voicemail_account, method( :"#{@voicemail_account.voicemail_accountable.class.name.underscore}_voicemail_account_path" ).(@voicemail_account.voicemail_accountable, @voicemail_account) + add_breadcrumb t("voicemail_messages.index.page_title"), voicemail_account_voicemail_messages_path(@voicemail_account) if @voicemail_message && !@voicemail_message.new_record? - add_breadcrumb @voicemail_message, sip_account_voicemail_message_path(@sip_account, @voicemail_message) + add_breadcrumb @voicemail_message, voicemail_account_voicemail_message_path(@voicemail_account, @voicemail_message) end end end -- cgit v1.2.3 From 7f50ae3e137a2c14754f79e31e8034c4e2a40cf4 Mon Sep 17 00:00:00 2001 From: Peter Kozak Date: Tue, 30 Apr 2013 10:13:09 +0200 Subject: sorting --- app/controllers/voicemail_messages_controller.rb | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'app/controllers/voicemail_messages_controller.rb') diff --git a/app/controllers/voicemail_messages_controller.rb b/app/controllers/voicemail_messages_controller.rb index 239fed4..3c75a64 100644 --- a/app/controllers/voicemail_messages_controller.rb +++ b/app/controllers/voicemail_messages_controller.rb @@ -5,6 +5,8 @@ class VoicemailMessagesController < ApplicationController before_filter :set_and_authorize_parent before_filter :spread_breadcrumbs + + helper_method :sort_column, :sort_descending before_filter { |controller| if ! params[:type].blank? then @@ -22,17 +24,17 @@ class VoicemailMessagesController < ApplicationController @messages_read_count = @messages_count - @messages_unread_count if @type == 'read' - @voicemail_messages = @voicemail_account.voicemail_messages.where('read_epoch > 0').order('created_epoch DESC').paginate( + @voicemail_messages = @voicemail_account.voicemail_messages.where('read_epoch > 0').order(sort_column + ' ' + (sort_descending ? 'DESC' : 'ASC')).paginate( :page => @pagination_page_number, :per_page => GsParameter.get('DEFAULT_PAGINATION_ENTRIES_PER_PAGE') ) elsif @type == 'unread' - @voicemail_messages = @voicemail_account.voicemail_messages.where(:read_epoch => 0).order('created_epoch DESC').paginate( + @voicemail_messages = @voicemail_account.voicemail_messages.where(:read_epoch => 0).order(sort_column + ' ' + (sort_descending ? 'DESC' : 'ASC')).paginate( :page => @pagination_page_number, :per_page => GsParameter.get('DEFAULT_PAGINATION_ENTRIES_PER_PAGE') ) else - @voicemail_messages = @voicemail_account.voicemail_messages.order('created_epoch DESC').paginate( + @voicemail_messages = @voicemail_account.voicemail_messages.order(sort_column + ' ' + (sort_descending ? 'DESC' : 'ASC')).paginate( :page => @pagination_page_number, :per_page => GsParameter.get('DEFAULT_PAGINATION_ENTRIES_PER_PAGE') ) @@ -137,4 +139,16 @@ class VoicemailMessagesController < ApplicationController end end + def sort_descending + if sort_column == 'created_epoch' && params[:desc].to_s.blank? + return true + end + + params[:desc].to_s == 'true' + end + + def sort_column + VoicemailMessage.column_names.include?(params[:sort]) ? params[:sort] : 'created_epoch' + end + end -- cgit v1.2.3 From f9168c5a5b132eca327833613d04fef66fb8b8bd Mon Sep 17 00:00:00 2001 From: Peter Kozak Date: Tue, 30 Apr 2013 11:44:07 +0200 Subject: call method fixed --- app/controllers/voicemail_messages_controller.rb | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'app/controllers/voicemail_messages_controller.rb') diff --git a/app/controllers/voicemail_messages_controller.rb b/app/controllers/voicemail_messages_controller.rb index 3c75a64..5c28572 100644 --- a/app/controllers/voicemail_messages_controller.rb +++ b/app/controllers/voicemail_messages_controller.rb @@ -39,6 +39,8 @@ class VoicemailMessagesController < ApplicationController :per_page => GsParameter.get('DEFAULT_PAGINATION_ENTRIES_PER_PAGE') ) end + + @available_sip_account = available_sip_account() end def show @@ -94,10 +96,20 @@ class VoicemailMessagesController < ApplicationController end end + def available_sip_account + voicemail_accountable = @voicemail_account.voicemail_accountable + if voicemail_accountable.class == SipAccount + return voicemail_accountable + elsif voicemail_accountable.class == User + return voicemail_accountable.sip_accounts.first + end + end + def call phone_number = @voicemail_message.cid_number - if ! phone_number.blank? && @voicemail_account.registration - @voicemail_account.call(phone_number) + sip_account = self.available_sip_account + if ! phone_number.blank? && sip_account && sip_account.registration + sip_account.call(phone_number) end redirect_to(:back) end -- cgit v1.2.3 From 6b02f64994d6fd79621c486ff4f29c0390aa8b15 Mon Sep 17 00:00:00 2001 From: Peter Kozak Date: Tue, 30 Apr 2013 15:11:33 +0200 Subject: breadcrumbs --- app/controllers/voicemail_messages_controller.rb | 29 +++++++++++++++--------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'app/controllers/voicemail_messages_controller.rb') diff --git a/app/controllers/voicemail_messages_controller.rb b/app/controllers/voicemail_messages_controller.rb index 5c28572..7511385 100644 --- a/app/controllers/voicemail_messages_controller.rb +++ b/app/controllers/voicemail_messages_controller.rb @@ -137,18 +137,25 @@ class VoicemailMessagesController < ApplicationController end def spread_breadcrumbs - if @parent.class == SipAccount - if @voicemail_account.voicemail_accountable.class == User - add_breadcrumb t("#{@voicemail_account.voicemail_accountable.class.name.underscore.pluralize}.index.page_title"), method( :"tenant_#{@voicemail_account.voicemail_accountable.class.name.underscore.pluralize}_path" ).(@voicemail_account.tenant) - add_breadcrumb @voicemail_account.voicemail_accountable, method( :"tenant_#{@voicemail_account.voicemail_accountable.class.name.underscore}_path" ).(@voicemail_account.tenant, @voicemail_account.voicemail_accountable) - end - add_breadcrumb t("voicemail_accounts.index.page_title"), method( :"#{@voicemail_account.voicemail_accountable.class.name.underscore}_voicemail_accounts_path" ).(@voicemail_account.voicemail_accountable) - add_breadcrumb @voicemail_account, method( :"#{@voicemail_account.voicemail_accountable.class.name.underscore}_voicemail_account_path" ).(@voicemail_account.voicemail_accountable, @voicemail_account) - add_breadcrumb t("voicemail_messages.index.page_title"), voicemail_account_voicemail_messages_path(@voicemail_account) - if @voicemail_message && !@voicemail_message.new_record? - add_breadcrumb @voicemail_message, voicemail_account_voicemail_message_path(@voicemail_account, @voicemail_message) - end + parent = @voicemail_account.voicemail_accountable + + if parent.class == User + add_breadcrumb t("users.index.page_title"), tenant_users_path(parent.current_tenant) + add_breadcrumb parent, tenant_user_path(parent.current_tenant, parent) + elsif parent.class == SipAccount + if parent.sip_accountable.class == User + add_breadcrumb t("users.index.page_title"), tenant_users_path(parent.sip_accountable.current_tenant) + add_breadcrumb parent.sip_accountable, tenant_user_path(parent.sip_accountable.current_tenant, parent.sip_accountable) + end + + add_breadcrumb t("sip_accounts.index.page_title"), method( :"#{parent.sip_accountable.class.name.underscore}_sip_accounts_url" ).(parent.sip_accountable) + add_breadcrumb parent, method( :"#{parent.sip_accountable.class.name.underscore}_sip_account_path" ).(parent.sip_accountable, parent) end + + add_breadcrumb t("voicemail_accounts.index.page_title"), method( :"#{parent.class.name.underscore}_voicemail_accounts_url" ).(parent) + add_breadcrumb @voicemail_account.name, method( :"#{parent.class.name.underscore}_voicemail_account_path" ).(parent, @voicemail_account) + + add_breadcrumb t("voicemail_messages.index.page_title") end def sort_descending -- cgit v1.2.3