From 5cc362e6eb6a39badecd8d926008dfbdd950623f Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 5 Jan 2017 10:14:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=91=E6=94=B6=E5=88=B0=E7=9A=84=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 35 +++++++++++++++- app/helpers/application_helper.rb | 9 ++++ .../layouts/base_course_community.html.erb | 5 ++- .../layouts/base_project_community.html.erb | 5 ++- app/views/layouts/new_base_user.html.erb | 9 ++-- .../users/_receive_homework_list.html.erb | 13 ++---- .../users/user_manage_homeworks.html.erb | 2 +- .../users/user_receive_homeworks.html.erb | 42 +++++++++++++++++++ app/views/users/user_receive_homeworks.js.erb | 7 ++++ config/routes.rb | 1 + 10 files changed, 111 insertions(+), 17 deletions(-) create mode 100644 app/views/users/user_receive_homeworks.html.erb create mode 100644 app/views/users/user_receive_homeworks.js.erb diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 3ed496d2f..3c44cac57 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -37,7 +37,7 @@ class UsersController < ApplicationController before_filter :can_show_course, :only => [:user_courses,:user_homeworks] before_filter :find_user, :only => [:user_fanslist, :user_watchlist, :show, :edit, :update, :destroy, :edit_membership, :user_courses, :unsolved_issues_list, :unfinished_homework_list, :user_manage_homeworks, :unfinished_poll_list, :user_homeworks,:student_homeworks, :destroy_membership, :user_activities, :user_projects, :user_newfeedback, :user_comments, - :anonymous_evaluation_list,:unfinished_test_list, :watch_contests, :info, :watch_projects, :show_score, :topic_score_index, :project_score_index, + :anonymous_evaluation_list,:unfinished_test_list, :watch_contests, :info, :watch_projects, :show_score, :topic_score_index, :project_score_index, :user_receive_homeworks, :unapproval_applied_list, :activity_score_index, :influence_score_index, :score_index,:show_new_score, :topic_new_score_index, :project_new_score_index, :activity_new_score_index, :influence_new_score_index, :score_new_index,:user_projects_index,:user_resource,:user_contestlist, :user_manage_issues, :user_receive_issues, :user_courses4show,:user_projects4show,:user_contests4show,:user_course_activities,:user_project_activities,:user_feedback4show,:user_visitorlist,:user_messages,:edit_brief_introduction, @@ -1863,6 +1863,39 @@ end end end + # 用户收到的作业 + def user_receive_homeworks + @receive_homeworks = "我收到的作业" + @order,@b_sort,@type = params[:order] || "created_at",params[:sort] || "desc", 2 + @r_sort = @b_sort == "desc" ? "asc" : "desc" + @type = @type.to_i + stu_courses = @user.courses.visible.not_deleted.select{|course| @user.has_student_role(course)} + stu_course_ids = stu_courses.empty? ? "(-1)" : "(" + stu_courses.map{|course| course.id}.join(',') + ")" + @homeworks = HomeworkCommon.where("course_id in #{stu_course_ids} and publish_time <= '#{Date.today}'").order("#{@order} #{@b_sort}") + if params[:property] + all_homework_ids = @homeworks.empty? ? "(-1)" : "(" + @homeworks.map{|h| h.id}.join(",") + ")" + if params[:property] == "1" + @homeworks = HomeworkCommon.find_by_sql("select * from homework_commons where id in #{all_homework_ids} and homework_type = 1") + elsif params[:property] == "2" + @homeworks = HomeworkCommon.find_by_sql("select * from homework_commons where id in #{all_homework_ids} and homework_type = 2") + elsif params[:property] == "3" + @homeworks = HomeworkCommon.find_by_sql("select * from homework_commons where id in #{all_homework_ids} and homework_type = 3") + end + end + @limit = 10 + @is_remote = true + @hw_count = @homeworks.count + @hw_pages = Paginator.new @hw_count, @limit, params['page'] || 1 + @offset ||= @hw_pages.offset + @homeworks = paginateHelper @homeworks,@limit + @search = "" + @property = params[:property] + respond_to do |format| + format.js + format.html {render :layout => 'static_base'} + end + end + #我管理/收到的作业 def manage_or_receive_homeworks @order,@b_sort,@type = params[:order] || "created_at",params[:sort] || "desc",params[:type] || 1 diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index bd9f110be..df785c2ae 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1354,6 +1354,8 @@ module ApplicationHelper title << @receive_issues elsif !@manage_homeworks.blank? title << @manage_homeworks + elsif !@receive_homeworks.blank? + title << @receive_homeworks else title << @user.try(:realname) end @@ -2933,6 +2935,13 @@ module ApplicationHelper @manage_homeworks = HomeworkCommon.where(:course_id => tea_course_ids).count end + # 用户收到的作业数 + def user_receive_homework_count + stu_courses = @user.courses.visible.not_deleted.select{|course| @user.has_student_role(course)} + stu_course_ids = stu_courses.empty? ? "(-1)" : "(" + stu_courses.map{|course| course.id}.join(',') + ")" + @homeworks = HomeworkCommon.where("course_id in #{stu_course_ids} and publish_time <= '#{Date.today}'").count + end + # 用户发布的issue数 def issues_author_is_self_count @issues = Issue.where( :author_id => @user.id ) diff --git a/app/views/layouts/base_course_community.html.erb b/app/views/layouts/base_course_community.html.erb index 8eed02482..e769f8803 100644 --- a/app/views/layouts/base_course_community.html.erb +++ b/app/views/layouts/base_course_community.html.erb @@ -71,7 +71,10 @@ diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index 6cda91e36..aa17b1ae8 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -176,9 +176,12 @@ user_manage_homeworks_user_path(@user), :target => "_blank" %> <% end %> -
  • - <%= link_to '我收到的作业', my_homeworks_user_path(@user), :target => "_blank", :class => "fl", :style => "color:#666" %> -
  • + <% if user_receive_homework_count > 0 %> +
  • + <%= link_to "我收到的作业#{user_receive_homework_count}".html_safe, + user_receive_homeworks_user_path(@user), :target => "_blank" %> +
  • + <% end %>
  • <%= link_to "题库", user_homeworks_user_path(User.current), :target => "_blank", :class => "fl", :style => "color:#666" %>
  • diff --git a/app/views/users/_receive_homework_list.html.erb b/app/views/users/_receive_homework_list.html.erb index c5b073ee2..70de76eb9 100644 --- a/app/views/users/_receive_homework_list.html.erb +++ b/app/views/users/_receive_homework_list.html.erb @@ -5,29 +5,22 @@ <% else %> <% homeworks.each do |homework| %>