From ed02959e0027ab0555f7dd23028ec533254f3083 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Mon, 30 Mar 2015 15:57:10 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=90=E5=91=98=E8=A7=92?=
=?UTF-8?q?=E8=89=B2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/members_controller.rb | 2 ++
app/views/courses/_course_members.html.erb | 4 +--
app/views/courses/_member.html.erb | 38 ++++++++++++++++++----
app/views/members/update.js.erb | 9 +++--
public/stylesheets/courses.css | 3 +-
5 files changed, 43 insertions(+), 13 deletions(-)
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| %>
+
+ <%= radio_button_tag 'membership[role_ids][]', role.id, member.roles.include?(role),
+ :disabled => member.member_roles.detect { |mr| mr.role_id == role.id && !mr.inherited_from.nil? } %>
+
+
+
+ <% end %>
+ <%= hidden_field_tag 'membership[role_ids][]', '' %>
+
+ <% 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{ }