Skip to content

Commit eec51c9

Browse files
committed
Merge branch 'staging' into production
2 parents 347e72b + c8ed447 commit eec51c9

25 files changed

Lines changed: 476 additions & 17 deletions

File tree

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Deploy SIT Servers
2+
3+
on:
4+
push:
5+
branches: [ staging ]
6+
workflow_dispatch:
7+
8+
jobs:
9+
deployment:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Deploy on SIT Servers
13+
uses: fjogeleit/http-request-action@master
14+
with:
15+
url: 'https://awx.bloomstack.org/api/v2/job_templates/9/launch/'
16+
method: 'POST'
17+
username: ${{ secrets.AWX_USERNAME }}
18+
password: ${{ secrets.AWX_PASSWORD }}

erpnext/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from frappe.utils import getdate
77

88
__erpnext_version__ = '12.10.1'
9-
__version__ = '2.2.0'
9+
__version__ = '2.2.1'
1010

1111
def get_default_company(user=None):
1212
'''Get default company for user'''

erpnext/accounts/print_format/sales_invoice/__init__.py

Whitespace-only changes.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"align_labels_right": 0,
3+
"creation": "2021-03-02 04:15:14.254142",
4+
"css": ".print-format div, .print-format span, .print-format td, .print-format h1, .print-format h2, .print-format h3, .print-format h4 {\n font-family: 'Lato', sans-serif\n}\n\n.text-right {\n text-align: right;\n font-weight: bold;\n}\n\n.row {\n margin-right: 0;\n margin-left: 0;\n}\n\n.col-md-6 {\n padding-left: 0;\n padding-right: 0;\n display: inline-block;\n width: 49%;\n margin-bottom: 6px;\n vertical-align: middle;\n color: #000;\n}\n\n.billing_shipping_info {\n margin-top: 30px;\n}\n\ntable {\n width: 100%;\n margin-top: 30px;\n}\n\nh2 {\n font-size: 22px;\n font-weight: 800;\n text-transform: uppercase;\n}\n\n.col-md-6 h3 {\n color: #000;\n text-transform: uppercase;\n font-size: 14px;\n margin-top: 0\n}\n\n.bill_to {\n margin-right: 20px;\n}\n\n.col-md-6 .row .col-md-6 p {\n font-size: 14px;\n font-weight: 600;\n margin: 0;\n}\n\n.col-md-6 .row .col-md-6 h3 {\n margin-bottom: 4px;\n}\n\ntable thead tr {\n color: #000;\n text-transform: uppercase;\n padding: 5px 13px;\n font-size: 14px;\n}\n\ntable tr {\n border: 1px solid gray;\n}\n\ntable td,\ntable th {\n border-right: 1px solid gray;\n}\n\ntable thead tr th:first-child {\n padding-left: 13px!important\n}",
5+
"custom_format": 1,
6+
"disabled": 0,
7+
"doc_type": "Sales Invoice",
8+
"docstatus": 0,
9+
"doctype": "Print Format",
10+
"font": "Default",
11+
"format_data": "[{\"fieldname\": \"print_heading_template\", \"fieldtype\": \"Custom HTML\", \"options\": \"\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}]",
12+
"html": "{% if doc.license %}\n{% set type = frappe.db.get_value('Compliance Info' ,doc.license, 'license_for' )%}\n{% endif %}\n<div class=\"row\">\n <div class=\"col-md-6\">\n <h2>{{doc.company}}</h2>\n <div class=\"company-address\">\n {% set links = frappe.get_all(\"Dynamic Link\", filters={\"link_doctype\": \"Company\", \"link_name\": doc.company, \"parenttype\": \"Address\"}, fields=[\"parent\"]) %}\n {% if links %}\n <p>{{ frappe.db.get_value(\"Address\", links[0].parent, \"address_line1\")}}, \n {{ frappe.db.get_value(\"Address\", links[0].parent, \"address_line2\") or \" \" }}</p>\n <p>{{ frappe.db.get_value(\"Address\", links[0].parent, \"city\") or \" \" }},\n {{ frappe.db.get_value(\"Address\", links[0].parent, \"state\") or \" \" }},\n {{ frappe.db.get_value(\"Address\", links[0].parent, \"country\") or \" \" }},\n {{ frappe.db.get_value(\"Address\", links[0].parent, \"pincode\") or \" \" }}.\n {% endif %}\n </div>\n <p class=\"license\">License: {{ frappe.db.get_value(\"Company\",doc.company , \"license\") or \" \" }}</p>\n <p class=\"phone\">Phone: {{ frappe.db.get_value(\"Address\", links[0].parent, \"phone\") or \" \" }}.</p>\n </div>\n <div class=\"col-md-6\">\n <h2 class=\"text-right\">Invoice</h2>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <h3>Invoice Number</h3>\n </div>\n <div class=\"col-md-6\">\n <p>{{doc.name}}</p>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <h3>Date</h3>\n </div>\n <div class=\"col-md-6\">\n <p>{{doc.posting_date}}</p>\n </div>\n </div>\n {% if type != \"Retailer\" %}\n <div class=\"row\">\n <div class=\"col-md-6\">\n <h3>Terms</h3>\n </div>\n <div class=\"col-md-6\">\n <p>{{doc.payment_terms_template}}</p>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <h3>Due Date</h3>\n </div>\n <div class=\"col-md-6\">\n <p>{{doc.due_date}}</p>\n </div>\n </div>\n {% endif %}\n </div>\n</div>\n {% if type != \"Retailer\" %}\n<div class=\"row billing_shipping_info\">\n <div class=\"col-md-6\">\n <h3 class=\"bill_to\">Bill To:</h3>\n <p class=\"customer\">{{doc.customer}}</p>\n <p class=\"company_address\">{{doc.address_display or ''}}</p>\n <p class=\"license\">License: {{doc.license or \"\"}}</p>\n <p class=\"license\">A/R Contact: {{doc.contact_person or \"\"}}</p>\n </div>\n <div class=\"col-md-6\">\n <h3>Ship To:</h3>\n <p class=\"customer\">{{doc.customer}}</p>\n <p class=\"comapany_address\">{{doc.shipping_address or \"\"}}</p>\n </div>\n</div>\n{% endif %}\n<div class=\"row\">\n <table>\n <thead>\n <tr>\n <th width=\"50%\">Description</th>\n <th>Quantity</th>\n <th>Unit Price</th>\n <th>Amount</th>\n </tr>\n </thead>\n <tbody>\n {% for item in doc.items %}\n <tr>\n <td>{{item.item_name or \"\"}}</td>\n <td>{{item.qty or \"0\"}}</td>\n <td>{{item.rate or \"0\"}}</td>\n <td>{{item.amount or \"0\"}}</td>\n </tr>\n {% endfor %}\n </tbody>\n </table>\n</div>\n<div class=\"row\">\n <table>\n <thead>\n <tr>\n <th width=\"50%\">Account Head</th>\n <th>Tax</th>\n <th>Rate</th>\n <th>Tax Amount</th>\n </tr>\n </thead>\n <tbody>\n {% for tax in doc.taxes %}\n <tr>\n <td>{{tax.account_head or ''}}</td>\n <td>{{tax.description or ''}}</td>\n <td>{{tax.rate or ''}}</td>\n <td>{{tax.tax_amount or ''}}</td>\n </tr>\n {% endfor %}\n </tbody>\n </table>\n</div>\n<div class=\"row\">\n <table>\n <tbody>\n {% if type != \"Retailer\" %}\n <tr>\n <td colspan=\"3\" class=\"text-right\">Subtotal</td>\n <td class=\"text-right\">{{doc.total}}</td>\n </tr>\n {% endif %}\n <tr>\n <td colspan=\"3\" class=\"text-right\">Discount</td>\n <td class=\"text-right\">{{doc.discount_amount}}</td>\n </tr>\n {% if type != \"Retailer\" %}\n <tr>\n <td colspan=\"3\" class=\"text-right\">Net Total</td>\n <td class=\"text-right\">{{doc.net_total}}</td>\n </tr>\n {% endif %}\n <tr>\n <td colspan=\"3\" class=\"text-right\">Taxes Charged</td>\n <td class=\"text-right\">{{doc.total_taxes_and_charges}}</td>\n </tr>\n <tr>\n <td colspan=\"3\" class=\"text-right\">Grand Total</td>\n <td class=\"text-right\">{{doc.grand_total}}</td>\n </tr>\n <tr>\n <td colspan=\"3\" class=\"text-right\">Mode of Payment</td>\n {% set mode_of_payment = frappe.get_all(\"Payment Entry\",{\"reference_name\": doc.name},\"mode_of_payment\") %}\n <td class=\"text-right\">\n {% for m in mode_of_payment %}\n {{m.mode_of_payment}}\n {% endfor%}\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n",
13+
"idx": 0,
14+
"line_breaks": 0,
15+
"modified": "2021-05-06 00:18:12.444557",
16+
"modified_by": "Administrator",
17+
"module": "Accounts",
18+
"name": "Sales Invoice",
19+
"owner": "Administrator",
20+
"parent": "Sales Invoice",
21+
"print_format_builder": 1,
22+
"print_format_type": "Jinja",
23+
"raw_printing": 0,
24+
"show_section_headings": 0,
25+
"standard": "Yes"
26+
}

erpnext/compliance/doctype/waste_disposal/waste_disposal.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,12 @@ frappe.ui.form.on("Waste Disposal", {
5757
});
5858
},
5959

60+
s_warehouse: function(frm) {
61+
for (let row of frm.doc.items) {
62+
frappe.model.set_value(row.doctype, row.name, "warehouse", frm.doc.s_warehouse);
63+
}
64+
},
65+
6066
get_items: function (frm) {
6167
frappe.prompt({
6268
label: "Warehouse",

erpnext/erpnext_integrations/doctype/flowkana_settings/flowkana_settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import requests
99
import json
1010
from six import text_type
11+
from frappe import _
1112
from frappe.model.document import Document
1213

1314
class FlowkanaSettings(Document):

erpnext/erpnext_integrations/doctype/leaflink_settings/__init__.py

Whitespace-only changes.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
2+
// For license information, please see license.txt
3+
4+
frappe.ui.form.on('LeafLink Settings', {
5+
// refresh: function(frm) {
6+
7+
// }
8+
});
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
{
2+
"creation": "2021-04-12 17:03:28.589509",
3+
"doctype": "DocType",
4+
"editable_grid": 1,
5+
"engine": "InnoDB",
6+
"field_order": [
7+
"enable_leaflink",
8+
"leaflink_configurations_section",
9+
"leaflink_id",
10+
"api_key",
11+
"api_value",
12+
"legacy_api_key",
13+
"incoming_api_authentication_key",
14+
"column_break_7",
15+
"base_url",
16+
"orders_url",
17+
"products_url",
18+
"customers_url",
19+
"default_customer_group",
20+
"default_customer_territory"
21+
],
22+
"fields": [
23+
{
24+
"fieldname": "api_key",
25+
"fieldtype": "Data",
26+
"label": "API Key"
27+
},
28+
{
29+
"fieldname": "api_value",
30+
"fieldtype": "Data",
31+
"label": "API Value"
32+
},
33+
{
34+
"default": "0",
35+
"fieldname": "enable_leaflink",
36+
"fieldtype": "Check",
37+
"label": "Enable LeafLink"
38+
},
39+
{
40+
"fieldname": "orders_url",
41+
"fieldtype": "Data",
42+
"label": "Orders URL"
43+
},
44+
{
45+
"fieldname": "products_url",
46+
"fieldtype": "Data",
47+
"label": "Products URL"
48+
},
49+
{
50+
"fieldname": "customers_url",
51+
"fieldtype": "Data",
52+
"label": "Customers URL"
53+
},
54+
{
55+
"fieldname": "column_break_7",
56+
"fieldtype": "Column Break"
57+
},
58+
{
59+
"fieldname": "default_customer_group",
60+
"fieldtype": "Link",
61+
"label": "Default Customer Group",
62+
"options": "Customer Group"
63+
},
64+
{
65+
"fieldname": "default_customer_territory",
66+
"fieldtype": "Link",
67+
"label": "Default Customer Territory",
68+
"options": "Territory"
69+
},
70+
{
71+
"fieldname": "incoming_api_authentication_key",
72+
"fieldtype": "Data",
73+
"label": "Incoming API Authentication Key"
74+
},
75+
{
76+
"depends_on": "eval:doc.enable_leaflink==1",
77+
"fieldname": "leaflink_id",
78+
"fieldtype": "Int",
79+
"label": "LeafLink ID"
80+
},
81+
{
82+
"collapsible": 1,
83+
"collapsible_depends_on": "eval:doc.enable_leaflink==1",
84+
"fieldname": "leaflink_configurations_section",
85+
"fieldtype": "Section Break",
86+
"in_standard_filter": 1,
87+
"label": "LeafLink Configurations"
88+
},
89+
{
90+
"fieldname": "base_url",
91+
"fieldtype": "Data",
92+
"label": "Base URL"
93+
},
94+
{
95+
"fieldname": "legacy_api_key",
96+
"fieldtype": "Data",
97+
"label": "Legacy API Key"
98+
}
99+
],
100+
"issingle": 1,
101+
"modified": "2021-05-10 01:30:12.918710",
102+
"modified_by": "Administrator",
103+
"module": "ERPNext Integrations",
104+
"name": "LeafLink Settings",
105+
"owner": "Administrator",
106+
"permissions": [
107+
{
108+
"create": 1,
109+
"delete": 1,
110+
"email": 1,
111+
"print": 1,
112+
"read": 1,
113+
"role": "System Manager",
114+
"share": 1,
115+
"write": 1
116+
}
117+
],
118+
"quick_entry": 1,
119+
"sort_field": "modified",
120+
"sort_order": "DESC",
121+
"track_changes": 1
122+
}

0 commit comments

Comments
 (0)