diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 7a4aface5..a185e3edf 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -1,6 +1,7 @@
class HomeworkCommonController < ApplicationController
layout "base_courses"
- before_filter :find_course, :only => [:index,:new]
+ before_filter :find_course, :only => [:index,:new,:create]
+ before_filter :find_homework, :only => [:edit]
def index
homeworks = @course.homework_commons
@@ -18,6 +19,8 @@ class HomeworkCommonController < ApplicationController
@homework.late_penalty = 2
@homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
@homework.publish_time = Time.now.strftime('%Y-%m-%d')
+
+ #匿评作业相关属性
@homework_detail_manual = HomeworkDetailManual.new
@homework_detail_manual.ta_proportion = 0.6
@homework_detail_manual.absence_penalty = 2
@@ -31,11 +34,50 @@ class HomeworkCommonController < ApplicationController
end
def create
+ if params[:homework_common]
+ homework = HomeworkCommon.new
+ homework.name = params[:homework_common][:name]
+ homework.description = params[:homework_common][:description]
+ homework.end_time = params[:homework_common][:end_time]
+ homework.publish_time = params[:homework_common][:publish_time]
+ homework.homework_type = params[:homework_common][:homework_type]
+ homework.late_penalty = params[:late_penalty]
+ homework.user_id = User.current.id
+ homework.course_id = @course.id
+
+ #匿评作业相关属性
+ homework_detail_manual = HomeworkDetailManual.new
+ homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
+ homework_detail_manual.comment_status = 1
+ homework_detail_manual.evaluation_start = params[:evaluation_start]
+ homework_detail_manual.evaluation_end = params[:evaluation_end]
+ homework_detail_manual.evaluation_num = params[:evaluation_num]
+ homework_detail_manual.absence_penalty = params[:absence_penalty]
+ homework.homework_detail_manual = homework_detail_manual
+
+ if homework.save
+ respond_to do |format|
+ format.html {
+ flash[:notice] = l(:notice_successful_create)
+ redirect_to homework_common_index_path(:course => @course.id)
+ }
+ end
+ return
+ end
+ end
+ respond_to do |format|
+ format.html {
+ flash[:notice] = l(:notice_failed_create)
+ redirect_to new_homework_common_path(:course => @course.id)
+ }
+ end
end
def edit
-
+ respond_to do |format|
+ format.html
+ end
end
def update
diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb
index 9593fa324..cb5c64778 100644
--- a/app/models/homework_common.rb
+++ b/app/models/homework_common.rb
@@ -1,5 +1,5 @@
#老师布置的作业表
-#homework_type: 1:普通作业;2:匿评作业;3:编程作业
+#homework_type: 0:普通作业;1:匿评作业;2:编程作业
class HomeworkCommon < ActiveRecord::Base
# attr_accessible :name, :user_id, :description, :publish_time, :end_time, :homework_type, :late_penalty, :course_id
include Redmine::SafeAttributes
diff --git a/app/views/homework_common/_homework_common_form.html.erb b/app/views/homework_common/_homework_common_form.html.erb
index a2bcf9ad9..2418c5650 100644
--- a/app/views/homework_common/_homework_common_form.html.erb
+++ b/app/views/homework_common/_homework_common_form.html.erb
@@ -44,7 +44,6 @@
diff --git a/app/views/homework_common/edit.html.erb b/app/views/homework_common/edit.html.erb
index 76299b5a3..f9d3f8b70 100644
--- a/app/views/homework_common/edit.html.erb
+++ b/app/views/homework_common/edit.html.erb
@@ -1 +1,16 @@
-编辑作业
\ No newline at end of file
+<%= javascript_include_tag "/assets/kindeditor/kindeditor" %>
+<%= error_messages_for 'homework_common' %>
+
+
+
+ <%= l(:label_course_homework_edit)%>
+
+
+
+ <%= form_for @homework do |f| %>
+ <%= render :partial => 'homework_common/homework_common_form', :locals => { :homework => @homework,:f => f,:edit_mode => true } %>
+
提交
+ <%= link_to '取消',homework_common_index_path(:course => @course.id),:class => 'grey_btn fl'%>
+ <% end%>
+
+
\ No newline at end of file
diff --git a/app/views/homework_common/new.html.erb b/app/views/homework_common/new.html.erb
index 6b21eabc3..b0fdc5299 100644
--- a/app/views/homework_common/new.html.erb
+++ b/app/views/homework_common/new.html.erb
@@ -8,8 +8,9 @@
<%= labelled_form_for @homework,:url => {:controller => 'homework_common',:action => 'create'} do |f| %>
+ <%= hidden_field_tag "course",@course.id%>
<%= render :partial => 'homework_common/homework_common_form', :locals => { :homework => @homework,:f => f,:edit_mode => false } %>
-
提交
+
提交
<%= link_to '取消',homework_common_index_path(:course => @course.id),:class => 'grey_btn fl'%>
<% end%>
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index 027601423..c98220c90 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -12,6 +12,7 @@ zh:
notice_account_wrong_password: 密码错误
name_can_be_empty: 可以不填写真实姓名[保密所需]
notice_successful_create: 创建成功
+ notice_failed_create: 创建失败
notice_successful_update: 更新成功
notice_successful_delete: 删除成功
notice_failed_delete: 删除失败
@@ -1538,6 +1539,7 @@ zh:
label_course_new_homework: 新建作业
label_course_homework_list: 作业列表
label_course_homework_new: 发布作业
+ label_course_homework_edit: 修改作业
label_course_news_new: 发布通知
label_fork_homework_new: 选为作业
#wang
diff --git a/public/javascripts/course.js b/public/javascripts/course.js
index e01407331..a2bfcfc82 100644
--- a/public/javascripts/course.js
+++ b/public/javascripts/course.js
@@ -450,9 +450,22 @@ $(function(){
$("#ta_proportion").change(function(){
var ta_proportion = $("#ta_proportion").val();
- $("#student_proportion").val(parseInt((1-ta_proportion)*100) + "%");
+ $("#student_proportion").val((100 - parseInt(ta_proportion * 100)) + "%");
});
});
+//第一次加载时,如果未开启匿评作业,隐藏显示匿评配置信息
+$(function(){
+ if($("#homework_common_homework_type").attr("checked") == "checked")
+ {
+ $("#evaluation_setting").show();
+ $("#ta_proportion").removeAttr("disabled");
+ }
+ else
+ {
+ $("#evaluation_setting").hide();
+ $("#ta_proportion").attr("disabled","disabled");
+ }
+});
//老师提交 新建/修改 作业
function submit_homework(id)
diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css
index 4624b26c9..255536e9c 100644
--- a/public/stylesheets/public.css
+++ b/public/stylesheets/public.css
@@ -153,7 +153,7 @@ a.green_btn{background:#28be6c;color:#fff;font-size:14px; font-weight:normal; pa
a:hover.green_btn{ background:#14ad5a;}
.blue_btn{ background:#64bdd9; color:#fff; font-size:14px; font-weight:normal;padding:2px 10px; text-align:center;}
a.blue_btn{background:#64bdd9;color:#fff;font-size:14px; font-weight:normal; padding:2px 10px; text-align:center;}
-a:hover.blue_btn{ background:#329cbd;}
+a:hover.blue_btn{ background:#329cbd;cursor: pointer;}
a.orange_btn{ background:#ff5722;color:#fff;font-size:14px; font-weight:normal; padding:2px 10px; text-align:center; }
a:hover.orange_btn{ background:#d63502;}