diff --git a/app/models/issue.rb b/app/models/issue.rb index f8837cb6e..550e0dc5d 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -1163,8 +1163,11 @@ class Issue < ActiveRecord::Base else issue_index = 1 self.project.issues.each do |issue| - if self.id > issue.id - ++issue_index + if self.id == nil + issue_index = self.project.issues.count +1 + break + elsif self.id > issue.id + issue_index = issue_index+1 end end issue_index.to_s diff --git a/app/models/mailer.rb b/app/models/mailer.rb index 25d592a24..ef4996eac 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -119,8 +119,9 @@ class Mailer < ActionMailer::Base # Mailer.issue_edit(journal).deliver => sends an email to issue recipients def issue_edit(journal) issue = journal.journalized.reload + issue_id = issue.project_index redmine_headers 'Project' => issue.project.identifier, - 'Issue-Id' => (issue.project.issues.index(issue).to_i + 1).to_s, + 'Issue-Id' => issue_id.to_s, 'Issue-Author' => issue.author.login redmine_headers 'Issue-Assignee' => issue.assigned_to.login if issue.assigned_to message_id journal @@ -129,7 +130,7 @@ class Mailer < ActionMailer::Base recipients = journal.recipients # Watchers in cc cc = journal.watcher_recipients - recipients - s = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] " + s = "[#{issue.project.name} - #{issue.tracker.name} ##{issue_id}] " s << "(#{issue.status.name}) " if journal.new_value_for('status_id') s << issue.subject @issue = issue diff --git a/app/views/mailer/issue_edit.html.erb b/app/views/mailer/issue_edit.html.erb index 720cfea69..be7076cb6 100644 --- a/app/views/mailer/issue_edit.html.erb +++ b/app/views/mailer/issue_edit.html.erb @@ -1,4 +1,4 @@ -<%= l(:text_issue_updated, :id => "##{@issue.id}", :author => h(@journal.user)) %> +<%= l(:text_issue_updated, :id => "##{@issue.project_index}", :author => h(@journal.user)) %>