📑
Redmineのバージョンのソート順
Redmine 5.0の場合は次の通り。
- 期日が早いものが先。もし期日が空であれば後
- 期日が同じであれば名称で並べ替え。名称が同じであれば versions テーブルの主キーである id で並べ替え
チケット一覧で対象バージョン順にソートしたときに意図通りの順序にならない場合は期日がどのように設定されているか確認する。
app/models/version.rb:
# Versions are sorted by effective_date and name
# Those with no effective_date are at the end, sorted by name
def <=>(version)
if self.effective_date
if version.effective_date
if self.effective_date == version.effective_date
name == version.name ? id <=> version.id : name <=> version.name
else
self.effective_date <=> version.effective_date
end
else
-1
end
else
if version.effective_date
1
else
name == version.name ? id <=> version.id : name <=> version.name
end
end
end
Discussion