in www/board/agenda/views/models/agenda.js.rb [497:567]
def buttons
list = []
unless (@attach !~ /^\d+$/ and @comments === undefined) or Minutes.complete
if self.pending
list << {form: AddComment, text: 'edit comment'}
else
list << {form: AddComment, text: 'add comment'}
end
end
list << {button: Attend} if @title == 'Roll Call'
if @attach =~ /^(\d+|7?[A-Z]+|4[A-Z]|8[.A-Z])$/
if User.role == :secretary or not Minutes.complete
unless Minutes.draft_posted
if @attach =~ /^8[.A-Z]/
if @attach =~ /^8[A-Z]/
list << {form: Post, text: 'edit item'}
elsif not text or @text.strip().empty?
list << {form: Post, text: 'post item'}
else
list << {form: Post, text: 'edit items'}
end
elsif self.missing
list << {form: Post, text: 'post report'}
elsif @attach =~ /^7\w/
list << {form: Post, text: 'edit resolution'}
else
list << {form: Post, text: 'edit report'}
end
end
end
end
if User.role == :director
unless self.missing or @comments === undefined or Minutes.complete
list << {button: Approve} if @attach =~ /^(3[A-Z]|\d+|[A-Z]+)$/
end
elsif User.role == :secretary
unless Minutes.draft_posted
if @attach =~ /^7\w/
list << {form: Vote}
elsif Minutes.get(@title)
list << {form: AddMinutes, text: 'edit minutes'}
elsif ['Call to order', 'Adjournment'].include? @title
list << {button: Timestamp}
else
list << {form: AddMinutes, text: 'add minutes'}
end
end
if @attach =~ /^3\w/
if
Minutes.get(@title) == 'approved' and
Server.drafts.include? @text[/board_minutes_\w+\.txt/]
then
list << {form: PublishMinutes}
end
elsif @title == 'Adjournment'
if Minutes.ready_to_post_draft
list << {form: DraftMinutes}
end
end
end
list
end