<%=l(:label_excellent_courses_list)%>
@@ -33,12 +33,14 @@
资源数
|
-
+ |
帖子数
|
-
+ |
动态数
|
+
+
|
@@ -74,6 +76,9 @@
<%= course.course_activities.count%>
|
+
+ <%= link_to( course.is_excellent == 1 || course.excellent_option == 1 ? "取消精品" : "设为精品", { :controller => 'admin', :action => 'cancel_excellent_course', :id => course.id }, :class => 'icon-del') %>
+ |
<% end %>
diff --git a/app/views/admin/leave_messages.html.erb b/app/views/admin/leave_messages.html.erb
index dee8b7443..986823faa 100644
--- a/app/views/admin/leave_messages.html.erb
+++ b/app/views/admin/leave_messages.html.erb
@@ -59,12 +59,12 @@
<%= format_date(journal.created_on) %>
|
-
+ |
<%case journal.jour_type %>
<% when 'Principal' %>
- <%= link_to(journal.notes.html_safe, feedback_path(journal.jour_id)) %>
+ <%= link_to(strip_html(journal.notes), feedback_path(journal.jour_id)) %>
<% when 'Course' %>
- <%= link_to(journal.notes.html_safe, course_feedback_path(journal.jour_id)) %>
+ <%= link_to(strip_html(journal.notes), course_feedback_path(journal.jour_id)) %>
<% end %>
|
diff --git a/app/views/courses/show.html.erb b/app/views/courses/show.html.erb
index 78f44aa31..eaea6c553 100644
--- a/app/views/courses/show.html.erb
+++ b/app/views/courses/show.html.erb
@@ -1,3 +1,4 @@
+
<% end %>
\ No newline at end of file
diff --git a/app/views/student_work/_no_teacher_score_notice.html.erb b/app/views/student_work/_no_teacher_score_notice.html.erb
index 5a8c768cc..0926e3c74 100644
--- a/app/views/student_work/_no_teacher_score_notice.html.erb
+++ b/app/views/student_work/_no_teacher_score_notice.html.erb
@@ -1,7 +1,8 @@
- 当前作品未进行评分,是否确定提交?
+ <%#A if work.teacher_score.nil? || work. %>
+ 您当次评阅未对作品进行评分,分数将取上次的评分结果,若没有评分记录则不评分,是否确定提交?
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/app/views/student_work/_student_work_list.html.erb b/app/views/student_work/_student_work_list.html.erb
index eaf6b9304..cc078bf9c 100644
--- a/app/views/student_work/_student_work_list.html.erb
+++ b/app/views/student_work/_student_work_list.html.erb
@@ -4,14 +4,21 @@
(<%= @student_work_count%>人已交)
- <% my_work = @homework.student_works.where("user_id = #{User.current.id}").first %>
+ <%# my_work = @homework.student_works.where("user_id = #{User.current.id}").first %>
+ <% my_work = cur_user_works_for_homework @homework %>
<% if !@is_teacher && my_work.nil? && User.current.member_of_course?(@course) %>
您尚未提交作品
- <%=link_to "提交作品", new_student_work_url_without_domain(@homework.id),:class => 'blueCir ml5 f12' %>
+ <% unless @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %>
+ <%=link_to "提交作品", new_student_work_url_without_domain(@homework.id),:class => 'blueCir ml5 f12' %>
+ <% end %>
<% elsif !@is_teacher && my_work &&Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(Time.now.to_s).strftime("%Y-%m-%d") && !@stundet_works.empty?%>
- 您已提交且不可再修改,因为截止日期已过
+ 已提交且不可再修改,因为截止日期已过
<% elsif !@is_teacher && my_work &&Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.parse(Time.now.to_s).strftime("%Y-%m-%d") && !@stundet_works.empty?%>
- 您已提交,您还可以修改
+ <% if @homework.homework_type == 3 %>
+ 组长已提交,组长还可修改
+ <% else %>
+ 您已提交,您还可以修改
+ <% end %>
<% end %>
<%if @is_teacher || @homework.homework_detail_manual.comment_status == 3 || @homework.is_open == 1%>
diff --git a/app/views/student_work/edit.html.erb b/app/views/student_work/edit.html.erb
index 8e1a2a546..ed0b369e8 100644
--- a/app/views/student_work/edit.html.erb
+++ b/app/views/student_work/edit.html.erb
@@ -103,21 +103,11 @@
}
function popupRegex(){
- if($("#group_member_ids").length > 0) {
- if(regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html())))) {
- $('#ajax-modal').html(" ");
- showModal('ajax-modal', '500px');
- $('#ajax-modal').siblings().remove();
- $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9");
- $('#ajax-modal').parent().addClass("anonymos");
- }
- } else {
- $('#ajax-modal').html(" ");
- showModal('ajax-modal', '500px');
- $('#ajax-modal').siblings().remove();
- $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9");
- $('#ajax-modal').parent().addClass("anonymos");
- }
+ $('#ajax-modal').html(" ");
+ showModal('ajax-modal', '500px');
+ $('#ajax-modal').siblings().remove();
+ $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9");
+ $('#ajax-modal').parent().addClass("anonymos");
}
function nh_check_field(params){
@@ -140,6 +130,12 @@
params.contentmsg.html('');
}
}
+ if(!result) {
+ return result;
+ }
+ }
+ if($("#group_member_ids").length > 0) {
+ result=regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html())));
}
return result;
}
diff --git a/app/views/student_work/new.html.erb b/app/views/student_work/new.html.erb
index 453f717c9..dfddea306 100644
--- a/app/views/student_work/new.html.erb
+++ b/app/views/student_work/new.html.erb
@@ -62,21 +62,11 @@
}
// 作品校验
function popupRegex(){
- if($("#group_member_ids").length > 0) {
- if(regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html())))) {
- $('#ajax-modal').html(" ");
- showModal('ajax-modal', '500px');
- $('#ajax-modal').siblings().remove();
- $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9");
- $('#ajax-modal').parent().addClass("anonymos");
- }
- } else {
- $('#ajax-modal').html(" ");
- showModal('ajax-modal', '500px');
- $('#ajax-modal').siblings().remove();
- $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9");
- $('#ajax-modal').parent().addClass("anonymos");
- }
+ $('#ajax-modal').html(" ");
+ showModal('ajax-modal', '500px');
+ $('#ajax-modal').siblings().remove();
+ $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9");
+ $('#ajax-modal').parent().addClass("anonymos");
}
function nh_check_field(params){
@@ -99,6 +89,12 @@
params.contentmsg.html('');
}
}
+ if(!result) {
+ return result;
+ }
+ }
+ if($("#group_member_ids").length > 0) {
+ result=regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html())));
}
return result;
}
diff --git a/app/views/student_work/retry_work.js.erb b/app/views/student_work/retry_work.js.erb
index c6f354875..c15b81e09 100644
--- a/app/views/student_work/retry_work.js.erb
+++ b/app/views/student_work/retry_work.js.erb
@@ -1,2 +1,3 @@
hideModal('#popbox02');
-$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => {:container => @student_work, :has_program=>false,:has_group=>false})%>");
\ No newline at end of file
+$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => {:container => @student_work, :has_program=>false,:has_group=>false})%>");
+$("#group_member_ids").val("<%=User.current.id %>");
\ No newline at end of file
diff --git a/app/views/student_work/search_course_students.js.erb b/app/views/student_work/search_course_students.js.erb
index c7aa982b9..2ac4eeaab 100644
--- a/app/views/student_work/search_course_students.js.erb
+++ b/app/views/student_work/search_course_students.js.erb
@@ -7,7 +7,8 @@ $("#all_students_list").empty();
link += "";
$("#all_students_list").append(link);
- var str = "";
+ var str = $("#group_member_ids").val();
+ /*var str = "";
var lists = $("#choose_students_list li");
if(lists.length > 0) {
for(var i=0; i
if (str.indexOf(<%=user.id.to_s %>) < 0) {
$("#student_<%=user.id %>").one("click",function choose_student() {
diff --git a/app/views/users/_course_journalsformessage.html.erb b/app/views/users/_course_journalsformessage.html.erb
index e04dd3006..b824f36a3 100644
--- a/app/views/users/_course_journalsformessage.html.erb
+++ b/app/views/users/_course_journalsformessage.html.erb
@@ -14,13 +14,23 @@
<% course=Course.find(activity.jour_id) %>
<%= link_to course.name.to_s+" | 课程留言", course_feedback_path(course), :class => "newsBlue ml15" %>
-
- <% if activity.parent %>
- <%= link_to activity.parent.notes.html_safe, course_feedback_path(course), :class => "postGrey" %>
- <% else %>
- <%= link_to activity.notes.html_safe, course_feedback_path(course), :class => "postGrey" %>
- <% end %>
-
+
+ <% if activity.parent %>
+ <% content = activity.parent.notes %>
+ <% else %>
+ <% content = activity.notes %>
+ <% end %>
+ <%=render :partial =>"users/intro_content", :locals=>{:user_activity_id =>user_activity_id, :content=>content} %>
+
+
+
+
留言时间:<%= format_time(activity.created_on) %>
diff --git a/app/views/users/_user_at_message.html.erb b/app/views/users/_user_at_message.html.erb
index 8f0c6acaf..81139ab8e 100644
--- a/app/views/users/_user_at_message.html.erb
+++ b/app/views/users/_user_at_message.html.erb
@@ -1,4 +1,4 @@
-<% if AtMessage === ma && ma.at_valid? %>
+<% if ma.class == AtMessage && ma.at_valid? %>
- <%=link_to image_tag(url_to_avatar(ma.author), :width => "30", :height => "30"),user_path(ma.author) %>
-
diff --git a/app/views/users/_user_group_attr.html.erb b/app/views/users/_user_group_attr.html.erb
index 681f158e7..952a3396e 100644
--- a/app/views/users/_user_group_attr.html.erb
+++ b/app/views/users/_user_group_attr.html.erb
@@ -3,11 +3,14 @@
每组最小人数:
人
+
每组最大人数:
人
+
+
- <% if is_activity.to_i == 1 %>
-
- <% if activity.parent %>
- <%= link_to activity.parent.notes.html_safe, feedback_path(activity.jour, :host=> Setting.host_user), :class => "postGrey" %>
- <% else %>
- <%= link_to activity.notes.html_safe, feedback_path(activity.jour, :host=> Setting.host_user), :class => "postGrey" %>
- <% end %>
-
- <% else %>
+ <%# if is_activity.to_i == 1 %>
+
+ <%# else %>
<% if activity.parent %>
<% content = activity.parent.notes %>
<% else %>
<% content = activity.notes %>
<% end %>
<%=render :partial =>"users/intro_content", :locals=>{:user_activity_id =>user_activity_id, :content=>content} %>
- <% end %>
+
+
+
+
+ <%# end %>
留言时间:<%= format_time(activity.created_on) %>
diff --git a/app/views/users/_user_jours_list.html.erb b/app/views/users/_user_jours_list.html.erb
index afd498d06..6211aac7d 100644
--- a/app/views/users/_user_jours_list.html.erb
+++ b/app/views/users/_user_jours_list.html.erb
@@ -5,7 +5,7 @@
<%if jours %>
<% jours.each do |jour|%>
- <% unless jour.private == 1 && (!User.current || (User.current && jour.jour_id != User.current.id && jour.user_id != User.current.id)) %>
+ <% unless jour.private == 1 && (!User.current || (User.current && jour.jour_id != User.current.id && jour.user_id != User.current.id && !User.current.admin?)) %>
diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb
index 391709b52..1ff8adc57 100644
--- a/app/views/users/user_messages.html.erb
+++ b/app/views/users/user_messages.html.erb
@@ -4,8 +4,9 @@
<% if (!@message_alls.nil? && @message_alls.count >0) %>
<% if params[:type].nil? || params[:type] == "unviewed" %>
diff --git a/config/routes.rb b/config/routes.rb
index e4b462d93..2c1362359 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -329,6 +329,7 @@ RedmineApp::Application.routes.draw do
post 'last_codecomparetime'
post 'set_score_rule'
get 'work_canrepeat'
+ get 'get_user_infor'
end
end
@@ -1019,6 +1020,7 @@ RedmineApp::Application.routes.draw do
get 'admin/excellent_courses', as: :excellent_courses
get 'admin/excellent_all_courses', as: :excellent_all_courses
match 'admin/set_excellent_course/:id', :to => 'admin#set_excellent_course'
+ match 'admin/cancel_excellent_course/:id', :to => 'admin#cancel_excellent_course'
get 'admin/course_resource_list'
get 'admin/project_resource_list'
match 'admin/users', :via => :get
diff --git a/db/migrate/20160613064914_create_syllabuses.rb b/db/migrate/20160613064914_create_syllabuses.rb
new file mode 100644
index 000000000..a9a926d7e
--- /dev/null
+++ b/db/migrate/20160613064914_create_syllabuses.rb
@@ -0,0 +1,12 @@
+class CreateSyllabuses < ActiveRecord::Migration
+ def change
+ create_table :syllabuses do |t|
+ t.string :title
+ t.text :description
+ t.references :user
+
+ t.timestamps
+ end
+ add_index :syllabuses, :user_id
+ end
+end
diff --git a/db/migrate/20160613065840_add_syllabus_to_course.rb b/db/migrate/20160613065840_add_syllabus_to_course.rb
new file mode 100644
index 000000000..b40d187d0
--- /dev/null
+++ b/db/migrate/20160613065840_add_syllabus_to_course.rb
@@ -0,0 +1,6 @@
+class AddSyllabusToCourse < ActiveRecord::Migration
+ def change
+ add_column :courses, :syllabus_id, :integer
+ add_index :courses, :syllabus_id
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 05a6f4e22..7782731dc 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 => 20160601073753) do
+ActiveRecord::Schema.define(:version => 20160613065840) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@@ -52,28 +52,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
add_index "api_keys", ["access_token"], :name => "index_api_keys_on_access_token"
add_index "api_keys", ["user_id"], :name => "index_api_keys_on_user_id"
- create_table "application_settings", :force => true do |t|
- t.integer "default_projects_limit"
- t.boolean "signup_enabled"
- t.boolean "signin_enabled"
- t.boolean "gravatar_enabled"
- t.text "sign_in_text"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "home_page_url"
- t.integer "default_branch_protection", :default => 2
- t.boolean "twitter_sharing_enabled", :default => true
- t.text "restricted_visibility_levels"
- t.boolean "version_check_enabled", :default => true
- t.integer "max_attachment_size", :default => 10, :null => false
- t.integer "default_project_visibility"
- t.integer "default_snippet_visibility"
- t.text "restricted_signup_domains"
- t.boolean "user_oauth_applications", :default => true
- t.string "after_sign_out_path"
- t.integer "session_expire_delay", :default => 10080, :null => false
- end
-
create_table "applied_projects", :force => true do |t|
t.integer "project_id", :null => false
t.integer "user_id", :null => false
@@ -178,20 +156,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.string "typeName", :limit => 50
end
- create_table "audit_events", :force => true do |t|
- t.integer "author_id", :null => false
- t.string "type", :null => false
- t.integer "entity_id", :null => false
- t.string "entity_type", :null => false
- t.text "details"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "audit_events", ["author_id"], :name => "index_audit_events_on_author_id"
- add_index "audit_events", ["entity_id", "entity_type"], :name => "index_audit_events_on_entity_id_and_entity_type"
- add_index "audit_events", ["type"], :name => "index_audit_events_on_type"
-
create_table "auth_sources", :force => true do |t|
t.string "type", :limit => 30, :default => "", :null => false
t.string "name", :limit => 60, :default => "", :null => false
@@ -289,17 +253,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
add_index "boards", ["last_message_id"], :name => "index_boards_on_last_message_id"
add_index "boards", ["project_id"], :name => "boards_project_id"
- create_table "broadcast_messages", :force => true do |t|
- t.text "message", :null => false
- t.datetime "starts_at"
- t.datetime "ends_at"
- t.integer "alert_type"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "color"
- t.string "font"
- end
-
create_table "bug_to_osps", :force => true do |t|
t.integer "osp_id"
t.integer "relative_memo_id"
@@ -597,11 +550,10 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.integer "excellent_option", :default => 0
t.integer "is_copy", :default => 0
t.integer "visits", :default => 0
+ t.integer "syllabus_id"
end
- add_index "courses", ["id"], :name => "id", :unique => true
- add_index "courses", ["tea_id"], :name => "tea_id"
- add_index "courses", ["visits"], :name => "visits"
+ add_index "courses", ["syllabus_id"], :name => "index_courses_on_syllabus_id"
create_table "custom_fields", :force => true do |t|
t.string "type", :limit => 30, :default => "", :null => false
@@ -664,15 +616,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
- create_table "deploy_keys_projects", :force => true do |t|
- t.integer "deploy_key_id", :null => false
- t.integer "project_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "deploy_keys_projects", ["project_id"], :name => "index_deploy_keys_projects_on_project_id"
-
create_table "discuss_demos", :force => true do |t|
t.string "title"
t.text "body"
@@ -722,16 +665,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.datetime "created_at"
end
- create_table "emails", :force => true do |t|
- t.integer "user_id", :null => false
- t.string "email", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "emails", ["email"], :name => "index_emails_on_email", :unique => true
- add_index "emails", ["user_id"], :name => "index_emails_on_user_id"
-
create_table "enabled_modules", :force => true do |t|
t.integer "project_id"
t.string "name", :null => false
@@ -754,25 +687,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
add_index "enumerations", ["id", "type"], :name => "index_enumerations_on_id_and_type"
add_index "enumerations", ["project_id"], :name => "index_enumerations_on_project_id"
- create_table "events", :force => true do |t|
- t.string "target_type"
- t.integer "target_id"
- t.string "title"
- t.text "data"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "action"
- t.integer "author_id"
- end
-
- add_index "events", ["action"], :name => "index_events_on_action"
- add_index "events", ["author_id"], :name => "index_events_on_author_id"
- add_index "events", ["created_at"], :name => "index_events_on_created_at"
- add_index "events", ["project_id"], :name => "index_events_on_project_id"
- add_index "events", ["target_id"], :name => "index_events_on_target_id"
- add_index "events", ["target_type"], :name => "index_events_on_target_type"
-
create_table "exercise_answers", :force => true do |t|
t.integer "user_id"
t.integer "exercise_question_id"
@@ -875,15 +789,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
add_index "forge_messages", ["forge_message_id", "forge_message_type"], :name => "index_forge_messages_on_forge_message_id_and_forge_message_type"
add_index "forge_messages", ["user_id", "project_id", "created_at"], :name => "index_forge_messages_on_user_id_and_project_id_and_created_at"
- create_table "forked_project_links", :force => true do |t|
- t.integer "forked_to_project_id", :null => false
- t.integer "forked_from_project_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "forked_project_links", ["forked_to_project_id"], :name => "index_forked_project_links_on_forked_to_project_id", :unique => true
-
create_table "forums", :force => true do |t|
t.string "name", :null => false
t.text "description"
@@ -1013,17 +918,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.datetime "updated_at", :null => false
end
- create_table "identities", :force => true do |t|
- t.string "extern_uid"
- t.string "provider"
- t.integer "user_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "identities", ["created_at", "id"], :name => "index_identities_on_created_at_and_id"
- add_index "identities", ["user_id"], :name => "index_identities_on_user_id"
-
create_table "invite_lists", :force => true do |t|
t.integer "project_id"
t.integer "user_id"
@@ -1167,20 +1061,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.integer "private", :default => 0
end
- create_table "keys", :force => true do |t|
- t.integer "user_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.text "key"
- t.string "title"
- t.string "type"
- t.string "fingerprint"
- t.boolean "public", :default => false, :null => false
- end
-
- add_index "keys", ["created_at", "id"], :name => "index_keys_on_created_at_and_id"
- add_index "keys", ["user_id"], :name => "index_keys_on_user_id"
-
create_table "kindeditor_assets", :force => true do |t|
t.string "asset"
t.integer "file_size"
@@ -1192,27 +1072,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.integer "owner_type", :default => 0
end
- create_table "label_links", :force => true do |t|
- t.integer "label_id"
- t.integer "target_id"
- t.string "target_type"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "label_links", ["label_id"], :name => "index_label_links_on_label_id"
- add_index "label_links", ["target_id", "target_type"], :name => "index_label_links_on_target_id_and_target_type"
-
- create_table "labels", :force => true do |t|
- t.string "title"
- t.string "color"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "labels", ["project_id"], :name => "index_labels_on_project_id"
-
create_table "member_roles", :force => true do |t|
t.integer "member_id", :null => false
t.integer "role_id", :null => false
@@ -1263,47 +1122,23 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.integer "viewed_count", :default => 0
end
- create_table "merge_request_diffs", :force => true do |t|
- t.string "state"
- t.text "st_commits", :limit => 2147483647
- t.text "st_diffs", :limit => 2147483647
- t.integer "merge_request_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
+ create_table "mess", :id => false, :force => true do |t|
+ t.string "课程名"
+ t.integer "课程ID", :default => 0, :null => false
+ t.string "教师姓", :default => "", :null => false
+ t.string "教师名", :limit => 30, :default => "", :null => false
+ t.string "主贴名", :default => "", :null => false
+ t.integer "主贴或回帖ID", :default => 0, :null => false
+ t.integer "回帖对应主贴ID"
+ t.integer "帖子点赞数"
+ t.integer "主贴回复数", :default => 0, :null => false
+ t.text "主贴或回帖内容"
+ t.datetime "发帖时间", :null => false
+ t.integer "发帖或回帖用户ID", :default => 0, :null => false
+ t.string "发帖或回帖用户姓", :default => "", :null => false
+ t.string "发帖或回帖用户名", :limit => 30, :default => "", :null => false
end
- add_index "merge_request_diffs", ["merge_request_id"], :name => "index_merge_request_diffs_on_merge_request_id", :unique => true
-
- create_table "merge_requests", :force => true do |t|
- t.string "target_branch", :null => false
- t.string "source_branch", :null => false
- t.integer "source_project_id", :null => false
- t.integer "author_id"
- t.integer "assignee_id"
- t.string "title"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "milestone_id"
- t.string "state"
- t.string "merge_status"
- t.integer "target_project_id", :null => false
- t.integer "iid"
- t.text "description"
- t.integer "position", :default => 0
- t.datetime "locked_at"
- end
-
- add_index "merge_requests", ["assignee_id"], :name => "index_merge_requests_on_assignee_id"
- add_index "merge_requests", ["author_id"], :name => "index_merge_requests_on_author_id"
- add_index "merge_requests", ["created_at", "id"], :name => "index_merge_requests_on_created_at_and_id"
- add_index "merge_requests", ["created_at"], :name => "index_merge_requests_on_created_at"
- add_index "merge_requests", ["milestone_id"], :name => "index_merge_requests_on_milestone_id"
- add_index "merge_requests", ["source_branch"], :name => "index_merge_requests_on_source_branch"
- add_index "merge_requests", ["source_project_id"], :name => "index_merge_requests_on_source_project_id"
- add_index "merge_requests", ["target_branch"], :name => "index_merge_requests_on_target_branch"
- add_index "merge_requests", ["target_project_id", "iid"], :name => "index_merge_requests_on_target_project_id_and_iid", :unique => true
- add_index "merge_requests", ["title"], :name => "index_merge_requests_on_title"
-
create_table "message_alls", :force => true do |t|
t.integer "user_id"
t.integer "message_id"
@@ -1338,39 +1173,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
add_index "messages", ["last_reply_id"], :name => "index_messages_on_last_reply_id"
add_index "messages", ["parent_id"], :name => "messages_parent_id"
- create_table "milestones", :force => true do |t|
- t.string "title", :null => false
- t.integer "project_id", :null => false
- t.text "description"
- t.date "due_date"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "state"
- t.integer "iid"
- end
-
- add_index "milestones", ["created_at", "id"], :name => "index_milestones_on_created_at_and_id"
- add_index "milestones", ["due_date"], :name => "index_milestones_on_due_date"
- add_index "milestones", ["project_id", "iid"], :name => "index_milestones_on_project_id_and_iid", :unique => true
- add_index "milestones", ["project_id"], :name => "index_milestones_on_project_id"
-
- create_table "namespaces", :force => true do |t|
- t.string "name", :null => false
- t.string "path", :null => false
- t.integer "owner_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "type"
- t.string "description", :default => "", :null => false
- t.string "avatar"
- end
-
- add_index "namespaces", ["created_at", "id"], :name => "index_namespaces_on_created_at_and_id"
- add_index "namespaces", ["name"], :name => "index_namespaces_on_name", :unique => true
- add_index "namespaces", ["owner_id"], :name => "index_namespaces_on_owner_id"
- add_index "namespaces", ["path"], :name => "index_namespaces_on_path", :unique => true
- add_index "namespaces", ["type"], :name => "index_namespaces_on_type"
-
create_table "news", :force => true do |t|
t.integer "project_id"
t.string "title", :limit => 60, :default => "", :null => false
@@ -1396,31 +1198,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.datetime "updated_at", :null => false
end
- create_table "notes", :force => true do |t|
- t.text "note"
- t.string "noteable_type"
- t.integer "author_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "project_id"
- t.string "attachment"
- t.string "line_code"
- t.string "commit_id"
- t.integer "noteable_id"
- t.boolean "system", :default => false, :null => false
- t.text "st_diff", :limit => 2147483647
- end
-
- add_index "notes", ["author_id"], :name => "index_notes_on_author_id"
- add_index "notes", ["commit_id"], :name => "index_notes_on_commit_id"
- add_index "notes", ["created_at", "id"], :name => "index_notes_on_created_at_and_id"
- add_index "notes", ["created_at"], :name => "index_notes_on_created_at"
- add_index "notes", ["noteable_id", "noteable_type"], :name => "index_notes_on_noteable_id_and_noteable_type"
- add_index "notes", ["noteable_type"], :name => "index_notes_on_noteable_type"
- add_index "notes", ["project_id", "noteable_type"], :name => "index_notes_on_project_id_and_noteable_type"
- add_index "notes", ["project_id"], :name => "index_notes_on_project_id"
- add_index "notes", ["updated_at"], :name => "index_notes_on_updated_at"
-
create_table "notificationcomments", :force => true do |t|
t.string "notificationcommented_type"
t.integer "notificationcommented_id"
@@ -1430,49 +1207,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.datetime "updated_at", :null => false
end
- create_table "oauth_access_grants", :force => true do |t|
- t.integer "resource_owner_id", :null => false
- t.integer "application_id", :null => false
- t.string "token", :null => false
- t.integer "expires_in", :null => false
- t.text "redirect_uri", :null => false
- t.datetime "created_at", :null => false
- t.datetime "revoked_at"
- t.string "scopes"
- end
-
- add_index "oauth_access_grants", ["token"], :name => "index_oauth_access_grants_on_token", :unique => true
-
- create_table "oauth_access_tokens", :force => true do |t|
- t.integer "resource_owner_id"
- t.integer "application_id"
- t.string "token", :null => false
- t.string "refresh_token"
- t.integer "expires_in"
- t.datetime "revoked_at"
- t.datetime "created_at", :null => false
- t.string "scopes"
- end
-
- add_index "oauth_access_tokens", ["refresh_token"], :name => "index_oauth_access_tokens_on_refresh_token", :unique => true
- add_index "oauth_access_tokens", ["resource_owner_id"], :name => "index_oauth_access_tokens_on_resource_owner_id"
- add_index "oauth_access_tokens", ["token"], :name => "index_oauth_access_tokens_on_token", :unique => true
-
- create_table "oauth_applications", :force => true do |t|
- t.string "name", :null => false
- t.string "uid", :null => false
- t.string "secret", :null => false
- t.text "redirect_uri", :null => false
- t.string "scopes", :default => "", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "owner_id"
- t.string "owner_type"
- end
-
- add_index "oauth_applications", ["owner_id", "owner_type"], :name => "index_oauth_applications_on_owner_id_and_owner_type"
- add_index "oauth_applications", ["uid"], :name => "index_oauth_applications_on_uid", :unique => true
-
create_table "onclick_times", :force => true do |t|
t.integer "user_id"
t.datetime "onclick_time"
@@ -1630,23 +1364,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.integer "allow_teacher", :default => 0
end
- create_table "permissions", :force => true do |t|
- t.string "controller", :limit => 30, :default => "", :null => false
- t.string "action", :limit => 30, :default => "", :null => false
- t.string "description", :limit => 60, :default => "", :null => false
- t.boolean "is_public", :default => false, :null => false
- t.integer "sort", :default => 0, :null => false
- t.boolean "mail_option", :default => false, :null => false
- t.boolean "mail_enabled", :default => false, :null => false
- end
-
- create_table "permissions_roles", :id => false, :force => true do |t|
- t.integer "permission_id", :default => 0, :null => false
- t.integer "role_id", :default => 0, :null => false
- end
-
- add_index "permissions_roles", ["role_id"], :name => "permissions_roles_role_id"
-
create_table "phone_app_versions", :force => true do |t|
t.string "version"
t.text "description"
@@ -1729,11 +1446,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.datetime "updated_at", :null => false
end
- create_table "project_import_data", :force => true do |t|
- t.integer "project_id"
- t.text "data"
- end
-
create_table "project_infos", :force => true do |t|
t.integer "project_id"
t.integer "user_id"
@@ -1824,16 +1536,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
add_index "projects_trackers", ["project_id", "tracker_id"], :name => "projects_trackers_unique", :unique => true
add_index "projects_trackers", ["project_id"], :name => "projects_trackers_project_id"
- create_table "protected_branches", :force => true do |t|
- t.integer "project_id", :null => false
- t.string "name", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- t.boolean "developers_can_push", :default => false, :null => false
- end
-
- add_index "protected_branches", ["project_id"], :name => "index_protected_branches_on_project_id"
-
create_table "queries", :force => true do |t|
t.integer "project_id"
t.string "name", :default => "", :null => false
@@ -1968,25 +1670,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.integer "is_teacher_score", :default => 0
end
- create_table "services", :force => true do |t|
- t.string "type"
- t.string "title"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.boolean "active", :default => false, :null => false
- t.text "properties"
- t.boolean "template", :default => false
- t.boolean "push_events", :default => true
- t.boolean "issues_events", :default => true
- t.boolean "merge_requests_events", :default => true
- t.boolean "tag_push_events", :default => true
- t.boolean "note_events", :default => true, :null => false
- end
-
- add_index "services", ["created_at", "id"], :name => "index_services_on_created_at_and_id"
- add_index "services", ["project_id"], :name => "index_services_on_project_id"
-
create_table "settings", :force => true do |t|
t.string "name", :default => "", :null => false
t.text "value"
@@ -2025,26 +1708,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.datetime "updated_at", :null => false
end
- create_table "snippets", :force => true do |t|
- t.string "title"
- t.text "content", :limit => 2147483647
- t.integer "author_id", :null => false
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "file_name"
- t.datetime "expires_at"
- t.string "type"
- t.integer "visibility_level", :default => 0, :null => false
- end
-
- add_index "snippets", ["author_id"], :name => "index_snippets_on_author_id"
- add_index "snippets", ["created_at", "id"], :name => "index_snippets_on_created_at_and_id"
- add_index "snippets", ["created_at"], :name => "index_snippets_on_created_at"
- add_index "snippets", ["expires_at"], :name => "index_snippets_on_expires_at"
- add_index "snippets", ["project_id"], :name => "index_snippets_on_project_id"
- add_index "snippets", ["visibility_level"], :name => "index_snippets_on_visibility_level"
-
create_table "softapplications", :force => true do |t|
t.string "name"
t.text "description"
@@ -2117,9 +1780,9 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.integer "absence_penalty", :default => 0
t.float "system_score", :default => 0.0
t.boolean "is_test", :default => false
- t.float "work_score"
t.integer "simi_id"
t.integer "simi_value"
+ t.float "work_score"
end
add_index "student_works", ["homework_common_id", "user_id"], :name => "index_student_works_on_homework_common_id_and_user_id"
@@ -2167,13 +1830,13 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
create_table "sub_domains", :force => true do |t|
t.integer "org_subfield_id"
- t.integer "priority"
+ t.integer "priority", :default => 0
t.string "name"
t.string "field_type"
- t.integer "hide"
- t.integer "status"
- t.datetime "created_at", :null => false
- t.datetime "updated_at", :null => false
+ t.integer "hide", :default => 0
+ t.integer "status", :default => 0
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
end
create_table "subfield_subdomain_dirs", :force => true do |t|
@@ -2183,16 +1846,15 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.datetime "updated_at", :null => false
end
- create_table "subscriptions", :force => true do |t|
+ create_table "syllabuses", :force => true do |t|
+ t.string "title"
+ t.text "description"
t.integer "user_id"
- t.integer "subscribable_id"
- t.string "subscribable_type"
- t.boolean "subscribed"
- t.datetime "created_at"
- t.datetime "updated_at"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
end
- add_index "subscriptions", ["subscribable_id", "subscribable_type", "user_id"], :name => "subscriptions_user_id_and_ref_fields", :unique => true
+ add_index "syllabuses", ["user_id"], :name => "index_syllabuses_on_user_id"
create_table "system_messages", :force => true do |t|
t.integer "user_id"
@@ -2434,17 +2096,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
add_index "users", ["id", "type"], :name => "index_users_on_id_and_type"
add_index "users", ["type"], :name => "index_users_on_type"
- create_table "users_star_projects", :force => true do |t|
- t.integer "project_id", :null => false
- t.integer "user_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "users_star_projects", ["project_id"], :name => "index_users_star_projects_on_project_id"
- add_index "users_star_projects", ["user_id", "project_id"], :name => "index_users_star_projects_on_user_id_and_project_id", :unique => true
- add_index "users_star_projects", ["user_id"], :name => "index_users_star_projects_on_user_id"
-
create_table "versions", :force => true do |t|
t.integer "project_id", :default => 0, :null => false
t.string "name", :default => "", :null => false
@@ -2496,23 +2147,6 @@ ActiveRecord::Schema.define(:version => 20160601073753) do
t.datetime "updated_at", :null => false
end
- create_table "web_hooks", :force => true do |t|
- t.string "url"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "type", :default => "ProjectHook"
- t.integer "service_id"
- t.boolean "push_events", :default => true, :null => false
- t.boolean "issues_events", :default => false, :null => false
- t.boolean "merge_requests_events", :default => false, :null => false
- t.boolean "tag_push_events", :default => false
- t.boolean "note_events", :default => false, :null => false
- end
-
- add_index "web_hooks", ["created_at", "id"], :name => "index_web_hooks_on_created_at_and_id"
- add_index "web_hooks", ["project_id"], :name => "index_web_hooks_on_project_id"
-
create_table "wechat_logs", :force => true do |t|
t.string "openid", :null => false
t.text "request_raw"
diff --git a/public/javascripts/course.js b/public/javascripts/course.js
index 9f6b6aabd..6fbf9f8c4 100644
--- a/public/javascripts/course.js
+++ b/public/javascripts/course.js
@@ -550,7 +550,7 @@ function check_late_penalty(id)
}
else
{
- obj.val("0");
+ obj.val("");
}
}
diff --git a/public/javascripts/homework.js b/public/javascripts/homework.js
index e9ef7ad6c..1578d72df 100644
--- a/public/javascripts/homework.js
+++ b/public/javascripts/homework.js
@@ -194,9 +194,11 @@ $(function(){
$("#GroupPopupBox").dialog("open");
$(".ui-dialog-titlebar").hide();
$("a.popClose").on('click', function(){
+ reset_group_attr();
$("#GroupPopupBox" ).dialog("close");
});
$("#cancel_group").on('click', function(){
+ reset_group_attr();
$("#GroupPopupBox" ).dialog("close");
});
$('#min_num').focus();
@@ -351,29 +353,67 @@ $(function(){
$("#GroupPopupBox").dialog("open");
$(".ui-dialog-titlebar").hide();
$("a.popClose").on('click', function () {
+ reset_group_attr();
$("#GroupPopupBox").dialog("close");
});
$("#cancel_group").on('click', function () {
+ reset_group_attr();
$("#GroupPopupBox").dialog("close");
});
$('#min_num').focus();
}
});
+ var reset_group_attr = function() {
+ $("#min_num_notice").hide();
+ $("#min_max_num_notice").hide();
+ $("#max_num_notice").hide();
+ if($("input[name=min_num]").length > 0 && $("input[name=max_num]").length > 0) {
+ $("#min_num").val($("input[name=min_num]").val());
+ $("#max_num").val($("input[name=max_num]").val());
+ } else {
+ $("#min_num").val(2);
+ $("#max_num").val(10);
+ }
+ };
var saveGroupAttr = function() {
var valid = true;
var base_on_project = 0;
var min = $.trim($("#min_num").val());
var max = $.trim($("#max_num").val());
- if(min.length <= 0) {
+ var regex = /^\d+$/;
+ if(!regex.test(min) || parseInt(min) <= 0) {
+ $("#min_num_notice").html("请输入正整数");
+ $("#max_num_notice").html("");
+ $("#min_max_num_notice").html("");
+ $("#min_num_notice").show();
$("#min_num").focus();
- valid = false;
return false;
+ } else {
+ $("#min_num_notice").html("");
+ $("#min_num_notice").hide();
}
- if(max.length <= 0) {
+ if(!regex.test(max) || parseInt(max) <= 0) {
+ $("#max_num_notice").html("请输入正整数");
+ $("#min_num_notice").html("");
+ $("#min_max_num_notice").html("");
+ $("#max_num_notice").show();
$("#max_num").focus();
- valid = false;
return false;
+ } else {
+ $("#max_num_notice").html("");
+ $("#max_num_notice").hide();
+ }
+ if(parseInt(min) > parseInt(max)) {
+ $("#min_max_num_notice").html("最小人数不得大于最大人数");
+ $("#min_num_notice").html("");
+ $("#max_num_notice").html("");
+ $("#min_max_num_notice").show();
+ $("#max_num").focus();
+ return false;
+ } else {
+ $("#min_max_num_notice").html("");
+ $("#min_max_num_notice").hide();
}
if ($("#base_on_project").is(":checked")) {
base_on_project = 1;
diff --git a/public/javascripts/new_user.js b/public/javascripts/new_user.js
index b6301afad..2771dd191 100644
--- a/public/javascripts/new_user.js
+++ b/public/javascripts/new_user.js
@@ -259,6 +259,24 @@ function regex_evaluation_end(){
}
}
+//处理迟交、缺评扣分
+function check_late_penalty(id)
+{
+ var obj = $("#" + id);
+ var regex = /^\d+$/;
+ if(regex.test(obj.val()))
+ {
+ if(obj.val() > 50)
+ {
+ obj.val("50");
+ }
+ }
+ else
+ {
+ obj.val("");
+ }
+}
+
//验证匿评数量
function regex_evaluation_num(){
var evaluation_num = $.trim($("#evaluation_num").val());
diff --git a/spec/controllers/syllabuses_controller_spec.rb b/spec/controllers/syllabuses_controller_spec.rb
new file mode 100644
index 000000000..72c43dff1
--- /dev/null
+++ b/spec/controllers/syllabuses_controller_spec.rb
@@ -0,0 +1,5 @@
+require 'rails_helper'
+
+RSpec.describe SyllabusesController, :type => :controller do
+
+end
diff --git a/spec/factories/syllabuses.rb b/spec/factories/syllabuses.rb
new file mode 100644
index 000000000..436972e39
--- /dev/null
+++ b/spec/factories/syllabuses.rb
@@ -0,0 +1,9 @@
+# Read about factories at https://github.com/thoughtbot/factory_girl
+
+FactoryGirl.define do
+ factory :syllabus do
+ title "MyString"
+ description "MyText"
+ user nil
+ end
+end
diff --git a/spec/models/syllabus_spec.rb b/spec/models/syllabus_spec.rb
new file mode 100644
index 000000000..6072c09ce
--- /dev/null
+++ b/spec/models/syllabus_spec.rb
@@ -0,0 +1,5 @@
+require 'rails_helper'
+
+RSpec.describe Syllabus, :type => :model do
+ pending "add some examples to (or delete) #{__FILE__}"
+end
|