diff --git a/app/views/projects/_member_list.html.erb b/app/views/projects/_member_list.html.erb
new file mode 100644
index 000000000..5eb994c86
--- /dev/null
+++ b/app/views/projects/_member_list.html.erb
@@ -0,0 +1,45 @@
+<% if members.any? %>
+ <% members.each do |member| %>
+
+ <% next if member.new_record? %>
+ <% unless member.created_on.nil? %>
+ <%= content_tag "p", "#{format_date(member.created_on)}#{l(:label_member_since)}", :class => "float_right member_since" %>
+ <% end %>
+ <%= member.user.nil? ? '' : (link_to image_tag(url_to_avatar(member.user), :class => 'avatar'), :class => "avatar") %>
+ <%= content_tag "div", link_to_user(member.principal), :class => "nomargin avatar_name" %>
+
+ <% if @project.project_type == 1 %>
+
+
+ <% if member.roles.sort.collect(&:to_s).join(', ') =='Manager' %>
+ <%= l(:label_teacher) %>
+ <% elsif member.roles.sort.collect(&:to_s).join(', ') =='Reporter' %>
+ <%= l(:label_student) %>
+ <% elsif member.roles.sort.collect(&:to_s).join(', ') =='TA' %>
+ <%= l(:label_TA) %>
+ <% else %>
+
+ <% end %>
+
+
+ <% else%>
+ <%= content_tag "div", content_tag("p", member.roles.sort.collect(&:to_s).join(', ')), :class => "clear avatar_name" %>
+ <% users.each do |user|%>
+ <% if user[:user_id] == member[:user_id]%>
+
+
+ <%= l(:label_user_for_project_grade) %>: <%= user[:grade] %>
+
+
+ <% end %>
+ <% end %>
+ <% end %>
+
+ <%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %>
+
+ <% end; reset_cycle %>
+<% else %>
+
-<%= error_messages_for 'member' %>
-<% roles = Role.find_all_givable
- members = @project.member_principals.includes(:roles, :principal).all.sort %>
- <%
- users = UserGrade.find_by_sql("select * from user_grades where project_id = #{@project.id}").sort {|a,b| a[:grade] <=> b[:grade]}
- %>
- <% temp = [] %>
- <% users.each do |user|%>
- <% members.each do |member|%>
- <% if member[:user_id] == user[:user_id] %>
- <% temp << member%>
- <% end %>
- <% end %>
- <% end %>
- <% temps = temp.reverse %>
-<% if temps.any? %>
-<% temps.each do |member| %>
-
-
- <% next if member.new_record? %>
- <% unless member.created_on.nil? %>
- <%= content_tag "p", "#{format_date(member.created_on)}#{l(:label_member_since)}", :class => "float_right member_since" %>
- <% end %>
- <%= member.user.nil? ? '' : (link_to image_tag(url_to_avatar(member.user), :class => 'avatar'), :class => "avatar") %>
- <%= content_tag "div", link_to_user(member.principal), :class => "nomargin avatar_name" %>
-
-
- <% if @project.project_type == 1 %>
-
- <% if member.roles.sort.collect(&:to_s).join(', ') =='Manager' %>
- <%= l(:label_teacher) %>
- <% elsif member.roles.sort.collect(&:to_s).join(', ') =='Reporter' %>
- <%= l(:label_student) %>
- <% elsif member.roles.sort.collect(&:to_s).join(', ') =='TA' %>
- <%= l(:label_TA) %>
- <% else %>
-
- <% end %>
-
-
- <% else%>
- <%= content_tag "div", content_tag("p", member.roles.sort.collect(&:to_s).join(', ')), :class => "clear avatar_name" %>
- <% users.each do |user|%>
- <% if user[:user_id] == member[:user_id]%>
-
-
<%= l(:label_user_for_project_grade) %>: <%= user[:grade] %>
-
- <% end %>
- <% end %>
- <% end %>
-
- <%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %>
-
-
-<% end; reset_cycle %>
-<% else %>
-
- <%= l(:label_no_data) %>
-
- <% end %>
+
+
+ <%= error_messages_for 'member' %>
+ <% roles = Role.find_all_givable
+ members = @project.member_principals.includes(:roles, :principal).all.sort %>
+ <% if @project.project_type == 1 %>
+ <% else %>
+ <% users = UserGrade.find_by_sql("select * from user_grades where project_id = #{@project.id}")%>
+ <% if users %>
+ <% users.sort {|a,b| a[:grade] <=> b[:grade]} %>
+
+ <% temp = [] %>
+ <% users.each do |user|%>
+ <% members.each do |member|%>
+ <% if member[:user_id] == user[:user_id] %>
+ <% temp << member%>
+ <% end %>
+ <% end %>
+ <% end %>
+ <% members = temp.reverse %>
+ <% end %>
+ <% end %>
+ <%= render :partial => 'member_list', :locals => {:members => members} %>
+
+