@@ -172,12 +172,7 class IssuesController < ApplicationController | |||||
172 | rescue ActiveRecord::StaleObjectError |
|
172 | rescue ActiveRecord::StaleObjectError | |
173 | @conflict = true |
|
173 | @conflict = true | |
174 | if params[:last_journal_id] |
|
174 | if params[:last_journal_id] | |
175 | if params[:last_journal_id].present? |
|
175 | @conflict_journals = @issue.journals_after(params[:last_journal_id]).all | |
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 |
|
|||
181 | end |
|
176 | end | |
182 | end |
|
177 | end | |
183 |
|
178 |
@@ -587,6 +587,15 class Issue < ActiveRecord::Base | |||||
587 | end |
|
587 | end | |
588 | end |
|
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 | # Return true if the issue is closed, otherwise false |
|
599 | # Return true if the issue is closed, otherwise false | |
591 | def closed? |
|
600 | def closed? | |
592 | self.status.is_closed? |
|
601 | self.status.is_closed? |
@@ -1530,4 +1530,13 class IssueTest < ActiveSupport::TestCase | |||||
1530 | def test_last_journal_id_without_journals_should_return_nil |
|
1530 | def test_last_journal_id_without_journals_should_return_nil | |
1531 | assert_nil Issue.find(3).last_journal_id |
|
1531 | assert_nil Issue.find(3).last_journal_id | |
1532 | end |
|
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 | end |
|
1542 | end |
General Comments 0
You need to be logged in to leave comments.
Login now