diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 61f62480e..d610c701b 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -834,12 +834,12 @@ class UsersController < ApplicationController courses = @user.courses.where("is_delete = 1") course_ids = courses.empty? ? "(-1)" : "(" + courses.map{|course| course.id}.join(",") + ")" if @order == "course_name" - sql = "SELECT homework_commons.* FROM homework_commons INNER JOIN courses ON homework_commons.course_id = courses.id where homework_commons.course_id not in #{course_ids} and homework_commons.user_id = #{@user.id} and homework_type in #{type_ids} and publish_time <= '#{Date.today}' and (homework_commons.name like '%#{search}%') order by CONVERT (courses.name USING gbk) COLLATE gbk_chinese_ci #{@b_sort}" + sql = "SELECT homework_commons.* FROM homework_commons INNER JOIN courses ON homework_commons.course_id = courses.id where homework_commons.course_id not in #{course_ids} and homework_commons.user_id = #{@user.id} and homework_type in #{type_ids} and (homework_commons.name like '%#{search}%') order by CONVERT (courses.name USING gbk) COLLATE gbk_chinese_ci #{@b_sort}" @homeworks = HomeworkCommon.find_by_sql(sql) elsif @order == "user_name" - @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids} and publish_time <= '#{Date.today}' and (name like '%#{search}%') and homework_type in #{type_ids}").joins(:user).order("CONVERT (lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, CONVERT (firstname USING gbk) COLLATE gbk_chinese_ci #{@b_sort},login #{@b_sort}") + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids} and (name like '%#{search}%') and homework_type in #{type_ids}").joins(:user).order("CONVERT (lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, CONVERT (firstname USING gbk) COLLATE gbk_chinese_ci #{@b_sort},login #{@b_sort}") else - @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids} and publish_time <= '#{Date.today}' and (name like '%#{search}%') and homework_type in #{type_ids}").order("#{@order} #{@b_sort}") + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids} and (name like '%#{search}%') and homework_type in #{type_ids}").order("#{@order} #{@b_sort}") end elsif params[:type] == "2" #题库 visible_course = Course.where("is_public = 1 && is_delete = 0") diff --git a/app/views/layouts/_logined_header.html.erb b/app/views/layouts/_logined_header.html.erb index 7a47c8b66..b7e2989eb 100644 --- a/app/views/layouts/_logined_header.html.erb +++ b/app/views/layouts/_logined_header.html.erb @@ -10,15 +10,9 @@ - <% if User.current.user_extensions && User.current.user_extensions.identity == 0 && User.current.allowed_to?(:add_course, nil, :global => true)%> - <% else %> - - <% end %> diff --git a/app/views/users/_homework_repository_detail.html.erb b/app/views/users/_homework_repository_detail.html.erb index 90f91c32d..f752fbfb3 100644 --- a/app/views/users/_homework_repository_detail.html.erb +++ b/app/views/users/_homework_repository_detail.html.erb @@ -14,7 +14,24 @@

测试集:<%=@homework.homework_tests.count %>组

- + <% if @homework.user == User.current && @homework.homework_tests.count > 0 %> + + + + + + + + <% @homework.homework_tests.each_with_index do |test, i| %> + + + + + + <% end %> + +
 测试集输入测试集输出
<%=i+1 %><%=test.input %><%=test.output %>
+ <% end %> <% elsif @homework.homework_type ==3 && @homework.homework_detail_group %>

分组人数:<%=@homework.homework_detail_group.min_num %> - <%=@homework.homework_detail_group.max_num %>人 diff --git a/app/views/users/user_homework_type.js.erb b/app/views/users/user_homework_type.js.erb index aa4c9ed57..95dee1c39 100644 --- a/app/views/users/user_homework_type.js.erb +++ b/app/views/users/user_homework_type.js.erb @@ -5,7 +5,7 @@ $("#homework_detail_information").html("<%=escape_javascript(render :partial => $("#homework_search_input").html("<%=escape_javascript(render :partial=>'homework_search_input', :locals=>{:type=>@type,:is_import=>@is_import}) %>"); <% else %> $("#homework_repository_list").html('<%= escape_javascript(render :partial => 'users/homework_repository_list', :locals => {:homeworks => @homeworks,:sort => @order,:b_sort => @b_sort,:type=>@type,:is_import => @is_import,:property => @property,:search=>''})%>'); -$("#homework_pository_ref_pages").html('<%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true %>'); +$("#homework_pository_ref_pages").html('<%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>'); $("#homework_search_input").html('<%= escape_javascript(render :partial => 'users/homework_repository_search', :locals => {:type => @type,:is_import => @is_import,:property => @property,:order => @order, :b_sort => @b_sort, :search => ''})%>'); $("#homework_type_all").attr('href','<%= user_homework_type_user_path(@user,:type => @type,:is_import => 0,:property => 0) %>'); $("#homework_type_nor").attr('href','<%= user_homework_type_user_path(@user,:type => @type,:is_import => 0,:property => 1) %>'); diff --git a/app/views/users/user_homeworks.html.erb b/app/views/users/user_homeworks.html.erb index 7bbc1a82e..91c8beeae 100644 --- a/app/views/users/user_homeworks.html.erb +++ b/app/views/users/user_homeworks.html.erb @@ -25,7 +25,7 @@ } -

+
-
- <%=render :partial=>'homework_repository_search', :locals=>{:type => '1',:is_import => 0,:property => nil,:order => @order, :b_sort => @b_sort, :search => ''} %> -
+ <% if @homeworks.empty? %> +
+

暂无可显示的内容~

+ <% else %> +
+ <%=render :partial=>'homework_repository_search', :locals=>{:type => '1',:is_import => 0,:property => nil,:order => @order, :b_sort => @b_sort, :search => ''} %> +
-
- <%=render :partial => 'homework_repository_list', :locals => {:homeworks => @homeworks,:type=>'1',:is_import => 0,:property => @property,:search=>''} %> -
-
-
-
    - <%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true%> -
-
+
+ <%=render :partial => 'homework_repository_list', :locals => {:homeworks => @homeworks,:type=>'1',:is_import => 0,:property => @property,:search=>''} %> +
+ +
+
    + <%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true%> +
+
+
+ <% end %>
\ No newline at end of file diff --git a/app/views/users/user_homeworks.js.erb b/app/views/users/user_homeworks.js.erb index ce1bb65e2..ac5b4e3d6 100644 --- a/app/views/users/user_homeworks.js.erb +++ b/app/views/users/user_homeworks.js.erb @@ -1,4 +1,3 @@ /*$("#homework_repository").html('<%#= escape_javascript(render :partial => 'users/homework_repository', :locals => {:homeworks => @homeworks})%>');*/ $("#homework_repository_list").html('<%= escape_javascript(render :partial => 'users/homework_repository_list', :locals => {:homeworks => @homeworks,:sort => @order,:b_sort => @b_sort,:type=>@type,:is_import => 0,:property => @property,:search=>''})%>'); -$("#homework_pository_ref_pages").html('<%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true %>'); -$("#homework_repository_detail").html("<%=escape_javascript(render :partial => 'users/homework_repository_detail', :locals => {:homework=>nil}) %>"); +$("#homework_pository_ref_pages").html('<%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>'); \ No newline at end of file diff --git a/app/views/users/user_search_homeworks.js.erb b/app/views/users/user_search_homeworks.js.erb index 4c8e640c3..d344d8cd7 100644 --- a/app/views/users/user_search_homeworks.js.erb +++ b/app/views/users/user_search_homeworks.js.erb @@ -4,6 +4,6 @@ $("#homewrok_ref_pages").html('<%= pagination_links_full @hw_pages, @hw_count, : $("#homework_detail_information").html("<%=escape_javascript(render :partial => 'users/homework_detail_information', :locals => {:homework=>nil}) %>"); <% else %> $("#homework_repository_list").html('<%= escape_javascript(render :partial => 'users/homework_repository_list', :locals => {:homeworks => @homeworks,:sort => @order,:b_sort => @b_sort,:type=>@type,:is_import => @is_import,:property => @property,:search=>@search})%>'); -$("#homework_pository_ref_pages").html('<%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true %>'); +$("#homework_pository_ref_pages").html('<%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>'); $("#homework_search_input").html('<%= escape_javascript(render :partial => 'users/homework_repository_search', :locals => {:type => @type,:is_import => @is_import,:property => @property,:order => @order, :b_sort => @b_sort, :search => @search})%>'); <% end %> \ No newline at end of file diff --git a/lib/redmine/pagination.rb b/lib/redmine/pagination.rb index 9132f973c..9b751869b 100644 --- a/lib/redmine/pagination.rb +++ b/lib/redmine/pagination.rb @@ -231,6 +231,7 @@ module Redmine per_page_links = options[:per_page_links] remote = options[:remote] ? options[:remote] : false flag = options[:flag] ? options[:flag] : false + is_new = options[:is_new] ? options[:is_new] : false per_page_links = false if count.nil? page_param = paginator.page_param @@ -242,7 +243,11 @@ module Redmine else text = "\xc2\xab " + l(:label_previous) end - html << '
  • ' << yield(text, {page_param => paginator.previous_page}, :class => 'previous c_blue', :remote => remote) << '
  • ' + ' ' + if is_new + html << '
  • ' << yield(text, {page_param => paginator.previous_page}, :class => 'pages-big', :remote => remote) << '
  • ' + ' ' + else + html << '
  • ' << yield(text, {page_param => paginator.previous_page}, :class => 'previous c_blue', :remote => remote) << '
  • ' + ' ' + end end unless paginator.previous_page if paginator.next_page @@ -251,7 +256,11 @@ module Redmine else text = "\xc2\xab " + l(:label_previous) end - html << '
  • ' << yield(text, {page_param => paginator.previous_page}, :class => 'previous c_blue', :remote => remote) << '
  • ' + ' ' + if is_new + html << '
  • ' << yield(text, {page_param => paginator.previous_page}, :class => 'pages-big', :remote => remote) << '
  • ' + ' ' + else + html << '
  • ' << yield(text, {page_param => paginator.previous_page}, :class => 'previous c_blue', :remote => remote) << '
  • ' + ' ' + end end end @@ -259,14 +268,22 @@ module Redmine paginator.linked_pages.each do |page| if previous && previous != page - 1 if flag - html << '
  • ' << content_tag('a', '...', :class => 'c_blue') << '
  • ' + ' ' + if is_new + html << '
  • ' << content_tag('a', '...', :class => 'c_blue') << '
  • ' + ' ' + else + html << '
  • ' << content_tag('a', '...') << '
  • ' + ' ' + end else html << '
  • ' << content_tag('span', '...', :class => 'spacer ') << '
  • ' + ' ' end end if page == paginator.page if flag - html << '
  • ' << content_tag('a', page.to_s, :class => 'current-page c_white') << '
  • ' + if is_new + html << '
  • ' << content_tag('a', page.to_s, :class => 'active') << '
  • ' + else + html << '
  • ' << content_tag('a', page.to_s, :class => 'current-page c_white') << '
  • ' + end else html << '
  • ' << content_tag('span', page.to_s, :class => 'current-page') << '
  • ' end @@ -283,7 +300,11 @@ module Redmine else text = l(:label_next) + " \xc2\xbb" end - html << '
  • ' << yield(text, {page_param => paginator.next_page}, :class => 'next c_blue', :remote => remote) << '
  • ' + ' ' + if is_new + html << '
  • ' << yield(text, {page_param => paginator.next_page}, :class => 'pages-big', :remote => remote) << '
  • ' + ' ' + else + html << '
  • ' << yield(text, {page_param => paginator.next_page}, :class => 'next c_blue', :remote => remote) << '
  • ' + ' ' + end end unless paginator.next_page @@ -293,7 +314,11 @@ module Redmine else text = l(:label_next) + " \xc2\xbb" end - html << "
  • " << yield(text, {page_param => paginator.next_page}, :class => 'next c_blue', :remote => remote) << "
  • " + ' ' + if is_new + html << '
  • ' << yield(text, {page_param => paginator.next_page}, :class => 'pages-big', :remote => remote) << '
  • ' + ' ' + else + html << '
  • ' << yield(text, {page_param => paginator.next_page}, :class => 'next c_blue', :remote => remote) << '
  • ' + ' ' + end end end diff --git a/public/stylesheets/syllabus.css b/public/stylesheets/syllabus.css index 09eb78be3..768e8dce5 100644 --- a/public/stylesheets/syllabus.css +++ b/public/stylesheets/syllabus.css @@ -607,11 +607,12 @@ a:hover.sy_class_ltitle{ color:#333;} .hw_files_icon{display:block; width:17px; height:14px; background:url(../images/hw/icons_hw.png) 0 -135px no-repeat;} .hw_list_classname{ width:300px; overflow:hidden; display:block;overflow:hidden;white-space: nowrap; text-overflow:ellipsis;} .hw_list_teachername{ width:80px; overflow:hidden; display:block;overflow:hidden;white-space: nowrap; text-overflow:ellipsis;} +/* 测试集显示 */ +.hw_popup_testtable{background:#fff; color:#888888; margin:10px 0; border-right:1px solid #e7e7e7; border-bottom:1px solid #e7e7e7;} +.hw_popup_testtable tr td{ width:47%; padding:10px; color:#888; border-left:1px solid #e7e7e7; border-top:1px solid #e7e7e7; } +.hw_popup_testtable tr td.test_td_min{ width:5%; color:#888;} +.hw_popup_testtable tr td.test_td_title{ text-align:center; color:#888888;} /* 我的作业 */ .hw_classname{ width:180px; overflow:hidden; display:block;overflow:hidden;white-space: nowrap; text-overflow:ellipsis;} -#hw_tab_con_1 .sy_classbox .sy_classlist:last-child{ border-bottom:1px solid #ddd;} -.hw_tab_top{ height: 50px; line-height: 50px; padding-left: 15px; border-bottom:1px solid #ddd; border-left:3px solid #3b94d6; } - - - +.hw_tab_top{ height: 50px; line-height: 50px; padding-left: 15px; border-bottom:1px solid #ddd; border-left:3px solid #3b94d6; } \ No newline at end of file