From ec631691e35b17a79c7eba3c85130e8d811a15a5 Mon Sep 17 00:00:00 2001 From: cxt Date: Thu, 31 Dec 2015 11:12:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E8=AF=BE=E7=A8=8B=E5=92=8C?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E9=85=8D=E7=BD=AE=E9=A1=B5=E9=9D=A2=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=BB=93=E6=9D=9F=E5=AD=A6=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/courses_service.rb | 2 + app/views/courses/new.html.erb | 120 ++++++++++-------- app/views/courses/settings.html.erb | 40 +++--- config/locales/courses/en.yml | 2 +- config/locales/courses/zh.yml | 2 +- .../20151231012634_add_last_term_to_course.rb | 17 +++ db/schema.rb | 9 +- public/javascripts/course.js | 42 +++++- 8 files changed, 159 insertions(+), 75 deletions(-) create mode 100644 db/migrate/20151231012634_add_last_term_to_course.rb 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 @@
-
\ No newline at end of file +
+ \ No newline at end of file diff --git a/app/views/courses/settings.html.erb b/app/views/courses/settings.html.erb index ae6416c9d..23d0a2a3f 100644 --- a/app/views/courses/settings.html.erb +++ b/app/views/courses/settings.html.erb @@ -2,11 +2,11 @@

<%= l(:label_course_modify_settings)%>

@@ -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"} %> +
  • +
  • @@ -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(); }