diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index ad6d568a5..6c95294d7 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -202,7 +202,16 @@ class AccountController < ApplicationController def email_valid end + def resendmail + user = User.find(params[:user]) if params[:user] + token = Token.new(:user => user, :action => "register") + if token.save + Mailer.register(token).deliver + else + yield if block_given? + end + end private def authenticate_user diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 63b8294e7..12852c63d 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -23,7 +23,7 @@ class CoursesController < ApplicationController before_filter :require_login, :only => [:join, :unjoin] #before_filter :allow_join, :only => [:join] - + @@result = nil def join if User.current.logged? course = Course.find_by_id params[:object_id] @@ -296,6 +296,7 @@ class CoursesController < ApplicationController else @results = searchStudent(@course) end + @@result = @results @members = searchStudent(@course) @membercount = @members.count @results = paginateHelper @results @@ -308,6 +309,7 @@ class CoursesController < ApplicationController @members = searchStudent(@course) @membercount = @members.count @results = searchStudent_by_group(group, @course) + @@result = @results @results = paginateHelper @results end def member @@ -326,13 +328,14 @@ class CoursesController < ApplicationController when '2' @subPage_title = l :label_student_list - @members = searchStudent(@course) - @membercount = @members.count + @members = searchStudent_sort(@course, 'desc') + @membercount = @members.count else @subPage_title = '' @members = @course.member_principals.includes(:roles, :principal).all.sort end + @@result = @members @members = paginateHelper @members render :layout => 'base_courses' else @@ -340,6 +343,21 @@ class CoursesController < ApplicationController end end + + def member_score_sort + @teachers= searchTeacherAndAssistant(@course) + @canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1' + @role = params[:role] + @course_groups = @course.course_groups if @course.course_groups + @show_serch = params[:role] == '2' + @subPage_title = l :label_student_list + @render_file = 'member_list' + unless @@result.nil? + @results = @@result.reverse + @@result = @results + end + @results = paginateHelper @results + end # 显示每个学生的作业评分详情 def show_member_score @member_score = Member.find(params[:member_id]) if params[:member_id] diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index 6f0265132..ec3b9aad6 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -164,6 +164,18 @@ module CoursesHelper members end def searchStudent project + #searchPeopleByRoles(project, StudentRoles) + members = [] + + project.members.each do |m| + if m && m.user && m.user.allowed_to?(:as_student,project) + members << m + + end + end + members + end + def searchStudent_sort project, sort_by #searchPeopleByRoles(project, StudentRoles) members = [] @@ -173,20 +185,14 @@ module CoursesHelper end end - members - end - def search_student_and_score project - #searchPeopleByRoles(project, StudentRoles) - members = [] - scores = [] - project.members.each do |m| - if m && m.user && m.user.allowed_to?(:as_student,project) - members << m - - end + members.sort!{ |mem1, mem2| mem1.student_homework_score[1].to_f <=> mem2.student_homework_score[1].to_f} + if sort_by == "desc" + members.reverse! end members end + + def searchStudent_by_name project, name #searchPeopleByRoles(project, StudentRoles) members = [] diff --git a/app/views/account/email_valid.html.erb b/app/views/account/email_valid.html.erb index c77c0294e..e6bc2a2db 100644 --- a/app/views/account/email_valid.html.erb +++ b/app/views/account/email_valid.html.erb @@ -4,7 +4,7 @@
- <%= f.text_field :name, :required => true, :size => 60, :style => "width:490px;", :maxlength => Bid::NAME_LENGTH_LIMIT, :onblur => "regexName();" %> + <%= f.text_field :name, :required => true, :size => 60, :style => "width:490px;", :maxlength => Bid::NAME_LENGTH_LIMIT, :onkeyup => "regexName();" %>
@@ -48,7 +48,7 @@
- <%= f.text_field :evaluation_num, :required => true, :size => 60, :style => "width:150px;", :onblur => "regexEvaluationNum();" , :maxlength => 4%> + <%= f.text_field :evaluation_num, :required => true, :size => 60, :style => "width:150px;", :onkeyup => "regexEvaluationNum();" , :maxlength => 4%> 即每份作业被允许匿评的人数
diff --git a/app/views/contestnotifications/_form.html.erb b/app/views/contestnotifications/_form.html.erb index f3861f034..dc651501b 100644 --- a/app/views/contestnotifications/_form.html.erb +++ b/app/views/contestnotifications/_form.html.erb @@ -60,7 +60,7 @@ :size => 60, :maxlength => 60, :style => "width:488px;", - :onblur => "regexTitle();" + :onkeyup => "regexTitle();" %>
@@ -71,7 +71,7 @@ :rows => 11, :class => 'wiki-edit', :style => "width:490px;", - :onblur => "regexDescription();" + :onkeyup => "regexDescription();" %> diff --git a/app/views/contests/_new_softapplication.html.erb b/app/views/contests/_new_softapplication.html.erb index 35eea6147..5849132ae 100644 --- a/app/views/contests/_new_softapplication.html.erb +++ b/app/views/contests/_new_softapplication.html.erb @@ -121,7 +121,7 @@ :required => true, :size => 60, :style => "width:320px;", - :onblur => "regexName();" + :onkeyup => "regexName();" %> (<%= l(:label_workname_lengthlimit) %>) @@ -143,7 +143,7 @@ :required => true, :size => 60, :rows => 3, - :onblur => 'regexDescription();', + :onkeyup => 'regexDescription();', :style => "width:320px; " %> (<%= l(:label_work_description_lengthlimit) %>) @@ -162,7 +162,7 @@ :required => true, :size => 60, :style => "width:320px;", - :onblur => 'regexDevelopers();' + :onkeyup => 'regexDevelopers();' %> diff --git a/app/views/contests/index.html.erb b/app/views/contests/index.html.erb index 78fadf2f3..5867d7fcd 100644 --- a/app/views/contests/index.html.erb +++ b/app/views/contests/index.html.erb @@ -43,10 +43,10 @@ if(regexName()){$("#contests_serch").submit();} } - <%= text_field_tag 'name', params[:name], :size => 30, :onblur => 'regexName();' %> + <%= text_field_tag 'name', params[:name], :size => 30, :onkeyup => 'regexName();' %> <%= hidden_field_tag 'project_type', params[:project_type] %> <%#= submit_tag l(:label_search), :class => "enterprise", :name => "contests_search" %> - + <%= l(:label_search)%><%= f.text_field :name, :required => true, :size => 60, :style => "width:490px;", :maxlength => Bid::NAME_LENGTH_LIMIT, - :onblur => "regexName();" %> + :onkeyup => "regexName();" %>
@@ -53,7 +53,7 @@
- <%= f.text_field :evaluation_num, :required => true, :size => 60, :style => "width:150px;", :onblur => "regexEvaluationNum();" , :maxlength => 4%> + <%= f.text_field :evaluation_num, :required => true, :size => 60, :style => "width:150px;", :onkeyup => "regexEvaluationNum();" , :maxlength => 4%> 即每份作业被允许匿评的人数
diff --git a/app/views/courses/_member_list.html.erb b/app/views/courses/_member_list.html.erb index 2800c78ea..2ee9e3aad 100644 --- a/app/views/courses/_member_list.html.erb +++ b/app/views/courses/_member_list.html.erb @@ -1,3 +1,13 @@ +
diff --git a/app/views/homework_attach/new.html.erb b/app/views/homework_attach/new.html.erb index 877cb6d18..2ddd59266 100644 --- a/app/views/homework_attach/new.html.erb +++ b/app/views/homework_attach/new.html.erb @@ -68,7 +68,7 @@ 作品名称 : - <%= f.text_field "name", :required => true, :size => 60, :class => "w430 bo", :maxlength => 254, :placeholder => "作品名称", :onblur => "regexName();" %> + <%= f.text_field "name", :required => true, :size => 60, :class => "w430 bo", :maxlength => 254, :placeholder => "作品名称", :onkeyup => "regexName();" %>
@@ -78,7 +78,7 @@ 作品描述 : - <%= f.text_area "description", :class => "w620", :maxlength => 3000, :placeholder => "最多3000个汉字", :onblur => "regexDescription();"%> + <%= f.text_area "description", :class => "w620", :maxlength => 3000, :placeholder => "最多3000个汉字", :onkeyup => "regexDescription();"%>
diff --git a/app/views/layouts/base_newcontest.html.erb b/app/views/layouts/base_newcontest.html.erb index c118078d0..7d25cb80b 100644 --- a/app/views/layouts/base_newcontest.html.erb +++ b/app/views/layouts/base_newcontest.html.erb @@ -36,11 +36,38 @@ <%= l(:label_user_location) %> :<%= label_tag "message_content", l(:description_message_content), :class => "hidden-for-sighted" %> - <%= f.text_area :content, :cols => 80, :rows => 13, :class => 'wiki-edit', :id => 'message_content', :onblur => "regexContent();", :maxlength => 5000 %> + <%= f.text_area :content, :cols => 80, :rows => 13, :class => 'wiki-edit', :id => 'message_content', :onkeyup => "regexContent();", :maxlength => 5000 %>
diff --git a/app/views/news/_course_form.html.erb b/app/views/news/_course_form.html.erb index 7ce42439a..ba083217c 100644 --- a/app/views/news/_course_form.html.erb +++ b/app/views/news/_course_form.html.erb @@ -3,10 +3,10 @@ <%= is_new ? l(:bale_news_notice):l(:bale_edit_notice)%>
<%= f.text_field :title, :required => true, :size => 60, :style => "width:468px;", :onblur => "regexTitle();" %>
+<%= f.text_field :title, :required => true, :size => 60, :style => "width:468px;", :onkeyup => "regexTitle();" %>
(60个字符以内)
-<%= f.text_area :description, :required => true, :cols => 60, :rows => 11, :class => 'wiki-edit', :style => "width:470px;", :onblur => "regexDescription();" %>
+<%= f.text_area :description, :required => true, :cols => 60, :rows => 11, :class => 'wiki-edit', :style => "width:470px;", :onkeyup => "regexDescription();" %>
<%= render :partial => 'attachments/form', :locals => {:container => @news} %>
<%= f.text_field :title, :required => true, :size => 60, :style => "width:488px;", :onblur => "regexTitle();" %>
+<%= f.text_field :title, :required => true, :size => 60, :style => "width:488px;", :onkeyup => "regexTitle();" %>
(60个字符以内)
-<%= f.text_area :description, :required => true, :cols => 60, :rows => 11, :class => 'wiki-edit', :style => "width:490px;", :onblur => "regexDescription();" %>
+<%= f.text_area :description, :required => true, :cols => 60, :rows => 11, :class => 'wiki-edit', :style => "width:490px;", :onkeyup => "regexDescription();" %>
<%= render :partial => 'attachments/form', :locals => {:container => @news} %>