From 649844ea6adec6c5078b460ea956849040e8d149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Rodr=C3=ADguez?= Date: Tue, 15 Jan 2013 00:35:05 -0200 Subject: [PATCH 1/4] Refactor contacts/index --- app/controllers/contacts_controller.rb | 1 + app/helpers/contacts_helper.rb | 7 ++++++ app/views/contacts/_aspect_listings.haml | 2 +- app/views/contacts/_contact.html.haml | 10 ++++++++ app/views/contacts/index.html.haml | 30 +++++------------------- 5 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 app/views/contacts/_contact.html.haml diff --git a/app/controllers/contacts_controller.rb b/app/controllers/contacts_controller.rb index f0fdc1d32..0f7573bda 100644 --- a/app/controllers/contacts_controller.rb +++ b/app/controllers/contacts_controller.rb @@ -50,5 +50,6 @@ class ContactsController < ApplicationController end end @contacts = @contacts.for_a_stream.paginate(:page => params[:page], :per_page => 25) + @contacts_size = @contacts.length end end diff --git a/app/helpers/contacts_helper.rb b/app/helpers/contacts_helper.rb index 157144b1b..5bf36d384 100644 --- a/app/helpers/contacts_helper.rb +++ b/app/helpers/contacts_helper.rb @@ -17,4 +17,11 @@ module ContactsHelper :current_user => current_user } end end + + def start_a_conversation_link(aspect, contacts_size) + suggested_limit = 16 + conv_opts = { :class => "button conversation_button", :rel => "facebox"} + conv_opts[:title] = t('.many_people_are_you_sure', :suggested_limit => suggested_limit) if contacts_size > suggested_limit + link_to t('.start_a_conversation'), new_conversation_path(:aspect_id => aspect.id, :name => aspect.name), conv_opts + end end diff --git a/app/views/contacts/_aspect_listings.haml b/app/views/contacts/_aspect_listings.haml index c17d7f24d..1ea66012d 100644 --- a/app/views/contacts/_aspect_listings.haml +++ b/app/views/contacts/_aspect_listings.haml @@ -10,7 +10,7 @@ = my_contacts_count %ul.sub_nav - - for aspect in all_aspects + - all_aspects.each do |aspect| %li{:data => {:aspect_id => aspect.id}, :class => ("active" if params["a_id"].to_i == aspect.id)} %a.aspect_selector{:href => contacts_path(:a_id => aspect.id)} = aspect diff --git a/app/views/contacts/_contact.html.haml b/app/views/contacts/_contact.html.haml new file mode 100644 index 000000000..79797990c --- /dev/null +++ b/app/views/contacts/_contact.html.haml @@ -0,0 +1,10 @@ +.stream_element{:id => contact.person_id} + .float-right + = contact_aspect_dropdown(contact) + .media + .img + = person_image_link(contact.person, :size => :thumb_small) + .bd + = person_link(contact.person) + .info + = contact.person_diaspora_handle diff --git a/app/views/contacts/index.html.haml b/app/views/contacts/index.html.haml index c0b03c786..fa0e678c0 100644 --- a/app/views/contacts/index.html.haml +++ b/app/views/contacts/index.html.haml @@ -16,32 +16,14 @@ .span-18.last #people_stream.stream.contacts - - if @aspect - #aspect_controls - - suggested_limit = 16 - - conv_opts = { :class => "button conversation_button", :rel => "facebox"} - - conv_opts[:title] = t('.many_people_are_you_sure', :suggested_limit => suggested_limit) if @contacts.size > suggested_limit - - - if @contacts.size < 20 - = link_to t('.start_a_conversation'), new_conversation_path(:aspect_id => @aspect.id, :name => @aspect.name), conv_opts - - if @contacts.size + - if @contacts_size > 0 + - if @aspect + #aspect_controls + - if @contacts_size < 20 + = start_a_conversation_link(@aspect, @contacts_size) = link_to t('.add_to_aspect', :name => @aspect.name), edit_aspect_path(@aspect), :rel => "facebox" - - if @contacts.size > 0 - - for contact in @contacts - .stream_element{:id => contact.person_id} - - .float-right - = contact_aspect_dropdown(contact) - - .media - .img - = person_image_link(contact.person, :size => :thumb_small) - - .bd - = person_link(contact.person) - .info - = contact.person_diaspora_handle + = render @contacts = will_paginate @contacts - else From d4d3bf8af6b767a4d0a337e23d2f140e14af3872 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Rodr=C3=ADguez?= Date: Tue, 15 Jan 2013 00:35:24 -0200 Subject: [PATCH 2/4] fix translation in contacts_helper --- app/helpers/contacts_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/contacts_helper.rb b/app/helpers/contacts_helper.rb index 5bf36d384..68ac4ac32 100644 --- a/app/helpers/contacts_helper.rb +++ b/app/helpers/contacts_helper.rb @@ -8,7 +8,7 @@ module ContactsHelper :aspect_id => @aspect.id, :person_id => contact.person_id }, - :title => t('.remove_person_from_aspect', :person_name => contact.person_first_name, :aspect_name => @aspect.name), + :title => t('contacts.index.remove_person_from_aspect', :person_name => contact.person_first_name, :aspect_name => @aspect.name), :method => 'delete') else From 8b4aab0780eb3bafa399f2938c2f5311cdb59173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Rodr=C3=ADguez?= Date: Tue, 15 Jan 2013 01:10:30 -0200 Subject: [PATCH 3/4] change #count to #size in notifications_helper to reduce queries --- app/helpers/notifications_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/helpers/notifications_helper.rb b/app/helpers/notifications_helper.rb index 13808fc6f..42bf14244 100644 --- a/app/helpers/notifications_helper.rb +++ b/app/helpers/notifications_helper.rb @@ -3,7 +3,7 @@ module NotificationsHelper def object_link(note, actors) target_type = note.popup_translation_key - actors_count = note.actors.count + actors_count = note.actors.size if note.instance_of?(Notifications::Mentioned) if post = note.linked_object @@ -29,7 +29,7 @@ module NotificationsHelper def notification_people_link(note, people=nil) actors =people || note.actors - number_of_actors = actors.count + number_of_actors = actors.size sentence_translations = {:two_words_connector => " #{t('notifications.index.and')} ", :last_word_connector => ", #{t('notifications.index.and')} " } actor_links = actors.collect{ |person| person_link(person, :class => 'hovercardable') From 8c6b5392247248f009c90c8b2e0e9dae6f9f15d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Rodr=C3=ADguez?= Date: Tue, 29 Jan 2013 10:02:46 -0200 Subject: [PATCH 4/4] update changelog --- Changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Changelog.md b/Changelog.md index cd96e0205..53ea9795d 100644 --- a/Changelog.md +++ b/Changelog.md @@ -15,6 +15,7 @@ * Write unicorn stderr and stdout [#3785](https://github.com/diaspora/diaspora/pull/3785) * Ported aspects to backbone [#3850](https://github.com/diaspora/diaspora/pull/3850) * Join tagging's table instead of tags to improve a bit the query [#3932](https://github.com/diaspora/diaspora/pull/3932) +* Refactor contacts/index view [#3937](https://github.com/diaspora/diaspora/pull/3937) ## Features @@ -47,6 +48,7 @@ * Fix services index view. [#3884](https://github.com/diaspora/diaspora/issues/3884) * Excesive padding with "user-controls" in single post view. [#3861](https://github.com/diaspora/diaspora/issues/3861) * Resize full scaled image to a specific width. [#3818](https://github.com/diaspora/diaspora/issues/3818) +* Fix translation issue in contacts_helper [#3937](https://github.com/diaspora/diaspora/pull/3937) ## Gem Updates