From 20e12327c48d080da168cf3fde94b1b48943fc55 Mon Sep 17 00:00:00 2001
From: z9hang
Date: Wed, 29 Oct 2014 17:03:32 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E7=82=B9=E5=87=BB=E6=A0=87=E7=AD=BE?=
=?UTF-8?q?=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../acts_as_taggable_on/core.rb | 60 +++++++++----------
1 file changed, 30 insertions(+), 30 deletions(-)
diff --git a/lib/plugins/acts-as-taggable-on/lib/acts_as_taggable_on/acts_as_taggable_on/core.rb b/lib/plugins/acts-as-taggable-on/lib/acts_as_taggable_on/acts_as_taggable_on/core.rb
index 8ca6962fd..a6c1e0974 100644
--- a/lib/plugins/acts-as-taggable-on/lib/acts_as_taggable_on/acts_as_taggable_on/core.rb
+++ b/lib/plugins/acts-as-taggable-on/lib/acts_as_taggable_on/acts_as_taggable_on/core.rb
@@ -81,7 +81,7 @@ module ActsAsTaggableOn::Taggable
# User.tagged_with("awesome", "cool", :any => true) # Users that are tagged with awesome or cool
# User.tagged_with("awesome", "cool", :match_all => true) # Users that are tagged with just awesome and cool
# User.tagged_with("awesome", "cool", :owned_by => foo ) # Users that are tagged with just awesome and cool by 'foo'
- def tagged_with(tags, options = {})
+ def tagged_with(tags,options = {},selected_tag_ids = nil)
tag_list = ActsAsTaggableOn::TagList.from(tags)
empty_result = where("1 = 0")
@@ -108,19 +108,19 @@ module ActsAsTaggableOn::Taggable
if owned_by
joins << "JOIN #{ActsAsTaggableOn::Tagging.table_name}" +
- " ON #{ActsAsTaggableOn::Tagging.table_name}.taggable_id = #{quote}#{table_name}#{quote}.#{primary_key}" +
- " AND #{ActsAsTaggableOn::Tagging.table_name}.taggable_type = #{quote_value(base_class.name)}" +
- " AND #{ActsAsTaggableOn::Tagging.table_name}.tagger_id = #{owned_by.id}" +
- " AND #{ActsAsTaggableOn::Tagging.table_name}.tagger_type = #{quote_value(owned_by.class.base_class.to_s)}"
+ " ON #{ActsAsTaggableOn::Tagging.table_name}.taggable_id = #{quote}#{table_name}#{quote}.#{primary_key}" +
+ " AND #{ActsAsTaggableOn::Tagging.table_name}.taggable_type = #{quote_value(base_class.name)}" +
+ " AND #{ActsAsTaggableOn::Tagging.table_name}.tagger_id = #{owned_by.id}" +
+ " AND #{ActsAsTaggableOn::Tagging.table_name}.tagger_type = #{quote_value(owned_by.class.base_class.to_s)}"
end
elsif options.delete(:any)
# get tags, drop out if nothing returned (we need at least one)
tags = if options.delete(:wild)
- ActsAsTaggableOn::Tag.named_like_any(tag_list)
- else
- ActsAsTaggableOn::Tag.named_any(tag_list)
- end
+ ActsAsTaggableOn::Tag.named_like_any(tag_list)
+ else
+ ActsAsTaggableOn::Tag.named_any(tag_list)
+ end
return empty_result unless tags.length > 0
@@ -129,12 +129,12 @@ module ActsAsTaggableOn::Taggable
taggings_context = context ? "_#{context}" : ''
taggings_alias = adjust_taggings_alias(
- "#{alias_base_name[0..4]}#{taggings_context[0..6]}_taggings_#{sha_prefix(tags.map(&:name).join('_'))}"
+ "#{alias_base_name[0..4]}#{taggings_context[0..6]}_taggings_#{sha_prefix(tags.map(&:name).join('_'))}"
)
tagging_join = "JOIN #{ActsAsTaggableOn::Tagging.table_name} #{taggings_alias}" +
- " ON #{taggings_alias}.taggable_id = #{quote}#{table_name}#{quote}.#{primary_key}" +
- " AND #{taggings_alias}.taggable_type = #{quote_value(base_class.name)}"
+ " ON #{taggings_alias}.taggable_id = #{quote}#{table_name}#{quote}.#{primary_key}" +
+ " AND #{taggings_alias}.taggable_type = #{quote_value(base_class.name)}"
tagging_join << " AND " + sanitize_sql(["#{taggings_alias}.context = ?", context.to_s]) if context
# don't need to sanitize sql, map all ids and join with OR logic
@@ -142,36 +142,36 @@ module ActsAsTaggableOn::Taggable
select_clause = "DISTINCT #{table_name}.*" unless context and tag_types.one?
if owned_by
- tagging_join << " AND " +
- sanitize_sql([
- "#{taggings_alias}.tagger_id = ? AND #{taggings_alias}.tagger_type = ?",
- owned_by.id,
- owned_by.class.base_class.to_s
- ])
+ tagging_join << " AND " +
+ sanitize_sql([
+ "#{taggings_alias}.tagger_id = ? AND #{taggings_alias}.tagger_type = ?",
+ owned_by.id,
+ owned_by.class.base_class.to_s
+ ])
end
joins << tagging_join
else
tags = ActsAsTaggableOn::Tag.named_any(tag_list)
- return empty_result unless tags.length == tag_list.length
-
+ #return empty_result unless tags.length == tag_list.length
tags.each do |tag|
+ next if selected_tag_ids && selected_tag_ids.count != 0 && !selected_tag_ids.include?(tag.id.to_s)
taggings_alias = adjust_taggings_alias("#{alias_base_name[0..11]}_taggings_#{sha_prefix(tag.name)}")
tagging_join = "JOIN #{ActsAsTaggableOn::Tagging.table_name} #{taggings_alias}" +
- " ON #{taggings_alias}.taggable_id = #{quote}#{table_name}#{quote}.#{primary_key}" +
- " AND #{taggings_alias}.taggable_type = #{quote_value(base_class.name)}" +
- " AND #{taggings_alias}.tag_id = #{tag.id}"
+ " ON #{taggings_alias}.taggable_id = #{quote}#{table_name}#{quote}.#{primary_key}" +
+ " AND #{taggings_alias}.taggable_type = #{quote_value(base_class.name)}" +
+ " AND #{taggings_alias}.tag_id = #{tag.id}"
tagging_join << " AND " + sanitize_sql(["#{taggings_alias}.context = ?", context.to_s]) if context
if owned_by
- tagging_join << " AND " +
+ tagging_join << " AND " +
sanitize_sql([
- "#{taggings_alias}.tagger_id = ? AND #{taggings_alias}.tagger_type = ?",
- owned_by.id,
- owned_by.class.base_class.to_s
- ])
+ "#{taggings_alias}.tagger_id = ? AND #{taggings_alias}.tagger_type = ?",
+ owned_by.id,
+ owned_by.class.base_class.to_s
+ ])
end
joins << tagging_join
@@ -182,8 +182,8 @@ module ActsAsTaggableOn::Taggable
if options.delete(:match_all)
joins << "LEFT OUTER JOIN #{ActsAsTaggableOn::Tagging.table_name} #{taggings_alias}" +
- " ON #{taggings_alias}.taggable_id = #{quote}#{table_name}#{quote}.#{primary_key}" +
- " AND #{taggings_alias}.taggable_type = #{quote_value(base_class.name)}"
+ " ON #{taggings_alias}.taggable_id = #{quote}#{table_name}#{quote}.#{primary_key}" +
+ " AND #{taggings_alias}.taggable_type = #{quote_value(base_class.name)}"
group_columns = ActsAsTaggableOn::Tag.using_postgresql? ? grouped_column_names_for(self) : "#{table_name}.#{primary_key}"
From bbae10d5e8ba0f6da17d34b343cad9cdb806ad74 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Wed, 29 Oct 2014 17:42:12 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BD=9C=E4=B8=9A?=
=?UTF-8?q?=E6=8F=8F=E8=BF=B0=E6=9C=80=E5=A4=A7=E9=99=90=E5=88=B6=E4=B8=BA?=
=?UTF-8?q?5000=E4=B8=AA=E5=AD=97=E7=AC=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/homework_attach_controller.rb | 35 +------------------
app/views/homework_attach/new.html.erb | 2 +-
2 files changed, 2 insertions(+), 35 deletions(-)
diff --git a/app/controllers/homework_attach_controller.rb b/app/controllers/homework_attach_controller.rb
index 1841c90ea..041c63a8e 100644
--- a/app/controllers/homework_attach_controller.rb
+++ b/app/controllers/homework_attach_controller.rb
@@ -101,9 +101,6 @@ class HomeworkAttachController < ApplicationController
:project_id => project_id
}
-
- #@homework_list = @bid.homeworks
-
@homework = HomeworkAttach.new(options)
@homework.save_attachments(params[:attachments])
render_attachment_warning_if_needed(@homework)
@@ -126,18 +123,8 @@ class HomeworkAttachController < ApplicationController
def new
@bid = Bid.find(params[:id])
- if User.current.admin? || User.current.member_of_course?(@bid.courses.first) #nwb
- #该课程的学生的集合(新建不实现功能:添加成员)
- #@members = @bid.courses.first.members.joins(:member_roles).where("member_roles.role_id IN (:role_id) and user_id <> #{User.current.id}", {:role_id => [5, 10]})
-
- #@members = paginateHelper @members,10
- #@all_user = []
- #@bid.courses.first.members.each do |member|
- # @all_user << member.user
- #end
+ if User.current.admin? || User.current.member_of_course?(@bid.courses.first)
@homework = HomeworkAttach.new
- #@homework_user = members_for_homework(@homework) + User.current
- #@members = @all_user - @homework_user
respond_to do |format|
format.html # new.html.erb
format.json { render json: @homework }
@@ -171,7 +158,6 @@ class HomeworkAttachController < ApplicationController
#users:该作业所有成员
#q:模糊匹配的用户的昵称
def members_for_homework homework,users,q
- #homework.bid.courses.first.members.joins(:member_roles).where("member_roles.role_id IN (:role_id) and user_id not in (:users)", {:role_id => [5, 10],:users => users}).joins(:user).where("users.login like '%#{q}%'")
unpartin_users = homework.bid.courses.first.members.where("user_id not in (:users)", {:users => users}).joins(:user).where("users.login like '%#{q}%'")
canpartin_users = []
unpartin_users.each do |m|
@@ -183,9 +169,7 @@ class HomeworkAttachController < ApplicationController
end
def edit
- #@homework = HomeworkAttach.find(params[:id])
if User.current.admin? || User.current.member_of_course?(@homework.bid.courses.first)
- #@members = @homework.bid.courses.first.members.joins(:member_roles).where("member_roles.role_id IN (:role_id)", {:role_id => [5, 10]})
get_homework_member @homework
else
render_403 :message => :notice_not_authorized
@@ -226,7 +210,6 @@ class HomeworkAttachController < ApplicationController
end
def destroy
- #@homework = HomeworkAttach.find(params[:id])
if User.current.admin? || User.current == @homework.user
if @homework.destroy
respond_to do |format|
@@ -242,7 +225,6 @@ class HomeworkAttachController < ApplicationController
#显示作业信息
def show
- #@homework = HomeworkAttach.find(params[:id])
if User.current.admin? || User.current.member_of_course?(@homework.bid.courses.first)
# 打分统计
stars_reates = @homework.
@@ -279,13 +261,6 @@ class HomeworkAttachController < ApplicationController
#删除留言
def destroy_jour
@journal_destroyed = JournalsForMessage.delete_message(params[:object_id])
- #@homework = HomeworkAttach.find(params[:id])
- #@jours = @homework.journals_for_messages.order("created_on DESC")
- #@limit = 10
- #@feedback_count = @jours.count
- #@feedback_pages = Paginator.new @feedback_count, @limit, params['page']
- #@offset ||= @feedback_pages.offset
- #@jour = @jours[@offset, @limit]
respond_to do |format|
format.js
end
@@ -322,14 +297,6 @@ class HomeworkAttachController < ApplicationController
#获取指定作业的平均得分
def score
- #stars_reates = @homework.rates(:quality)
- #percent = 0
- #stars_reates.each do |star_reates|
- # percent = percent + star_reates.stars
- #end
- #stars_reates_count = stars_reates.count == 0 ? 1 : stars_reates.count
- #result = percent * 1.0 / stars_reates_count
- #result
end
#添加回复
diff --git a/app/views/homework_attach/new.html.erb b/app/views/homework_attach/new.html.erb
index 3cce7bdae..cd1e4e425 100644
--- a/app/views/homework_attach/new.html.erb
+++ b/app/views/homework_attach/new.html.erb
@@ -62,7 +62,7 @@
描 述 :
- <%= f.text_area "description", :rows => 8, :class => 'wiki-edit', :style => "font-size:small;width:490px;margin-left:10px;", :maxlength => 65534 %>
+ <%= f.text_area "description", :rows => 8, :class => 'wiki-edit', :style => "font-size:small;width:490px;margin-left:10px;", :maxlength => 5000 %>
From 7c331cf49cdf209da38b605fa24c1d130e5bb6ed Mon Sep 17 00:00:00 2001
From: z9hang
Date: Thu, 30 Oct 2014 09:32:33 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E5=AF=B9tags=E5=81=9A?=
=?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9(=E4=B8=8A=E6=AC=A1=E7=9A=84?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=B9=E4=B8=80=E4=B8=AA=E7=B3=BB=E7=BB=9F?=
=?UTF-8?q?=E6=96=87=E4=BB=B6=E5=81=9A=E4=BA=86=E4=BF=AE=E6=94=B9=EF=BC=8C?=
=?UTF-8?q?=E6=97=A0=E6=B3=95=E5=BA=94=E7=94=A8=E5=88=B0=E6=9C=AC=E7=B3=BB?=
=?UTF-8?q?=E7=BB=9F)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/tags_controller.rb | 70 ++++++-------------
app/helpers/attachments_helper.rb | 4 +-
app/helpers/bids_helper.rb | 4 +-
app/helpers/contests_helper.rb | 4 +-
app/helpers/courses_helper.rb | 4 +-
app/helpers/forums_helper.rb | 4 +-
app/helpers/issues_helper.rb | 4 +-
app/helpers/open_source_projects_helper.rb | 4 +-
app/helpers/projects_helper.rb | 4 +-
app/helpers/users_helper.rb | 4 +-
app/views/tags/_related_tags.html.erb | 6 +-
app/views/tags/_selected_tags.html.erb | 6 +-
app/views/tags/_sidebar_tags.html.erb | 12 ++--
app/views/tags/_tag_name.html.erb | 2 +-
app/views/tags/index.html.erb | 6 +-
.../acts_as_taggable_on/core.rb | 8 +--
16 files changed, 61 insertions(+), 85 deletions(-)
diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb
index 0a6f15020..1318e40a5 100644
--- a/app/controllers/tags_controller.rb
+++ b/app/controllers/tags_controller.rb
@@ -38,41 +38,24 @@ class TagsController < ApplicationController
@obj_id = params[:obj_id]
@obj_flag = params[:object_flag]
- @selected_tags = Array.new
- @selected_tag_ids = Array.new
- @selected_tag_objs = Array.new
+ @selected_tags = Array.new
@related_tags = nil
- @related_tag_ids = Array.new
- @related_tag_objs = Array.new
- if params[:q]
- @tag = ActsAsTaggableOn::Tag.find(params[:q])
- @selected_tags << @tag.name
- @selected_tag_ids << @tag.id.to_s
- @selected_tag_objs << @tag
+
+ if params[:q]
+ @selected_tags << params[:q]
else
@do_what = params[:do_what]
- @tag = ActsAsTaggableOn::Tag.find(params[:tag])
- #@selected_tags = params[:current_selected_tags]
- @selected_tag_ids = params[:current_selected_tags]
- @selected_tag_ids = @selected_tag_ids.nil? ? Array.new : @selected_tag_ids
- @selected_tag_ids.each do |t|
- ta = ActsAsTaggableOn::Tag.find(t)
- @selected_tags << ta.name
- @selected_tag_objs << ta
- end
- #@selected_tags = @selected_tags.nil? ? Array.new : @selected_tags
+ @tag = params[:tag]
+ @selected_tags = params[:current_selected_tags]
+ @selected_tags = @selected_tags.nil? ? Array.new : @selected_tags
case @do_what
when '0' then
- @selected_tags.delete @tag.name #数组中删除有多方式 可以改用shift,pop
- @selected_tag_ids.delete @tag.id.to_s
- @selected_tag_objs.delete @tag
+ @selected_tags.delete @tag #数组中删除有多方式 可以改用shift,pop
when '1' then
# 判断是否已存在该tag 主要用来处理分页的情况
- unless @selected_tags.include? @tag.name
- @selected_tags << @tag.name
- @selected_tag_ids << @tag.id.to_s
- @selected_tag_objs << @tag
+ unless @selected_tags.include? @tag
+ @selected_tags << @tag
end
end
end
@@ -92,7 +75,7 @@ class TagsController < ApplicationController
@attachments_results,
@contests_results,
@courses_results,
- @open_source_projects_results= refresh_results(@obj_id,@obj_flag,@selected_tags,@selected_tag_ids)
+ @open_source_projects_results= refresh_results(@obj_id,@obj_flag,@selected_tags)
# 这里是做tag推荐用的, 用来生产推荐的tags
unless @obj.nil?
@@ -102,13 +85,6 @@ class TagsController < ApplicationController
# @tags.delete(i)
# end
@related_tags = @tags
- @tag_objs = @obj.tags
- @tag_objs.each do |t|
- unless @selected_tags.include?(t.name)
- @related_tag_ids << t.id.to_s
- @related_tag_objs << t
- end
- end
else
return
end
@@ -186,8 +162,8 @@ class TagsController < ApplicationController
if request.get?
# 获取传过来的tag_id taggable_id 和 taggable_type,通过2者确定要删除tag的对象
- @tag_id = params[:tag_name]
- @tag_name = (ActsAsTaggableOn::Tag.find(@tag_id)).name
+ @tag_name = params[:tag_name]
+ @tag_id = (ActsAsTaggableOn::Tag.find_by_name(@tag_name)).id
@taggable_id = params[:taggable_id] # 当做参数传时对象会变成字符串
@taggable_type = numbers_to_object_type(params[:taggable_type])
@@ -216,7 +192,7 @@ class TagsController < ApplicationController
private
# 这里用来刷新搜索结果的区域
# 函数的返回值 前2字段用来处理获取其他tag和分页 ,另外4个返回值为过滤结果
- def refresh_results(obj_id,obj_flag,selected_tags,selected_tag_ids = nil)
+ def refresh_results(obj_id,obj_flag,selected_tags)
@users_results = nil
@projects_results = nil
@issues_results = nil
@@ -234,36 +210,36 @@ class TagsController < ApplicationController
case obj_flag
when '1' then
@obj = User.find_by_id(obj_id)
- @obj_pages,@users_results,@results_count = for_pagination(get_users_by_tag(selected_tags,selected_tag_ids))
+ @obj_pages,@users_results,@results_count = for_pagination(get_users_by_tag(selected_tags))
when '2' then
@obj = Project.find_by_id(obj_id)
- @obj_pages,@projects_results,@results_count = for_pagination(get_projects_by_tag(selected_tags,selected_tag_ids))
+ @obj_pages,@projects_results,@results_count = for_pagination(get_projects_by_tag(selected_tags))
when '3' then
@obj = Issue.find_by_id(obj_id)
- @obj_pages,@issues_results,@results_count = for_pagination(get_issues_by_tag(selected_tags,selected_tag_ids))
+ @obj_pages,@issues_results,@results_count = for_pagination(get_issues_by_tag(selected_tags))
when '4' then
- @obj_pages,@bids_results,@results_count = for_pagination(get_bids_by_tag(selected_tags,selected_tag_ids))
+ @obj_pages,@bids_results,@results_count = for_pagination(get_bids_by_tag(selected_tags))
@obj = Bid.find_by_id(obj_id)
when '5'
@obj = Forum.find_by_id(obj_id)
- @obj_pages,@forums_results,@results_count = for_pagination(get_forums_by_tag(selected_tags,selected_tag_ids))
+ @obj_pages,@forums_results,@results_count = for_pagination(get_forums_by_tag(selected_tags))
when '6'
@obj = Attachment.find_by_id(obj_id)
# modifed by Long Jun
# this is used to find the attachments that came from the same project and tagged with the same tag.
#@result = get_attachments_by_project_tag(selected_tags, @obj)
- @result = get_attachments_by_tag(selected_tags,selected_tag_ids)
+ @result = get_attachments_by_tag(selected_tags)
@obj_pages, @attachments_results, @results_count = for_pagination(@result)
when '7'
@obj = Contest.find_by_id(obj_id)
- @obj_pages,@contests_results,@results_count = for_pagination(get_contests_by_tag(selected_tags,selected_tag_ids))
+ @obj_pages,@contests_results,@results_count = for_pagination(get_contests_by_tag(selected_tags))
when '8'
@obj = OpenSourceProject.find_by_id(obj_id)
- @obj_pages, @open_source_projects_results, @results_count = for_pagination(get_open_source_projects_by_tag(selected_tags,selected_tag_ids))
+ @obj_pages, @open_source_projects_results, @results_count = for_pagination(get_open_source_projects_by_tag(selected_tags))
when '9' then
@obj = Course.find_by_id(obj_id)
- @obj_pages, @courses_results, @results_count = for_pagination(get_courses_by_tag(selected_tags,selected_tag_ids))
+ @obj_pages, @courses_results, @results_count = for_pagination(get_courses_by_tag(selected_tags))
else
@obj = nil
end
diff --git a/app/helpers/attachments_helper.rb b/app/helpers/attachments_helper.rb
index 70a2e40e7..7ea49dad2 100644
--- a/app/helpers/attachments_helper.rb
+++ b/app/helpers/attachments_helper.rb
@@ -75,8 +75,8 @@ module AttachmentsHelper
# this method is used to get all projects that tagged one tag
# added by william
- def get_attachments_by_tag(tag_name,selected_tag_ids = nil)
- Attachment.tagged_with(tag_name,{},selected_tag_ids).order('created_on desc')
+ def get_attachments_by_tag(tag_name)
+ Attachment.tagged_with(tag_name).order('created_on desc')
end
# this method is used to get all attachments that from one project and tagged one tag
diff --git a/app/helpers/bids_helper.rb b/app/helpers/bids_helper.rb
index 118e0ccb1..a5c25ecb5 100644
--- a/app/helpers/bids_helper.rb
+++ b/app/helpers/bids_helper.rb
@@ -35,8 +35,8 @@ module BidsHelper
# this method is used to get all projects that tagged one tag
# added by william
- def get_bids_by_tag(tag_name,selected_tag_ids = nil)
- Bid.tagged_with(tag_name,{},selected_tag_ids).order('updated_on desc')
+ def get_bids_by_tag(tag_name)
+ Bid.tagged_with(tag_name).order('updated_on desc')
end
#added by huang
diff --git a/app/helpers/contests_helper.rb b/app/helpers/contests_helper.rb
index 983cf68bd..0bc3e5e73 100644
--- a/app/helpers/contests_helper.rb
+++ b/app/helpers/contests_helper.rb
@@ -35,8 +35,8 @@ module ContestsHelper
# this method is used to get all projects that tagged one tag
# added by william
- def get_contests_by_tag(tag_name,selected_tag_ids = nil)
- Contest.tagged_with(tag_name,{},selected_tag_ids).order('updated_on desc')
+ def get_contests_by_tag(tag_name)
+ Contest.tagged_with(tag_name).order('updated_on desc')
end
#added by huang
diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb
index 77445532b..1afb94220 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -449,8 +449,8 @@ module CoursesHelper
return homework_users
end
- def get_courses_by_tag(tag_name,selected_tag_ids = nil)
- Course.tagged_with(tag_name,{},selected_tag_ids).order('updated_at desc')
+ def get_courses_by_tag(tag_name)
+ Course.tagged_with(tag_name).order('updated_at desc')
end
#课程实践年份下拉框
diff --git a/app/helpers/forums_helper.rb b/app/helpers/forums_helper.rb
index 2d7b4bbb8..47a059e04 100644
--- a/app/helpers/forums_helper.rb
+++ b/app/helpers/forums_helper.rb
@@ -22,7 +22,7 @@ module ForumsHelper
# this method is used to get all projects that tagged one tag
# added by william
- def get_forums_by_tag(tag_name,selected_tag_ids = nil)
- Forum.tagged_with(tag_name,{},selected_tag_ids).order('updated_at desc')
+ def get_forums_by_tag(tag_name)
+ Forum.tagged_with(tag_name).order('updated_at desc')
end
end
diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb
index b5f49331f..637c92db3 100644
--- a/app/helpers/issues_helper.rb
+++ b/app/helpers/issues_helper.rb
@@ -382,8 +382,8 @@ module IssuesHelper
# this method is used to get all projects that tagged one tag
# added by william
- def get_issues_by_tag(tag_name,selected_tag_ids = nil)
- Issue.tagged_with(tag_name,{},selected_tag_ids).order('updated_on desc')
+ def get_issues_by_tag(tag_name)
+ Issue.tagged_with(tag_name).order('updated_on desc')
end
end
diff --git a/app/helpers/open_source_projects_helper.rb b/app/helpers/open_source_projects_helper.rb
index 8f7d31e05..dfc7cc8d0 100644
--- a/app/helpers/open_source_projects_helper.rb
+++ b/app/helpers/open_source_projects_helper.rb
@@ -31,8 +31,8 @@ module OpenSourceProjectsHelper
s = content_tag('div', s, :class => 'user_tags')
end
- def get_open_source_projects_by_tag(tag_name,selected_tag_ids = nil)
- OpenSourceProject.tagged_with(tag_name,{},selected_tag_ids).order('created_at desc')
+ def get_open_source_projects_by_tag(tag_name)
+ OpenSourceProject.tagged_with(tag_name).order('created_at desc')
end
def show_origin(url)
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 3beed444d..5df3644ad 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -232,8 +232,8 @@ module ProjectsHelper
# this method is used to get all projects that tagged one tag
# added by william
- def get_projects_by_tag(tag_name,selected_tag_ids = nil)
- Project.tagged_with(tag_name,{},selected_tag_ids).order('updated_on desc')
+ def get_projects_by_tag(tag_name)
+ Project.tagged_with(tag_name).order('updated_on desc')
end
# added by fq
diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb
index ac3d5ad57..58935dd11 100644
--- a/app/helpers/users_helper.rb
+++ b/app/helpers/users_helper.rb
@@ -57,8 +57,8 @@ module UsersHelper
# this method is used to get all projects that tagged one tag
# added by william
- def get_users_by_tag(tag_name,selected_tag_ids = nil)
- User.tagged_with(tag_name,{},selected_tag_ids).order('updated_on desc')
+ def get_users_by_tag(tag_name)
+ User.tagged_with(tag_name).order('updated_on desc')
end
# added by fq
diff --git a/app/views/tags/_related_tags.html.erb b/app/views/tags/_related_tags.html.erb
index 17e006da5..04b356598 100644
--- a/app/views/tags/_related_tags.html.erb
+++ b/app/views/tags/_related_tags.html.erb
@@ -5,14 +5,14 @@
<% i += 1 %>
<%= link_to image_tag("/images/sidebar/add.png"),:action => "index",
- :current_selected_tags => selected_tags,:tag => rt.id,:do_what => "1",
+ :current_selected_tags => selected_tags,:tag => rt,:do_what => "1",
:obj_id => obj_id,:object_flag => obj_flag %>
- <%= rt.name %>
+ <%= rt %>
<% break if i >= 10 %>
- <%= render :partial => 'sidebar_tags',:locals => {:show_flag => obj_flag,:sg => rt,:selected_tag_ids => related_tag_ids }%>
+ <%= render :partial => 'sidebar_tags',:locals => {:show_flag => obj_flag,:sg => rt }%>
<% end %>
diff --git a/app/views/tags/_selected_tags.html.erb b/app/views/tags/_selected_tags.html.erb
index 851770469..3081177bc 100644
--- a/app/views/tags/_selected_tags.html.erb
+++ b/app/views/tags/_selected_tags.html.erb
@@ -3,10 +3,10 @@
<% for sg in selected_tags %>
<%= link_to image_tag("/images/sidebar/minus.png"),:action => "index",
- :current_selected_tags => selected_tags ,:tag => sg.id,:do_what => "0",
+ :current_selected_tags => selected_tags ,:tag => sg,:do_what => "0",
:obj_id => obj_id,:object_flag => obj_flag %>
- <%= sg.name %>
- <%= render :partial => 'sidebar_tags',:locals => {:show_flag => obj_flag,:sg => sg ,:selected_tag_ids => @selected_tag_ids}%>
+ <%= sg %>
+ <%= render :partial => 'sidebar_tags',:locals => {:show_flag => obj_flag,:sg => sg }%>
<% end %>
diff --git a/app/views/tags/_sidebar_tags.html.erb b/app/views/tags/_sidebar_tags.html.erb
index cb1b416fc..8db485d1f 100644
--- a/app/views/tags/_sidebar_tags.html.erb
+++ b/app/views/tags/_sidebar_tags.html.erb
@@ -1,14 +1,14 @@
<% case show_flag%>
<% when '1' then %>
-(<%= User.tagged_with("#{sg.name}",{},selected_tag_ids).size %>)
+(<%= User.tagged_with("#{sg}").size %>)
<%when '2' then %>
-(<%= Project.tagged_with(sg.name,{},selected_tag_ids).size %>)
+(<%= Project.tagged_with(sg).size %>)
<% when '3' then %>
-(<%= Issue.tagged_with("#{sg.name}",{},selected_tag_ids).size %>)
+(<%= Issue.tagged_with("#{sg}").size %>)
<% when '4' then %>
-(<%= Bid.tagged_with("#{sg.name}",{},selected_tag_ids).size %>)
+(<%= Bid.tagged_with("#{sg}").size %>)
<% when '5' then %>
-(<%= Forum.tagged_with("#{sg.name}",{},selected_tag_ids).size %>)
+(<%= Forum.tagged_with("#{sg}").size %>)
<% when '6' then %>
-(<%= Attachment.tagged_with("#{sg.name}",{},selected_tag_ids).size %>)
+(<%= Attachment.tagged_with("#{sg}").size %>)
<% end %>
diff --git a/app/views/tags/_tag_name.html.erb b/app/views/tags/_tag_name.html.erb
index 698a3a868..6996e8891 100644
--- a/app/views/tags/_tag_name.html.erb
+++ b/app/views/tags/_tag_name.html.erb
@@ -8,7 +8,7 @@
// })
-<% @tags = obj.reload.tags %>
+<% @tags = obj.reload.tag_list %>
<% if non_list_all and (@tags.size > 0) %>
diff --git a/app/views/tags/index.html.erb b/app/views/tags/index.html.erb
index 18bb2faf9..47a2ba1d2 100644
--- a/app/views/tags/index.html.erb
+++ b/app/views/tags/index.html.erb
@@ -3,13 +3,13 @@
<%= l(:label_tags_selected) %>
<%= render :partial => "selected_tags",:locals => {
- :selected_tags => @selected_tag_objs,:obj_flag => @obj_flag,:obj_id => @obj_id }%>
+ :selected_tags => @selected_tags,:obj_flag => @obj_flag,:obj_id => @obj_id }%>
<%= l(:label_tags_related) %>
- <%= render :partial => "related_tags",:locals => {:related_tags => @related_tag_objs,
- :selected_tags => @selected_tag_ids,:related_tag_ids => @related_tag_ids,:obj_flag => @obj_flag,:obj_id => @obj_id }%>
+ <%= render :partial => "related_tags",:locals => {:related_tags => @related_tags,
+ :selected_tags => @selected_tags,:obj_flag => @obj_flag,:obj_id => @obj_id }%>
<% end %>
diff --git a/lib/plugins/acts-as-taggable-on/lib/acts_as_taggable_on/acts_as_taggable_on/core.rb b/lib/plugins/acts-as-taggable-on/lib/acts_as_taggable_on/acts_as_taggable_on/core.rb
index a6c1e0974..594ee1238 100644
--- a/lib/plugins/acts-as-taggable-on/lib/acts_as_taggable_on/acts_as_taggable_on/core.rb
+++ b/lib/plugins/acts-as-taggable-on/lib/acts_as_taggable_on/acts_as_taggable_on/core.rb
@@ -81,7 +81,7 @@ module ActsAsTaggableOn::Taggable
# User.tagged_with("awesome", "cool", :any => true) # Users that are tagged with awesome or cool
# User.tagged_with("awesome", "cool", :match_all => true) # Users that are tagged with just awesome and cool
# User.tagged_with("awesome", "cool", :owned_by => foo ) # Users that are tagged with just awesome and cool by 'foo'
- def tagged_with(tags,options = {},selected_tag_ids = nil)
+ def tagged_with(tags, options = {})
tag_list = ActsAsTaggableOn::TagList.from(tags)
empty_result = where("1 = 0")
@@ -154,9 +154,9 @@ module ActsAsTaggableOn::Taggable
else
tags = ActsAsTaggableOn::Tag.named_any(tag_list)
- #return empty_result unless tags.length == tag_list.length
+ return empty_result unless tags.length == tag_list.length
+
tags.each do |tag|
- next if selected_tag_ids && selected_tag_ids.count != 0 && !selected_tag_ids.include?(tag.id.to_s)
taggings_alias = adjust_taggings_alias("#{alias_base_name[0..11]}_taggings_#{sha_prefix(tag.name)}")
tagging_join = "JOIN #{ActsAsTaggableOn::Tagging.table_name} #{taggings_alias}" +
" ON #{taggings_alias}.taggable_id = #{quote}#{table_name}#{quote}.#{primary_key}" +
@@ -355,7 +355,7 @@ module ActsAsTaggableOn::Taggable
new_tags |= current_tags[index...current_tags.size] & shared_tags
# Order the array of tag objects to match the tag list
- new_tags = tags.map do |t|
+ new_tags = tags.map do |t|
new_tags.find { |n| n.name.downcase == t.name.downcase }
end.compact
end