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