diff --git a/app/controllers/praise_tread_controller.rb b/app/controllers/praise_tread_controller.rb
index 528011102..41b167ed0 100644
--- a/app/controllers/praise_tread_controller.rb
+++ b/app/controllers/praise_tread_controller.rb
@@ -1,32 +1,10 @@
class PraiseTreadController < ApplicationController
-
def praise_plus
@obj = nil
if request.get?
- @obj = params[:obj] # 传的是对象,最后变成id了
-
- #首先创建或更新praise_tread 表
- @pt = PraiseTread.find_by_user_id_and_praise_tread_object_id(User.current.id,@obj)
- @pt = @pt.nil? ? PraiseTread.new : @pt
-
- @pt.user_id = User.current.id
- @pt.praise_tread_object_id = @obj.to_i
- @pt.praise_tread_object_type = User.find_by_id(@obj).class.name.underscore
- @pt.praise_or_tread = 1
- @pt.save
-
- #再创建或更新praise_tread_cache表
- @ptc = PraiseTreadCache.find_by_object_id(@obj)
- @ptc = @ptc.nil? ? PraiseTreadCache.new : @ptc
- @ptc.object_id = @obj.to_i
- @ptc.object_type = User.find_by_id(@obj).class.name.underscore
- @ptc.plus(1)
- @ptc.save
- end
- @obj = User.find_by_id(@obj)
- respond_to do |format|
- format.html
- format.js
+ @obj_id = params[:obj_id]
+ @obj_type = params[:obj_type]
+ @obj = praise_tread_plus(@obj_type,@obj_id,1)
end
end
@@ -55,7 +33,12 @@ class PraiseTreadController < ApplicationController
end
def tread_plus
-
+ @obj = nil
+ if request.get?
+ @obj_id = params[:obj_id]
+ @obj_type = params[:obj_type]
+ @obj = praise_tread_plus(@obj_type,@obj_id,0)
+ end
end
def tread_minus
@@ -65,4 +48,49 @@ class PraiseTreadController < ApplicationController
end
end
+ private
+
+ def find_object_by_type_and_id(type,id)
+ @obj = nil
+ case type
+ when 'User'
+ @obj = User.find_by_id(id)
+ when 'Issue'
+ @obj = Issue.find_by_id(id)
+ when 'Project'
+ @obj = Project.find_by_id(id)
+ when 'Bid'
+ @obj = Bid.find_by_id(id)
+ end
+ return @obj
+ end
+
+ def praise_tread_plus(type,id,flag)
+ unless id.nil? and type.nil?
+ #首先创建或更新praise_tread 表
+ @pt = PraiseTread.new
+ @pt.user_id = User.current.id
+ @pt.praise_tread_object_id = id.to_i
+ @pt.praise_tread_object_type = type
+ @pt.praise_or_tread = flag
+ @pt.save
+ # end
+
+ #再创建或更新praise_tread_cache表
+ @ptc = PraiseTreadCache.find_by_object_id_and_object_type(id,type)
+ @ptc = @ptc.nil? ? PraiseTreadCache.new : @ptc
+ @ptc.object_id = id.to_i
+ @ptc.object_type = type
+ @ptc.save
+ @ptc.plus(1)
+ end
+
+ @obj = find_object_by_type_and_id(type,id)
+
+ respond_to do |format|
+ format.html
+ format.js
+ end
+ end
+
end
diff --git a/app/helpers/praise_tread_helper.rb b/app/helpers/praise_tread_helper.rb
index 9b2eba969..1aa49d3ab 100644
--- a/app/helpers/praise_tread_helper.rb
+++ b/app/helpers/praise_tread_helper.rb
@@ -1,10 +1,10 @@
module PraiseTreadHelper
#added by william
def is_praise_or_tread(object,user_id)
- @obj_type = object.class.name.underscore
+ @obj_type = object.class
@obj_id = object.id
- @is_praise = PraiseTread.find_by_sql("select * from praise_treads where user_id=#{user_id} and " +
- "praise_tread_object_type='#{@obj_type}' and praise_tread_object_id=#{@obj_id} ")
+ @is_praise = PraiseTread.find_by_sql("select praise_or_tread from praise_treads where user_id=#{user_id} and " +
+ "praise_tread_object_type='#{@obj_type}' and praise_tread_object_id=#{@obj_id}")
return @is_praise
end
#end
diff --git a/app/views/bids/_history.html.erb b/app/views/bids/_history.html.erb
index e17b0e2e6..c1a9c3257 100644
--- a/app/views/bids/_history.html.erb
+++ b/app/views/bids/_history.html.erb
@@ -48,7 +48,8 @@
<%= journal.created_on %> |
<%= link_to(image_tag('comment.png'), {:controller => 'bids', :action => 'new', :id => bid, :journal_id => journal}, :remote => true,
- :method => 'post', :title => l(:button_quote))%><%= link_to(image_tag('delete.png'), {:controller => 'bids', :action => 'destroy', :object_id => journal, :id => bid},
+ :method => 'post', :title => l(:button_quote))%>
+ <%= link_to(image_tag('delete.png'), {:controller => 'bids', :action => 'destroy', :object_id => journal, :id => bid},:confirm => l(:label_delete_confirm),
:remote => true, :method => 'delete', :class => "delete", :title => l(:button_delete)) if remove_allowed || journal.user_id == User.current.id %> |
diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb
index 67035468a..8305cd18d 100644
--- a/app/views/issues/show.html.erb
+++ b/app/views/issues/show.html.erb
@@ -20,8 +20,6 @@
<% end %>
-
-
<%= render_issue_subject_with_tree(@issue) %>
@@ -36,7 +34,10 @@
<%= render :partial => 'layouts/tag', :locals => {:obj => @issue,:object_flag => "3" }%>
-
+
+ <%= render :partial => "/praise_tread/praise_tread",
+ :locals => {:obj => @issue,:user_id =>User.current.id}%>
+
<%= issue_fields_rows do |rows|
rows.left l(:field_status), h(@issue.status.name), :class => 'status'
diff --git a/app/views/layouts/base_users.html.erb b/app/views/layouts/base_users.html.erb
index 6c65e1507..1d668117a 100644
--- a/app/views/layouts/base_users.html.erb
+++ b/app/views/layouts/base_users.html.erb
@@ -44,15 +44,12 @@
-
- <%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @user,:show_flag => false,:user_id =>User.current.id}%>
- |
<%= l(:label_user_watcher) %> (<%=link_to User.watched_by(@user.id).count ,:controller=>"users", :action=>"user_watchlist"%>)
<%= render :partial => "watchers/fans_num",:locals => {:fans_num => get_fans_num(@user) }%>
-
+
diff --git a/app/views/praise_tread/_praise_tread.html.erb b/app/views/praise_tread/_praise_tread.html.erb
index c5a427a61..ebd48bf6b 100644
--- a/app/views/praise_tread/_praise_tread.html.erb
+++ b/app/views/praise_tread/_praise_tread.html.erb
@@ -1,17 +1,22 @@
-
- <% if is_praise_or_tread(obj,user_id).size > 0 %>
- <%= image_tag("/images/praise.png") %>
- <%= link_to "#{l(:label_cancel_praise)}",:controller=>"praise_tread",:action=>"praise_minus",:remote=>true,:obj => obj %>
- (<%= get_praise_num(obj)%>)
- <% else %>
- <%= image_tag("/images/tread.png") %>
- <%= link_to "#{l(:label_praise)}",:controller=>"praise_tread",:action=>"praise_plus",:remote=>true,:obj => obj %>
- (<%= get_praise_num(obj)%>)
+
+ <% @is_valuate = is_praise_or_tread(obj,user_id)%>
+
+ <% if @is_valuate.size > 0 %>
+
+ <% @flag = @is_valuate.first.praise_or_tread %>
+ <% if @flag == 1 %>
+ <%= image_tag("/images/praise_tread/praise_true.png") %> <%= get_praise_num(obj)%> <%= image_tag("/images/praise_tread/tread_false.png") %>
+
+ <% elsif @flag == 0 %>
+ <%= image_tag("/images/praise_tread/praise_false.png") %> <%= get_praise_num(obj)%> <%= image_tag("/images/praise_tread/tread_true.png") %>
<% end %>
+
+ <% else %>
+
+ <%= link_to image_tag("/images/praise_tread/praise_false.png"),
+ :controller=>"praise_tread",:action=>"praise_plus",:remote=>true,:obj_id => obj.id,:obj_type => obj.class %> <%= get_praise_num(obj)%> <%= link_to image_tag("/images/praise_tread/tread_false.png"),:controller=>"praise_tread",
+ :action=>"tread_plus",:remote=>true,:obj_id => obj.id,:obj_type => obj.class %>
+
+ <% end %>
-<% if show_flag %>
-
- <%= link_to image_tag("/images/tread.png"),:controller=>"praise_tread",
- :action=>"tread_minus",:remote=>true,:obj => obj %>踩
-
-<% end %>
+
diff --git a/app/views/praise_tread/praise_plus.js.erb b/app/views/praise_tread/praise_plus.js.erb
index 74f7d6bfe..5020bb3c9 100644
--- a/app/views/praise_tread/praise_plus.js.erb
+++ b/app/views/praise_tread/praise_plus.js.erb
@@ -1,3 +1,3 @@
$('#praise_tread').html('<%= j(
-render :partial => "/praise_tread/praise_tread",:locals => {:obj => @obj,:show_flag => false,:user_id => User.current.id}
+render :partial => "/praise_tread/praise_tread",:locals => {:obj => @obj,:user_id => User.current.id}
)%>');
diff --git a/config/routes.rb b/config/routes.rb
index 72e8ca27c..5a024082c 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -23,8 +23,8 @@ RedmineApp::Application.routes.draw do
get "tags/show"
get "praise_tread/praise_plus"
- get "praise_tread/praise_minus"
- get "praise_tread/tread_minus"
+
+ get "praise_tread/tread_plus"
root :to => 'welcome#index', :as => 'home'
@@ -442,7 +442,7 @@ RedmineApp::Application.routes.draw do
match 'tags/delete_tag',:to => 'tags#delete_tag',:as=>"add_tag"
match 'tags/show_all',:to => 'tags#show_all'
match 'parise_tread/praise_plus',:to => 'parise_tread#praise_plus',:as=>"praise"
- match 'parise_tread/tread_minus',:to => 'parise_tread#tread_minus',:as=>"tread"
+ match 'parise_tread/tread_plus',:to => 'parise_tread#tread_plus',:as=>"tread"
end