in SampleIntegrations/SampleBots/NodeJS/ExpenseBot/app.js [561:607]
function claimToElement(claim, viewerId) {
var subtitle = 'Amount: ' + claim.amount +
'\nStatus: ' + claim.status;
if(claim.submitterName)
subtitle += '\nSender: ' + claim.submitterName;
if(claim.approverName)
subtitle += '\nApprover: ' + claim.approverName;
var element = {
title: claim.comment,
subtitle: subtitle,
image_url: claim.receipt
};
var buttons = [];
if(claim.status == 'unapproved' && claim.approver == viewerId) {
buttons.push({
type: 'postback',
title: '✔︎ Approve',
payload: 'APPROVE_CLAIM:' + claim.id
});
buttons.push({
type: 'postback',
title: '✘ Reject',
payload: 'REJECT_CLAIM:' + claim.id
});
}
if(claim.status == 'unsubmitted' && claim.submitter == viewerId) {
buttons.push({
type: 'postback',
title: '✔︎ Submit',
payload: 'SUBMIT_CLAIM:' + claim.id
});
buttons.push({
type: 'postback',
title: '✎ Edit',
payload: 'EDIT_CLAIM:' + claim.id
});
buttons.push({
type: 'postback',
title: '✘ Delete',
payload: 'DELETE_CLAIM:' + claim.id
});
}
if( buttons.length > 0 ) element.buttons = buttons;
return element;
}