From af00598e5eb7c8fd86e41c7fed81e66f29b5ffe1 Mon Sep 17 00:00:00 2001
From: Eric Davis <edavis@littlestreamsoftware.com>
Date: Tue, 20 Oct 2009 11:34:38 -0700
Subject: [PATCH] [#809] Refactored a duplicate form to a partial.

---
 app/views/groups/_memberships.html.erb            | 14 +-------------
 app/views/members/_membership_assignment.html.erb | 13 +++++++++++++
 app/views/users/_memberships.rhtml                | 13 +------------
 3 files changed, 15 insertions(+), 25 deletions(-)
 create mode 100644 app/views/members/_membership_assignment.html.erb

diff --git a/app/views/groups/_memberships.html.erb b/app/views/groups/_memberships.html.erb
index 46f2d11e0..9c7c248b2 100644
--- a/app/views/groups/_memberships.html.erb
+++ b/app/views/groups/_memberships.html.erb
@@ -41,17 +41,5 @@
 </div>
 
 <div class="splitcontentright">
-<% if projects.any? %>
-<fieldset><legend><%=l(:label_project_new)%></legend>
-<% remote_form_for(:membership, :url => { :action => 'edit_membership', :id => @group }) do %>
-<%= label_tag "membership_project_id", l(:description_choose_project), :class => "hidden-for-sighted" %>
-<%= select_tag 'membership[project_id]', options_for_membership_project_select(@group, projects) %>
-<p><%= l(:label_role_plural) %>:
-<% roles.each do |role| %>
-  <label><%= check_box_tag 'membership[role_ids][]', role.id %> <%=h role %></label>
-<% end %></p>
-<p><%= submit_tag l(:button_add) %></p>
-<% end %>
-</fieldset>
-<% end %>
+<%= render :partial => 'members/membership_assignment', :locals => {:principal => @group, :projects => projects, :roles => roles } %>
 </div>
diff --git a/app/views/members/_membership_assignment.html.erb b/app/views/members/_membership_assignment.html.erb
new file mode 100644
index 000000000..d264a949b
--- /dev/null
+++ b/app/views/members/_membership_assignment.html.erb
@@ -0,0 +1,13 @@
+<% if projects.any? %>
+<fieldset><legend><%=l(:label_project_new)%></legend>
+<% remote_form_for(:membership, :url => { :action => 'edit_membership', :id => principal }) do %>
+<%= label_tag "membership_project_id", l(:description_choose_project), :class => "hidden-for-sighted" %>
+<%= select_tag 'membership[project_id]', options_for_membership_project_select(principal, projects) %>
+<p><%= l(:label_role_plural) %>:
+<% roles.each do |role| %>
+  <label><%= check_box_tag 'membership[role_ids][]', role.id %> <%=h role %></label>
+<% end %></p>
+<p><%= submit_tag l(:button_add) %></p>
+<% end %>
+</fieldset>
+<% end %>
diff --git a/app/views/users/_memberships.rhtml b/app/views/users/_memberships.rhtml
index 7d97c5f99..15a902d63 100644
--- a/app/views/users/_memberships.rhtml
+++ b/app/views/users/_memberships.rhtml
@@ -47,16 +47,5 @@
 </div>
 
 <div class="splitcontentright">
-<% if projects.any? %>
-<fieldset><legend><%=l(:label_project_new)%></legend>
-<% remote_form_for(:membership, :url => { :action => 'edit_membership', :id => @user }) do %>
-<%= select_tag 'membership[project_id]', options_for_membership_project_select(@user, projects) %>
-<p><%= l(:label_role_plural) %>:
-<% roles.each do |role| %>
-  <label><%= check_box_tag 'membership[role_ids][]', role.id %> <%=h role %></label>
-<% end %></p>
-<p><%= submit_tag l(:button_add) %></p>
-<% end %>
-</fieldset>
-<% end %>
+<%= render :partial => 'members/membership_assignment', :locals => {:principal => @user, :projects => projects, :roles => roles } %>
 </div>
-- 
GitLab