@@ -1,30 +1,30 | |||||
1 | <table class="list custom_fields"> |
|
1 | <table class="list custom_fields"> | |
2 | <thead><tr> |
|
2 | <thead><tr> | |
3 | <th><%=l(:field_name)%></th> |
|
3 | <th><%=l(:field_name)%></th> | |
4 | <th><%=l(:field_field_format)%></th> |
|
4 | <th><%=l(:field_field_format)%></th> | |
5 | <th><%=l(:field_is_required)%></th> |
|
5 | <th><%=l(:field_is_required)%></th> | |
6 | <% if tab[:name] == 'IssueCustomField' %> |
|
6 | <% if tab[:name] == 'IssueCustomField' %> | |
7 | <th><%=l(:field_is_for_all)%></th> |
|
7 | <th><%=l(:field_is_for_all)%></th> | |
8 | <th><%=l(:label_used_by)%></th> |
|
8 | <th><%=l(:label_used_by)%></th> | |
9 | <% end %> |
|
9 | <% end %> | |
10 | <th></th> |
|
10 | <th></th> | |
11 | </tr></thead> |
|
11 | </tr></thead> | |
12 | <tbody> |
|
12 | <tbody> | |
13 | <% (@custom_fields_by_type[tab[:name]] || []).sort.each do |custom_field| -%> |
|
13 | <% (@custom_fields_by_type[tab[:name]] || []).sort.each do |custom_field| -%> | |
14 | <% back_url = custom_fields_path(:tab => tab[:name]) %> |
|
14 | <% back_url = custom_fields_path(:tab => tab[:name]) %> | |
15 | <tr> |
|
15 | <tr> | |
16 | <td class="name"><%= link_to custom_field.name, edit_custom_field_path(custom_field) %></td> |
|
16 | <td class="name"><%= link_to custom_field.name, edit_custom_field_path(custom_field) %></td> | |
17 | <td><%= l(custom_field.format.label) %></td> |
|
17 | <td><%= l(custom_field.format.label) %></td> | |
18 | <td><%= checked_image custom_field.is_required? %></td> |
|
18 | <td><%= checked_image custom_field.is_required? %></td> | |
19 | <% if tab[:name] == 'IssueCustomField' %> |
|
19 | <% if tab[:name] == 'IssueCustomField' %> | |
20 | <td><%= checked_image custom_field.is_for_all? %></td> |
|
20 | <td><%= checked_image custom_field.is_for_all? %></td> | |
21 | <td><%= l(:label_x_projects, :count => custom_field.projects.count) if custom_field.is_a? IssueCustomField and !custom_field.is_for_all? %></td> |
|
21 | <td><%= l(:label_x_projects, :count => custom_field.projects.count) if custom_field.is_a? IssueCustomField and !custom_field.is_for_all? %></td> | |
22 | <% end %> |
|
22 | <% end %> | |
23 | <td class="buttons"> |
|
23 | <td class="buttons"> | |
24 | <%= reorder_handle(custom_field, :url => custom_field_path(custom_field), :param => 'custom_field') %> |
|
24 | <%= reorder_handle(custom_field, :url => custom_field_path(custom_field), :param => 'custom_field') %> | |
25 | <%= delete_link custom_field_path(custom_field) %> |
|
25 | <%= delete_link custom_field_path(custom_field) %> | |
26 | </td> |
|
26 | </td> | |
27 | </tr> |
|
27 | </tr> | |
28 |
<% end |
|
28 | <% end %> | |
29 | </tbody> |
|
29 | </tbody> | |
30 | </table> |
|
30 | </table> |
@@ -1,37 +1,36 | |||||
1 | <h2><%=l(:label_enumerations)%></h2> |
|
1 | <h2><%=l(:label_enumerations)%></h2> | |
2 |
|
2 | |||
3 | <% Enumeration.get_subclasses.each do |klass| %> |
|
3 | <% Enumeration.get_subclasses.each do |klass| %> | |
4 | <h3><%= l(klass::OptionName) %></h3> |
|
4 | <h3><%= l(klass::OptionName) %></h3> | |
5 |
|
5 | |||
6 | <% enumerations = klass.shared %> |
|
6 | <% enumerations = klass.shared %> | |
7 | <% if enumerations.any? %> |
|
7 | <% if enumerations.any? %> | |
8 | <table class="list enumerations"><thead> |
|
8 | <table class="list enumerations"><thead> | |
9 | <tr> |
|
9 | <tr> | |
10 | <th><%= l(:field_name) %></th> |
|
10 | <th><%= l(:field_name) %></th> | |
11 | <th><%= l(:field_is_default) %></th> |
|
11 | <th><%= l(:field_is_default) %></th> | |
12 | <th><%= l(:field_active) %></th> |
|
12 | <th><%= l(:field_active) %></th> | |
13 | <th></th> |
|
13 | <th></th> | |
14 | </tr></thead> |
|
14 | </tr></thead> | |
15 | <% enumerations.each do |enumeration| %> |
|
15 | <% enumerations.each do |enumeration| %> | |
16 | <tr> |
|
16 | <tr> | |
17 | <td class="name"><%= link_to enumeration, edit_enumeration_path(enumeration) %></td> |
|
17 | <td class="name"><%= link_to enumeration, edit_enumeration_path(enumeration) %></td> | |
18 | <td class="tick"><%= checked_image enumeration.is_default? %></td> |
|
18 | <td class="tick"><%= checked_image enumeration.is_default? %></td> | |
19 | <td class="tick"><%= checked_image enumeration.active? %></td> |
|
19 | <td class="tick"><%= checked_image enumeration.active? %></td> | |
20 | <td class="buttons"> |
|
20 | <td class="buttons"> | |
21 | <%= reorder_handle(enumeration, :url => enumeration_path(enumeration), :param => 'enumeration') %> |
|
21 | <%= reorder_handle(enumeration, :url => enumeration_path(enumeration), :param => 'enumeration') %> | |
22 | <%= delete_link enumeration_path(enumeration) %> |
|
22 | <%= delete_link enumeration_path(enumeration) %> | |
23 | </td> |
|
23 | </td> | |
24 | </tr> |
|
24 | </tr> | |
25 | <% end %> |
|
25 | <% end %> | |
26 | </table> |
|
26 | </table> | |
27 | <% reset_cycle %> |
|
|||
28 | <% end %> |
|
27 | <% end %> | |
29 |
|
28 | |||
30 | <p><%= link_to l(:label_enumeration_new), new_enumeration_path(:type => klass.name) %></p> |
|
29 | <p><%= link_to l(:label_enumeration_new), new_enumeration_path(:type => klass.name) %></p> | |
31 | <% end %> |
|
30 | <% end %> | |
32 |
|
31 | |||
33 | <% html_title(l(:label_enumerations)) -%> |
|
32 | <% html_title(l(:label_enumerations)) -%> | |
34 |
|
33 | |||
35 | <%= javascript_tag do %> |
|
34 | <%= javascript_tag do %> | |
36 | $(function() { $("table.enumerations tbody").positionedItems(); }); |
|
35 | $(function() { $("table.enumerations tbody").positionedItems(); }); | |
37 | <% end %> No newline at end of file |
|
36 | <% end %> |
@@ -1,46 +1,45 | |||||
1 | <div class="contextual"> |
|
1 | <div class="contextual"> | |
2 | <%= link_to(l(:label_attachment_new), new_project_file_path(@project), :class => 'icon icon-add') if User.current.allowed_to?(:manage_files, @project) %> |
|
2 | <%= link_to(l(:label_attachment_new), new_project_file_path(@project), :class => 'icon icon-add') if User.current.allowed_to?(:manage_files, @project) %> | |
3 | </div> |
|
3 | </div> | |
4 |
|
4 | |||
5 | <h2><%=l(:label_attachment_plural)%></h2> |
|
5 | <h2><%=l(:label_attachment_plural)%></h2> | |
6 |
|
6 | |||
7 | <% delete_allowed = User.current.allowed_to?(:manage_files, @project) %> |
|
7 | <% delete_allowed = User.current.allowed_to?(:manage_files, @project) %> | |
8 |
|
8 | |||
9 | <table class="list files"> |
|
9 | <table class="list files"> | |
10 | <thead><tr> |
|
10 | <thead><tr> | |
11 | <%= sort_header_tag('filename', :caption => l(:field_filename)) %> |
|
11 | <%= sort_header_tag('filename', :caption => l(:field_filename)) %> | |
12 | <%= sort_header_tag('created_on', :caption => l(:label_date), :default_order => 'desc') %> |
|
12 | <%= sort_header_tag('created_on', :caption => l(:label_date), :default_order => 'desc') %> | |
13 | <%= sort_header_tag('size', :caption => l(:field_filesize), :default_order => 'desc') %> |
|
13 | <%= sort_header_tag('size', :caption => l(:field_filesize), :default_order => 'desc') %> | |
14 | <%= sort_header_tag('downloads', :caption => l(:label_downloads_abbr), :default_order => 'desc') %> |
|
14 | <%= sort_header_tag('downloads', :caption => l(:label_downloads_abbr), :default_order => 'desc') %> | |
15 | <th>MD5</th> |
|
15 | <th>MD5</th> | |
16 | <th></th> |
|
16 | <th></th> | |
17 | </tr></thead> |
|
17 | </tr></thead> | |
18 | <tbody> |
|
18 | <tbody> | |
19 | <% @containers.each do |container| %> |
|
19 | <% @containers.each do |container| %> | |
20 | <% next if container.attachments.empty? -%> |
|
20 | <% next if container.attachments.empty? -%> | |
21 | <% if container.is_a?(Version) -%> |
|
21 | <% if container.is_a?(Version) -%> | |
22 | <tr> |
|
22 | <tr> | |
23 | <th colspan="6"> |
|
23 | <th colspan="6"> | |
24 | <%= link_to(container, {:controller => 'versions', :action => 'show', :id => container}, :class => "icon icon-package") %> |
|
24 | <%= link_to(container, {:controller => 'versions', :action => 'show', :id => container}, :class => "icon icon-package") %> | |
25 | </th> |
|
25 | </th> | |
26 | </tr> |
|
26 | </tr> | |
27 | <% end -%> |
|
27 | <% end -%> | |
28 | <% container.attachments.each do |file| %> |
|
28 | <% container.attachments.each do |file| %> | |
29 | <tr class="file"> |
|
29 | <tr class="file"> | |
30 | <td class="filename"><%= link_to_attachment file, :download => true, :title => file.description %></td> |
|
30 | <td class="filename"><%= link_to_attachment file, :download => true, :title => file.description %></td> | |
31 | <td class="created_on"><%= format_time(file.created_on) %></td> |
|
31 | <td class="created_on"><%= format_time(file.created_on) %></td> | |
32 | <td class="filesize"><%= number_to_human_size(file.filesize) %></td> |
|
32 | <td class="filesize"><%= number_to_human_size(file.filesize) %></td> | |
33 | <td class="downloads"><%= file.downloads %></td> |
|
33 | <td class="downloads"><%= file.downloads %></td> | |
34 | <td class="digest"><%= file.digest %></td> |
|
34 | <td class="digest"><%= file.digest %></td> | |
35 | <td class="buttons"> |
|
35 | <td class="buttons"> | |
36 | <%= link_to(image_tag('delete.png'), attachment_path(file), |
|
36 | <%= link_to(image_tag('delete.png'), attachment_path(file), | |
37 | :data => {:confirm => l(:text_are_you_sure)}, :method => :delete) if delete_allowed %> |
|
37 | :data => {:confirm => l(:text_are_you_sure)}, :method => :delete) if delete_allowed %> | |
38 | </td> |
|
38 | </td> | |
39 | </tr> |
|
39 | </tr> | |
40 | <% end |
|
40 | <% end %> | |
41 | reset_cycle %> |
|
|||
42 | <% end %> |
|
41 | <% end %> | |
43 | </tbody> |
|
42 | </tbody> | |
44 | </table> |
|
43 | </table> | |
45 |
|
44 | |||
46 | <% html_title(l(:label_attachment_plural)) -%> |
|
45 | <% html_title(l(:label_attachment_plural)) -%> |
@@ -1,44 +1,43 | |||||
1 | <%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do -%> |
|
1 | <%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do -%> | |
2 | <%= hidden_field_tag 'back_url', url_for(:params => request.query_parameters), :id => nil %> |
|
2 | <%= hidden_field_tag 'back_url', url_for(:params => request.query_parameters), :id => nil %> | |
3 | <div class="autoscroll"> |
|
3 | <div class="autoscroll"> | |
4 | <table class="list issues <%= sort_css_classes %>"> |
|
4 | <table class="list issues <%= sort_css_classes %>"> | |
5 | <thead> |
|
5 | <thead> | |
6 | <tr> |
|
6 | <tr> | |
7 | <th class="checkbox hide-when-print"> |
|
7 | <th class="checkbox hide-when-print"> | |
8 | <%= check_box_tag 'check_all', '', false, :class => 'toggle-selection', |
|
8 | <%= check_box_tag 'check_all', '', false, :class => 'toggle-selection', | |
9 | :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}" %> |
|
9 | :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}" %> | |
10 | </th> |
|
10 | </th> | |
11 | <% query.inline_columns.each do |column| %> |
|
11 | <% query.inline_columns.each do |column| %> | |
12 | <%= column_header(column) %> |
|
12 | <%= column_header(column) %> | |
13 | <% end %> |
|
13 | <% end %> | |
14 | </tr> |
|
14 | </tr> | |
15 | </thead> |
|
15 | </thead> | |
16 | <tbody> |
|
16 | <tbody> | |
17 | <% grouped_issue_list(issues, @query, @issue_count_by_group) do |issue, level, group_name, group_count, group_totals| -%> |
|
17 | <% grouped_issue_list(issues, @query, @issue_count_by_group) do |issue, level, group_name, group_count, group_totals| -%> | |
18 | <% if group_name %> |
|
18 | <% if group_name %> | |
19 | <% reset_cycle %> |
|
|||
20 | <tr class="group open"> |
|
19 | <tr class="group open"> | |
21 | <td colspan="<%= query.inline_columns.size + 1 %>"> |
|
20 | <td colspan="<%= query.inline_columns.size + 1 %>"> | |
22 | <span class="expander" onclick="toggleRowGroup(this);"> </span> |
|
21 | <span class="expander" onclick="toggleRowGroup(this);"> </span> | |
23 | <span class="name"><%= group_name %></span> <span class="count"><%= group_count %></span> <span class="totals"><%= group_totals %></span> |
|
22 | <span class="name"><%= group_name %></span> <span class="count"><%= group_count %></span> <span class="totals"><%= group_totals %></span> | |
24 | <%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}", |
|
23 | <%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}", | |
25 | "toggleAllRowGroups(this)", :class => 'toggle-all') %> |
|
24 | "toggleAllRowGroups(this)", :class => 'toggle-all') %> | |
26 | </td> |
|
25 | </td> | |
27 | </tr> |
|
26 | </tr> | |
28 | <% end %> |
|
27 | <% end %> | |
29 | <tr id="issue-<%= issue.id %>" class="hascontextmenu <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>"> |
|
28 | <tr id="issue-<%= issue.id %>" class="hascontextmenu <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>"> | |
30 | <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td> |
|
29 | <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td> | |
31 | <%= raw query.inline_columns.map {|column| "<td class=\"#{column.css_classes}\">#{column_content(column, issue)}</td>"}.join %> |
|
30 | <%= raw query.inline_columns.map {|column| "<td class=\"#{column.css_classes}\">#{column_content(column, issue)}</td>"}.join %> | |
32 | </tr> |
|
31 | </tr> | |
33 | <% @query.block_columns.each do |column| |
|
32 | <% @query.block_columns.each do |column| | |
34 | if (text = column_content(column, issue)) && text.present? -%> |
|
33 | if (text = column_content(column, issue)) && text.present? -%> | |
35 | <tr class="<%= current_cycle %>"> |
|
34 | <tr class="<%= current_cycle %>"> | |
36 | <td colspan="<%= @query.inline_columns.size + 1 %>" class="<%= column.css_classes %>"><%= text %></td> |
|
35 | <td colspan="<%= @query.inline_columns.size + 1 %>" class="<%= column.css_classes %>"><%= text %></td> | |
37 | </tr> |
|
36 | </tr> | |
38 | <% end -%> |
|
37 | <% end -%> | |
39 | <% end -%> |
|
38 | <% end -%> | |
40 | <% end -%> |
|
39 | <% end -%> | |
41 | </tbody> |
|
40 | </tbody> | |
42 | </table> |
|
41 | </table> | |
43 | </div> |
|
42 | </div> | |
44 | <% end -%> |
|
43 | <% end -%> |
@@ -1,52 +1,52 | |||||
1 | <% roles = Role.find_all_givable %> |
|
1 | <% roles = Role.find_all_givable %> | |
2 |
|
2 | |||
3 | <p><%= link_to l(:label_add_projects), new_principal_membership_path(principal), :remote => true, :class => "icon icon-add" %></p> |
|
3 | <p><%= link_to l(:label_add_projects), new_principal_membership_path(principal), :remote => true, :class => "icon icon-add" %></p> | |
4 |
|
4 | |||
5 | <% if principal.memberships.any? %> |
|
5 | <% if principal.memberships.any? %> | |
6 | <table class="list memberships"> |
|
6 | <table class="list memberships"> | |
7 | <thead><tr> |
|
7 | <thead><tr> | |
8 | <th><%= l(:label_project) %></th> |
|
8 | <th><%= l(:label_project) %></th> | |
9 | <th><%= l(:label_role_plural) %></th> |
|
9 | <th><%= l(:label_role_plural) %></th> | |
10 | <th style="width:15%"></th> |
|
10 | <th style="width:15%"></th> | |
11 | <%= call_table_header_hook principal %> |
|
11 | <%= call_table_header_hook principal %> | |
12 | </tr></thead> |
|
12 | </tr></thead> | |
13 | <tbody> |
|
13 | <tbody> | |
14 | <% principal.memberships.preload(:member_roles => :role).each do |membership| %> |
|
14 | <% principal.memberships.preload(:member_roles => :role).each do |membership| %> | |
15 | <% next if membership.new_record? %> |
|
15 | <% next if membership.new_record? %> | |
16 | <tr id="member-<%= membership.id %>" class="class"> |
|
16 | <tr id="member-<%= membership.id %>" class="class"> | |
17 | <td class="project name"> |
|
17 | <td class="project name"> | |
18 | <%= link_to_project membership.project %> |
|
18 | <%= link_to_project membership.project %> | |
19 | </td> |
|
19 | </td> | |
20 | <td class="roles"> |
|
20 | <td class="roles"> | |
21 | <span id="member-<%= membership.id %>-roles"><%=h membership.roles.sort.collect(&:to_s).join(', ') %></span> |
|
21 | <span id="member-<%= membership.id %>-roles"><%=h membership.roles.sort.collect(&:to_s).join(', ') %></span> | |
22 | <%= form_for(:membership, :remote => true, |
|
22 | <%= form_for(:membership, :remote => true, | |
23 | :url => principal_membership_path(principal, membership), :method => :put, |
|
23 | :url => principal_membership_path(principal, membership), :method => :put, | |
24 | :html => {:id => "member-#{membership.id}-roles-form", |
|
24 | :html => {:id => "member-#{membership.id}-roles-form", | |
25 | :style => 'display:none;'}) do %> |
|
25 | :style => 'display:none;'}) do %> | |
26 | <p><% roles.each do |role| %> |
|
26 | <p><% roles.each do |role| %> | |
27 | <label><%= check_box_tag 'membership[role_ids][]', role.id, membership.roles.include?(role), |
|
27 | <label><%= check_box_tag 'membership[role_ids][]', role.id, membership.roles.include?(role), | |
28 | :disabled => membership.member_roles.detect {|mr| mr.role_id == role.id && !mr.inherited_from.nil?}, |
|
28 | :disabled => membership.member_roles.detect {|mr| mr.role_id == role.id && !mr.inherited_from.nil?}, | |
29 | :id => nil %> <%=h role %></label><br /> |
|
29 | :id => nil %> <%=h role %></label><br /> | |
30 | <% end %></p> |
|
30 | <% end %></p> | |
31 | <%= hidden_field_tag 'membership[role_ids][]', '', :id => nil %> |
|
31 | <%= hidden_field_tag 'membership[role_ids][]', '', :id => nil %> | |
32 | <p><%= submit_tag l(:button_change) %> |
|
32 | <p><%= submit_tag l(:button_change) %> | |
33 | <%= link_to_function l(:button_cancel), |
|
33 | <%= link_to_function l(:button_cancel), | |
34 | "$('#member-#{membership.id}-roles').show(); $('#member-#{membership.id}-roles-form').hide(); return false;" |
|
34 | "$('#member-#{membership.id}-roles').show(); $('#member-#{membership.id}-roles-form').hide(); return false;" | |
35 | %></p> |
|
35 | %></p> | |
36 | <% end %> |
|
36 | <% end %> | |
37 | </td> |
|
37 | </td> | |
38 | <td class="buttons"> |
|
38 | <td class="buttons"> | |
39 | <%= link_to_function l(:button_edit), |
|
39 | <%= link_to_function l(:button_edit), | |
40 | "$('#member-#{membership.id}-roles').hide(); $('#member-#{membership.id}-roles-form').show(); return false;", |
|
40 | "$('#member-#{membership.id}-roles').hide(); $('#member-#{membership.id}-roles-form').show(); return false;", | |
41 | :class => 'icon icon-edit' |
|
41 | :class => 'icon icon-edit' | |
42 | %> |
|
42 | %> | |
43 | <%= delete_link principal_membership_path(principal, membership), :remote => true if membership.deletable? %> |
|
43 | <%= delete_link principal_membership_path(principal, membership), :remote => true if membership.deletable? %> | |
44 | </td> |
|
44 | </td> | |
45 | <%= call_table_row_hook principal, membership %> |
|
45 | <%= call_table_row_hook principal, membership %> | |
46 | </tr> |
|
46 | </tr> | |
47 |
<% end |
|
47 | <% end %> | |
48 | </tbody> |
|
48 | </tbody> | |
49 | </table> |
|
49 | </table> | |
50 | <% else %> |
|
50 | <% else %> | |
51 | <p class="nodata"><%= l(:label_no_data) %></p> |
|
51 | <p class="nodata"><%= l(:label_no_data) %></p> | |
52 | <% end %> |
|
52 | <% end %> |
@@ -1,62 +1,62 | |||||
1 | <% roles = Role.find_all_givable |
|
1 | <% roles = Role.find_all_givable | |
2 | members = @project.memberships.active.sorted.to_a %> |
|
2 | members = @project.memberships.active.sorted.to_a %> | |
3 |
|
3 | |||
4 | <p><%= link_to l(:label_member_new), new_project_membership_path(@project), :remote => true, :class => "icon icon-add" %></p> |
|
4 | <p><%= link_to l(:label_member_new), new_project_membership_path(@project), :remote => true, :class => "icon icon-add" %></p> | |
5 |
|
5 | |||
6 | <% if members.any? %> |
|
6 | <% if members.any? %> | |
7 | <table class="list members"> |
|
7 | <table class="list members"> | |
8 | <thead> |
|
8 | <thead> | |
9 | <tr> |
|
9 | <tr> | |
10 | <th><%= l(:label_user) %> / <%= l(:label_group) %></th> |
|
10 | <th><%= l(:label_user) %> / <%= l(:label_group) %></th> | |
11 | <th><%= l(:label_role_plural) %></th> |
|
11 | <th><%= l(:label_role_plural) %></th> | |
12 | <th style="width:15%"></th> |
|
12 | <th style="width:15%"></th> | |
13 | <%= call_hook(:view_projects_settings_members_table_header, :project => @project) %> |
|
13 | <%= call_hook(:view_projects_settings_members_table_header, :project => @project) %> | |
14 | </tr> |
|
14 | </tr> | |
15 | </thead> |
|
15 | </thead> | |
16 | <tbody> |
|
16 | <tbody> | |
17 | <% members.each do |member| %> |
|
17 | <% members.each do |member| %> | |
18 | <% next if member.new_record? %> |
|
18 | <% next if member.new_record? %> | |
19 | <tr id="member-<%= member.id %>" class="member"> |
|
19 | <tr id="member-<%= member.id %>" class="member"> | |
20 | <td class="name icon icon-<%= member.principal.class.name.downcase %>"><%= link_to_user member.principal %></td> |
|
20 | <td class="name icon icon-<%= member.principal.class.name.downcase %>"><%= link_to_user member.principal %></td> | |
21 | <td class="roles"> |
|
21 | <td class="roles"> | |
22 | <span id="member-<%= member.id %>-roles"><%= member.roles.sort.collect(&:to_s).join(', ') %></span> |
|
22 | <span id="member-<%= member.id %>-roles"><%= member.roles.sort.collect(&:to_s).join(', ') %></span> | |
23 | <%= form_for(member, |
|
23 | <%= form_for(member, | |
24 | {:as => :membership, :remote => true, |
|
24 | {:as => :membership, :remote => true, | |
25 | :url => membership_path(member), |
|
25 | :url => membership_path(member), | |
26 | :method => :put, |
|
26 | :method => :put, | |
27 | :html => { :id => "member-#{member.id}-roles-form", :class => 'hol' }} |
|
27 | :html => { :id => "member-#{member.id}-roles-form", :class => 'hol' }} | |
28 | ) do |f| %> |
|
28 | ) do |f| %> | |
29 | <p> |
|
29 | <p> | |
30 | <% roles.each do |role| %> |
|
30 | <% roles.each do |role| %> | |
31 | <label> |
|
31 | <label> | |
32 | <%= check_box_tag('membership[role_ids][]', |
|
32 | <%= check_box_tag('membership[role_ids][]', | |
33 | role.id, member.roles.include?(role), |
|
33 | role.id, member.roles.include?(role), | |
34 | :id => nil, |
|
34 | :id => nil, | |
35 | :disabled => !member.role_editable?(role)) %> <%= role %> |
|
35 | :disabled => !member.role_editable?(role)) %> <%= role %> | |
36 | </label><br /> |
|
36 | </label><br /> | |
37 | <% end %> |
|
37 | <% end %> | |
38 | </p> |
|
38 | </p> | |
39 | <%= hidden_field_tag 'membership[role_ids][]', '', :id => nil %> |
|
39 | <%= hidden_field_tag 'membership[role_ids][]', '', :id => nil %> | |
40 | <p> |
|
40 | <p> | |
41 | <%= submit_tag l(:button_save), :class => "small" %> |
|
41 | <%= submit_tag l(:button_save), :class => "small" %> | |
42 | <%= link_to_function(l(:button_cancel), |
|
42 | <%= link_to_function(l(:button_cancel), | |
43 | "$('#member-#{member.id}-roles').show(); $('#member-#{member.id}-roles-form').hide(); return false;") %> |
|
43 | "$('#member-#{member.id}-roles').show(); $('#member-#{member.id}-roles-form').hide(); return false;") %> | |
44 | </p> |
|
44 | </p> | |
45 | <% end %> |
|
45 | <% end %> | |
46 | </td> |
|
46 | </td> | |
47 | <td class="buttons"> |
|
47 | <td class="buttons"> | |
48 | <%= link_to_function l(:button_edit), |
|
48 | <%= link_to_function l(:button_edit), | |
49 | "$('#member-#{member.id}-roles').hide(); $('#member-#{member.id}-roles-form').show(); return false;", |
|
49 | "$('#member-#{member.id}-roles').hide(); $('#member-#{member.id}-roles-form').show(); return false;", | |
50 | :class => 'icon icon-edit' %> |
|
50 | :class => 'icon icon-edit' %> | |
51 | <%= delete_link membership_path(member), |
|
51 | <%= delete_link membership_path(member), | |
52 | :remote => true, |
|
52 | :remote => true, | |
53 | :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %> |
|
53 | :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %> | |
54 | </td> |
|
54 | </td> | |
55 | <%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %> |
|
55 | <%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %> | |
56 | </tr> |
|
56 | </tr> | |
57 | <% end; reset_cycle %> |
|
57 | <% end %> | |
58 | </tbody> |
|
58 | </tbody> | |
59 | </table> |
|
59 | </table> | |
60 | <% else %> |
|
60 | <% else %> | |
61 | <p class="nodata"><%= l(:label_no_data) %></p> |
|
61 | <p class="nodata"><%= l(:label_no_data) %></p> | |
62 | <% end %> |
|
62 | <% end %> |
@@ -1,52 +1,52 | |||||
1 | <%= form_tag(settings_project_path(@project, :tab => 'versions'), :method => :get) do %> |
|
1 | <%= form_tag(settings_project_path(@project, :tab => 'versions'), :method => :get) do %> | |
2 | <fieldset><legend><%= l(:label_filter_plural) %></legend> |
|
2 | <fieldset><legend><%= l(:label_filter_plural) %></legend> | |
3 | <label for='status'><%= l(:field_status) %> :</label> |
|
3 | <label for='status'><%= l(:field_status) %> :</label> | |
4 | <%= select_tag 'version_status', options_for_select([[l(:label_all), '']] + Version::VERSION_STATUSES.collect {|s| [l("version_status_#{s}"), s]}, @version_status), :onchange => "this.form.submit(); return false;" %> |
|
4 | <%= select_tag 'version_status', options_for_select([[l(:label_all), '']] + Version::VERSION_STATUSES.collect {|s| [l("version_status_#{s}"), s]}, @version_status), :onchange => "this.form.submit(); return false;" %> | |
5 | <label for='name'><%= l(:label_version) %>:</label> |
|
5 | <label for='name'><%= l(:label_version) %>:</label> | |
6 | <%= text_field_tag 'version_name', @version_name, :size => 30 %> |
|
6 | <%= text_field_tag 'version_name', @version_name, :size => 30 %> | |
7 | <%= submit_tag l(:button_apply), :name => nil %> |
|
7 | <%= submit_tag l(:button_apply), :name => nil %> | |
8 | <%= link_to l(:button_clear), settings_project_path(@project, :tab => 'versions'), :class => 'icon icon-reload' %> |
|
8 | <%= link_to l(:button_clear), settings_project_path(@project, :tab => 'versions'), :class => 'icon icon-reload' %> | |
9 | </fieldset> |
|
9 | </fieldset> | |
10 | <% end %> |
|
10 | <% end %> | |
11 |
|
11 | |||
12 | <% if @versions.present? %> |
|
12 | <% if @versions.present? %> | |
13 | <table class="list versions"> |
|
13 | <table class="list versions"> | |
14 | <thead><tr> |
|
14 | <thead><tr> | |
15 | <th><%= l(:label_version) %></th> |
|
15 | <th><%= l(:label_version) %></th> | |
16 | <th><%= l(:field_effective_date) %></th> |
|
16 | <th><%= l(:field_effective_date) %></th> | |
17 | <th><%= l(:field_description) %></th> |
|
17 | <th><%= l(:field_description) %></th> | |
18 | <th><%= l(:field_status) %></th> |
|
18 | <th><%= l(:field_status) %></th> | |
19 | <th><%= l(:field_sharing) %></th> |
|
19 | <th><%= l(:field_sharing) %></th> | |
20 | <th><%= l(:label_wiki_page) %></th> |
|
20 | <th><%= l(:label_wiki_page) %></th> | |
21 | <th style="width:15%"></th> |
|
21 | <th style="width:15%"></th> | |
22 | </tr></thead> |
|
22 | </tr></thead> | |
23 | <tbody> |
|
23 | <tbody> | |
24 | <% @versions.sort.each do |version| %> |
|
24 | <% @versions.sort.each do |version| %> | |
25 | <tr class="version <%=h version.status %> <%= 'shared' if version.project != @project %>"> |
|
25 | <tr class="version <%=h version.status %> <%= 'shared' if version.project != @project %>"> | |
26 | <td class="name <%= 'icon icon-shared' if version.project != @project %>"><%= link_to_version version %></td> |
|
26 | <td class="name <%= 'icon icon-shared' if version.project != @project %>"><%= link_to_version version %></td> | |
27 | <td class="date"><%= format_date(version.effective_date) %></td> |
|
27 | <td class="date"><%= format_date(version.effective_date) %></td> | |
28 | <td class="description"><%= version.description %></td> |
|
28 | <td class="description"><%= version.description %></td> | |
29 | <td class="status"><%= l("version_status_#{version.status}") %></td> |
|
29 | <td class="status"><%= l("version_status_#{version.status}") %></td> | |
30 | <td class="sharing"><%=h format_version_sharing(version.sharing) %></td> |
|
30 | <td class="sharing"><%=h format_version_sharing(version.sharing) %></td> | |
31 | <td><%= link_to_if_authorized(version.wiki_page_title, {:controller => 'wiki', :action => 'show', :project_id => version.project, :id => Wiki.titleize(version.wiki_page_title)}) || h(version.wiki_page_title) unless version.wiki_page_title.blank? || version.project.wiki.nil? %></td> |
|
31 | <td><%= link_to_if_authorized(version.wiki_page_title, {:controller => 'wiki', :action => 'show', :project_id => version.project, :id => Wiki.titleize(version.wiki_page_title)}) || h(version.wiki_page_title) unless version.wiki_page_title.blank? || version.project.wiki.nil? %></td> | |
32 | <td class="buttons"> |
|
32 | <td class="buttons"> | |
33 | <% if version.project == @project && User.current.allowed_to?(:manage_versions, @project) %> |
|
33 | <% if version.project == @project && User.current.allowed_to?(:manage_versions, @project) %> | |
34 | <%= link_to l(:button_edit), edit_version_path(version), :class => 'icon icon-edit' %> |
|
34 | <%= link_to l(:button_edit), edit_version_path(version), :class => 'icon icon-edit' %> | |
35 | <%= delete_link version_path(version) %> |
|
35 | <%= delete_link version_path(version) %> | |
36 | <% end %> |
|
36 | <% end %> | |
37 | </td> |
|
37 | </td> | |
38 | </tr> |
|
38 | </tr> | |
39 | <% end; reset_cycle %> |
|
39 | <% end %> | |
40 | </tbody> |
|
40 | </tbody> | |
41 | </table> |
|
41 | </table> | |
42 | <% else %> |
|
42 | <% else %> | |
43 | <p class="nodata"><%= l(:label_no_data) %></p> |
|
43 | <p class="nodata"><%= l(:label_no_data) %></p> | |
44 | <% end %> |
|
44 | <% end %> | |
45 |
|
45 | |||
46 | <div class="contextual"> |
|
46 | <div class="contextual"> | |
47 | <% if @versions.any? %> |
|
47 | <% if @versions.any? %> | |
48 | <%= link_to l(:label_close_versions), close_completed_project_versions_path(@project), :method => :put %> |
|
48 | <%= link_to l(:label_close_versions), close_completed_project_versions_path(@project), :method => :put %> | |
49 | <% end %> |
|
49 | <% end %> | |
50 | </div> |
|
50 | </div> | |
51 |
|
51 | |||
52 | <p><%= link_to l(:label_version_new), new_project_version_path(@project, :back_url => ''), :class => 'icon icon-add' if User.current.allowed_to?(:manage_versions, @project) %></p> |
|
52 | <p><%= link_to l(:label_version_new), new_project_version_path(@project, :back_url => ''), :class => 'icon icon-add' if User.current.allowed_to?(:manage_versions, @project) %></p> |
@@ -1,29 +1,28 | |||||
1 | <% if @statuses.empty? or rows.empty? %> |
|
1 | <% if @statuses.empty? or rows.empty? %> | |
2 | <p><i><%=l(:label_no_data)%></i></p> |
|
2 | <p><i><%=l(:label_no_data)%></i></p> | |
3 | <% else %> |
|
3 | <% else %> | |
4 | <table class="list issue-report"> |
|
4 | <table class="list issue-report"> | |
5 | <thead><tr> |
|
5 | <thead><tr> | |
6 | <th></th> |
|
6 | <th></th> | |
7 | <% for status in @statuses %> |
|
7 | <% for status in @statuses %> | |
8 | <th><%= status.name %></th> |
|
8 | <th><%= status.name %></th> | |
9 | <% end %> |
|
9 | <% end %> | |
10 | <th><strong><%=l(:label_open_issues_plural)%></strong></th> |
|
10 | <th><strong><%=l(:label_open_issues_plural)%></strong></th> | |
11 | <th><strong><%=l(:label_closed_issues_plural)%></strong></th> |
|
11 | <th><strong><%=l(:label_closed_issues_plural)%></strong></th> | |
12 | <th><strong><%=l(:label_total)%></strong></th> |
|
12 | <th><strong><%=l(:label_total)%></strong></th> | |
13 | </tr></thead> |
|
13 | </tr></thead> | |
14 | <tbody> |
|
14 | <tbody> | |
15 | <% for row in rows %> |
|
15 | <% for row in rows %> | |
16 | <tr> |
|
16 | <tr> | |
17 | <td class="name"><%= link_to row.name, aggregate_path(@project, field_name, row) %></td> |
|
17 | <td class="name"><%= link_to row.name, aggregate_path(@project, field_name, row) %></td> | |
18 | <% for status in @statuses %> |
|
18 | <% for status in @statuses %> | |
19 | <td><%= aggregate_link data, { field_name => row.id, "status_id" => status.id }, aggregate_path(@project, field_name, row, :status_id => status.id) %></td> |
|
19 | <td><%= aggregate_link data, { field_name => row.id, "status_id" => status.id }, aggregate_path(@project, field_name, row, :status_id => status.id) %></td> | |
20 | <% end %> |
|
20 | <% end %> | |
21 | <td><%= aggregate_link data, { field_name => row.id, "closed" => 0 }, aggregate_path(@project, field_name, row, :status_id => "o") %></td> |
|
21 | <td><%= aggregate_link data, { field_name => row.id, "closed" => 0 }, aggregate_path(@project, field_name, row, :status_id => "o") %></td> | |
22 | <td><%= aggregate_link data, { field_name => row.id, "closed" => 1 }, aggregate_path(@project, field_name, row, :status_id => "c") %></td> |
|
22 | <td><%= aggregate_link data, { field_name => row.id, "closed" => 1 }, aggregate_path(@project, field_name, row, :status_id => "c") %></td> | |
23 | <td><%= aggregate_link data, { field_name => row.id }, aggregate_path(@project, field_name, row, :status_id => "*") %></td> |
|
23 | <td><%= aggregate_link data, { field_name => row.id }, aggregate_path(@project, field_name, row, :status_id => "*") %></td> | |
24 | </tr> |
|
24 | </tr> | |
25 | <% end %> |
|
25 | <% end %> | |
26 | </tbody> |
|
26 | </tbody> | |
27 | </table> |
|
27 | </table> | |
28 | <% end |
|
28 | <% end %> | |
29 | reset_cycle %> |
|
@@ -1,23 +1,22 | |||||
1 | <% if @statuses.empty? or rows.empty? %> |
|
1 | <% if @statuses.empty? or rows.empty? %> | |
2 | <p><i><%=l(:label_no_data)%></i></p> |
|
2 | <p><i><%=l(:label_no_data)%></i></p> | |
3 | <% else %> |
|
3 | <% else %> | |
4 | <table class="list issue-report"> |
|
4 | <table class="list issue-report"> | |
5 | <thead><tr> |
|
5 | <thead><tr> | |
6 | <th></th> |
|
6 | <th></th> | |
7 | <th><%=l(:label_open_issues_plural)%></th> |
|
7 | <th><%=l(:label_open_issues_plural)%></th> | |
8 | <th><%=l(:label_closed_issues_plural)%></th> |
|
8 | <th><%=l(:label_closed_issues_plural)%></th> | |
9 | <th><%=l(:label_total)%></th> |
|
9 | <th><%=l(:label_total)%></th> | |
10 | </tr></thead> |
|
10 | </tr></thead> | |
11 | <tbody> |
|
11 | <tbody> | |
12 | <% for row in rows %> |
|
12 | <% for row in rows %> | |
13 | <tr> |
|
13 | <tr> | |
14 | <td class="name"><%= link_to row.name, aggregate_path(@project, field_name, row) %></td> |
|
14 | <td class="name"><%= link_to row.name, aggregate_path(@project, field_name, row) %></td> | |
15 | <td><%= aggregate_link data, { field_name => row.id, "closed" => 0 }, aggregate_path(@project, field_name, row, :status_id => "o") %></td> |
|
15 | <td><%= aggregate_link data, { field_name => row.id, "closed" => 0 }, aggregate_path(@project, field_name, row, :status_id => "o") %></td> | |
16 | <td><%= aggregate_link data, { field_name => row.id, "closed" => 1 }, aggregate_path(@project, field_name, row, :status_id => "c") %></td> |
|
16 | <td><%= aggregate_link data, { field_name => row.id, "closed" => 1 }, aggregate_path(@project, field_name, row, :status_id => "c") %></td> | |
17 | <td><%= aggregate_link data, { field_name => row.id }, aggregate_path(@project, field_name, row, :status_id => "*") %></td> |
|
17 | <td><%= aggregate_link data, { field_name => row.id }, aggregate_path(@project, field_name, row, :status_id => "*") %></td> | |
18 | </tr> |
|
18 | </tr> | |
19 | <% end %> |
|
19 | <% end %> | |
20 | </tbody> |
|
20 | </tbody> | |
21 | </table> |
|
21 | </table> | |
22 | <% end |
|
22 | <% end %> | |
23 | reset_cycle %> |
|
@@ -1,63 +1,62 | |||||
1 | <%= form_tag({}, :data => {:cm_url => time_entries_context_menu_path}) do -%> |
|
1 | <%= form_tag({}, :data => {:cm_url => time_entries_context_menu_path}) do -%> | |
2 | <%= hidden_field_tag 'back_url', url_for(:params => request.query_parameters), :id => nil %> |
|
2 | <%= hidden_field_tag 'back_url', url_for(:params => request.query_parameters), :id => nil %> | |
3 | <div class="autoscroll"> |
|
3 | <div class="autoscroll"> | |
4 | <table class="list time-entries"> |
|
4 | <table class="list time-entries"> | |
5 | <thead> |
|
5 | <thead> | |
6 | <tr> |
|
6 | <tr> | |
7 | <th class="checkbox hide-when-print"> |
|
7 | <th class="checkbox hide-when-print"> | |
8 | <%= check_box_tag 'check_all', '', false, :class => 'toggle-selection', |
|
8 | <%= check_box_tag 'check_all', '', false, :class => 'toggle-selection', | |
9 | :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}" %> |
|
9 | :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}" %> | |
10 | </th> |
|
10 | </th> | |
11 | <% @query.inline_columns.each do |column| %> |
|
11 | <% @query.inline_columns.each do |column| %> | |
12 | <%= column_header(column) %> |
|
12 | <%= column_header(column) %> | |
13 | <% end %> |
|
13 | <% end %> | |
14 | <th></th> |
|
14 | <th></th> | |
15 | </tr> |
|
15 | </tr> | |
16 | </thead> |
|
16 | </thead> | |
17 | <tbody> |
|
17 | <tbody> | |
18 | <% grouped_query_results(entries, @query, @entry_count_by_group) do |entry, group_name, group_count, group_totals| -%> |
|
18 | <% grouped_query_results(entries, @query, @entry_count_by_group) do |entry, group_name, group_count, group_totals| -%> | |
19 | <% if group_name %> |
|
19 | <% if group_name %> | |
20 | <% reset_cycle %> |
|
|||
21 | <tr class="group open"> |
|
20 | <tr class="group open"> | |
22 | <td colspan="<%= @query.inline_columns.size + 2 %>"> |
|
21 | <td colspan="<%= @query.inline_columns.size + 2 %>"> | |
23 | <span class="expander" onclick="toggleRowGroup(this);"> </span> |
|
22 | <span class="expander" onclick="toggleRowGroup(this);"> </span> | |
24 | <span class="name"><%= group_name %></span> |
|
23 | <span class="name"><%= group_name %></span> | |
25 | <% if group_count %> |
|
24 | <% if group_count %> | |
26 | <span class="count"><%= group_count %></span> |
|
25 | <span class="count"><%= group_count %></span> | |
27 | <% end %> |
|
26 | <% end %> | |
28 | <span class="totals"><%= group_totals %></span> |
|
27 | <span class="totals"><%= group_totals %></span> | |
29 | <%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}", |
|
28 | <%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}", | |
30 | "toggleAllRowGroups(this)", :class => 'toggle-all') %> |
|
29 | "toggleAllRowGroups(this)", :class => 'toggle-all') %> | |
31 | </td> |
|
30 | </td> | |
32 | </tr> |
|
31 | </tr> | |
33 | <% end %> |
|
32 | <% end %> | |
34 | <tr id="time-entry-<%= entry.id %>" class="time-entry hascontextmenu"> |
|
33 | <tr id="time-entry-<%= entry.id %>" class="time-entry hascontextmenu"> | |
35 | <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", entry.id, false, :id => nil) %></td> |
|
34 | <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", entry.id, false, :id => nil) %></td> | |
36 | <%= raw @query.inline_columns.map {|column| "<td class=\"#{column.css_classes}\">#{column_content(column, entry)}</td>"}.join %> |
|
35 | <%= raw @query.inline_columns.map {|column| "<td class=\"#{column.css_classes}\">#{column_content(column, entry)}</td>"}.join %> | |
37 | <td class="buttons"> |
|
36 | <td class="buttons"> | |
38 | <% if entry.editable_by?(User.current) -%> |
|
37 | <% if entry.editable_by?(User.current) -%> | |
39 | <%= link_to l(:button_edit), edit_time_entry_path(entry), |
|
38 | <%= link_to l(:button_edit), edit_time_entry_path(entry), | |
40 | :title => l(:button_edit), |
|
39 | :title => l(:button_edit), | |
41 | :class => 'icon-only icon-edit' %> |
|
40 | :class => 'icon-only icon-edit' %> | |
42 | <%= link_to l(:button_delete), time_entry_path(entry), |
|
41 | <%= link_to l(:button_delete), time_entry_path(entry), | |
43 | :data => {:confirm => l(:text_are_you_sure)}, |
|
42 | :data => {:confirm => l(:text_are_you_sure)}, | |
44 | :method => :delete, |
|
43 | :method => :delete, | |
45 | :title => l(:button_delete), |
|
44 | :title => l(:button_delete), | |
46 | :class => 'icon-only icon-del' %> |
|
45 | :class => 'icon-only icon-del' %> | |
47 | <% end -%> |
|
46 | <% end -%> | |
48 | </td> |
|
47 | </td> | |
49 | </tr> |
|
48 | </tr> | |
50 | <% @query.block_columns.each do |column| |
|
49 | <% @query.block_columns.each do |column| | |
51 | if (text = column_content(column, issue)) && text.present? -%> |
|
50 | if (text = column_content(column, issue)) && text.present? -%> | |
52 | <tr class="<%= current_cycle %>"> |
|
51 | <tr class="<%= current_cycle %>"> | |
53 | <td colspan="<%= @query.inline_columns.size + 1 %>" class="<%= column.css_classes %>"><%= text %></td> |
|
52 | <td colspan="<%= @query.inline_columns.size + 1 %>" class="<%= column.css_classes %>"><%= text %></td> | |
54 | </tr> |
|
53 | </tr> | |
55 | <% end -%> |
|
54 | <% end -%> | |
56 | <% end -%> |
|
55 | <% end -%> | |
57 | <% end -%> |
|
56 | <% end -%> | |
58 | </tbody> |
|
57 | </tbody> | |
59 | </table> |
|
58 | </table> | |
60 | </div> |
|
59 | </div> | |
61 | <% end -%> |
|
60 | <% end -%> | |
62 |
|
61 | |||
63 | <%= context_menu %> |
|
62 | <%= context_menu %> |
General Comments 0
You need to be logged in to leave comments.
Login now