Skip to content

Instantly share code, notes, and snippets.

@bourroush
Created March 18, 2014 14:14
Show Gist options
  • Save bourroush/9620890 to your computer and use it in GitHub Desktop.
Save bourroush/9620890 to your computer and use it in GitHub Desktop.
var to = payload.order.email;
var params = payload.parameters;
var email = {};
var template = null;
for (var i = 0; i < payload.parameters.length; i++) {
if (payload.parameters[i].name === 'mandrill.order_confirmation.template') {
template = payload.parameters[i].value;
}
}
var from = null;
for (var i = 0; i < payload.parameters.length; i++) {
if (payload.parameters[i].name === 'mandrill.order_confirmation.from') {
from = payload.parameters[i].value;
}
}
var subject = null;
for (var i = 0; i < payload.parameters.length; i++) {
if (payload.parameters[i].name === 'mandrill.order_confirmation.subject') {
subject = payload.parameters[i].value;
}
}
var variables = {};
variables.order_number = payload.order.number;
variables.shipping_address_first_name = payload.order.shipping_address.firstname;
variables.shipping_address_last_name = payload.order.shipping_address.lastname;
variables.shipping_address_company = '';
variables.shipping_address_address1 = payload.order.shipping_address.address1;
variables.shipping_address_address2 = payload.order.shipping_address.address2;
variables.shipping_address_city = payload.order.shipping_address.city;
variables.shipping_address_state = payload.order.shipping_address.state;
variables.shipping_address_country = payload.order.shipping_address.country;
variables.shipping_address_zipcode = payload.order.shipping_address.zipcode;
variables.billing_address_first_name = payload.order.billing_address.firstname;
variables.billing_address_last_name = payload.order.billing_address.lastname;
variables.billing_address_company = '';
variables.billing_address_address1 = payload.order.billing_address.address1;
variables.billing_address_address2 = payload.order.billing_address.address2;
variables.billing_address_city = payload.order.billing_address.city;
variables.billing_address_state = payload.order.billing_address.state;
variables.billing_address_country = payload.order.billing_address.country;
variables.billing_address_zipcode = payload.order.billing_address.zipcode;
variables.adjustment_shipping = Number(payload.order.totals.shipping).toFixed(2);
variables.item_total = Number(payload.order.totals.item).toFixed(2);
variables.total = Number(payload.order.totals.order).toFixed(2);
variables.backordered = false;
var line_item_rows = '';
for (var i = 0; i < payload.order.line_items.length; i++) {
var item = payload.order.line_items[i];
line_item_rows += '<tr><td>' + item.name + '</td>\
<td>' + item.quantity + '</td>\
<td>$' + Number(item.price).toFixed(2) + '</td></tr>';
var original_line_item = null;
for (var x = 0; x < payload.original.line_items.length; x++) {
if (payload.original.line_items[x].variant_id === item.variant_id) {
original_line_item = payload.original.line_items[x];
}
}
//gift card recipient
if(original_line_item.gift_card_recipient!==null){
line_item_rows += '<tr><td colspan="3">&nbsp;&nbsp;Recipient: ' +
original_line_item.gift_card_recipient + '</td></tr>';
variables.gift_card_recipient = gift_card_recipient;
}
//subscription description
if(original_line_item.description!==''){
line_item_rows += '<tr><td colspan="3">&nbsp;&nbsp;' +
original_line_item.description + '</td></tr>';
}
}
variables.line_item_rows = line_item_rows;
email.from = from;
email.to = to;
email.subject = subject;
email.template = template;
email.variables = variables;
payload = { email: email, parameters: params };
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment