From f456400218a800e083de024003055f2bdd6efba5 Mon Sep 17 00:00:00 2001 From: kikito Date: Fri, 9 Sep 2016 12:17:05 +0200 Subject: [PATCH 1/8] Removes duplicated relationship between budget and investment --- app/models/budget.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/models/budget.rb b/app/models/budget.rb index b8fd34da9..022ce8f2a 100644 --- a/app/models/budget.rb +++ b/app/models/budget.rb @@ -13,7 +13,6 @@ class Budget < ActiveRecord::Base has_many :ballots, dependent: :destroy has_many :groups, dependent: :destroy has_many :headings, through: :groups - has_many :investments, through: :headings scope :open, -> { where.not(phase: "finished") } scope :finished, -> { where(phase: "finished") } From cb7ea79aafc6f382b208e43ddd562b4f2089a660 Mon Sep 17 00:00:00 2001 From: kikito Date: Fri, 9 Sep 2016 12:19:38 +0200 Subject: [PATCH 2/8] Replaces spending proposals by budget investments in user/show --- app/controllers/users_controller.rb | 22 +++--- app/views/users/_activity_page.html.erb | 3 +- app/views/users/_budget_investments.html.erb | 11 +++ app/views/users/_spending_proposals.html.erb | 20 ----- app/views/users/show.html.erb | 20 +++-- spec/features/users_spec.rb | 82 +++++--------------- 6 files changed, 49 insertions(+), 109 deletions(-) create mode 100644 app/views/users/_budget_investments.html.erb delete mode 100644 app/views/users/_spending_proposals.html.erb 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/views/users/_activity_page.html.erb b/app/views/users/_activity_page.html.erb index dbda1da39..c8a3ed34b 100644 --- a/app/views/users/_activity_page.html.erb +++ b/app/views/users/_activity_page.html.erb @@ -1,4 +1,5 @@ <%= render "proposals" if @proposals.present? %> <%= render "debates" if @debates.present? && feature?(:debates) %> +<%= render "investments" if @investments.present? %> +<%= 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 @@