diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index b3170e0b9..0b3f88d68 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -202,7 +202,7 @@ class CoursesController < ApplicationController
group.course_id = @course.id
group.save
end
- @canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
+ @canShowCode = User.current.allowed_to?(:as_teacher,@course) && params[:role] != '1'
@is_remote = true
@course_groups = @course.course_groups
@@ -236,17 +236,26 @@ class CoursesController < ApplicationController
valid_attr = params[:valid]
valid_value = params[:value]
-
- faker = CourseGroup.new
+ group_id = params[:group_id]
+ # faker = CourseGroup.new
if valid_attr.eql?('name')
- faker.name = valid_value
- faker.course_id = params[:course_id]
- faker.valid?
- req[:valid] = faker.errors[:name].blank?
- req[:message] = faker.errors[:name]
+ course = Course.find params[:course_id]
+ group_names = course.course_groups.map{|group| group.name unless group.id.to_s == group_id}.select{|group| !group.nil?}
+ if group_names.include?(valid_value)
+ req[:valid] = false
+ req[:message] = l(:modal_valid_unpassing)
+ else
+ req[:valid] = true
+ req[:message] = l(:modal_valid_passing)
+ end
+ # faker.name = valid_value
+ # faker.course_id = params[:course_id]
+ # faker.valid?
+ # req[:valid] = faker.errors[:name].blank?
+ # req[:message] = faker.errors[:name]
end
- req[:message] = l(:modal_valid_passing) if req[:message].blank?
+ # req[:message] = l(:modal_valid_passing) if req[:message].blank?
render :json => req
end
def join_group
diff --git a/app/views/courses/_course_student.html.erb b/app/views/courses/_course_student.html.erb
index c096fd2dc..8da3987a8 100644
--- a/app/views/courses/_course_student.html.erb
+++ b/app/views/courses/_course_student.html.erb
@@ -4,7 +4,7 @@
-
+
<%= render :partial => 'new_groups_name', :locals => {:course_groups => @course_groups} %>
diff --git a/app/views/courses/_new_groups_name.html.erb b/app/views/courses/_new_groups_name.html.erb
index 5de5b0b11..cbda4f75e 100644
--- a/app/views/courses/_new_groups_name.html.erb
+++ b/app/views/courses/_new_groups_name.html.erb
@@ -1,7 +1,7 @@
- 分班:
- -
- <%= link_to l(:label_all), searchgroupmembers_course_path(@course,:group_id => 0), :onclick => "checkclass('group_name_0')", method: 'get', remote: true%>
+
-
+ <%= link_to l(:label_all), searchgroupmembers_course_path(@course,:group_id => 0), :onclick => "checkclass('course_group_0')", method: 'get', remote: true%>
<% unless course_groups.nil? %>
@@ -20,16 +20,16 @@
<% end %>
-
+
-
- <%= form_tag(updategroupname_course_path(@course,:group_id => group.id), method: 'get', remote:true, update: 'group_name') do %>
+ <%= form_tag(updategroupname_course_path(@course,:group_id => group.id), method: 'get', remote:true, :id => 'update_group_'+group.id.to_s) do %>
-
+
<% end %>
@@ -42,9 +42,9 @@
-
- <%= form_tag( addgroups_course_path(@course), method: 'get',:remote=>true) do %>
+ <%= form_tag( addgroups_course_path(@course), method: 'get',:remote=>true,:id => 'add_group_name') do %>
-
+
<% end %>
diff --git a/app/views/courses/addgroups.js.erb b/app/views/courses/addgroups.js.erb
index a6f6933b9..cb7e1fbb1 100644
--- a/app/views/courses/addgroups.js.erb
+++ b/app/views/courses/addgroups.js.erb
@@ -1 +1 @@
-$("#st_groups").html("<%= escape_javascript( render :partial => 'groups_name', locals: {:course_groups => @course_groups})%>");
\ No newline at end of file
+$("#st_groups").html("<%= escape_javascript( render :partial => 'new_groups_name', locals: {:course_groups => @course_groups})%>");
\ No newline at end of file
diff --git a/app/views/courses/deletegroup.js.erb b/app/views/courses/deletegroup.js.erb
index a6f6933b9..cb7e1fbb1 100644
--- a/app/views/courses/deletegroup.js.erb
+++ b/app/views/courses/deletegroup.js.erb
@@ -1 +1 @@
-$("#st_groups").html("<%= escape_javascript( render :partial => 'groups_name', locals: {:course_groups => @course_groups})%>");
\ No newline at end of file
+$("#st_groups").html("<%= escape_javascript( render :partial => 'new_groups_name', locals: {:course_groups => @course_groups})%>");
\ No newline at end of file
diff --git a/app/views/courses/updategroupname.js.erb b/app/views/courses/updategroupname.js.erb
index 8eb4e865c..8dd142557 100644
--- a/app/views/courses/updategroupname.js.erb
+++ b/app/views/courses/updategroupname.js.erb
@@ -1,4 +1,4 @@
/**
* Created by Administrator on 2014/12/3.
*/
-$("#st_groups").html("<%= escape_javascript( render :partial => 'groups_name', locals: {:course_groups => @course_groups})%>");
\ No newline at end of file
+$("#st_groups").html("<%= escape_javascript( render :partial => 'new_groups_name', locals: {:course_groups => @course_groups})%>");
\ No newline at end of file
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index d7e393863..5ccb57ffe 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -2088,6 +2088,7 @@ zh:
label_open_anonymous_evaluation: 是否匿评
label_evaluation_description: 即每份作业被允许匿评的人数
label_name_not_null: 名称不能为空
+ modal_valid_unpassing: 该分班已经存在
diff --git a/public/javascripts/course.js b/public/javascripts/course.js
index 3c296699b..18aa965ca 100644
--- a/public/javascripts/course.js
+++ b/public/javascripts/course.js
@@ -1,47 +1,45 @@
///////////////////////////////////////////////////////////////
-function check_groupname(course_id) {
- var $group_name = $('#group_name');
+//添加分班
+function add_group(url,course_id) {
+ var group_name = $('#group_name').val();
$.get(
- '<%=valid_ajax_course_path%>',
+ url,
{ valid: "name",
- value: document.getElementById('group_name').value,
+ value: group_name,
course_id: course_id },
function (data) {
- if (!data.valid) {
+ if (data.valid) {
+ $("#add_group_name").submit();
+ }
+ else
+ {
alert(data.message);
}
- });
-}
-
-function validate_groupname(value1) {
- if(value1.length > 20) {
- alert('<%= l(:label_limit_groupname) %>');
- }
-}
-
-function checkclass(value) {
- for(var i = 0; i < document.getElementsByName("check_group_name").length; i++) {
- if(document.getElementsByName("check_group_name")[i].id == value) {
- document.getElementById(value).className = "selected";
- }
- else {
- document.getElementsByName("check_group_name")[i].className = "classbox";
}
- }
-}
-function validate_groupname_null(value1) {
- value1 = value1.trim();
- if(value1.length == 0 ) {
- alert('<%= l(:label_limit_groupname_null) %>');
- }
+ );
}
-function validate_update(name) {
- value1 = document.getElementById(name).value;
- validate_groupname(value1);
-
-}
-function validate_add_group() {
- check_groupname();
+//修改分班:修改分班时得考虑什么都不改但是点击确定的情况
+function edit_group(id,url,course_id,group_id)
+{
+ var group_name = $('#'+id).val();
+ $.get(
+ url,
+ {
+ valid: "name",
+ value: group_name,
+ course_id: course_id,
+ group_id: group_id
+ },
+ function (data) {
+ if (data.valid) {
+ $("#update_group_"+group_id).submit();
+ }
+ else
+ {
+ alert(data.message);
+ }
+ }
+ );
}
///////////////////////////////////////////////////////////////