Feature #39529 » feature-39529.patch
| app/helpers/application_helper.rb | ||
|---|---|---|
| 75 | 75 |
end |
| 76 | 76 | |
| 77 | 77 |
css_classes += " #{options[:class]}" if css_classes && options[:class].present?
|
| 78 |
url ? link_to(name, url, :class => css_classes) : name |
|
| 78 |
url ? link_to(name, url, :class => css_classes, :data => options[:data]) : name
|
|
| 79 | 79 |
end |
| 80 | 80 | |
| 81 | 81 |
# Displays a link to edit group page if current user is admin |
| ... | ... | |
| 1275 | 1275 |
elsif sep == "@" |
| 1276 | 1276 |
name = remove_double_quotes(identifier) |
| 1277 | 1277 |
u = User.visible.find_by("LOWER(login) = :s AND type = 'User'", :s => name.downcase)
|
| 1278 |
link = link_to_user(u, :only_path => only_path, :class => 'user-mention', :mention => true) if u |
|
| 1278 |
if u && obj && !obj.visible?(u) |
|
| 1279 |
data = {warning_tooltip: l(:error_not_mentioned)}
|
|
| 1280 |
end |
|
| 1281 |
link = link_to_user(u, :only_path => only_path, :class => 'user-mention', :mention => true, :data => data) if u |
|
| 1279 | 1282 |
end |
| 1280 | 1283 |
end |
| 1281 | 1284 |
(leading + (link || "#{project_prefix}#{prefix}#{repo_prefix}#{sep}#{identifier}#{comment_suffix}"))
|
| config/locales/en.yml | ||
|---|---|---|
| 244 | 244 |
error_invalid_size_parameter: "Invalid size parameter" |
| 245 | 245 |
error_attachment_not_found: "Attachment %{name} not found"
|
| 246 | 246 |
error_invalid_authenticity_token: "Invalid form authenticity token." |
| 247 |
error_not_mentioned: "You cannot mention this user because they do not have access rights." |
|
| 247 | 248 |
error_query_statement_invalid: "An error occurred while executing the query and has been logged. Please report this error to your Redmine administrator." |
| 248 | 249 | |
| 249 | 250 |
mail_subject_lost_password: "Your %{value} password"
|
| public/javascripts/application.js | ||
|---|---|---|
| 1121 | 1121 |
at: "center top" |
| 1122 | 1122 |
} |
| 1123 | 1123 |
}); |
| 1124 | ||
| 1125 |
$("[data-warning-tooltip]:not(.no-tooltip)").tooltip({
|
|
| 1126 |
items: '[data-warning-tooltip]', |
|
| 1127 |
content: function() {
|
|
| 1128 |
return $(this).data('warning-tooltip');
|
|
| 1129 |
}, |
|
| 1130 |
tooltipClass: 'warning', |
|
| 1131 |
show: {
|
|
| 1132 |
delay: 400 |
|
| 1133 |
}, |
|
| 1134 |
position: {
|
|
| 1135 |
my: "center bottom-5", |
|
| 1136 |
at: "center top" |
|
| 1137 |
} |
|
| 1138 |
}); |
|
| 1124 | 1139 |
}); |
| 1125 | 1140 | |
| 1126 | 1141 |
function inlineAutoComplete(element) {
|
| public/stylesheets/application.css | ||
|---|---|---|
| 1573 | 1573 |
box-shadow: none; |
| 1574 | 1574 |
white-space: pre-wrap; |
| 1575 | 1575 |
} |
| 1576 |
.ui-tooltip.warning {
|
|
| 1577 |
background-color: #F3EDD1; |
|
| 1578 |
border-color: #eadbbc; |
|
| 1579 |
color: #A6750C; |
|
| 1580 |
} |
|
| 1576 | 1581 | |
| 1577 | 1582 |
/***** Icons *****/ |
| 1578 | 1583 |
.icon {
|
| test/helpers/application_helper_test.rb | ||
|---|---|---|
| 580 | 580 |
end |
| 581 | 581 |
end |
| 582 | 582 | |
| 583 |
def test_mention_link_to_users_who_are_not_authorised_to_view_the_object |
|
| 584 |
set_language_if_valid 'en' |
|
| 585 |
with_settings :text_formatting => 'textile' do |
|
| 586 |
issue = Issue.find(4) |
|
| 587 |
assert_not issue.visible?(User.find(3)) |
|
| 588 |
assert_equal "<p>#{link_to_user(User.find(3), only_path: true, class: 'user-mention', mention: true, data: {warning_tooltip: 'You cannot mention this user because they do not have access rights.'})}</p>", textilizable("@#{User.find(3).login}", :object => issue)
|
|
| 589 | ||
| 590 |
journal = Journal.find(2) |
|
| 591 |
assert_equal '<p><a href="#note-2">#note-2</a></p>', textilizable('#note-2', :object => journal)
|
|
| 592 |
end |
|
| 593 |
end |
|
| 594 | ||
| 583 | 595 |
def test_link_to_note_within_the_same_page |
| 584 | 596 |
with_settings :text_formatting => 'textile' do |
| 585 | 597 |
issue = Issue.find(1) |