class UsersController < ApplicationController before_action :authenticate_user!, only: :me before_action :check_current_user_page, only: :show before_action :set_user, only: :show before_action :set_institutions, only: :me before_action :set_empty_collection, only: [:show, :me] def show @objects = @user.learning_objects @institutions = @user.institutions @groups = [ CollectionsGroup.new(title: 'Coleções Automáticas', collections: [ @new_collection ]), CollectionsGroup.new(title: 'Coleções Adicionadas', collections: [ @user.collections ]) ] end def me @publishers = current_user.institutions @objects = current_user.learning_objects @bookmarks = current_user.bookmarks @groups = [ CollectionsGroup.new(title: 'Coleções Automáticas', collections: [@bookmarks]), CollectionsGroup.new(title: 'Coleções Adicionadas', collections: current_user.collections) ] end def list @users = User.all end private def set_empty_collection @new_collection = Collection.new end def set_institutions @institutions = current_user.institutions end def set_user @user = user_repository.find params[:id] end def check_current_user_page if user_signed_in? if current_user.id == params[:id] redirect_to action: :me end end end def publishers_for(user) publishers = [] user_publisher = user user_publisher.id = user.rid publishers << user_publisher publishers + user.institutions end end