diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb
index 5d60238bf..aabe1a921 100644
--- a/app/services/courses_service.rb
+++ b/app/services/courses_service.rb
@@ -196,6 +196,8 @@ class CoursesService
@course.tea_id = current_user.id
@course.term = params[:term]
@course.time = params[:time]
+ @course.end_term = params[:end_term]
+ @course.end_time = params[:end_time]
#@course.school_id = params[:occupation]
@course.school_id = current_user.user_extensions.school_id
@course.setup_time = params[:setup_time]
diff --git a/app/views/courses/new.html.erb b/app/views/courses/new.html.erb
index f1b917816..9875ec9b7 100644
--- a/app/views/courses/new.html.erb
+++ b/app/views/courses/new.html.erb
@@ -4,64 +4,82 @@
@@ -50,6 +50,12 @@
<%= select_tag :term,options_for_select(course_term_option,@course.term || cur_course_term),{:id=>"term_selected"} %>
+
+ * 结束学期 :
+ <%= select_tag :end_time,options_for_select(course_time_option(@course.end_time),@course.end_time), {:id=>"end_time_selected"} %>
+ <%= select_tag :end_term,options_for_select(course_term_option,@course.end_term || cur_course_term),{:id=>"end_term_selected"} %>
+
+
* <%= l(:label_new_course_password)%> :
@@ -123,15 +129,17 @@
diff --git a/config/locales/courses/en.yml b/config/locales/courses/en.yml
index fd8ba2366..20d9d112c 100644
--- a/config/locales/courses/en.yml
+++ b/config/locales/courses/en.yml
@@ -15,7 +15,7 @@ en:
label_homework: Task
label_course_news: 课程通知
label_main_teacher: 主讲教师
- label_course_term: 开课学期
+ label_course_term: 开始学期
label_join_course: 加入
label_exit_course: exit course
diff --git a/config/locales/courses/zh.yml b/config/locales/courses/zh.yml
index 16d49ea1f..19b979d97 100644
--- a/config/locales/courses/zh.yml
+++ b/config/locales/courses/zh.yml
@@ -19,7 +19,7 @@ zh:
label_course_news: 课程通知
label_course_mail_news_reply: 课程通知回复
label_main_teacher: 主讲教师
- label_course_term: 开课学期
+ label_course_term: 开始学期
label_isuue_mail_status: 更新了issue状态!
label_join_course: 加入
diff --git a/db/migrate/20151231012634_add_last_term_to_course.rb b/db/migrate/20151231012634_add_last_term_to_course.rb
new file mode 100644
index 000000000..1b342eaaf
--- /dev/null
+++ b/db/migrate/20151231012634_add_last_term_to_course.rb
@@ -0,0 +1,17 @@
+class AddLastTermToCourse < ActiveRecord::Migration
+ def change
+ add_column :courses, :end_time, :integer
+ add_column :courses, :end_term, :string
+
+ count = Course.all.count / 30 + 2
+ transaction do
+ for i in 1 ... count do
+ Course.page(i).per(30).each do |course|
+ course.end_time = course.time
+ course.end_term = course.term
+ course.save
+ end
+ end
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 72ca3c649..ec783d251 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20151229022049) do
+ActiveRecord::Schema.define(:version => 20151231012634) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@@ -198,6 +198,7 @@ ActiveRecord::Schema.define(:version => 20151229022049) do
t.integer "last_message_id"
t.integer "parent_id"
t.integer "course_id"
+ t.integer "org_subfield_id"
end
add_index "boards", ["last_message_id"], :name => "index_boards_on_last_message_id"
@@ -474,6 +475,8 @@ ActiveRecord::Schema.define(:version => 20151229022049) do
t.integer "outline", :default => 0
t.integer "publish_resource", :default => 0
t.integer "is_delete", :default => 0
+ t.integer "end_time"
+ t.string "end_term"
end
create_table "custom_fields", :force => true do |t|
@@ -1643,10 +1646,6 @@ ActiveRecord::Schema.define(:version => 20151229022049) do
t.string "extra"
end
- create_table "temp", :id => false, :force => true do |t|
- t.integer "id", :default => 0, :null => false
- end
-
create_table "time_entries", :force => true do |t|
t.integer "project_id", :null => false
t.integer "user_id", :null => false
diff --git a/public/javascripts/course.js b/public/javascripts/course.js
index a0bce3099..df04d857b 100644
--- a/public/javascripts/course.js
+++ b/public/javascripts/course.js
@@ -119,6 +119,46 @@ function regex_course_class_period()
return false;
}
}
+//验证开始学期和结束学期
+function regex_time_term(){
+ var obj_time = document.getElementById("time");
+ var obj_end_time = document.getElementById("end_time");
+ var obj_term = document.getElementById("term");
+ var obj_end_term = document.getElementById("end_term");
+ var time = obj_time.options[obj_time.selectedIndex];
+ var end_time = obj_end_time.options[obj_end_time.selectedIndex];
+ var term = obj_term.options[obj_term.selectedIndex];
+ var end_term = obj_end_term.options[obj_end_term.selectedIndex];
+ if(time.value == end_time.value) {
+ if(set_term_val(term.value) > set_term_val(end_term.value)) {
+ $("#course_time_term_notice").html("开始学期不能晚于结束学期");
+ $("#course_time_term_notice").show();
+ return false;
+ } else {
+ $("#course_time_term_notice").html("");
+ $("#course_time_term_notice").hide();
+ return true;
+ }
+ } else if(time.value < end_time.value) {
+ $("#course_time_term_notice").html("");
+ $("#course_time_term_notice").hide();
+ return true;
+ } else {
+ $("#course_time_term_notice").html("开始学期不能晚于结束学期");
+ $("#course_time_term_notice").show();
+ return false;
+ }
+}
+//学期转换为数字
+function set_term_val(val) {
+ if(val == "春季学期"){
+ return 1;
+ } else if(val == "夏季学期"){
+ return 2;
+ } else if(val == "秋季学期"){
+ return 3;
+ }
+}
//验证密码
function regex_course_password()
{
@@ -145,7 +185,7 @@ function regex_course_password()
//提交新建课程
function submit_new_course()
{
- if(regex_course_name()&®ex_course_class_period()&®ex_course_password())
+ if(regex_course_name()&®ex_course_class_period()&®ex_time_term()&®ex_course_password())
{
$("#new_course").submit();
}