diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index aabce249c..a44a3bc01 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -42,7 +42,7 @@ class UsersController < ApplicationController :activity_new_score_index, :influence_new_score_index, :score_new_index,:user_projects_index,:user_resource, :user_courses4show,:user_projects4show,:user_course_activities,:user_project_activities,:user_feedback4show,:user_visitorlist,:user_messages,:edit_brief_introduction, :user_import_homeworks,:user_search_homeworks,:user_import_resource, :user_system_messages,:choose_user_course,:user_courselist,:user_projectlist,:sort_syllabus_list, - :sort_project_list,:my_homeworks,:manage_or_receive_homeworks,:search_m_r_homeworks, :cancel_collect] + :sort_project_list,:my_homeworks,:manage_or_receive_homeworks,:search_m_r_homeworks, :cancel_or_collect,:expand_courses] before_filter :auth_user_extension, only: :show #before_filter :rest_user_score, only: :show #before_filter :select_entry, only: :user_projects @@ -1459,15 +1459,15 @@ class UsersController < ApplicationController #显示更多用户课程 def user_courses4show @page = params[:page].to_i + 1 - @courses = @user.courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10).offset(@page * 10) - @all_count = @user.courses.visible.where("is_delete =?", 0).count + @courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10).offset(@page * 10) + @all_count = @user.favorite_courses.visible.where("is_delete =?", 0).count end #显示更多用户项目 def user_projects4show @page = params[:page].to_i + 1 - @projects = @user.projects.visible.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10).offset(@page * 10) - @all_count = @user.projects.visible.count + @projects = @user.favorite_projects.visible.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10).offset(@page * 10) + @all_count = @user.favorite_projects.visible.count end def user_course_activities @@ -3424,20 +3424,27 @@ class UsersController < ApplicationController end end - #取消收藏班级/项目 - def cancel_collect + #收藏班级/项目 + def cancel_or_collect if params[:project] - member = Member.where("user_id = #{@user.id} and project_id = #{params[:project].to_i}") + @project = Project.find params[:project] + member = Member.where("user_id = #{@user.id} and project_id = #{@project.id}") elsif params[:course] - member = Member.where("user_id = #{@user.id} and course_id = #{params[:course].to_i}") + @course = Course.find params[:course] + member = Member.where("user_id = #{@user.id} and course_id = #{@course.id}") end unless member.empty? - member.first.update_attribute(:is_collect => 0) + member.first.update_attribute(:is_collect, member.first.is_collect == 0 ? 1 : 0) + end + if @project + @projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10) + elsif @course + @courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) end respond_to do |format| format.js end -end + end def user_projectlist @order, @c_sort, @type, @list_type = 1, 2, 1, 1 diff --git a/app/views/layouts/_homepage_left_course_list.html.erb b/app/views/layouts/_homepage_left_course_list.html.erb new file mode 100644 index 000000000..1f1f03210 --- /dev/null +++ b/app/views/layouts/_homepage_left_course_list.html.erb @@ -0,0 +1,17 @@ +<% all_count = @user.favorite_courses.visible.where("is_delete =?", 0).count%> +
+ +
+<% if !courses.empty? %> + + + +<% end %> + + \ No newline at end of file diff --git a/app/views/layouts/_homepage_left_project_list.html.erb b/app/views/layouts/_homepage_left_project_list.html.erb new file mode 100644 index 000000000..d3fcaf2b5 --- /dev/null +++ b/app/views/layouts/_homepage_left_project_list.html.erb @@ -0,0 +1,17 @@ +<% all_count = @user.favorite_projects.visible.count%> +
+ +
+<% if !projects.empty? %> + + + +<% end %> + + \ No newline at end of file diff --git a/app/views/layouts/_user_courses.html.erb b/app/views/layouts/_user_courses.html.erb index 0335aa922..d8b145ddc 100644 --- a/app/views/layouts/_user_courses.html.erb +++ b/app/views/layouts/_user_courses.html.erb @@ -53,7 +53,7 @@ <% end %> <% if User.current == user %>
  • - <%= link_to "取消收藏", cancel_collect_user_path(user, :course => course.id), :class => 'user_navmore_li',:target => '_blank' %> + <%= link_to "取消收藏", cancel_or_collect_user_path(user, :course => course.id), :class => 'user_navmore_li',:target => '_blank', :remote => true %>
  • diff --git a/app/views/layouts/_user_projects.html.erb b/app/views/layouts/_user_projects.html.erb index 21b42decd..e8a7f0755 100644 --- a/app/views/layouts/_user_projects.html.erb +++ b/app/views/layouts/_user_projects.html.erb @@ -27,6 +27,10 @@
  • <% end %> <% if User.current == @user %> +
  • + <%= link_to "取消收藏", cancel_or_collect_user_path(user, :project => project.id), :class => 'user_navmore_li',:target => '_blank', :remote => true %> +
    +
  • <% if ShieldActivity.where("container_type='User' and container_id=#{user.id} and shield_type='Project' and shield_id=#{project.id}").count == 0 %> <%= link_to "屏蔽动态", shield_activities_path(:user_id => user.id, :project_id => project.id), :method => 'post',:remote => true,:class => "user_navmore_li" %> diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index 5969f17d6..46cd43ecf 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -159,18 +159,8 @@
  • <%= link_to '班级',{:controller => "users", :action => "user_courselist", :id => @user.id}, :id => "user_course_list" %> <% courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) %> - <% all_count = @user.favorite_courses.visible.where("is_delete =?", 0).count%> -
    -
    -
      - <%= render :partial => 'layouts/user_courses', :locals => {:courses => courses,:user => @user,:all_count => all_count,:page => 0} %> -
    -
    - <% if !courses.empty? %> - - - - <% end %> +
    + <%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %>
  • <% if is_current_user %> @@ -195,19 +185,9 @@