// License: LGPL-3.0-or-later var request = require('../../common/client') var R = require('ramda') appl.def('discounts.url', '/nonprofits/' + app.nonprofit_id + '/events/' + appl.event_id + '/event_discounts') appl.def('discounts.index', function(){ request.get(appl.discounts.url).end(function(err, resp) { appl.def('discounts.data', resp.body || []) }) }) appl.discounts.index() appl.def('discounts.apply', function(node){ var code = appl.prev_elem(node).value var codes = R.pluck('code', appl.discounts.data) if (!R.contains(code, codes)) { appl.def('ticket_wiz.discounted_total_amount', false) return } var discount_obj = R.find(R.propEq('code', code), appl.discounts.data) var discount_mult = Number(discount_obj.percent) / 100 var ticket_price = appl.ticket_wiz.total_amount var discounted_ticket_price = ticket_price - Math.round(ticket_price * discount_mult) if(discounted_ticket_price === 0){ appl.def('ticket_wiz.post_data.kind', 'free') } appl.notify('Discount successfully applied') appl.def('ticket_wiz.discounted_total_amount', discounted_ticket_price) appl.def('ticket_wiz.post_data.event_discount_id', discount_obj.id) }) if(app.current_event_editor) { require('./manage') }