diff --git a/app/models/role.rb b/app/models/role.rb index c7f9306b3..2902325d3 100644 --- a/app/models/role.rb +++ b/app/models/role.rb @@ -164,8 +164,8 @@ class Role < ActiveRecord::Base end # Find all the roles that can be given to a project member - def self.find_all_givable - Role.givable.all + def self.find_all_givable + Role.givable.all end # Return the builtin 'non member' role. If the role doesn't exist, diff --git a/app/views/projects/settings/_members.html.erb b/app/views/projects/settings/_members.html.erb index 7d378cb0d..bbc598e20 100644 --- a/app/views/projects/settings/_members.html.erb +++ b/app/views/projects/settings/_members.html.erb @@ -1,52 +1,25 @@ <%= error_messages_for 'member' %> -<% roles = Role.find_all_givable +<% if @project.project_type == 1 %> +<% r = [] %> +<% for i in 3..5 %> +<% roles = Role.givable.all[i] members = @project.member_principals.includes(:roles, :principal).all.sort %> - -
<%= l(:label_user) %> / <%= l(:label_group) %> | +<%= l(:label_user) %> | <%= l(:label_role_plural) %> | <%= call_hook(:view_projects_settings_members_table_header, :project => @project) %> @@ -57,64 +30,14 @@ |
---|---|---|---|
<%= link_to_user member.principal %> |
-
- <% if @project.project_type == 1 %>
-
- <% if member.roles.sort.collect(&:to_s).join(', ') =='Manager' %>
- 老师
- <% elsif member.roles.sort.collect(&:to_s).join(', ') =='Reporter' %>
- 学生
- <% elsif member.roles.sort.collect(&:to_s).join(', ') =='TA' %>
- 助教
- <% else %>
-
- <% end %>
-
- <% else %>
-
- <% if member.roles.sort.collect(&:to_s).join(', ') =='Manager' %>
- Manager
- <% elsif member.roles.sort.collect(&:to_s).join(', ') =='Developer' %>
- Developer
- <% elsif member.roles.sort.collect(&:to_s).join(', ') =='Reporter' %>
- Reporter
- <% else %>
- <% end %>
-
- <% end %>
-
-
-
+ <%=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| %> - <% if @project.project_type ==1 %> - - <% if role == Role.find(3) %> - <%= check_box_tag 'membership[role_ids][]', role.id %>老师 - <% elsif role == Role.find(5) %> - <%= check_box_tag 'membership[role_ids][]', role.id %>学生 - <% elsif role == Role.find(7) %> - <%= check_box_tag 'membership[role_ids][]', role.id %>助教 - <% elsif role == Role.find(4) %> - <% else %> - <% end %> - <% else %> - + <% r.each do |role| %>
+ <%= submit_tag l(:button_change), :class => "small" %> @@ -141,4 +64,26 @@ <% end %> +
+<% if r.any? %>
+ <%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %>
+
+ <% end %>
+<% end %>
+
|