@@ -0,0 +1,4 | |||
|
1 | <% labelled_tabular_form_for :user, @user, :url => { :action => "edit" } do |f| %> | |
|
2 | <%= render :partial => 'form', :locals => { :f => f } %> | |
|
3 | <%= submit_tag l(:button_save) %> | |
|
4 | <% end %> |
@@ -91,23 +91,20 class UsersController < ApplicationController | |||
|
91 | 91 | @roles = Role.find_all_givable |
|
92 | 92 | @projects = Project.find(:all, :order => 'name', :conditions => "status=#{Project::STATUS_ACTIVE}") - @user.projects |
|
93 | 93 | @membership ||= Member.new |
|
94 | @memberships = @user.memberships | |
|
94 | 95 | end |
|
95 | 96 | |
|
96 | 97 | def edit_membership |
|
97 | 98 | @user = User.find(params[:id]) |
|
98 | 99 | @membership = params[:membership_id] ? Member.find(params[:membership_id]) : Member.new(:user => @user) |
|
99 | 100 | @membership.attributes = params[:membership] |
|
100 | if request.post? and @membership.save | |
|
101 | flash[:notice] = l(:notice_successful_update) | |
|
102 | end | |
|
103 | redirect_to :action => 'edit', :id => @user and return | |
|
101 | @membership.save if request.post? | |
|
102 | redirect_to :action => 'edit', :id => @user, :tab => 'memberships' | |
|
104 | 103 | end |
|
105 | 104 | |
|
106 | 105 | def destroy_membership |
|
107 | 106 | @user = User.find(params[:id]) |
|
108 |
|
|
|
109 | flash[:notice] = l(:notice_successful_update) | |
|
110 | end | |
|
111 | redirect_to :action => 'edit', :id => @user and return | |
|
107 | Member.find(params[:membership_id]).destroy if request.post? | |
|
108 | redirect_to :action => 'edit', :id => @user, :tab => 'memberships' | |
|
112 | 109 | end |
|
113 | 110 | end |
@@ -48,4 +48,10 module UsersHelper | |||
|
48 | 48 | link_to l(:button_lock), url.merge(:user => {:status => User::STATUS_LOCKED}), :method => :post, :class => 'icon icon-lock' |
|
49 | 49 | end |
|
50 | 50 | end |
|
51 | ||
|
52 | def user_settings_tabs | |
|
53 | tabs = [{:name => 'general', :partial => 'users/general', :label => :label_general}, | |
|
54 | {:name => 'memberships', :partial => 'users/memberships', :label => :label_project_plural} | |
|
55 | ] | |
|
56 | end | |
|
51 | 57 | end |
@@ -2,7 +2,6 | |||
|
2 | 2 | |
|
3 | 3 | <!--[form:user]--> |
|
4 | 4 | <div class="box"> |
|
5 | <h3><%=l(:label_information_plural)%></h3> | |
|
6 | 5 | <p><%= f.text_field :login, :required => true, :size => 25 %></p> |
|
7 | 6 | <p><%= f.text_field :firstname, :required => true %></p> |
|
8 | 7 | <p><%= f.text_field :lastname, :required => true %></p> |
@@ -1,21 +1,33 | |||
|
1 | <div class="box" style="margin-top: 16px;"> | |
|
2 | <h3><%= l(:label_project_plural) %></h3> | |
|
3 | ||
|
4 | <% @user.memberships.each do |membership| %> | |
|
5 | <% form_tag({ :action => 'edit_membership', :id => @user, :membership_id => membership }, :class => "tabular") do %> | |
|
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), :method => :post, :class => 'icon icon-del' %> | |
|
13 | </p> | |
|
14 | <% end %> | |
|
1 | <% if @memberships.any? %> | |
|
2 | <table class="list memberships"> | |
|
3 | <thead> | |
|
4 | <th><%= l(:label_project) %></th> | |
|
5 | <th><%= l(:label_role) %></th> | |
|
6 | <th style="width:15%"></th> | |
|
7 | </thead> | |
|
8 | <tbody> | |
|
9 | <% @memberships.each do |membership| %> | |
|
10 | <% next if membership.new_record? %> | |
|
11 | <tr class="<%= cycle 'odd', 'even' %>"> | |
|
12 | <td><%=h membership.project %></td> | |
|
13 | <td align="center"> | |
|
14 | <% form_tag({ :action => 'edit_membership', :id => @user, :membership_id => membership }) do %> | |
|
15 | <%= select_tag 'membership[role_id]', options_from_collection_for_select(@roles, "id", "name", membership.role_id) %> | |
|
16 | <%= submit_tag l(:button_change), :class => "small" %> | |
|
17 | <% end %> | |
|
18 | </td> | |
|
19 | <td align="center"> | |
|
20 | <%= link_to l(:button_delete), {:action => 'destroy_membership', :id => @user, :membership_id => membership }, :method => :post, :class => 'icon icon-del' %> | |
|
21 | </td> | |
|
22 | </tr> | |
|
23 | </tbody> | |
|
24 | <% end; reset_cycle %> | |
|
25 | </table> | |
|
26 | <% else %> | |
|
27 | <p class="nodata"><%= l(:label_no_data) %></p> | |
|
15 | 28 | <% end %> |
|
16 | 29 | |
|
17 | 30 | <% if @projects.any? %> |
|
18 | <hr /> | |
|
19 | 31 | <p> |
|
20 | 32 | <label><%=l(:label_project_new)%></label><br/> |
|
21 | 33 | <% form_tag({ :action => 'edit_membership', :id => @user }) do %> |
@@ -26,4 +38,3 | |||
|
26 | 38 | <% end %> |
|
27 | 39 | </p> |
|
28 | 40 | <% end %> |
|
29 | </div> No newline at end of file |
@@ -1,8 +1,23 | |||
|
1 | <h2><%=l(:label_user)%></h2> | |
|
1 | <h2><%=l(:label_user)%>: <%=h @user.login %></h2> | |
|
2 | 2 | |
|
3 | <% labelled_tabular_form_for :user, @user, :url => { :action => "edit" } do |f| %> | |
|
4 | <%= render :partial => 'form', :locals => { :f => f } %> | |
|
5 | <%= submit_tag l(:button_save) %> | |
|
6 | <% end %> | |
|
3 | <% selected_tab = params[:tab] ? params[:tab].to_s : user_settings_tabs.first[:name] %> | |
|
7 | 4 | |
|
8 | <%= render :partial => 'memberships' %> No newline at end of file | |
|
5 | <div class="tabs"> | |
|
6 | <ul> | |
|
7 | <% user_settings_tabs.each do |tab| -%> | |
|
8 | <li><%= link_to l(tab[:label]), { :tab => tab[:name] }, | |
|
9 | :id => "tab-#{tab[:name]}", | |
|
10 | :class => (tab[:name] != selected_tab ? nil : 'selected'), | |
|
11 | :onclick => "showTab('#{tab[:name]}'); this.blur(); return false;" %></li> | |
|
12 | <% end -%> | |
|
13 | </ul> | |
|
14 | </div> | |
|
15 | ||
|
16 | <% user_settings_tabs.each do |tab| -%> | |
|
17 | <%= content_tag('div', render(:partial => tab[:partial]), | |
|
18 | :id => "tab-content-#{tab[:name]}", | |
|
19 | :style => (tab[:name] != selected_tab ? 'display:none' : nil), | |
|
20 | :class => 'tab-content') %> | |
|
21 | <% end -%> | |
|
22 | ||
|
23 | <% html_title(l(:label_user), @user.login, l(:label_administration)) -%> |
General Comments 0
You need to be logged in to leave comments.
Login now