diff options
Diffstat (limited to 'app/models/timelog.rb')
-rw-r--r-- | app/models/timelog.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/app/models/timelog.rb b/app/models/timelog.rb index 7c394736560..07c61f64f29 100644 --- a/app/models/timelog.rb +++ b/app/models/timelog.rb @@ -35,10 +35,21 @@ class Timelog < ApplicationRecord where('spent_at <= ?', end_time) end + scope :order_scope_asc, ->(field) { order(arel_table[field].asc.nulls_last) } + scope :order_scope_desc, ->(field) { order(arel_table[field].desc.nulls_last) } + def issuable issue || merge_request end + def self.sort_by_field(field, direction) + if direction == :asc + order_scope_asc(field) + else + order_scope_desc(field) + end + end + private def issuable_id_is_present |