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)  |