Merge branch 'develop' into dev_cs

This commit is contained in:
caishi 2017-09-26 10:41:14 +08:00
commit c6355d649e
41 changed files with 495 additions and 302 deletions

View File

@ -36,8 +36,9 @@ class CoursesController < ApplicationController
before_filter :require_login, :only => [:join, :unjoin]
#before_filter :allow_join, :only => [:join]
require 'bundler/setup'
require 'simple_xlsx_reader'
if RUBY_PLATFORM =~ /linux/
require 'simple_xlsx_reader'
end
# params[:search] 搜索课程的名称
# params[:select] "join" "create" "all" 参与的 创建的 所有的课程
#
@ -1787,24 +1788,48 @@ class CoursesController < ApplicationController
end
def search_not_teachers
if !params[:search].nil?
members = searchTeacherAndAssistant @course
member_ids = "(" + members.map(&:user_id).join(',') + ")"
condition = "%#{params[:search].strip}%".gsub(" ","")
members = searchTeacherAndAssistant @course
member_ids = "(" + members.map(&:user_id).join(',') + ")"
condition = "%#{params[:search]}%".gsub(" ","")
@school = params[:school] || @course.teacher.school_name
if @school != ""
school_s = "%#{@school}%".gsub(" ","")
school_ids = School.where("name like '#{school_s}'").blank? ? "(-1)" : "(" + School.where("name like '#{school_s}'").map(&:id).join(",") + ")"
@users = User.joins(:user_extensions).where("users.id not in #{member_ids} and status = 1 and LOWER(concat(lastname, firstname)) LIKE '#{condition}' and user_extensions.school_id in #{school_ids}")
else
@users = User.where("id not in #{member_ids} and status = 1 and LOWER(concat(lastname, firstname)) LIKE '#{condition}'").includes(:user_extensions)
end
@user_ids = @users.map(&:id).join(",")
@limit = 8
@page = params[:page].nil? ? 1 : params['page'].to_i
@users_count = @users.count
@users_pages = Paginator.new @users_count, @limit, @page
@users = paginateHelper @users, @limit
respond_to do |format|
format.js
end
end
def search_not_students
if !params[:search].nil?
members = @course.members.select{|m| m.roles.to_s.include?("Student")}
member_ids = members.empty? ? "(-1)" : "(" + members.map(&:user_id).join(',') + ")"
condition = "%#{params[:search].strip}%".gsub(" ","")
members = @course.members.select{|m| m.roles.to_s.include?("Student")}
member_ids = members.empty? ? "(-1)" : "(" + members.map(&:user_id).join(',') + ")"
condition = "%#{params[:search]}%".gsub(" ","")
@school = params[:school] || @course.teacher.school_name
if @school != ""
school_s = "%#{@school}%".gsub(" ","")
school_ids = School.where("name like '#{school_s}'").blank? ? "(-1)" : "(" + School.where("name like '#{school_s}'").map(&:id).join(",") + ")"
@users = User.joins(:user_extensions).where("users.id not in #{member_ids} and status = 1 and user_extensions.school_id in #{school_ids} and (LOWER(concat(lastname, firstname)) LIKE '#{condition}' or user_extensions.student_id LIKE '#{condition}')")
else
@users = User.joins(:user_extensions).where("users.id not in #{member_ids} and status = 1 and (LOWER(concat(lastname, firstname)) LIKE '#{condition}' or user_extensions.student_id LIKE '#{condition}')")
end
@user_ids = @users.map(&:id).join(",")
@limit = 8
@page = params[:page].nil? ? 1 : params['page'].to_i
@users_count = @users.count
@users_pages = Paginator.new @users_count, @limit, @page
@users = paginateHelper @users, @limit
respond_to do |format|
format.js
end

View File

@ -316,9 +316,8 @@ class GamesController < ApplicationController
answer_right = []
@game_challenge.challenge_chooses.each_with_index do |choose, index|
correct = (params[:answer][index] == choose.standard_answer) ? true : false
if choose.current_choose_outputs.blank?
ChooseOutputs.create(:challenge_choose_id => choose.id, :user_id => User.current.id, :answer => params[:answer][index], :correct => correct)
end
choose.current_choose_outputs.delete if choose.current_choose_outputs.present?
ChooseOutputs.create(:challenge_choose_id => choose.id, :user_id => User.current.id, :answer => params[:answer][index], :correct => correct)
if @shixun.status > 1 && !@game.answer_open
if correct
score += choose.score
@ -332,14 +331,15 @@ class GamesController < ApplicationController
end
answer_right << correct
end
@game.update_attributes(:status => 2, :end_time => Time.now)
@had_done = @game.had_done
reward_grade(@game.user, @game.id, 'Game', score)
reward_experience(@game.user, @game.id, 'Game', score)
@game.update_attribute(:final_score, score)
if @right
@game.update_attributes(:status => 2, :end_time => Time.now)
reward_grade(@game.user, @game.id, 'Game', score)
reward_experience(@game.user, @game.id, 'Game', score)
@game.update_attribute(:final_score, score)
end
respond_to do |format|
format.js{redirect_to myshixun_game_path(@game, :myshixun_id => @myshixun, :choose => 1)}
format.js{redirect_to myshixun_game_path(@game, :myshixun_id => @myshixun, :choose => @right)}
end
end
@ -407,7 +407,7 @@ class GamesController < ApplicationController
if(params[:choose] == "true")
challenge.challenge_chooses.each_with_index do |choose, index|
@answer += ""+ ((index + 1).to_s) +"题:<br />"
@answer += choose.answer
@answer += (choose.answer.blank? ? choose.standard_answer : choose.answer)
@answer += "<br /><br /><br />"
end
else

View File

@ -764,36 +764,35 @@ end
def classroom_classment
@menu_type = 2
@sub_type = 2
@sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order]
@sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order]
@courses = Course.where(:is_delete => 0)
@timing = Course.where(:is_end=>false).count
@end = Course.where(:is_end=>true).count
@timing=Course.where(:is_end=>false).count
@end=Course.where(:is_end=>true).count
@course_lists = CourseList.where(:id => Course.where(:is_delete => 0 ).map(&:course_list_id) )
unless params[:school_id] || params[:search] || params[:keyword] || params[:status]
user_exs=UserExtensions.where(:school_id=> @courses.map(&:school_id))
@schools = School.where(:id =>user_exs.map(&:school_id))
user_exs=UserExtensions.where(:school_id=> @courses.map(&:school_id))
@schools = School.where(:id =>user_exs.map(&:school_id))
end
@search = params[:search] # 搜索字
@keyword = params[:keyword].blank? ? "u_name" : params[:keyword] # 根据姓名/课程名搜索
status = params[:status].to_i
courselist = params[:course_list]
@status = params[:status]
@courselist = params[:course_list]
@school_id = params[:school_id]
if params[:school_id] && params[:school_id] != ''
@school_id = params[:school_id]
@courses = @courses.joins("join users u on courses.tea_id = u.id").joins("join user_extensions ue on u.id = ue.user_id").where("ue.school_id = #{params[:school_id]}")
@courses = Course.joins("join users u on courses.tea_id = u.id").joins("join user_extensions ue on u.id = ue.user_id").where("ue.school_id = #{params[:school_id]}")
end
if params[:homepage_show]
@courses = @courses.where(:homepage_show => params[:homepage_show].to_i)
end
if courselist && courselist != ''
@courses = @courses.where(:course_list_id => courselist)
if params[:course_list] && params[:course_list] != ''
@courses = @courses.where(:course_list_id => @courselist)
end
if params[:status] && params[:status]!=''
@status = params[:status]
@courses =@courses.where(:is_end =>status)
@courses =@courses.where(:is_end => @status.to_i)
end
if "u_name" == @keyword
if @search.blank?
@ -806,6 +805,7 @@ end
@courses= @courses.where("name like '%#{@search}%'")
end
@courses = @courses.select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS updatetime").reorder("updatetime #{@sx_order}")
@export_courses = @courses
@courses_count = @courses.count
limit = 20
@is_remote = true
@ -815,6 +815,11 @@ end
respond_to do |format|
format.js
format.html
format.xls{
@export_courses = @export_courses.all
filename = "#{l(:label_course_list_xls)}.xls"
send_data(course_list_xls(@export_courses), :type => 'application/octet-stream', :filename => filename_for_content_disposition(filename))
}
end
end
@ -1509,28 +1514,29 @@ end
render_404
end
def course_list_xls course
def course_list_xls courses
xls_report = StringIO.new
book = Spreadsheet::Workbook.new
sheet1 = book.create_worksheet :name => "course"
blue = Spreadsheet::Format.new :color => :blue, :weight => :bold, :size => 10
sheet1.row(0).default_format = blue
sheet1.row(0).concat([l(:issue_xls_id),l(:issue_xls_tracker_id),l(:issue_xls_title),l(:issue_xls_description),l(:issue_xls_status),l(:issue_xls_assign),l(:issue_xls_priority),l(:issue_xls_author),l(:issue_xls_created_at),l(:milestone),l(:issue_xls_start),l(:issue_xls_due),l(:issue_xls_ratio)])
sheet1.row(0).concat(["ID","课堂名称","成员","资源","普通作业"," 实训作业","试卷","私有","状态","创建者单位","创建者","动态时间"])
count_row = 1
issues.each do |issue|
sheet1[count_row,0] = issue.id
sheet1[count_row,1] = issue_tracker_change(issue.tracker_id)
sheet1[count_row,2] = issue.subject
sheet1[count_row,3] = (issue.description.gsub(/<\/?.*?>/,"")).html_safe
sheet1[count_row,4] = issue_status_change(issue.status_id)
sheet1[count_row,5] = issue.assigned_to.try(:show_name)
sheet1[count_row,6] = issue_priority_change(issue.priority_id)
sheet1[count_row,7] = issue.author.show_name
sheet1[count_row,8] = issue.created_on.nil? ? issue.created_on : issue.created_on.strftime('%Y-%m-%d %H:%M:%S')
sheet1[count_row,9] = issue.fixed_version.try(:name)
sheet1[count_row,10] = issue.start_date.nil? ? issue.start_date : issue.start_date.strftime('%Y-%m-%d')
sheet1[count_row,11] = issue.due_date.nil? ? issue.due_date : issue.due_date.strftime('%Y-%m-%d')
sheet1[count_row,12] = issue_ratio_change(issue.done_ratio, issue.status_id)
courses.each do |course|
school = course.teacher.try(:user_extensions).try(:school).try(:name).blank? ? "--" : course.teacher.school_name
teacher_name = course.teacher ? course.teacher.show_real_name : ""
sheet1[count_row,0] = course.id
sheet1[count_row,1] = course.name
sheet1[count_row,2] = course.members.count
sheet1[count_row,3] = course.attachments.count
sheet1[count_row,4] = course.homework_commons.where(:homework_type => 1).count
sheet1[count_row,5] = course.homework_commons.where(:homework_type => 4).count
sheet1[count_row,6] = course.exercises.count
sheet1[count_row,7] = course.is_public.to_i == 1 ? '否' : '是'
sheet1[count_row,8] = course.is_end ? "已结束" : "正在进行"
sheet1[count_row,9] = school
sheet1[count_row,10] = teacher_name
sheet1[count_row,11] = format_time(course.updatetime)
count_row += 1
end
book.write xls_report

View File

@ -241,9 +241,10 @@ class MembersController < ApplicationController
@create_member_error_messages = "角色不能留空" unless params[:membership][:role_ids]
@create_member_error_messages = "用户不能留空" unless params[:membership][:user_ids]
if params[:membership][:user_ids]
#if params[:membership][:user_ids]
if params[:choose_student_ids] && params[:membership]
attrs = params[:membership].dup
user_ids = attrs.delete(:user_ids)
user_ids = params[:choose_student_ids].split(",")
user_ids.each do |user_id|
if @course.members.where(:user_id => user_id).empty?
member = Member.new(:role_ids => params[:membership][:role_ids], :user_id => user_id)

View File

@ -16,7 +16,7 @@ class ShixunsController < ApplicationController
def statistics_students
@statistics = @shixun.myshixuns
@statistics = @shixun.myshixuns.order("created_at desc")
@statistics_count = @statistics.count
@limit = 10
@is_remote = true
@ -114,7 +114,9 @@ class ShixunsController < ApplicationController
@rev = params[:rev]
@content = params[:content]
code_file = g.edit_file(@shixun.gpid, :content => params[:content], :file_path => @path, :branch_name => @rev, :commit_message => "shixun entry")
shixun_modify_status_without_publish(@shixun, 1)
if @shixun.try(:status).to_i < 2
shixun_modify_status_without_publish(@shixun, 1)
end
respond_to do |format|
format.js
end
@ -252,9 +254,9 @@ class ShixunsController < ApplicationController
# 确定 sort 1升序 2 降序
@order = params[:order] || "myshixun_count"
bsort = params[:sort] || "desc"
@sort = bsort == "desc" ? "asc" : "desc"
@sort = bsort == "asc" ? "desc" : "asc"
if @order == "updated_at"
order_str = "#{Shixun.table_name}.updated_at #{bsort}"
order_str = "#{Shixun.table_name}.updated_at #{@sort}"
else
order_str = "myshixun_count #{bsort}, #{Shixun.table_name}.updated_at #{bsort}"
end
@ -576,6 +578,9 @@ class ShixunsController < ApplicationController
new_shixun.update_column(:gpid, gshixun.id)
# 同步复制合作者,合作者加入到gitlab
unless User.current.manager_of_shixun?(@shixun)
ShixunMember.create!(:user_id => User.current.id, :shixun_id => new_shixun.try(:id), :role => 1)
end
@shixun.shixun_members.each do |shixun_member|
if ShixunMember.where(:shixun_id => new_shixun.try(:id), :user_id => shixun_member.user_id).blank?
ShixunMember.create!(:user_id => shixun_member.try(:user_id), :shixun_id => new_shixun.try(:id),

View File

@ -503,7 +503,7 @@ module ApplicationHelper
def new_homework_common_status status
case status
when 0
"挂起"
"未发布"
when 1
"提交中"
when 2
@ -523,7 +523,7 @@ module ApplicationHelper
def homework_status_color status
style = ""
case status
when '挂起'
when '未发布'
style = 'edu-filter-btn-yellow'
when '提交中'
style = 'edu-filter-btn-blue'
@ -571,7 +571,7 @@ module ApplicationHelper
if ho_detail_manual
case ho_detail_manual.comment_status
when 0
status = "挂起"
status = "未发布"
when 1
if homework_common.end_time && homework_common.end_time >= Time.now
status = "提交中"
@ -4775,7 +4775,7 @@ def get_hw_status homework_common
str = ""
if homework_common.homework_detail_manual
if homework_common.homework_detail_manual.comment_status == 0 && homework_common.publish_time.nil?
str += '<span class="grey_homework_btn_cir ml5">挂起</span>'
str += '<span class="grey_homework_btn_cir ml5">未发布</span>'
elsif homework_common.homework_detail_manual.comment_status == 0
str += '<span class="grey_homework_btn_cir ml5">未发布</span>'
elsif homework_common.homework_detail_manual.comment_status == 1

View File

@ -48,7 +48,7 @@ class Myshixun < ActiveRecord::Base
score = 0
self.games.each do |game|
if game.status == 2
score += game.final_score
score += game.final_score.to_i
end
end
score

View File

@ -49,8 +49,8 @@
<i class="fa fa-lock font-grey ml5" ></i>
<% end %>
</p>
<div class="clearfix"><span class="fl fb">输入:</span><p class="fl"><%= match_specific_symbol test.input unless test.input.blank? %></p></div>
<div class="clearfix"><span class="fl fb">输出:</span><p class="fl"><%= match_specific_symbol test.output unless test.output.blank? %></div>
<div class="clearfix"><span class="fl fb">输入:</span><p class="fl break_word with95"><%= match_specific_symbol test.input unless test.input.blank? %></p></div>
<div class="clearfix"><span class="fl fb">输出:</span><p class="fl break_word with95"><%= match_specific_symbol test.output unless test.output.blank? %></div>
</li>
<% end %>
<% else %>

View File

@ -1,7 +1,10 @@
<% if params[:is_observe] %>
<% if params[:is_observe] || params[:page] %>
<% unless params[:page] %>
$("#choose_student_ids").val('');
<% end %>
$("#search_not_students_list").html("<%= j(render :partial => 'courses/settings/search_not_students_list') %>");
<% else %>
laststSearchCondition = '';
var htmlvalue = "<%= j(render :partial => 'courses/settings/add_students') %>";
pop_box_new(htmlvalue, 440, 490);
pop_box_new(htmlvalue, 560, 600);
<% end %>

View File

@ -1,4 +1,7 @@
<% if params[:is_observe] %>
<% if params[:is_observe] || params[:page] %>
<% unless params[:page] %>
$("#choose_student_ids").val('');
<% end %>
$("#search_not_teachers_list").html("<%= j(render :partial => 'courses/settings/search_not_teachers_list') %>");
<% else %>
lastteSearchCondition = "";

View File

@ -12,7 +12,7 @@
<input type="hidden" value="10" name="membership[role_ids][]">
<input type="hidden" value="<%= @course.id %>" id="course_search_not_student_id">
<input class="task-form-100 task-height-40 panel-box-sizing color-grey3" id="search_not_student" placeholder="输入姓名、学号进行搜索" type="text">
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5"><i class="fa fa-search"></i></a>
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5" onclick="search_not_student_f()"><i class="fa fa-search"></i></a>
</div>
<div class="clearfix mb15">
<% if @course.course_groups.count > 0 %>
@ -21,29 +21,45 @@
<div class="mb10 edu-position" style="text-align: right">
<label class="color-grey">单位:&nbsp;&nbsp;</label>
<input placeholder="请输入单位名称" class="task-form-60 task-height-40 panel-box-sizing color-grey3"/>
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5"><i class="fa fa-search"></i></a>
<input placeholder="请输入单位名称" value="<%= @school %>" id="search_not_student_school" class="task-form-60 task-height-40 panel-box-sizing color-grey3"/>
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5" onclick="search_not_student_f()"><i class="fa fa-search"></i></a>
</div>
<ul class="upload_select_box fl" style="overflow-y:auto;width:500px;" id="search_not_students_list">
<%#= render :partial => 'courses/settings/search_not_students_list' %>
</ul>
</div>
</div>
<input id="choose_student_ids" name="choose_student_ids" type="hidden" value="">
<div class="clearfix">
<div class="fl pages_little_show">
<ul>
<%#= pagination_links_full @pages, @courses.count, :per_page_links => false, :remote => true, :flag => true, :is_new => true %>
</ul>
<div class="cl"></div>
<p style="width:520px;" class="ml10">
<input id="all_student_select" type="checkbox" name="all_student_select" class="fl mt7 mr5 magic-checkbox" value="">
<label for="all_student_select">
<span class="span1 edu-name-dark edu-txt-w140 task-hide font-bd" style="text-align: center">姓名</span>
<span class="span2 ml10 edu-txt-w140 task-hide font-bd" style="text-align: center">学号</span>
<span class="span3 ml10 edu-txt-w140 task-hide font-bd" style="text-align: center">用户ID</span>
</label>
</p>
<div class="fl" style="width:520px;" id="search_not_students_list">
<%= render :partial => 'courses/settings/search_not_students_list' %>
</div>
</div>
<span class="color-orange fl none" id="add_student_notice"></span>
<a href="javascript:void(0);" class="task-btn task-btn-blue fr" style="" onclick="submit_add_student_form()">确定</a>
<a href="javascript:void(0);" class="pop_close task-btn fr mr10" style="">取消</a>
</div>
<% end %>
<div class="cl"></div>
</div>
</div>
</div>
</div>
<script>
$(function(){
$("#search_not_student, #search_not_student_school").on("keydown", function(event){
var code;
if (!event) {
event = window.event; //针对ie浏览器
code = event.keyCode;
}
else {
code = event.keyCode;
}
if(code == 13) {
search_not_student_f();
return false;
}
});
});
</script>

View File

@ -6,22 +6,31 @@
</div>
<div class="task_popup_con">
<div class="newupload_conbox clearfix">
<%= form_tag url_for(course_memberships_path(@course)), :remote => true, :method => :post, :id => 'add_teacher_form' do |f| %>
<%= form_tag url_for(course_memberships_path(@course)), :remote => true, :method => :post, :id => 'add_teacher_form' do |f| %>
<div class="left fl" style="width:535px;">
<div class="mb10 edu-position" style="width:520px;">
<input type="hidden" value="<%= @course.id %>" id="course_search_not_teacher_id">
<input class="task-form-100 task-height-40 panel-box-sizing" id="search_not_teacher" placeholder="输入用户的真实姓名进行搜索" type="text">
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5"><i class="fa fa-search"></i></a>
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5" onclick="search_not_teacher_f()"><i class="fa fa-search"></i></a>
</div>
<div class="mb10 edu-position mr15" style="text-align: right">
<label class="color-grey">单位:&nbsp;&nbsp;</label>
<input placeholder="请输入单位名称" class="task-form-40 task-height-40 panel-box-sizing color-grey3"/>
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5"><i class="fa fa-search"></i></a>
<input placeholder="请输入单位名称" value="<%= @school %>" id="search_not_teacher_school" class="task-form-60 task-height-40 panel-box-sizing color-grey3"/>
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5" onclick="search_not_teacher_f()"><i class="fa fa-search"></i></a>
</div>
<div class="clearfix mb15">
<ul class="upload_select_box fl" style="overflow-y:auto;width:500px;" id="search_not_teachers_list">
<%#= render :partial => 'courses/settings/search_not_teachers_list' %>
</ul>
<input id="choose_student_ids" name="choose_student_ids" type="hidden" value="">
<p style="width:520px;" class="ml10">
<input id="all_student_select" type="checkbox" name="all_student_select" class="fl mt7 mr5 magic-checkbox" value="">
<label for="all_student_select">
<span class="span1 edu-name-dark edu-txt-w140 task-hide font-bd" style="text-align: center">姓名</span>
<span class="span2 ml10 edu-txt-w140 task-hide font-bd" style="text-align: center">学号</span>
<span class="span3 ml10 edu-txt-w140 task-hide font-bd" style="text-align: center">用户ID</span>
</label>
</p>
<div class="fl" style="width:520px;" id="search_not_teachers_list">
<%= render :partial => 'courses/settings/search_not_teachers_list' %>
</div>
</div>
@ -29,16 +38,12 @@
<h4 class="font-16 mt95">角色:</h4>
<ul class="pl20 pb20">
<li>
<!--<i class="fa fa-circle-o grey fl" aria-hidden="true"></i>-->
<!--<i class="fa fa-dot-circle-o color-blue blue fl" style="display:none;" aria-hidden="true"></i>-->
<label>
<input id="role_9" type="radio" class="magic-radio" value="9" name="membership[role_ids][]">
<label for="role_9">教师</label>
</label>
</li>
<li>
<!--<i class="fa fa-circle-o grey fl" aria-hidden="true"></i>-->
<!--<i class="fa fa-dot-circle-o color-blue blue fl" style="display:none;" aria-hidden="true"></i>-->
<label>
<input id="role_7" class="magic-radio" type="radio" value="7" name="membership[role_ids][]">
<label for="role_7">助教</label>
@ -46,13 +51,29 @@
</li>
</ul>
<a href="javascript:void(0);" class="pop_close task-btn mb10" style="margin-top: 122px;">取消</a>
<a href="javascript:void(0);" class="task-btn task-btn-blue" style="margin-top: 122px;" onclick="submit_add_teacher_form()">确定</a>
<a href="javascript:void(0);" class="pop_close task-btn mb10" style="margin-top: 164px;">取消</a>
<a href="javascript:void(0);" class="task-btn task-btn-blue" style="margin-top: 164px;" onclick="submit_add_teacher_form()">确定</a>
</div>
<% end %>
<div class="cl"></div>
<span class="color-orange fl none" id="add_teacher_notice"></span>
</div>
</div>
</div>
</div>
<script>
$(function(){
$("#search_not_teacher, #search_not_teacher_school").on("keydown", function(event){
var code;
if (!event) {
event = window.event; //针对ie浏览器
code = event.keyCode;
}
else {
code = event.keyCode;
}
if(code == 13) {
search_not_teacher_f();
return false;
}
});
});
</script>

View File

@ -46,20 +46,22 @@
</td>
</tr>
<% end %>
<% @apply_users.each_with_index do |apply, index| %>
<% user = User.find(apply.course_message_id) %>
<tr id="setting_member_<%= user.id %>">
<td><%= @teacher_count + index + 1 %></td>
<td>
<%= link_to user.show_real_name, user_path(user), :target => '_blank', :class => 'edu-txt-w140 task-hide mt5' %>
</td>
<td><span class="edu-txt-w140 task-hide mt5"><%= user.try(:login) %></span></td>
<td><%= apply.content && apply.content.include?('9') ? "教师" : "助教" %></td>
<td>
<%= link_to '同意', dealwith_apply_request_user_path(User.current,:agree=>'Y',:msg_id=>apply.id), :class=>'color-red mr5'%>
<%= link_to '拒绝', dealwith_apply_request_user_path(User.current,:agree=>'N',:msg_id=>apply.id), :class=>'color-red'%>
</td>
</tr>
<% if is_teacher %>
<% @apply_users.each_with_index do |apply, index| %>
<% user = User.find(apply.course_message_id) %>
<tr id="setting_member_<%= user.id %>">
<td><%= @teacher_count + index + 1 %></td>
<td>
<%= link_to user.show_real_name, user_path(user), :target => '_blank', :class => 'edu-txt-w140 task-hide mt5' %>
</td>
<td><span class="edu-txt-w140 task-hide mt5"><%= user.try(:login) %></span></td>
<td><%= apply.content && apply.content.include?('9') ? "教师" : "助教" %></td>
<td>
<%= link_to '同意', dealwith_apply_request_user_path(User.current,:agree=>'Y',:msg_id=>apply.id), :class=>'color-red mr5'%>
<%= link_to '拒绝', dealwith_apply_request_user_path(User.current,:agree=>'N',:msg_id=>apply.id), :class=>'color-red'%>
</td>
</tr>
<% end %>
<% end %>
</tbody>
</table>

View File

@ -1,26 +1,79 @@
<% unless @users.empty? %>
<p>
<input id="add_student" type="checkbox" class="fl mt7 mr5 magic-checkbox" name="membership[user_ids][]" value="">
<label for="add_student">
<span class="span1 edu-name-dark edu-txt-w140 task-hide font-bd" style="text-align: center">姓名</span>
<span class="span2 ml10 edu-txt-w140 task-hide font-bd" style="text-align: center">职业</span>
<span class="span3 ml10 edu-txt-w140 task-hide font-bd" style="text-align: center">学号</span>
</label>
</p>
<% @users.each do |user| %>
<% if user && user.user_extensions %>
<li class="clearfix">
<!--<i class="fa fa-square-o grey fl" aria-hidden="true"></i>-->
<!--<i class="fa fa-check-square-o color-blue blue fl" style="display:none;" aria-hidden="true"></i>-->
<input id="add_student_<%= user.id %>" type="checkbox" class="fl mt7 mr5 magic-checkbox" name="membership[user_ids][]" value="<%= user.id %>">
<label for="add_student_<%= user.id %>" style="top:0px">
<a href="<%= user_path(user) %>" target="_blank" class="task-hide span1 edu-name-dark edu-txt-w140"><%= user.show_real_name %>(<%= user.login %>)</a>
<span class="span2 ml10 edu-txt-w140 task-hide" style="text-align: center"><%= user.identity %></span>
<span class="span3 ml10 edu-txt-w140 task-hide" style="text-align: center"><%= user.user_extensions.school ? user.user_extensions.school.name : "" %></span>
</label>
</li>
<% end %>
<% end %>
<% else %>
搜索结果为空
<% end %>
<ul class="upload_select_box fl mb10" style="overflow-y:auto;width:500px;">
<% unless @users.empty? %>
<% @users.each do |user| %>
<% if user && user.user_extensions %>
<li class="clearfix">
<!--<i class="fa fa-square-o grey fl" aria-hidden="true"></i>-->
<!--<i class="fa fa-check-square-o color-blue blue fl" style="display:none;" aria-hidden="true"></i>-->
<input id="add_student_<%= user.id %>" type="checkbox" class="fl mt7 mr5 magic-checkbox" name="membership[user_ids][]" value="<%= user.id %>">
<label for="add_student_<%= user.id %>" style="top:0px">
<a href="<%= user_path(user) %>" target="_blank" class="task-hide span1 edu-name-dark edu-txt-w140"><%= user.show_real_name %>(<%= user.login %>)</a>
<span class="span2 ml10 edu-txt-w140 task-hide" style="text-align: center"><%= user.user_extensions.try(:student_id) %></span>
<span class="span3 ml10 edu-txt-w140 task-hide" style="text-align: center"><%= user.login %></span>
</label>
</li>
<% end %>
<% end %>
<% else %>
<% end %>
</ul>
<div class="clearfix">
<div class="cl mb10">
<span class="color-orange none" id="add_student_notice"></span>
</div>
<div class="fl pages_little_show">
<ul>
<%= pagination_links_full @users_pages, @users_count, :per_page_links => false, :remote => true, :flag => true, :is_new => true %>
</ul>
<div class="cl"></div>
</div>
<a href="javascript:void(0);" class="task-btn task-btn-blue fr" style="" onclick="submit_add_student_form()">确定</a>
<a href="javascript:void(0);" class="pop_close task-btn fr mr10" onclick="hideModal();">取消</a>
</div>
<script>
$(function(){
if($("#choose_student_ids").val() != ""){
var choose_ids = $("#choose_student_ids").val().split(",");
for (var i = 0; i < choose_ids.length; i++){
$("#add_student_" + choose_ids[i]).attr("checked", "checked");
}
}
$("#all_student_select").on('change', function(){
if($("#all_student_select").is(':checked')){
$("#choose_student_ids").val("<%= @user_ids %>");
$("input[name='membership[user_ids][]']").attr('checked', true);
} else{
$("#choose_student_ids").val("");
$("input[name='membership[user_ids][]']").attr('checked', false);
}
});
if($("input[name='all_student_select']").is(':checked')){
$("input[name='membership[user_ids][]']").attr('checked', true);
}
$("input[name='membership[user_ids][]']").on('change', function(){
var choose_ids = $("#choose_student_ids").val() == "" ? [] : $("#choose_student_ids").val().split(",");
if($(this).is(':checked')){
if($("input[name='membership[user_ids][]']:checked").length == <%= @users_count %>){
$("input[name='all_student_select']").attr('checked', true);
}
choose_ids.push($(this).val());
} else{
$("input[name='all_student_select']").attr('checked', false);
choose_ids.splice($.inArray($(this).val(),choose_ids),1);
}
if(choose_ids.length != 0){
$("#choose_student_ids").val(choose_ids.join(","));
} else{
$("#choose_student_ids").val('');
}
});
});
</script>

View File

@ -1,24 +1,77 @@
<% unless @users.empty? %>
<p>
<input id="add_student" type="checkbox" class="fl mt7 mr5 magic-checkbox" name="membership[user_ids][]" value="">
<label for="add_student">
<span class="span1 edu-name-dark edu-txt-w140 task-hide font-bd" style="text-align: center">姓名</span>
<span class="span2 ml10 edu-txt-w140 task-hide font-bd" style="text-align: center">学号</span>
<span class="span3 ml10 edu-txt-w140 task-hide font-bd" style="text-align: center">用户ID</span>
</label>
</p>
<% @users.each do |user| %>
<% if user && user.user_extensions %>
<li class="clearfix">
<!--<i class="fa fa-square-o grey fl" aria-hidden="true"></i>-->
<!--<i class="fa fa-check-square-o color-blue blue fl" style="display:none;" aria-hidden="true"></i>-->
<input id="choose_course_teacher_<%= user.id %>" type="checkbox" class="fl mt7 mr5 magic-checkbox" style="top:0px" name="membership[user_ids][]" value="<%= user.id %>">
<label for="choose_course_teacher_<%= user.id %>" style="top:0px">
<a href="<%= user_path(user) %>" target="_blank" class="task-hide fl span1 edu-txt-w140"><%= user.show_real_name %>(<%= user.login %>)</a>
<span class="span2 ml10 edu-txt-w140 task-hide" style="text-align: center"><%= user.identity %></span>
<span class="span3 ml10 edu-txt-w140 task-hide" style="text-align: center"><%= user.user_extensions.school ? user.user_extensions.school.name : "" %></span>
</label>
</li>
<% end %>
<% end %>
<% end %>
<ul class="upload_select_box fl mb10" style="overflow-y:auto;width:500px;">
<% unless @users.empty? %>
<% @users.each do |user| %>
<% if user && user.user_extensions %>
<li class="clearfix">
<!--<i class="fa fa-square-o grey fl" aria-hidden="true"></i>-->
<!--<i class="fa fa-check-square-o color-blue blue fl" style="display:none;" aria-hidden="true"></i>-->
<input id="add_student_<%= user.id %>" type="checkbox" class="fl mt7 mr5 magic-checkbox" name="membership[user_ids][]" value="<%= user.id %>">
<label for="add_student_<%= user.id %>" style="top:0px">
<a href="<%= user_path(user) %>" target="_blank" class="task-hide span1 edu-name-dark edu-txt-w140"><%= user.show_real_name %>(<%= user.login %>)</a>
<span class="span2 ml10 edu-txt-w140 task-hide" style="text-align: center"><%= user.user_extensions.try(:student_id) %></span>
<span class="span3 ml10 edu-txt-w140 task-hide" style="text-align: center"><%= user.login %></span>
</label>
</li>
<% end %>
<% end %>
<% else %>
<% end %>
</ul>
<div class="clearfix">
<div class="cl mb10">
<span class="color-orange none" id="add_teacher_notice"></span>
</div>
<div class="fl pages_little_show">
<ul>
<%= pagination_links_full @users_pages, @users_count, :per_page_links => false, :remote => true, :flag => true, :is_new => true %>
</ul>
<div class="cl"></div>
</div>
</div>
<script>
$(function(){
if($("#choose_student_ids").val() != ""){
var choose_ids = $("#choose_student_ids").val().split(",");
for (var i = 0; i < choose_ids.length; i++){
$("#add_student_" + choose_ids[i]).attr("checked", "checked");
}
}
$("#all_student_select").on('change', function(){
if($("#all_student_select").is(':checked')){
$("#choose_student_ids").val("<%= @user_ids %>");
$("input[name='membership[user_ids][]']").attr('checked', true);
} else{
$("#choose_student_ids").val("");
$("input[name='membership[user_ids][]']").attr('checked', false);
}
});
if($("input[name='all_student_select']").is(':checked')){
$("input[name='membership[user_ids][]']").attr('checked', true);
}
$("input[name='membership[user_ids][]']").on('change', function(){
var choose_ids = $("#choose_student_ids").val() == "" ? [] : $("#choose_student_ids").val().split(",");
if($(this).is(':checked')){
if($("input[name='membership[user_ids][]']:checked").length == <%= @users_count %>){
$("input[name='all_student_select']").attr('checked', true);
}
choose_ids.push($(this).val());
} else{
$("input[name='all_student_select']").attr('checked', false);
choose_ids.splice($.inArray($(this).val(),choose_ids),1);
}
if(choose_ids.length != 0){
$("#choose_student_ids").val(choose_ids.join(","));
} else{
$("#choose_student_ids").val('');
}
});
});
</script>

View File

@ -31,7 +31,7 @@
</span>
</p>
<% end %>
<input type="hidden" name="user_answer">
<input type="hidden" name="user_answer" value="<%= choose.current_choose_outputs.try(:answer) %>">
</div>
<% end %>
<!--<div class="pl5 pr5 pt10 pb10 bor-grey-e">

View File

@ -14,7 +14,7 @@
<div id="code_test">
<% if @st == 0 %>
<a href="javascript:void(0)" class="shixun-task-btn task-btn-blue mr15 mt8" onclick="training_task_submmit();">评测</a>
<% elsif @game.status != 2 %>
<% else %>
<a href="javascript:void(0)" class="shixun-task-btn task-btn-blue mr15 mt8" onclick="choice_submmit();">评测</a>
<% end %>
</div>

View File

@ -41,11 +41,15 @@
</div>
<div class="-task-ces-info undis" id="test_case_<%= index %>">
<ul class=" font-14">
<% if choose.choose_outputs.blank? %>
<% if choose.current_choose_outputs.blank? %>
<li><span class="ml30">尚未提交,暂不支持查看</span></li>
<% else %>
<li><span class="-task-ces-info-left color-blue">正确选项:</span><span><%= choose.standard_answer %></span></li>
<li><span class="-task-ces-info-left color-blue">你的选项:</span><span class="color-orange"><%= choose.current_choose_outputs.try(:answer).nil? ? "无" : choose.current_choose_outputs.try(:answer) %></span></li>
<% if choose.current_choose_outputs.try(:answer) == choose.standard_answer || @game.status == 2 %>
<li><span class="-task-ces-info-left color-blue">正确选项:</span><span><%= choose.standard_answer %></span></li>
<li><span class="-task-ces-info-left color-blue">你的选项:</span><span class="color-orange"><%= choose.current_choose_outputs.try(:answer).nil? ? "无" : choose.current_choose_outputs.try(:answer) %></span></li>
<% else %>
<li><span class="-text-danger ml30">错误,不支持查看</span></li>
<% end %>
<% end %>
</ul>
</div>

View File

@ -43,7 +43,6 @@
<% else %>
<span class="btn-cir-big fr mt8 mr15" >经验值:<%= @game_challenge.choose_score.to_i %></span>
<% end %>
</ul>
<div class="cl"></div>
<div class="-flex -relative greytab-inner">

View File

@ -1,53 +1,25 @@
<%= stylesheet_link_tag 'css/edu-common', 'css/edu-popup' %>
<% if game.challenge.st != 0 %>
<div class="task-popup-warp" style="background-color: rgba(0,0,0,0.7);top: 0px;left: 0px;">
<div class="task-popup-warp" style="background-color: rgba(0,0,0,0.7);">
<div class="task-popup-box <%= had_done == 0 ? "task-box1" : "task-box2" %>">
<a href="javascript:void(0)" class="task-popup-close" onclick="refresh_game_list();"></a>
<% if had_done == 0 %>
<div class="task-su-con">
<div class="task-su-con">
<% if had_done == 0 %>
<p class="task-su-p">恭喜您通过本关</p>
<p class="mt8"><i class="fa fa-check-circle color-light-green mr5"></i>本题正确:<span class="color-orange03">&nbsp;<%= game.challenge.choose_correct_num.to_i %>&nbsp;</span>道</p>
<p><i class="fa fa-exclamation-circle color-orange mr5"></i>本题错误:<span class="color-orange03">&nbsp;<%= game.challenge.challenge_chooses.count - game.challenge.choose_correct_num.to_i %>&nbsp;</span>道</p>
</div>
<% else %>
<div class="task-su-con" style="position: absolute;width: 100%;z-index:3;padding-top: 63px;">
<img src="/images/task/task-success02.png"/>
<a href="<%= myshixun_game_path(myshixun, :index => 1) %>" class="task-su-btn-white mt30" onclick="hideModal();" data-remote="true">查看光辉历史</a>
</div>
<div style="text-align:center;background-color: #fff;border-radius: 0px 0px 8px 8px;width: 200px;position:absolute;z-index:2;height:100px;bottom:-30px;left:50%;margin-left:-100px;">
<p class="mt25"><i class="fa fa-check-circle color-light-green mr5"></i>本题正确:<span class="color-orange03">&nbsp;<%= game.challenge.choose_correct_num.to_i %>&nbsp;</span>道</p>
<p><i class="fa fa-exclamation-circle color-orange mr5"></i>本题错误:<span class="color-orange03">&nbsp;<%= game.challenge.challenge_chooses.count - game.challenge.choose_correct_num.to_i %>&nbsp;</span>道</p>
</div>
<% end %>
</div>
<% if had_done == 0 %>
<%= link_to "下 一 关", {:controller => 'games', :action => "next_step", :id => game, :myshixun_id => myshixun}, :class => "task-su-btn", :onclick => "hideModal();", :remote => true %>
<% end %>
</div>
<% else %>
<div class="task-popup-warp" style="background-color: rgba(0,0,0,0.7);">
<div class="task-popup-box <%= had_done == 0 ? "task-box1" : "task-box2" %>">
<a href="javascript:void(0)" class="task-popup-close" onclick="refresh_game_list();"></a>
<div class="task-su-con">
<% if had_done == 0 %>
<p class="task-su-p">恭喜您通过本关</p>
<%= link_to "下 一 关", {:controller => 'games', :action => "next_step", :id => game, :myshixun_id => myshixun}, :class => "task-su-btn", :onclick => "hideModal();", :remote => true %>
<% else %>
<a href="<%= myshixun_game_path(myshixun, :index => 1) %>" class="task-su-btn-white mt50" onclick="hideModal();" data-remote="true">查看光辉历史</a>
<% end %>
</div>
</div>
<%= link_to "下 一 关", {:controller => 'games', :action => "next_step", :id => game, :myshixun_id => myshixun}, :class => "task-su-btn", :onclick => "hideModal();", :remote => true %>
<% else %>
<a href="<%= myshixun_game_path(myshixun, :index => 1) %>" class="task-su-btn-white mt50" onclick="hideModal();" data-remote="true">查看光辉历史</a>
<% end %>
</div>
<% end %>
</div>
</div>
<script>
function refresh_game_list(){
$.ajax({
url: "<%= refresh_game_list_myshixun_game_path(game, :myshixun_id => myshixun) %>",
dataType: "script"
});
function refresh_game_list(){
$.ajax({
url: "<%= refresh_game_list_myshixun_game_path(game, :myshixun_id => myshixun) %>",
dataType: "script"
});
//$("#all_task_show").css("display","none");
}
//$("#all_task_show").css("display","none");
}
</script>

View File

@ -11,7 +11,7 @@
$("#all_task_show").hide();
fadein = 0;
// 选择题
<% if params[:choose] == "1" %>
<% if params[:choose] == "true" %>
<% if @had_done == 0 %>
$("#code_estimate").html("<a href='<%= next_step_myshixun_game_path(@game, :myshixun_id => @myshixun) %>' class='task-btn task-btn-blue mr15 mt8' id='next_step' data-remote='true'>下一关</a>");
var htmlvalue = "<%= j (render :partial => 'games/pass_game_show', :locals => { :game=> @game, :myshixun => @myshixun, :had_done => 0}) %>";

View File

@ -1,6 +1,6 @@
<a href="<%= homework_common_index_path(:course => @course.id, :homework_type => @homework_type) %>" class="<%= @order.nil? ? "active" : "" %> edu-filter-cir-grey mr5 font-12 fl" data-remote="true">全部</a>
<% if @is_teacher %>
<a href="<%= homework_common_index_path(:course => @course.id, :homework_type => @homework_type, :order => 0, :search => @search) %>" class="<%= @order == "0" ? "active" : "" %> edu-filter-cir-grey mr5 font-12 fl" data-remote="true">挂起</a>
<a href="<%= homework_common_index_path(:course => @course.id, :homework_type => @homework_type, :order => 0, :search => @search) %>" class="<%= @order == "0" ? "active" : "" %> edu-filter-cir-grey mr5 font-12 fl" data-remote="true">未发布</a>
<% end %>
<a href="<%= homework_common_index_path(:course => @course.id, :homework_type => @homework_type, :order => 1, :search => @search) %>" class="<%= @order == "1" ? "active" : "" %> edu-filter-cir-grey mr5 font-12 fl" data-remote="true">提交中</a>
<a href="<%= homework_common_index_path(:course => @course.id, :homework_type => @homework_type, :order => 3, :search => @search) %>" class="<%= @order == "3" ? "active" : "" %> edu-filter-cir-grey mr5 font-12 fl" data-remote="true">匿评中</a>

View File

@ -264,7 +264,7 @@
<input nhname="tag" nh_tag_4="true" class="fl task-form-30" id="occupation" name="occupation" style="display: none;" type="text" value="<%= @user.user_extensions.school.try(:id) %>"/> <!-- 单位名称的test框选中下拉列表框的id -->
<p id="no_school_hint" class="none fl ml10 mt8">你的单位不在列表中?请点击<a href="javascript:void(0);" class="link-color-blue">申请添加</a></p>
<div class="cl"></div>
<span class="color-orange fl none" id="school_name_hint" style="margin-left:20px;"><i class="fa fa-exclamation-circle mr5"></i>请从下拉列表中选择你的单位</span>
<span class="color-orange fl none" id="school_name_hint" style="margin-left:12% "><i class="fa fa-exclamation-circle mr5"></i>请从下拉列表中选择你的单位</span>
</li>
<li style="margin-left: 10%" class="clearfix mb10">
<input type="text" autocomplete="off" id="department" name="department" class="ml18 task-height-40 panel-box-sizing fl" placeholder="所在学院或者所在部门" value="<%= @user.user_extensions.department.try(:name) %>" style="width: 350px;padding: 5px">
@ -573,45 +573,45 @@
$("#search_school_result_list").hide();
}
});
// $("input[name='school']").on('focus', function (e) {
// if ($("input[name='occupation']").val() != '') { //如果已经有id了。肯定存在不用去找了。
// return;
// }
//
// $.ajax({
// url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value + '&page=' + page,
// type: 'post',
// success: function (data) {
// schoolsResult = data.schools;
// count = data.count;
// maxPage = Math.ceil(count / 100); //最大页码值
// if (schoolsResult.length != undefined && schoolsResult.length != 0) {
// var i = 0;
// $("#search_school_result_list").html('');
// for (; i < schoolsResult.length; i++) {
// link = '<a onclick="window.changeValue(\'' + schoolsResult[i].school.name.replace(/\s/g, " ") + '\',\'' + schoolsResult[i].school.id + '\')" href="javascript:void(0)">' + schoolsResult[i].school.name + '</a><br/>';
// $("#search_school_result_list").append(link);
// }
// $("#search_school_result_list").css('left', $(e.target).offset().left);
// $("#search_school_result_list").css('top', $(e.target).offset().top + 40);
// $("#search_school_result_list").css("position", "absolute");
// $("#search_school_result_list").show();
// if ($(e.target).val().trim() != '') {
// str = e.target.value.length > 8 ? e.target.value.substr(0, 6) + "..." : e.target.value;
// $("#no_school_hint").html('找到了' + count + '个包含"' + str + '"的高校(单位)');
// $("#no_school_hint").show();
// } else {
// $("#no_school_hint").hide();
// }
// } else {
// $("#search_school_result_list").html('');
// str = e.target.value.length > 4 ? e.target.value.substr(0, 4) + "..." : e.target.value;
// $("#no_school_hint").html('你的单位不在列表中?请点击<a class="link-color-blue" onclick="apply_add_school();" href="javascript:void(0);">申请添加</a>');
// $("#no_school_hint").show();
// }
// }
// });
// });
$("input[name='school']").on('focus', function (e) {
if ($("input[name='occupation']").val() != '') { //如果已经有id了。肯定存在不用去找了。
return;
}
$.ajax({
url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value + '&page=' + page,
type: 'post',
success: function (data) {
schoolsResult = data.schools;
count = data.count;
maxPage = Math.ceil(count / 100); //最大页码值
if (schoolsResult.length != undefined && schoolsResult.length != 0) {
var i = 0;
$("#search_school_result_list").html('');
for (; i < schoolsResult.length; i++) {
link = '<a onclick="window.changeValue(\'' + schoolsResult[i].school.name.replace(/\s/g, " ") + '\',\'' + schoolsResult[i].school.id + '\')" href="javascript:void(0)">' + schoolsResult[i].school.name + '</a><br/>';
$("#search_school_result_list").append(link);
}
$("#search_school_result_list").css('left', $(e.target).offset().left);
$("#search_school_result_list").css('top', $(e.target).offset().top + 40);
$("#search_school_result_list").css("position", "absolute");
$("#search_school_result_list").show();
if ($(e.target).val().trim() != '') {
str = e.target.value.length > 8 ? e.target.value.substr(0, 6) + "..." : e.target.value;
$("#no_school_hint").html('找到了' + count + '个包含"' + str + '"的高校(单位)');
$("#no_school_hint").show();
} else {
$("#no_school_hint").hide();
}
} else {
$("#search_school_result_list").html('');
str = e.target.value.length > 4 ? e.target.value.substr(0, 4) + "..." : e.target.value;
$("#no_school_hint").html('你的单位不在列表中?请点击<a class="link-color-blue" onclick="apply_add_school();" href="javascript:void(0);">申请添加</a>');
$("#no_school_hint").show();
}
}
});
});
});
//地区

View File

@ -25,10 +25,12 @@
<%= "(#{number_to_human_size(@entry.size)})" if @entry.size %>
<% end %>
<% else %>
<% if params[:controller] == "shixuns" && params[:action] == "entry_edit" %>
<a href="javascript:void(0);" onclick="$('#shixun_entry_update_id').submit();" class = "fl mr5">保存</a>
<% elsif params[:action] == "shixun_entry" || params[:action] == "entry_update" %>
<%= link_to "编辑", entry_edit_shixun_path(@shixun, :path => @path, :rev => @rev), :class => "fl mr5", :remote => true %>
<% if @shixun.try(:status).to_i < 2 %>
<% if params[:controller] == "shixuns" && params[:action] == "entry_edit" %>
<a href="javascript:void(0);" onclick="$('#shixun_entry_update_id').submit();" class = "fl mr5">保存</a>
<% elsif params[:action] == "shixun_entry" || params[:action] == "entry_update" %>
<%= link_to "编辑", entry_edit_shixun_path(@shixun, :path => @path, :rev => @rev), :class => "fl mr5", :remote => true %>
<% end %>
<% end %>
<% end %>

View File

@ -0,0 +1,16 @@
<% unless @users.empty? %>
<% @users.each do |user| %>
<% if user && user.user_extensions %>
<li class="clearfix">
<!--<i class="fa fa-square-o grey fl" aria-hidden="true"></i>-->
<!--<i class="fa fa-check-square-o color-blue blue fl" style="display:none;" aria-hidden="true"></i>-->
<input id="choose_course_teacher_<%= user.id %>" type="checkbox" class="fl mt7 mr5 magic-checkbox" style="top:0px" name="membership[user_ids][]" value="<%= user.id %>">
<label for="choose_course_teacher_<%= user.id %>" style="top:0px">
<a href="<%= user_path(user) %>" target="_blank" class="task-hide fl span1 edu-txt-w100"><%= user.show_real_name %>(<%= user.login %>)</a>
<span class="fl color-grey span2 ml10"><%= user.identity %></span>
<span class="span3 fl ml10 edu-txt-w140 task-hide" style="width: 189px"><%= user.user_extensions.school ? user.user_extensions.school.name : "" %></span>
</label>
</li>
<% end %>
<% end %>
<% end %>

View File

@ -106,7 +106,7 @@
<label class="panel-form-label fl">复制&nbsp;&nbsp;&nbsp;</label>
<span class="fl mr20">
<input type="checkbox" <%= @shixun.can_copy ? 'checked' : "" %> name="can_copy" value="1" id="can_copy" class="ml5 mr5 magic-checkbox" >
<label style="top:6px" class="color-grey" for="can_copy">(勾选则给实训合作者提供复制实训功能,否则不提供)</label>
<label style="top:6px" class="color-grey" for="can_copy">(勾选则平台所有成员都可以复制实训)</label>
</span>
</li>
<li class="clearfix">

View File

@ -54,7 +54,7 @@
<label class="panel-form-label fl">复制&nbsp;&nbsp;&nbsp;</label>
<span class="fl mr20">
<input type="checkbox" <%= @shixun.can_copy ? 'checked' : "" %> name="can_copy" value="<%= @shixun.can_copy ? 1 : 0 %>" id="can_copy" class="ml5 mr5 magic-checkbox" >
<label style="top:6px" class="color-grey" for="can_copy">(勾选则给实训合作者提供复制实训功能,否则不提供)</label>
<label style="top:6px" class="color-grey" for="can_copy">(勾选则平台所有成员都可以复制实训)</label>
</span>
</li>
<li class="clearfix">
@ -77,6 +77,10 @@
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
});
$("#can_copy").on("click", function(){
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
});
$("#new_course_list").on('input', function(e){
throttle(search_course_list, window, e);
});

View File

@ -62,7 +62,7 @@
<label class="panel-form-label fl">复制&nbsp;&nbsp;&nbsp;</label>
<span class="fl mr20">
<input type="checkbox" <%= @shixun.can_copy ? 'checked' : "" %> name="can_copy" value="<%= @shixun.can_copy ? 1 : 0 %>" id="can_copy" disabled="disabled" class="ml5 mr5 magic-checkbox" >
<label style="top:6px" class="color-grey" for="can_copy">(勾选则给实训合作者提供复制实训功能,否则不提供)</label>
<label style="top:6px" class="color-grey" for="can_copy">(勾选则平台所有成员都可以复制实训)</label>
</span>
</li>
</ul>

View File

@ -35,7 +35,7 @@
<% end %>
<a href="javascript:void(0);" class="fr shixun-task-ban-btn mr15">已关闭</a>
<% end %>
<% if @shixun.can_copy || User.current.manager_of_shixun?(@shixun) %>
<% if @shixun.can_copy %>
<%#= link_to "复制", copy_shixun_path(@shixun), :class => "fr shixun-task-btn task-btn-green mr15" %>
<a href="javascript:void(0);" onclick="op_confirm_box_loading('<%= copy_shixun_path(@shixun) %>', '复制将在后台执行</br>平台将为你创建一个新的同名实训和内容,请问是否继续?');" class = "fr shixun-task-btn task-btn-green mr15">复制</a>
<% end %>

View File

@ -33,10 +33,10 @@
</td>
<td>
<span class=" mr20">
<% if statistics.total_score == 0 %>
<% if statistics.total_score == 0 || statistics.total_score.nil? %>
--
<% else %>
<span style="color:#29bd8b;font-weight:bold;" class="font-14"> + <%= statistics.total_score %></span> 经验值
<span style="color:#29bd8b;font-weight:bold;" class="font-14">+ <%= statistics.total_score.to_i %></span> 经验值
<% end %>
</span>
</td>

View File

@ -1,5 +1,5 @@
<% if params[:is_observe] %>
$("#search_not_teachers_list").html("<%= j(render :partial => 'courses/settings/search_not_teachers_list') %>");
$("#search_not_teachers_list").html("<%= j(render :partial => 'shixuns/add_collaborators_list') %>");
<% else %>
var htmlvalue = "<%= j(render :partial => 'shixuns/add_collaborators') %>";
pop_box_new(htmlvalue, 600, 420);

View File

@ -10,7 +10,7 @@
<%= student_work.group_id == 0 ? '--' : '分组'+student_work.group_id.to_s %>
</td>
<td>
<%= list_work_status student_work.work_status %>
<%= (list_work_status student_work.work_status).html_safe %>
</td>
<td>
<%= student_work.work_status == 0 ? '--' : format_time(student_work.updated_at) %>

View File

@ -7,7 +7,7 @@
<%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id %>
</td>
<td>
<%= list_work_status student_work.work_status %>
<%= (list_work_status student_work.work_status).html_safe %>
</td>
<td>
<%= student_work.work_status == 0 ? '--' : format_time(student_work.updated_at) %>

View File

@ -7,7 +7,7 @@
<%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id %>
</td>
<td>
<%= list_work_status student_work.work_status %>
<%= (list_work_status student_work.work_status).html_safe %>
</td>
<td>
<%= student_work.work_status == 0 ? '--' : format_time(student_work.updated_at) %>

View File

@ -23,7 +23,7 @@
</ul>
<ul class="fl edu-txt-w240">
<li>通关情况:<%= had_passed_changllenge_num(@shixun, @work.user).to_s+" / "+@shixun.challenges.count.to_s %></li>
<li>&nbsp;&nbsp;总耗时:<%=had_passed_changllenge_num(@shixun, @work.user) > 0 ? game_spend_time(@myshixun.total_spend_time) : '- -' %></li>
<li>&nbsp;&nbsp;&nbsp;总耗时:<%=had_passed_changllenge_num(@shixun, @work.user) > 0 ? game_spend_time(@myshixun.total_spend_time) : '- -' %></li>
</ul>
</div>
<div class="edu-h200-auto" style="max-height:250px;">

View File

@ -2,12 +2,20 @@
<% show_real_score = @homework.score_open == 1 || @is_teacher || score.student_work.user == User.current || score.user == User.current %>
<div class="comment_item_cont clearfix">
<div class="J_Comment_Face fl">
<%= link_to image_tag(url_to_avatar(show_real_name ? score.user : ""), :width => "50", :height => "50"), show_real_name ? user_path(score.user) : "javascript:void(0)", :style => "#{show_real_name ? '' : 'cursor: text;'}", :target => "_blank" %>
<% if show_real_name %>
<%= link_to image_tag(url_to_avatar(score.user), :width => "50", :height => "50"), user_path(score.user), :target => "_blank" %>
<% else %>
<%= link_to image_tag(url_to_avatar(""), :width => "50", :height => "50"), "javascript:void(0);", :style => "cursor: text;" %>
<% end %>
</div>
<div class="t_content fl">
<div class="J_Comment_Info">
<div class="t_info clearfix">
<%= link_to show_real_name ? score.user.show_real_name : "匿名", show_real_name ? user_path(score.user) : "javascript:void(0)", :title => show_real_name ? score.user.show_real_name : "匿评用户", :style => "#{show_real_name ? '' : 'cursor: text;'}", :class => "#{show_real_name ? 'color-grey' : 'color-grey-no-a'} hide fl" %>
<% if show_real_name %>
<%= link_to score.user.show_real_name, user_path(score.user), :title => score.user.show_real_name, :class => "color-grey hide fl" %>
<% else %>
<a href="javascript:void(0);" class="color-grey-no-a hide fl" style="cursor: text;">匿名</a>
<% end %>
<span class="fl mr15 color-grey"><%= student_work_score_role score%></span>
<span class="t_area fl"><%= format_time score.updated_at %></span>
<% unless score.score.nil? %>

View File

@ -2,7 +2,7 @@
<%= stylesheet_link_tag "/codemirror/lib/codemirror" %>
<div class="edu-class-container">
<p class="mb10"><i class="fa fa-map-marker mr5 color-grey"></i><a href="<%= course_path(@course) %>"><%= @course.name %></a> > <a href="<%= homework_common_index_path(:course => @course.id, :homework_type => @homework.homework_type) %>"><%= @homework.homework_type_ch %>作业</a> >
<%#= link_to get_hw_index(@homework, @is_teacher, @homework.homework_type) + 1, student_work_index_path(:homework => @homework.id) %>
<%#= link_to get_hw_index(@homework, @is_teacher, @homework.homework_type) + 1, student_work_index_path(:homework => @homework.id) %>
<a href="<%= student_work_index_path(:homework => @homework.id) %>">#<%= get_hw_index(@homework, @is_teacher, @homework.homework_type) + 1 %></a>
<% if @is_teacher || @work.user == User.current || (@homework.homework_detail_manual.comment_status != 3 && @homework.homework_detail_manual.comment_status != 4) %>
<%= link_to @work.user.try(:show_real_name), user_path(@work.user) %>

View File

@ -1,11 +1,11 @@
$(function() {
$("#search_not_teacher").live('input', function (e) {
throttle(search_not_teacher_f,window,e);
});
// $("#search_not_teacher").live('input', function (e) {
// throttle(search_not_teacher_f,window,e);
// });
$("#search_not_student").live('input', function (e) {
throttle(search_not_student_f,window,e);
});
// $("#search_not_student").live('input', function (e) {
// throttle(search_not_student_f,window,e);
// });
//模块切换
$(".stud-class-set .news .nav").click(function(e) {
@ -294,23 +294,23 @@ function submit_change_manager_form(){
}
}
var lastteSearchCondition = '';
//var lastteSearchCondition = '';
function search_not_teacher_f(e){
if($(e.target).val().trim() == "" || ($(e.target).val().trim() == lastteSearchCondition && lastteSearchCondition != ''))
{
return;
}
lastteSearchCondition = $(e.target).val().trim();
// if($(e.target).val().trim() == "" || ($(e.target).val().trim() == lastteSearchCondition && lastteSearchCondition != ''))
// {
// return;
// }
// lastteSearchCondition = $(e.target).val().trim();
$.ajax({
url: '/courses/' + $("#course_search_not_teacher_id").val() + '/search_not_teachers',
type:'post',
data: {is_observe:true, search:e.target.value},
data: {is_observe:true, search:$("#search_not_teacher").val().trim(), school:$("#search_not_teacher_school").val().trim()},
success: function(data){ }
});
}
function submit_add_teacher_form(){
if($("input[name='membership[user_ids][]']:checked").length >= 1){
if($("#choose_student_ids").val().trim() != ""){
if($("input[name='membership[role_ids][]']:checked").length >= 1){
$("#add_teacher_notice").html("").hide();
$("#add_teacher_form").submit();
@ -341,23 +341,23 @@ function submit_has_group_student_search(id, group_id){
)
}
var laststSearchCondition = '';
//var laststSearchCondition = '';
function search_not_student_f(e){
if($(e.target).val().trim() == "" || ($(e.target).val().trim() == laststSearchCondition && laststSearchCondition != ''))
{
return;
}
laststSearchCondition = $(e.target).val().trim();
// if($(e.target).val().trim() == "" || ($(e.target).val().trim() == laststSearchCondition && laststSearchCondition != ''))
// {
// return;
// }
// laststSearchCondition = $(e.target).val().trim();
$.ajax({
url: '/courses/' + $("#course_search_not_student_id").val() + '/search_not_students',
type:'post',
data: {is_observe:true, search:e.target.value},
data: {is_observe:true, search:$("#search_not_student").val().trim(), school:$("#search_not_student_school").val().trim()},
success: function(data){ }
});
}
function submit_add_student_form(){
if($("input[name='membership[user_ids][]']:checked").length >= 1){
if($("#choose_student_ids").val().trim() != ""){
$("#add_student_notice").html("").hide();
$("#add_student_form").submit();
hideModal();

View File

@ -315,7 +315,7 @@ table.table-pa5 th,table.table-pa5 td{ padding:0 5px;}
font-weight:bold;
text-align:center;
padding:0.6em;
z-index:100;
z-index:100000;
opacity: 0.5;
}

View File

@ -13,13 +13,13 @@
.task-popup-warp{ width: 100%; height:100%; background:black; position:fixed;}
.task-popup-box{ position: relative; margin:150px auto 0px; }
.task-box1{ width:428px; height:420px;background:url(/images/task/task-success.png) 0px 0px no-repeat;}
.task-box2{ width:496px; height:373px;position: relative;}/*background:url(/images/task/task-success02.png) 0px 50px no-repeat;*/
.task-box2{ width:496px; height:373px;background:url(/images/task/task-success02.png) 0px 50px no-repeat;}
a.task-popup-close{ display: block; background:url(/images/task/task-close.png) 0px 0px no-repeat; width: 31px; height: 31px; position:absolute; right:5px; top:100px;}
a:hover.task-popup-close{background:url(/images/task/task-close.png) -40px 0px no-repeat; }
.task-su-con{ text-align: center; padding-top:285px;}
.task-su-p{ font-size: 20px; color:#ee4a1f; font-weight: bold;}
a.task-su-btn{display: block;background:url(/images/task/task-su-btn-jie.png) 0px -64px no-repeat; width: 138px; height: 53px;color:#ee4a1f; line-height: 50px; text-align: center; font-size: 16px; margin:20px auto;}
a:hover.task-su-btn{background:url(/images/task/task-su-btn-jie.png) 0px 0px no-repeat;height: 53px;}
a.task-su-btn{display: block;background:url(/images/task/task-su-btn.png) 0px -64px no-repeat; width: 138px; height: 57px;color:#ee4a1f; line-height: 50px; text-align: center; font-size: 16px; margin:20px auto;}
a:hover.task-su-btn{background:url(/images/task/task-su-btn.png) 0px 0px no-repeat; }
a.task-su-btn-white{ display: inline-block; padding:8px 25px; border:1px solid #fff; color:#fff; text-align: center; border-radius:5px; font-size:14px;}
a:hover.task-su-btn-white{ color: #ee4a1f; border:1px solid #ee4a1f; }

View File

@ -171,9 +171,9 @@ a.panel-table-title{display:block; max-width:240px;text-align:center;}
.panel-pages a:hover,.panel-pages .active{ background-color:#29bd8b; border:1px solid #29bd8b;color:#fff; }
.panel-pages{ width: 350px; margin:20px auto;}
/* 翻页*/
.pages_right_min a{ display: inline-block;border:1px solid #d1d1d1; color:#888; float:left;text-align:center; padding:3px 10px; line-height:1.9; margin: 0 5px;}
.pages_right_min a{ display: inline-block;border:1px solid #d1d1d1; color:#888!important; float:left;text-align:center; padding:3px 10px; line-height:1.9; margin: 0 5px;}
.pages_right_min a.pages-border-right{border-right:1px solid #d1d1d1; }
.pages_right_min a:hover,.pages_right_min a.active{ background-color:#FC7033; color:#fff;border:1px solid #FC7033}
.pages_right_min a:hover,.pages_right_min a.active{ background-color:#FC7033; color:#fff!important;border:1px solid #FC7033}
.pages_right_min li{float: left;}
/* 个人主页翻页 */
.pages_user_show a:hover,.pages_user_show a.active{ background-color:#FC7033;; color:#fff;border: 1px solid #FC7033;}