351 lines
24 KiB
Plaintext
351 lines
24 KiB
Plaintext
<% is_teacher = User.current.allowed_to?(:as_teacher,homework_common.course) %>
|
||
<div class="HomeWork mb10" id="homework_common_<%= homework_common.id %>">
|
||
<div class="homepagePostBrief">
|
||
<div class="homepagePostPortrait">
|
||
<%=link_to image_tag(url_to_avatar(homework_common.user),width:"50px", height: "50px"), user_activities_path(homework_common.user.id)%>
|
||
</div>
|
||
<div class="homepagePostDes">
|
||
<div class="homepagePostTo">
|
||
<%= link_to homework_common.user.show_name, user_activities_path(homework_common.user_id), :class => "newsBlue mr15"%>
|
||
TO
|
||
<%= link_to homework_common.course.name, course_path(homework_common.course_id), :class => "newsBlue ml15"%>
|
||
</div>
|
||
<span class="homepagePostTitle hidden fl m_w505">
|
||
<% if is_in_course == 1%>
|
||
<% index = get_hw_index(homework_common, is_teacher) %>
|
||
<%= link_to "<span class='fontBlue2'>作业#{index+1}:</span>".html_safe+homework_common.name,student_work_index_path(:homework => homework_common.id),:class => "postGrey"%>
|
||
<% else %>
|
||
<%= link_to homework_common.name,student_work_index_path(:homework => homework_common.id),:class => "postGrey"%>
|
||
<% end %>
|
||
</span>
|
||
|
||
<% if homework_common.homework_detail_manual%>
|
||
<% if homework_common.homework_detail_manual.comment_status == 0 && homework_common.publish_time.nil? %>
|
||
<span class="grey_homework_btn_cir ml5">挂起</span>
|
||
<% elsif homework_common.homework_detail_manual.comment_status == 0 %>
|
||
<span class="grey_homework_btn_cir ml5">未发布</span>
|
||
<% elsif homework_common.homework_detail_manual.comment_status == 1%>
|
||
<% if homework_common.anonymous_comment == 0%>
|
||
<span class="grey_homework_btn_cir ml5">未开启匿评</span>
|
||
<% else %>
|
||
<span class="grey_homework_btn_cir ml5">匿评已禁用</span>
|
||
<% end %>
|
||
<% if Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")%>
|
||
<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") %>
|
||
<span class="red_homework_btn_cir ml5">作品补交中</span>
|
||
<% end %>
|
||
<% elsif homework_common.homework_detail_manual.comment_status == 2%>
|
||
<% if homework_common.anonymous_comment == 0%>
|
||
<span class="green_homework_btn_cir ml5">匿评中</span>
|
||
<% else %>
|
||
<span class="grey_homework_btn_cir ml5">匿评已禁用</span>
|
||
<% end %>
|
||
<span class="green_homework_btn_cir ml5" title="目前教师和教辅正在评阅">教师评阅中</span>
|
||
<% elsif homework_common.homework_detail_manual.comment_status == 3%>
|
||
<% if homework_common.anonymous_comment == 0%>
|
||
<span class="grey_homework_btn_cir ml5">匿评已结束</span>
|
||
<% else %>
|
||
<span class="grey_homework_btn_cir ml5">匿评已禁用</span>
|
||
<% end %>
|
||
<span class="green_homework_btn_cir ml5" title="目前教师和教辅正在评阅">教师评阅中</span>
|
||
<% end%>
|
||
<% end%>
|
||
<div class="cl"></div>
|
||
<% if homework_common.homework_type == 3 && homework_common.homework_detail_group.base_on_project == 1%>
|
||
<span class="c_red">系统提示:该作业要求各组长<%=link_to "创建项目", new_project_path(:host=>Setting.host_name),:class=>"linkBlue",:title=>"新建项目",:style=>"text-decoration:underline;"%>,组成员加入项目,然后由组长关联项目。谢谢配合!</span>
|
||
<% elsif homework_common.homework_type == 3 && homework_common.homework_detail_group.base_on_project == 0%>
|
||
<span class="c_red">系统提示:该作业要求各组长提交作品,提交作品时请添加组成员。谢谢配合!</span>
|
||
<% end %>
|
||
<div class="homepagePostSubmitContainer">
|
||
<% if homework_common.homework_type == 3 && !is_teacher && homework_common.homework_detail_group.base_on_project == 1 && User.current.member_of_course?(homework_common.course) %>
|
||
<% projects = cur_user_projects_for_homework homework_common %>
|
||
<% works = cur_user_works_for_homework homework_common %>
|
||
<% if works.nil? && projects.nil? %>
|
||
<div class="homepagePostSubmit">
|
||
<%=link_to "关联项目",new_student_work_project_student_work_index_path(:homework => homework_common.id,:is_in_course=>is_in_course,:user_activity_id=>-1,:course_activity=>-1),remote: true,:class=> 'c_blue', :title=> '请各组长关联作业项目' %>
|
||
<%#= relate_project(activity,is_teacher,-1,user_activity_id,course_activity) %>
|
||
</div>
|
||
<% elsif works.nil? %>
|
||
<div class="homepagePostSubmit">
|
||
<%=link_to "取消关联",cancel_relate_project_student_work_index_path(:homework => homework_common.id,:is_in_course=>is_in_course,:user_activity_id=>-1,:course_activity=>-1), :confirm => "您确定要取消关联吗?", remote: true,:class => "c_blue", :title=> '取消关联项目' %>
|
||
</div>
|
||
<% end %>
|
||
<% end %>
|
||
<div class="homepagePostSubmit">
|
||
<%= user_for_homework_common homework_common,is_teacher %>
|
||
</div>
|
||
<% work = cur_user_works_for_homework homework_common %>
|
||
<% if !is_teacher && !work.nil? && homework_common.end_time < Date.today && work.user == User.current %>
|
||
<div class="homepagePostSubmit">
|
||
<%=link_to "追加附件", student_work_index_url_in_org(homework_common.id, 1), :class => 'c_blue', :title => "可追加作品修订附件" %>
|
||
</div>
|
||
<% end %>
|
||
<% if homework_common.homework_type == 2 && is_teacher%>
|
||
<div class="homepagePostSubmit">
|
||
<%= link_to "模拟答题", new_user_commit_homework_users_path(homework_id: homework_common.id, is_test: true), class: 'c_blue test-program-btn', title: '教师可以通过模拟答题设置作业的标准答案' %>
|
||
</div>
|
||
<% if homework_common.homework_detail_manual.comment_status != 0 %>
|
||
<div class="homepagePostSubmit">
|
||
<%= link_to "代码查重", work_canrepeat_student_work_index_path(homework: homework_common.id, course_id: homework_common.course_id), class: 'c_blue test-program-btn',:remote => true %>
|
||
</div>
|
||
<% end %>
|
||
<% end %>
|
||
<% if homework_common.homework_type == 2%>
|
||
<div class="homepagePostDeadline mr15">
|
||
语言:
|
||
<%= homework_common.language_name%>
|
||
</div>
|
||
<% end %>
|
||
<% if homework_common.homework_type == 3 && homework_common.homework_detail_group%>
|
||
<div class="homepagePostDeadline mr15">
|
||
分组人数:<%=homework_common.homework_detail_group.min_num %>-<%=homework_common.homework_detail_group.max_num %> 人
|
||
</div>
|
||
<% end %>
|
||
<% if homework_common.homework_detail_manual && homework_common.homework_detail_manual.comment_status < 2 && !homework_common.publish_time.nil? %>
|
||
<div class="homepagePostDeadline">提交截止时间:<%= homework_common.end_time.to_s %> 23:59</div>
|
||
<% elsif homework_common.homework_detail_manual && homework_common.homework_detail_manual.comment_status >= 2 && !homework_common.publish_time.nil? && homework_common.anonymous_comment == 0 %>
|
||
<div class="homepagePostDeadline">匿评截止时间:<%= homework_common.homework_detail_manual.evaluation_end.to_s %> 23:59</div>
|
||
<% end %>
|
||
<% if homework_common.homework_detail_manual.comment_status == 0 && !homework_common.publish_time.nil? %>
|
||
<div class="homepagePostDeadline ml15">
|
||
<%= l(:label_publish_time)%>:<%= homework_common.publish_time%> 00:00
|
||
</div>
|
||
<% end %>
|
||
</div>
|
||
<%=render :partial =>"users/intro_content", :locals=>{:user_activity_id =>homework_common.id, :content=>homework_common.description} %>
|
||
<div class="cl"></div>
|
||
<div id="intro_content_show_<%= homework_common.id%>" class="fr" style="display:none;"><a href="javascript:void(0);" class="linkBlue">[展开]</a></div>
|
||
<div id="intro_content_hide_<%= homework_common.id%>" class="fr" style="display:none;"><a href="javascript:void(0);" class="linkBlue">[收起]</a></div>
|
||
<div class="cl"></div>
|
||
<div class="mt10" style="font-weight:normal;">
|
||
<%= render :partial=>"attachments/activity_attach", :locals=>{:activity => homework_common} %>
|
||
</div>
|
||
<div class="mt10">
|
||
<div class="homepagePostDeadline">
|
||
迟交扣分:<%= homework_common.late_penalty%>分
|
||
</div>
|
||
<% if homework_common.anonymous_comment == 0 && !homework_common.publish_time.nil?%>
|
||
<div class="homepagePostDeadline" style="float: right; margin-right: 220px;" id="evaluation_start_time_<%=homework_common.id %>">
|
||
匿评开启时间:<%= homework_common.homework_detail_manual.evaluation_start%> 00:00
|
||
</div>
|
||
<% end %>
|
||
</div>
|
||
<div class="cl"></div>
|
||
<div>
|
||
<% if homework_common.anonymous_comment == 0 %>
|
||
<div class="homepagePostDeadline">
|
||
缺评扣分:<%= homework_common.homework_detail_manual.absence_penalty%>分/作品
|
||
</div>
|
||
<% end %>
|
||
<% if homework_common.anonymous_comment == 0 && !homework_common.publish_time.nil?%>
|
||
<div class="homepagePostDeadline" style="float: right; margin-right: 220px;" id="evaluation_end_time_<%=homework_common.id %>">
|
||
匿评关闭时间:<%= homework_common.homework_detail_manual.evaluation_end%> 23:59
|
||
</div>
|
||
<% end %>
|
||
</div>
|
||
<div class="cl"></div>
|
||
<% if homework_common.student_works.has_committed.count != 0 %>
|
||
<% sw = homework_common.student_works.has_committed.reorder("created_at desc").first %>
|
||
<div class="mt10 homepagePostDeadline mb10">
|
||
# <%=time_from_now sw.created_at %><%= link_to sw.user.show_name, user_activities_path(sw.user_id), :class => "newsBlue ml5 mr5"%>提交了作品
|
||
</div>
|
||
<% end %>
|
||
<div class="cl"></div>
|
||
<% if homework_common.student_works.count != 0 %>
|
||
<% sw_id = "("+homework_common.student_works.map{|sw| sw.id}.join(",")+")" %>
|
||
<%# student_work_scores = StudentWorksScore.find_by_sql("select max(created_at) as created_at, student_work_id, user_id from student_works_scores where student_work_id in #{sw_id} group by student_work_id order by max(created_at) desc") %>
|
||
<% student_work_scores = StudentWorksScore.where("student_work_id in #{sw_id} and score is not null").reorder("created_at desc") %>
|
||
<% unless student_work_scores.empty? %>
|
||
<% last_score = student_work_scores.first %>
|
||
<div>
|
||
<p class="mb10 fontGrey2"># <%=time_from_now last_score.created_at %>
|
||
<%= link_to last_score.user.show_name, user_activities_path(last_score.user_id), :class => "newsBlue ml5 mr5"%>评阅了作品,优秀排行:
|
||
</p>
|
||
</div>
|
||
<% end %>
|
||
<div>
|
||
<% if homework_common.homework_type != 2 %>
|
||
<% ids = student_work_scores.empty? ? "(-1)" : '('+student_work_scores.map{|sw|sw.student_work_id}.join(',')+')' %>
|
||
<% student_works = homework_common.student_works.has_committed.select("student_works.*,student_works.work_score as score").where("student_works.id in #{ids}").order("score desc") %>
|
||
<% else %>
|
||
<% student_works = homework_common.student_works.has_committed.select("student_works.*,student_works.work_score as score").order("score desc") %>
|
||
<% end %>
|
||
<% student_works.includes(:user).each_with_index do |sw, i| %>
|
||
<div class="fl mr10 w100" style="text-align:center;">
|
||
<a href="javascript:void(0);" class="linkBlue">
|
||
<% if User.current.member_of_course?(homework_common.course) || User.current.admin? || homework_common.is_open == 1 %>
|
||
<%= link_to image_tag(url_to_avatar(User.find sw.user_id), :width => "40", :height => "40"), student_work_index_path(:homework => homework_common.id, :show_work_id => sw.id), :alt => "学生头像" %>
|
||
<p class="w100 hidden">
|
||
<%= link_to sw.user.show_name, student_work_index_path(:homework => homework_common.id, :show_work_id => sw.id)%>
|
||
</p>
|
||
<% else %>
|
||
<%= image_tag(url_to_avatar(User.find sw.user_id), :width => "40", :height => "40", :title => '该作业的作品暂未公开') %>
|
||
<p class="w100 hidden">
|
||
<a href="javascript:void(0);" title="该作业的作品暂未公开"><%=sw.user.show_name %></a>
|
||
</p>
|
||
<% end %>
|
||
</a>
|
||
<% score = sw.respond_to?("score") ? sw.score : (sw.final_score || 0) - sw.absence_penalty - sw.late_penalty %>
|
||
<p class="fontGrey2">分数:<span class="c_red"><%=format("%.1f",score.to_i<0 ? 0 : score.to_i) %>分</span></p>
|
||
</div>
|
||
<% if i == 4 %>
|
||
<% break %>
|
||
<% end %>
|
||
<% end %>
|
||
<% if student_works.count > 5%>
|
||
<%= link_to "更多>>", student_work_index_path(:homework => homework_common.id),:class=>'linkGrey2 fl ml50',:style=>'margin-top:60px;'%>
|
||
<% end %>
|
||
<div class="cl"></div>
|
||
</div>
|
||
<% end %>
|
||
|
||
<% if homework_common.homework_type == 3 && homework_common.homework_detail_group.base_on_project == 1 %>
|
||
<% projects = homework_common.student_work_projects.where("is_leader = 1 and project_id != -1") %>
|
||
<% unless projects.empty? %>
|
||
<% sort_projects = project_sort_update projects %>
|
||
<div class="mt10 relatePWrap" id="relatePWrap_<%=homework_common.id %>">
|
||
<div class="mr5 fontGrey2">
|
||
<% first_pro = Project.find sort_projects.first.project_id %>
|
||
<% commit_time = first_pro.project_score.commit_time %>
|
||
<% one_forge_time=ForgeActivity.where("project_id=?",first_pro.id).last.updated_at if ForgeActivity.where("project_id=?",first_pro.id).last %>
|
||
# <%=time_from_now !commit_time.nil? && format_time(commit_time) > format_time(one_forge_time) ? commit_time : one_forge_time %><%= link_to User.find(first_pro.user_id).show_name, user_activities_path(first_pro.user_id), :class => "newsBlue ml5 mr5"%>更新了项目,最近更新:
|
||
</div>
|
||
<div class="cl"></div>
|
||
<% sort_projects.each_with_index do |pro, i| %>
|
||
<% project = Project.find pro.project_id %>
|
||
<script type="text/javascript">
|
||
$(document).ready(function(){
|
||
$("#project_img_<%=project.id %>_<%=homework_common.id %>").mouseover(function(){
|
||
$("#relatePInfo_<%=project.id %>_<%=homework_common.id %>").css("display","block");
|
||
}).mouseout(function(){
|
||
$("#relatePInfo_<%=project.id %>_<%=homework_common.id %>").css("display","none");
|
||
});
|
||
});
|
||
</script>
|
||
|
||
<div class="mr10 mb10 mt10 fl w100 fontGrey2" style="text-align: center;">
|
||
<% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
|
||
<%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius relatePImage"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s+"_"+homework_common.id.to_s,:alt =>"项目头像" %>
|
||
<% else %>
|
||
<%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius relatePImage",:id=>"project_img_"+project.id.to_s+"_"+homework_common.id.to_s,:alt =>"项目头像") %>
|
||
<% end %>
|
||
<% com_time = project.project_score.commit_time %>
|
||
<% forge_time=ForgeActivity.where("project_id=?",project.id).last.updated_at if ForgeActivity.where("project_id=?",project.id).last %>
|
||
<p class="mh18"><span class="captainName" title="<%=(User.find project.user_id).show_name %>"><%=(User.find project.user_id).show_name %></span><span style="vertical-align: top;">(组长)</span></p>
|
||
<p class="mh18"><%=time_from_now !com_time.nil? && format_time(com_time) > format_time(forge_time) ? com_time : forge_time %> <%= project.project_score.changeset_num %>提交</p>
|
||
<div class="relatePInfo" id="relatePInfo_<%=project.id %>_<%=homework_common.id %>">
|
||
项目名称:<%=project.name %><br />
|
||
创建者:<%=(User.find project.user_id).show_name %>(组长)<br />
|
||
更新时间:<%=time_from_now !com_time.nil? && format_time(com_time) > format_time(forge_time) ? com_time : forge_time %>
|
||
</div>
|
||
</div>
|
||
<% if i == 9 && projects.count > 10 %>
|
||
<a href="javascript:void(0);" class="linkGrey2 fl ml50" style="margin-top:68px;" id="moreProject_<%=homework_common.id %>">更多>></a>
|
||
<% end %>
|
||
<% if i > 9 && i == (projects.count - 1) %>
|
||
<a href="javascript:void(0);" class="linkGrey2 fr mr10" style="margin-top:68px;" id="hideProject_<%=homework_common.id %>">收回<<</a>
|
||
<% end %>
|
||
<% end %>
|
||
</div>
|
||
<% end %>
|
||
<% end %>
|
||
<div class="cl"></div>
|
||
<% if is_teacher%>
|
||
<% comment_status = homework_common.homework_detail_manual.comment_status%>
|
||
<div class="homepagePostSetting">
|
||
<ul>
|
||
<li class="homepagePostSettingIcon">
|
||
<ul class="homepagePostSettiongText">
|
||
<li>
|
||
<%= link_to l(:button_edit),edit_homework_common_path(homework_common,:is_in_course => is_in_course,:course_activity=>-1), :class => "postOptionLink"%>
|
||
</li>
|
||
<li>
|
||
<%= link_to(l(:label_bid_respond_delete), homework_common_path(homework_common,:is_in_course => is_in_course,:course_activity=>-1),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "postOptionLink") %>
|
||
</li>
|
||
<li>
|
||
<%= link_to("评分设置", score_rule_set_homework_common_path(homework_common, :is_in_course => is_in_course,:course_activity=>-1),:class => "postOptionLink", :remote => true) %>
|
||
</li>
|
||
<% if homework_common.anonymous_comment == 0 &&(comment_status == 0 || comment_status == 1)%>
|
||
<li>
|
||
<%= link_to("匿评设置", start_evaluation_set_homework_common_path(homework_common, :is_in_course => is_in_course,:course_activity=>-1),:class => "postOptionLink", :remote => true)%>
|
||
</li>
|
||
<% end %>
|
||
<% if homework_common.anonymous_comment == 0%>
|
||
<li>
|
||
<%= homework_anonymous_comment(homework_common, is_in_course) %>
|
||
</li>
|
||
<% end %>
|
||
<% if homework_common.anonymous_comment == 0 && (comment_status == 0 || comment_status == 1)%>
|
||
<li>
|
||
<%= link_to("禁用匿评", alert_forbidden_anonymous_comment_homework_common_path(homework_common,:is_in_course => is_in_course),:class => "postOptionLink",
|
||
:title => "匿评是同学之间的双盲互评过程:每个同学将评阅系统分配给他/她的若干个作品", :remote => true)%>
|
||
</li>
|
||
<% end %>
|
||
<% if (homework_common.anonymous_comment == 1 && homework_common.is_open == 0) || (homework_common.anonymous_comment == 0 && comment_status == 3 && homework_common.is_open == 0) %>
|
||
<li>
|
||
<%= link_to("公开作品", alert_open_student_works_homework_common_path(homework_common, :is_in_course => is_in_course,:course_activity=> -1),:class => "postOptionLink", :remote => true)%>
|
||
</li>
|
||
<% elsif homework_common.is_open == 1 %>
|
||
<li>
|
||
<%= link_to("取消公开", alert_open_student_works_homework_common_path(homework_common, :is_in_course => is_in_course,:course_activity=> -1),:class => "postOptionLink", :remote => true)%>
|
||
</li>
|
||
<% end %>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<% end%>
|
||
</div>
|
||
<div class="cl"></div>
|
||
</div>
|
||
|
||
<% count=homework_common.journals_for_messages.count %>
|
||
<div class="homepagePostReply">
|
||
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => homework_common, :user_activity_id => -1, :is_in_course => is_in_course,:course_activity=>-1} %>
|
||
|
||
<% comments = homework_common.journals_for_messages.reorder("created_on desc").limit(3) %>
|
||
<% if count > 0 %>
|
||
<div class="" id="reply_div_<%= homework_common.id %>">
|
||
<%=render :partial => 'users/news_replies', :locals => {:comments => comments, :type => 'HomeworkCommon', :is_in_course => is_in_course,:course_activity=>-1, :is_teacher => is_teacher, :user_activity_id => -1} %>
|
||
</div>
|
||
<% end %>
|
||
|
||
<div class="homepagePostReplyContainer borderBottomNone minHeight48">
|
||
<div class="homepagePostReplyPortrait mr15 imageFuzzy" id="reply_image_<%= homework_common.id%>"><%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), :alt => "用户头像" %></div>
|
||
<div class="homepagePostReplyInputContainer mb10">
|
||
<% if User.current.logged? %>
|
||
<div nhname='new_message_<%= homework_common.id%>' style="display:none;">
|
||
<%= form_for('new_form',:url => {:controller => 'words', :action => 'leave_homework_message', :id => homework_common.id},:method => "post", :remote => true) do |f|%>
|
||
<%= hidden_field_tag 'homework_common_id',params[:homework_common_id],:value =>homework_common.id %>
|
||
<%= hidden_field_tag 'is_in_course',params[:is_in_course],:value =>is_in_course %>
|
||
<div nhname='toolbar_container_<%= homework_common.id%>'></div>
|
||
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= homework_common.id%>' name="homework_message"></textarea>
|
||
<a id="new_message_submit_btn_<%= homework_common.id%>" href="javascript:void(0)" onclick="this.style.display='none'" class="blue_n_btn fr" style="display:none;margin-top:6px;">发送</a>
|
||
<div class="cl"></div>
|
||
<p nhname='contentmsg_<%= homework_common.id%>'></p>
|
||
<% end%>
|
||
</div>
|
||
<% else %>
|
||
<%= render :partial => "users/show_unlogged" %>
|
||
<% end %>
|
||
<div class="cl"></div>
|
||
</div>
|
||
<div class="cl"></div>
|
||
</div>
|
||
</div>
|
||
</div><!----HomeWork end-->
|
||
<script type="text/javascript">
|
||
$("#moreProject_<%=homework_common.id %>").click(function(){
|
||
$("#relatePWrap_<%=homework_common.id %>").toggleClass('relatePWrap');
|
||
$("#relatePWrap_<%=homework_common.id %>").css("height","auto");
|
||
$(this).hide();
|
||
});
|
||
$("#hideProject_<%=homework_common.id %>").click(function(){
|
||
$("#relatePWrap_<%=homework_common.id %>").toggleClass('relatePWrap');
|
||
$("#moreProject_<%=homework_common.id %>").show();
|
||
});
|
||
$(function(){
|
||
user_card_show_hide();
|
||
});
|
||
</script> |