1、修改、删除分班是js方法重构

2、验证分班名是否重复重构
sw_new_course
sw 11 years ago
parent cfe487e217
commit ab7d12e514

@ -202,7 +202,7 @@ class CoursesController < ApplicationController
group.course_id = @course.id group.course_id = @course.id
group.save group.save
end end
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1' @canShowCode = User.current.allowed_to?(:as_teacher,@course) && params[:role] != '1'
@is_remote = true @is_remote = true
@course_groups = @course.course_groups @course_groups = @course.course_groups
@ -236,17 +236,26 @@ class CoursesController < ApplicationController
valid_attr = params[:valid] valid_attr = params[:valid]
valid_value = params[:value] valid_value = params[:value]
group_id = params[:group_id]
faker = CourseGroup.new # faker = CourseGroup.new
if valid_attr.eql?('name') if valid_attr.eql?('name')
faker.name = valid_value course = Course.find params[:course_id]
faker.course_id = params[:course_id] group_names = course.course_groups.map{|group| group.name unless group.id.to_s == group_id}.select{|group| !group.nil?}
faker.valid? if group_names.include?(valid_value)
req[:valid] = faker.errors[:name].blank? req[:valid] = false
req[:message] = faker.errors[:name] 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 end
req[:message] = l(:modal_valid_passing) if req[:message].blank? # req[:message] = l(:modal_valid_passing) if req[:message].blank?
render :json => req render :json => req
end end
def join_group def join_group

@ -4,7 +4,7 @@
</div> </div>
<div class="cl"></div> <div class="cl"></div>
<div class="st_addclass"> <div class="st_addclass" id="st_groups">
<%= render :partial => 'new_groups_name', :locals => {:course_groups => @course_groups} %> <%= render :partial => 'new_groups_name', :locals => {:course_groups => @course_groups} %>
</div> </div>
<div class="cl"></div> <div class="cl"></div>

@ -1,7 +1,7 @@
<ul> <ul>
<li style=" color:#8b8b8b;">分班:</li> <li style=" color:#8b8b8b;">分班:</li>
<li class="classbox"> <li class="classbox" id="course_group_0">
<%= 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%>
</li> </li>
<% unless course_groups.nil? %> <% unless course_groups.nil? %>
@ -20,16 +20,16 @@
<img src="/images/pic_del.gif" width="11" height="12" alt="删除班级" title="删除该班级" /> <img src="/images/pic_del.gif" width="11" height="12" alt="删除班级" title="删除该班级" />
</a> </a>
<% end %> <% end %>
<a href="javascript:void(0)" class="f_l" style="padding-left: 5px;" onclick="$('#group_name_<%= group.id %>').value='';$('#edit_group_<%= group.id %>').slideToggle();"> <a href="javascript:void(0)" class="f_l" style="padding-left: 5px;" onclick="$('#group_name_<%= group.id %>').val('');$('#edit_group_<%= group.id %>').slideToggle();">
<img src="/images/pic_edit.png" width="14" height="15" alt="编辑班级" /> <img src="/images/pic_edit.png" width="14" height="15" alt="编辑班级" />
</a> </a>
</li> </li>
<!-- 编辑分班 --> <!-- 编辑分班 -->
<li> <li>
<%= 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 %>
<span id="edit_group_<%= group.id %>" style="display:none; vertical-align: middle;" class=" f_l"> <span id="edit_group_<%= group.id %>" style="display:none; vertical-align: middle;" class=" f_l">
<input type="text" id="group_name_<%= group.id%>" name="group_name" size="20" class="isTxt w90 f_l" maxlength="100" /> <input type="text" id="group_name_<%= group.id%>" name="group_name" size="20" class="isTxt w90 f_l" maxlength="100" />
<input type="button" class="submit f_l" onclick="edit_group('edit_group_<%= group.id%>');"/> <input type="button" class="submit f_l" onclick="edit_group('group_name_<%= group.id%>','<%= valid_ajax_course_path%>','<%= @course.id%>','<%= group.id%>');"/>
</span> </span>
<% end %> <% end %>
</li> </li>
@ -42,9 +42,9 @@
</li> </li>
<li > <li >
<span id="new_group_name" style="display:none; vertical-align: middle;" class="ml10 f_l"> <span id="new_group_name" style="display:none; vertical-align: middle;" class="ml10 f_l">
<%= 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 %>
<input type="text" id="group_name" name="group_name" size="20" class="isTxt w90 f_l" maxlength="100" /> <input type="text" id="group_name" name="group_name" size="20" class="isTxt w90 f_l" maxlength="100" />
<input type="button" class="submit f_l" onclick="edit_group('group_name');"/> <input type="button" class="submit f_l" onclick="add_group('<%= valid_ajax_course_path%>','<%= @course.id%>');"/>
<% end %> <% end %>
</span> </span>
</li> </li>

@ -1 +1 @@
$("#st_groups").html("<%= escape_javascript( render :partial => 'groups_name', locals: {:course_groups => @course_groups})%>"); $("#st_groups").html("<%= escape_javascript( render :partial => 'new_groups_name', locals: {:course_groups => @course_groups})%>");

@ -1 +1 @@
$("#st_groups").html("<%= escape_javascript( render :partial => 'groups_name', locals: {:course_groups => @course_groups})%>"); $("#st_groups").html("<%= escape_javascript( render :partial => 'new_groups_name', locals: {:course_groups => @course_groups})%>");

@ -1,4 +1,4 @@
/** /**
* Created by Administrator on 2014/12/3. * Created by Administrator on 2014/12/3.
*/ */
$("#st_groups").html("<%= escape_javascript( render :partial => 'groups_name', locals: {:course_groups => @course_groups})%>"); $("#st_groups").html("<%= escape_javascript( render :partial => 'new_groups_name', locals: {:course_groups => @course_groups})%>");

@ -2088,6 +2088,7 @@ zh:
label_open_anonymous_evaluation: 是否匿评 label_open_anonymous_evaluation: 是否匿评
label_evaluation_description: 即每份作业被允许匿评的人数 label_evaluation_description: 即每份作业被允许匿评的人数
label_name_not_null: 名称不能为空 label_name_not_null: 名称不能为空
modal_valid_unpassing: 该分班已经存在

@ -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( $.get(
'<%=valid_ajax_course_path%>', url,
{ valid: "name", { valid: "name",
value: document.getElementById('group_name').value, value: group_name,
course_id: course_id }, course_id: course_id },
function (data) { function (data) {
if (!data.valid) { if (data.valid) {
$("#add_group_name").submit();
}
else
{
alert(data.message); 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; function edit_group(id,url,course_id,group_id)
validate_groupname(value1); {
var group_name = $('#'+id).val();
} $.get(
function validate_add_group() { url,
check_groupname(); {
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);
}
}
);
} }
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////

Loading…
Cancel
Save