@@ -172,12 +172,7 class IssuesController < ApplicationController | |||
|
172 | 172 | rescue ActiveRecord::StaleObjectError |
|
173 | 173 | @conflict = true |
|
174 | 174 | if params[:last_journal_id] |
|
175 | if params[:last_journal_id].present? | |
|
176 | last_journal_id = params[:last_journal_id].to_i | |
|
177 | @conflict_journals = @issue.journals.all(:conditions => ["#{Journal.table_name}.id > ?", last_journal_id]) | |
|
178 | else | |
|
179 | @conflict_journals = @issue.journals.all | |
|
180 | end | |
|
175 | @conflict_journals = @issue.journals_after(params[:last_journal_id]).all | |
|
181 | 176 | end |
|
182 | 177 | end |
|
183 | 178 |
@@ -587,6 +587,15 class Issue < ActiveRecord::Base | |||
|
587 | 587 | end |
|
588 | 588 | end |
|
589 | 589 | |
|
590 | # Returns a scope for journals that have an id greater than journal_id | |
|
591 | def journals_after(journal_id) | |
|
592 | scope = journals.reorder("#{Journal.table_name}.id ASC") | |
|
593 | if journal_id.present? | |
|
594 | scope = scope.where("#{Journal.table_name}.id > ?", journal_id.to_i) | |
|
595 | end | |
|
596 | scope | |
|
597 | end | |
|
598 | ||
|
590 | 599 | # Return true if the issue is closed, otherwise false |
|
591 | 600 | def closed? |
|
592 | 601 | self.status.is_closed? |
@@ -1530,4 +1530,13 class IssueTest < ActiveSupport::TestCase | |||
|
1530 | 1530 | def test_last_journal_id_without_journals_should_return_nil |
|
1531 | 1531 | assert_nil Issue.find(3).last_journal_id |
|
1532 | 1532 | end |
|
1533 | ||
|
1534 | def test_journals_after_should_return_journals_with_greater_id | |
|
1535 | assert_equal [Journal.find(2)], Issue.find(1).journals_after('1') | |
|
1536 | assert_equal [], Issue.find(1).journals_after('2') | |
|
1537 | end | |
|
1538 | ||
|
1539 | def test_journals_after_with_blank_arg_should_return_all_journals | |
|
1540 | assert_equal [Journal.find(1), Journal.find(2)], Issue.find(1).journals_after('') | |
|
1541 | end | |
|
1533 | 1542 | end |
General Comments 0
You need to be logged in to leave comments.
Login now