diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index fbd77f184..01663ec77 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1,8 +1,7 @@ class UsersController < ApplicationController - has_filters %w{proposals debates comments spending_proposals}, only: :show + has_filters %w{proposals debates budget_investments comments}, only: :show load_and_authorize_resource - helper_method :authorized_for_filter? helper_method :author? helper_method :author_or_admin? @@ -15,8 +14,8 @@ class UsersController < ApplicationController @activity_counts = HashWithIndifferentAccess.new( proposals: Proposal.where(author_id: @user.id).count, debates: Debate.where(author_id: @user.id).count, - comments: Comment.not_as_admin_or_moderator.where(user_id: @user.id).count, - spending_proposals: SpendingProposal.where(author_id: @user.id).count) + budget_investments: Budget::Investment.where(author_id: @user.id).count, + comments: Comment.not_as_admin_or_moderator.where(user_id: @user.id).count) end def load_filtered_activity @@ -24,8 +23,8 @@ class UsersController < ApplicationController case params[:filter] when "proposals" then load_proposals when "debates" then load_debates + when "budget_investments" then load_budget_investments when "comments" then load_comments - when "spending_proposals" then load_spending_proposals if author_or_admin? else load_available_activity end end @@ -37,12 +36,12 @@ class UsersController < ApplicationController elsif @activity_counts[:debates] > 0 load_debates @current_filter = "debates" + elsif @activity_counts[:budget_investments] > 0 + load_budget_investments + @current_filter = "budget_investments" elsif @activity_counts[:comments] > 0 load_comments @current_filter = "comments" - elsif @activity_counts[:spending_proposals] > 0 && author_or_admin? - load_spending_proposals - @current_filter = "spending_proposals" end end @@ -58,8 +57,8 @@ class UsersController < ApplicationController @comments = Comment.not_as_admin_or_moderator.where(user_id: @user.id).includes(:commentable).order(created_at: :desc).page(params[:page]) end - def load_spending_proposals - @spending_proposals = SpendingProposal.where(author_id: @user.id).order(created_at: :desc).page(params[:page]) + def load_budget_investments + @budget_investments = Budget::Investment.where(author_id: @user.id).order(created_at: :desc).page(params[:page]) end def valid_access? @@ -78,7 +77,4 @@ class UsersController < ApplicationController @authorized_current_user ||= current_user && (current_user == @user || current_user.moderator? || current_user.administrator?) end - def authorized_for_filter?(filter) - filter == "spending_proposals" ? author_or_admin? : true - end end diff --git a/app/models/user.rb b/app/models/user.rb index 195328273..5c69b25b1 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -19,6 +19,7 @@ class User < ActiveRecord::Base has_many :identities, dependent: :destroy has_many :debates, -> { with_hidden }, foreign_key: :author_id has_many :proposals, -> { with_hidden }, foreign_key: :author_id + has_many :budget_investments, -> { with_hidden }, foreign_key: :author_id, class_name: 'Budget::Investment' has_many :comments, -> { with_hidden } has_many :spending_proposals, foreign_key: :author_id has_many :failed_census_calls diff --git a/app/views/users/_activity_page.html.erb b/app/views/users/_activity_page.html.erb index dbda1da39..cb785a438 100644 --- a/app/views/users/_activity_page.html.erb +++ b/app/views/users/_activity_page.html.erb @@ -1,4 +1,4 @@ <%= render "proposals" if @proposals.present? %> <%= render "debates" if @debates.present? && feature?(:debates) %> +<%= render "budget_investments" if @budget_investments.present? %> <%= render "comments" if @comments.present? %> -<%= render "spending_proposals" if @spending_proposals.present? %> diff --git a/app/views/users/_budget_investments.html.erb b/app/views/users/_budget_investments.html.erb new file mode 100644 index 000000000..4532ede47 --- /dev/null +++ b/app/views/users/_budget_investments.html.erb @@ -0,0 +1,11 @@ + + <% @budget_investments.each do |budget_investment| %> + + + + <% end %> +
+ <%= link_to budget_investment.title, budget_investment_path(budget_investment.budget, budget_investment) %> +
+ +<%= paginate @budget_investments %> diff --git a/app/views/users/_spending_proposals.html.erb b/app/views/users/_spending_proposals.html.erb deleted file mode 100644 index 40fd8d70d..000000000 --- a/app/views/users/_spending_proposals.html.erb +++ /dev/null @@ -1,20 +0,0 @@ - - <% @spending_proposals.each do |spending_proposal| %> - - - - - <% end %> -
- <%= link_to spending_proposal.title, spending_proposal %> - - <% if can?(:destroy, spending_proposal) %> - <%= link_to t("users.show.delete_spending_proposal"), - spending_proposal, - method: :delete, - data: { confirm: t("users.show.confirm_deletion_spending_proposal") }, - class: 'delete' %> - <% end %> -
- -<%= paginate @spending_proposals %> \ No newline at end of file diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index c264d336f..c00769216 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -26,17 +26,15 @@