blob: 99f24418db8912468d6d6ee5d53f0c1216239250 [file] [log] [blame]
#
# A page showing all flagged reports
#
# On the meeting day, also show reports that are missing or don't have enough
# preapprovals.
class Flagged < Vue
def render
first = true
meeting_day = Minutes.started || Agenda.meeting_day
if meeting_day
_p do
_ 'Currently showing '; _span.commented 'flagged'; _ ', '
_span.missing 'missing'; _ ', and '; _span.ready 'unapproved'
_ ' reports.'
end
else
_p do
_ 'Currently only showing '; _span.commented 'flagged'
_ 'reports. Starting with the meeting day, this list will also include '
_span.missing 'missing'; _ ', and '
_span.ready 'unapproved'; _ ' reports too.'
end
end
Agenda.index.each do |item|
flagged = item.flagged_by || Pending.flagged.include?(item.attach)
if not flagged and meeting_day and item.attach =~ /^(\d+|[A-Z]+)$/
flagged = !item.skippable
end
if flagged
_h3 class: item.color do
_Link text: item.title, href: "flagged/#{item.href}",
class: ('default' if first)
first = false
_span.owner " [#{item.owner} / #{item.shepherd}]"
flagged_by = Server.directors[item.flagged_by] || item.flagged_by
_span.owner " flagged by: #{flagged_by}" if flagged_by
end
_AdditionalInfo item: item, prefix: true
end
end
_em.comment 'None' if first
end
end