Excluded officer shift dates from each task date range
This commit is contained in:
@@ -1,15 +1,15 @@
|
|||||||
module ShiftsHelper
|
module ShiftsHelper
|
||||||
|
|
||||||
def shift_vote_collection_dates(polls)
|
def shift_vote_collection_dates(polls)
|
||||||
date_options((start_date(polls)..end_date(polls)))
|
date_options((start_date(polls)..end_date(polls)), 0)
|
||||||
end
|
end
|
||||||
|
|
||||||
def shift_recount_scrutiny_dates(polls)
|
def shift_recount_scrutiny_dates(polls)
|
||||||
date_options(polls.map(&:ends_at).map(&:to_date).sort.inject([]) { |total, date| total << (date..date + 1.week).to_a }.flatten.uniq)
|
date_options(polls.map(&:ends_at).map(&:to_date).sort.inject([]) { |total, date| total << (date..date + 1.week).to_a }.flatten.uniq, 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
def date_options(dates)
|
def date_options(dates, task_id)
|
||||||
dates.map { |date| [l(date, format: :long), l(date)] }
|
dates.reject { |date| officer_shifts(task_id).include?(date) }.map { |date| [l(date, format: :long), l(date)] }
|
||||||
end
|
end
|
||||||
|
|
||||||
def start_date(polls)
|
def start_date(polls)
|
||||||
@@ -24,4 +24,9 @@ module ShiftsHelper
|
|||||||
officers.collect { |officer| [officer.name, officer.id] }
|
officers.collect { |officer| [officer.name, officer.id] }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def officer_shifts(task_id)
|
||||||
|
@officer.shifts.where(task: task_id).map(&:date)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user