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