diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index d63f0cfbb..87b0d8dcf 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -881,6 +881,7 @@ class BidsController < ApplicationController def memberAccess # 是课程,则判断当前用户是否参加了课程 + return true if current_user.admin? return 0 if @bid.courses.first.project_type == Project::ProjectType_project currentUser = User.current render_403 unless currentUser.member_of?(@bid.courses.first) diff --git a/app/views/projects/settings/_members.html.erb b/app/views/projects/settings/_members.html.erb index f97e9d0f2..615bcc65a 100644 --- a/app/views/projects/settings/_members.html.erb +++ b/app/views/projects/settings/_members.html.erb @@ -1,125 +1,87 @@ <%= error_messages_for 'member' %> -<% roles = Role.find_all_givable - members = @project.member_principals.includes(:roles, :principal).all.sort %> +<% + if @project.project_type == Project::ProjectType_course + roles = Role.givable.all[3..5] + else + roles = Role.givable.all[0..2] + end + members = @project.member_principals.includes(:roles, :principal).all.sort +%> +
<%= l(:label_user) %> | -<%= l(:label_role_plural) %> | -+ <% if members.any? %> + |
---|
<%= l(:label_user) %> | +<%= l(:label_role_plural) %> | +<%= call_hook(:view_projects_settings_members_table_header, :project => @project) %> - | |||||
---|---|---|---|---|---|---|---|
<%= link_to_user member.principal %> | -- - - <% if @project.project_type == 1 %> - <% if member.roles.sort.collect(&:to_s).join(', ') =='Manager' %> - 老师 - <% else %> - <%=h member.roles.sort.collect(&:to_s).join(', ') %> - <% end %> - <% else %> - <%=h member.roles.sort.collect(&:to_s).join(', ') %> - <% end %> + | ||||||
<%= link_to_user member.principal %> | +
+
+ <%= 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| %>
-
-<%= error_messages_for 'member' %>
-<% 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 %>
- <% 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 %>
-
- <% r.each do |role| %>
- <%= submit_tag l(:button_change), :class => "small" %> - <%= link_to_function l(:button_cancel), - "$('#member-#{member.id}-roles').show(); $('#member-#{member.id}-roles-form').hide(); return false;" - %> - <% end %> - |
-
- <%= error_messages_for 'member' %>
-<% roles = Role.find_all_givable
- members = @project.member_principals.includes(:roles, :principal).all.sort %>
- <% if @project.project_type == 1 %>
- <%if member.roles.first.to_s == "Manager" %>
- - <% else %> - | - <%= link_to_function l(:button_edit), - "$('#member-#{member.id}-roles').hide(); $('#member-#{member.id}-roles-form').show(); return false;", - :class => 'icon icon-edit' %> - <%= delete_link membership_path(member), - :remote => true, - :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %> - | - <% end %> - <% else %> -- <%= link_to_function l(:button_edit), - "$('#member-#{member.id}-roles').hide(); $('#member-#{member.id}-roles-form').show(); return false;", - :class => 'icon icon-edit' %> - <%= delete_link membership_path(member), - :remote => true, - :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %> - | + <%= form_for(member, {:as => :membership, :remote => true, :url => membership_path(member), + :method => :put, + :html => {:id => "member-#{member.id}-roles-form", :class => 'hol'}} + ) do |f| %> + ++ <% else %> + | + <%= link_to_function l(:button_edit), + "$('#member-#{member.id}-roles').hide(); $('#member-#{member.id}-roles-form').show(); return false;", + :class => 'icon icon-edit' %> + <%= delete_link membership_path(member), + :remote => true, + :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %> + | + <% end %> + <% else %> ++ <%= link_to_function l(:button_edit), + "$('#member-#{member.id}-roles').hide(); $('#member-#{member.id}-roles-form').show(); return false;", + :class => 'icon icon-edit' %> + <%= delete_link membership_path(member), + :remote => true, + :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %> + | + <% end %> + + <%= call_hook(:view_projects_settings_members_table_row, {:project => @project, :member => member}) %> +
<%= l(:label_no_data) %>
<% end %> - - <%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %> -<%= l(:label_no_data) %>
-<% end %><%= l(:label_role_plural) %>: - <% r.each do |role| %> + <% roles.each do |role| %> <% end %>
@@ -144,24 +106,25 @@