From 09eb16ad9a29ec1e965a35070100571d23fb211f Mon Sep 17 00:00:00 2001 From: huangjingquan Date: Sat, 2 Nov 2013 10:34:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=92=8C=E8=AF=BE=E7=A8=8B=E9=87=8C=E9=9D=A2=E6=88=90=E5=91=98?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/role.rb | 4 +- app/views/projects/settings/_members.html.erb | 139 ++++++------------ 2 files changed, 44 insertions(+), 99 deletions(-) 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 %> - -
- <% if roles.any? %> - <%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %> -
<%=l(:label_member_new)%> -
-

<%= label_tag "principal_search", l(:label_principal_search) %><%= text_field_tag 'principal_search', nil %>

- <%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %> -
- <%= render_principals_for_new_members(@project) %> -
-

<%= submit_tag l(:button_add), :id => 'member-add-submit' %>

-
-
-

<%= l(:label_role_plural) %>: - <% roles.each do |role| %> - - <% end %>

-
-
- <% end %> + <% r << roles %> + <% end %> +<% else %> +<% r = [] %> +<% for i in 0..2 %> +<% roles = Role.givable.all[i] + members = @project.member_principals.includes(:roles, :principal).all.sort %> + <% r << roles %> + <% end %> + <% end %> -
- -
+
<% if members.any? %> - + <%= call_hook(:view_projects_settings_members_table_header, :project => @project) %> @@ -57,64 +30,14 @@
<%= l(:label_user) %> / <%= l(:label_group) %><%= l(:label_user) %> <%= l(:label_role_plural) %>
<%= 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| %> +
<% end %>

<%= hidden_field_tag 'membership[role_ids][]', '' %>

<%= 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| %> +
<%=l(:label_member_new)%> + +

<%= label_tag "principal_search", l(:label_principal_search) %><%= text_field_tag 'principal_search', nil %>

+ <%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %> +
+ <%= render_principals_for_new_members(@project) %> +
+ +

<%= l(:label_role_plural) %>: + <% r.each do |role| %> + + + <% end %>

+ +

<%= submit_tag l(:button_add), :id => 'member-add-submit' %>

+
+ <% end %> +<% end %> +