Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.rdoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
= vote

Description goes here
vote plugin for redmine which powered by rails3.

15 changes: 0 additions & 15 deletions app/controllers/issues_controller.rb

This file was deleted.

32 changes: 32 additions & 0 deletions app/controllers/vote_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
require 'redmine'

class VoteController < IssuesController

skip_before_filter :authorize, :only => [:up,:down]

def up
vote(:up)
end

def down
vote(:down)
end

private
def vote(type)
find_issue
authorize
@issue.vote(type)
@issue.save
# TODO
reset_invocation_response
redirect_to :controller => 'issues', :action => 'show', :id => @issue
end

def reset_invocation_response
self.instance_variable_set(:@_response_body, nil)
response.instance_variable_set(
:@header,
Rack::Utils::HeaderHash.new("cookie" => [], 'Content-Type' => 'text/html'))
end
end
7 changes: 7 additions & 0 deletions config/routes.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Plugin's routes
# See: http://guides.rubyonrails.org/routing.html

RedmineApp::Application.routes.draw do
post '/vote/up', :to => 'vote#up'
post '/vote/down', :to => 'vote#down'
end
4 changes: 2 additions & 2 deletions lib/issue_vote_patch.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'vote'
require File.join(File.dirname(__FILE__), '../app/models/vote')
require 'acts_as_voteable'

Issue.class_eval do
acts_as_voteable
end
end
6 changes: 3 additions & 3 deletions lib/issues_vote_hook.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ class IssuesVoteHook < Redmine::Hook::ViewListener
<%= content_tag('span', vv, :class => (vv > 0? 'votes-positive': ( vv < 0 ? 'votes-negative' : ''))) %>
<% @project = @issue.project %>
<% if authorize_for('issues', 'vote') && !@issue.voted_by_user? %>
<%= link_to("", {:controller => 'issues', :action => 'vote', :id => @issue, :vote => :up}, :class => 'icon icon-vote-up') %>
<%= link_to("", {:controller => 'issues', :action => 'vote', :id => @issue, :vote => :down}, :class => 'icon icon-vote-down') %>
<%= link_to("", { :controller => 'vote', :action => 'up', :id => @issue }, :class => 'icon icon-vote-up' , :method => 'post', :confirm => 'up?') %>
<%= link_to("", { :controller => 'vote', :action => 'down', :id => @issue }, :class => 'icon icon-vote-down', :method => 'post', :confirm => 'down?') %>
<% end %>
</td></tr>
END
end
end