Skip to content
Extraits de code Groupes Projets
Valider c9d58d93 rédigé par Raphael Sofaer's avatar Raphael Sofaer
Parcourir les fichiers

Revert "Don't instantiate all contacts on aspects index, temporary querying in...

Revert "Don't instantiate all contacts on aspects index, temporary querying in views for aspect listings"

This reverts commit 3b7063d4.
parent c91baf9f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -16,6 +16,7 @@ class AspectsController < ApplicationController
else
@aspects = current_user.aspects
end
@aspects = @aspects.includes(:contacts => {:person => :profile})
# redirect to signup
if (current_user.getting_started == true || @aspects.blank?) && !request.format.mobile? && !request.format.js?
......@@ -23,16 +24,7 @@ class AspectsController < ApplicationController
return
end
@selected_contacts_hashes = Contact.connection.execute(
current_user.contacts.joins(:person => :profile).select("people.id, people.guid, profiles.first_name, profiles.last_name, people.diaspora_handle, profiles.image_url_small, profiles.image_url_medium, profiles.image_url").to_sql
).map do |r|
{:id => r[1],
:name => Person.name_from_attrs(r[2], r[3], r[4]),
:avatar => Profile.image_url_from_attrs(:thumb_small, r[5], r[6], r[7]),
:handle => r[4],
:url => "/people/#{r[0]}"}
end
@selected_contacts = @aspects.map { |aspect| aspect.contacts }.flatten.uniq
@aspect_ids = @aspects.map { |a| a.id }
@posts = current_user.raw_visible_posts(:by_members_of => @aspect_ids, :type => 'StatusMessage', :order => session[:sort_order] + ' DESC', :page => params[:page]).includes(
:comments, :mentions, :likes, :dislikes).paginate(:page => params[:page], :per_page => 15, :order => session[:sort_order] + ' DESC')
......@@ -106,7 +98,7 @@ class AspectsController < ApplicationController
def edit
@aspect = current_user.aspects.where(:id => params[:id]).includes(:contacts => {:person => :profile}).first
@contacts_in_aspect = @aspect.contacts.includes(:person => :profile).all.sort! { |x, y| x.person.name <=> y.person.name }
c = Contact.arel_table
if @contacts_in_aspect.empty?
......
......@@ -63,17 +63,13 @@ class Profile < ActiveRecord::Base
(self.person) ? self.person.diaspora_handle : self[:diaspora_handle]
end
def image_url(size_wanted = :thumb_large)
self.class.image_url_from_attrs(size_wanted, self[:image_url_small], self[:image_url_medium], self[:image_url])
end
def self.image_url_from_attrs(size_wanted, small, medium, large)
result = if size_wanted == :thumb_medium && medium
medium
elsif size_wanted == :thumb_small && small
small
def image_url(size = :thumb_large)
result = if size == :thumb_medium && self[:image_url_medium]
self[:image_url_medium]
elsif size == :thumb_small && self[:image_url_small]
self[:image_url_small]
else
large
self[:image_url]
end
result || '/images/user/default.png'
end
......
......@@ -10,4 +10,4 @@
%ul
- for aspect in aspects
= render 'aspects/aspect', :aspect => aspect, :contacts => aspect.contacts.where(:pending => false).limit(16).includes(:person => :profile)
= render 'aspects/aspect', :aspect => aspect, :contacts => aspect.contacts.reject{|x| x.pending == true}
......@@ -20,8 +20,8 @@
.content_creation
= form_for(StatusMessage.new, :remote => true, :html => {"data-type" => "json"}) do |status|
- if @selected_contacts_hashes
= hidden_field_tag :contact_json, @selected_contacts_hashes.to_json
- if @selected_contacts
= hidden_field_tag :contact_json, @selected_contacts.map{|contact| contact.person}.to_json
= status.error_messages
#file-upload
= image_tag 'icons/photos.png'
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter