diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb index 248b22991..170e64ef6 100644 --- a/app/controllers/members_controller.rb +++ b/app/controllers/members_controller.rb @@ -250,6 +250,8 @@ class MembersController < ApplicationController end end end + @roles = Role.givable.all[3..5] + @members = @course.member_principals.includes(:roles, :principal).all.sort end saved = @member.save diff --git a/app/views/courses/_course_members.html.erb b/app/views/courses/_course_members.html.erb index 87cf59c3b..9d7db7b98 100644 --- a/app/views/courses/_course_members.html.erb +++ b/app/views/courses/_course_members.html.erb @@ -35,13 +35,13 @@ <% @roles.each do |role| %>
  • - <%= check_box_tag 'membership[role_ids][]', role.id %> + <%= radio_button_tag 'membership[role_ids][]', role.id %>
  • <% end %>
    - + 新增成员 diff --git a/app/views/courses/_member.html.erb b/app/views/courses/_member.html.erb index acebc11bd..53e7c15a5 100644 --- a/app/views/courses/_member.html.erb +++ b/app/views/courses/_member.html.erb @@ -2,12 +2,36 @@
  • <%= link_to_user_header member.principal,false,:class => "w150 c_orange fl" %> - <%= h member.roles.sort.collect(&:to_s).join(', ') %> - - 编辑 - <%= delete_link membership_path(member), - :remote => true, - :class => "c_dblue w40 fl", - :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {confirm: l(:label_delete_confirm)}) if member.deletable? %> + <%= h member.roles.sort.collect(&:to_s).join(', ') %> + <%= form_for(member, {:as => :membership, :remote => true, :url => membership_path(member), + :method => :put, + :html => {:id => "member-#{member.id}-roles-form", :class => 'hol'}} + ) do |f| %> + <% @roles.each do |role| %> + + + <% end %> + <%= hidden_field_tag 'membership[role_ids][]', '' %> +
    + + <%= l(:button_change)%> + + + <%= l(:button_cancel)%> + +
    + <% end %> + + <% unless member.roles.first.to_s == "Manager"%> + 编辑 + <%= delete_link membership_path(member), + :remote => true, + :class => "c_dblue w40 fl", + :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {confirm: l(:label_delete_confirm)}) if member.deletable? %> + <% end%>
  • <% end%> \ No newline at end of file diff --git a/app/views/members/update.js.erb b/app/views/members/update.js.erb index 9f6709701..c72c16fc5 100644 --- a/app/views/members/update.js.erb +++ b/app/views/members/update.js.erb @@ -1,7 +1,10 @@ <%if @project%> $('#tab-content-members').html('<%= escape_javascript(render :partial => 'projects/settings/members') %>'); +$("#member-<%= @member.id %>").effect("highlight"); +hideOnLoad(); <%elsif @course%> -$('#tab-content-members').html('<%= escape_javascript(render :partial => 'courses/settings/members') %>'); -<%end%> +$('#tbc_02').html('<%= escape_javascript(render :partial => 'courses/course_members') %>'); hideOnLoad(); -$("#member-<%= @member.id %>").effect("highlight"); +<%end%> + + diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index f4ffa1fe0..89925371e 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -272,8 +272,9 @@ a:hover.tijiao{ background:#0f99a9;} .member_search_input{ border:1px solid #15bccf; background:#fff; width:170px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;} .member_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;} .member_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;} -a.member_btn{ padding:5px; background:#15bccf; color:#fff;} +a.member_btn{ padding: 3px 5px; background:#15bccf; color:#fff;} a:hover.member_btn{ background:#329cbd;} +.hol{display: none;} /* 新建项目 */ .pro_new{ }