Commit 4c84165a authored by Jean-Philippe Lang's avatar Jean-Philippe Lang

added the ability to manage users memberships directly on users/edit (administration module)

git-svn-id: http://redmine.rubyforge.org/svn/trunk@118 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent a6c8feea
......@@ -80,6 +80,27 @@ class UsersController < ApplicationController
end
end
@auth_sources = AuthSource.find(:all)
@roles = Role.find :all
@projects = Project.find(:all) - @user.projects
@membership ||= Member.new
end
def edit_membership
@user = User.find(params[:id])
@membership = params[:membership_id] ? Member.find(params[:membership_id]) : Member.new(:user => @user)
@membership.attributes = params[:membership]
if request.post? and @membership.save
flash[:notice] = l(:notice_successful_update)
end
redirect_to :action => 'edit', :id => @user and return
end
def destroy_membership
@user = User.find(params[:id])
if request.post? and Member.find(params[:membership_id]).destroy
flash[:notice] = l(:notice_successful_update)
end
redirect_to :action => 'edit', :id => @user and return
end
def destroy
......
<div class="box" style="margin-top: 16px;">
<h3><%= l(:label_project_plural) %></h3>
<% @user.memberships.each do |membership| %>
<%= start_form_tag({ :action => 'edit_membership', :id => @user, :membership_id => membership }, :class => "tabular") %>
<p style="margin:0;padding-top:0;">
<label><%= membership.project.name %></label>
<select name="membership[role_id]">
<%= options_from_collection_for_select @roles, "id", "name", membership.role_id %>
</select>
<%= submit_tag l(:button_change), :class => "button-small" %>
<%= link_to l(:button_delete), {:action => 'destroy_membership', :id => @user, :membership_id => membership }, :confirm => l(:text_are_you_sure), :post => true, :class => 'pic picDelete' %>
</p>
<%= end_form_tag %>
<% end %>
<hr />
<p>
<label><%=l(:label_project_new)%></label><br/>
<%= start_form_tag({ :action => 'edit_membership', :id => @user }) %>
<select name="membership[project_id]">
<%= options_from_collection_for_select @projects, "id", "name", @membership.project_id %>
</select>
<select name="membership[role_id]">
<%= options_from_collection_for_select @roles, "id", "name", @membership.role_id %>
</select>
<%= submit_tag l(:button_add) %>
<%= end_form_tag %>
</p>
</div>
\ No newline at end of file
......@@ -4,3 +4,5 @@
<%= render :partial => 'form', :locals => { :f => f } %>
<%= submit_tag l(:button_save) %>
<% end %>
<%= render :partial => 'memberships' %>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment