diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index c5d919b3a..6ef59fb60 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -7,7 +7,7 @@ class UsersController < ApplicationController def show load_filtered_activity if valid_access? - load_interest if valid_interest_access? + load_interests if valid_interests_access? end private @@ -63,15 +63,15 @@ class UsersController < ApplicationController @budget_investments = Budget::Investment.where(author_id: @user.id).order(created_at: :desc).page(params[:page]) end - def load_interest - @interests = Follow.interests_by(@user) + def load_interests + @user.interests end def valid_access? @user.public_activity || authorized_current_user? end - def valid_interest_access? + def valid_interests_access? @user.public_interests || authorized_current_user? end diff --git a/app/models/follow.rb b/app/models/follow.rb index f11a2a8e7..ee44cac96 100644 --- a/app/models/follow.rb +++ b/app/models/follow.rb @@ -18,14 +18,4 @@ class Follow < ActiveRecord::Base !! by_user_and_followable(user, followable).try(:first) end - def self.interests_by(user) - interests = [] - user.follows.each do |follow| - follow.followable.tags.each do |tag| - interests << tag.name - end - end - interests.uniq - end - end diff --git a/app/models/user.rb b/app/models/user.rb index fb11aacf9..60536195b 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -309,6 +309,10 @@ class User < ActiveRecord::Base where(conditions.to_hash).where(["username = ?", login]).first end + def interests + follows.map{|follow| follow.followable.tags.map(&:name)}.flatten.compact.uniq + end + private def clean_document_number diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index fd2526172..fb4a3d1f9 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -49,7 +49,7 @@ <% if @user.public_interests || @authorized_current_user %>

<%= t('account.show.public_interests_title_list') %>

- <% @interests.in_groups_of(10, false) do |interests_group| %> + <% @user.interests.in_groups_of(10, false) do |interests_group| %>