diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb
index aaaa4484d..248b22991 100644
--- a/app/controllers/members_controller.rb
+++ b/app/controllers/members_controller.rb
@@ -133,6 +133,9 @@ class MembersController < ApplicationController
elsif @course
course_info = []
if params[:membership]
+ @create_member_error_messages = "角色不能留空" unless params[:membership][:role_ids]
+ @create_member_error_messages = "用户不能留空" unless params[:membership][:user_ids]
+
if params[:membership][:user_ids]
attrs = params[:membership].dup
user_ids = attrs.delete(:user_ids)
@@ -140,7 +143,7 @@ class MembersController < ApplicationController
member = Member.new(:role_ids => params[:membership][:role_ids], :user_id => user_id)
role = Role.find_by_id(params[:membership][:role_ids])
# 这里的判断只能通过角色名,可以弄成常量
- if role.name == "学生" || role.name == "Student"
+ if role && (role.name == "学生" || role.name == "Student")
StudentsForCourse.create(:student_id => user_id, :course_id =>@course.id)
end
members << member
@@ -159,6 +162,11 @@ class MembersController < ApplicationController
end
@course.members << members
@course.course_infos << course_info
+
+ @roles = Role.givable.all[3..5]
+ members = @course.member_principals.includes(:roles, :principal).all.sort
+ else
+ @create_member_error_messages = l(:label_user_role_null)
end
respond_to do |format|
format.html { redirect_to_settings_in_courses }
diff --git a/app/views/courses/_course_members.html.erb b/app/views/courses/_course_members.html.erb
index b568d3336..87cf59c3b 100644
--- a/app/views/courses/_course_members.html.erb
+++ b/app/views/courses/_course_members.html.erb
@@ -11,7 +11,7 @@
- <%= render :partial => "member" %>
+ <%= render :partial => "courses/member" %>
diff --git a/app/views/members/create.js.erb b/app/views/members/create.js.erb
index 35280b7a4..93aad5b5e 100644
--- a/app/views/members/create.js.erb
+++ b/app/views/members/create.js.erb
@@ -1,22 +1,27 @@
<%if @project%>
$('#tab-content-members').html('<%= escape_javascript(render :partial => 'projects/settings/members') %>');
-<%elsif @course%>
-$('#tab-content-members').html('<%= escape_javascript(render :partial => 'courses/settings/members') %>');
-<%end%>
-
-hideOnLoad();
<%if !@applied_members%>
- <% if @members.present? && @members.all? {|m| m.valid? } %>
- <% @members.each do |member| %>
- $("#member-<%= member.id %>").effect("highlight");
- <% end %>
- <% else %>
- <% if @members %>
- <% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ')%>
- alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => errors || ''))) %>');
- <% else%>
+<% if @members.present? && @members.all? {|m| m.valid? } %>
+<% @members.each do |member| %>
+$("#member-<%= member.id %>").effect("highlight");
+<% end %>
+<% else %>
+<% if @members %>
+<% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ')%>
+alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => errors || ''))) %>');
+<% else%>
// alert('');
- <% end%>
- <% end %>
+<% end%>
<% end %>
+<% end %>
+<%elsif @course%>
+ <% if @create_member_error_messages%>
+ alert("<%= @create_member_error_messages%>");
+ <% else%>
+ $('#tbc_02').html('<%= escape_javascript(render :partial => 'courses/course_members') %>');
+ alert("添加成功");
+ <% end%>
+<%end%>
+
+hideOnLoad();