forked from lightward/mechanic-tasks
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.liquid
76 lines (62 loc) · 2.69 KB
/
script.liquid
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{% assign orders = shop.orders.any %}
{% assign order_constraint_texts = array %}
{% if options.only_include_open_orders__boolean %}
{% assign orders = orders.open %}
{% assign order_constraint_texts[order_constraint_texts.size] = "open" %}
{% endif %}
{% if options.only_include_fully_paid_orders__boolean %}
{% assign orders = orders.paid %}
{% assign order_constraint_texts[order_constraint_texts.size] = "fully paid" %}
{% endif %}
{% if options.only_include_fully_unfulfilled_orders__boolean %}
{% assign orders = orders.unshipped %}
{% assign order_constraint_texts[order_constraint_texts.size] = "fully unshipped" %}
{% endif %}
{% assign quantities_by_line_item = hash %}
{% assign line_items = array %}
{% for order in orders %}
{% for line_item in order.line_items %}
{% if line_item.product_exists %}
{% if options.count_quantities_by_variant_instead_of_by_product__boolean %}
{% capture line_item_key %}<a href="https://{{ shop.domain }}/admin/products/{{ line_item.product.id }}/variants/{{ line_item.variant.id }}">{{ line_item.name }}</a>{% endcapture %}
{% else %}
{% capture line_item_key %}<a href="https://{{ shop.domain }}/admin/products/{{ line_item.product.id }}">{{ line_item.product.title }}</a>{% endcapture %}
{% endif %}
{% else %}
{% assign line_item_key = line_item.title %}
{% endif %}
{% assign quantities_by_line_item[line_item_key] = quantities_by_line_item[line_item_key] | default: 0 | plus: line_item.quantity %}
{% assign line_items[line_items.size] = line_item_key %}
{% endfor %}
{% endfor %}
{% assign line_items = line_items | uniq | sort %}
{% assign list_items = array %}
{% for line_item in line_items %}
{% capture list_item %}<li>{{ line_item }}: {{ quantities_by_line_item[line_item] }}</li>{% endcapture %}
{% assign list_items[list_items.size] = list_item %}
{% endfor %}
{% if event.preview %}
{% assign list_items[0] = "<li>Alpha: 5</li>" %}
{% assign list_items[1] = "<li>Beta: 6</li>" %}
{% assign list_items[2] = "<li>Gamma: 7</li>" %}
{% assign list_items[3] = "<li>Delta: 8</li>" %}
{% endif %}
{% capture email_body %}
Hi there,
These are the products and ordered quantities, for all {{ order_constraint_texts | join: ", " }} orders:
{{ list_items | join: "" }}
Thanks,
Mechanic (for {{ shop.name }})
{% endcapture %}
{
"action": {
"type": "email",
"options": {
"to": {{ options.email_recipient__email_required | json }},
"subject": {{ options.email_subject__required | json }},
"body": {{ email_body | unindent | newline_to_br | json }},
"reply_to": {{ shop.customer_email | json }},
"from_display_name": {{ shop.name | json }}
}
}
}