Merge branch 'cxt_course' into 'develop'

本周上线任务



See merge request !50
This commit is contained in:
黄井泉 2016-12-09 16:43:00 +08:00
commit b8eee2b131
56 changed files with 465 additions and 211 deletions

View File

@ -32,6 +32,13 @@ class CoursesController < ApplicationController
before_filter :require_login, :only => [:join, :unjoin] before_filter :require_login, :only => [:join, :unjoin]
#before_filter :allow_join, :only => [:join] #before_filter :allow_join, :only => [:join]
# 邀请码停用/启用
def set_invite_code_halt
if User.current.allowed_to?(:as_teacher, @course) || User.current.admin?
@course.update_attribute('invite_code_halt', @course.invite_code_halt == 0 ? 1 : 0)
end
end
#查找组织 #查找组织
def search_public_orgs_not_in_course def search_public_orgs_not_in_course
condition = '%%' condition = '%%'

View File

@ -7,7 +7,7 @@ class StudentWorkController < ApplicationController
require "base64" require "base64"
before_filter :find_homework, :only => [:new, :index, :create, :student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :program_test,:program_test_ex, before_filter :find_homework, :only => [:new, :index, :create, :student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :program_test,:program_test_ex,
:set_score_rule,:forbidden_anonymous_comment,:delete_work,:new_student_work_project,:student_work_project,:cancel_relate_project, :set_score_rule,:forbidden_anonymous_comment,:delete_work,:new_student_work_project,:student_work_project,:cancel_relate_project,
:search_course_students,:work_canrepeat,:add_group_member] :search_course_students,:work_canrepeat,:add_group_member,:change_project]
before_filter :find_work, :only => [:edit, :update, :show, :destroy, :add_score, :praise_student_work,:retry_work,:revise_attachment] before_filter :find_work, :only => [:edit, :update, :show, :destroy, :add_score, :praise_student_work,:retry_work,:revise_attachment]
before_filter :member_of_course, :only => [:new, :create, :show, :add_score, :praise_student_work] before_filter :member_of_course, :only => [:new, :create, :show, :add_score, :praise_student_work]
before_filter :author_of_work, :only => [:edit, :update, :destroy] before_filter :author_of_work, :only => [:edit, :update, :destroy]
@ -1060,7 +1060,7 @@ class StudentWorkController < ApplicationController
end end
def forbidden_anonymous_comment def forbidden_anonymous_comment
@homework.update_column('anonymous_comment', 1) @homework.update_column('anonymous_comment', @homework.anonymous_comment == 0 ? 1 : 0)
homework_detail_manual = @homework.homework_detail_manual homework_detail_manual = @homework.homework_detail_manual
homework_detail_programing = @homework.homework_detail_programing homework_detail_programing = @homework.homework_detail_programing
if homework_detail_programing if homework_detail_programing
@ -1139,6 +1139,26 @@ class StudentWorkController < ApplicationController
end end
end end
# 作品更换关联项目
def change_project
work = @homework.student_works.has_committed.where("user_id = #{User.current.id}").first
project = Project.find params[:projectName].to_i
if work && project
relate_user_ids = work.student_work_projects.map{|pro| pro.user_id}
member_ids = project.members.map{|mem| mem.user_id}
if (relate_user_ids & member_ids) == relate_user_ids
work.student_work_projects.update_all(:project_id => params[:projectName].to_i)
student_works = @homework.student_works.where("user_id in #{'(' + relate_user_ids.join(',') + ')'}")
student_works.update_all(:project_id => params[:projectName].to_i)
else
@remain_user_ids = relate_user_ids - (relate_user_ids & member_ids)
end
end
respond_to do |format|
format.js
end
end
#查找课程的学生 #查找课程的学生
def search_course_students def search_course_students
name = "" name = ""

View File

@ -3734,7 +3734,9 @@ def get_hw_status homework_common
end end
if Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") if Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")
str += '<span class="green_homework_btn_cir ml5">作品提交中</span>' str += '<span class="green_homework_btn_cir ml5">作品提交中</span>'
elsif Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") elsif Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") && homework_common.anonymous_comment == 1 && User.current.allowed_to?(:as_teacher, homework_common.course)
str += '<span class="green_homework_btn_cir ml5" title="目前教师和教辅正在评阅">教师评阅中</span>'
else
str += '<span class="red_homework_btn_cir ml5">作品补交中</span>' str += '<span class="red_homework_btn_cir ml5">作品补交中</span>'
end end
elsif homework_common.homework_detail_manual.comment_status == 2 elsif homework_common.homework_detail_manual.comment_status == 2

View File

@ -584,6 +584,8 @@ class CoursesService
@state = 2 @state = 2
elsif course[:is_delete] == 1 elsif course[:is_delete] == 1
@state = 11 @state = 11
elsif course[:invite_code_halt] == 1
@state = 14
else else
if current_user.member_of_course?(course) #如果已经是成员 if current_user.member_of_course?(course) #如果已经是成员
@state = 3 @state = 3

View File

@ -1,8 +1,8 @@
<% if @course %> <% if @course %>
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>"); $("#activity_post_reply_<%= @user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/course_news_post_reply', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>");
<% elsif @project %> <% elsif @project %>
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'projects/project_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>"); $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'projects/project_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>");
<% else %> <% else %>
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'organizations/org_subfield_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>"); $("#activity_post_reply_<%= @user_activity_id%>").html("<%= escape_javascript(render :partial => 'organizations/course_news_post_reply', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>");
<% end %> <% end %>
sd_create_editor_from_data('<%= @user_activity_id%>',"","100%", "UserActivity"); sd_create_editor_from_data('<%= @user_activity_id%>',"","100%", "UserActivity");

View File

@ -62,17 +62,17 @@
<% when 'HomeworkCommon' %> <% when 'HomeworkCommon' %>
<%= render :partial => 'users/course_homework', :locals => {:activity => act, :user_activity_id => activity.id, :hw_status => 2} %> <%= render :partial => 'users/course_homework', :locals => {:activity => act, :user_activity_id => activity.id, :hw_status => 2} %>
<% when 'News' %> <% when 'News' %>
<%= render :partial => 'users/course_news', :locals => {:activity => act, :user_activity_id => activity.id} %> <%= render :partial => 'users/course_news', :locals => {:activity => act, :user_activity_id => activity.id, :is_course => 1} %>
<% when 'Message' %> <% when 'Message' %>
<%= render :partial => 'users/course_message', :locals => {:activity => act, :user_activity_id => activity.id,:is_course=>1,:is_board=>0} %> <%= render :partial => 'users/course_message', :locals => {:activity => act, :user_activity_id => activity.id,:is_course=>1,:is_board=>0} %>
<% when 'Poll' %> <% when 'Poll' %>
<%= render :partial => 'users/course_poll', :locals => {:activity => act, :user_activity_id => activity.id} %> <%= render :partial => 'users/course_poll', :locals => {:activity => act, :user_activity_id => activity.id, :is_course => 1} %>
<% when 'JournalsForMessage' %> <% when 'JournalsForMessage' %>
<%= render :partial => 'users/course_journalsformessage', :locals => {:activity => act, :user_activity_id => activity.id} %> <%= render :partial => 'users/course_journalsformessage', :locals => {:activity => act, :user_activity_id => activity.id, :is_course => 1} %>
<% when 'Attachment' %> <% when 'Attachment' %>
<%= render :partial => 'users/course_attachment', :locals => {:activity => act, :user_activity_id => activity.id} %> <%= render :partial => 'users/course_attachment', :locals => {:activity => act, :user_activity_id => activity.id} %>
<% when 'Course' %> <% when 'Course' %>
<%= render :partial => 'users/course_create', :locals => {:activity => act, :user_activity_id => activity.id} %> <%= render :partial => 'users/course_create', :locals => {:activity => act, :user_activity_id => activity.id, :is_course => 1} %>
<% end %> <% end %>
<% end %> <% end %>
<% end %> <% end %>

View File

@ -4,9 +4,9 @@
<ul class="rankList"> <ul class="rankList">
<h3 style="font-size: 14px; font-weight: normal;"> <h3 style="font-size: 14px; font-weight: normal;">
<% if (User.current.logged? && course.open_student == 1) || (User.current.member_of_course?(course)) || User.current.admin? %> <% if (User.current.logged? && course.open_student == 1) || (User.current.member_of_course?(course)) || User.current.admin? %>
<%= link_to "班级活跃度", course_member_path(course, :role => 2, :sort_type => 'act_score'), :class => 'fontGrey3' %> <%= link_to "活跃度", course_member_path(course, :role => 2, :sort_type => 'act_score'), :class => 'fontGrey3' %>
<% else %> <% else %>
<span class="fontGrey7"> 班级活跃度 </span> <span class="fontGrey7"> 活跃度 </span>
<% end %> <% end %>
<a class="sy_cmore fr" onmouseover ="message_titile_show2($(this),event)" onmouseout ="message_titile_hide2($(this))" style="cursor: pointer; position:relative;">积分规则</a> <a class="sy_cmore fr" onmouseover ="message_titile_show2($(this),event)" onmouseout ="message_titile_hide2($(this))" style="cursor: pointer; position:relative;">积分规则</a>
<div class="cl"></div> <div class="cl"></div>

View File

@ -3,9 +3,9 @@
<ul class="rankList"> <ul class="rankList">
<h4 style="font-size: 14px; font-weight: normal;"> <h4 style="font-size: 14px; font-weight: normal;">
<% if (User.current.logged? && course.open_student == 1) || (User.current.member_of_course?(course)) || User.current.admin? %> <% if (User.current.logged? && course.open_student == 1) || (User.current.member_of_course?(course)) || User.current.admin? %>
<%= link_to "班级英雄榜", course_member_path(course, :role => 2), :class => 'fontGrey3' %> <%= link_to "英雄榜", course_member_path(course, :role => 2), :class => 'fontGrey3' %>
<% else %> <% else %>
<span class="fontGrey7">班级英雄榜</span> <span class="fontGrey7">英雄榜</span>
<% end %> <% end %>
<a class="contributor_course" onmouseover ="message_titile_show2($(this),event)" onmouseout ="message_titile_hide2($(this))" style="cursor:pointer;">积分规则</a></h4> <a class="contributor_course" onmouseover ="message_titile_show2($(this),event)" onmouseout ="message_titile_hide2($(this))" style="cursor:pointer;">积分规则</a></h4>
<div style="cursor:pointer;" class="numIntro undis"> <div style="cursor:pointer;" class="numIntro undis">

View File

@ -1,23 +1,26 @@
<div class="st_list"> <div class="sy_class_fenban clear">
<div class="st_box"> <div class="mt5">
<a href="javascript:void(0)" class="fr fb mb5" >加入时间</a> <div style="border-bottom: 1px solid #CCC">
<a href="javascript:void(0)" class="fr fb mb5 mr70" >角色</a> <span href="javascript:void(0)" class="c_grey f14 fl fb mb5 ml65" >姓名</span>
<span href="javascript:void(0)" class="c_grey f14 fr fb mb5 mr20">加入时间</span>
<span href="javascript:void(0)" class="c_grey f14 fr fb mb5 mr70" >角色</span>
<div class="cl"></div><!--st_box_top end--> <div class="cl"></div><!--st_box_top end-->
</div>
<div class="mt10">
<% members.each do |member| %> <% members.each do |member| %>
<div class="st_boxlist"> <div class="teacher_st_boxlist">
<%= link_to image_tag(url_to_avatar(member.user), :width => "32", :height => "32", :style => "display:block;"), user_path(member.user_id),:target => '_blank', :class => 'st_img' ,:alt => "用户头像" %> <%= link_to image_tag(url_to_avatar(member.user), :width => "50", :height => "50", :style => "display:block;", :class =>'teacher_member_img'), user_path(member.user_id), :class => 'fl' ,:alt => "用户头像" %>
<span class="fl ml10 c_grey"><%= l(:label_username)%></span> <div class="fl">
<%= link_to(member.user.show_name, user_path(member.user),:class => "ml10 c_blue02") %> <%= link_to(member.user.show_name, user_path(member.user),:class => "ml10 mt5 mb10 link-blue db") %>
<span class="fr c_grey"><%= format_date(member.created_on)%></span> <span class="c_grey ml10"><%= l(:label_username)%><%= member.user.login%></span>
<span class="fr c_grey mr30 w45"><%= zh_course_role(h member.roles.sort.collect(&:to_s).first)%></span> </div>
<span class="fr c_grey mr15"><%= format_date(member.created_on)%></span>
<span class="fr c_grey mr55 w45" style="text-align: center"><%= zh_course_role(h member.roles.sort.collect(&:to_s).first)%></span>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
<% end%> <% end%>
</div>
<ul class="wlist">
<%#= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
</ul>
<div class="cl"></div> <div class="cl"></div>
</div> </div>
</div> </div>

View File

@ -10,7 +10,6 @@
<li> <li>
<label>班级邀请码:</label> <label>班级邀请码:</label>
<input class=" sy_input_txt fl" name="invite_code" placeholder="请输入五位班级邀请码"> <input class=" sy_input_txt fl" name="invite_code" placeholder="请输入五位班级邀请码">
<div class="cl"></div> <div class="cl"></div>
</li> </li>
<li> <li>
@ -18,14 +17,13 @@
<input type="checkbox" name="role[]" value="9" id="join_course_role_9" class="ml5 mr5 "/><span class="mr10">教师</span> <input type="checkbox" name="role[]" value="9" id="join_course_role_9" class="ml5 mr5 "/><span class="mr10">教师</span>
<input type="checkbox" name="role[]" value="7" id="join_course_role_7" class="ml5 mr5"/><span class="mr10">助教</span> <input type="checkbox" name="role[]" value="7" id="join_course_role_7" class="ml5 mr5"/><span class="mr10">助教</span>
<input type="checkbox" name="role[]" value="10" id="join_course_role_10" class="ml5 mr5"/><span class="mr10">学生</span> <input type="checkbox" name="role[]" value="10" id="join_course_role_10" class="ml5 mr5"/><span class="mr10">学生</span>
<div class="cl"></div> <div class="cl"></div>
</li> </li>
<li> <p id="none_checked_notice" class="c_red none f12" style="margin-left: 42px;">请至少选择一个身份</p>
<li class="mt10">
<label>&nbsp;</label> <label>&nbsp;</label>
<a href="javascript:void(0);" class="sy_btn_blue fl" onclick="$('#new-watcher-form').submit();hideModal()">确&nbsp;&nbsp;定</a> <a href="javascript:void(0);" class="sy_btn_blue fl" onclick="submit_join_course();">确&nbsp;&nbsp;定</a>
<a href="javascript:void(0);" class="sy_btn_grey fl ml20" onclick="hideModal()">取&nbsp;&nbsp;消</a> <a href="javascript:void(0);" class="sy_btn_grey fl ml20" onclick="hideModal()">取&nbsp;&nbsp;消</a>
<div class="cl"></div> <div class="cl"></div>
</li> </li>
</ul> </ul>
@ -33,6 +31,16 @@
</div> </div>
</div> </div>
<script> <script>
function submit_join_course(){
if ($("input[name='role[]']:checked").length >= 1){
$("#none_checked_notice").hide();
$('#new-watcher-form').submit();
hideModal();
}else{
$("#none_checked_notice").show();
}
}
$(function() { $(function() {
$("#join_course_role_7").on('click', function(){ $("#join_course_role_7").on('click', function(){
if($("#join_course_role_7").is(":checked")) { if($("#join_course_role_7").is(":checked")) {

View File

@ -79,8 +79,8 @@
<% sum = hw_score + ex_score + act_score %> <% sum = hw_score + ex_score + act_score %>
<td><%= (@page - 1) * @limit + i + 1 %></td> <td><%= (@page - 1) * @limit + i + 1 %></td>
<td> <td>
<%= link_to image_tag(url_to_avatar(user), :width => "30", :height => "30", :style => "display:block;"), user_path(member.user_id), :class => 'sy_class_users_st fl mt5 mr5' ,:alt => "用户头像" %> <%= link_to image_tag(url_to_avatar(user), :width => "30", :height => "30", :style => "display:block;"), user_path(user), :class => 'sy_class_users_st fl mt5 mr5' ,:alt => "用户头像" %>
<span class="fl sy_class_users_st_name" title="<%= user.show_name %>"><%= user.show_name %></span> <%= link_to user.show_name, user_path(user), :class => 'fl sy_class_users_st_name' ,:title => "#{user.show_name}" %>
</td> </td>
<td> <td>
<span class="sy_class_users_st_num" title="<%= user.user_extensions.student_id %>"><%= user.user_extensions.student_id %></span> <span class="sy_class_users_st_num" title="<%= user.user_extensions.student_id %>"><%= user.user_extensions.student_id %></span>

View File

@ -5,77 +5,82 @@
<% if @state == 0 %> <% if @state == 0 %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">加入成功</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">加入成功</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 1 %> <% elsif @state == 1 %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">密码错误</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">密码错误</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 2 %> <% elsif @state == 2 %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">班级已过期<br/>请联系班级管理员重启班级。(在配置班级处)</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">班级已过期<br/>请联系班级管理员重启班级。(在配置班级处)</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 3 %> <% elsif @state == 3 %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">您已经加入了班级</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">您已经加入了班级</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 4 %> <% elsif @state == 4 %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">您输入的邀请码错误</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">您输入的邀请码错误</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 5 %> <% elsif @state == 5 %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">您还未登录</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">您还未登录</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 6 %> <% elsif @state == 6 %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">申请成功,请等待审核</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">申请成功,请等待审核</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 7%> <% elsif @state == 7%>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">您已经发送过申请了,请耐心等待</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">您已经发送过申请了,请耐心等待</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 8%> <% elsif @state == 8%>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">您已经是该班级的教师了</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">您已经是该班级的教师了</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 9%> <% elsif @state == 9%>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">您已经是该班级的教辅了</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">您已经是该班级的教辅了</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 10%> <% elsif @state == 10%>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">您已经是该班级的管理员了</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">您已经是该班级的管理员了</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 11%> <% elsif @state == 11%>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">该班级已被删除</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">该班级已归档,请联系老师</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 12 %> <% elsif @state == 12 %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">您已经发送过申请了,请耐心等待</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">您已经发送过申请了,请耐心等待</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 13 %> <% elsif @state == 13 %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">申请成功,请等待审核</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">申请成功,请等待审核</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="refresh_current_course();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140);
<% elsif @state == 14 %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">此二维码已停用,请与老师联系</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% else %> <% else %>
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">未知错误,请稍后再试</p><div class="cl"></div>'+ '<div class="clear mt15"><p class="text_c f14">未知错误,请稍后再试</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
<% end %> <% end %>
<% end %> <% end %>

View File

@ -1,12 +1,11 @@
<% if @role.to_i == 1 %> <% if @role.to_i == 1 %>
<div class="courseRSide fl" id="homework_page_right"> <div class="sy_class_r sy_class_nobg fr ml10">
<div class="project_r_h"> <div class="sy_class_r_head mb10">
<h2 class="project_h2 fl"><%= @subPage_title%></h2> <h3 class="fl"><%= @subPage_title %></h3>
<% if User.current.allowed_to?(:as_teacher,@course) %> <% if User.current.allowed_to?(:as_teacher,@course) %>
<span class="fr f14 fontGrey2" style="height: 40px; line-height: 40px; margin-right: 15px;"> <%=link_to "成员管理", {:controller => 'courses', :action => 'settings', :id => @course.id, :tab=>'member'}, :class => 'link-blue fr mt5' %>
<%=link_to "成员管理", {:controller => 'courses', :action => 'settings', :id => @course.id, :tab=>'member'}, :class => 'hw_more_li' %>
</span>
<% end %> <% end %>
<div class="cl"></div>
</div> </div>
<%= render :partial => 'course_teacher', :locals => {:members => @members} %> <%= render :partial => 'course_teacher', :locals => {:members => @members} %>
</div> </div>

View File

@ -0,0 +1,2 @@
$("#project_info_<%=@course.id %>").html("<%= escape_javascript(render :partial => 'layouts/course_base_info') %>");
hideModal();

View File

@ -2,13 +2,13 @@
<thead> <thead>
<tr> <tr>
<th class="newupload_td01">&nbsp;</th> <th class="newupload_td01">&nbsp;</th>
<th class="pr"> <th class="pr tl">
<%= link_to "试卷标题", search_exercises_exercise_index_path(:course_id => course_id, :order => "exercise_name", :sort => @r_sort), :remote => true%> <%= link_to "试卷标题", search_exercises_exercise_index_path(:course_id => course_id, :order => "exercise_name", :sort => @r_sort), :remote => true, :class => "ml5"%>
<% if order == "exercise_name" %> <% if order == "exercise_name" %>
<%= link_to "", search_exercises_exercise_index_path(:course_id => course_id, :order => "exercise_name", :sort => @r_sort), :class => "#{@r_sort == 'desc' ? 'sortupbtn' : 'sortdownbtn'}", :style => "position: absolute; top: 8px; left: 172px;", :remote => true %> <%= link_to "", search_exercises_exercise_index_path(:course_id => course_id, :order => "exercise_name", :sort => @r_sort), :class => "#{@r_sort == 'desc' ? 'sortupbtn' : 'sortdownbtn'}", :style => "position: absolute; top: 8px; left: 172px;", :remote => true %>
<% end %> <% end %>
</th> </th>
<th class="newupload_td03" style="color: #7f7f7f;">来源</th> <th class="newupload_td03 tl" style="color: #7f7f7f;"><span class="ml5">来源</span></th>
<th class="newupload_td04 pr"> <th class="newupload_td04 pr">
<%= link_to "创建时间", search_exercises_exercise_index_path(:course_id => course_id, :order => "created_at", :sort => @r_sort), :remote => true%> <%= link_to "创建时间", search_exercises_exercise_index_path(:course_id => course_id, :order => "created_at", :sort => @r_sort), :remote => true%>
<% if order == "created_at" %> <% if order == "created_at" %>

View File

@ -1,6 +1,2 @@
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/alert_forbidden_anonymous', :locals => {:user_activity_id => @user_activity_id,:hw_status => @hw_status}) %>'); var htmlvalue = "<%= escape_javascript(render :partial => 'student_work/alert_forbidden_anonymous', :locals => {:user_activity_id => @user_activity_id,:hw_status => @hw_status}) %>";
showModal('ajax-modal', '500px'); pop_box_new(htmlvalue, 400, 178);
$('#ajax-modal').siblings().remove();
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
"<a href='javascript:' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
$('#ajax-modal').parent().css("top","30%").css("left","30%").css("position","fixed").css("border","3px solid #269ac9");

View File

@ -54,14 +54,23 @@
</div> </div>
</div> </div>
<div class="sy_class_id fl"> <div class="sy_class_id fl">
<p>邀 请 码<br /> <p style="margin: <%=is_teacher ? '8px auto' : '24px auto 0px' %>">邀 请 码<br />
<span class="sy_corange"> <span class="sy_corange">
<% if @course.invite_code_halt == 0 %>
<% if User.current.admin? || User.current.member_of_course?(@course) %> <% if User.current.admin? || User.current.member_of_course?(@course) %>
<%=@course.generate_invite_code %> <%=@course.generate_invite_code %>
<% else %> <% else %>
<span class="f12">请询问老师</span> <span class="f12">请询问老师</span>
<% end %> <% end %>
<% else %>
已停用
<% end %>
</span> </span>
<% if is_teacher && @course.invite_code_halt == 0 %>
<a href="javascript:void(0);" class="btn_grey_mid" style="margin-bottom: 12px;" onclick="alert_halt_code();">停&nbsp;&nbsp;&nbsp;&nbsp;用</a>
<% elsif is_teacher && @course.invite_code_halt == 1 %>
<a href="<%=set_invite_code_halt_course_path(@course) %>" data-remote="true" class="btn_grey_mid" style="margin-bottom: 12px;">启&nbsp;&nbsp;&nbsp;&nbsp;用</a>
<% end %>
</p> </p>
</div> </div>
<div class="sy_class_info fl ml15"> <div class="sy_class_info fl ml15">
@ -102,10 +111,10 @@
</div> </div>
<div class="cl"></div> <div class="cl"></div>
<% if is_teacher %> <% if is_teacher %>
<div class="invite_code_tip_box fontGrey2"> <div class="invite_code_tip_box fontGrey2" id="invite_code_tip_box">
<em></em> <em></em>
<span></span> <span></span>
<p class="mt10 mb5">请将邀请码告诉学生和教辅</p> <p class="mt10 mb5"><%= @course.invite_code_halt == 0 ? "请将邀请码告诉学生和教辅" : "邀请码已停用,学生和教辅" %></p>
<p class="mb10">他们可以主动加入班级</p> <p class="mb10"><%= @course.invite_code_halt == 0 ? "他们可以主动加入班级" : "不可以主动加入班级了" %></p>
</div> </div>
<% end %> <% end %>

View File

@ -147,7 +147,7 @@
<%# 课程英雄榜 %> <%# 课程英雄榜 %>
<%= render :partial => 'courses/course_heroes', :locals => {:course => @course} %> <%= render :partial => 'courses/course_heroes', :locals => {:course => @course} %>
<div class="sy_class_leftbox" > <div class="sy_class_leftbox" >
<h3 class="fontGrey7">班级推荐</h3> <h3 class="fontGrey7">推荐</h3>
<%= render :partial => 'courses/recommendation', :locals => {:course => @course} %> <%= render :partial => 'courses/recommendation', :locals => {:course => @course} %>
</div> </div>
<%# 更新访问数,刷新的时候更新访问次数 %> <%# 更新访问数,刷新的时候更新访问次数 %>
@ -279,10 +279,19 @@
function delete_confirm(){ function delete_confirm(){
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">您确认要退出该班级吗?</p><div class="cl"></div><a href="<%=join_path(:object_id => @course.id) %>" class="fr sy_btn_blue mr85 mt10" data-method="delete" data-remote="true">确&nbsp;&nbsp;定</a>'+ '<div class="clear mt15"><p class="text_c f14">您确认要退出该班级吗?</p><div class="cl"></div>'+
'<a href="<%=join_path(:object_id => @course.id) %>" class="fr sy_btn_blue mr85 mt10" data-method="delete" data-remote="true">确&nbsp;&nbsp;定</a>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10 mr10" onclick="hideModal();">取&nbsp;&nbsp;消</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_grey mt10 mr10" onclick="hideModal();">取&nbsp;&nbsp;消</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
} }
function alert_halt_code(){
var htmlvalue = '<div id="muban_popup_box" style="width:400px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">邀请码停用后,用户不能主动加入该班级了</p><p class="text_c mt10 f14">您是否确认停用</p><div class="cl"></div>'+
'<a href="<%=set_invite_code_halt_course_path(@course) %>" class="fr sy_btn_blue mr135 mt10" data-remote="true">确&nbsp;&nbsp;定</a>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10 mr10" onclick="hideModal();">取&nbsp;&nbsp;消</a></div></div>';
pop_box_new(htmlvalue, 400, 180);
}
</script> </script>
</html> </html>

View File

@ -7,18 +7,27 @@
<% parents_rely = get_reply_parents parents_rely, comment %> <% parents_rely = get_reply_parents parents_rely, comment %>
<% length = parents_rely.length %> <% length = parents_rely.length %>
<div id="comment_reply_<%=comment.id %>"> <div id="comment_reply_<%=comment.id %>">
<% if length <= 2 %> <% if length <= 5 %>
<%=render :partial => 'projects/project_issue_comments_reply', :locals => {:comment => comment.parent, :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'projects/project_issue_comments_reply', :locals => {:comment => comment.parent, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
<% else %> <% else %>
<div class="orig_cont clearfix">
<div class="orig_cont clearfix">
<div class="orig_cont clearfix">
<div class="orig_cont clearfix"> <div class="orig_cont clearfix">
<div class="orig_cont clearfix"> <div class="orig_cont clearfix">
<%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[length - 1], :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[length - 1], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div> </div>
<div class="orig_cont_hide_issue clearfix"> <div class="orig_cont_hide clearfix">
<span class="orig_icon" >&darr; </span> <span class="orig_icon" >&darr; </span>
<span class="orig_icon" style="display:none;" > &uarr;</span><span class="">已经隐藏<%=(length - 2).to_s %>个楼层</span> <span class="orig_icon" style="display:none;" > &uarr;</span><span class="">已经隐藏<%=(length - 5).to_s %>个楼层</span>
<%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => 'is_project_issue', :user_activity_id => user_activity_id, :parent_id => comment.id), :remote=>true, :class => 'linkBlue2' %> <%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => 'is_project_issue', :user_activity_id => user_activity_id, :parent_id => comment.id), :remote=>true, :class => 'linkBlue2' %>
</div> </div>
<%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[3], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[2], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[1], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[0], :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[0], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div> </div>
<% end %> <% end %>

View File

@ -7,18 +7,27 @@
<% parents_rely = get_reply_parents_no_root parents_rely, comment %> <% parents_rely = get_reply_parents_no_root parents_rely, comment %>
<% length = parents_rely.length %> <% length = parents_rely.length %>
<div id="comment_reply_<%=comment.id %>"> <div id="comment_reply_<%=comment.id %>">
<% if length <= 2 %> <% if length <= 5 %>
<%=render :partial => 'projects/journal_comment_reply', :locals => {:comment => comment.parent, :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'projects/journal_comment_reply', :locals => {:comment => comment.parent, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
<% else %> <% else %>
<div class="orig_cont clearfix">
<div class="orig_cont clearfix">
<div class="orig_cont clearfix">
<div class="orig_cont clearfix"> <div class="orig_cont clearfix">
<div class="orig_cont clearfix"> <div class="orig_cont clearfix">
<%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[length - 1], :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[length - 1], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div> </div>
<div class="orig_cont_hide_issue clearfix"> <div class="orig_cont_hide clearfix">
<span class="orig_icon" >&darr; </span> <span class="orig_icon" >&darr; </span>
<span class="orig_icon" style="display:none;" > &uarr;</span><span class="">已经隐藏<%=(length - 2).to_s %>个楼层</span> <span class="orig_icon" style="display:none;" > &uarr;</span><span class="">已经隐藏<%=(length - 5).to_s %>个楼层</span>
<%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => 'is_project_message', :user_activity_id => user_activity_id, :parent_id => comment.id), :remote=>true, :class => 'linkBlue2' %> <%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => 'is_project_message', :user_activity_id => user_activity_id, :parent_id => comment.id), :remote=>true, :class => 'linkBlue2' %>
</div> </div>
<%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[3], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[2], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[1], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[0], :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[0], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div> </div>
<% end %> <% end %>

View File

@ -1,16 +1,19 @@
<div id="popbox02"> <div id="muban_popup_box" style="width:400px;">
<div class="ni_con"> <div class="muban_popup_top">
<h2>禁用匿评</h2> <h3 class="fl">
<p> 提示
禁用匿评后学生将不能对作品进行互评,且匿评不能再开启,是否确定禁用匿评? </h3>
</p> <a href="javascript:void(0);" class="muban_icons_close fr"></a>
<div class="ni_btn"> <div class="cl"></div>
<a href="javascript:" class="tijiao" onclick="clickOK('<%= forbidden_anonymous_comment_student_work_path(:homework=>@homework, :user_activity_id => user_activity_id, :hw_status => hw_status)%>');" style="margin-bottom: 20px;" > </div>
确&nbsp;&nbsp;定 <div class="muban_popup_con ml30 mr30 mt20 mb10 clear" >
</a> <p class="mb10 f14 text_c">评分比例将恢复默认值,您可以在评分设置中进行修改</p>
<a href="javascript:" class="tijiao" onclick="clickCanel();" style="margin-bottom: 20px;"> <% if @homework.anonymous_comment == 0%>
取&nbsp;&nbsp;消 <p class="mb10 f14 text_c">是否确定禁用匿评</p>
</a> <% else %>
</div> <p class="mb10 f14 text_c">是否确定启用匿评</p>
<% end %>
<a href="javascript:void(0);" class="fl sy_btn_blue" style="margin-left: 114px;" onclick="clickOK('<%= forbidden_anonymous_comment_student_work_path(:homework=>@homework, :user_activity_id => user_activity_id, :hw_status => hw_status)%>');">确定</a>
<a href="javascript:void(0);" class="fl sy_btn_grey ml5" onclick="hideModal();">取消</a>
</div> </div>
</div> </div>

View File

@ -0,0 +1,64 @@
<div id="muban_popup_box" style="width:400px;">
<div class="muban_popup_top">
<h3 class="fl">更换项目</h3>
<a href="javascript:void(0);" class="muban_icons_close fr"></a>
<div class="cl"></div>
</div>
<div class="muban_popup_con clear ml30 mr30 mt10">
<%= form_for('new_form',:url =>{:controller => 'student_work',:action => 'change_project',:homework => @homework.id},:method => "post", :remote => true) do |f|%>
<input type="text" name="project" placeholder="输入项目名称进行搜索" class="searchResourcePopup mb10" />
<div class="cl"></div>
<p id="no_search_result" class="c_red f14" style="width:320px;display: none">您当前尚未创建任何项目,请先创建项目再关联。</p>
<ul id="search_project_list" class="maxHeight200"></ul>
<p id="notes" class="c_red"></p>
<a href="javascript:void(0);" class="sy_btn_blue fr" onclick="clickOK();">确定</a>
<a href="javascript:void(0);" class="sy_btn_grey fr mr5" onclick="clickCanel();">取消</a>
<div class="cl"></div>
<% end %>
</div>
</div>
<script type="text/javascript">
var lastSearchCondition = '';
var count = 0;
function search_pros(e){
if($(e.target).val().trim() == lastSearchCondition && lastSearchCondition != '')
{
return;
}
lastSearchCondition = $(e.target).val().trim();
$.ajax({
url: '<%= url_for(:controller => 'student_work', :action => 'search_user_projects') %>'+'?name='+ e.target.value,
type:'get'
});
}
function throttle(method,context,e){
clearTimeout(method.tId);
method.tId=setTimeout(function(){
method.call(context,e);
},500);
}
//查询项目
$("input[name='project']").on('input', function (e) {
throttle(search_pros,window,e);
});
$(document).ready(function(){
$.ajax({
url: '<%= url_for(:controller => 'student_work', :action => 'search_user_projects') %>'+'?first=1',
type:'get'
});
});
function clickOK() {
var radio = $("input[name='projectName']:checked");
if(radio.length < 1) {
$("#notes").html("请先选择一个项目");
return false;
} else {
$("#muban_popup_box").find('form').submit();
hideModal();
}
}
</script>

View File

@ -5,16 +5,15 @@
<div class="syllabus_class_w fontGrey3" style="cursor: pointer;" onclick="show_student_work('<%= student_work_path(st)%>')"> <div class="syllabus_class_w fontGrey3" style="cursor: pointer;" onclick="show_student_work('<%= student_work_path(st)%>')">
<%= link_to(image_tag(url_to_avatar(st.user),:width =>"40",:height => "40", :style => "display:block;"),user_activities_path(st.user), :class => "fl") %> <%= link_to(image_tag(url_to_avatar(st.user),:width =>"40",:height => "40", :style => "display:block;"),user_activities_path(st.user), :class => "fl") %>
<% if !is_expand %> <% if !is_expand %>
<span class="fl student_work_<%= st.id%>" style="width:120px;"> <span class="fl" style="width:120px;">
<span class="fl hidden ml5" style="max-width:75px;"><%= st.user.show_name %></span> <%= link_to st.user.show_name + "(组长)", user_path(st.user), :class => "fl hidden ml5 linkGrey", :style => "max-width:75px;" %>
<span class="fl">(组长)</span>
</span> </span>
<span class="fl hidden student_work_<%= st.id%>" style="width:105px; text-align: center"> <span class="fl hidden student_work_<%= st.id%>" style="width:105px; text-align: center">
<%= st.user.user_extensions.student_id.nil? || st.user.user_extensions.student_id == "" ? "--" : st.user.user_extensions.student_id%> <%= st.user.user_extensions.student_id.nil? || st.user.user_extensions.student_id == "" ? "--" : st.user.user_extensions.student_id%>
</span> </span>
<% else %> <% else %>
<span class="fl student_work_<%= st.id%>" style="width:120px;"> <span class="fl" style="width:120px;">
<span class="fl hidden ml5" style="max-width:75px;"><%= st.user.show_name %></span> <%= link_to st.user.show_name, user_path(st.user), :class => "fl hidden ml5 linkGrey", :style => "max-width:75px;" %>
</span> </span>
<span class="fl student_work_<%= st.id%> hidden" style="width:105px; text-align: center"> <span class="fl student_work_<%= st.id%> hidden" style="width:105px; text-align: center">
<%= st.user.user_extensions.student_id.nil? || st.user.user_extensions.student_id == "" ? "--" : st.user.user_extensions.student_id%> <%= st.user.user_extensions.student_id.nil? || st.user.user_extensions.student_id == "" ? "--" : st.user.user_extensions.student_id%>

View File

@ -13,15 +13,15 @@
<%= link_to(image_tag(url_to_avatar(student_work.user),:width =>"40",:height => "40",:style => "display:block;"),user_activities_path(student_work.user)) %> <%= link_to(image_tag(url_to_avatar(student_work.user),:width =>"40",:height => "40",:style => "display:block;"),user_activities_path(student_work.user)) %>
</td> </td>
<% if @homework.homework_type != 3 %> <% if @homework.homework_type != 3 %>
<td class="<%= @homework.homework_type == 1 ? (@homework.anonymous_comment == 1 ? 'hworkStName130' : 'hworkStName100') : (@homework.anonymous_comment == 1 ? 'hworkStName110' : 'hworkStName') %> pr10 float-none student_work_<%= student_work.id%>" title="<%= student_work.user.show_name%>" onclick="show_student_work('<%= student_work_path(student_work)%>');" style="cursor:pointer;"> <td class="<%= @homework.homework_type == 1 ? (@homework.anonymous_comment == 1 ? 'hworkStName130' : 'hworkStName100') : (@homework.anonymous_comment == 1 ? 'hworkStName110' : 'hworkStName') %> pr10 float-none" title="<%= student_work.user.show_name%>" style="cursor:pointer;">
<%= student_work.user.show_name%> <%= link_to student_work.user.show_name ,user_path(student_work.user) %>
</td> </td>
<td class="<%= @homework.homework_type == 1 ? (@homework.anonymous_comment == 1 ? 'hworkStName130' : 'hworkStID90') : (@homework.anonymous_comment == 1 ? 'hworkStID100' : 'hworkStID') %> pr10 float-none student_work_<%= student_work.id%>" title="<%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%>" onclick="show_student_work('<%= student_work_path(student_work)%>');" style="cursor:pointer;"> <td class="<%= @homework.homework_type == 1 ? (@homework.anonymous_comment == 1 ? 'hworkStName130' : 'hworkStID90') : (@homework.anonymous_comment == 1 ? 'hworkStID100' : 'hworkStID') %> pr10 float-none student_work_<%= student_work.id%>" title="<%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%>" onclick="show_student_work('<%= student_work_path(student_work)%>');" style="cursor:pointer;">
<%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%> <%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%>
</td> </td>
<% else %> <% else %>
<% if @homework.homework_detail_group.base_on_project == 1 %> <% if @homework.homework_detail_group.base_on_project == 1 %>
<td class="hworkName float-none pr10 student_work_<%= student_work.id%> width130" style="cursor: pointer;" onclick="show_student_work('<%= student_work_path(student_work)%>');"> <td class="hworkName float-none pr10 width130" style="cursor: pointer;" onclick="show_student_work('<%= student_work_path(student_work)%>');">
<div> <div>
<%= link_to student_work.user.show_name,"javascript:void(0)" ,:title => student_work.user.show_name, :class => "StudentName break_word"%> <%= link_to student_work.user.show_name,"javascript:void(0)" ,:title => student_work.user.show_name, :class => "StudentName break_word"%>
</div> </div>
@ -40,7 +40,7 @@
</td> </td>
<% end %> <% end %>
<% elsif @homework.homework_detail_group.base_on_project == 0 %> <% elsif @homework.homework_detail_group.base_on_project == 0 %>
<td class="hworkName float-none pr10 student_work_<%= student_work.id%> <%=@homework.anonymous_comment == 1 ? 'width280' : 'width210' %>" style="cursor: pointer;" onclick="show_student_work('<%= student_work_path(student_work)%>');"> <td class="hworkName float-none pr10 <%=@homework.anonymous_comment == 1 ? 'width280' : 'width210' %>" style="cursor: pointer;" onclick="show_student_work('<%= student_work_path(student_work)%>');">
<div> <div>
<%= link_to student_work.user.show_name,"javascript:void(0)" ,:title => student_work.user.show_name, :class => "StudentName break_word #{@homework.homework_type == 2 ? '' : 'width165'}"%> <%= link_to student_work.user.show_name,"javascript:void(0)" ,:title => student_work.user.show_name, :class => "StudentName break_word #{@homework.homework_type == 2 ? '' : 'width165'}"%>
</div> </div>

View File

@ -4,8 +4,6 @@
<div class="homepagePostDes"> <div class="homepagePostDes">
<div class="homepagePostTo break_word mt-4"> <div class="homepagePostTo break_word mt-4">
<%= link_to homework.user.show_name, user_activities_path(homework.user_id), :class => "newsBlue mr15"%> <%= link_to homework.user.show_name, user_activities_path(homework.user_id), :class => "newsBlue mr15"%>
TO
<%= link_to homework.course.name, course_path(homework.course_id), :class => "newsBlue"%>
</div> </div>
<div class="homepagePostTitle hidden fl m_w505"> <div class="homepagePostTitle hidden fl m_w505">
<% index = get_hw_index(homework, is_teacher) %> <% index = get_hw_index(homework, is_teacher) %>

View File

@ -1,17 +1,22 @@
<div id="popbox02" style=""> <div id="muban_popup_box" style="width:400px;">
<span class="f16 fontBlue">关联项目</span> <div class="muban_popup_top">
<a href="javascript:void(0);" class="popClose" onclick="clickCanel();"></a> <h3 class="fl">关联项目</h3>
<%=form_tag url_for(:controller=>'student_work',:action=>'student_work_project',:homework=>@homework.id,:user_activity_id=>@user_activity_id,:hw_status =>@hw_status),:id =>'student_work_relate_project',:class=>'resourcesSearchBox',:remote => true do %> <a href="javascript:void(0);" class="muban_icons_close fr"></a>
<div class="cl"></div>
</div>
<div class="muban_popup_con clear ml30 mr30 mt10">
<%= form_for('new_form',:url =>{:controller => 'student_work',:action => 'student_work_project',:homework => @homework.id,:user_activity_id=>@user_activity_id,:hw_status =>@hw_status},:method => "post", :remote => true) do |f|%>
<input type="text" name="project" placeholder="输入项目名称进行搜索" class="searchResourcePopup mb10" /> <input type="text" name="project" placeholder="输入项目名称进行搜索" class="searchResourcePopup mb10" />
<div class="cl"></div> <div class="cl"></div>
<p id="no_search_result" class="c_red" style="width:220px;display: none">您当前尚未创建任何项目,请先创建项目再关联。</p> <p id="no_search_result" class="c_red f14" style="width:320px;display: none">您当前尚未创建任何项目,请先创建项目再关联。</p>
<ul id="search_project_list" class="maxHeight100"></ul> <ul id="search_project_list" class="maxHeight200"></ul>
<p id="notes" class="c_red"></p> <p id="notes" class="c_red"></p>
<div class="courseSendSubmit mt10"><a href="javascript:void(0);" class="sendSourceText" onclick="clickOK();">确定</a></div> <a href="javascript:void(0);" class="sy_btn_blue fr" onclick="clickOK();">确定</a>
<div class="courseSendCancel mt10"><a href="javascript:void(0);" class="sendSourceText" onclick="clickCanel();">取消</a></div> <a href="javascript:void(0);" class="sy_btn_grey fr mr5" onclick="clickCanel();">取消</a>
<div class="cl"></div> <div class="cl"></div>
<% end %> <% end %>
</div> </div>
</div>
<script type="text/javascript"> <script type="text/javascript">
var lastSearchCondition = ''; var lastSearchCondition = '';
var count = 0; var count = 0;
@ -52,7 +57,7 @@
$("#notes").html("请先选择一个项目"); $("#notes").html("请先选择一个项目");
return false; return false;
} else { } else {
$("#student_work_relate_project").submit(); $("#muban_popup_box").find('form').submit();
} }
} }
</script> </script>

View File

@ -3,18 +3,22 @@
<% allow_visit = project.status != 9 && (project.is_public || User.current.member_of?(project) || User.current.admin? || User.current.allowed_to?(:as_teacher, @homework.course)) %> <% allow_visit = project.status != 9 && (project.is_public || User.current.member_of?(project) || User.current.admin? || User.current.allowed_to?(:as_teacher, @homework.course)) %>
<div class="syllabus_courses_list" style="cursor: default"> <div class="syllabus_courses_list" style="cursor: default">
<div class="sy_courses_open"> <div class="sy_courses_open">
<% projectUser = User.where("id=?",project.user_id).first %>
<% is_change = project.status == 9 && projectUser == User.current && @homework.student_works.has_committed.where("user_id = #{User.current.id}").count == 1 %>
<h3> <h3>
<% if allow_visit %> <% if allow_visit %>
<%= link_to "#{project.name}", project_path(project.id,:host=>Setting.host_name), :target => '_blank', :class => "new_project_title fl",:id => "show_project_#{project.id}", :title => (project.is_public? ? "公开项目:":"私有项目:") + project.name%> <%= link_to "#{project.name}", project_path(project.id,:host=>Setting.host_name), :target => '_blank', :class => "new_project_title fl",:id => "show_project_#{project.id}", :title => (project.is_public? ? "公开项目:":"私有项目:") + project.name%>
<% elsif project.status != 9 %> <% elsif project.status != 9 %>
<a href="javascript:void(0)" class="new_project_title fl" title="私有项目不可访问"><%=project.name %></a> <a href="javascript:void(0)" class="new_project_title fl" title="私有项目不可访问"><%=project.name %></a>
<% else %> <% else %>
<a href="javascript:void(0)" class="new_project_title fl" title="项目已删除"><%=project.name %></a> <a href="javascript:void(0)" onclick="alert_notice_box();" class="new_project_title fl <%= is_change ? 'mw380' : '' %>" title="项目已删除"><%=project.name %></a>
<% end %> <% end %>
</h3> </h3>
<span class="<%= project.is_public? ? 'syllabus_class_open' : 'syllabus_class_private' %> fl ml10 mt3 syllabus_class_property"><%= project.is_public? ? '公开' : '私有' %></span> <span class="<%= project.is_public? ? 'syllabus_class_open' : 'syllabus_class_private' %> fl ml10 mt3 syllabus_class_property"><%= project.is_public? ? '公开' : '私有' %></span>
<% projectUser = User.where("id=?",project.user_id).first %> <% if is_change %>
<%=link_to "<span class='fr grayTxt'>创建者:#{projectUser.try(:realname) != " " ? projectUser.lastname + projectUser.firstname : projectUser.try(:login)}</span>".html_safe, user_path(projectUser) %> <a href="javascript:void(0)" onclick="alert_change_project();" class="btn_grey_mid mt-5 ml10 fr">更换项目</a>
<% end %>
<%=link_to "<span class='fr grayTxt hidden mw150'>创建者:#{projectUser.show_name}</span>".html_safe, user_path(projectUser), :title => "#{projectUser.show_name}" %>
<div class="cl"></div> <div class="cl"></div>
</div> </div>
<div> <div>
@ -31,3 +35,15 @@
</div> </div>
<% end %> <% end %>
</div><!--syllabus_courses_box end--> </div><!--syllabus_courses_box end-->
<script>
function alert_notice_box(){
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">项目已删除,链接无效</p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 119px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 300, 140);
}
function alert_change_project(){
var htmlvalue = "<%= escape_javascript(render :partial => 'student_work/change_project') %>";
pop_box_new(htmlvalue, 400, 285);
}
</script>

View File

@ -17,7 +17,7 @@
<%=link_to "提交作品", new_student_work_url_without_domain(@homework.id),:class => 'blueCir ml5 f12' %> <%=link_to "提交作品", new_student_work_url_without_domain(@homework.id),:class => 'blueCir ml5 f12' %>
<% end %> <% end %>
<% elsif !@is_teacher && my_work &&Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(Time.now.to_s).strftime("%Y-%m-%d") && !@stundet_works.empty?%> <% elsif !@is_teacher && my_work &&Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(Time.now.to_s).strftime("%Y-%m-%d") && !@stundet_works.empty?%>
<span class="f12 c_red">已提交且不可修改,因为截止日期已过</span> <span class="f12 c_red">截止日期已过,已提交且不可修改</span>
<% elsif !@is_teacher && my_work &&Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.parse(Time.now.to_s).strftime("%Y-%m-%d") && !@stundet_works.empty?%> <% elsif !@is_teacher && my_work &&Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.parse(Time.now.to_s).strftime("%Y-%m-%d") && !@stundet_works.empty?%>
<% if @homework.homework_type == 3 %> <% if @homework.homework_type == 3 %>
<span class="f12 c_red">组长已提交,组长还可修改</span> <span class="f12 c_red">组长已提交,组长还可修改</span>

View File

@ -1,7 +1,7 @@
<ul class="ping_box_ul <%= is_last ? '' : 'ping_line'%> fl"> <ul class="ping_box_ul <%= is_last ? '' : 'ping_line'%> fl">
<% show_real_name = @is_teacher || score.user == User.current || score.reviewer_role != 3 %> <% show_real_name = @is_teacher || score.user == User.current || score.reviewer_role != 3 %>
<%= link_to image_tag(url_to_avatar(show_real_name ? score.user : ""), :width => "34", :height => "34"), show_real_name ? user_path(score.user) : "javascript:void(0)",:class => "ping_pic fl" %> <%= link_to image_tag(url_to_avatar(show_real_name ? score.user : ""), :width => "34", :height => "34"), show_real_name ? user_path(score.user) : "javascript:void(0)",:class => "ping_pic fl" %>
<% show_real_score = @homework.score_open == 1 || @is_teacher || score.student_work.user == User.current %> <% show_real_score = @homework.score_open == 1 || @is_teacher || score.student_work.user == User.current || score.user == User.current %>
<div class="pingBoxTit"> <div class="pingBoxTit">
<%= link_to show_real_name ? score.user.show_name : "匿名", show_real_name ? user_path(score.user) : "javascript:void(0)", :title => show_real_name ? score.user.show_name : "匿评用户", :class => "linkBlue fl" %> <%= link_to show_real_name ? score.user.show_name : "匿名", show_real_name ? user_path(score.user) : "javascript:void(0)", :title => show_real_name ? score.user.show_name : "匿评用户", :class => "linkBlue fl" %>
<span class="ml5 fl"> <span class="ml5 fl">

View File

@ -0,0 +1,17 @@
<% if @remain_user_ids %>
<% str = "" %>
<% @remain_user_ids.each do |user_id| %>
<% user = User.find user_id %>
<% if str == "" %>
<% str += user.show_name.to_s + "(" + user.login.to_s + ")" %>
<% else %>
<% str += "、" + user.show_name.to_s + "(" + user.login.to_s + ")" %>
<% end %>
<% end %>
var htmlvalue = '<div id="muban_popup_box" style="width:350px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f14">以下组员还不是项目成员,请先前往项目添加成员</p><p class="text_c f14"><%=str %></p><div class="cl"></div>'+
'<a href="javascript:void(0);" class="fr sy_btn_blue mt10" style="margin-right: 144px;" onclick="hideModal();">确&nbsp;&nbsp;定</a></div></div>';
pop_box_new(htmlvalue, 350, 140);
<% else %>
window.location.href = "<%=student_work_index_url(:homework => @homework.id, :tab => 3) %>";
<% end %>

View File

@ -4,3 +4,11 @@ sd_create_editor_from_data(<%= @user_activity_id%>,"","100%", "UserActivity");
<% else %> <% else %>
sd_create_editor_from_data(<%= @homework.id%>,"","100%", "<%=@homework.class.to_s%>"); sd_create_editor_from_data(<%= @homework.id%>,"","100%", "<%=@homework.class.to_s%>");
<% end %> <% end %>
<% if @homework.anonymous_comment == 0 %>
var htmlvalue = '<div id="muban_popup_box" style="width:400px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="muban_popup_con ml30 mr30 mt20 mb10 clear"><p class="mb10 f14 text_c">将于7天后自动启动该作业的匿评</p><p class="mb10 f14 text_c">您可以在匿评设置中进行修改</p>' +
'<a href="javascript:void(0);" class="btn btn-blue mt10" style="margin-left: 142px;" onclick="hideModal();">知道啦</a></div></div>';
pop_box_new(htmlvalue, 400, 178);
<% else %>
hideModal();
<% end %>

View File

@ -186,8 +186,10 @@
<% if @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %> <% if @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %>
<div class="undis" id="student_work_con3"> <div class="undis" id="student_work_con3">
<% project_ids = @homework.student_work_projects.blank? ? "(-1)" : "(" + @homework.student_work_projects.map{|pro| pro.project_id}.join(",") + ")" %> <% student_work_ids = @homework.student_works.has_committed.blank? ? "(-1)" : "(" + @homework.student_works.has_committed.map{|st| st.id}.join(",") + ")" %>
<% projects = Project.where("id in #{project_ids}") %> <% student_work_projects = @homework.student_work_projects.where("student_work_id in #{student_work_ids} or student_work_id is null") %>
<% project_ids = student_work_projects.blank? ? "(-1)" : "(" + student_work_projects.map{|pro| pro.project_id}.join(",") + ")" %>
<% projects = Project.where("id in #{project_ids}").order("updated_on desc") %>
<%= render :partial => "student_work/relate_projects", :locals => {:projects => projects}%> <%= render :partial => "student_work/relate_projects", :locals => {:projects => projects}%>
</div> </div>
<% end %> <% end %>

View File

@ -1,5 +1,2 @@
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/relate_project') %>'); var htmlvalue = "<%= escape_javascript(render :partial => 'student_work/relate_project') %>";
showModal('ajax-modal', '320px'); pop_box_new(htmlvalue, 400, 285);
$('#ajax-modal').siblings().remove();
$('#ajax-modal').parent().css("top","").css("left","");
$('#ajax-modal').parent().addClass("groupPopUp");

View File

@ -3,7 +3,7 @@
<% else %> <% else %>
$("#search_project_list").html(""); $("#search_project_list").html("");
<% @project_ids.each do |project|%> <% @project_ids.each do |project|%>
link = "<li><label><input type='radio' class='courseSendCheckbox' name='projectName' value='<%=project.id%>'/><span class='sendCourseName'> <%=project.name %> </span></label></li>"; link = "<li><input type='radio' class='courseSendCheckbox fl' name='projectName' value='<%=project.id%>'/><a href='<%=project_path(project) %>' target='_blank' class='hidden fl' style='padding-top: 8px; max-width: 300px;'> <%=project.name %> </a><div class='cl'></div></li>";
$("#search_project_list").append(link); $("#search_project_list").append(link);
<% end %> <% end %>
<% end %> <% end %>

View File

@ -12,7 +12,7 @@
<%= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "newsBlue mr15" %> <%= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% end %> <% end %>
TO TO
<%= link_to activity.course.name.to_s+" | 班级资源", course_files_path(activity.course), :class => "newsBlue" %> <%= link_to "班级资源", course_files_path(activity.course), :class => "newsBlue ml15" %>
</div> </div>
<div class="homepagePostTitle break_word" > <div class="homepagePostTitle break_word" >
<%= link_to activity.filename, course_files_path(activity.course), :class => "postGrey" %> <%= link_to activity.filename, course_files_path(activity.course), :class => "postGrey" %>

View File

@ -12,7 +12,8 @@
<%= link_to activity.try(:teacher).try(:realname), user_path(activity.teacher), :class => "newsBlue mr15" %> <%= link_to activity.try(:teacher).try(:realname), user_path(activity.teacher), :class => "newsBlue mr15" %>
<% end %> <% end %>
TO TO
<%= link_to activity.name.to_s+" | 班级", course_path(activity.id,:host=>Setting.host_course), :class => "newsBlue" %> <% str = defined?(is_course) && is_course == 1 ? "班级" : "#{activity.name.to_s} | 班级" %>
<%= link_to str, course_path(activity.id,:host=>Setting.host_course), :class => "newsBlue ml15" %>
</div> </div>
<div class="homepagePostTitle break_word" > <div class="homepagePostTitle break_word" >
<%= link_to activity.name, course_path(activity.id,:host=>Setting.host_course), :class => "postGrey" %> <%= link_to activity.name, course_path(activity.id,:host=>Setting.host_course), :class => "postGrey" %>

View File

@ -9,10 +9,10 @@
<div class="homepagePostTo break_word"> <div class="homepagePostTo break_word">
<%= link_to activity.user.show_name, user_path(activity.user,:host=>Setting.host_user), :class => "newsBlue mr15" %> <%= link_to activity.user.show_name, user_path(activity.user,:host=>Setting.host_user), :class => "newsBlue mr15" %>
TO <!--+"(课程名称)" --> TO <!--+"(课程名称)" -->
<% if hw_status == 3 || hw_status == 5 %> <% if hw_status == 3 || hw_status == 2 %>
<%= link_to activity.course.name, course_path(activity.course_id), :class => "newsBlue"%> <%= link_to "班级作业", homework_common_index_path(:course => activity.course.id, :host=> Setting.host_course), :class => "newsBlue ml15"%>
<% else %> <% else %>
<%= link_to activity.course.name.to_s+" | 班级作业", homework_common_index_path(:course => activity.course.id, :host=> Setting.host_course), :class => "newsBlue"%> <%= link_to activity.course.name.to_s+" | 班级作业", homework_common_index_path(:course => activity.course.id, :host=> Setting.host_course), :class => "newsBlue ml15"%>
<% end %> <% end %>
</div> </div>
<div class="homepagePostTitle hidden fl m_w505"> <!--+"(作业名称)"--> <div class="homepagePostTitle hidden fl m_w505"> <!--+"(作业名称)"-->

View File

@ -9,7 +9,8 @@
<%= link_to activity.user.show_name, user_path(activity.user), :class => "newsBlue mr15" %> <%= link_to activity.user.show_name, user_path(activity.user), :class => "newsBlue mr15" %>
TO TO
<% course=Course.find(activity.jour_id) %> <% course=Course.find(activity.jour_id) %>
<%= link_to course.name.to_s+" | 班级留言", course_feedback_path(course), :class => "newsBlue" %> <% str = defined?(is_course) && is_course == 1 ? "班级留言" : "#{course.name.to_s} | 班级留言" %>
<%= link_to str, course_feedback_path(course), :class => "newsBlue ml15" %>
</div> </div>
<!--<div class="homepagePostTitle break_word list_style upload_img"> <!--<div class="homepagePostTitle break_word list_style upload_img">
<%# if activity.parent %> <%# if activity.parent %>

View File

@ -8,7 +8,8 @@
<div class="homepagePostTo break_word"> <div class="homepagePostTo break_word">
<%= link_to activity.author.show_name, user_path(activity.author, :host=>Setting.host_user), :class => "newsBlue mr15" %> <%= link_to activity.author.show_name, user_path(activity.author, :host=>Setting.host_user), :class => "newsBlue mr15" %>
TO TO
<%= link_to activity.course.name.to_s+" | #{activity.board.parent.nil? ? '班级讨论区' : activity.board.name}", course_boards_path(activity.course,:host=> Setting.host_course), :class => "newsBlue mr5"%> <% str = is_course == 1 ? "#{activity.board.parent.nil? ? '班级讨论区' : activity.board.name}" : activity.course.name.to_s+" | #{activity.board.parent.nil? ? '班级讨论区' : activity.board.name}" %>
<%= link_to str, course_boards_path(activity.course,:host=> Setting.host_course), :class => "newsBlue ml15"%>
</div> </div>
<div class="homepagePostTitle hidden m_w530 fl"> <div class="homepagePostTitle hidden m_w530 fl">
<% if activity.parent_id.nil? %> <!--+"(帖子标题)"--> <% if activity.parent_id.nil? %> <!--+"(帖子标题)"-->

View File

@ -8,7 +8,8 @@
<div class="homepagePostTo break_word"> <div class="homepagePostTo break_word">
<%= link_to activity.author.show_name, user_path(activity.author), :class => "newsBlue mr15" %> <%= link_to activity.author.show_name, user_path(activity.author), :class => "newsBlue mr15" %>
TO <!--+"(课程名称)"--> TO <!--+"(课程名称)"-->
<%= link_to activity.course.name.to_s+" | 班级通知", course_news_index_path(activity.course), :class => "newsBlue" %> <% str = defined?(is_course) && is_course == 1 ? "班级通知" : "#{activity.course.name.to_s} | 班级通知" %>
<%= link_to str, course_news_index_path(activity.course), :class => "newsBlue ml15" %>
</div> </div>
<div class="homepagePostTitle break_word hidden fl m_w600"> <!--+"(通知标题)"--> <div class="homepagePostTitle break_word hidden fl m_w600"> <!--+"(通知标题)"-->
<%= link_to activity.title.to_s, news_path(activity), :class => "postGrey" %> <%= link_to activity.title.to_s, news_path(activity), :class => "postGrey" %>

View File

@ -17,7 +17,8 @@
<% end %> <% end %>
TO TO
<% course = Course.find(activity.polls_group_id) %> <% course = Course.find(activity.polls_group_id) %>
<%= link_to course.name.to_s+" | 问卷", poll_index_path(:polls_type => "Course", :polls_group_id => activity.polls_group_id), :class => "newsBlue" %> <% str = defined?(is_course) && is_course == 1 ? "班级问卷" : "#{course.name.to_s} | 班级问卷" %>
<%= link_to str, poll_index_path(:polls_type => "Course", :polls_group_id => activity.polls_group_id), :class => "newsBlue ml15" %>
<!--<a href="javascript:void(0);" class="newsBlue ml15">分布式计算环境(课程名称)</a>--> <!--<a href="javascript:void(0);" class="newsBlue ml15">分布式计算环境(课程名称)</a>-->
</div> </div>
<div class="homepagePostTitle break_word" > <div class="homepagePostTitle break_word" >

View File

@ -111,6 +111,11 @@
<%= link_to("禁用匿评", alert_forbidden_anonymous_comment_homework_common_path(activity,:user_activity_id => user_activity_id),:class => "wpostOptionLink", <%= link_to("禁用匿评", alert_forbidden_anonymous_comment_homework_common_path(activity,:user_activity_id => user_activity_id),:class => "wpostOptionLink",
:title => "匿评是同学之间的双盲互评过程:每个同学将评阅系统分配给他/她的若干个作品", :remote => true)%> :title => "匿评是同学之间的双盲互评过程:每个同学将评阅系统分配给他/她的若干个作品", :remote => true)%>
</li> </li>
<% elsif activity.anonymous_comment == 1 %>
<li>
<%= link_to("启用匿评", alert_forbidden_anonymous_comment_homework_common_path(activity,:user_activity_id => user_activity_id),:class => "wpostOptionLink",
:title => "匿评是同学之间的双盲互评过程:每个同学将评阅系统分配给他/她的若干个作品", :remote => true)%>
</li>
<% end %> <% end %>
<% if (activity.anonymous_comment == 1 && activity.is_open == 0) || (activity.anonymous_comment == 0 && comment_status == 3 && activity.is_open == 0) %> <% if (activity.anonymous_comment == 1 && activity.is_open == 0) || (activity.anonymous_comment == 0 && comment_status == 3 && activity.is_open == 0) %>
<li> <li>

View File

@ -7,21 +7,27 @@
<% parents_rely = get_reply_parents_no_root parents_rely, comment %> <% parents_rely = get_reply_parents_no_root parents_rely, comment %>
<% length = parents_rely.length %> <% length = parents_rely.length %>
<div id="comment_reply_<%=comment.id %>"> <div id="comment_reply_<%=comment.id %>">
<% if length <= 2 %> <% if length <= 5 %>
<%=render :partial => 'users/journal_comment_reply', :locals => {:comment => comment.parent, :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'users/journal_comment_reply', :locals => {:comment => comment.parent, :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
<% else %> <% else %>
<div class="orig_cont clearfix"> <div class="orig_cont clearfix">
<div class="orig_cont clearfix"> <div class="orig_cont clearfix">
<!--<div>--> <div class="orig_cont clearfix">
<!--<%#=render :partial => 'users/journal_comment_reply', :locals => {:comment => parents_rely[length - 1]} %>--> <div class="orig_cont clearfix">
<!--</div>--> <div class="orig_cont clearfix">
<%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[length - 1], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[length - 1], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div> </div>
<div class="orig_cont_hide clearfix"> <div class="orig_cont_hide clearfix">
<span class="orig_icon" >&darr; </span> <span class="orig_icon" >&darr; </span>
<span class="orig_icon" style="display:none;" > &uarr;</span><span class="">已经隐藏<%=(length - 2).to_s %>个楼层</span> <span class="orig_icon" style="display:none;" > &uarr;</span><span class="">已经隐藏<%=(length - 5).to_s %>个楼层</span>
<%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => comment.class, :user_activity_id => user_activity_id, :parent_id => comment.id),:remote=>true, :class => 'linkBlue2' %> <%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => comment.class, :user_activity_id => user_activity_id, :parent_id => comment.id),:remote=>true, :class => 'linkBlue2' %>
</div> </div>
<%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[3], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[2], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[1], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[0], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[0], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div> </div>
<% end %> <% end %>

View File

@ -7,21 +7,27 @@
<% parents_rely = get_reply_parents parents_rely, comment %> <% parents_rely = get_reply_parents parents_rely, comment %>
<% length = parents_rely.length %> <% length = parents_rely.length %>
<div id="comment_reply_<%=comment.id %>"> <div id="comment_reply_<%=comment.id %>">
<% if length <= 2 %> <% if length <= 5 %>
<%=render :partial => 'users/comment_reply', :locals => {:comment => comment.parent, :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'users/comment_reply', :locals => {:comment => comment.parent, :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
<% else %> <% else %>
<div class="orig_cont clearfix"> <div class="orig_cont clearfix">
<div class="orig_cont clearfix"> <div class="orig_cont clearfix">
<!--<div>--> <div class="orig_cont clearfix">
<!--<%#=render :partial => 'users/comment_reply', :locals => {:comment => parents_rely[length - 1]} %>--> <div class="orig_cont clearfix">
<!--</div>--> <div class="orig_cont clearfix">
<%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[length - 1], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[length - 1], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div> </div>
<div class="orig_cont_hide clearfix"> <div class="orig_cont_hide clearfix">
<span class="orig_icon" >&darr; </span> <span class="orig_icon" >&darr; </span>
<span class="orig_icon" style="display:none;" > &uarr;</span><span class="">已经隐藏<%=(length - 2).to_s %>个楼层</span> <span class="orig_icon" style="display:none;" > &uarr;</span><span class="">已经隐藏<%=(length - 5).to_s %>个楼层</span>
<%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => comment.class, :user_activity_id => user_activity_id, :parent_id => comment.id),:remote=>true, :class => 'linkBlue2' %> <%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => comment.class, :user_activity_id => user_activity_id, :parent_id => comment.id),:remote=>true, :class => 'linkBlue2' %>
</div> </div>
<%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[3], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[2], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[1], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div>
<%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[0], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %> <%=render :partial => 'users/comment_reply_detail', :locals => {:comment => parents_rely[0], :type => type, :user_activity_id => user_activity_id, :parent_id => comment.id} %>
</div> </div>
<% end %> <% end %>

View File

@ -48,8 +48,8 @@
} }
if (inputs.length == outputs.length) { if (inputs.length == outputs.length) {
for (var i=0; i<inputs.length; i++) { for (var i=0; i<inputs.length; i++) {
autoTextarea2(inputs[i], outputs[i]); autoTextarea2(inputs[i], outputs[i], 0, 140);
autoTextarea2(outputs[i], inputs[i]); autoTextarea2(outputs[i], inputs[i], 0, 140);
} }
} }
$(inputs[inputs.length - 1]).focus(); $(inputs[inputs.length - 1]).focus();
@ -61,7 +61,16 @@
<% if !edit_mode %> <% if !edit_mode %>
var text = document.getElementById("textarea_input_test"); var text = document.getElementById("textarea_input_test");
var text2 = document.getElementById("textarea_output_test"); var text2 = document.getElementById("textarea_output_test");
autoTextarea2(text,text2); autoTextarea2(text,text2, 0, 140);
autoTextarea2(text2,text); autoTextarea2(text2,text, 0, 140);
<% else %>
var inputs = document.getElementsByName("program[input][]");
var outputs = document.getElementsByName("program[output][]");
if (inputs.length == outputs.length) {
for (var i=0; i<inputs.length; i++) {
autoTextarea2(inputs[i], outputs[i], 0, 140);
autoTextarea2(outputs[i], inputs[i], 0, 140);
}
}
<% end %> <% end %>
</script> </script>

View File

@ -335,6 +335,7 @@ RedmineApp::Application.routes.draw do
collection do collection do
post 'add_score_reply' post 'add_score_reply'
post 'student_work_project' post 'student_work_project'
post 'change_project'
get 'new_student_work_project' get 'new_student_work_project'
get 'search_user_projects' get 'search_user_projects'
get 'search_course_students' get 'search_course_students'
@ -1256,6 +1257,7 @@ RedmineApp::Application.routes.draw do
post 'add_members' post 'add_members'
get 'delete_member' get 'delete_member'
get 'archive_course' get 'archive_course'
get 'set_invite_code_halt'
end end
collection do collection do
match 'join_private_courses', :via => [:get, :post] match 'join_private_courses', :via => [:get, :post]

View File

@ -0,0 +1,5 @@
class AddColumnToCourse < ActiveRecord::Migration
def change
add_column :courses, :invite_code_halt, :integer, :limit => 1, :default => 0
end
end

View File

@ -11,7 +11,7 @@
# #
# It's strongly recommended to check this file into your version control system. # It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20161128072528) do ActiveRecord::Schema.define(:version => 20161208015939) do
create_table "activities", :force => true do |t| create_table "activities", :force => true do |t|
t.integer "act_id", :null => false t.integer "act_id", :null => false
@ -629,6 +629,7 @@ ActiveRecord::Schema.define(:version => 20161128072528) do
t.string "invite_code" t.string "invite_code"
t.string "qrcode" t.string "qrcode"
t.integer "qrcode_expiretime", :default => 0 t.integer "qrcode_expiretime", :default => 0
t.integer "invite_code_halt", :limit => 1, :default => 0
end end
add_index "courses", ["invite_code"], :name => "index_courses_on_invite_code", :unique => true add_index "courses", ["invite_code"], :name => "index_courses_on_invite_code", :unique => true
@ -825,6 +826,8 @@ ActiveRecord::Schema.define(:version => 20161128072528) do
t.datetime "publish_time" t.datetime "publish_time"
t.datetime "end_time" t.datetime "end_time"
t.integer "show_result" t.integer "show_result"
t.integer "question_random", :default => 0
t.integer "choice_random", :default => 0
end end
create_table "first_pages", :force => true do |t| create_table "first_pages", :force => true do |t|
@ -864,6 +867,7 @@ ActiveRecord::Schema.define(:version => 20161128072528) do
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.string "secret_key" t.string "secret_key"
t.integer "status" t.integer "status"
t.integer "operate_user_id"
end end
add_index "forge_messages", ["forge_message_id", "forge_message_type"], :name => "index_forge_messages_on_forge_message_id_and_forge_message_type" add_index "forge_messages", ["forge_message_id", "forge_message_type"], :name => "index_forge_messages_on_forge_message_id_and_forge_message_type"
@ -939,6 +943,7 @@ ActiveRecord::Schema.define(:version => 20161128072528) do
t.integer "quotes", :default => 0 t.integer "quotes", :default => 0
t.integer "is_open", :default => 0 t.integer "is_open", :default => 0
t.datetime "simi_time" t.datetime "simi_time"
t.integer "score_open", :default => 1
end end
add_index "homework_commons", ["course_id", "id"], :name => "index_homework_commons_on_course_id_and_id" add_index "homework_commons", ["course_id", "id"], :name => "index_homework_commons_on_course_id_and_id"
@ -964,6 +969,7 @@ ActiveRecord::Schema.define(:version => 20161128072528) do
t.integer "homework_common_id" t.integer "homework_common_id"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.integer "no_anon_penalty", :default => 1
end end
create_table "homework_detail_programings", :force => true do |t| create_table "homework_detail_programings", :force => true do |t|
@ -1538,6 +1544,12 @@ ActiveRecord::Schema.define(:version => 20161128072528) do
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
end end
create_table "professional_levels", :force => true do |t|
t.string "level"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "project_infos", :force => true do |t| create_table "project_infos", :force => true do |t|
t.integer "project_id" t.integer "project_id"
t.integer "user_id" t.integer "user_id"
@ -1630,6 +1642,9 @@ ActiveRecord::Schema.define(:version => 20161128072528) do
t.integer "user_id" t.integer "user_id"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.integer "status", :default => 0
t.integer "project_id"
t.string "title"
end end
create_table "quality_analyses", :force => true do |t| create_table "quality_analyses", :force => true do |t|

View File

@ -41,19 +41,19 @@ namespace :homework_publishtime do
puts "--------------------------------homework_publish end" puts "--------------------------------homework_publish end"
end end
task :end => :environment do # task :end => :environment do
puts "--------------------------------homework_publish_end start" # puts "--------------------------------homework_publish_end start"
Rails.logger.info("log--------------------------------homework_publish_end start") # Rails.logger.info("log--------------------------------homework_publish_end start")
homework_commons = HomeworkCommon.where("end_time = '#{Date.today}'") # homework_commons = HomeworkCommon.where("end_time = '#{Date.today}'")
homework_commons.each do |homework| # homework_commons.each do |homework|
if homework.anonymous_comment == 1 # if homework.anonymous_comment == 1
homework_detail_manual = homework.homework_detail_manual # homework_detail_manual = homework.homework_detail_manual
if homework_detail_manual.comment_status == 1 # if homework_detail_manual.comment_status == 1
homework_detail_manual.update_column('comment_status', 3) # homework_detail_manual.update_column('comment_status', 3)
end # end
end # end
end # end
Rails.logger.info("log--------------------------------homework_publish_end end") # Rails.logger.info("log--------------------------------homework_publish_end end")
puts "--------------------------------homework_publish_end end" # puts "--------------------------------homework_publish_end end"
end # end
end end

View File

@ -1717,7 +1717,7 @@ function expand_course_list(id, target, btnid, count) {
//点击删除时的确认弹框 //点击删除时的确认弹框
function delete_confirm_box(url, str){ function delete_confirm_box(url, str){
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+ var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
'<div class="clear mt15"><p class="text_c f16">' + str + '</p><div class="cl"></div><a href="'+ url +'" class="fr sy_btn_blue mr10 mt10" data-remote="true">确定</a>'+ '<div class="clear mt15"><p class="text_c f16">' + str + '</p><div class="cl"></div><a href="'+ url +'" class="fr sy_btn_blue mt10" style="margin-right: 92px;" data-remote="true">确定</a>'+
'<a href="javascript:void(0);" class="fr sy_btn_grey mt10 mr10" onclick="hideModal();">取消</a></div></div>'; '<a href="javascript:void(0);" class="fr sy_btn_grey mt10 mr10" onclick="hideModal();">取消</a></div></div>';
pop_box_new(htmlvalue, 300, 140); pop_box_new(htmlvalue, 300, 140);
} }

View File

@ -1446,7 +1446,7 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) {
} : function (name) { } : function (name) {
return getComputedStyle(elem, null)[name]; return getComputedStyle(elem, null)[name];
}, },
minHeight = parseFloat(getFirstStyle('height')) minHeight = parseFloat(getFirstStyle('height'));
elem.style.resize = 'none'; elem.style.resize = 'none';
elem2.style.resize = 'none'; elem2.style.resize = 'none';
@ -1474,8 +1474,6 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) {
style2.overflowY = 'auto'; style2.overflowY = 'auto';
} else { } else {
height = elem.scrollHeight - padding; height = elem.scrollHeight - padding;
style.overflowY = 'hidden';
style2.overflowY = 'hidden';
}; };
style.height = height + extra + 'px'; style.height = height + extra + 'px';
style2.height = height + extra + 'px'; style2.height = height + extra + 'px';
@ -1491,8 +1489,6 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) {
style2.overflowY = 'auto'; style2.overflowY = 'auto';
} else { } else {
height = elem2.scrollHeight - padding; height = elem2.scrollHeight - padding;
style.overflowY = 'hidden';
style2.overflowY = 'hidden';
}; };
style.height = height + extra + 'px'; style.height = height + extra + 'px';
style2.height = height + extra + 'px'; style2.height = height + extra + 'px';

View File

@ -632,7 +632,7 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) {
} : function (name) { } : function (name) {
return getComputedStyle(elem, null)[name]; return getComputedStyle(elem, null)[name];
}, },
minHeight = parseFloat(getFirstStyle('height')) minHeight = parseFloat(getFirstStyle('height'));
elem.style.resize = 'none'; elem.style.resize = 'none';
elem2.style.resize = 'none'; elem2.style.resize = 'none';
@ -660,8 +660,6 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) {
style2.overflowY = 'auto'; style2.overflowY = 'auto';
} else { } else {
height = elem.scrollHeight - padding; height = elem.scrollHeight - padding;
style.overflowY = 'hidden';
style2.overflowY = 'hidden';
}; };
style.height = height + extra + 'px'; style.height = height + extra + 'px';
style2.height = height + extra + 'px'; style2.height = height + extra + 'px';
@ -677,8 +675,6 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) {
style2.overflowY = 'auto'; style2.overflowY = 'auto';
} else { } else {
height = elem2.scrollHeight - padding; height = elem2.scrollHeight - padding;
style.overflowY = 'hidden';
style2.overflowY = 'hidden';
}; };
style.height = height + extra + 'px'; style.height = height + extra + 'px';
style2.height = height + extra + 'px'; style2.height = height + extra + 'px';

View File

@ -174,6 +174,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
.mr100 {margin-right:100px !important;} .mr100 {margin-right:100px !important;}
.mr118 {margin-right:118px !important;} .mr118 {margin-right:118px !important;}
.mr130 {margin-right:130px;} .mr130 {margin-right:130px;}
.mr135 {margin-right:135px;}
.mr150 {margin-right:150px;} .mr150 {margin-right:150px;}
.mw15{margin:0 15px;} .mw15{margin:0 15px;}
.mr90 {margin-right:90px;} .mr90 {margin-right:90px;}
@ -315,6 +316,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
.H60 {height:60px !important;} .H60 {height:60px !important;}
.H150{ height:150px;} .H150{ height:150px;}
.p10 {padding-left:10px; padding-right:10px;} .p10 {padding-left:10px; padding-right:10px;}
.mw150 {max-width: 150px !important;}
.mw220 {max-width: 220px !important;} .mw220 {max-width: 220px !important;}
.mw280 {max-width:280px !important;} .mw280 {max-width:280px !important;}
.mw360 {max-width: 360px !important;} .mw360 {max-width: 360px !important;}
@ -323,6 +325,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
.mh18 {max-height: 18px;} .mh18 {max-height: 18px;}
.max_h54 {max-height:54px; } .max_h54 {max-height:54px; }
.maxHeight100 {max-height:100px; overflow-x:hidden; overflow-y:auto;} .maxHeight100 {max-height:100px; overflow-x:hidden; overflow-y:auto;}
.maxHeight200 {max-height:200px; overflow-x:hidden; overflow-y:auto;}
.W50{ width:50px;} .W50{ width:50px;}
.W120{ width:110px;} .W120{ width:110px;}
@ -673,6 +676,21 @@ a.sy_btn_grey_mini{
border-radius:3px; border-radius:3px;
} }
a:hover.sy_btn_grey_mini{ background: #c3c3c3;} a:hover.sy_btn_grey_mini{ background: #c3c3c3;}
a.btn_grey_mid{
display:inline-block;
color: #565656;
background: #eaeaea;
text-align: center;
font-size: 12px;
padding:0 10px;
height: 26px;
line-height: 26px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
-o-border-radius:3px;
border-radius:3px;
}
a:hover.btn_grey_mid{ background: #c8c8c8;}
a.sy_btn_green{ a.sy_btn_green{
display:inline-block; display:inline-block;
color: #fff; color: #fff;

View File

@ -604,3 +604,5 @@ a:hover.ex_icon_edit{ background:url(/images/course/icons.png) -21px -276px no-
.archive_course_notice {width:220px; position:absolute; padding:5px 10px; white-space:nowrap; background-color:#fff; right:-265px; top:-15px; box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5);} .archive_course_notice {width:220px; position:absolute; padding:5px 10px; white-space:nowrap; background-color:#fff; right:-265px; top:-15px; box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5);}
.archive_course_notice em {display:block; border-width:10px; position:absolute;top:26px; left:-20px; border-style:dashed solid dashed dashed; border-color:transparent #eaeaea transparent transparent; font-size:0; line-height:0;} .archive_course_notice em {display:block; border-width:10px; position:absolute;top:26px; left:-20px; border-style:dashed solid dashed dashed; border-color:transparent #eaeaea transparent transparent; font-size:0; line-height:0;}
.archive_course_notice span {display:block; border-width:10px; position:absolute;top:26px; left:-18px; border-style:dashed solid dashed dashed; border-color:transparent #fff transparent transparent; font-size:0; line-height:0;} .archive_course_notice span {display:block; border-width:10px; position:absolute;top:26px; left:-18px; border-style:dashed solid dashed dashed; border-color:transparent #fff transparent transparent; font-size:0; line-height:0;}
.teacher_member_img{width:50px; height:50px; border: 1px solid #fff;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;}

View File

@ -738,6 +738,7 @@ a.xls{ margin-left:5px; color:#136b3b;}
.st_box ul li{ float:left;} .st_box ul li{ float:left;}
.st_box_top a{ font-weight:bold; color:#7a7a7a; float:left; margin-bottom:5px;} .st_box_top a{ font-weight:bold; color:#7a7a7a; float:left; margin-bottom:5px;}
.st_box_top a:hover{ color:#1c9ec7;} .st_box_top a:hover{ color:#1c9ec7;}
.teacher_st_boxlist{ border-bottom:1px dashed #CCC; height:60px; margin-bottom:10px; }
.st_boxlist{ border-bottom:1px dashed #CCC; height:43px; margin-bottom:10px; } .st_boxlist{ border-bottom:1px dashed #CCC; height:43px; margin-bottom:10px; }
.st_boxlist a{ float:left;} .st_boxlist a{ float:left;}
.st_boxlist ul{ float:left; width:200px; margin-left:10px;} .st_boxlist ul{ float:left; width:200px; margin-left:10px;}
@ -1401,7 +1402,7 @@ a:hover.comment_ding_link{ color:#269ac9;}
.orig_textarea{width:90%; margin-bottom:10px;} .orig_textarea{width:90%; margin-bottom:10px;}
.orig_sub{ float:right; background-color:#269ac9; color:#fff; height:25px; line-height:25px; text-align:center; width:80px; border:none;} .orig_sub{ float:right; background-color:#269ac9; color:#fff; height:25px; line-height:25px; text-align:center; width:80px; border:none;}
.orig_sub:hover{ background:#297fb8;} .orig_sub:hover{ background:#297fb8;}
.orig_cont_hide{ text-align:center; width:632px; display:block; font-size:14px; color:#333; border-bottom:1px solid #F3DDB3; padding:5px 0;} .orig_cont_hide{ text-align:center; display:block; font-size:14px; color:#333; border-bottom:1px solid #F3DDB3; padding:5px 0;}
.orig_cont_hide_issue{ text-align:center; width:882px; display:block; font-size:14px; color:#333; border-bottom:1px solid #F3DDB3; padding:5px 0;} .orig_cont_hide_issue{ text-align:center; width:882px; display:block; font-size:14px; color:#333; border-bottom:1px solid #F3DDB3; padding:5px 0;}
.orig_icon{ color:#888; margin-right:10px; font-size:14px; font-weight:bold;} .orig_icon{ color:#888; margin-right:10px; font-size:14px; font-weight:bold;}

View File

@ -289,11 +289,10 @@ a.sy_class_option:hover {
} }
.sy_class_id{ .sy_class_id{
width:94px; width:94px;
height:70px; height:94px;
border:1px solid #f1f1f1; border:1px solid #f1f1f1;
background:#fff; background:#fff;
text-align:center; text-align:center;
padding-top:24px;
} }
.sy_class_id p{ .sy_class_id p{
font-size:16px; font-size:16px;