<%= error_messages_for 'member' %>
<%
   roles = Role.givable.all
   if @project.project_type == Project::ProjectType_course
     if User.current.language == "zh"
       roles = ["管理人员","开发者","报告人员"]
     else
       roles = ["管理人员","开发者","报告人员"]
       # roles = roles[3..5]
     end
   else
     roles = roles[0..2]
   end
   members = @project.member_principals.includes(:roles, :principal).all.sort
%>

<div class="members_left">
  <% if members.any? %>
      <ul style=" border-bottom:none;">
        <li><span class="w140_h f_b" ><%= l(:label_user) %></span><span class="w180_h f_b"><%= l(:label_role_plural) %></span><span></span></li>
        <%= call_hook(:view_projects_settings_members_table_header, :project => @project) %>
        <% members.each do |member| %>
            <li >
              <%= link_to_user_header member.principal, true, :class => "w140_h c_setting_blue fl" %>
              <span class="w180_h fl">
              <!--区分中英文角色显示的不同-->
              <% if User.current.language == "zh" %>
                <% zh_roles = [] %>
                <% member.roles.each do |role| %>
                    <% if role.id == 3
                       zh_roles << "管理人员"
                    elsif role.id == 4
                       zh_roles << "开发人员"
                    else
                       zh_roles << "报告人员"
                    end
                 %>
                <% end %>
                    <%= h zh_roles.sort.reverse.collect(&:to_s).join(', ') %>
              <% else %>
                <%= h member.roles.sort.collect(&:to_s).join(', ') %>
              <% end %>
              <%= 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| %>
                <ul style="text-align: left;" >
                  <%= 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? } %>
                 <!--编辑时候显示成员，中英文切换后面需从数据库的角度优化-->
                  <% if User.current.language == "zh" %>
                      <% if role.id == 3 %>
                          <label >管理人员</label>
                      <% elsif role.id == 4 %>
                          <label >开发人员</label>
                      <% else %>
                          <label >报告人员</label>
                      <% end %>
                  <% else %>
                      <label ><%= h role %></label>
                  <% end %>
                </ul>
                <!--<br/>-->
              <% end %>
                    <%= hidden_field_tag 'membership[role_ids][]', '' %>
                    <div class="pt5">
                      <a href="javascript:void(0)" class="project_member_btn" onclick="$('#member-<%= member.id%>-roles-form').submit();" style="margin-right: 10px;">
                        <%= l(:button_change)%>
                      </a>
                      <a href="javascript:void(0)" class="project_member_btn" onclick="$('#member-<%= member.id%>-roles-form').hide();$(this).parent().parent().parent().parent().height(30)">
                        <%= l(:button_cancel)%>
                      </a>
                    </div>
        <% end %>
              </span>
              <% unless member.user_id == @project.user_id %>
                  <a href="javascript:void(0) " class="c_setting_blue ml30 fl" onclick="$('#member-<%= member.id%>-roles-form').show();$(this).parent().height(110);">编辑</a>
                  <%= delete_link membership_path(member),
                                  :remote => true,
                                  :class => "c_setting_blue ml15  fl",
                                  :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_for_project_confirmation)} : {confirm: l(:label_delete_confirm)}) if member.deletable? %>
              <% end%>
            </li>
        <% end%>
      </ul>
  <% else %>
      <p class="nodata"><%= l(:label_no_data) %></p>
  <% end %>
</div><!-- left -->
<!--right begin-->
<% if roles.any? %>
    <div class="members_right">
      <!-- applied -->
      <% if @project.applied_projects.any? %>
          <div class="members_jion">
            <p class="c_blue mb10 fb"><%= l(:label_apply_project) %></p>
            <%= form_for(@applied_members, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %>
                <div id="principals_for_applied_member">
                  <%= render_principals_for_applied_members_new(@project) %>
                </div>
                <ul class="mb10">
                  <li><%= l(:label_role_plural) %>:</li>
                  <% roles.each do |role| %>
                      <li>
                        <%= check_box_tag 'membership[role_ids][]', role.id %>
                        <label ><%= h role %></label >
                      </li>
                  <% end %>
                </ul>
                <a remote="true" href="javascript:void(0)" class="blue_btn fl" onclick="$('#new_membership').submit();">
                  <%= l(:label_approve) %>
                </a>
                <a remote="true" href="javascript:void(0)" class="grey_btn fl ml10" onclick="refusal_applied_member();">
                  <%= l(:label_refusal) %>
                </a>
            <% end %>
            <div class="cl"></div>
          </div>
          <% end %><!--members_jion end-->
      <div class="cl"></div>
      <!-- add members -->
      <p class="c_blue fb mt10 mb5"><%= l(:label_member_new) %></p>
      <%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %>
          <div class="member_search">
            <input id="principal_search" class="member_search_input fl" type="text" placeholder="<%= l(:label_invite_trustie_user_tips)%>">
            <%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %>
            <div class="cl"></div>

            <div id="principals_for_new_member">
              <%= render_project_members(@project) %>
            </div>
            <div class="cl"></div>

            <ul class="rolebox mb10 mt10">
              <li class="fb">
                <%= l(:label_role_plural) %>：
              </li>
              <% roles.each do |role| %>
                  <li>
                    <%= radio_button_tag 'membership[role_ids][]', role.id, role.name == "报告人员" || role.name == "Reporter"  %>
                    <% if User.current.language == "zh" %>
                        <% if role.id == 3 %>
                            <label >管理人员</label>
                        <% elsif role.id == 4 %>
                            <label >开发人员</label>
                        <% else %>
                            <label >报告人员</label>
                        <% end %>
                    <% else %>
                        <label ><%= h role %></label>
                    <% end %>
                  </li>
              <% end %>
            </ul>
            <div class="cl mb10"></div>
            <a href="javascript:void(0)" class="project_member_btn_right" onclick="$(this).parent().parent().submit();">
              新增成员
            </a>
          </div>
      <% end%>
    </div><!-- 右边 end-->
<% end %>

<script type="text/javascript">
    $(document).ready(function () {
        var collection=$("#principals_for_new_member").children("#principals").children("label");
        collection.css("text-overflow","ellipsis");
        collection.css("white-space","nowrap");
        collection.css("width","200px");
        collection.css("overflow","hidden");
        for(i=0;i<collection.length;i++){    //增加悬浮显示
            var label=collection[i];
            var text=$(label).text();
            $(label).attr("title",text);
        }
    });
</script>