This commit is contained in:
yutao 2015-06-05 10:10:14 +08:00
commit 85682d6bbc
32 changed files with 611 additions and 537 deletions

View File

@ -191,9 +191,19 @@ class AttachmentsController < ApplicationController
if !@attachment.container.nil? && if !@attachment.container.nil? &&
(@attachment.container.is_a?(Course) || ((@attachment.container.has_attribute?(:course) || @attachment.container.has_attribute?(:course_id) ) && (@attachment.container.is_a?(Course) || ((@attachment.container.has_attribute?(:course) || @attachment.container.has_attribute?(:course_id) ) &&
@attachment.container.course ) || ((@attachment.container.has_attribute?(:board) || @attachment.container.has_attribute?(:board_id)) && @attachment.container.course ) || ((@attachment.container.has_attribute?(:board) || @attachment.container.has_attribute?(:board_id)) &&
@attachment.container.board && @attachment.container.board.course ) ) @attachment.container.board && @attachment.container.board.course ) || @attachment.container.is_a?(StudentWorksScore) || @attachment.container.is_a?(HomeworkCommon) ||
@attachment.container.is_a?(StudentWork))
if @attachment.container.is_a?(News) if @attachment.container.is_a?(News)
format.html { redirect_to_referer_or news_path(@attachment.container) } format.html { redirect_to_referer_or news_path(@attachment.container) }
elsif @attachment.container.is_a?(StudentWorksScore)
@is_destroy = true #根据ID删除页面对应的数据js刷新页面
format.js
elsif @attachment.container.is_a?(HomeworkCommon)
@is_destroy = true #根据ID删除页面对应的数据js刷新页面
format.js
elsif @attachment.container.is_a?(StudentWork)
@is_destroy = true #根据ID删除页面对应的数据js刷新页面
format.js
elsif @attachment.container.is_a?(Message) elsif @attachment.container.is_a?(Message)
format.html { redirect_to_referer_or new_board_message_path(@attachment.container) } format.html { redirect_to_referer_or new_board_message_path(@attachment.container) }
elsif @course.nil? elsif @course.nil?
@ -431,7 +441,7 @@ private
@attachment.container.board.course) @attachment.container.board.course)
@course = @attachment.container.board.course @course = @attachment.container.board.course
else else
unless @attachment.container_type == 'Bid' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion' || @attachment.container_type == 'StudentWorksScore'|| @attachment.container_type == 'StudentWorks' unless @attachment.container_type == 'Bid' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion' || @attachment.container_type == 'StudentWorksScore'|| @attachment.container_type == 'StudentWork'
@project = @attachment.project @project = @attachment.project
end end
end end

View File

@ -334,9 +334,8 @@ class HomeworkAttachController < ApplicationController
@homework.name = name @homework.name = name
@homework.description = description @homework.description = description
@homework.project_id = params[:project_id] || 0 @homework.project_id = params[:project_id] || 0
if params[:attachments]
@homework.save_attachments(params[:attachments]) @homework.save_attachments(params[:attachments])
end render_attachment_warning_if_needed(@homework)
if @homework.save if @homework.save
respond_to do |format| respond_to do |format|
format.html { redirect_to course_for_bid_url @homework.bid } format.html { redirect_to course_for_bid_url @homework.bid }

View File

@ -5,7 +5,7 @@ class HomeworkCommonController < ApplicationController
before_filter :teacher_of_course, :only => [:new, :create, :edit, :update, :destroy, :start_anonymous_comment, :stop_anonymous_comment, :alert_anonymous_comment] before_filter :teacher_of_course, :only => [:new, :create, :edit, :update, :destroy, :start_anonymous_comment, :stop_anonymous_comment, :alert_anonymous_comment]
def index def index
homeworks = @course.homework_commons homeworks = @course.homework_commons.order("created_at desc")
@is_teacher = User.current.logged? && (User.current.admin? || User.current.allowed_to?(:as_teacher,@course)) @is_teacher = User.current.logged? && (User.current.admin? || User.current.allowed_to?(:as_teacher,@course))
@is_student = User.current.logged? && (User.current.admin? || (User.current.member_of_course?(@course) && !@is_teacher)) @is_student = User.current.logged? && (User.current.admin? || (User.current.member_of_course?(@course) && !@is_teacher))
@homeworks = paginateHelper homeworks,20 @homeworks = paginateHelper homeworks,20
@ -17,14 +17,14 @@ class HomeworkCommonController < ApplicationController
def new def new
@homework = HomeworkCommon.new @homework = HomeworkCommon.new
@homework.safe_attributes = params[:homework_common] @homework.safe_attributes = params[:homework_common]
@homework.late_penalty = 2 @homework.late_penalty = 0
@homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d') @homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
@homework.publish_time = Time.now.strftime('%Y-%m-%d') @homework.publish_time = Time.now.strftime('%Y-%m-%d')
#匿评作业相关属性 #匿评作业相关属性
@homework_detail_manual = HomeworkDetailManual.new @homework_detail_manual = HomeworkDetailManual.new
@homework_detail_manual.ta_proportion = 0.6 @homework_detail_manual.ta_proportion = 0.6
@homework_detail_manual.absence_penalty = 2 @homework_detail_manual.absence_penalty = 0
@homework_detail_manual.evaluation_num = 3 @homework_detail_manual.evaluation_num = 3
@homework_detail_manual.evaluation_start = Time.now.strftime('%Y-%m-%d') @homework_detail_manual.evaluation_start = Time.now.strftime('%Y-%m-%d')
@homework_detail_manual.evaluation_end = (Time.now + 3600 * 24).strftime('%Y-%m-%d') @homework_detail_manual.evaluation_end = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
@ -101,6 +101,9 @@ class HomeworkCommonController < ApplicationController
@homework_detail_manual.evaluation_num = params[:evaluation_num] @homework_detail_manual.evaluation_num = params[:evaluation_num]
@homework_detail_manual.absence_penalty = params[:absence_penalty] @homework_detail_manual.absence_penalty = params[:absence_penalty]
@homework.save_attachments(params[:attachments])
render_attachment_warning_if_needed(@homework)
if @homework.save && @homework_detail_manual.save if @homework.save && @homework_detail_manual.save
respond_to do |format| respond_to do |format|
format.html { format.html {
@ -197,7 +200,7 @@ class HomeworkCommonController < ApplicationController
end end
#是不是课程的老师 #是不是课程的老师
def teacher_of_course def teacher_of_course
render_403 unless User.current.allowed_to?(:as_teacher,@course) render_403 unless User.current.allowed_to?(:as_teacher,@course) || User.current.admin?
end end
def get_assigned_homeworks(student_works, n, index) def get_assigned_homeworks(student_works, n, index)

View File

@ -364,6 +364,7 @@ class ProjectsController < ApplicationController
#发送邮件邀请新用户 #发送邮件邀请新用户
def invite_members_by_mail def invite_members_by_mail
if User.current.member_of?(@project) || User.current.admin? if User.current.member_of?(@project) || User.current.admin?
@inviter_lists = InviteList.where(project_id:@project.id).all
@is_zhuce = false @is_zhuce = false
respond_to do |format| respond_to do |format|
format.html format.html

View File

@ -253,13 +253,13 @@ class StudentWorkController < ApplicationController
#是不是当前课程的成员 #是不是当前课程的成员
#当前课程成员才可以看到作品列表 #当前课程成员才可以看到作品列表
def member_of_course def member_of_course
render_403 unless User.current.member_of_course? @course render_403 unless User.current.member_of_course? @course || User.current.admin?
end end
#判断是不是当前作品的提交者 #判断是不是当前作品的提交者
#提交者 && (非匿评作业 || 未开启匿评) 可以编辑作品 #提交者 && (非匿评作业 || 未开启匿评) 可以编辑作品
def author_of_work def author_of_work
render_403 unless User.current.id == @work.user_id && (@homework.homework_type != 1 || @homework.homework_detail_manual.comment_status == 1 ) render_403 unless (User.current.id == @work.user_id || User.current.admin?) && (@homework.homework_type != 1 || @homework.homework_detail_manual.comment_status == 1 )
end end
#根据条件过滤作业结果 #根据条件过滤作业结果

View File

@ -3,7 +3,7 @@ module HomeworkCommonHelper
#迟交扣分下拉框 #迟交扣分下拉框
def late_penalty_option def late_penalty_option
type = [] type = []
for i in (1..5) for i in (0..5)
option = [] option = []
option << i option << i
option << i option << i
@ -29,7 +29,7 @@ module HomeworkCommonHelper
#缺评扣分 #缺评扣分
def absence_penalty_option def absence_penalty_option
type = [] type = []
i = 1 i = 0
while i <= 5 while i <= 5
option = [] option = []
option << i option << i

View File

@ -1,5 +1,13 @@
class InviteList < ActiveRecord::Base class InviteList < ActiveRecord::Base
attr_accessible :project_id, :user_id attr_accessible :project_id, :user_id
# belongs_to :user belongs_to :user
# belongs_to :project belongs_to :project
# 用户拒绝邀请后,删除记录
def self.delete_inviter(userid, projectid)
@inviters = AppliedProject.where("user_id = ? and project_id = ?", userid, projectid)
@inviters.each do |inviter|
inviter.destroy
end
end
end end

View File

@ -58,6 +58,7 @@ class Mailer < ActionMailer::Base
us = UsersService.new us = UsersService.new
# 自动激活用户 # 自动激活用户
user = us.register_auto(login, @email, @password) user = us.register_auto(login, @email, @password)
InviteList.create(:user_id => user.id, :project_id => project.id)
User.current = user unless User.current.nil? User.current = user unless User.current.nil?
@user = user @user = user
@ -73,6 +74,10 @@ class Mailer < ActionMailer::Base
@project_name = "#{project.name}" @project_name = "#{project.name}"
@user = user @user = user
@project = project @project = project
inviter_lists = InviteList.where(project_id:@project.id, user_id:@user.id).all
if inviter_lists.blank?
InviteList.create(:user_id => user.id, :project_id => project.id)
end
@token = Token.get_token_from_user(user, 'autologin') @token = Token.get_token_from_user(user, 'autologin')
@project_url = url_for(:controller => 'projects', :action => 'member', :id => project.id, :user_id => user.id, :mail => true, :token => @token.value) @project_url = url_for(:controller => 'projects', :action => 'member', :id => project.id, :user_id => user.id, :mail => true, :token => @token.value)
mail :to => email, :subject => @subject mail :to => email, :subject => @subject
@ -83,13 +88,10 @@ class Mailer < ActionMailer::Base
# 发送内容: 项目【缺陷,讨论区,新闻】,课程【通知,留言,新闻】, 贴吧, 个人留言 # 发送内容: 项目【缺陷,讨论区,新闻】,课程【通知,留言,新闻】, 贴吧, 个人留言
def send_for_user_activities(user, date_to, days) def send_for_user_activities(user, date_to, days)
date_from = date_to - days.days date_from = date_to - days.days
subject = "[ #{user.show_name}#{l(:label_day_mail)}]" subject = "[ #{user.show_name}#{l(:label_day_mail)}]"
@subject = " #{user.show_name}#{l(:label_day_mail)}" @subject = " #{user.show_name}#{l(:label_day_mail)}"
date_from = "#{date_from} 17:59:59" date_from = "#{date_from} 17:59:59"
date_to = "#{date_to} 17:59:59" date_to = "#{date_to} 17:59:59"
# 生成token用于直接点击登录 # 生成token用于直接点击登录
@user = user @user = user
@token = Token.get_token_from_user(user, 'autologin') @token = Token.get_token_from_user(user, 'autologin')
@ -100,19 +102,15 @@ class Mailer < ActionMailer::Base
project_ids = projects.map{|project| project.id}.join(",") project_ids = projects.map{|project| project.id}.join(",")
course_ids = courses.map {|course| course.id}.join(",") course_ids = courses.map {|course| course.id}.join(",")
# 查询user的缺陷包括发布的跟踪的以及被指派的缺陷 # 查询user的缺陷项目中成员都能收到
sql = "select DISTINCT i.* from issues i, watchers w sql = "select * from members m, issues i where i.project_id = m.project_id and m.user_id='#{user.id}'
where (i.assigned_to_id = #{user.id} or i.author_id = #{user.id}
or (w.watchable_type = 'Issue' and w.watchable_id = i.id and w.user_id = #{user.id}))
and (i.created_on between '#{date_from}' and '#{date_to}') order by i.created_on desc" and (i.created_on between '#{date_from}' and '#{date_to}') order by i.created_on desc"
@issues = Issue.find_by_sql(sql) @issues = Issue.find_by_sql(sql)
# @bids 查询课程作业包括老师发布的作业以及user提交作业 # @bids 查询课程作业包括老师发布的作业以及user提交作业
# @attachments查询课程课件更新 # @attachments查询课程课件更新
@attachments ||= [] @attachments ||= []
@bids ||= [] # 老师发布的作业 @bids ||= [] # 老师发布的作业
unless courses.first.nil? unless courses.first.nil?
count = courses.count count = courses.count
count = count - 1 count = count - 1
@ -127,7 +125,9 @@ class Mailer < ActionMailer::Base
@homeworks = HomeworkAttach.where("user_id=#{user.id} and (created_at between '#{date_from}' and '#{date_to}')").order("created_at desc") @homeworks = HomeworkAttach.where("user_id=#{user.id} and (created_at between '#{date_from}' and '#{date_to}')").order("created_at desc")
# 查询user在课程。项目中发布的讨论帖子 # 查询user在课程。项目中发布的讨论帖子
messages = Message.find_by_sql("select DISTINCT * from messages where author_id = #{user.id} and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc") messages = Message.find_by_sql("select me.* from messages me, boards b, members m where
b.id = me.board_id and b.project_id = m.project_id and m.user_id = '#{user.id}' and (me.created_on between '#{date_from}' and '#{date_to}') order by created_on desc")
# messages = Message.find_by_sql("select DISTINCT * from messages where author_id = #{user.id} and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc")
@course_messages ||= [] @course_messages ||= []
@project_messages ||= [] @project_messages ||= []
unless messages.first.nil? unless messages.first.nil?
@ -139,6 +139,7 @@ class Mailer < ActionMailer::Base
end end
end end
end end
# 查询user在课程中发布的通知项目中发的新闻 # 查询user在课程中发布的通知项目中发的新闻
@course_news = (course_ids && !course_ids.empty?) ? News.find_by_sql("select DISTINCT n.* from news n @course_news = (course_ids && !course_ids.empty?) ? News.find_by_sql("select DISTINCT n.* from news n
where n.course_id in (#{course_ids}) where n.course_id in (#{course_ids})
@ -151,18 +152,13 @@ class Mailer < ActionMailer::Base
jour_type='Course' and user_id = #{user.id} jour_type='Course' and user_id = #{user.id}
and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc") and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc")
@user_journal_messages = user.journals_for_messages.where("m_parent_id IS NULL and (created_on between '#{date_from}' and '#{date_to}')").order('created_on DESC') @user_journal_messages = user.journals_for_messages.where("m_parent_id IS NULL and (created_on between '#{date_from}' and '#{date_to}')").order('created_on DESC')
# 查询user新建贴吧或发布帖子 # 查询user新建贴吧或发布帖子
@forums = Forum.find_by_sql("select DISTINCT * from forums where creator_id = #{user.id} and (created_at between '#{date_from}' and '#{date_to}') order by created_at desc") @forums = Forum.find_by_sql("select DISTINCT * from forums where creator_id = #{user.id} and (created_at between '#{date_from}' and '#{date_to}') order by created_at desc")
@memos = Memo.find_by_sql("select DISTINCT m.* from memos m, forums f where (m.author_id = #{user.id} or (m.forum_id = f.id and f.creator_id = #{user.id})) @memos = Memo.find_by_sql("select DISTINCT m.* from memos m, forums f where (m.author_id = #{user.id} or (m.forum_id = f.id and f.creator_id = #{user.id}))
and (m.created_at between '#{date_from}' and '#{date_to}') order by m.created_at desc") and (m.created_at between '#{date_from}' and '#{date_to}') order by m.created_at desc")
has_content = [@issues,@homeworks,@course_messages,@project_messages,@course_news,@project_news, has_content = [@issues,@homeworks,@course_messages,@project_messages,@course_news,@project_news,
@course_journal_messages,@user_journal_messages,@forums,@memos,@attachments,@bids].any? {|o| @course_journal_messages,@user_journal_messages,@forums,@memos,@attachments,@bids].any? {|o| !o.empty?}
!o.empty?
}
mylogger.debug "Sent activity mail : #{user.mail} - #{has_content}" mylogger.debug "Sent activity mail : #{user.mail} - #{has_content}"
#有内容才发,没有不发 #有内容才发,没有不发
mail :to => user.mail,:subject => subject if has_content mail :to => user.mail,:subject => subject if has_content

View File

@ -67,7 +67,7 @@ class Project < ActiveRecord::Base
has_many :student, :through => :students_for_courses, :source => :user has_many :student, :through => :students_for_courses, :source => :user
has_one :course_extra, :class_name => 'Course', :foreign_key => :extra,:primary_key => :identifier, :dependent => :destroy has_one :course_extra, :class_name => 'Course', :foreign_key => :extra,:primary_key => :identifier, :dependent => :destroy
has_many :applied_projects has_many :applied_projects
# has_many :invite_lists has_many :invite_lists
# end # end
#ADDED BY NIE #ADDED BY NIE

View File

@ -1,3 +1,6 @@
<% if @is_destroy%>
$("#attachment_<%= @attachment.id%>").remove();
<%else%>
var attachment_html_obj = $('#attachments_<%= j params[:attachment_id] %>'); var attachment_html_obj = $('#attachments_<%= j params[:attachment_id] %>');
//modify by yutao 2015-5-14 当1个页面存在多个上传控件时此块代码存在bug 故改之 start //modify by yutao 2015-5-14 当1个页面存在多个上传控件时此块代码存在bug 故改之 start
var containerid=$('.remove-upload',attachment_html_obj).data('containerid'); var containerid=$('.remove-upload',attachment_html_obj).data('containerid');
@ -24,3 +27,4 @@ if(containerid==undefined){
} }
} }
//modify by yutao 2015-5-14 当1个页面存在多个上传控件时此块代码存在bug 故改之 end //modify by yutao 2015-5-14 当1个页面存在多个上传控件时此块代码存在bug 故改之 end
<% end%>

View File

@ -1,24 +1,5 @@
<style> <style>
table,tr,td{border:0; cellspacing:0; cellpadding:0;}
ul,li{ list-style-type:none}
.cl{ clear:both; overflow:hidden; }
a{ text-decoration:none; text-align:center; }
a:hover{ text-decoration:underline;}
/**** 常用***/
.f_l{ float:left;}
.f_r{ float:right;}
.b_lblue{ background:#64bdd9;}
.b_dblue{ background:#55a1b9; cursor:pointer;}
.f_b{ font-weight: bold;}
.c_blue{ color:#64bdd9;}
.c_grey{ color:#999999;}
.c_grey02{ color:#666666;} .c_grey02{ color:#666666;}
.f_14{ font-size:14px;}
.c_dblue{ color:#3e6d8e;}
.w90{width:90px;}
.ml10{margin-left:10px;}
.ml5{margin-left:5px;}
.b_grey{ background:#a3a3a3;}
.c_blue02{ color:#15bcce; font-weight: bold;} .c_blue02{ color:#15bcce; font-weight: bold;}
.w280{ display:block; width:280px;float:left;} .w280{ display:block; width:280px;float:left;}
.w70{ display:block;width:70px; text-align:center; float:left;} .w70{ display:block;width:70px; text-align:center; float:left;}
@ -26,9 +7,6 @@
.c_blue03{ color:#0d90c4;} .c_blue03{ color:#0d90c4;}
/***弹框***/
/*#popbox_tscore{width:480px;position:absolute;z-index:100;left:50%;top:50%;margin:-215px 0 0 -300px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; overflow:auto;}*/
/*.alert .close02{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-490px;background:url(images/close.png) no-repeat;cursor:pointer;}*/
.tscore_con h2{ display:block; background:#eaeaea; font-size:14px; color:#343333; height:31px; width: auto; text-align: center; padding-top:5px;} .tscore_con h2{ display:block; background:#eaeaea; font-size:14px; color:#343333; height:31px; width: auto; text-align: center; padding-top:5px;}
.tscore_box{ width:350px; margin:15px auto;} .tscore_box{ width:350px; margin:15px auto;}
.tscore_box li{ height:25px;} .tscore_box li{ height:25px;}
@ -40,11 +18,16 @@
<ul class="tscore_box"> <ul class="tscore_box">
<li ><span class="c_blue02 w280">作业名称</span><span class="c_blue02 w70">得分</span></li> <li ><span class="c_blue02 w280">作业名称</span><span class="c_blue02 w70">得分</span></li>
<% @member_score.student_homework_score[0].each do |homework_score| %> <% @member_score.student_homework_score[0].each do |homework_score| %>
<li>
<li><span class="c_grey02 w280"><%= homework_score.name %></span><span class="c_red w70"><%= format("%0.2f",homework_score[:score].nil? ? 0 : homework_score[:score]) %></span></li> <span class="c_grey02 w280">
<%= homework_score.name %>
</span>
<span class="c_red w70">
<%= format("%0.2f",homework_score[:score].nil? ? 0 : homework_score[:score]) %>
</span>
</li>
<% end %> <% end %>
<li><span class="c_blue03 w280">作业积分(总得分)</span><span class="c_red w70"><%= @member_score.student_homework_score[1] %></span></li> <li><span class="c_blue03 w280">作业积分(总得分)</span><span class="c_red w70"><%= @member_score.student_homework_score[1] %></span></li>
</ul> </ul>
</div> </div>

View File

@ -6,8 +6,8 @@ $('#ajax-modal').html('<%= escape_javascript(render :partial => 'courses/show_me
showModal('ajax-modal', '400px'); showModal('ajax-modal', '400px');
//$('#ajax-modal').css('height','569px'); //$('#ajax-modal').css('height','569px');
$('#ajax-modal').siblings().remove(); $('#ajax-modal').siblings().remove();
$('#ajax-modal').before("<span style='float: right;cursor:pointer;padding-left: 513px;'>" + $('#ajax-modal').before("<span>" +
"<a href='javascript:void(0)' onclick='hidden_homework_score_form();'><img src='/images/bid/close.png' width='26px' height='26px' style='margin-left: -30px;' /></a></span>"); "<a href='javascript:void(0)' onclick='hidden_homework_score_form();'><img src='/images/bid/close.png' width='26px' height='26px' style='margin-left: 375px;' /></a></span>");
//$('#ajax-modal').parent().removeClass(); //$('#ajax-modal').parent().removeClass();
$('#ajax-modal').parent().css("top","30%").css("left","40%").css("position","fixed"); $('#ajax-modal').parent().css("top","30%").css("left","40%").css("position","fixed");
$('#ajax-modal').parent().addClass("new-watcher"); $('#ajax-modal').parent().addClass("new-watcher");

View File

@ -44,7 +44,7 @@
<% end %> <% end %>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
<div class=""> <div class="mt5">
<p class="f_l mb5 c_grey02">文件大小:<%= number_to_human_size(file.filesize) %></p> <p class="f_l mb5 c_grey02">文件大小:<%= number_to_human_size(file.filesize) %></p>
<%= link_to( l(:button_delete), attachment_path(file), <%= link_to( l(:button_delete), attachment_path(file),
:data => {:confirm => l(:text_are_you_sure)}, :method => :delete,:class => "f_r re_de") if delete_allowed && file.container_id == @course.id && file.container_type == "Course"%> :data => {:confirm => l(:text_are_you_sure)}, :method => :delete,:class => "f_r re_de") if delete_allowed && file.container_id == @course.id && file.container_type == "Course"%>

View File

@ -45,7 +45,7 @@
<p class="fl ml20 f14 mb10 c_orange">基本规则设置总分为100分</p> <p class="fl ml20 f14 mb10 c_orange">基本规则设置总分为100分</p>
<div class="cl"></div> <div class="cl"></div>
<ul class="ml10"> <ul class="ml10">
<li> <li style="display: none;">
<label class="label02">迟交扣分:&nbsp;</label> <label class="label02">迟交扣分:&nbsp;</label>
<%= select_tag :late_penalty,options_for_select(late_penalty_option,homework.late_penalty), {:class => "fl mb10 h26 w70"} %> <%= select_tag :late_penalty,options_for_select(late_penalty_option,homework.late_penalty), {:class => "fl mb10 h26 w70"} %>
<span class="fl mt5">&nbsp;分</span> <span class="fl mt5">&nbsp;分</span>
@ -97,7 +97,7 @@
<div class="cl"></div> <div class="cl"></div>
</li> </li>
<li > <li style="display: none;">
<label class="label02">缺评扣分:&nbsp;</label> <label class="label02">缺评扣分:&nbsp;</label>
<%= select_tag :absence_penalty,options_for_select(absence_penalty_option,homework.homework_detail_manual.absence_penalty), {:class => "fl mb10 h26 w70"} %> <%= select_tag :absence_penalty,options_for_select(absence_penalty_option,homework.homework_detail_manual.absence_penalty), {:class => "fl mb10 h26 w70"} %>
<span class="fl mt5">&nbsp;分</span> <span class="fl mt5">&nbsp;分</span>

View File

@ -1,9 +1,6 @@
<p> <p>
<span class="c_blue" style="color:#1b55a7;"> <span class="c_blue" style="color:#1b55a7;">
<%= link_to(h("#{@news.author.login}(#{@news.author.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %> <%= link_to(h("#{@news.author.login}(#{@news.author.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %>
</span><%= l(:mail_issue_title_userin)%> </span><%= l(:mail_issue_title_userin)%>
<span class="c_blue" style="color:#1b55a7;"> <span class="c_blue" style="color:#1b55a7;">
<% if @news.project %> <% if @news.project %>
@ -11,7 +8,8 @@
<% elsif @news.course %> <% elsif @news.course %>
<%=h @news.course.name %> : <%= link_to(h(@news.title), @news_url,:style=>'color:#1b55a7; font-weight:bold;') %> <%=h @news.course.name %> : <%= link_to(h(@news.title), @news_url,:style=>'color:#1b55a7; font-weight:bold;') %>
<% end %> <% end %>
</span><%= l(:mail_issue_title_active)%></p> </span><%= l(:mail_issue_title_active)%>
</p>
<div class="mail_box" style="border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;"> <div class="mail_box" style="border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;">
<ul style="list-style-type:none; margin:0; padding:0;"> <ul style="list-style-type:none; margin:0; padding:0;">
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_subject)%></strong></span> <li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_subject)%></strong></span>
@ -25,7 +23,7 @@
</li> </li>
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_content)%></strong></span> <li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_content)%></strong></span>
<span style="float: left; width: 526px"> <span style="float: left; width: 526px">
<%= @news.description %> <%= @news.description.html_safe %>
</span> </span>
</li> </li>

View File

@ -1,10 +1,3 @@
<div class="content"> <div class="content">
<h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" > <h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" >
<%= @subject %> <%= @subject %>
@ -15,12 +8,10 @@
<h2 class="wmail_h2" style="color:#15bccf; "><%= l(:label_course_overview)%></h2> <h2 class="wmail_h2" style="color:#15bccf; "><%= l(:label_course_overview)%></h2>
<% unless @course_news.first.nil? %> <% unless @course_news.first.nil? %>
<ul class="wmail_ul" style=" list-style-type:none;clear: both;margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;"> <ul class="wmail_ul" style=" list-style-type:none;clear: both;margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;">
<h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" > <h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" >
<%= l(:label_course_news) %> <%= l(:label_course_news) %>
<span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @course_news.count %>)</span> <span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @course_news.count %>)</span>
</h4> </h4>
<% @course_news.each do |course_new|%> <% @course_news.each do |course_new|%>
<li style="clear: both; list-style: none;"> <li style="clear: both; list-style: none;">
<span class="wmail_dis" style="float:left; color:#000000; margin-right:5px;">▪</span> <span class="wmail_dis" style="float:left; color:#000000; margin-right:5px;">▪</span>
@ -44,11 +35,12 @@
<% end %> <% end %>
<div class="cl"></div> <div class="cl"></div>
</ul><!--课程动态 end--> </ul><!--课程通知 end-->
<% end %> <% end %>
<!--课程作业-->
<% if !@bids.first.nil? || !@homeworks.first.nil? %> <% if !@bids.first.nil? || !@homeworks.first.nil? %>
<ul class="wmail_ul" style="clear: both;margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;"> <ul class="wmail_ul" style="clear: both;margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;">
<h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;"><%= l(:label_homework_overview) %><span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @bids.count %>)</span></h4> <h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;"><%= l(:label_homework_overview) %><span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @bids.count %>)</span></h4>
<% unless @bids.first.nil?%> <% unless @bids.first.nil?%>
<% @bids.each do |bid| %> <% @bids.each do |bid| %>
@ -101,9 +93,9 @@
</ul><!--作业动态 end--> </ul><!--作业动态 end-->
<% end %> <% end %>
<!-- 课程留言 -->
<% unless @course_journal_messages.first.nil? %> <% unless @course_journal_messages.first.nil? %>
<ul class="wmail_ul" style="clear: both;margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;"> <ul class="wmail_ul" style="clear: both;margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;">
<h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" > <h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" >
<%= l(:view_course_journals_for_messages) %> <%= l(:view_course_journals_for_messages) %>
<span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @course_journal_messages.count %>)</span> <span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @course_journal_messages.count %>)</span>
@ -130,45 +122,39 @@
<span class="wmail_date" style="color:#6e6e6e; float:right;display:block; margin-left:10px;"><%= format_time(course_journal_message.created_on) %></span> <span class="wmail_date" style="color:#6e6e6e; float:right;display:block; margin-left:10px;"><%= format_time(course_journal_message.created_on) %></span>
</li> </li>
<% end %> <% end %>
<div class="cl"></div> <div class="cl"></div>
</ul><!--课程留言 end--> </ul><!--课程留言 end-->
<% end %> <% end %>
<!-- 课程讨论区 -->
<% unless @course_messages.first.nil? %> <% unless @course_messages.first.nil? %>
<ul class="wmail_ul" style="margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;"> <ul class="wmail_ul" style="margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;">
<h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" > <h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" >
<%= l(:view_borad_course) %> <%= l(:view_borad_course) %>
<span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @course_journal_messages.count %>)</span> <span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @course_journal_messages.count %>)</span>
</h4> </h4>
<% @course_messages.each do |course_message|%> <% @course_messages.each do |course_message|%>
<li style="clear: both; list-style: none;"> <li style="clear: both; list-style: none;">
<span class="wmail_dis" style="float:left; color:#000000; margin-right:5px;">▪</span> <span class="wmail_dis" style="float:left; color:#000000; margin-right:5px;">▪</span>
<span class="wmail_b" style="color:#1b55a7; font-weight:bold; float:left;">[</span> <span class="wmail_b" style="color:#1b55a7; font-weight:bold; float:left;">[</span>
<%= link_to truncate(course_message.course.name,length: 30,omission: '...'), course_url(course_message.course.id, :token => @token.value), <%= link_to truncate(course_message.course.name,length: 30,omission: '...'), course_url(course_message.course.id, :token => @token.value),
:class=> "wmail_column", :class=> "wmail_column",
:style=> " font-weight: bold; display:block; float:left; color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" %> :style=> " font-weight: bold; display:block; float:left; color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" %>
<span class="wmail_b" style="color:#1b55a7; font-weight:bold; float:left;">]</span> <span class="wmail_b" style="color:#1b55a7; font-weight:bold; float:left;">]</span>
<%= link_to course_message.author, user_activities_url(course_message.author,:token => @token.value), :class => "wmail_name", <%= link_to course_message.author, user_activities_url(course_message.author,:token => @token.value), :class => "wmail_name",
:style => "color:#fe5722; float:left;display:block; margin-right:5px; margin-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"%> :style => "color:#fe5722; float:left;display:block; margin-right:5px; margin-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"%>
<span class="wmail_txt" style="float:left; margin-right:5px;color:#6e6e6e;"><%= l(:label_send_course_messages) %></span> <span class="wmail_txt" style="float:left; margin-right:5px;color:#6e6e6e;"><%= l(:label_send_course_messages) %></span>
<%= link_to truncate(course_message.subject,length: 30,omission: '...'),board_message_url(course_message, :board_id => course_message.board_id,:token => @token.value), <%= link_to truncate(course_message.subject,length: 30,omission: '...'),board_message_url(course_message, :board_id => course_message.board_id,:token => @token.value),
:class => 'wmail_info', :class => 'wmail_info',
:style => "color:#5a5a5a; float:left; margin-right:5px; display:block;color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" :style => "color:#5a5a5a; float:left; margin-right:5px; display:block;color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" %>
%>
<span class="wmail_date" style="color:#6e6e6e; float:right;display:block; margin-left:10px;"><%= format_time(course_message.created_on) %></span> <span class="wmail_date" style="color:#6e6e6e; float:right;display:block; margin-left:10px;"><%= format_time(course_message.created_on) %></span>
</li> </li>
<% end %> <% end %>
<div class="cl"></div> <div class="cl"></div>
</ul><!--课程讨论 end--> </ul><!-- 课程讨论区end -->
<% end %> <% end %>
<!-- 课件 -->
<% unless @attachments.first.nil? %> <% unless @attachments.first.nil? %>
<ul class="wmail_ul" style="margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;"> <ul class="wmail_ul" style="margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;">
<h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" > <h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" >
@ -200,8 +186,12 @@
<div class="cl"></div> <div class="cl"></div>
</ul><!--课件下载 end--> </ul><!--课件下载 end-->
<% end %> <% end %>
</div><!--课程动态 end--> </div>
<% end %> <% end %>
<!--项目相关-->
<% if @issues.first || @project_messages.first %> <% if @issues.first || @project_messages.first %>
<div class="wmail_main" style="padding:20px 10px 0px;"> <div class="wmail_main" style="padding:20px 10px 0px;">
<h2 class="wmail_h2" style="color:#15bccf; "><%= l(:label_project_overview_new)%></h2> <h2 class="wmail_h2" style="color:#15bccf; "><%= l(:label_project_overview_new)%></h2>
@ -211,21 +201,17 @@
<%= l(:label_issue_tracking) %> <%= l(:label_issue_tracking) %>
<span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @issues.count %>)</span> <span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @issues.count %>)</span>
</h4> </h4>
<% @issues.each do |issue|%> <% @issues.each do |issue|%>
<li style="clear: both; list-style: none;"> <li style="clear: both; list-style: none;">
<span class="wmail_dis" style="float:left; color:#000000; margin-right:5px;">▪</span> <span class="wmail_dis" style="float:left; color:#000000; margin-right:5px;">▪</span>
<span class="wmail_b" style="color:#1b55a7; font-weight:bold; float:left;">[</span> <span class="wmail_b" style="color:#1b55a7; font-weight:bold; float:left;">[</span>
<%= link_to truncate(issue.project.name,length: 30,omission: '...'), project_url(issue.project, :token => @token.value), <%= link_to truncate(issue.project.name,length: 30,omission: '...'), project_url(issue.project, :token => @token.value),
:class=> "wmail_column", :class=> "wmail_column",
:style=> " font-weight: bold; display:block; float:left; color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" %> :style=> " font-weight: bold; display:block; float:left; color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" %>
<span class="wmail_b" style="color:#1b55a7; font-weight:bold; float:left;">]</span> <span class="wmail_b" style="color:#1b55a7; font-weight:bold; float:left;">]</span>
<%= link_to issue.author, user_activities_url(issue.author,:token => @token.value), :class => "wmail_name", <%= link_to issue.author, user_activities_url(issue.author,:token => @token.value), :class => "wmail_name",
:style => "color:#fe5722; float:left;display:block; margin-right:5px; margin-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"%> :style => "color:#fe5722; float:left;display:block; margin-right:5px; margin-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"%>
<span class="wmail_txt" style="float:left; margin-right:5px;color:#6e6e6e;"><%= l(:label_project_issue) %></span> <span class="wmail_txt" style="float:left; margin-right:5px;color:#6e6e6e;"><%= l(:label_project_issue) %></span>
<%= link_to truncate(issue.subject,length: 30,omission: '...'),issue_url(issue, :token => @token.value), <%= link_to truncate(issue.subject,length: 30,omission: '...'),issue_url(issue, :token => @token.value),
:class => 'wmail_info', :class => 'wmail_info',
:style => "color:#5a5a5a; float:left; margin-right:5px; display:block;color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" :style => "color:#5a5a5a; float:left; margin-right:5px; display:block;color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"
@ -238,6 +224,7 @@
</ul><!--问题跟踪 end--> </ul><!--问题跟踪 end-->
<% end %> <% end %>
<!-- 讨论区 -->
<% unless @project_messages.first.nil? %> <% unless @project_messages.first.nil? %>
<ul class="wmail_ul" style="margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;"> <ul class="wmail_ul" style="margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;">
<h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" > <h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" >
@ -271,10 +258,41 @@
</ul><!--项目论坛 end--> </ul><!--项目论坛 end-->
<% end %> <% end %>
<!--项目新闻-->
<% unless @project_news.first.nil? %>
<ul class="wmail_ul" style=" list-style-type:none;clear: both;margin-left:10px; border-bottom:1px dashed #cfcfcf; padding-bottom:15px; width:720px; margin-bottom:15px;">
<h4 class="wmail_h4" style="color:#474646; font-size:14px; margin-bottom:5px;" >
<%= l(:label_course_news) %>
<span class="wmail_num" style="color:#fe3f0c; margin-left:5px; font-weight:normal;">(<%= @project_news.count %>)</span>
</h4>
<% @project_news.each do |project_new|%>
<li style="clear: both; list-style: none;">
<span class="wmail_dis" style="float:left; color:#000000; margin-right:5px;">▪</span>
<span class="wmail_b" style="color:#1b55a7; font-weight:bold; float:left;">[</span>
<%= link_to truncate(project_new.project.name,length: 30,omission: '...'), project_url(project_new.project, :token => @token.value),
:class=> "wmail_column",
:style=> " font-weight: bold; display:block; float:left; color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" %>
<span class="wmail_b" style="color:#1b55a7; font-weight:bold; float:left;">]</span>
<%= link_to project_new.author, user_activities_url(project_new.author,:token => @token.value), :class => "wmail_name",
:style => "color:#fe5722; float:left;display:block; margin-right:5px; margin-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"%>
<span class="wmail_txt" style="float:left; margin-right:5px;color:#6e6e6e;"><%= l(:label_project_notice) %></span>
</div><!--项目动态 end--> <%= link_to truncate(project_new.title,length: 30,omission: '...'), news_url(project_new,:token => @token.value),
:class => 'wmail_info',
:style => "color:#5a5a5a; float:left; margin-right:5px; display:block;color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"
%>
<span class="wmail_date" style="color:#6e6e6e; float:right;display:block; margin-left:10px;"><%= format_time(project_new.created_on) %></span>
</li>
<% end %> <% end %>
<div class="cl"></div>
</ul><!-- 项目新闻end -->
<% end %>
</div>
<% end %><!-- 项目动态end -->
<!-- 用户留言 -->
<% unless @user_journal_messages.first.nil? %> <% unless @user_journal_messages.first.nil? %>
<div class="wmail_main" style="padding:20px 10px 0px;"> <div class="wmail_main" style="padding:20px 10px 0px;">
<h2 class="wmail_h2" style="color:#15bccf; "><%= l(:label_activities) %></h2> <h2 class="wmail_h2" style="color:#15bccf; "><%= l(:label_activities) %></h2>
@ -303,7 +321,7 @@
<% end %> <% end %>
<div class="cl"></div> <div class="cl"></div>
</ul><!--课程动态 end--> </ul><!--用户留言 end-->
</div><!--个人动态 end--> </div><!--个人动态 end-->
<% end %> <% end %>

View File

@ -76,8 +76,24 @@
<a href="#" class="btn_free" onclick="senderEmail($(this));"> <a href="#" class="btn_free" onclick="senderEmail($(this));">
<%= l(:label_send_email)%> <%= l(:label_send_email)%>
</a> </a>
<% end %>
<%# 邀请用户的状态 %>
<% unless @inviter_lists.blank? %>
<div>
<span class="status_inviter">已邀请的用户</span><br/>
<% @inviter_lists.each do |inviter_list| %>
<%= inviter_list.user.name %><br/>
<% end %>
</br>
<span class="status_inviter">等待加入项目的用户</span><br/>
<% @inviter_lists.each do |inviter_list| %>
<% unless inviter_list.user.member_of?(@project) %>
<%= inviter_list.user.name %><br/>
<% end %>
<% end %>
</div>
<% end %> <% end %>
</div> </div>
</div>

View File

@ -16,7 +16,7 @@
<%= render :partial => 'student_work/student_work_attachment_form', :locals => {:work => work,:score => score} %> <%= render :partial => 'student_work/student_work_attachment_form', :locals => {:work => work,:score => score} %>
</div> </div>
<%end%> <%end%>
<a href="javascript:void(0);" class="blue_n_btn fr" onclick="$(this).parent().parent().submit();">提交</a> <a href="javascript:void(0);" class="blue_n_btn fr evaluation_submit" onclick="$(this).parent().parent().submit();">提交</a>
<div class="cl"></div> <div class="cl"></div>
</li> </li>
<% end%> <% end%>

View File

@ -1,22 +1,21 @@
<!-- 匿评作品列表,显示某一个作品的信息 --> <!-- 匿评作品列表,显示某一个作品的信息 -->
<ul class="hwork_ul <%= cycle("b_grey", "") %>" id="student_work_<%= student_work.id%>"> <ul class="hwork_ul <%= cycle("b_grey", "") %>" id="student_work_<%= student_work.id%>">
<% is_my_work = student_work.user == User.current%> <% is_my_work = student_work.user == User.current%>
<li style="min-height: 1px;width: 65px;"> <li class="hwork_num">
<% if is_my_work%> <% if is_my_work%>
<% student_id = student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%> <span>
<%= link_to student_id,"javascript:void(0)",:class => "c_grey hwork_center",:title => student_id%> <%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%>
<% else%> </span>
<%= link_to "--", "javascript:void(0)",:class => "c_grey hwork_center"%>
<% end%> <% end%>
</li> </li>
<li> <li class="hwork_name">
<% if is_my_work%> <% if is_my_work%>
<%= link_to student_work.user.show_name,user_path(student_work.user),:class => "c_blue02 hwork_name",:title => student_work.user.show_name %> <%= link_to student_work.user.show_name,user_path(student_work.user),:title => student_work.user.show_name %>
<% else%> <% else%>
<%= link_to "匿名","javascript:void(0)",:class => "c_blue02 hwork_name"%> <%= link_to "匿名","javascript:void(0)"%>
<% end%> <% end%>
</li> </li>
<li class=" hwork_tit_e" style="width: 440px"> <li class=" hwork_tit_e" style="width: 410px">
<%= link_to student_work.name, student_work_path(student_work),:remote => true, :title => student_work.name, :class => "c_blue02"%> <%= link_to student_work.name, student_work_path(student_work),:remote => true, :title => student_work.name, :class => "c_blue02"%>
</li> </li>
<% my_score = student_work_score(student_work,User.current) %> <% my_score = student_work_score(student_work,User.current) %>

View File

@ -1,7 +1,7 @@
<li class="w70 "> <li class="hwork_num ">
<span href="javascript:void(0);" class="c_dark f14 fb fl ml15 ">学号</span> <span class="f14 f_b c_dark fl ">学号</span>
</li> </li>
<li class="w70"> <li class="hwork_name f14 fb c_dark">
<span class="c_dark f14 fb fl ">学生姓名</span> <span class="c_dark f14 fb fl ">学生姓名</span>
</li> </li>
<li class="hwork_tit_e"> <li class="hwork_tit_e">

View File

@ -35,9 +35,9 @@
<% end%> <% end%>
<li > <li >
<span class="tit_fb ">内容:</span> <span class="tit_fb ">内容:</span>
<p class="show_hwork_p break_word"> <div class="show_hwork_p break_word">
<%= @work.description%> <%= textilizable @work.description%>
</p> </div>
<div class="cl"></div> <div class="cl"></div>
</li> </li>
<li > <li >
@ -54,13 +54,13 @@
<% if @is_teacher || (@homework.homework_type == 1 && @homework.homework_detail_manual.comment_status == 2 && @work.user != User.current )%> <% if @is_teacher || (@homework.homework_type == 1 && @homework.homework_detail_manual.comment_status == 2 && @work.user != User.current )%>
<!-- 老师 || 匿评作业 && 开启匿评状态 && 不是当前用户自己的作品 --> <!-- 老师 || 匿评作业 && 开启匿评状态 && 不是当前用户自己的作品 -->
<div id="add_student_score_<%= @work.id%>" class="mt10 "> <div id="add_student_score_<%= @work.id%>" class="mt10 evaluation">
<%= render :partial => 'add_score',:locals => {:work => @work,:score => @score}%> <%= render :partial => 'add_score',:locals => {:work => @work,:score => @score}%>
</div> </div>
<% end%> <% end%>
</ul> </ul>
<div class="ping_box" id="score_list_<%= @work.id%>" style="<%= @work.student_works_scores.empty? ? 'padding:0px;' : ''%>"> <div class="ping_box mt10" id="score_list_<%= @work.id%>" style="<%= @work.student_works_scores.empty? ? 'padding:0px;' : ''%>">
<%@work.student_works_scores.order("created_at desc").each do |score|%> <%@work.student_works_scores.order("created_at desc").each do |score|%>
<div id="work_score_<%= score.id%>"> <div id="work_score_<%= score.id%>">
<%= render :partial => 'student_work_score',:locals => {:score => score}%> <%= render :partial => 'student_work_score',:locals => {:score => score}%>

View File

@ -1,22 +1,23 @@
<!-- 作品列表,显示某一个作品的信息 --> <!-- 作品列表,显示某一个作品的信息 -->
<ul class="hwork_ul <%= cycle("b_grey", "") %>" id="student_work_<%= student_work.id%>"> <ul class="hwork_ul <%= cycle("b_grey", "") %>" id="student_work_<%= student_work.id%>">
<li style="min-height: 1px;width: 65px;"> <li class="hwork_num">
<% student_id = student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%> <span>
<%= link_to student_id,"javascript:void(0)",:class => "c_grey hwork_center",:title => student_id%> <%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%>
</span>
</li> </li>
<li> <li class=" hwork_name ">
<%= link_to student_work.user.show_name,user_path(student_work.user),:class => "c_blue02 hwork_name",:title => student_work.user.show_name%> <%= link_to student_work.user.show_name,user_path(student_work.user),:title => student_work.user.show_name%>
</li> </li>
<li class=" hwork_tit"> <li class=" hwork_tit">
<%= link_to student_work.name, student_work_path(student_work),:remote => true,:title => student_work.name, :class => "c_blue02"%> <%= link_to student_work.name, student_work_path(student_work),:remote => true,:title => student_work.name, :class => "c_blue02"%>
</li> </li>
<li class=" hwork_code <%= student_work.teacher_score.nil? ? 'c_grey' : 'c_red'%>"> <li class=" hwork_code <%= student_work.teacher_score.nil? ? 'c_grey' : 'c_red'%> mr18">
<%= student_work.teacher_score.nil? ? "--" : format("%.2f",student_work.teacher_score)%> <%= student_work.teacher_score.nil? ? "--" : format("%.2f",student_work.teacher_score)%>
</li> </li>
<li class=" hwork_code <%= student_work.teaching_asistant_score.nil? ? 'c_grey' : 'c_red'%>"> <li class=" hwork_code <%= student_work.teaching_asistant_score.nil? ? 'c_grey' : 'c_red'%> mr18">
<%= student_work.teaching_asistant_score.nil? ? "--" : format("%.2f",student_work.teaching_asistant_score)%> <%= student_work.teaching_asistant_score.nil? ? "--" : format("%.2f",student_work.teaching_asistant_score)%>
</li> </li>
<li class=" hwork_code02 <%= student_work.student_score.nil? ? 'c_grey' : 'c_red'%> student_score_info"> <li class=" hwork_code02 <%= student_work.student_score.nil? ? 'c_grey' : 'c_red'%> mr18 student_score_info" >
<%= student_work.student_score.nil? ? "--" : format("%.2f",student_work.student_score)%> <%= student_work.student_score.nil? ? "--" : format("%.2f",student_work.student_score)%>
<% unless student_work.student_score.nil?%> <% unless student_work.student_score.nil?%>
<span class="c_blue"> <span class="c_blue">
@ -30,7 +31,7 @@
</div> </div>
<% end%> <% end%>
</li> </li>
<li class=" hwork_code02 <%= student_work.final_score.nil? ? 'c_grey' : 'c_red'%>"> <li class=" hwork_code <%= student_work.final_score.nil? ? 'c_grey' : 'c_red'%>">
<%= student_work.final_score.nil? ? "--" : format("%.2f",student_work.final_score)%> <%= student_work.final_score.nil? ? "--" : format("%.2f",student_work.final_score)%>
</li> </li>
<div class="cl"></div> <div class="cl"></div>

View File

@ -1,32 +1,32 @@
<li class="w70 "> <li class="hwork_num ">
<span href="javascript:void(0);" class="c_dark f14 fb fl ">学号</span> <a href="javascript:void(0);" class=" f14 f_b c_dark fl" >学号</a>
</li> </li>
<li class="w70"> <li class=" hwork_name f14 fb c_dark">
<span class="c_dark f14 fb fl ">学生姓名</span> 学生姓名
</li> </li>
<li class="hwork_tit"> <li class="hwork_tit">
<span class="c_dark f14 fb fl">作品名称</span> <span class="c_dark f14 fb fl">作品名称</span>
</li> </li>
<li class="w70 mr5" > <li class="mr5 w70">
<%= link_to "教师评分",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name) : "javascript:void(0)",:class => "c_dark f14 fb fl"%> <%= link_to "教师评分",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name) : "javascript:void(0)",:class => "f14 f_b c_dark fl hwork_code"%>
<% if @show_all && @order == "teacher_score"%> <% if @show_all && @order == "teacher_score"%>
<a href="javascript:void(0);" class="<%= @score == 'desc' ? 'st_up' : 'st_down'%>" ></a> <a href="javascript:void(0);" class="<%= @score == 'desc' ? 'st_up' : 'st_down'%>" ></a>
<% end%> <% end%>
</li> </li>
<li class="w70 mr5"> <li class="mr5 w70">
<%= link_to "教辅评分",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name) : "javascript:void(0)",:class => "c_dark f14 fb fl"%> <%= link_to "教辅评分",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name) : "javascript:void(0)",:class => "f14 f_b c_dark fl hwork_code"%>
<% if @show_all && @order == "teaching_asistant_score"%> <% if @show_all && @order == "teaching_asistant_score"%>
<a href="javascript:void(0);" class="<%= @score == 'desc' ? 'st_up' : 'st_down'%>" ></a> <a href="javascript:void(0);" class="<%= @score == 'desc' ? 'st_up' : 'st_down'%>" ></a>
<% end%> <% end%>
</li> </li>
<li class="w60 mr5 ml10"> <li class="mr5 ml15 w40">
<%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name) : "javascript:void(0)",:class => "c_dark f14 fb fl"%> <%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
<% if @show_all && @order == "student_score"%> <% if @show_all && @order == "student_score"%>
<a href="javascript:void(0);" class="<%= @score == 'desc' ? 'st_up' : 'st_down'%>" ></a> <a href="javascript:void(0);" class="<%= @score == 'desc' ? 'st_up' : 'st_down'%>" ></a>
<% end%> <% end%>
</li> </li>
<li class="w40 ml10" id="final_sort"> <li class="ml30">
<%= link_to "成绩",@show_all ? student_work_index_path(:homework => @homework.id,:order => "final_score", :sort => @score, :name => @name) : "javascript:void(0)",:class => "c_dark f14 fb fl"%> <%= link_to "成绩",@show_all ? student_work_index_path(:homework => @homework.id,:order => "final_score", :sort => @score, :name => @name) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
<% if @show_all && @order == "final_score"%> <% if @show_all && @order == "final_score"%>
<a href="javascript:void(0);" class="<%= @score == 'desc' ? 'st_up' : 'st_down'%>" ></a> <a href="javascript:void(0);" class="<%= @score == 'desc' ? 'st_up' : 'st_down'%>" ></a>
<% end%> <% end%>

View File

@ -1,5 +1,8 @@
<% for attachment in attachments %> <% attachments.each_with_index do |attachment,i| %>
<div id="attachment_<%= attachment.id%>">
<%= link_to_short_attachment attachment, :class => 'link_file', :download => true -%> <%= link_to_short_attachment attachment, :class => 'link_file', :download => true -%>
<%= link_to('&nbsp;'.html_safe, attachment_path(attachment, :format => 'js'), :method => 'delete', :remote => true, :title => '删除', :class => 'remove-upload', :confirm => l(:text_are_you_sure)) if attachment.id && User.current == attachment.author %>
<span class="ml5">(<%= number_to_human_size attachment.filesize %>)</span> <span class="ml5">(<%= number_to_human_size attachment.filesize %>)</span>
<div class="cl"></div> <div class="cl"></div>
</div>
<% end -%> <% end -%>

View File

@ -36,6 +36,7 @@
</span> </span>
<% if @show_all%> <% if @show_all%>
<input type="text" value="<%= @name%>" placeholder="昵称、学号、姓名搜索" class="min_search ml10 fl" onkeypress="SearchByName($(this),'<%= student_work_index_path(:homework => @homework.id)%>',event);"> <input type="text" value="<%= @name%>" placeholder="昵称、学号、姓名搜索" class="min_search ml10 fl" onkeypress="SearchByName($(this),'<%= student_work_index_path(:homework => @homework.id)%>',event);">
<a class="student_work_search fl" onclick="SearchByName($(this).prev(),'<%= student_work_index_path(:homework => @homework.id)%>');" href="javascript:void(0)">搜索</a>
<% end%> <% end%>
<% if @is_teacher%> <% if @is_teacher%>
<div class="fr"> <div class="fr">

View File

@ -86,6 +86,7 @@ zh:
label_roadmap: 里程碑 #版本路线图 label_roadmap: 里程碑 #版本路线图
project_module_dts: DTS测试工具 project_module_dts: DTS测试工具
label_project_tool_response: 用户反馈 label_project_tool_response: 用户反馈
label_course_news: 项目新闻
label_project_overview: "项目简介" label_project_overview: "项目简介"
label_expend_information: 展开更多信息 label_expend_information: 展开更多信息

View File

@ -112,7 +112,7 @@ zh:
field_project: 项目 field_project: 项目
field_issue: 问题 field_issue: 问题
field_notes: 说明 field_notes: 内容
field_is_closed: 已关闭的问题 field_is_closed: 已关闭的问题
field_is_default: 默认值 field_is_default: 默认值

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 => 20150602055730) do ActiveRecord::Schema.define(:version => 20150604153000) 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
@ -23,6 +23,20 @@ ActiveRecord::Schema.define(:version => 20150602055730) do
add_index "activities", ["user_id", "act_type"], :name => "index_activities_on_user_id_and_act_type" add_index "activities", ["user_id", "act_type"], :name => "index_activities_on_user_id_and_act_type"
add_index "activities", ["user_id"], :name => "index_activities_on_user_id" add_index "activities", ["user_id"], :name => "index_activities_on_user_id"
create_table "activity_notifies", :force => true do |t|
t.integer "activity_container_id"
t.string "activity_container_type"
t.integer "activity_id"
t.string "activity_type"
t.integer "notify_to"
t.datetime "created_on"
t.integer "is_read"
end
add_index "activity_notifies", ["activity_container_id", "activity_container_type"], :name => "index_an_activity_container_id"
add_index "activity_notifies", ["created_on"], :name => "index_an_created_on"
add_index "activity_notifies", ["notify_to"], :name => "index_an_notify_to"
create_table "api_keys", :force => true do |t| create_table "api_keys", :force => true do |t|
t.string "access_token" t.string "access_token"
t.datetime "expires_at" t.datetime "expires_at"
@ -606,6 +620,13 @@ ActiveRecord::Schema.define(:version => 20150602055730) do
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
end end
create_table "invite_lists", :force => true do |t|
t.integer "project_id"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "issue_categories", :force => true do |t| create_table "issue_categories", :force => true do |t|
t.integer "project_id", :default => 0, :null => false t.integer "project_id", :default => 0, :null => false
t.string "name", :limit => 30, :default => "", :null => false t.string "name", :limit => 30, :default => "", :null => false

View File

@ -793,6 +793,10 @@ function SearchByName(obj,url,event)
location.href = url + "&name=" + obj.val(); location.href = url + "&name=" + obj.val();
} }
} }
function SearchByName(obj,url)
{
location.href = url + "&name=" + obj.val();
}
$(function(){ $(function(){
$("#about_project label").eq(1).remove(); $("#about_project label").eq(1).remove();

View File

@ -630,14 +630,17 @@ a:hover.icon_add{background:url(images/icons.png) -20px -310px no-repeat;}
.w300{ width:300px;} .w300{ width:300px;}
.w80{ width:80px;} .w80{ width:80px;}
.t_c{ text-align:center;} .t_c{ text-align:center;}
.hwork_tit{ width:240px; float:left; }
.hwork_tit a{ width:255px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; } .hwork_tit{ width:210px; float:left; }
.hwork_tit_e{ width:440px; float:left; } .hwork_tit a{ width:205px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
.hwork_tit_e a{ width:455px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; } .hwork_code{ width:56px; text-align:center; }
.hwork_code{ width:60px; text-align:center; margin-right:15px;} .hwork_code02{ width:60px; text-align:center; }
.hwork_code02{ width:60px; text-align:center; margin-right:10px;} .hwork_tit_e{ width:420px; float:left; }
.hwork_tit_e a{ width:405px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
.hwork_num{ width:90px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;min-height: 1px;}
.mr18{ margin-right:18px;}
a.hwork_center{ display:block; width:60px; margin-right:5px;overflow: hidden; white-space: nowrap; text-overflow:ellipsis;} a.hwork_center{ display:block; width:60px; margin-right:5px;overflow: hidden; white-space: nowrap; text-overflow:ellipsis;}
a.hwork_name{ display:block;width:65px; margin-right:10px;overflow: hidden;white-space: nowrap; text-overflow:ellipsis;min-height: 1px;} .hwork_name{ display:block;width:80px; overflow: hidden;white-space: nowrap; text-overflow:ellipsis;min-height: 1px;}
.show_hwork{ border:2px solid #64bdd9; width:646px; padding:10px; color:#666666; padding-bottom:0px; } .show_hwork{ border:2px solid #64bdd9; width:646px; padding:10px; color:#666666; padding-bottom:0px; }
.show_hwork ul li{ margin-bottom:5px;} .show_hwork ul li{ margin-bottom:5px;}
.show_hwork_arrow{ position:relative; top:2px; left:25px;background:url(../images/course/arrow_up.jpg) 0 0 no-repeat; width:20px; height:11px;} .show_hwork_arrow{ position:relative; top:2px; left:25px;background:url(../images/course/arrow_up.jpg) 0 0 no-repeat; width:20px; height:11px;}
@ -656,7 +659,6 @@ a:hover.ping_pic{border:1px solid #64bdd9;}
a.down_btn{ border:1px solid #CCC; color:#999; padding:0px 5px; font-size:12px; text-align:center; display:block;} a.down_btn{ border:1px solid #CCC; color:#999; padding:0px 5px; font-size:12px; text-align:center; display:block;}
a:hover.down_btn{ background:#14ad5a; color:#fff; border:1px solid #14ad5a;} a:hover.down_btn{ background:#14ad5a; color:#fff; border:1px solid #14ad5a;}
.fr{ float:right;} .fr{ float:right;}
.min_search{ width:200px; height:20px; border:1px solid #d0d0d0; color:#666; background:url(../images/public_icon.png) 185px -193px no-repeat; cursor:pointer;}
.li_min_search{ float:right; margin-right:-10px;} .li_min_search{ float:right; margin-right:-10px;}
.info_ni{ width:100px; padding:5px;position: absolute;display:none;-moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; box-shadow:0px 0px 5px #194a81; color:#666; background:#fff; text-align:left;} .info_ni{ width:100px; padding:5px;position: absolute;display:none;-moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; box-shadow:0px 0px 5px #194a81; color:#666; background:#fff; text-align:left;}
/*返回顶部*/ /*返回顶部*/
@ -671,6 +673,9 @@ input#score{ width:40px;}
.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;top:0;height:100%;background:#64bdd9;left:0;} .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;top:0;height:100%;background:#64bdd9;left:0;}
.filename { background: url(../images/pic_file.png) 0 -25px no-repeat;color: #3ca5c6;max-width: 150px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px;} .filename { background: url(../images/pic_file.png) 0 -25px no-repeat;color: #3ca5c6;max-width: 150px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px;}
.evaluation{position: relative;}
.evaluation_submit{position: absolute;right: 0px;bottom: 5px;}
.student_work_search{background-color: #64bdd9;color: white !important;padding: 2px 7px;margin-left: 10px;cursor: pointer; }
/* 与我相关 */ /* 与我相关 */
.new_icon{background:url(../images/new_icon.png) 0px 0px no-repeat; width:35px; height:15px; display:block;} .new_icon{background:url(../images/new_icon.png) 0px 0px no-repeat; width:35px; height:15px; display:block;}

View File

@ -49,6 +49,7 @@ a.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repea
a:hover.icon_removem{background:url(../images/img_floatbox.png) -22px -61px no-repeat;} a:hover.icon_removem{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}
a.btn_free{ background:#ff5722; display:block; text-align:center; color:#fff; padding:3px 0; width:80px; margin-bottom:10px;} a.btn_free{ background:#ff5722; display:block; text-align:center; color:#fff; padding:3px 0; width:80px; margin-bottom:10px;}
a:hover.btn_free{ background:#d63502;} a:hover.btn_free{ background:#d63502;}
.status_inviter{color: #3CA5C6;font-weight: bold; font-size: 14px }
/*成员邀请*/ /*成员邀请*/
.invi_search{ } .invi_search{ }
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;} .invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}

View File

@ -18,7 +18,7 @@ table{ background:#fff;}
.no_line{ border-bottom:none;} .no_line{ border-bottom:none;}
.line{border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;} .line{border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;}
.no_border{ border:none;} .no_border{ border:none;}
.min_search{ width:150px; height:20px; border:1px solid #d0d0d0; color:#666; background:url(../images/new_project/public_icon.png) 135px -193px no-repeat; cursor:pointer;} .min_search{ width:150px; height:20px; border:1px solid #d0d0d0; color:#666; background:url(../images/new_project/public_icon.png) 135px -193px no-repeat;}
/* font & color */ /* font & color */
h2{ font-size:18px; color:#15bccf;} h2{ font-size:18px; color:#15bccf;}
@ -59,6 +59,7 @@ h4{ font-size:14px; color:#3b3b3b;}
.ml10{ margin-left:10px;} .ml10{ margin-left:10px;}
.ml15{ margin-left:15px;} .ml15{ margin-left:15px;}
.ml20{ margin-left:20px;} .ml20{ margin-left:20px;}
.ml35{margin-left: 35px;}
.ml40{ margin-left:40px;} .ml40{ margin-left:40px;}
.ml45{ margin-left:45px;} .ml45{ margin-left:45px;}
.ml55{ margin-left:55px;} .ml55{ margin-left:55px;}
@ -86,6 +87,7 @@ h4{ font-size:14px; color:#3b3b3b;}
.mb20{ margin-bottom:20px;} .mb20{ margin-bottom:20px;}
.pl15{ padding-left:15px;} .pl15{ padding-left:15px;}
.w20{ width:20px;} .w20{ width:20px;}
.w40{width: 40px;}
.w45{ width: 45px;} .w45{ width: 45px;}
.w60{ width:60px;} .w60{ width:60px;}
.w70{ width:70px;} .w70{ width:70px;}