From 5f969c6593011ba1aafe4b15ef0682ac9d930288 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 3 Aug 2016 10:36:03 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E7=9B=B8=E5=85=B3Bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin_controller.rb | 18 +++++------------- app/views/admin/_all_schools.html.erb | 2 ++ app/views/admin/all_schools.js.erb | 16 ++++++++-------- app/views/admin/applied_schools.html.erb | 4 ++-- app/views/admin/has_applied_schools.html.erb | 4 ++-- app/views/my/account.html.erb | 10 +++++----- app/views/users/_user_message_applied.html.erb | 12 ++++++------ public/javascripts/application.js | 2 ++ 8 files changed, 32 insertions(+), 36 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index c98116806..2e51d6a03 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -674,9 +674,7 @@ class AdminController < ApplicationController aas.update_attribute(:status, 2) AppliedMessage.create(:user_id => aas.user_id, :status => 2, :viewed => true, :applied_id => aas.id, :applied_type => "ApplyAddSchools", :name => school[0].name ) users = UserExtensions.where("school_id = #{aas.school_id}") - users.each do |user| - user.update_column("school_id", school[0].id) - end + users.update_all(:school_id => school[0].id) if aas.school_id != school[0].id.to_i aas.school.destroy end @@ -717,20 +715,14 @@ class AdminController < ApplicationController applied_school.update_attribute(:status, 3) # 未审批删除 if params[:tip] == "unapplied" - AppliedMessage.create(:user_id => applied_school.user_id, :status => 3, :viewed => true, :applied_id => applied_school.id, :applied_type => "ApplyAddSchools", :name => applied_school.name ) - # 删除学校的用户 - users = UserExtensions.where("school_id = #{applied_school.school_id}") - users.each do |user| - user.update_column("school_id", nil) - end + AppliedMessage.create(:user_id => applied_school.user_id, :status => 3, :viewed => true, :applied_id => applied_school.id, :applied_type => "ApplyAddSchools", :name => applied_school.name ) + # 删除学校的用户 + users = UserExtensions.where("school_id = #{applied_school.school_id}") + users.update_all(:school_id => nil) applied_school.school.destroy redirect_to unapplied_schools_url # 已审批删除 elsif params[:tip] == "applied" - users = UserExtensions.where("school_id = #{applied_school.school_id}") - users.each do |user| - user.update_column("school_id", nil) - end applied_school.destroy redirect_to applied_schools_url end diff --git a/app/views/admin/_all_schools.html.erb b/app/views/admin/_all_schools.html.erb index d4cf916f5..ce5bc6dc7 100644 --- a/app/views/admin/_all_schools.html.erb +++ b/app/views/admin/_all_schools.html.erb @@ -8,7 +8,9 @@
+ <% if !@search.nil? %> <%= render :partial => "admin/update_school_form", :locals => {:schools => schools, :edit_id => edit_id} %> + <% end %>
-
-
-
-
    -
  • - 我的题库 -
  • -
  • - 题库 -
  • -
  • - 申请题库 -
  • -
  •  
  • -
  • - -
  • -
    +
    + +
    +
      +
    • + -
      -
      - <%=render :partial=>'homework_repository_search', :locals=>{:type => @type,:is_import => 0,:property => nil} %> -
      -
      -
      - <%=render :partial => 'homework_repository_list', :locals => {:homeworks => @homeworks,:type=>@type,:is_import => 0,:property => @property,:search=>''} %> -
      -
      - <%=render :partial => 'homework_repository_detail', :locals => {:homework => nil} %> -
      -
      -
      -
        - <%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true%> -
      -
      -
      - 发送至 -
      - -
    -
    + +
+
+
+
+
+ <%=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%> +
+
\ 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 29d490960..4c8e640c3 100644 --- a/app/views/users/user_search_homeworks.js.erb +++ b/app/views/users/user_search_homeworks.js.erb @@ -5,5 +5,5 @@ $("#homework_detail_information").html("<%=escape_javascript(render :partial => <% 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_repository_detail").html("<%=escape_javascript(render :partial => 'users/homework_repository_detail', :locals => {:homework=>nil}) %>"); +$("#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/public/images/hw/icons_hw.png b/public/images/hw/icons_hw.png new file mode 100644 index 0000000000000000000000000000000000000000..013aa8afcbe1e11207742cdf8766b788249c8bf9 GIT binary patch literal 25185 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

@x z0&!+W^%g`)`MrvPi|ML9{=Ta|I}&0MQl#Y2=*A%ZvX)Y5f9V%@`c|)oA9%8PZ)aYU zPpwb)$aq7TPyfN=`Mw43=F&c@*=h`2+y9hvb)A0o*hUWSfC5%Z;+*P0yltLc|d7acu1&+6rm$rfwg)qxk5VXV>VJ z&fd>a7TPTtxZ$CgZI}3@jmzFk)RcZH({Mv>i+4M#h(kwaIoj!MP`;=F;9VE-L+g!P z8+*NSje^TOz4KDLpzCxF;;HvZLWQ%^xRPL3(mq(R{Mr-3X`1`;_ht8(b6F5Cxxbiu zlw2BcVuQ5BF}BZqtB&@3(WjlPRT=(_y**Rm9KDG0{Roh>YkE=%Q81FZQx8PUDb9(H~j2&E7?{3HxIFs5P!{Szo)oG zo*OR?K87)S0^pI4Io1m`Tga|a8xvH`OB=ntr!y(>ag1pbMs zQ?gDbdnCtDTd@2E+Gcg5&+KLszPlUOoZu8Xt8SFCbR&mfRE;$MoxMIfnGs32myS<) zf8MJj(Bjw)MpOBE-@LSB(w(n_YeS}r@c+ Date: Wed, 3 Aug 2016 13:46:59 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=9B=86=E7=9A=84?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E3=80=81=E6=96=B0=E7=89=88=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 6 +-- app/views/layouts/_logined_header.html.erb | 6 --- .../_homework_repository_detail.html.erb | 19 +++++++++- app/views/users/user_homework_type.js.erb | 2 +- app/views/users/user_homeworks.html.erb | 32 +++++++++------- app/views/users/user_homeworks.js.erb | 3 +- app/views/users/user_search_homeworks.js.erb | 2 +- lib/redmine/pagination.rb | 37 ++++++++++++++++--- public/stylesheets/syllabus.css | 11 +++--- 9 files changed, 80 insertions(+), 38 deletions(-) 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 From bae775ec34c57e02f1805e7c96d1d02a2f7e93dc Mon Sep 17 00:00:00 2001 From: cxt Date: Wed, 3 Aug 2016 14:06:47 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E9=A2=98=E5=BA=93=E7=9A=84=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../users/_homework_repository_list.html.erb | 7 ++++- .../_homework_repository_search.html.erb | 16 ++-------- .../users/_homework_repository_sort.html.erb | 13 +++++++++ app/views/users/user_homeworks.html.erb | 29 ++++++++----------- app/views/users/user_search_homeworks.js.erb | 2 +- 5 files changed, 35 insertions(+), 32 deletions(-) create mode 100644 app/views/users/_homework_repository_sort.html.erb diff --git a/app/views/users/_homework_repository_list.html.erb b/app/views/users/_homework_repository_list.html.erb index 24fd0a52c..aa45f2115 100644 --- a/app/views/users/_homework_repository_list.html.erb +++ b/app/views/users/_homework_repository_list.html.erb @@ -1,4 +1,8 @@ -<% homeworks.each do |homework| %> +<% if homeworks.empty? %> +
    +

    暂无可显示的内容~

    +<% else %> + <% homeworks.each do |homework| %> +<% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_homework_repository_search.html.erb b/app/views/users/_homework_repository_search.html.erb index 4bd6f49d0..26f598a8e 100644 --- a/app/views/users/_homework_repository_search.html.erb +++ b/app/views/users/_homework_repository_search.html.erb @@ -1,16 +1,6 @@ -排序: -<%= link_to "发布时间",user_search_homeworks_user_path(@user,:name=>search,:type => type,:is_import=>is_import,:property=>property,:order => "publish_time", :sort => @r_sort),:class => "sy_cgrey fl",:remote => true%> -<% if order == "publish_time" %> - <%= link_to "", user_search_homeworks_user_path(@user,:name=>search,:type => type,:is_import=>is_import,:property=>property,:order => "publish_time", :sort => @r_sort), :class => "#{@r_sort == 'asc' ? 'sortupbtn' : 'sortdownbtn'} mt15 fl", :remote => true %> -<% else %> - <%= link_to "", user_search_homeworks_user_path(@user,:name=>search,:type => type,:is_import=>is_import,:property=>property,:order => "publish_time", :sort => @r_sort), :class => "sortdownbtn sort_no mt15 fl", :remote => true %> -<% end %> -<%= link_to "引用数",user_search_homeworks_user_path(@user,:name=>search,:type => type,:is_import=>is_import,:property=>property,:order => "quotes", :sort => @r_sort),:class => "sy_cgrey fl",:remote => true%> -<% if order == "quotes" %> - <%= link_to "", user_search_homeworks_user_path(@user,:name=>search,:type => type,:is_import=>is_import,:property=>property,:order => "quotes", :sort => @r_sort), :class => "#{@r_sort == 'asc' ? 'sortupbtn' : 'sortdownbtn'} mt15 fl", :remote => true %> -<% else %> - <%= link_to "", user_search_homeworks_user_path(@user,:name=>search,:type => type,:is_import=>is_import,:property=>property,:order => "quotes", :sort => @r_sort), :class => "sortdownbtn sort_no mt15 fl", :remote => true %> -<% end %> +
    + <%= render :partial => 'users/homework_repository_sort', :locals => {:type => type,:is_import => is_import,:property => property,:order => @order,:search => 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_search', :locals=>{:type => '1',:is_import => 0,:property => nil,:order => @order, :search => ''} %> +
    -
    - <%=render :partial => 'homework_repository_list', :locals => {:homeworks => @homeworks,:type=>'1',:is_import => 0,:property => @property,: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, :is_new => true%> -
    -
    -
    - <% end %> +
    +
      + <%= 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 d344d8cd7..fbf73f6e2 100644 --- a/app/views/users/user_search_homeworks.js.erb +++ b/app/views/users/user_search_homeworks.js.erb @@ -5,5 +5,5 @@ $("#homework_detail_information").html("<%=escape_javascript(render :partial => <% 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, :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})%>'); +$("#homework_repository_sort").html('<%= escape_javascript(render :partial => 'users/homework_repository_sort', :locals => {:type => @type,:is_import => @is_import,:property => @property,:order => @order, :search => @search})%>'); <% end %> \ No newline at end of file From a5fe620452739f972e5de42eec8f4b05c4d358e6 Mon Sep 17 00:00:00 2001 From: Tim Date: Wed, 3 Aug 2016 14:57:02 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E9=A2=98=E5=BA=93=E7=BF=BB=E9=A1=B5?= =?UTF-8?q?=E5=B1=85=E4=B8=AD=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/user_homeworks.html.erb | 12 ++++++++---- public/stylesheets/css/public.css | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/views/users/user_homeworks.html.erb b/app/views/users/user_homeworks.html.erb index 91c8beeae..d2fd17028 100644 --- a/app/views/users/user_homeworks.html.erb +++ b/app/views/users/user_homeworks.html.erb @@ -60,11 +60,15 @@ <%=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 %>
    diff --git a/public/stylesheets/css/public.css b/public/stylesheets/css/public.css index cc27955d5..26c43756d 100644 --- a/public/stylesheets/css/public.css +++ b/public/stylesheets/css/public.css @@ -527,6 +527,7 @@ a.list-title{ font-size:14px; font-weight: bold; color:#000; white-space:nowrap; a.pages-big{ width:50px;} .pages .active{ background-color:#3b94d6; border:1px solid #3b94d6; color:#fff;} .pages{width:330px; margin:20px auto 10px;} +.pages li {display:inline-block;} /*课程列表界面样式*/ a.course-title{ font-size:14px; font-weight: bold; color:#000;white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; width:590px;} From cecf917764d9f1492f4d968bd3bd681f36cf6e52 Mon Sep 17 00:00:00 2001 From: cxt Date: Wed, 3 Aug 2016 15:00:16 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E4=BB=8E=E9=A2=98=E5=BA=93=E9=80=89?= =?UTF-8?q?=E7=94=A8=E4=BD=9C=E4=B8=9A=E6=97=B6=E5=A2=9E=E5=8A=A0=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=EF=BC=9A=E2=80=9C=E6=82=A8=E9=80=89=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E9=A2=98=E6=98=AF=E2=80=9C=E6=88=91=E6=94=B6=E5=88=B0=E7=9A=84?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E2=80=9D=EF=BC=8C=E4=B8=8D=E8=83=BD=E9=80=89?= =?UTF-8?q?=E7=94=A8=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 15 +++++++++++- app/views/users/_show_user_homeworks.html.erb | 23 ++++++++++++++++++- app/views/users/show_homework_detail.js.erb | 1 + app/views/users/user_homework_type.js.erb | 1 + app/views/users/user_search_homeworks.js.erb | 1 + config/routes.rb | 1 + 6 files changed, 40 insertions(+), 2 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index d610c701b..9887fd1ab 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -739,7 +739,7 @@ class UsersController < ApplicationController #@user_homeworks = HomeworkCommon.where(:user_id => @user.id).order("created_at desc") courses = @user.courses.where("is_delete = 1") course_ids = courses.empty? ? "(-1)" : "(" + courses.map{|course| course.id}.join(",") + ")" - @homeworks = HomeworkCommon.where("user_id = #{@user.id} and publish_time <= '#{Date.today}' and course_id not in #{course_ids}").order("#{@order} #{@b_sort}") + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids}").order("#{@order} #{@b_sort}") @type = params[:type] @limit = 15 @is_remote = true @@ -894,6 +894,19 @@ class UsersController < ApplicationController end end + #检查改作业是否可以选用 + def check_homework + homework = HomeworkCommon.find_by_id params[:homework] + student_ids = homework.course.student.empty? ? [] : homework.course.student.map{|student| student.student_id}.join(',') + resultObj = {status: 2} + if student_ids.include?(User.current.id.to_s) + resultObj[:status] = 1 + else + resultObj[:status] = 0 + end + render :json => resultObj + end + #导入作业,确定按钮 def user_select_homework homework = HomeworkCommon.find_by_id params[:checkMenu] diff --git a/app/views/users/_show_user_homeworks.html.erb b/app/views/users/_show_user_homeworks.html.erb index f54f49865..53b15c0d2 100644 --- a/app/views/users/_show_user_homeworks.html.erb +++ b/app/views/users/_show_user_homeworks.html.erb @@ -25,8 +25,9 @@ <%= render :partial => 'users/show_user_homework_form', :locals => {:homeworks => @homeworks}%> <% end %> +
    取消 @@ -44,6 +45,26 @@
    diff --git a/app/views/users/user_courses4show.js.erb b/app/views/users/user_courses4show.js.erb index fddbcf032..3a99dc484 100644 --- a/app/views/users/user_courses4show.js.erb +++ b/app/views/users/user_courses4show.js.erb @@ -1 +1 @@ -$("#user_show_more_course").replaceWith("<%= escape_javascript( render :partial => 'layouts/user_courses',:locals => {:courses => @courses,:user => @user,:type=>@type,:page => @page, :all_count => @all_count} )%>"); +$("#user_show_more_course").replaceWith("<%= escape_javascript( render :partial => 'layouts/user_courses',:locals => {:courses => @courses,:user => @user,:page => @page, :all_count => @all_count} )%>"); diff --git a/public/images/user/female.jpg b/public/images/user/female.jpg new file mode 100644 index 0000000000000000000000000000000000000000..219865572d134fd727a6192ff01f539322e3a780 GIT binary patch literal 3783 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 literal 0 HcmV?d00001 diff --git a/public/images/user/male.jpg b/public/images/user/male.jpg new file mode 100644 index 0000000000000000000000000000000000000000..46d58f26ee38288c5bf2df069e6a7d25bf5ef099 GIT binary patch literal 4136 zcmb7Hc|6nqA0Kl}jOh3lMOv4mB+WIFd>xVG&M}p<9Mi%a@?K7s0ZNU;sO}3 zFTfTRpabCM;^M5|0P+Gk;N#%|^78ZX^K)*HfS>>fv;)M?zXQBuhoBG}`~t!vU?E}7 zGe-!Aox{amLLhz+hvNUkRy9Br1Rw&4KrT@LwE`84#$2$)QyCD~J;+337 zd@?@Nbh5c6*it#7|B}sS1#)xovtOPS<=U3bBf!o7n}C~(Em}-;m!kCHGo}#j3vAhO z>4ZHWjwtCkc8<)MZ4Cf~fNTXsfuaB{KXLFT#N*o0qtMcrZ|+R6*0D&@ncWge*^g1kvAL@Q zU4_S4BlBKoVSBz9bgmo!Ooa64UYg)?ftA3;cS9qikt4ID?_Y^sG6C|az zvmgz>1#lbQ&LG8EzoULkyZkY-A zmerH!JCS17i%XX!bSS;Khn7RgP9?VHQR+8TF?5r(J`pNST(o4eO#VCp*p- z)l||0+NLn&bT2&;QaR(%OqY6zwj#EA@z%n*0lcuXv%*Tys#0lyie~^NkOY+ho&PVi zlOt}|BTiSEQ}J`>GTvoV^REAl4+5yhm($85Olb;&*|}z=CkZT)4J@vADwkYryx-a% zLou z(BRumAN%gMoq^eMw${E5a{GE=&Um$rqQO@oOd1}1uh*??_30?HGd_SjFcGDxCdo8< z%Q`Tu?^8g3+2cE7oki}Rqer)!9r^=(i8pb1PWH>?VF2-XlSABs@MrtgB(IJTG%dXR zSf%$ri!iR=8a>S4`m-$Ud|~No`C1BOBoqGj`hqkC?mlj~qv?+$wD-6iu-;*F9jk0C z)FvMn3m{EHE`T&X2pG-<;8mBMas8{$Pqhr1R$P{xG!FEczy_>1`#i;tIUH=He4bdn zx8hIfjPJR&1{N9f_-oa_zk4LvQS7Wcs8WISIKc33Qxxps&A1U~U;RW*O5 zbWagVXGx3t|CdnYLcXme%a!aQ}voIG@a z5qY_}(Z@w&d^Uw^_Kkg~4P}YI}7ttVhQN{{kqW z^}y<&-@?(SJ30(YYv_(|KTjh`7w-=4NW@{DPhldh%H6eAhmj-xp;E4S^2_mv$i*3n_|l=Z~K?#YJ8z$-3`O0u!C#R%iTE6 zVY%$X-W^LU5v>l-k-OAdOtrjOVoKTq^r~tEZUI^*_al(c1I~PDjAI+g-&3v988J`F zsA$wPv#ghk9TDc)fZ8ueSN3Gi_%&i%2`@0#NJlDxn$=cA78+@VoHw5=t^SC+Kt zqv~ozHaZ-MU0%zR3bHbbfpZU?n3fhELA2Lb*u!mfGet@%>LkPRJjSMumG`b zjbM1(O1YCKf%N&stjX>RNgO>?Gp5%OZ?AJH2q{<(QS>4?KdUR{1$Gw;{3? zx$>&DEwpC&a_kwmf`Y?rPqHft<*Xt!+AL2pLv%TS=AtzAtA5pLy1h7PXhP2Rfk)2iiRT zU=6fS;6o{Q86E0jIRYJtH9F}^NNKx05l$6n+LrS|N$|JG4#^F&d zEO4T| z?aQnROMO|*zD*+WD77=Uwu2mUZVPbiM|$4Bze;c4vRtZW{4f-5Ki_R`POP+Xx$ObD z$+)P&ZHB?4>PJav2*og!nAjcf>Kt$585=JsgxK^R@Uq&LidX3-mIlZ;?vKGIu1sbp|+@gJ|=WUC|smWAb-r(w8lwNZ^BkghLP@0n;EBHQ~ zFh7a1yJf*iu80Zq=yV1nM}Lqz$nve_*BZPGDbqj~F!R;r=GZb|>sR^F=OK@ z!&h-3a_wpA&Hb5IRkEMQ#`t3q$eEDv2Tj9Oa^19JtrC*7$9G28TB8j(VPWGziI>|m z`Sf`tJPF*FGL1N`r+PYJ^F1(K>n@Y#aO+h{Ft{T@>)rLaAHAEQ^y&c`Js{JtVNn|* z@tFth-OgW34m>dQUSyM z<)i&QMR(u4%kX?>%9lBoED6yNUlN?r;)+c0uL~VPP{8+^>8mC#%aN{3G_A}=Zme%x z%N^0_MrXCx_bU$a7nOzu2L}DjJ~3}QeL42#JDg*FcA`M0^ZT}%MnbJsMb=I2gWA96 z5{oj}o%&VlmwT+1BE@Aw)AYuAkMDYYyyOsZ6CQ+j-K($OJA3Qd$Hs4PDr*s{tmJn| z*MM!@G=50`EE>Vg5V?7TJppMKIxh+CTT{d*GRZ-yT>&JiAAKq*BKgTxIKB3&7Lv@- z8~u#oENdCOC=vP^z!xTbUOwD2dgL1TU4(m5Wbp}^G2cRs1t(kRk)MF)*&c900LIB+ zCV_GNF(ZeV{K#C$&sslJi~&nAhJ1}}^-BV-kUK29W`$w5x?%#>Q8O=WE4vso+qqm{ zPSqXghn`z~+%z1a_Z?mP#6hDrOgb1HVEv?Si~_sbXSRX_$B0Lg2pPX({Zyg%x(wxfi#aiK1F4_Cn=YD^PAW+xoKO?D6o;tAA)ho9`5(| z3bHiK9h)V!Ep}Ro)97zp+Ej#nuJ=#z zw|!b(rWF)2{yx8TAvVo>`dU9JU*M7vEkkY*n;(I!06U+0puJ+>CGx4@J$9hWG$2K# zf$##ao4>dJq>5~`jb41W;W!qimKDAz=)oBV#e7Fj7J%7t|FN(XzR0n3n$u%=vHfDH z&*+MG^T$_((4>Qwth9LrhRQ;#-eV2+SakmCU3>{I&BQOYR(~&g7;kA|4kMuFO5(md znH0W28}}Y>Y{6V;ni(e5ek87`xQL$BzNA!$c^*i5Y_qTP4MqQM$*dGk?nc!5<9qw^ X#=BIQwe5HrP^?{gp7sR$-?#riPNQ%> literal 0 HcmV?d00001 diff --git a/public/images/user/user_bg_info.jpg b/public/images/user/user_bg_info.jpg new file mode 100644 index 0000000000000000000000000000000000000000..00bb9351c03d9bda7624ffcb6d81add931b94780 GIT binary patch literal 23985 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 a { + display: block; + padding: 0 10px 0 32px; + height:49px; + line-height:49px; + color: #333; + font-size:16px; + background: #f8f8f8; + border:1px solid #e5e5e5; + border-bottom:none; +} +.users_accordion > li:hover > a{ + color: #3b94d6; + background: #fff; +} +.users_accordion > li:target > a, +.users_accordion > li > a.active { + color: #3b94d6; + background: #fff; + border:1px solid #e5e5e5; + border-left:3px solid #3b94d6; + border-bottom:none; +} +.users_accordion li{ position:relative;} + +.users_accordion li > a span { + margin-top:15px; + font-size:12px; + padding: 0 10px; + background: #dbdbdb; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + margin-left:10px; + color: #333; +} +.users_accordion > li:hover > a span, +.users_accordion > li:target > a span, +.users_accordion > li > a.active span { + margin-left:10px; + color: #333; + background: #dbdbdb; +} +/* Images */ +.users_accordion > li > a:before { + position: absolute; + top: 0; + left: 0; + content: ''; + width: 24px; + height: 50px; + margin: 4px 8px; + background-repeat: no-repeat; + background-image:url(/images/user/icons_user_leftnav.png); + background-position: 5px 15px; +} +.users_accordion li.user_icons_course > a:before { background-position: 5px 15px; } +.users_accordion li.user_icons_course:hover > a:before, +.users_accordion li.user_icons_course:target > a:before, +.users_accordion li.user_icons_course > a.active:before { background-position: -25px 15px; } +.users_accordion li.user_icons_new > a:before { background-position: 5px -48px; } +.users_accordion li.user_icons_new:hover > a:before, +.users_accordion li.user_icons_new:target > a:before, +.users_accordion li.user_icons_new > a.active:before { background-position: -25px -48px; } +.users_accordion li.user_icons_addclass > a:before { background-position: 5px -87px; } +.users_accordion li.user_icons_addclass:hover > a:before, +.users_accordion li.user_icons_addclass:target > a:before, +.users_accordion li.user_icons_addclass > a.active:before { background-position: -25px -87px; } +.users_accordion li.user_icons_myhw > a:before { background-position: 5px -124px; } +.users_accordion li.user_icons_myhw:hover > a:before, +.users_accordion li.user_icons_myhw:target > a:before, +.users_accordion li.user_icons_myhw > a.active:before { background-position: -25px -124px; } +.users_accordion li.user_icons_project > a:before { background-position: 5px -167px; } +.users_accordion li.user_icons_project:hover > a:before, +.users_accordion li.user_icons_project:target > a:before, +.users_accordion li.user_icons_project > a.active:before { background-position: -25px -167px; } +.users_accordion li.user_icons_addproject > a:before { background-position: 5px -205px; } +.users_accordion li.user_icons_addproject:hover > a:before, +.users_accordion li.user_icons_addproject:target > a:before, +.users_accordion li.user_icons_addproject > a.active:before { background-position: -25px -205px; } +.users_accordion li.user_icons_myissues > a:before { background-position: 5px -246px; } +.users_accordion li.user_icons_myissues:hover > a:before, +.users_accordion li.user_icons_myissues:target > a:before, +.users_accordion li.user_icons_myissues > a.active:before { background-position: -25px -246px; } +.users_accordion li.user_icons_mes > a:before { background-position: 5px -289px; } +.users_accordion li.user_icons_mes:hover > a:before, +.users_accordion li.user_icons_mes:target > a:before, +.users_accordion li.user_icons_mes > a.active:before { background-position: -25px -289px; } +/* Sub Menu */ +.sub-menu li a { + color: #797979; + background: #f8f8f8; + height:39px; + line-height:39px; + font-size:14px; +} +.sub-menu li a:hover,.sub-menu li a:target { background:#fff; color:#3b94d6;} +.sub-menu li:last-child a { } +.users_accordion li > .sub-menu { + display: none; +} + +.users_accordion li:target > .sub-menu { + display: block; +} +.sub-menu > li > span.user_icons_class { + padding:0; + border:none; + display:block; + position: absolute; + top:18px; + left:10px; + width:20px; + height:20px; + background:url(/images/user/icons_user_leftnav.png) 0px -34px no-repeat; +} +.sub-menu > li > a > span.user_icons_moreclass{ + display:block; + position: absolute; + top:3px; + left:96px; + width:20px; + height:10px; + background:url(/images/user/icons_user_leftnav.png) 5px -347px no-repeat; +} +a.user_editinfo{border-top:1px solid #e5e5e5; height:30px; line-height:30px; text-align:center; color:#3b94d6; width:100%; display:inline-block;} \ No newline at end of file From b7c05fed4aeacd4c518f9d8eaaac71a898434404 Mon Sep 17 00:00:00 2001 From: cxt Date: Thu, 4 Aug 2016 16:33:51 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E5=92=8Cjs=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/_user_courses.html.erb | 76 +++++++++++----------- app/views/layouts/_user_projects.html.erb | 61 ++++++++--------- app/views/layouts/new_base_user.html.erb | 40 +++++++----- public/images/user/icons_user_leftnav.png | Bin 25180 -> 25966 bytes public/images/user/user_navmore_icons.png | Bin 0 -> 19619 bytes public/stylesheets/css/structure.css | 42 +++++++++--- public/stylesheets/syllabus.css | 4 +- 7 files changed, 127 insertions(+), 96 deletions(-) create mode 100644 public/images/user/user_navmore_icons.png diff --git a/app/views/layouts/_user_courses.html.erb b/app/views/layouts/_user_courses.html.erb index eb8dc80b8..b3b21547e 100644 --- a/app/views/layouts/_user_courses.html.erb +++ b/app/views/layouts/_user_courses.html.erb @@ -7,87 +7,85 @@ <% count = ShieldActivity.where("container_type='User' and container_id=#{user.id} and shield_type='Course' and shield_id=#{course.id}").count %> <% wechat_count = ShieldWechatMessage.where("container_type='User' and container_id=#{user.id} and shield_type='Course' and shield_id=#{course.id}").count %> -
      -
    • - diff --git a/app/views/layouts/static_base.html.erb b/app/views/layouts/static_base.html.erb index 0dc3b93d3..e0b8b468f 100644 --- a/app/views/layouts/static_base.html.erb +++ b/app/views/layouts/static_base.html.erb @@ -7,7 +7,7 @@ <%= csrf_meta_tag %> <%= favicon %> - <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2', 'application', 'nyan','prettify','syllabus','sy_public', :media => 'all' %> + <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2', 'application', 'nyan','prettify', :media => 'all' %> <%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> <%= javascript_heads %> <%= javascript_include_tag "jquery.leanModal.min",'prettify' %> @@ -16,7 +16,7 @@ <%= call_hook :view_layouts_base_html_head %> <%= yield :header_tags -%> - <%= stylesheet_link_tag 'css/common','css/structure','css/public','css/popup', :media => 'all'%> + <%= stylesheet_link_tag 'css/common','css/structure','css/public','css/popup','syllabus','sy_public', :media => 'all'%> \ No newline at end of file diff --git a/app/views/users/_receive_homework_list.html.erb b/app/views/users/_receive_homework_list.html.erb new file mode 100644 index 000000000..f992c2af8 --- /dev/null +++ b/app/views/users/_receive_homework_list.html.erb @@ -0,0 +1,36 @@ +
      + <% if homeworks.empty? %> +
      +

      暂无可显示的内容~

      + <% else %> + <% homeworks.each do |homework| %> +
        + +
        +

        + <%= link_to homework.name, student_work_index_path(:homework => homework.id), :class => 'sy_cblack', :target => '_blank' %> +

        +
        +

        + 来源: + <%= link_to homework.course.name, course_path(homework.course), :target => '_blank', :class => 'hw_cgrey hw_classname fl mr15' %> + 类别:<%=homework.homework_type_ch %> + <% my_work = cur_user_works_for_homework(homework) %> + 状态:<%= my_work ? '已提交' : '未提交' %> + 作品:<%=homework.student_works.has_committed.count %> + 成绩: + <% if my_work && !my_work.work_score.nil? %> + <%= format("%.1f",my_work.work_score.to_f) %> + <% else %> + -- + <% end %> + 发布时间:<%= format_date homework.publish_time %> + <%=cur_homework_end_time homework %> +

        +
        + <%= student_for_homework_common homework %> +
        +
      + <% end %> + <% end %> +
      \ No newline at end of file diff --git a/app/views/users/manage_or_receive_homeworks.html.erb b/app/views/users/manage_or_receive_homeworks.html.erb new file mode 100644 index 000000000..c380fd05d --- /dev/null +++ b/app/views/users/manage_or_receive_homeworks.html.erb @@ -0,0 +1,53 @@ + +
      + + + +
      +
      + <%=render :partial=>'my_homeworks_search', :locals=>{:type => @type,:property => nil,:order => @order, :search => ''} %> +
      + +
      + <% if @type == 1 %> + <%= render :partial => "manage_homework_list", :locals => {:homeworks => @homeworks} %> + <% else %> + <%= render :partial => "receive_homework_list", :locals => {:homeworks => @homeworks} %> + <% end %> +
      + +
      +
      +
        + <%= 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/manage_or_receive_homeworks.js.erb b/app/views/users/manage_or_receive_homeworks.js.erb new file mode 100644 index 000000000..6f719d1fc --- /dev/null +++ b/app/views/users/manage_or_receive_homeworks.js.erb @@ -0,0 +1,11 @@ +<% if @type == 1 %> +$("#my_homework_list").html('<%= escape_javascript(render :partial => "manage_homework_list", :locals => {:homeworks => @homeworks})%>'); +<% else %> +$("#my_homework_list").html('<%= escape_javascript(render :partial => "receive_homework_list", :locals => {:homeworks => @homeworks})%>'); +<% end %> +$("#homework_list_ref_pages").html('<%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>'); +$("#my_homework_sort").html('<%= escape_javascript( render :partial => 'users/my_homework_sort', :locals => {:type => @type,:property => @property,:order => @order,:search => @search})%>'); +$("#homework_type_all").attr('href','<%= manage_or_receive_homeworks_user_path(@user, :type => @type, :property => 0) %>'); +$("#homework_type_nor").attr('href','<%= manage_or_receive_homeworks_user_path(@user, :type => @type, :property => 1) %>'); +$("#homework_type_pro").attr('href','<%= manage_or_receive_homeworks_user_path(@user, :type => @type, :property => 2) %>'); +$("#homework_type_gro").attr('href','<%= manage_or_receive_homeworks_user_path(@user, :type => @type, :property => 3) %>'); \ No newline at end of file diff --git a/app/views/users/my_homeworks.html.erb b/app/views/users/my_homeworks.html.erb new file mode 100644 index 000000000..ccf06adfd --- /dev/null +++ b/app/views/users/my_homeworks.html.erb @@ -0,0 +1,28 @@ + +
      + + +
      + <%=render :partial => 'my_homework_list' %> +
      +
      \ No newline at end of file diff --git a/app/views/users/my_homeworks.js.erb b/app/views/users/my_homeworks.js.erb new file mode 100644 index 000000000..6da3f6526 --- /dev/null +++ b/app/views/users/my_homeworks.js.erb @@ -0,0 +1 @@ +$("#hw_tab_con_1").html("<%= escape_javascript(render :partial => 'users/my_homework_list') %>"); \ No newline at end of file diff --git a/app/views/users/search_m_r_homeworks.js.erb b/app/views/users/search_m_r_homeworks.js.erb new file mode 100644 index 000000000..4729e53ce --- /dev/null +++ b/app/views/users/search_m_r_homeworks.js.erb @@ -0,0 +1,7 @@ +<% if @type == 1 %> +$("#my_homework_list").html('<%= escape_javascript(render :partial => "manage_homework_list", :locals => {:homeworks => @homeworks})%>'); +<% else %> +$("#my_homework_list").html('<%= escape_javascript(render :partial => "receive_homework_list", :locals => {:homeworks => @homeworks})%>'); +<% end %> +$("#homework_list_ref_pages").html('<%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>'); +$("#my_homework_sort").html('<%= escape_javascript( render :partial => 'users/my_homework_sort', :locals => {:type => @type,:property => @property,:order => @order,:search => @search})%>'); diff --git a/app/views/users/user_homeworks.html.erb b/app/views/users/user_homeworks.html.erb index 5f6e1d60e..cc4356401 100644 --- a/app/views/users/user_homeworks.html.erb +++ b/app/views/users/user_homeworks.html.erb @@ -1,4 +1,4 @@ -<%= stylesheet_link_tag 'css/common','css/structure','css/public','css/org','repository' %> +<%= stylesheet_link_tag 'css/org','repository' %>