diff options
Diffstat (limited to 'app/views/groups')
-rw-r--r-- | app/views/groups/_form.html.erb | 8 | ||||
-rw-r--r-- | app/views/groups/_general.html.erb | 4 | ||||
-rw-r--r-- | app/views/groups/_memberships.html.erb | 56 | ||||
-rw-r--r-- | app/views/groups/_users.html.erb | 49 | ||||
-rw-r--r-- | app/views/groups/autocomplete_for_user.html.erb | 1 | ||||
-rw-r--r-- | app/views/groups/edit.html.erb | 23 | ||||
-rw-r--r-- | app/views/groups/index.html.erb | 25 | ||||
-rw-r--r-- | app/views/groups/new.html.erb | 8 | ||||
-rw-r--r-- | app/views/groups/show.html.erb | 7 |
9 files changed, 181 insertions, 0 deletions
diff --git a/app/views/groups/_form.html.erb b/app/views/groups/_form.html.erb new file mode 100644 index 000000000..433abdab4 --- /dev/null +++ b/app/views/groups/_form.html.erb @@ -0,0 +1,8 @@ +<%= error_messages_for :group %> + +<div class="box tabular"> + <p><%= f.text_field :lastname, :label => :field_name %></p> + <% @group.custom_field_values.each do |value| %> + <p><%= custom_field_tag_with_label :group, value %></p> + <% end %> +</div> diff --git a/app/views/groups/_general.html.erb b/app/views/groups/_general.html.erb new file mode 100644 index 000000000..19c6f8880 --- /dev/null +++ b/app/views/groups/_general.html.erb @@ -0,0 +1,4 @@ +<% labelled_tabular_form_for :group, @group, :url => { :controller => 'group', :action => 'update', :tab => nil } do |f| %> +<%= render :partial => 'form', :locals => { :f => f } %> +<%= submit_tag l(:button_save) %> +<% end %> diff --git a/app/views/groups/_memberships.html.erb b/app/views/groups/_memberships.html.erb new file mode 100644 index 000000000..613f05e2d --- /dev/null +++ b/app/views/groups/_memberships.html.erb @@ -0,0 +1,56 @@ +<% roles = Role.find_all_givable %> +<% projects = Project.active.find(:all, :order => 'lft') %> + +<div class="splitcontentleft"> +<% if @group.memberships.any? %> +<table class="list memberships"> + <thead> + <th><%= l(:label_project) %></th> + <th><%= l(:label_role_plural) %></th> + <th style="width:15%"></th> + </thead> + <tbody> + <% @group.memberships.each do |membership| %> + <% next if membership.new_record? %> + <tr id="member-<%= membership.id %>" class="<%= cycle 'odd', 'even' %> class"> + <td class="project"><%=h membership.project %></td> + <td class="roles"> + <span id="member-<%= membership.id %>-roles"><%=h membership.roles.sort.collect(&:to_s).join(', ') %></span> + <% remote_form_for(:membership, :url => { :action => 'edit_membership', :id => @group, :membership_id => membership }, + :html => { :id => "member-#{membership.id}-roles-form", :style => 'display:none;'}) do %> + <p><% roles.each do |role| %> + <label><%= check_box_tag 'membership[role_ids][]', role.id, membership.roles.include?(role) %> <%=h role %></label><br /> + <% end %></p> + <p><%= submit_tag l(:button_change) %> + <%= link_to_function l(:button_cancel), "$('member-#{membership.id}-roles').show(); $('member-#{membership.id}-roles-form').hide(); return false;" %></p> + <% end %> + </td> + <td class="buttons"> + <%= link_to_function l(:button_edit), "$('member-#{membership.id}-roles').hide(); $('member-#{membership.id}-roles-form').show(); return false;", :class => 'icon icon-edit' %> + <%= link_to_remote l(:button_delete), { :url => { :controller => 'groups', :action => 'destroy_membership', :id => @group, :membership_id => membership }, + :method => :post }, + :class => 'icon icon-del' %> + </td> + </tr> + </tbody> +<% end; reset_cycle %> +</table> +<% else %> +<p class="nodata"><%= l(:label_no_data) %></p> +<% end %> +</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 %> +<%= 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 %> +</div> diff --git a/app/views/groups/_users.html.erb b/app/views/groups/_users.html.erb new file mode 100644 index 000000000..e471f52c7 --- /dev/null +++ b/app/views/groups/_users.html.erb @@ -0,0 +1,49 @@ +<div class="splitcontentleft"> +<% if @group.users.any? %> + <table class="list users"> + <thead> + <th><%= l(:label_user) %></th> + <th style="width:15%"></th> + </thead> + <tbody> + <% @group.users.sort.each do |user| %> + <tr id="user-<%= user.id %>" class="<%= cycle 'odd', 'even' %>"> + <td class="user"><%= link_to_user user %></td> + <td class="buttons"> + <%= link_to_remote l(:button_delete), { :url => { :controller => 'groups', :action => 'remove_user', :id => @group, :user_id => user }, + :method => :post }, + :class => 'icon icon-del' %> + </td> + </tr> + <% end %> + </tbody> + </table> +<% else %> + <p class="nodata"><%= l(:label_no_data) %></p> +<% end %> +</div> + +<div class="splitcontentright"> +<% users = User.active.find(:all, :limit => 100) - @group.users %> +<% if users.any? %> + <% remote_form_for(:group, @group, :url => {:controller => 'groups', :action => 'add_users', :id => @group}, :method => :post) do |f| %> + <fieldset><legend><%=l(:label_user_new)%></legend> + + <p><%= text_field_tag 'user_search', nil, :size => "40" %></p> + <%= observe_field(:user_search, + :frequency => 0.5, + :update => :users, + :url => { :controller => 'groups', :action => 'autocomplete_for_user', :id => @group }, + :with => 'q') + %> + + <div id="users"> + <%= principals_check_box_tags 'user_ids[]', users %> + </div> + + <p><%= submit_tag l(:button_add) %></p> + </fieldset> + <% end %> +<% end %> + +</div> diff --git a/app/views/groups/autocomplete_for_user.html.erb b/app/views/groups/autocomplete_for_user.html.erb new file mode 100644 index 000000000..de1b0073a --- /dev/null +++ b/app/views/groups/autocomplete_for_user.html.erb @@ -0,0 +1 @@ +<%= principals_check_box_tags 'user_ids[]', @users %> diff --git a/app/views/groups/edit.html.erb b/app/views/groups/edit.html.erb new file mode 100644 index 000000000..93e890887 --- /dev/null +++ b/app/views/groups/edit.html.erb @@ -0,0 +1,23 @@ +<h2><%= link_to l(:label_group_plural), groups_path %> » <%= h(@group) %></h2> + +<% selected_tab = params[:tab] ? params[:tab].to_s : group_settings_tabs.first[:name] %> + +<div class="tabs"> +<ul> +<% group_settings_tabs.each do |tab| -%> + <li><%= link_to l(tab[:label]), { :tab => tab[:name] }, + :id => "tab-#{tab[:name]}", + :class => (tab[:name] != selected_tab ? nil : 'selected'), + :onclick => "showTab('#{tab[:name]}'); this.blur(); return false;" %></li> +<% end -%> +</ul> +</div> + +<% group_settings_tabs.each do |tab| -%> +<%= content_tag('div', render(:partial => tab[:partial]), + :id => "tab-content-#{tab[:name]}", + :style => (tab[:name] != selected_tab ? 'display:none' : nil), + :class => 'tab-content') %> +<% end -%> + +<% html_title(l(:label_group), @group, l(:label_administration)) -%> diff --git a/app/views/groups/index.html.erb b/app/views/groups/index.html.erb new file mode 100644 index 000000000..48b9ab42d --- /dev/null +++ b/app/views/groups/index.html.erb @@ -0,0 +1,25 @@ +<div class="contextual"> +<%= link_to l(:label_group_new), new_group_path, :class => 'icon icon-add' %> +</div> + +<h2><%= l(:label_group_plural) %></h2> + +<% if @groups.any? %> +<table class="list groups"> + <thead><tr> + <th><%=l(:label_group)%></th> + <th><%=l(:label_user_plural)%></th> + <th></th> + </tr></thead> + <tbody> +<% @groups.each do |group| %> + <tr class="<%= cycle 'odd', 'even' %>"> + <td><%= link_to h(group), :action => 'edit', :id => group %></td> + <td align="center"><%= group.users.size %></td> + <td class="buttons"><%= link_to l(:button_delete), group, :confirm => l(:text_are_you_sure), :method => :delete, :class => 'icon icon-del' %></td> + </tr> +<% end %> +</table> +<% else %> +<p class="nodata"><%= l(:label_no_data) %></p> +<% end %> diff --git a/app/views/groups/new.html.erb b/app/views/groups/new.html.erb new file mode 100644 index 000000000..3c8d2ea30 --- /dev/null +++ b/app/views/groups/new.html.erb @@ -0,0 +1,8 @@ +<h2><%= link_to l(:label_group_plural), groups_path %> » <%= l(:label_group_new) %></h2> + +<%= error_messages_for :group %> + +<% form_for(@group, :builder => TabularFormBuilder, :lang => current_language) do |f| %> +<%= render :partial => 'form', :locals => { :f => f } %> +<p><%= f.submit l(:button_create) %></p> +<% end %> diff --git a/app/views/groups/show.html.erb b/app/views/groups/show.html.erb new file mode 100644 index 000000000..02927ebd8 --- /dev/null +++ b/app/views/groups/show.html.erb @@ -0,0 +1,7 @@ +<h2><%= link_to l(:label_group_plural), groups_path %> » <%=h @group %></h2> + +<ul> +<% @group.users.each do |user| %> + <li><%=h user %></li> +<% end %> +</ul> |