69 lines
2.1 KiB
JavaScript
69 lines
2.1 KiB
JavaScript
// License: LGPL-3.0-or-later
|
|
|
|
appl.def('timeline.make_clickable', function(node){
|
|
var card = appl.prev_elem(node)
|
|
card.setAttribute('clickable', '')
|
|
})
|
|
|
|
appl.def('timeline.show_email', function(email, date) {
|
|
email.date = date
|
|
set_readonly_email(email)
|
|
appl.open_modal('emailReadOnlyModal')
|
|
})
|
|
|
|
appl.def('timeline.show_note', function(note, date) {
|
|
appl.def('current_note', {
|
|
date: date,
|
|
content: note.content,
|
|
id: note.id,
|
|
is_editing: false
|
|
})
|
|
appl.open_modal('noteModal')
|
|
})
|
|
|
|
function set_readonly_email(email) {
|
|
appl.def('timeline.displaying_email', {
|
|
body: email.body.replace(/{{NAME}}/g, appl.supporter_details.data.name_email_or_id),
|
|
subject: email.subject,
|
|
date: email.date
|
|
})
|
|
}
|
|
|
|
|
|
appl.def('ajax_supporter_notes', {
|
|
create: function(form_obj, node) {
|
|
appl.is_loading()
|
|
appl.ajax.create('supporter_details.supporter_notes', form_obj).then(function(resp) {
|
|
appl.not_loading()
|
|
if(!resp.ok) return appl.notify("Sorry! Unable to post note: " + resp.body)
|
|
appl.def('timeline_action', null)
|
|
appl.ajax.index('supporter_details.activities')
|
|
appl.notify("Note added")
|
|
node.parentNode.reset()
|
|
})
|
|
},
|
|
update: function(form_obj) {
|
|
appl.is_loading()
|
|
appl.ajax.update('supporter_details.supporter_notes', form_obj['id'], form_obj).then(function(resp) {
|
|
appl.not_loading()
|
|
if(!resp.ok) return appl.notify("Sorry! Unable to update note: " + resp.body)
|
|
appl.ajax.index('supporter_details.activities')
|
|
appl.notify("Note updated")
|
|
})
|
|
},
|
|
delete: function(id) {
|
|
appl.is_loading()
|
|
appl.close_modal()
|
|
appl.ajax.del('supporter_details.supporter_notes', id).then(function(resp) {
|
|
appl.not_loading()
|
|
if(!resp.ok) return appl.notify("Sorry! Unable to delete note: " + resp.body)
|
|
appl.ajax.index('supporter_details.activities')
|
|
appl.notify("Note deleted")
|
|
})
|
|
}
|
|
})
|
|
|
|
appl.def('get_donation_url', function(donation) {
|
|
var search_id = (donation && donation.payment && donation.payment.id) ? ('?pid=' + donation.payment.id) : ('?sid=' + appl.supporter_details.id)
|
|
return "/nonprofits/" + app.nonprofit_id + "/payments" + search_id
|
|
})
|