diff --git a/app/controllers/proposals_controller.rb b/app/controllers/proposals_controller.rb index a527138e3..da6fad73f 100644 --- a/app/controllers/proposals_controller.rb +++ b/app/controllers/proposals_controller.rb @@ -57,6 +57,16 @@ class ProposalsController < ApplicationController end end + def flag + Flag.flag(current_user, @proposal) + respond_with @proposal, template: 'proposals/_refresh_flag_actions' + end + + def unflag + Flag.unflag(current_user, @proposal) + respond_with @proposal, template: 'proposals/_refresh_flag_actions' + end + private def proposal_params diff --git a/app/views/proposals/_flag_actions.html.erb b/app/views/proposals/_flag_actions.html.erb index b7bea4f79..3ab259ac8 100644 --- a/app/views/proposals/_flag_actions.html.erb +++ b/app/views/proposals/_flag_actions.html.erb @@ -1,21 +1,23 @@ -<% if show_flag_action? proposal %> - - -<% end %> + + <% if show_flag_action? proposal %> + + + <% end %> -<% if show_unflag_action? proposal %> - - -<% end %> + <% if show_unflag_action? proposal %> + + + <% end %> + diff --git a/app/views/proposals/_refresh_flag_actions.js.erb b/app/views/proposals/_refresh_flag_actions.js.erb new file mode 100644 index 000000000..0e20636ae --- /dev/null +++ b/app/views/proposals/_refresh_flag_actions.js.erb @@ -0,0 +1 @@ +$("#<%= dom_id(@proposal) %> .js-flag-actions").html('<%= j render("proposals/flag_actions", proposal: @proposal) %>');