mirror of
https://github.com/redmine/redmine.git
synced 2025-11-12 08:16:03 +01:00
Replace uses of image_tag() with CSS (#21256).
* Replace image_tag() with CSS classes * Create some CSS classes where necessary * Change "check all" positioned on the right in "Trackers -> Summary" and "Roles -> Permissions report" instead of left like in "Worfklow" * Add missing title attribute in a few places * Makes some lines shorter while at it Patch by Daniel Ritz. git-svn-id: http://svn.redmine.org/redmine/trunk@15068 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -454,18 +454,18 @@ module ApplicationHelper
|
|||||||
end
|
end
|
||||||
|
|
||||||
def reorder_links(name, url, method = :post)
|
def reorder_links(name, url, method = :post)
|
||||||
link_to(image_tag('2uparrow.png', :alt => l(:label_sort_highest)),
|
link_to('',
|
||||||
url.merge({"#{name}[move_to]" => 'highest'}),
|
url.merge({"#{name}[move_to]" => 'highest'}), :method => method,
|
||||||
:method => method, :title => l(:label_sort_highest)) +
|
:title => l(:label_sort_highest), :class => 'icon-only icon-move-top') +
|
||||||
link_to(image_tag('1uparrow.png', :alt => l(:label_sort_higher)),
|
link_to('',
|
||||||
url.merge({"#{name}[move_to]" => 'higher'}),
|
url.merge({"#{name}[move_to]" => 'higher'}), :method => method,
|
||||||
:method => method, :title => l(:label_sort_higher)) +
|
:title => l(:label_sort_higher), :class => 'icon-only icon-move-up') +
|
||||||
link_to(image_tag('1downarrow.png', :alt => l(:label_sort_lower)),
|
link_to('',
|
||||||
url.merge({"#{name}[move_to]" => 'lower'}),
|
url.merge({"#{name}[move_to]" => 'lower'}), :method => method,
|
||||||
:method => method, :title => l(:label_sort_lower)) +
|
:title => l(:label_sort_lower), :class => 'icon-only icon-move-down') +
|
||||||
link_to(image_tag('2downarrow.png', :alt => l(:label_sort_lowest)),
|
link_to('',
|
||||||
url.merge({"#{name}[move_to]" => 'lowest'}),
|
url.merge({"#{name}[move_to]" => 'lowest'}), :method => method,
|
||||||
:method => method, :title => l(:label_sort_lowest))
|
:title => l(:label_sort_lowest), :class => 'icon-only icon-move-bottom')
|
||||||
end
|
end
|
||||||
|
|
||||||
def breadcrumb(*args)
|
def breadcrumb(*args)
|
||||||
@@ -887,7 +887,8 @@ module ApplicationHelper
|
|||||||
@current_section += 1
|
@current_section += 1
|
||||||
if @current_section > 1
|
if @current_section > 1
|
||||||
content_tag('div',
|
content_tag('div',
|
||||||
link_to(image_tag('edit.png'), options[:edit_section_links].merge(:section => @current_section)),
|
link_to('', options[:edit_section_links].merge(:section => @current_section),
|
||||||
|
:class => 'icon-only icon-edit'),
|
||||||
:class => 'contextual',
|
:class => 'contextual',
|
||||||
:title => l(:button_edit_section),
|
:title => l(:button_edit_section),
|
||||||
:id => "section-#{@current_section}") + heading.html_safe
|
:id => "section-#{@current_section}") + heading.html_safe
|
||||||
@@ -1098,9 +1099,10 @@ module ApplicationHelper
|
|||||||
end
|
end
|
||||||
|
|
||||||
def toggle_checkboxes_link(selector)
|
def toggle_checkboxes_link(selector)
|
||||||
link_to_function image_tag('toggle_check.png'),
|
link_to_function '',
|
||||||
"toggleCheckboxesBySelector('#{selector}')",
|
"toggleCheckboxesBySelector('#{selector}')",
|
||||||
:title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}"
|
:title => "#{l(:button_check_all)} / #{l(:button_uncheck_all)}",
|
||||||
|
:class => 'toggle-checkboxes'
|
||||||
end
|
end
|
||||||
|
|
||||||
def progress_bar(pcts, options={})
|
def progress_bar(pcts, options={})
|
||||||
@@ -1122,7 +1124,7 @@ module ApplicationHelper
|
|||||||
|
|
||||||
def checked_image(checked=true)
|
def checked_image(checked=true)
|
||||||
if checked
|
if checked
|
||||||
@checked_image_tag ||= image_tag('toggle_check.png')
|
@checked_image_tag ||= content_tag(:span, nil, :class => 'icon-only icon-checked')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -22,17 +22,17 @@ module EmailAddressesHelper
|
|||||||
# Returns a link to enable or disable notifications for the address
|
# Returns a link to enable or disable notifications for the address
|
||||||
def toggle_email_address_notify_link(address)
|
def toggle_email_address_notify_link(address)
|
||||||
if address.notify?
|
if address.notify?
|
||||||
link_to image_tag('email.png'),
|
link_to '',
|
||||||
user_email_address_path(address.user, address, :notify => '0'),
|
user_email_address_path(address.user, address, :notify => '0'),
|
||||||
:method => :put,
|
:method => :put, :remote => true,
|
||||||
:title => l(:label_disable_notifications),
|
:title => l(:label_disable_notifications),
|
||||||
:remote => true
|
:class => 'icon icon-email'
|
||||||
else
|
else
|
||||||
link_to image_tag('email_disabled.png'),
|
link_to '',
|
||||||
user_email_address_path(address.user, address, :notify => '1'),
|
user_email_address_path(address.user, address, :notify => '1'),
|
||||||
:method => :put,
|
:method => :put, :remote => true,
|
||||||
:title => l(:label_enable_notifications),
|
:title => l(:label_enable_notifications),
|
||||||
:remote => true
|
:class => 'icon icon-email-disabled'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -442,11 +442,10 @@ module IssuesHelper
|
|||||||
# Link to the attachment if it has not been removed
|
# Link to the attachment if it has not been removed
|
||||||
value = link_to_attachment(atta, :download => true, :only_path => options[:only_path])
|
value = link_to_attachment(atta, :download => true, :only_path => options[:only_path])
|
||||||
if options[:only_path] != false && atta.is_text?
|
if options[:only_path] != false && atta.is_text?
|
||||||
value += link_to(
|
value += link_to('',
|
||||||
image_tag('magnifier.png'),
|
{ :controller => 'attachments', :action => 'show',
|
||||||
:controller => 'attachments', :action => 'show',
|
:id => atta, :filename => atta.filename },
|
||||||
:id => atta, :filename => atta.filename
|
:class => 'icon icon-magnifier')
|
||||||
)
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
value = content_tag("i", h(value)) if value
|
value = content_tag("i", h(value)) if value
|
||||||
|
|||||||
@@ -30,14 +30,18 @@ module JournalsHelper
|
|||||||
editable = User.current.logged? && (User.current.allowed_to?(:edit_issue_notes, issue.project) || (journal.user == User.current && User.current.allowed_to?(:edit_own_issue_notes, issue.project)))
|
editable = User.current.logged? && (User.current.allowed_to?(:edit_issue_notes, issue.project) || (journal.user == User.current && User.current.allowed_to?(:edit_own_issue_notes, issue.project)))
|
||||||
links = []
|
links = []
|
||||||
if !journal.notes.blank?
|
if !journal.notes.blank?
|
||||||
links << link_to(image_tag('comment.png'),
|
links << link_to('',
|
||||||
{:controller => 'journals', :action => 'new', :id => issue, :journal_id => journal},
|
{:controller => 'journals', :action => 'new', :id => issue, :journal_id => journal},
|
||||||
:remote => true,
|
:remote => true,
|
||||||
:method => 'post',
|
:method => 'post',
|
||||||
:title => l(:button_quote)) if options[:reply_links]
|
:title => l(:button_quote),
|
||||||
links << link_to_in_place_notes_editor(image_tag('edit.png'), "journal-#{journal.id}-notes",
|
:class => 'icon-only icon-comment'
|
||||||
|
) if options[:reply_links]
|
||||||
|
links << link_to_in_place_notes_editor('', "journal-#{journal.id}-notes",
|
||||||
{ :controller => 'journals', :action => 'edit', :id => journal, :format => 'js' },
|
{ :controller => 'journals', :action => 'edit', :id => journal, :format => 'js' },
|
||||||
:title => l(:button_edit)) if editable
|
:title => l(:button_edit),
|
||||||
|
:class => 'icon-only icon-edit'
|
||||||
|
) if editable
|
||||||
end
|
end
|
||||||
content << content_tag('div', links.join(' ').html_safe, :class => 'contextual') unless links.empty?
|
content << content_tag('div', links.join(' ').html_safe, :class => 'contextual') unless links.empty?
|
||||||
content << textilizable(journal, :notes)
|
content << textilizable(journal, :notes)
|
||||||
|
|||||||
@@ -58,8 +58,10 @@ module WatchersHelper
|
|||||||
:object_id => object.id,
|
:object_id => object.id,
|
||||||
:user_id => user}
|
:user_id => user}
|
||||||
s << ' '
|
s << ' '
|
||||||
s << link_to(image_tag('delete.png'), url,
|
s << link_to('', url,
|
||||||
:remote => true, :method => 'delete', :class => "delete")
|
:remote => true, :method => 'delete',
|
||||||
|
:class => "delete icon-only icon-del",
|
||||||
|
:title => l(:button_delete))
|
||||||
end
|
end
|
||||||
content << content_tag('li', s, :class => "user-#{user.id}")
|
content << content_tag('li', s, :class => "user-#{user.id}")
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -6,8 +6,7 @@
|
|||||||
<% @checklist.each do |label, result| %>
|
<% @checklist.each do |label, result| %>
|
||||||
<tr class="<%= cycle 'odd', 'even' %>">
|
<tr class="<%= cycle 'odd', 'even' %>">
|
||||||
<td class="name"><%= label.is_a?(Symbol) ? l(label) : label %></td>
|
<td class="name"><%= label.is_a?(Symbol) ? l(label) : label %></td>
|
||||||
<td class="tick"><%= image_tag((result ? 'true.png' : 'exclamation.png'),
|
<td class="tick"><span class="icon-only <%= (result ? 'icon-ok' : 'icon-error') %>"></span></td>
|
||||||
:style => "vertical-align:bottom;") %></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ $(document).ready(function(){
|
|||||||
$("table.plugins td.version span").addClass("unknown");
|
$("table.plugins td.version span").addClass("unknown");
|
||||||
$.each(data, function(plugin_id, plugin_data){
|
$.each(data, function(plugin_id, plugin_data){
|
||||||
var s = $("tr#plugin-"+plugin_id+" td.version span");
|
var s = $("tr#plugin-"+plugin_id+" td.version span");
|
||||||
s.removeClass("icon-checked icon-warning unknown");
|
s.removeClass("icon-ok icon-warning unknown");
|
||||||
if (plugin_data.url) {
|
if (plugin_data.url) {
|
||||||
if (s.parent("a").length>0) {
|
if (s.parent("a").length>0) {
|
||||||
s.unwrap();
|
s.unwrap();
|
||||||
@@ -45,7 +45,7 @@ $(document).ready(function(){
|
|||||||
s.wrap($("<a></a>").attr("href", plugin_data.url).attr("target", "_blank"));
|
s.wrap($("<a></a>").attr("href", plugin_data.url).attr("target", "_blank"));
|
||||||
}
|
}
|
||||||
if (plugin_data.c == s.text()) {
|
if (plugin_data.c == s.text()) {
|
||||||
s.addClass("icon-checked");
|
s.addClass("icon-ok");
|
||||||
} else if (plugin_data.c) {
|
} else if (plugin_data.c) {
|
||||||
s.addClass("icon-warning");
|
s.addClass("icon-warning");
|
||||||
s.attr("title", "<%= escape_javascript l(:label_latest_compatible_version) %>: "+plugin_data.c);
|
s.attr("title", "<%= escape_javascript l(:label_latest_compatible_version) %>: "+plugin_data.c);
|
||||||
|
|||||||
@@ -1,23 +1,27 @@
|
|||||||
<div class="attachments">
|
<div class="attachments">
|
||||||
<div class="contextual">
|
<div class="contextual">
|
||||||
<%= link_to image_tag('edit.png'),
|
<%= link_to('',
|
||||||
container_attachments_edit_path(container),
|
container_attachments_edit_path(container),
|
||||||
:title => l(:label_edit_attachments) if options[:editable] %>
|
:title => l(:label_edit_attachments),
|
||||||
|
:class => 'icon-only icon-edit'
|
||||||
|
) if options[:editable] %>
|
||||||
</div>
|
</div>
|
||||||
<% for attachment in attachments %>
|
<% for attachment in attachments %>
|
||||||
<p><%= link_to_attachment attachment, :class => 'icon icon-attachment', :download => true -%>
|
<p><%= link_to_attachment attachment, :class => 'icon icon-attachment', :download => true -%>
|
||||||
<% if attachment.is_text? %>
|
<% if attachment.is_text? %>
|
||||||
<%= link_to image_tag('magnifier.png'),
|
<%= link_to '',
|
||||||
:controller => 'attachments', :action => 'show',
|
{ :controller => 'attachments', :action => 'show',
|
||||||
:id => attachment, :filename => attachment.filename %>
|
:id => attachment, :filename => attachment.filename },
|
||||||
|
:class => 'icon icon-magnifier',
|
||||||
|
:title => l(:button_view) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= " - #{attachment.description}" unless attachment.description.blank? %>
|
<%= " - #{attachment.description}" unless attachment.description.blank? %>
|
||||||
<span class="size">(<%= number_to_human_size attachment.filesize %>)</span>
|
<span class="size">(<%= number_to_human_size attachment.filesize %>)</span>
|
||||||
<% if options[:deletable] %>
|
<% if options[:deletable] %>
|
||||||
<%= link_to image_tag('delete.png'), attachment_path(attachment),
|
<%= link_to '', attachment_path(attachment),
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
:method => :delete,
|
:method => :delete,
|
||||||
:class => 'delete',
|
:class => 'delete icon-only icon-del',
|
||||||
:title => l(:button_delete) %>
|
:title => l(:button_delete) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if options[:author] %>
|
<% if options[:author] %>
|
||||||
|
|||||||
@@ -20,22 +20,26 @@
|
|||||||
|
|
||||||
<% if @issue.safe_attribute?('category_id') && @issue.project.issue_categories.any? %>
|
<% if @issue.safe_attribute?('category_id') && @issue.project.issue_categories.any? %>
|
||||||
<p><%= f.select :category_id, (@issue.project.issue_categories.collect {|c| [c.name, c.id]}), :include_blank => true, :required => @issue.required_attribute?('category_id') %>
|
<p><%= f.select :category_id, (@issue.project.issue_categories.collect {|c| [c.name, c.id]}), :include_blank => true, :required => @issue.required_attribute?('category_id') %>
|
||||||
<%= link_to(image_tag('add.png', :style => 'vertical-align: middle;'),
|
<%= link_to('',
|
||||||
new_project_issue_category_path(@issue.project),
|
new_project_issue_category_path(@issue.project),
|
||||||
:remote => true,
|
:remote => true,
|
||||||
:method => 'get',
|
:method => 'get',
|
||||||
:title => l(:label_issue_category_new),
|
:title => l(:label_issue_category_new),
|
||||||
:tabindex => 200) if User.current.allowed_to?(:manage_categories, @issue.project) %></p>
|
:tabindex => 200,
|
||||||
|
:class => 'icon-only icon-add'
|
||||||
|
) if User.current.allowed_to?(:manage_categories, @issue.project) %></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
|
<% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
|
||||||
<p><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true, :required => @issue.required_attribute?('fixed_version_id') %>
|
<p><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true, :required => @issue.required_attribute?('fixed_version_id') %>
|
||||||
<%= link_to(image_tag('add.png', :style => 'vertical-align: middle;'),
|
<%= link_to('',
|
||||||
new_project_version_path(@issue.project),
|
new_project_version_path(@issue.project),
|
||||||
:remote => true,
|
:remote => true,
|
||||||
:method => 'get',
|
:method => 'get',
|
||||||
:title => l(:label_version_new),
|
:title => l(:label_version_new),
|
||||||
:tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %>
|
:tabindex => 200,
|
||||||
|
:class => 'icon-only icon-add'
|
||||||
|
) if User.current.allowed_to?(:manage_versions, @issue.project) %>
|
||||||
</p>
|
</p>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -19,12 +19,14 @@
|
|||||||
<td class="status"><%= other_issue.status.name %></td>
|
<td class="status"><%= other_issue.status.name %></td>
|
||||||
<td class="start_date"><%= format_date(other_issue.start_date) %></td>
|
<td class="start_date"><%= format_date(other_issue.start_date) %></td>
|
||||||
<td class="due_date"><%= format_date(other_issue.due_date) %></td>
|
<td class="due_date"><%= format_date(other_issue.due_date) %></td>
|
||||||
<td class="buttons"><%= link_to image_tag('link_break.png'),
|
<td class="buttons"><%= link_to('',
|
||||||
relation_path(relation),
|
relation_path(relation),
|
||||||
:remote => true,
|
:remote => true,
|
||||||
:method => :delete,
|
:method => :delete,
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
:title => l(:label_relation_delete) if User.current.allowed_to?(:manage_issue_relations, @project) %></td>
|
:title => l(:label_relation_delete),
|
||||||
|
:class => 'icon-only icon-link-break'
|
||||||
|
) if User.current.allowed_to?(:manage_issue_relations, @project) %></td>
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -39,22 +39,26 @@
|
|||||||
<div class="message reply" id="<%= "message-#{message.id}" %>">
|
<div class="message reply" id="<%= "message-#{message.id}" %>">
|
||||||
<div class="contextual">
|
<div class="contextual">
|
||||||
<%= link_to(
|
<%= link_to(
|
||||||
image_tag('comment.png'),
|
'',
|
||||||
{:action => 'quote', :id => message},
|
{:action => 'quote', :id => message},
|
||||||
:remote => true,
|
:remote => true,
|
||||||
:method => 'get',
|
:method => 'get',
|
||||||
:title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
:title => l(:button_quote),
|
||||||
|
:class => 'icon icon-comment'
|
||||||
|
) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||||
<%= link_to(
|
<%= link_to(
|
||||||
image_tag('edit.png'),
|
'',
|
||||||
{:action => 'edit', :id => message},
|
{:action => 'edit', :id => message},
|
||||||
:title => l(:button_edit)
|
:title => l(:button_edit),
|
||||||
|
:class => 'icon icon-edit'
|
||||||
) if message.editable_by?(User.current) %>
|
) if message.editable_by?(User.current) %>
|
||||||
<%= link_to(
|
<%= link_to(
|
||||||
image_tag('delete.png'),
|
'',
|
||||||
{:action => 'destroy', :id => message},
|
{:action => 'destroy', :id => message},
|
||||||
:method => :post,
|
:method => :post,
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
:title => l(:button_delete)
|
:title => l(:button_delete),
|
||||||
|
:class => 'icon icon-del'
|
||||||
) if message.destroyable_by?(User.current) %>
|
) if message.destroyable_by?(User.current) %>
|
||||||
</div>
|
</div>
|
||||||
<h4>
|
<h4>
|
||||||
|
|||||||
@@ -42,12 +42,13 @@ entries_by_day = entries.group_by(&:spent_on)
|
|||||||
<td class="hours"><%= html_hours("%.2f" % entry.hours) %></td>
|
<td class="hours"><%= html_hours("%.2f" % entry.hours) %></td>
|
||||||
<td class="buttons">
|
<td class="buttons">
|
||||||
<% if entry.editable_by?(@user) -%>
|
<% if entry.editable_by?(@user) -%>
|
||||||
<%= link_to image_tag('edit.png'), {:controller => 'timelog', :action => 'edit', :id => entry},
|
<%= link_to '', {:controller => 'timelog', :action => 'edit', :id => entry},
|
||||||
:title => l(:button_edit) %>
|
:title => l(:button_edit),
|
||||||
<%= link_to image_tag('delete.png'), {:controller => 'timelog', :action => 'destroy', :id => entry},
|
:class => 'icon-only icon-edit' %>
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
<%= link_to '', {:controller => 'timelog', :action => 'destroy', :id => entry},
|
||||||
:method => :delete,
|
:data => {:confirm => l(:text_are_you_sure)}, :method => :delete,
|
||||||
:title => l(:button_delete) %>
|
:title => l(:button_delete),
|
||||||
|
:class => 'icon-only icon-del' %>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -36,8 +36,10 @@
|
|||||||
<% @comments.each do |comment| %>
|
<% @comments.each do |comment| %>
|
||||||
<% next if comment.new_record? %>
|
<% next if comment.new_record? %>
|
||||||
<div class="contextual">
|
<div class="contextual">
|
||||||
<%= link_to_if_authorized image_tag('delete.png'), {:controller => 'comments', :action => 'destroy', :id => @news, :comment_id => comment},
|
<%= link_to_if_authorized '', {:controller => 'comments', :action => 'destroy', :id => @news, :comment_id => comment},
|
||||||
:data => {:confirm => l(:text_are_you_sure)}, :method => :delete, :title => l(:button_delete) %>
|
:data => {:confirm => l(:text_are_you_sure)}, :method => :delete,
|
||||||
|
:title => l(:button_delete),
|
||||||
|
:class => 'icon-only icon-del' %>
|
||||||
</div>
|
</div>
|
||||||
<h4><%= avatar(comment.author, :size => "24") %><%= authoring comment.created_on, comment.author %></h4>
|
<h4><%= avatar(comment.author, :size => "24") %><%= authoring comment.created_on, comment.author %></h4>
|
||||||
<%= textilizable(comment.comments) %>
|
<%= textilizable(comment.comments) %>
|
||||||
|
|||||||
@@ -1,31 +1,52 @@
|
|||||||
<h2><%=l(:label_report_plural)%></h2>
|
<h2><%=l(:label_report_plural)%></h2>
|
||||||
|
|
||||||
<div class="splitcontentleft">
|
<div class="splitcontentleft">
|
||||||
<h3><%=l(:field_tracker)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'tracker') %></h3>
|
<h3>
|
||||||
|
<%=l(:field_tracker)%>
|
||||||
|
<%= link_to '', project_issues_report_details_path(@project, :detail => 'tracker'), :class => 'icon-only icon-zoom-in' %>
|
||||||
|
</h3>
|
||||||
<%= render :partial => 'simple', :locals => { :data => @issues_by_tracker, :field_name => "tracker_id", :rows => @trackers } %>
|
<%= render :partial => 'simple', :locals => { :data => @issues_by_tracker, :field_name => "tracker_id", :rows => @trackers } %>
|
||||||
<br />
|
<br />
|
||||||
<h3><%=l(:field_priority)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'priority') %></h3>
|
<h3>
|
||||||
|
<%=l(:field_priority)%>
|
||||||
|
<%= link_to '', project_issues_report_details_path(@project, :detail => 'priority'), :class => 'icon-only icon-zoom-in' %>
|
||||||
|
</h3>
|
||||||
<%= render :partial => 'simple', :locals => { :data => @issues_by_priority, :field_name => "priority_id", :rows => @priorities } %>
|
<%= render :partial => 'simple', :locals => { :data => @issues_by_priority, :field_name => "priority_id", :rows => @priorities } %>
|
||||||
<br />
|
<br />
|
||||||
<h3><%=l(:field_assigned_to)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'assigned_to') %></h3>
|
<h3>
|
||||||
|
<%=l(:field_assigned_to)%>
|
||||||
|
<%= link_to '', project_issues_report_details_path(@project, :detail => 'assigned_to'), :class => 'icon-only icon-zoom-in' %>
|
||||||
|
</h3>
|
||||||
<%= render :partial => 'simple', :locals => { :data => @issues_by_assigned_to, :field_name => "assigned_to_id", :rows => @assignees } %>
|
<%= render :partial => 'simple', :locals => { :data => @issues_by_assigned_to, :field_name => "assigned_to_id", :rows => @assignees } %>
|
||||||
<br />
|
<br />
|
||||||
<h3><%=l(:field_author)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'author') %></h3>
|
<h3>
|
||||||
|
<%=l(:field_author)%>
|
||||||
|
<%= link_to '', project_issues_report_details_path(@project, :detail => 'author'), :class => 'icon-only icon-zoom-in' %>
|
||||||
|
</h3>
|
||||||
<%= render :partial => 'simple', :locals => { :data => @issues_by_author, :field_name => "author_id", :rows => @authors } %>
|
<%= render :partial => 'simple', :locals => { :data => @issues_by_author, :field_name => "author_id", :rows => @authors } %>
|
||||||
<br />
|
<br />
|
||||||
<%= call_hook(:view_reports_issue_report_split_content_left, :project => @project) %>
|
<%= call_hook(:view_reports_issue_report_split_content_left, :project => @project) %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="splitcontentright">
|
<div class="splitcontentright">
|
||||||
<h3><%=l(:field_version)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'version') %></h3>
|
<h3>
|
||||||
|
<%=l(:field_version)%>
|
||||||
|
<%= link_to '', project_issues_report_details_path(@project, :detail => 'version'), :class => 'icon-only icon-zoom-in' %>
|
||||||
|
</h3>
|
||||||
<%= render :partial => 'simple', :locals => { :data => @issues_by_version, :field_name => "fixed_version_id", :rows => @versions } %>
|
<%= render :partial => 'simple', :locals => { :data => @issues_by_version, :field_name => "fixed_version_id", :rows => @versions } %>
|
||||||
<br />
|
<br />
|
||||||
<% if @project.children.any? %>
|
<% if @project.children.any? %>
|
||||||
<h3><%=l(:field_subproject)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'subproject') %></h3>
|
<h3>
|
||||||
|
<%=l(:field_subproject)%>
|
||||||
|
<%= link_to '', project_issues_report_details_path(@project, :detail => 'subproject'), :class => 'icon-only icon-zoom-in' %>
|
||||||
|
</h3>
|
||||||
<%= render :partial => 'simple', :locals => { :data => @issues_by_subproject, :field_name => "project_id", :rows => @subprojects } %>
|
<%= render :partial => 'simple', :locals => { :data => @issues_by_subproject, :field_name => "project_id", :rows => @subprojects } %>
|
||||||
<br />
|
<br />
|
||||||
<% end %>
|
<% end %>
|
||||||
<h3><%=l(:field_category)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'category') %></h3>
|
<h3>
|
||||||
|
<%=l(:field_category)%>
|
||||||
|
<%= link_to '', project_issues_report_details_path(@project, :detail => 'category'), :class => 'icon-only icon-zoom-in' %>
|
||||||
|
</h3>
|
||||||
<%= render :partial => 'simple', :locals => { :data => @issues_by_category, :field_name => "category_id", :rows => @categories } %>
|
<%= render :partial => 'simple', :locals => { :data => @issues_by_category, :field_name => "category_id", :rows => @categories } %>
|
||||||
<br />
|
<br />
|
||||||
<%= call_hook(:view_reports_issue_report_split_content_right, :project => @project) %>
|
<%= call_hook(:view_reports_issue_report_split_content_right, :project => @project) %>
|
||||||
|
|||||||
@@ -11,14 +11,16 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<% @changeset.issues.visible.each do |issue| %>
|
<% @changeset.issues.visible.each do |issue| %>
|
||||||
<li id="<%= "related-issue-#{issue.id}" %>"><%= link_to_issue issue %>
|
<li id="<%= "related-issue-#{issue.id}" %>"><%= link_to_issue issue %>
|
||||||
<%= link_to(image_tag('link_break.png'),
|
<%= link_to('',
|
||||||
{:controller => 'repositories', :action => 'remove_related_issue',
|
{:controller => 'repositories', :action => 'remove_related_issue',
|
||||||
:id => @project, :repository_id => @repository.identifier_param,
|
:id => @project, :repository_id => @repository.identifier_param,
|
||||||
:rev => @changeset.identifier, :issue_id => issue},
|
:rev => @changeset.identifier, :issue_id => issue},
|
||||||
:remote => true,
|
:remote => true,
|
||||||
:method => :delete,
|
:method => :delete,
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
:title => l(:label_relation_delete)) if manage_allowed %>
|
:title => l(:label_relation_delete),
|
||||||
|
:class => 'icon-only icon-link-break'
|
||||||
|
) if manage_allowed %>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -9,9 +9,11 @@
|
|||||||
<th><%=l(:label_permissions)%></th>
|
<th><%=l(:label_permissions)%></th>
|
||||||
<% @roles.each do |role| %>
|
<% @roles.each do |role| %>
|
||||||
<th>
|
<th>
|
||||||
|
<%= link_to_function('',
|
||||||
|
"toggleCheckboxesBySelector('input.role-#{role.id}')",
|
||||||
|
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}",
|
||||||
|
:class => 'icon-only icon-checked') %>
|
||||||
<%= content_tag(role.builtin? ? 'em' : 'span', role.name) %>
|
<%= content_tag(role.builtin? ? 'em' : 'span', role.name) %>
|
||||||
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.role-#{role.id}')",
|
|
||||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
|
|
||||||
</th>
|
</th>
|
||||||
<% end %>
|
<% end %>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -33,8 +35,10 @@
|
|||||||
<% perms_by_module[mod].each do |permission| %>
|
<% perms_by_module[mod].each do |permission| %>
|
||||||
<tr class="<%= cycle('odd', 'even') %> permission-<%= permission.name %>">
|
<tr class="<%= cycle('odd', 'even') %> permission-<%= permission.name %>">
|
||||||
<td class="name">
|
<td class="name">
|
||||||
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('.permission-#{permission.name} input')",
|
<%= link_to_function('',
|
||||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
|
"toggleCheckboxesBySelector('.permission-#{permission.name} input')",
|
||||||
|
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}",
|
||||||
|
:class => 'icon-only icon-checked') %>
|
||||||
<%= l_or_humanize(permission.name, :prefix => 'permission_') %>
|
<%= l_or_humanize(permission.name, :prefix => 'permission_') %>
|
||||||
</td>
|
</td>
|
||||||
<% @roles.each do |role| %>
|
<% @roles.each do |role| %>
|
||||||
|
|||||||
@@ -23,12 +23,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<% if enabled %>
|
<% if enabled %>
|
||||||
<%=
|
<span class="icon <%= (scm_class.scm_available ? 'icon-ok' : 'icon-error') %>"></span>
|
||||||
image_tag(
|
|
||||||
(scm_class.scm_available ? 'true.png' : 'exclamation.png'),
|
|
||||||
:style => "vertical-align:bottom;"
|
|
||||||
)
|
|
||||||
%>
|
|
||||||
<%= scm_class.scm_command %>
|
<%= scm_class.scm_command %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</td>
|
</td>
|
||||||
@@ -124,7 +119,8 @@
|
|||||||
) %>
|
) %>
|
||||||
</td>
|
</td>
|
||||||
<td class="buttons">
|
<td class="buttons">
|
||||||
<%= link_to(image_tag('delete.png'), '#', :class => 'delete-commit-keywords') %>
|
<%= link_to('', '#',
|
||||||
|
:class => 'delete-commit-keywords icon-only icon-del') %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
@@ -133,7 +129,10 @@
|
|||||||
<td><em class="info"><%= l(:text_comma_separated) %></em></td>
|
<td><em class="info"><%= l(:text_comma_separated) %></em></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="buttons"><%= link_to(image_tag('add.png'), '#', :class => 'add-commit-keywords') %></td>
|
<td class="buttons">
|
||||||
|
<%= link_to('', '#',
|
||||||
|
:class => 'add-commit-keywords icon-only icon-add') %>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -21,12 +21,14 @@
|
|||||||
<%= raw @query.inline_columns.map {|column| "<td class=\"#{column.css_classes}\">#{column_content(column, entry)}</td>"}.join %>
|
<%= raw @query.inline_columns.map {|column| "<td class=\"#{column.css_classes}\">#{column_content(column, entry)}</td>"}.join %>
|
||||||
<td class="buttons">
|
<td class="buttons">
|
||||||
<% if entry.editable_by?(User.current) -%>
|
<% if entry.editable_by?(User.current) -%>
|
||||||
<%= link_to image_tag('edit.png'), edit_time_entry_path(entry),
|
<%= link_to '', edit_time_entry_path(entry),
|
||||||
:title => l(:button_edit) %>
|
:title => l(:button_edit),
|
||||||
<%= link_to image_tag('delete.png'), time_entry_path(entry),
|
:class => 'icon icon-edit' %>
|
||||||
|
<%= link_to '', time_entry_path(entry),
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
:method => :delete,
|
:method => :delete,
|
||||||
:title => l(:button_delete) %>
|
:title => l(:button_delete),
|
||||||
|
:class => 'icon-only icon-del' %>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -9,9 +9,10 @@
|
|||||||
<th></th>
|
<th></th>
|
||||||
<% @trackers.each do |tracker| %>
|
<% @trackers.each do |tracker| %>
|
||||||
<th>
|
<th>
|
||||||
|
<%= link_to_function('', "toggleCheckboxesBySelector('input.tracker-#{tracker.id}')",
|
||||||
|
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}",
|
||||||
|
:class => 'icon-only icon-checked') %>
|
||||||
<%= tracker.name %>
|
<%= tracker.name %>
|
||||||
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.tracker-#{tracker.id}')",
|
|
||||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
|
|
||||||
</th>
|
</th>
|
||||||
<% end %>
|
<% end %>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -26,8 +27,9 @@
|
|||||||
<% Tracker::CORE_FIELDS.each do |field| %>
|
<% Tracker::CORE_FIELDS.each do |field| %>
|
||||||
<tr class="<%= cycle("odd", "even") %>">
|
<tr class="<%= cycle("odd", "even") %>">
|
||||||
<td class="name">
|
<td class="name">
|
||||||
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.core-field-#{field}')",
|
<%= link_to_function('', "toggleCheckboxesBySelector('input.core-field-#{field}')",
|
||||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
|
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}",
|
||||||
|
:class => 'icon-only icon-checked') %>
|
||||||
<%= l("field_#{field}".sub(/_id$/, '')) %>
|
<%= l("field_#{field}".sub(/_id$/, '')) %>
|
||||||
</td>
|
</td>
|
||||||
<% @trackers.each do |tracker| %>
|
<% @trackers.each do |tracker| %>
|
||||||
@@ -48,8 +50,9 @@
|
|||||||
<% @custom_fields.each do |field| %>
|
<% @custom_fields.each do |field| %>
|
||||||
<tr class="<%= cycle("odd", "even") %>">
|
<tr class="<%= cycle("odd", "even") %>">
|
||||||
<td class="name">
|
<td class="name">
|
||||||
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.custom-field-#{field.id}')",
|
<%= link_to_function('', "toggleCheckboxesBySelector('input.custom-field-#{field.id}')",
|
||||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
|
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}",
|
||||||
|
:class => 'icon-only icon-checked') %>
|
||||||
<%= field.name %>
|
<%= field.name %>
|
||||||
</td>
|
</td>
|
||||||
<% @trackers.each do |tracker| %>
|
<% @trackers.each do |tracker| %>
|
||||||
|
|||||||
@@ -2,8 +2,9 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>
|
||||||
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('table.transitions-#{name} input')",
|
<%= link_to_function('', "toggleCheckboxesBySelector('table.transitions-#{name} input')",
|
||||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
|
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}",
|
||||||
|
:class => 'icon-only icon-checked') %>
|
||||||
<%=l(:label_current_status)%>
|
<%=l(:label_current_status)%>
|
||||||
</th>
|
</th>
|
||||||
<th colspan="<%= @statuses.length %>"><%=l(:label_new_statuses_allowed)%></th>
|
<th colspan="<%= @statuses.length %>"><%=l(:label_new_statuses_allowed)%></th>
|
||||||
@@ -12,8 +13,9 @@
|
|||||||
<td></td>
|
<td></td>
|
||||||
<% for new_status in @statuses %>
|
<% for new_status in @statuses %>
|
||||||
<td style="width:<%= 75 / @statuses.size %>%;">
|
<td style="width:<%= 75 / @statuses.size %>%;">
|
||||||
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('table.transitions-#{name} input.new-status-#{new_status.id}')",
|
<%= link_to_function('', "toggleCheckboxesBySelector('table.transitions-#{name} input.new-status-#{new_status.id}')",
|
||||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
|
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}",
|
||||||
|
:class => 'icon-only icon-checked') %>
|
||||||
<%= new_status.name %>
|
<%= new_status.name %>
|
||||||
</td>
|
</td>
|
||||||
<% end %>
|
<% end %>
|
||||||
@@ -24,8 +26,9 @@
|
|||||||
<% next if old_status.nil? && name != 'always' %>
|
<% next if old_status.nil? && name != 'always' %>
|
||||||
<tr class="<%= cycle("odd", "even") %>">
|
<tr class="<%= cycle("odd", "even") %>">
|
||||||
<td class="name">
|
<td class="name">
|
||||||
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('table.transitions-#{name} input.old-status-#{old_status.try(:id) || 0}')",
|
<%= link_to_function('', "toggleCheckboxesBySelector('table.transitions-#{name} input.old-status-#{old_status.try(:id) || 0}')",
|
||||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
|
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}",
|
||||||
|
:class => 'icon-only icon-checked') %>
|
||||||
|
|
||||||
<%= old_status ? old_status.name : content_tag('em', l(:label_issue_new)) %>
|
<%= old_status ? old_status.name : content_tag('em', l(:label_issue_new)) %>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -16,12 +16,12 @@
|
|||||||
<label><%=l(:label_role)%>:
|
<label><%=l(:label_role)%>:
|
||||||
<%= options_for_workflow_select 'role_id[]', Role.sorted.select(&:consider_workflow?), @roles, :id => 'role_id', :class => 'expandable' %>
|
<%= options_for_workflow_select 'role_id[]', Role.sorted.select(&:consider_workflow?), @roles, :id => 'role_id', :class => 'expandable' %>
|
||||||
</label>
|
</label>
|
||||||
<a href="#" data-expands="#role_id"><%= image_tag 'bullet_toggle_plus.png' %></a>
|
<a href="#" data-expands="#role_id"><span class="toggle-multiselect"></span></a>
|
||||||
|
|
||||||
<label><%=l(:label_tracker)%>:
|
<label><%=l(:label_tracker)%>:
|
||||||
<%= options_for_workflow_select 'tracker_id[]', Tracker.sorted, @trackers, :id => 'tracker_id', :class => 'expandable' %>
|
<%= options_for_workflow_select 'tracker_id[]', Tracker.sorted, @trackers, :id => 'tracker_id', :class => 'expandable' %>
|
||||||
</label>
|
</label>
|
||||||
<a href="#" data-expands="#tracker_id"><%= image_tag 'bullet_toggle_plus.png' %></a>
|
<a href="#" data-expands="#tracker_id"><span class="toggle-multiselect"></span></a>
|
||||||
|
|
||||||
<%= submit_tag l(:button_edit), :name => nil %>
|
<%= submit_tag l(:button_edit), :name => nil %>
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,9 @@
|
|||||||
<% @roles.each do |role| -%>
|
<% @roles.each do |role| -%>
|
||||||
<% count = @workflow_counts[[tracker.id, role.id]] || 0 %>
|
<% count = @workflow_counts[[tracker.id, role.id]] || 0 %>
|
||||||
<td>
|
<td>
|
||||||
<%= link_to((count > 0 ? count : image_tag('false.png')), {:action => 'edit', :role_id => role, :tracker_id => tracker}, :title => l(:button_edit)) %>
|
<%= link_to((count > 0 ? count : content_tag(:span, nil, :class => 'icon-only icon-not-ok')),
|
||||||
|
{:action => 'edit', :role_id => role, :tracker_id => tracker},
|
||||||
|
:title => l(:button_edit)) %>
|
||||||
</td>
|
</td>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -16,12 +16,12 @@
|
|||||||
<label><%=l(:label_role)%>:
|
<label><%=l(:label_role)%>:
|
||||||
<%= options_for_workflow_select 'role_id[]', Role.sorted.select(&:consider_workflow?), @roles, :id => 'role_id', :class => 'expandable' %>
|
<%= options_for_workflow_select 'role_id[]', Role.sorted.select(&:consider_workflow?), @roles, :id => 'role_id', :class => 'expandable' %>
|
||||||
</label>
|
</label>
|
||||||
<a href="#" data-expands="#role_id"><%= image_tag 'bullet_toggle_plus.png' %></a>
|
<a href="#" data-expands="#role_id"><span class="toggle-multiselect"></a>
|
||||||
|
|
||||||
<label><%=l(:label_tracker)%>:
|
<label><%=l(:label_tracker)%>:
|
||||||
<%= options_for_workflow_select 'tracker_id[]', Tracker.sorted, @trackers, :id => 'tracker_id', :class => 'expandable' %>
|
<%= options_for_workflow_select 'tracker_id[]', Tracker.sorted, @trackers, :id => 'tracker_id', :class => 'expandable' %>
|
||||||
</label>
|
</label>
|
||||||
<a href="#" data-expands="#tracker_id"><%= image_tag 'bullet_toggle_plus.png' %></a>
|
<a href="#" data-expands="#tracker_id"><span class="toggle-multiselect"></a>
|
||||||
|
|
||||||
<%= submit_tag l(:button_edit), :name => nil %>
|
<%= submit_tag l(:button_edit), :name => nil %>
|
||||||
|
|
||||||
|
|||||||
@@ -130,6 +130,9 @@ a.collapsible {padding-left: 12px; background: url(../images/arrow_expanded.png)
|
|||||||
a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;}
|
a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;}
|
||||||
|
|
||||||
a#toggle-completed-versions {color:#999;}
|
a#toggle-completed-versions {color:#999;}
|
||||||
|
|
||||||
|
a.toggle-checkboxes { margin-left: 5px; padding-left: 12px; background: url(../images/toggle_check.png) no-repeat 0% 50%; }
|
||||||
|
|
||||||
/***** Tables *****/
|
/***** Tables *****/
|
||||||
table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
|
table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
|
||||||
table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
|
table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
|
||||||
@@ -297,7 +300,7 @@ div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left
|
|||||||
div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; }
|
div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; }
|
||||||
|
|
||||||
#watchers select {width: 95%; display: block;}
|
#watchers select {width: 95%; display: block;}
|
||||||
#watchers a.delete {opacity: 0.4; vertical-align: middle;}
|
#watchers a.delete {opacity: 0.4; margin-left: 5px;}
|
||||||
#watchers a.delete:hover {opacity: 1;}
|
#watchers a.delete:hover {opacity: 1;}
|
||||||
#watchers img.gravatar {margin: 0 4px 2px 0;}
|
#watchers img.gravatar {margin: 0 4px 2px 0;}
|
||||||
|
|
||||||
@@ -391,7 +394,7 @@ fieldset#filters td.values input {height:1em;}
|
|||||||
.add-filter {width:35%; float:right; text-align: right; vertical-align: top;}
|
.add-filter {width:35%; float:right; text-align: right; vertical-align: top;}
|
||||||
|
|
||||||
#issue_is_private_wrap {float:right; margin-right:1em;}
|
#issue_is_private_wrap {float:right; margin-right:1em;}
|
||||||
.toggle-multiselect {background: url(../images/bullet_toggle_plus.png) no-repeat 0% 40%; padding-left:8px; margin-left:0; cursor:pointer;}
|
.toggle-multiselect {background: url(../images/bullet_toggle_plus.png) no-repeat 0% 40%; padding-left:16px; margin-left:0; margin-right:5px; cursor:pointer;}
|
||||||
.buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }
|
.buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }
|
||||||
|
|
||||||
div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
|
div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
|
||||||
@@ -461,6 +464,7 @@ div.wiki-page .contextual a {opacity: 0.4}
|
|||||||
div.wiki-page .contextual a:hover {opacity: 1}
|
div.wiki-page .contextual a:hover {opacity: 1}
|
||||||
|
|
||||||
form .attributes select { width: 60%; }
|
form .attributes select { width: 60%; }
|
||||||
|
form .attributes select + a.icon-only { vertical-align: middle; margin-left: 4px; }
|
||||||
input#issue_subject, input#document_title { width: 99%; }
|
input#issue_subject, input#document_title { width: 99%; }
|
||||||
select#issue_done_ratio { width: 95px; }
|
select#issue_done_ratio { width: 95px; }
|
||||||
|
|
||||||
@@ -1089,6 +1093,11 @@ a.close-icon:hover {background-image:url('../images/close_hl.png');}
|
|||||||
padding-top: 2px;
|
padding-top: 2px;
|
||||||
padding-bottom: 3px;
|
padding-bottom: 3px;
|
||||||
}
|
}
|
||||||
|
.icon-only {
|
||||||
|
background-position: 0% 50%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
padding-left: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.icon-add { background-image: url(../images/add.png); }
|
.icon-add { background-image: url(../images/add.png); }
|
||||||
.icon-edit { background-image: url(../images/edit.png); }
|
.icon-edit { background-image: url(../images/edit.png); }
|
||||||
@@ -1111,12 +1120,13 @@ a.close-icon:hover {background-image:url('../images/close_hl.png');}
|
|||||||
.icon-time-add { background-image: url(../images/time_add.png); }
|
.icon-time-add { background-image: url(../images/time_add.png); }
|
||||||
.icon-stats { background-image: url(../images/stats.png); }
|
.icon-stats { background-image: url(../images/stats.png); }
|
||||||
.icon-warning { background-image: url(../images/warning.png); }
|
.icon-warning { background-image: url(../images/warning.png); }
|
||||||
|
.icon-error { background-image: url(../images/exclamation.png); }
|
||||||
.icon-fav { background-image: url(../images/fav.png); }
|
.icon-fav { background-image: url(../images/fav.png); }
|
||||||
.icon-fav-off { background-image: url(../images/fav_off.png); }
|
.icon-fav-off { background-image: url(../images/fav_off.png); }
|
||||||
.icon-reload { background-image: url(../images/reload.png); }
|
.icon-reload { background-image: url(../images/reload.png); }
|
||||||
.icon-lock { background-image: url(../images/locked.png); }
|
.icon-lock { background-image: url(../images/locked.png); }
|
||||||
.icon-unlock { background-image: url(../images/unlock.png); }
|
.icon-unlock { background-image: url(../images/unlock.png); }
|
||||||
.icon-checked { background-image: url(../images/true.png); }
|
.icon-checked { background-image: url(../images/toggle_check.png); }
|
||||||
.icon-details { background-image: url(../images/zoom_in.png); }
|
.icon-details { background-image: url(../images/zoom_in.png); }
|
||||||
.icon-report { background-image: url(../images/report.png); }
|
.icon-report { background-image: url(../images/report.png); }
|
||||||
.icon-comment { background-image: url(../images/comment.png); }
|
.icon-comment { background-image: url(../images/comment.png); }
|
||||||
@@ -1125,9 +1135,19 @@ a.close-icon:hover {background-image:url('../images/close_hl.png');}
|
|||||||
.icon-issue { background-image: url(../images/ticket.png); }
|
.icon-issue { background-image: url(../images/ticket.png); }
|
||||||
.icon-zoom-in { background-image: url(../images/zoom_in.png); }
|
.icon-zoom-in { background-image: url(../images/zoom_in.png); }
|
||||||
.icon-zoom-out { background-image: url(../images/zoom_out.png); }
|
.icon-zoom-out { background-image: url(../images/zoom_out.png); }
|
||||||
|
.icon-magnifier { background-image: url(../images/magnifier.png); }
|
||||||
.icon-passwd { background-image: url(../images/textfield_key.png); }
|
.icon-passwd { background-image: url(../images/textfield_key.png); }
|
||||||
.icon-test { background-image: url(../images/bullet_go.png); }
|
.icon-test { background-image: url(../images/bullet_go.png); }
|
||||||
|
.icon-email { background-image: url(../images/email.png); }
|
||||||
|
.icon-email-disabled { background-image: url(../images/email_disabled.png); }
|
||||||
.icon-email-add { background-image: url(../images/email_add.png); }
|
.icon-email-add { background-image: url(../images/email_add.png); }
|
||||||
|
.icon-move-up { background-image: url(../images/1uparrow.png); }
|
||||||
|
.icon-move-top { background-image: url(../images/2uparrow.png); }
|
||||||
|
.icon-move-down { background-image: url(../images/1downarrow.png); }
|
||||||
|
.icon-move-bottom { background-image: url(../images/2downarrow.png); }
|
||||||
|
.icon-ok { background-image: url(../images/true.png); }
|
||||||
|
.icon-not-ok { background-image: url(../images/false.png); }
|
||||||
|
.icon-link-break { background-image: url(../images/link_break.png); }
|
||||||
|
|
||||||
.icon-file { background-image: url(../images/files/default.png); }
|
.icon-file { background-image: url(../images/files/default.png); }
|
||||||
.icon-file.text-plain { background-image: url(../images/files/text.png); }
|
.icon-file.text-plain { background-image: url(../images/files/text.png); }
|
||||||
|
|||||||
@@ -1424,7 +1424,7 @@ class IssuesControllerTest < ActionController::TestCase
|
|||||||
assert_select 'div#watchers ul' do
|
assert_select 'div#watchers ul' do
|
||||||
assert_select 'li' do
|
assert_select 'li' do
|
||||||
assert_select 'a[href="/users/2"]'
|
assert_select 'a[href="/users/2"]'
|
||||||
assert_select 'a img[alt=Delete]'
|
assert_select 'a[class*=delete]'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1441,7 +1441,7 @@ class IssuesControllerTest < ActionController::TestCase
|
|||||||
assert_select 'li' do
|
assert_select 'li' do
|
||||||
assert_select 'img.gravatar'
|
assert_select 'img.gravatar'
|
||||||
assert_select 'a[href="/users/2"]'
|
assert_select 'a[href="/users/2"]'
|
||||||
assert_select 'a img[alt=Delete]'
|
assert_select 'a[class*=delete]'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1243,14 +1243,14 @@ RAW
|
|||||||
|
|
||||||
# heading that contains inline code
|
# heading that contains inline code
|
||||||
assert_match Regexp.new('<div class="contextual" title="Edit this section" id="section-4">' +
|
assert_match Regexp.new('<div class="contextual" title="Edit this section" id="section-4">' +
|
||||||
'<a href="/projects/1/wiki/Test/edit\?section=4"><img src="/images/edit.png(\?\d+)?" alt="Edit" /></a></div>' +
|
'<a class="icon-only icon-edit" href="/projects/1/wiki/Test/edit\?section=4"></a></div>' +
|
||||||
'<a name="Subtitle-with-inline-code"></a>' +
|
'<a name="Subtitle-with-inline-code"></a>' +
|
||||||
'<h2 >Subtitle with <code>inline code</code><a href="#Subtitle-with-inline-code" class="wiki-anchor">¶</a></h2>'),
|
'<h2 >Subtitle with <code>inline code</code><a href="#Subtitle-with-inline-code" class="wiki-anchor">¶</a></h2>'),
|
||||||
result
|
result
|
||||||
|
|
||||||
# last heading
|
# last heading
|
||||||
assert_match Regexp.new('<div class="contextual" title="Edit this section" id="section-5">' +
|
assert_match Regexp.new('<div class="contextual" title="Edit this section" id="section-5">' +
|
||||||
'<a href="/projects/1/wiki/Test/edit\?section=5"><img src="/images/edit.png(\?\d+)?" alt="Edit" /></a></div>' +
|
'<a class="icon-only icon-edit" href="/projects/1/wiki/Test/edit\?section=5"></a></div>' +
|
||||||
'<a name="Subtitle-after-pre-tag"></a>' +
|
'<a name="Subtitle-after-pre-tag"></a>' +
|
||||||
'<h2 >Subtitle after pre tag<a href="#Subtitle-after-pre-tag" class="wiki-anchor">¶</a></h2>'),
|
'<h2 >Subtitle after pre tag<a href="#Subtitle-after-pre-tag" class="wiki-anchor">¶</a></h2>'),
|
||||||
result
|
result
|
||||||
|
|||||||
Reference in New Issue
Block a user