##// END OF EJS Templates
added the ability to manage users memberships directly on users/edit (administration module)...
Jean-Philippe Lang -
r115:4c84165aa074
parent child
Show More
@@ -0,0 +1,29
1 <div class="box" style="margin-top: 16px;">
2 <h3><%= l(:label_project_plural) %></h3>
3
4 <% @user.memberships.each do |membership| %>
5 <%= start_form_tag({ :action => 'edit_membership', :id => @user, :membership_id => membership }, :class => "tabular") %>
6 <p style="margin:0;padding-top:0;">
7 <label><%= membership.project.name %></label>
8 <select name="membership[role_id]">
9 <%= options_from_collection_for_select @roles, "id", "name", membership.role_id %>
10 </select>
11 <%= submit_tag l(:button_change), :class => "button-small" %>
12 <%= link_to l(:button_delete), {:action => 'destroy_membership', :id => @user, :membership_id => membership }, :confirm => l(:text_are_you_sure), :post => true, :class => 'pic picDelete' %>
13 </p>
14 <%= end_form_tag %>
15 <% end %>
16 <hr />
17 <p>
18 <label><%=l(:label_project_new)%></label><br/>
19 <%= start_form_tag({ :action => 'edit_membership', :id => @user }) %>
20 <select name="membership[project_id]">
21 <%= options_from_collection_for_select @projects, "id", "name", @membership.project_id %>
22 </select>
23 <select name="membership[role_id]">
24 <%= options_from_collection_for_select @roles, "id", "name", @membership.role_id %>
25 </select>
26 <%= submit_tag l(:button_add) %>
27 <%= end_form_tag %>
28 </p>
29 </div> No newline at end of file
1 NO CONTENT: new file 100644, binary diff hidden
@@ -80,6 +80,27 class UsersController < ApplicationController
80 80 end
81 81 end
82 82 @auth_sources = AuthSource.find(:all)
83 @roles = Role.find :all
84 @projects = Project.find(:all) - @user.projects
85 @membership ||= Member.new
86 end
87
88 def edit_membership
89 @user = User.find(params[:id])
90 @membership = params[:membership_id] ? Member.find(params[:membership_id]) : Member.new(:user => @user)
91 @membership.attributes = params[:membership]
92 if request.post? and @membership.save
93 flash[:notice] = l(:notice_successful_update)
94 end
95 redirect_to :action => 'edit', :id => @user and return
96 end
97
98 def destroy_membership
99 @user = User.find(params[:id])
100 if request.post? and Member.find(params[:membership_id]).destroy
101 flash[:notice] = l(:notice_successful_update)
102 end
103 redirect_to :action => 'edit', :id => @user and return
83 104 end
84 105
85 106 def destroy
@@ -4,3 +4,5
4 4 <%= render :partial => 'form', :locals => { :f => f } %>
5 5 <%= submit_tag l(:button_save) %>
6 6 <% end %>
7
8 <%= render :partial => 'memberships' %> No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now