Feature #20520 » redmine-last-note-patch.diff
| app/helpers/queries_helper.rb | ||
|---|---|---|
| 17 | 17 |
# along with this program; if not, write to the Free Software |
| 18 | 18 |
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
| 19 | 19 | |
| 20 |
require "htmlentities" |
|
| 21 | ||
| 20 | 22 |
module QueriesHelper |
| 21 | 23 |
include ApplicationHelper |
| 22 | 24 | |
| ... | ... | |
| 150 | 152 |
content_tag('span',
|
| 151 | 153 |
value.to_s(issue) {|other| link_to_issue(other, :subject => false, :tracker => false)}.html_safe,
|
| 152 | 154 |
:class => value.css_classes_for(issue)) |
| 155 |
when :latest_journal_text |
|
| 156 |
last_note_html = textilizable(value, :inline_attachments => false, :attachments => false) |
|
| 157 |
last_note_html = last_note_html.gsub('>', '> ')
|
|
| 158 |
last_note_unformatted_text = strip_tags(last_note_html) |
|
| 159 |
last_note_unformatted_text = last_note_unformatted_text.gsub('¶', '')
|
|
| 160 |
html_decoder = HTMLEntities.new |
|
| 161 |
last_note_unformatted_text = html_decoder.decode(last_note_unformatted_text) |
|
| 162 |
last_note_unformatted_text = last_note_unformatted_text.gsub(/\s+/, ' ') |
|
| 163 |
truncated_text = truncate(last_note_unformatted_text, length: Setting.last_note_text_length.to_i, separator: ' ') |
|
| 164 |
format_object(truncated_text) |
|
| 153 | 165 |
else |
| 154 | 166 |
format_object(value) |
| 155 | 167 |
end |
| app/models/issue.rb | ||
|---|---|---|
| 740 | 740 |
end |
| 741 | 741 |
end |
| 742 | 742 | |
| 743 |
# Returns the notes from the latest journal where notes exist |
|
| 744 |
def latest_journal_text |
|
| 745 |
if new_record? |
|
| 746 |
nil |
|
| 747 |
else |
|
| 748 |
last_note_object = journals.where.not(notes: '').order(created_on: :desc).first |
|
| 749 |
last_note_object.nil? ? "" : last_note_object.notes |
|
| 750 |
end |
|
| 751 |
end |
|
| 752 | ||
| 743 | 753 |
# Returns a scope for journals that have an id greater than journal_id |
| 744 | 754 |
def journals_after(journal_id) |
| 745 | 755 |
scope = journals.reorder("#{Journal.table_name}.id ASC")
|
| app/models/issue_query.rb | ||
|---|---|---|
| 43 | 43 |
QueryColumn.new(:created_on, :sortable => "#{Issue.table_name}.created_on", :default_order => 'desc'),
|
| 44 | 44 |
QueryColumn.new(:closed_on, :sortable => "#{Issue.table_name}.closed_on", :default_order => 'desc'),
|
| 45 | 45 |
QueryColumn.new(:relations, :caption => :label_related_issues), |
| 46 |
QueryColumn.new(:latest_journal_text, :caption => :label_last_note), |
|
| 46 | 47 |
QueryColumn.new(:description, :inline => false) |
| 47 | 48 |
] |
| 48 | 49 | |
| app/views/settings/_display.html.erb | ||
|---|---|---|
| 24 | 24 |
<p><%= setting_check_box :thumbnails_enabled %></p> |
| 25 | 25 | |
| 26 | 26 |
<p><%= setting_text_field :thumbnails_size, :size => 6 %></p> |
| 27 | ||
| 28 |
<p><%= setting_text_field :last_note_text_length, :size => 6 %></p> |
|
| 27 | 29 |
</div> |
| 28 | 30 | |
| 29 | 31 |
<%= submit_tag l(:button_save) %> |
| config/locales/en.yml | ||
|---|---|---|
| 419 | 419 |
setting_session_timeout: Session inactivity timeout |
| 420 | 420 |
setting_thumbnails_enabled: Display attachment thumbnails |
| 421 | 421 |
setting_thumbnails_size: Thumbnails size (in pixels) |
| 422 |
setting_last_note_text_length: Length of text to display in 'Last Note' field (characters) |
|
| 422 | 423 |
setting_non_working_week_days: Non-working days |
| 423 | 424 |
setting_jsonp_enabled: Enable JSONP support |
| 424 | 425 |
setting_default_projects_tracker_ids: Default trackers for new projects |
| ... | ... | |
| 779 | 780 |
label_permissions_report: Permissions report |
| 780 | 781 |
label_watched_issues: Watched issues |
| 781 | 782 |
label_related_issues: Related issues |
| 783 |
label_last_note: Last note |
|
| 782 | 784 |
label_applied_status: Applied status |
| 783 | 785 |
label_loading: Loading... |
| 784 | 786 |
label_relation_new: New relation |
| config/settings.yml | ||
|---|---|---|
| 254 | 254 |
thumbnails_size: |
| 255 | 255 |
format: int |
| 256 | 256 |
default: 100 |
| 257 |
last_note_text_length: |
|
| 258 |
format: int |
|
| 259 |
default: 30 |
|
| 257 | 260 |
non_working_week_days: |
| 258 | 261 |
serialized: true |
| 259 | 262 |
default: |
| public/stylesheets/application.css | ||
|---|---|---|
| 154 | 154 |
tr.project.idnt-8 td.name {padding-left: 11em;}
|
| 155 | 155 |
tr.project.idnt-9 td.name {padding-left: 12.5em;}
|
| 156 | 156 | |
| 157 |
tr.issue { text-align: center; white-space: nowrap; }
|
|
| 157 |
tr.issue { text-align: center; }
|
|
| 158 | 158 |
tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text, tr.issue td.relations, tr.issue td.parent { white-space: normal; }
|
| 159 | 159 |
tr.issue td.relations { text-align: left; }
|
| 160 | 160 |
tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
|
- « Previous
- 1
- 2
- 3
- Next »