in www/board/agenda/views/models/pending.js.rb [221:282]
def self.update(request, data, &block)
if Server.offline
Pending.dbget do |pending|
if request == 'comment'
pending.comment ||= {}
pending.comment[data.attach] = data.comment
Server.pending.comments[data.attach] = data.comment
elsif request == 'approve'
if data.request.include? 'approve'
pending.approve ||= {}
pending.approve[data.attach] = data.request
elsif data.request.include? 'flag'
pending.flag ||= {}
pending.flag[data.attach] = data.request
end
if data.request == 'approve'
index = Server.pending.unapproved.indexOf(Server.pending.attach)
Server.pending.unapproved.splice(index, 1) if index != -1
unless Server.pending.approved.include? data.attach
Server.pending.approved << data.attach
end
elsif data.request == 'unapprove'
index = Server.pending.approved.indexOf(data.attach)
Server.pending.approved.splice(index, 1) if index != -1
unless Server.pending.unapproved.include? data.attach
Server.pending.unapproved << data.attach
end
elsif data.request == 'flag'
index = Server.pending.unflagged.indexOf(Server.pending.attach)
Server.pending.unflagged.splice(index, 1) if index != -1
unless Server.pending.flagged.include? data.attach
Server.pending.flagged << data.attach
end
elsif data.request == 'unflag'
index = Server.pending.flagged.indexOf(data.attach)
Server.pending.flagged.splice(index, 1) if index != -1
unless Server.pending.unflagged.include? data.attach
Server.pending.unflagged << data.attach
end
end
end
Pending.dbput pending
if block
block(Server.pending)
Events.broadcast type: 'pending', value: Server.pending
end
end
else
post request, data do |pending|
block(pending)
Pending.load(pending)
end
end
end