diff --git a/README.md b/README.md
index f4a08be548a..8c13e1ed884 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ Includes: Accounting, Inventory, Manufacturing, CRM, Sales, Purchase, Project Ma
ERPNext is built on the [Frappe](https://github.com/frappe/frappe) Framework, a full-stack web app framework in Python & JavaScript.
-- [User Guide](https://erpnext.org/docs/user)
+- [User Guide](https://erpnext.com/docs/user)
- [Discussion Forum](https://discuss.erpnext.com/)
---
diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py b/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
index 9b812a8b56e..bcb163fc198 100644
--- a/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
@@ -1,5 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe, os, json
diff --git a/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py b/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py
index bf1e967bdbc..014cf45e518 100644
--- a/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py
+++ b/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import unittest
import frappe
diff --git a/erpnext/accounts/doctype/cash_flow_mapper/default_cash_flow_mapper.py b/erpnext/accounts/doctype/cash_flow_mapper/default_cash_flow_mapper.py
index 6e7b687c04d..43ebcb0cac9 100644
--- a/erpnext/accounts/doctype/cash_flow_mapper/default_cash_flow_mapper.py
+++ b/erpnext/accounts/doctype/cash_flow_mapper/default_cash_flow_mapper.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
DEFAULT_MAPPERS = [
{
'doctype': 'Cash Flow Mapper',
diff --git a/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py b/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py
index 834d105d697..efbf4eb105f 100644
--- a/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py
+++ b/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
# See license.txt
+from __future__ import unicode_literals
import frappe
import unittest
diff --git a/erpnext/accounts/doctype/payment_order/payment_order_dashboard.py b/erpnext/accounts/doctype/payment_order/payment_order_dashboard.py
index 80ac69fe8e4..6b93f926cdf 100644
--- a/erpnext/accounts/doctype/payment_order/payment_order_dashboard.py
+++ b/erpnext/accounts/doctype/payment_order/payment_order_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py
index f101b6aa7ea..173939df008 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/accounts/doctype/sales_invoice/pos.py b/erpnext/accounts/doctype/sales_invoice/pos.py
index 40ca73612fc..3e013f5d6b3 100755
--- a/erpnext/accounts/doctype/sales_invoice/pos.py
+++ b/erpnext/accounts/doctype/sales_invoice/pos.py
@@ -1,7 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
-
-
+from __future__ import unicode_literals
import json
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
index 91a44b377df..8911ddf4645 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
@@ -217,6 +217,9 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte
this.get_terms();
},
customer: function() {
+ if (this.frm.doc.is_pos){
+ var pos_profile = this.frm.doc.pos_profile;
+ }
var me = this;
if(this.frm.updating_party_details) return;
erpnext.utils.get_party_details(this.frm,
@@ -226,6 +229,7 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte
party_type: "Customer",
account: this.frm.doc.debit_to,
price_list: this.frm.doc.selling_price_list,
+ pos_profile: pos_profile
}, function() {
me.apply_pricing_rule();
});
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index 6072fb895cd..895ca07da2f 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -398,11 +398,16 @@ class SalesInvoice(SellingController):
self.account_for_change_amount = pos.get('account_for_change_amount')
for fieldname in ('territory', 'naming_series', 'currency', 'taxes_and_charges', 'letter_head', 'tc_name',
- 'selling_price_list', 'company', 'select_print_heading', 'cash_bank_account', 'company_address',
+ 'company', 'select_print_heading', 'cash_bank_account', 'company_address',
'write_off_account', 'write_off_cost_center', 'apply_discount_on'):
if (not for_validate) or (for_validate and not self.get(fieldname)):
self.set(fieldname, pos.get(fieldname))
+ customer_price_list = frappe.get_value("Customer", self.customer, 'default_price_list')
+
+ if not customer_price_list:
+ self.set('selling_price_list', pos.get('selling_price_list'))
+
if not for_validate:
self.update_stock = cint(pos.get("update_stock"))
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py
index 71fce776950..28da8156550 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index 1e1f8b5b830..5855ac3bcd5 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -22,18 +22,20 @@ class DuplicatePartyAccountError(frappe.ValidationError): pass
@frappe.whitelist()
def get_party_details(party=None, account=None, party_type="Customer", company=None, posting_date=None,
- bill_date=None, price_list=None, currency=None, doctype=None, ignore_permissions=False, fetch_payment_terms_template=True, party_address=None, shipping_address=None):
+ bill_date=None, price_list=None, currency=None, doctype=None, ignore_permissions=False, fetch_payment_terms_template=True,
+ party_address=None, shipping_address=None, pos_profile=None):
if not party:
return {}
if not frappe.db.exists(party_type, party):
frappe.throw(_("{0}: {1} does not exists").format(party_type, party))
return _get_party_details(party, account, party_type,
- company, posting_date, bill_date, price_list, currency, doctype, ignore_permissions, fetch_payment_terms_template, party_address, shipping_address)
+ company, posting_date, bill_date, price_list, currency, doctype, ignore_permissions,
+ fetch_payment_terms_template, party_address, shipping_address, pos_profile)
def _get_party_details(party=None, account=None, party_type="Customer", company=None, posting_date=None,
bill_date=None, price_list=None, currency=None, doctype=None, ignore_permissions=False,
- fetch_payment_terms_template=True, party_address=None, shipping_address=None):
+ fetch_payment_terms_template=True, party_address=None, shipping_address=None, pos_profile=None):
out = frappe._dict(set_account_and_due_date(party, account, party_type, company, posting_date, bill_date, doctype))
party = out[party_type.lower()]
@@ -49,7 +51,7 @@ def _get_party_details(party=None, account=None, party_type="Customer", company=
set_address_details(out, party, party_type, doctype, company, party_address, shipping_address)
set_contact_details(out, party, party_type)
set_other_values(out, party, party_type)
- set_price_list(out, party, party_type, price_list)
+ set_price_list(out, party, party_type, price_list, pos_profile)
out["taxes_and_charges"] = set_taxes(party.name, party_type, posting_date, company, out.customer_group, out.supplier_type)
@@ -149,12 +151,20 @@ def get_default_price_list(party):
return None
-def set_price_list(out, party, party_type, given_price_list):
+def set_price_list(out, party, party_type, given_price_list, pos=None):
# price list
price_list = get_permitted_documents('Price List')
if price_list:
price_list = price_list[0]
+ elif pos and party_type == 'Customer':
+ customer_price_list = frappe.get_value('Customer', party.name, 'default_price_list')
+
+ if customer_price_list:
+ price_list = customer_price_list
+ else:
+ pos_price_list = frappe.get_value('POS Profile', pos, 'selling_price_list')
+ price_list = pos_price_list or given_price_list
else:
price_list = get_default_price_list(party) or given_price_list
diff --git a/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py
index f911eaa5c14..43786a44464 100644
--- a/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py
+++ b/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
import frappe.defaults
import unittest
diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
index cc21d3427d3..73ca8b48ef5 100644
--- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
+++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
@@ -190,7 +190,7 @@ class AccountsReceivableSummary(ReceivablePayableReport):
def get_voucherwise_data(self, party_naming_by, args):
voucherwise_data = ReceivablePayableReport(self.filters).run(args)[1]
- cols = ["posting_date", "party", "customer-contact"]
+ cols = ["posting_date", "party"]
if party_naming_by == "Naming Series":
cols += ["party_name"]
diff --git a/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py b/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py
index b19f6306b73..2e805f8d3f5 100644
--- a/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py
+++ b/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
from frappe.utils import flt
diff --git a/erpnext/accounts/report/utils.py b/erpnext/accounts/report/utils.py
index e33bd832afb..a8ae94f8799 100644
--- a/erpnext/accounts/report/utils.py
+++ b/erpnext/accounts/report/utils.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext import get_company_currency, get_default_company
from erpnext.setup.utils import get_exchange_rate
diff --git a/erpnext/accounts/test/test_utils.py b/erpnext/accounts/test/test_utils.py
index 0fca470fe5e..628c8ce6463 100644
--- a/erpnext/accounts/test/test_utils.py
+++ b/erpnext/accounts/test/test_utils.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import unittest
from erpnext.accounts.party import get_party_shipping_address
from frappe.test_runner import make_test_objects
diff --git a/erpnext/agriculture/doctype/crop/crop_dashboard.py b/erpnext/agriculture/doctype/crop/crop_dashboard.py
index 715f92b6ebb..9a8f26fe90c 100644
--- a/erpnext/agriculture/doctype/crop/crop_dashboard.py
+++ b/erpnext/agriculture/doctype/crop/crop_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/assets/doctype/asset/asset_dashboard.py b/erpnext/assets/doctype/asset/asset_dashboard.py
index 89699f3edbd..b48989923e2 100644
--- a/erpnext/assets/doctype/asset/asset_dashboard.py
+++ b/erpnext/assets/doctype/asset/asset_dashboard.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
def get_data():
return {
'fieldname': 'asset_name',
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py b/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py
index cce4b2747be..ab514dac308 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py b/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py
index 95825230016..6efbc782252 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/buying/doctype/supplier/supplier_dashboard.py b/erpnext/buying/doctype/supplier/supplier_dashboard.py
index f971776948f..aea1e2d38c0 100644
--- a/erpnext/buying/doctype/supplier/supplier_dashboard.py
+++ b/erpnext/buying/doctype/supplier/supplier_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py
index 0387437b329..6b40305e01f 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard_dashboard.py b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard_dashboard.py
index ff7f119253d..3d2305e2853 100644
--- a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard_dashboard.py
+++ b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/change_log/v6/v6_13_1.md b/erpnext/change_log/v6/v6_13_1.md
index 4b2c4a9cca2..d5a930e3b96 100644
--- a/erpnext/change_log/v6/v6_13_1.md
+++ b/erpnext/change_log/v6/v6_13_1.md
@@ -1 +1 @@
-- [ERPNext Manual in German](http://erpnext.org/docs/user/manual/de/) contributed by [CWT Connector & Wire Technology GmbH](http://www.cwt-assembly.com/)
+- [ERPNext Manual in German](http://erpnext.com/docs/user/manual/de/) contributed by [CWT Connector & Wire Technology GmbH](http://www.cwt-assembly.com/)
diff --git a/erpnext/config/crm.py b/erpnext/config/crm.py
index dd67005ecf6..5ac46bd7b80 100644
--- a/erpnext/config/crm.py
+++ b/erpnext/config/crm.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/config/maintenance.py b/erpnext/config/maintenance.py
index 7a44f556677..97be47cdd14 100644
--- a/erpnext/config/maintenance.py
+++ b/erpnext/config/maintenance.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/config/website.py b/erpnext/config/website.py
index 237c49c9afb..59e7d404d44 100644
--- a/erpnext/config/website.py
+++ b/erpnext/config/website.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/crm/doctype/lead/lead_dashboard.py b/erpnext/crm/doctype/lead/lead_dashboard.py
index b87fc0ea4a8..e8472aafc2e 100644
--- a/erpnext/crm/doctype/lead/lead_dashboard.py
+++ b/erpnext/crm/doctype/lead/lead_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/crm/doctype/opportunity/opportunity_dashboard.py b/erpnext/crm/doctype/opportunity/opportunity_dashboard.py
index bd4a6a265fb..9ed616afd23 100644
--- a/erpnext/crm/doctype/opportunity/opportunity_dashboard.py
+++ b/erpnext/crm/doctype/opportunity/opportunity_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/demo/setup/education.py b/erpnext/demo/setup/education.py
index 0403c06411e..cf9451d5dae 100644
--- a/erpnext/demo/setup/education.py
+++ b/erpnext/demo/setup/education.py
@@ -1,5 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe, json
from frappe.utils.make_random import get_random
@@ -162,7 +163,7 @@ def make_assessment_groups():
def get_json_path(doctype):
return frappe.get_app_path('erpnext', 'demo', 'data', frappe.scrub(doctype) + '.json')
-
+
def weighted_choice(weights):
totals = []
running_total = 0
diff --git a/erpnext/demo/setup/healthcare.py b/erpnext/demo/setup/healthcare.py
index 3ddb2ae19de..aa389e56b41 100644
--- a/erpnext/demo/setup/healthcare.py
+++ b/erpnext/demo/setup/healthcare.py
@@ -1,5 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe, json
from frappe.utils.make_random import get_random
diff --git a/erpnext/domains/agriculture.py b/erpnext/domains/agriculture.py
index 594624778d3..8c7427ab2d1 100644
--- a/erpnext/domains/agriculture.py
+++ b/erpnext/domains/agriculture.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
data = {
'desktop_icons': [
'Agriculture Task',
diff --git a/erpnext/domains/distribution.py b/erpnext/domains/distribution.py
index 020ab3b83b1..3661260f9b4 100644
--- a/erpnext/domains/distribution.py
+++ b/erpnext/domains/distribution.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
data = {
'desktop_icons': [
'Item',
diff --git a/erpnext/domains/education.py b/erpnext/domains/education.py
index 0631f299ad2..c6405764575 100644
--- a/erpnext/domains/education.py
+++ b/erpnext/domains/education.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
data = {
'desktop_icons': [
'Student',
diff --git a/erpnext/domains/healthcare.py b/erpnext/domains/healthcare.py
index 4e783c79209..8bd4c762907 100644
--- a/erpnext/domains/healthcare.py
+++ b/erpnext/domains/healthcare.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
data = {
'desktop_icons': [
'Patient',
diff --git a/erpnext/domains/hospitality.py b/erpnext/domains/hospitality.py
index 09b98c288bf..2a2d0c60ef6 100644
--- a/erpnext/domains/hospitality.py
+++ b/erpnext/domains/hospitality.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
data = {
'desktop_icons': [
'Restaurant',
diff --git a/erpnext/domains/manufacturing.py b/erpnext/domains/manufacturing.py
index 7f328b1d95a..259ee9238e5 100644
--- a/erpnext/domains/manufacturing.py
+++ b/erpnext/domains/manufacturing.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
data = {
'desktop_icons': [
'Item',
diff --git a/erpnext/domains/non_profit.py b/erpnext/domains/non_profit.py
index 81aff02fa61..b6772c53153 100644
--- a/erpnext/domains/non_profit.py
+++ b/erpnext/domains/non_profit.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
data = {
'desktop_icons': [
'Non Profit',
diff --git a/erpnext/domains/retail.py b/erpnext/domains/retail.py
index 07b2e2781ec..73607615f33 100644
--- a/erpnext/domains/retail.py
+++ b/erpnext/domains/retail.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
data = {
'desktop_icons': [
'POS',
diff --git a/erpnext/domains/services.py b/erpnext/domains/services.py
index 1fb0e19edd2..7a4ffc4993f 100644
--- a/erpnext/domains/services.py
+++ b/erpnext/domains/services.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
data = {
'desktop_icons': [
'Project',
diff --git a/erpnext/education/__init__.py b/erpnext/education/__init__.py
index 13bc12d6a9e..c0589bb489b 100644
--- a/erpnext/education/__init__.py
+++ b/erpnext/education/__init__.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
diff --git a/erpnext/education/doctype/student/student_dashboard.py b/erpnext/education/doctype/student/student_dashboard.py
index b36599c2db5..d86f4f231cb 100644
--- a/erpnext/education/doctype/student/student_dashboard.py
+++ b/erpnext/education/doctype/student/student_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py b/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py
index 23acd2855c8..aeb5352a220 100644
--- a/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py
+++ b/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def pre_process(issue):
diff --git a/erpnext/erpnext_integrations/data_migration_mapping/milestone_to_project/__init__.py b/erpnext/erpnext_integrations/data_migration_mapping/milestone_to_project/__init__.py
index 212f81b5f9f..9d3f02eaaf6 100644
--- a/erpnext/erpnext_integrations/data_migration_mapping/milestone_to_project/__init__.py
+++ b/erpnext/erpnext_integrations/data_migration_mapping/milestone_to_project/__init__.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
def pre_process(milestone):
return {
'title': milestone.title,
diff --git a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_api.py b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_api.py
index bf6d85b9116..fd364e87fb0 100755
--- a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_api.py
+++ b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_api.py
@@ -4,6 +4,7 @@
# Basic interface to Amazon MWS
# Based on http://code.google.com/p/amazon-mws-python
# Extended to include finances object
+from __future__ import unicode_literals
import urllib
import hashlib
diff --git a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/xml_utils.py b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/xml_utils.py
index 985ac083e53..58db669411a 100644
--- a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/xml_utils.py
+++ b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/xml_utils.py
@@ -6,6 +6,7 @@ Borrowed from https://github.com/timotheus/ebaysdk-python
@author: pierre
"""
+from __future__ import unicode_literals
import xml.etree.ElementTree as ET
import re
diff --git a/erpnext/erpnext_integrations/doctype/shopify_settings/sync_customer.py b/erpnext/erpnext_integrations/doctype/shopify_settings/sync_customer.py
index 02e1fc9a692..4b284b2e9d5 100644
--- a/erpnext/erpnext_integrations/doctype/shopify_settings/sync_customer.py
+++ b/erpnext/erpnext_integrations/doctype/shopify_settings/sync_customer.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
diff --git a/erpnext/erpnext_integrations/doctype/shopify_settings/sync_product.py b/erpnext/erpnext_integrations/doctype/shopify_settings/sync_product.py
index ff1edea713a..5570e6903a8 100644
--- a/erpnext/erpnext_integrations/doctype/shopify_settings/sync_product.py
+++ b/erpnext/erpnext_integrations/doctype/shopify_settings/sync_product.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
from frappe.utils import cstr, cint, get_request_session
diff --git a/erpnext/erpnext_integrations/utils.py b/erpnext/erpnext_integrations/utils.py
index 2c0368609d8..90657790972 100644
--- a/erpnext/erpnext_integrations/utils.py
+++ b/erpnext/erpnext_integrations/utils.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
import base64, hashlib, hmac
diff --git a/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner_dashboard.py b/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner_dashboard.py
index 635464edd9a..70c0b3c098d 100644
--- a/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner_dashboard.py
+++ b/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/healthcare/doctype/inpatient_record/inpatient_record_dashboard.py b/erpnext/healthcare/doctype/inpatient_record/inpatient_record_dashboard.py
index 0dc89701a85..92cc6103f45 100644
--- a/erpnext/healthcare/doctype/inpatient_record/inpatient_record_dashboard.py
+++ b/erpnext/healthcare/doctype/inpatient_record/inpatient_record_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/healthcare/doctype/patient/patient_dashboard.py b/erpnext/healthcare/doctype/patient/patient_dashboard.py
index 46b10136a33..e3def72334c 100644
--- a/erpnext/healthcare/doctype/patient/patient_dashboard.py
+++ b/erpnext/healthcare/doctype/patient/patient_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment_dashboard.py b/erpnext/healthcare/doctype/patient_appointment/patient_appointment_dashboard.py
index a030f19e95e..085c4f6cbf8 100644
--- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment_dashboard.py
+++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/healthcare/doctype/patient_encounter/patient_encounter_dashboard.py b/erpnext/healthcare/doctype/patient_encounter/patient_encounter_dashboard.py
index ec3521175bf..b08b172bbac 100644
--- a/erpnext/healthcare/doctype/patient_encounter/patient_encounter_dashboard.py
+++ b/erpnext/healthcare/doctype/patient_encounter/patient_encounter_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 3c3750a4fbb..86c230f4d6c 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -16,8 +16,6 @@ staging_version = '11.0.3-beta.37'
error_report_email = "support@erpnext.com"
-docs_app = "foundation"
-
app_include_js = "assets/js/erpnext.min.js"
app_include_css = "assets/css/erpnext.css"
web_include_js = "assets/js/erpnext-web.min.js"
diff --git a/erpnext/hr/doctype/attendance_request/attendance_request_dashboard.py b/erpnext/hr/doctype/attendance_request/attendance_request_dashboard.py
index cc5f62930dd..cfdd6d3aefb 100644
--- a/erpnext/hr/doctype/attendance_request/attendance_request_dashboard.py
+++ b/erpnext/hr/doctype/attendance_request/attendance_request_dashboard.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
def get_data():
return {
'fieldname': 'attendance_request',
diff --git a/erpnext/hr/doctype/employee/employee_dashboard.py b/erpnext/hr/doctype/employee/employee_dashboard.py
index e62f59f49f6..46461da1a56 100644
--- a/erpnext/hr/doctype/employee/employee_dashboard.py
+++ b/erpnext/hr/doctype/employee/employee_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/hr/doctype/employee_grade/employee_grade_dashboard.py b/erpnext/hr/doctype/employee_grade/employee_grade_dashboard.py
index 2ac66981bf6..f2656e9a2b2 100644
--- a/erpnext/hr/doctype/employee_grade/employee_grade_dashboard.py
+++ b/erpnext/hr/doctype/employee_grade/employee_grade_dashboard.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
def get_data():
return {
'transactions': [
diff --git a/erpnext/hr/doctype/holiday_list/holiday_list_dashboard.py b/erpnext/hr/doctype/holiday_list/holiday_list_dashboard.py
index 30828a31c07..d1599a4f47f 100644
--- a/erpnext/hr/doctype/holiday_list/holiday_list_dashboard.py
+++ b/erpnext/hr/doctype/holiday_list/holiday_list_dashboard.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
def get_data():
return {
'fieldname': 'holiday_list',
diff --git a/erpnext/hr/doctype/leave_block_list/leave_block_list_dashboard.py b/erpnext/hr/doctype/leave_block_list/leave_block_list_dashboard.py
index 37a3474dc46..2aa54984ec5 100644
--- a/erpnext/hr/doctype/leave_block_list/leave_block_list_dashboard.py
+++ b/erpnext/hr/doctype/leave_block_list/leave_block_list_dashboard.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
def get_data():
return {
'fieldname': 'leave_block_list',
diff --git a/erpnext/hr/doctype/leave_period/leave_period_dashboard.py b/erpnext/hr/doctype/leave_period/leave_period_dashboard.py
index 5214a58fbfa..1572de3cb72 100644
--- a/erpnext/hr/doctype/leave_period/leave_period_dashboard.py
+++ b/erpnext/hr/doctype/leave_period/leave_period_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/hr/doctype/leave_policy/leave_policy_dashboard.py b/erpnext/hr/doctype/leave_policy/leave_policy_dashboard.py
index a12ba7f62db..f97d2855a4f 100644
--- a/erpnext/hr/doctype/leave_policy/leave_policy_dashboard.py
+++ b/erpnext/hr/doctype/leave_policy/leave_policy_dashboard.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
def get_data():
return {
'fieldname': 'leave_policy',
diff --git a/erpnext/hr/doctype/leave_type/leave_type_dashboard.py b/erpnext/hr/doctype/leave_type/leave_type_dashboard.py
index 75e0c08c821..5cae9a8809c 100644
--- a/erpnext/hr/doctype/leave_type/leave_type_dashboard.py
+++ b/erpnext/hr/doctype/leave_type/leave_type_dashboard.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
def get_data():
return {
'fieldname': 'leave_type',
diff --git a/erpnext/hr/doctype/loan/loan_dashboard.py b/erpnext/hr/doctype/loan/loan_dashboard.py
index c621a7fc4bd..7256d9424ae 100644
--- a/erpnext/hr/doctype/loan/loan_dashboard.py
+++ b/erpnext/hr/doctype/loan/loan_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/hr/doctype/payroll_entry/payroll_entry_dashboard.py b/erpnext/hr/doctype/payroll_entry/payroll_entry_dashboard.py
index c4fa7f6dd56..7af507d119c 100644
--- a/erpnext/hr/doctype/payroll_entry/payroll_entry_dashboard.py
+++ b/erpnext/hr/doctype/payroll_entry/payroll_entry_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure_dashboard.py b/erpnext/hr/doctype/salary_structure/salary_structure_dashboard.py
index 7a29878ac3b..3803c1d3ea0 100644
--- a/erpnext/hr/doctype/salary_structure/salary_structure_dashboard.py
+++ b/erpnext/hr/doctype/salary_structure/salary_structure_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/hr/doctype/training_program/training_program_dashboard.py b/erpnext/hr/doctype/training_program/training_program_dashboard.py
index a314081c6b9..441a71bba77 100644
--- a/erpnext/hr/doctype/training_program/training_program_dashboard.py
+++ b/erpnext/hr/doctype/training_program/training_program_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/hr/doctype/vehicle/vehicle_dashboard.py b/erpnext/hr/doctype/vehicle/vehicle_dashboard.py
index 2c1c4c31aa2..d27c7ac0096 100644
--- a/erpnext/hr/doctype/vehicle/vehicle_dashboard.py
+++ b/erpnext/hr/doctype/vehicle/vehicle_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
data = {
diff --git a/erpnext/manufacturing/doctype/job_card/job_card_dashboard.py b/erpnext/manufacturing/doctype/job_card/job_card_dashboard.py
index a9811fcf95b..d48bccf9d42 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card_dashboard.py
+++ b/erpnext/manufacturing/doctype/job_card/job_card_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/manufacturing/doctype/operation/test_operation.py b/erpnext/manufacturing/doctype/operation/test_operation.py
index 401ac748f35..17d206a4e1f 100644
--- a/erpnext/manufacturing/doctype/operation/test_operation.py
+++ b/erpnext/manufacturing/doctype/operation/test_operation.py
@@ -1,5 +1,6 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
+from __future__ import unicode_literals
import frappe
import unittest
diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan_dashboard.py b/erpnext/manufacturing/doctype/production_plan/production_plan_dashboard.py
index 8611372dfc4..91c28555d61 100644
--- a/erpnext/manufacturing/doctype/production_plan/production_plan_dashboard.py
+++ b/erpnext/manufacturing/doctype/production_plan/production_plan_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/manufacturing/doctype/work_order/work_order_dashboard.py b/erpnext/manufacturing/doctype/work_order/work_order_dashboard.py
index 02fbfcdeabe..3fe5282582e 100644
--- a/erpnext/manufacturing/doctype/work_order/work_order_dashboard.py
+++ b/erpnext/manufacturing/doctype/work_order/work_order_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/non_profit/doctype/member/member_dashboard.py b/erpnext/non_profit/doctype/member/member_dashboard.py
index c44a9a8422e..945fb7b7d31 100644
--- a/erpnext/non_profit/doctype/member/member_dashboard.py
+++ b/erpnext/non_profit/doctype/member/member_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 69ad5d1d74f..1544f994299 100755
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -581,4 +581,5 @@ erpnext.patches.v10_0.repost_gle_for_purchase_receipts_with_rejected_items
erpnext.patches.v11_0.set_missing_gst_hsn_code
erpnext.patches.v11_0.rename_bom_wo_fields
erpnext.patches.v11_0.rename_additional_salary_component_additional_salary
-erpnext.patches.v11_0.renamed_from_to_fields_in_project
\ No newline at end of file
+erpnext.patches.v11_0.renamed_from_to_fields_in_project
+erpnext.patches.v11_0.add_permissions_in_gst_settings
\ No newline at end of file
diff --git a/erpnext/patches/v10_0/copy_projects_renamed_fields.py b/erpnext/patches/v10_0/copy_projects_renamed_fields.py
index 58e32b0de8d..80db3bdd1ee 100644
--- a/erpnext/patches/v10_0/copy_projects_renamed_fields.py
+++ b/erpnext/patches/v10_0/copy_projects_renamed_fields.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import rename_field
diff --git a/erpnext/patches/v10_0/delete_hub_documents.py b/erpnext/patches/v10_0/delete_hub_documents.py
index 6dcfec7ca8e..f6a14998956 100644
--- a/erpnext/patches/v10_0/delete_hub_documents.py
+++ b/erpnext/patches/v10_0/delete_hub_documents.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import rename_field
diff --git a/erpnext/patches/v10_0/rename_offer_letter_to_job_offer.py b/erpnext/patches/v10_0/rename_offer_letter_to_job_offer.py
index f888ef6b63e..2e3095153a5 100644
--- a/erpnext/patches/v10_0/rename_offer_letter_to_job_offer.py
+++ b/erpnext/patches/v10_0/rename_offer_letter_to_job_offer.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v10_0/set_discount_amount.py b/erpnext/patches/v10_0/set_discount_amount.py
index eb8bb2d48f3..d5e2c5a84b8 100644
--- a/erpnext/patches/v10_0/set_discount_amount.py
+++ b/erpnext/patches/v10_0/set_discount_amount.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
diff --git a/erpnext/patches/v10_0/set_student_party_type.py b/erpnext/patches/v10_0/set_student_party_type.py
index 6ac1451623b..08376ae894b 100644
--- a/erpnext/patches/v10_0/set_student_party_type.py
+++ b/erpnext/patches/v10_0/set_student_party_type.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v10_0/show_leaves_of_all_department_members_in_calendar.py b/erpnext/patches/v10_0/show_leaves_of_all_department_members_in_calendar.py
index 1ae8b4a54e3..7e2ff7a8a7f 100644
--- a/erpnext/patches/v10_0/show_leaves_of_all_department_members_in_calendar.py
+++ b/erpnext/patches/v10_0/show_leaves_of_all_department_members_in_calendar.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v10_0/update_asset_calculate_depreciation.py b/erpnext/patches/v10_0/update_asset_calculate_depreciation.py
index 44b8c7f3202..b947a40b4a3 100644
--- a/erpnext/patches/v10_0/update_asset_calculate_depreciation.py
+++ b/erpnext/patches/v10_0/update_asset_calculate_depreciation.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v10_0/update_hub_connector_domain.py b/erpnext/patches/v10_0/update_hub_connector_domain.py
index 808ae77129f..baf580a3699 100644
--- a/erpnext/patches/v10_0/update_hub_connector_domain.py
+++ b/erpnext/patches/v10_0/update_hub_connector_domain.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v10_0/update_lft_rgt_for_employee.py b/erpnext/patches/v10_0/update_lft_rgt_for_employee.py
index 82fbeaaeaf7..46ca786e0d6 100644
--- a/erpnext/patches/v10_0/update_lft_rgt_for_employee.py
+++ b/erpnext/patches/v10_0/update_lft_rgt_for_employee.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.utils.nestedset import rebuild_tree
diff --git a/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py b/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py
index b0df91890bc..7b2c36698a2 100644
--- a/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py
+++ b/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.stock.utils import get_bin
diff --git a/erpnext/patches/v10_0/update_status_in_purchase_receipt.py b/erpnext/patches/v10_0/update_status_in_purchase_receipt.py
index 69e2bb881b3..a0bdd9e2cc1 100644
--- a/erpnext/patches/v10_0/update_status_in_purchase_receipt.py
+++ b/erpnext/patches/v10_0/update_status_in_purchase_receipt.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v10_0/update_territory_and_customer_group.py b/erpnext/patches/v10_0/update_territory_and_customer_group.py
index c02d3276aa9..8f0c230717c 100644
--- a/erpnext/patches/v10_0/update_territory_and_customer_group.py
+++ b/erpnext/patches/v10_0/update_territory_and_customer_group.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.rename_doc import get_fetch_fields
diff --git a/erpnext/patches/v11_0/add_default_dispatch_notification_template.py b/erpnext/patches/v11_0/add_default_dispatch_notification_template.py
index 08006ad01b1..f4c18955390 100644
--- a/erpnext/patches/v11_0/add_default_dispatch_notification_template.py
+++ b/erpnext/patches/v11_0/add_default_dispatch_notification_template.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import os
import frappe
diff --git a/erpnext/patches/v11_0/add_default_email_template_for_leave.py b/erpnext/patches/v11_0/add_default_email_template_for_leave.py
index bd86ae29e33..f722be26b41 100644
--- a/erpnext/patches/v11_0/add_default_email_template_for_leave.py
+++ b/erpnext/patches/v11_0/add_default_email_template_for_leave.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe, os
from frappe import _
diff --git a/erpnext/patches/v11_0/add_expense_claim_default_account.py b/erpnext/patches/v11_0/add_expense_claim_default_account.py
index 685020222f2..eecf75568a4 100644
--- a/erpnext/patches/v11_0/add_expense_claim_default_account.py
+++ b/erpnext/patches/v11_0/add_expense_claim_default_account.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py b/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py
index 029ea8738b3..d956052f1a6 100644
--- a/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py
+++ b/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
diff --git a/erpnext/patches/v11_0/add_index_on_nestedset_doctypes.py b/erpnext/patches/v11_0/add_index_on_nestedset_doctypes.py
index 064e0367429..5a30c780f8c 100644
--- a/erpnext/patches/v11_0/add_index_on_nestedset_doctypes.py
+++ b/erpnext/patches/v11_0/add_index_on_nestedset_doctypes.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/add_market_segments.py b/erpnext/patches/v11_0/add_market_segments.py
index 0e7a23ad662..ed47d4293f7 100644
--- a/erpnext/patches/v11_0/add_market_segments.py
+++ b/erpnext/patches/v11_0/add_market_segments.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
diff --git a/erpnext/patches/v11_0/add_permissions_in_gst_settings.py b/erpnext/patches/v11_0/add_permissions_in_gst_settings.py
new file mode 100644
index 00000000000..e8fcf33bede
--- /dev/null
+++ b/erpnext/patches/v11_0/add_permissions_in_gst_settings.py
@@ -0,0 +1,12 @@
+import frappe
+from frappe.permissions import add_permission, update_permission_property
+
+def execute():
+ company = frappe.get_all('Company', filters = {'country': 'India'})
+ if not company:
+ return
+
+ for doctype in ('GST HSN Code', 'GST Settings'):
+ add_permission(doctype, 'Accounts Manager', 0)
+ update_permission_property(doctype, 'Accounts Manager', 0, 'write', 1)
+ update_permission_property(doctype, 'Accounts Manager', 0, 'create', 1)
\ No newline at end of file
diff --git a/erpnext/patches/v11_0/add_sales_stages.py b/erpnext/patches/v11_0/add_sales_stages.py
index 69182c21791..ac2ae1511ae 100644
--- a/erpnext/patches/v11_0/add_sales_stages.py
+++ b/erpnext/patches/v11_0/add_sales_stages.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
from erpnext.setup.setup_wizard.operations.install_fixtures import add_sale_stages
diff --git a/erpnext/patches/v11_0/change_healthcare_desktop_icons.py b/erpnext/patches/v11_0/change_healthcare_desktop_icons.py
index ed7df503e51..0b773958651 100644
--- a/erpnext/patches/v11_0/change_healthcare_desktop_icons.py
+++ b/erpnext/patches/v11_0/change_healthcare_desktop_icons.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
diff --git a/erpnext/patches/v11_0/check_buying_selling_in_currency_exchange.py b/erpnext/patches/v11_0/check_buying_selling_in_currency_exchange.py
index ee336be3b5c..462f830c183 100644
--- a/erpnext/patches/v11_0/check_buying_selling_in_currency_exchange.py
+++ b/erpnext/patches/v11_0/check_buying_selling_in_currency_exchange.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/create_default_success_action.py b/erpnext/patches/v11_0/create_default_success_action.py
index 29687d2692d..31feff25b93 100644
--- a/erpnext/patches/v11_0/create_default_success_action.py
+++ b/erpnext/patches/v11_0/create_default_success_action.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.setup.install import create_default_success_action
diff --git a/erpnext/patches/v11_0/create_department_records_for_each_company.py b/erpnext/patches/v11_0/create_department_records_for_each_company.py
index eb48eed7a67..1257f1918b4 100644
--- a/erpnext/patches/v11_0/create_department_records_for_each_company.py
+++ b/erpnext/patches/v11_0/create_department_records_for_each_company.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
from frappe.utils.nestedset import rebuild_tree
diff --git a/erpnext/patches/v11_0/drop_column_max_days_allowed.py b/erpnext/patches/v11_0/drop_column_max_days_allowed.py
index f663674d1ed..591c521efbe 100644
--- a/erpnext/patches/v11_0/drop_column_max_days_allowed.py
+++ b/erpnext/patches/v11_0/drop_column_max_days_allowed.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/ewaybill_fields_gst_india.py b/erpnext/patches/v11_0/ewaybill_fields_gst_india.py
index fc552a99e21..9925b70a963 100644
--- a/erpnext/patches/v11_0/ewaybill_fields_gst_india.py
+++ b/erpnext/patches/v11_0/ewaybill_fields_gst_india.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.regional.india.setup import make_custom_fields
diff --git a/erpnext/patches/v11_0/hr_ux_cleanups.py b/erpnext/patches/v11_0/hr_ux_cleanups.py
index acaf83d980a..80476c8a74c 100644
--- a/erpnext/patches/v11_0/hr_ux_cleanups.py
+++ b/erpnext/patches/v11_0/hr_ux_cleanups.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/inter_state_field_for_gst.py b/erpnext/patches/v11_0/inter_state_field_for_gst.py
index 7f5c3aa0676..232d44256f6 100644
--- a/erpnext/patches/v11_0/inter_state_field_for_gst.py
+++ b/erpnext/patches/v11_0/inter_state_field_for_gst.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.regional.india.setup import make_custom_fields
diff --git a/erpnext/patches/v11_0/move_leave_approvers_from_employee.py b/erpnext/patches/v11_0/move_leave_approvers_from_employee.py
index 304bf7d3bb0..edab34cc58a 100644
--- a/erpnext/patches/v11_0/move_leave_approvers_from_employee.py
+++ b/erpnext/patches/v11_0/move_leave_approvers_from_employee.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
from frappe.model.utils.rename_field import rename_field
diff --git a/erpnext/patches/v11_0/rebuild_tree_for_company.py b/erpnext/patches/v11_0/rebuild_tree_for_company.py
index 0fc4780a300..4cb74c7256c 100644
--- a/erpnext/patches/v11_0/rebuild_tree_for_company.py
+++ b/erpnext/patches/v11_0/rebuild_tree_for_company.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.utils.nestedset import rebuild_tree
diff --git a/erpnext/patches/v11_0/redesign_healthcare_billing_work_flow.py b/erpnext/patches/v11_0/redesign_healthcare_billing_work_flow.py
index eef6722a188..7c8a822fa22 100644
--- a/erpnext/patches/v11_0/redesign_healthcare_billing_work_flow.py
+++ b/erpnext/patches/v11_0/redesign_healthcare_billing_work_flow.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.custom.doctype.custom_field.custom_field import create_custom_fields
from erpnext.domains.healthcare import data
diff --git a/erpnext/patches/v11_0/remove_land_unit_icon.py b/erpnext/patches/v11_0/remove_land_unit_icon.py
index 98051cc7f11..f28c16f0c7e 100644
--- a/erpnext/patches/v11_0/remove_land_unit_icon.py
+++ b/erpnext/patches/v11_0/remove_land_unit_icon.py
@@ -1,6 +1,8 @@
# Copyright (c) 2018, Frappe and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
+
# imports - module imports
import frappe
diff --git a/erpnext/patches/v11_0/remove_subscriber_doctype.py b/erpnext/patches/v11_0/remove_subscriber_doctype.py
index 4e50c35cd2a..4839a20f91f 100644
--- a/erpnext/patches/v11_0/remove_subscriber_doctype.py
+++ b/erpnext/patches/v11_0/remove_subscriber_doctype.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import rename_field
diff --git a/erpnext/patches/v11_0/rename_additional_salary_component_additional_salary.py b/erpnext/patches/v11_0/rename_additional_salary_component_additional_salary.py
index 8fa876dd743..8eb70167447 100644
--- a/erpnext/patches/v11_0/rename_additional_salary_component_additional_salary.py
+++ b/erpnext/patches/v11_0/rename_additional_salary_component_additional_salary.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
# this patch should have been included with this PR https://github.com/frappe/erpnext/pull/14302
diff --git a/erpnext/patches/v11_0/rename_asset_adjustment_doctype.py b/erpnext/patches/v11_0/rename_asset_adjustment_doctype.py
index e32149ec441..c03ab0b7111 100644
--- a/erpnext/patches/v11_0/rename_asset_adjustment_doctype.py
+++ b/erpnext/patches/v11_0/rename_asset_adjustment_doctype.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
from frappe.model.rename_doc import rename_doc
diff --git a/erpnext/patches/v11_0/rename_employee_loan_to_loan.py b/erpnext/patches/v11_0/rename_employee_loan_to_loan.py
index e6741371303..b2ff6b8c5d2 100644
--- a/erpnext/patches/v11_0/rename_employee_loan_to_loan.py
+++ b/erpnext/patches/v11_0/rename_employee_loan_to_loan.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import rename_field
diff --git a/erpnext/patches/v11_0/rename_field_max_days_allowed.py b/erpnext/patches/v11_0/rename_field_max_days_allowed.py
index 730b2714208..4e99fac8224 100644
--- a/erpnext/patches/v11_0/rename_field_max_days_allowed.py
+++ b/erpnext/patches/v11_0/rename_field_max_days_allowed.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import rename_field
diff --git a/erpnext/patches/v11_0/rename_healthcare_doctype_and_fields.py b/erpnext/patches/v11_0/rename_healthcare_doctype_and_fields.py
index ba18de8174d..8fdac07658f 100644
--- a/erpnext/patches/v11_0/rename_healthcare_doctype_and_fields.py
+++ b/erpnext/patches/v11_0/rename_healthcare_doctype_and_fields.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.rename_doc import rename_doc
from frappe.model.utils.rename_field import rename_field
diff --git a/erpnext/patches/v11_0/rename_healthcare_fields.py b/erpnext/patches/v11_0/rename_healthcare_fields.py
index d47a3c38fde..9aeb433cff8 100644
--- a/erpnext/patches/v11_0/rename_healthcare_fields.py
+++ b/erpnext/patches/v11_0/rename_healthcare_fields.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import rename_field
from frappe.modules import scrub, get_doctype_module
diff --git a/erpnext/patches/v11_0/rename_members_with_naming_series.py b/erpnext/patches/v11_0/rename_members_with_naming_series.py
index 7fa1b09e7b0..84f5518926f 100644
--- a/erpnext/patches/v11_0/rename_members_with_naming_series.py
+++ b/erpnext/patches/v11_0/rename_members_with_naming_series.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/reset_publish_in_hub_for_all_items.py b/erpnext/patches/v11_0/reset_publish_in_hub_for_all_items.py
index fac772ccdd9..56e95e03286 100644
--- a/erpnext/patches/v11_0/reset_publish_in_hub_for_all_items.py
+++ b/erpnext/patches/v11_0/reset_publish_in_hub_for_all_items.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/set_default_email_template_in_hr.py b/erpnext/patches/v11_0/set_default_email_template_in_hr.py
index a4bc3559f86..e895eaeb653 100644
--- a/erpnext/patches/v11_0/set_default_email_template_in_hr.py
+++ b/erpnext/patches/v11_0/set_default_email_template_in_hr.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/set_department_for_doctypes.py b/erpnext/patches/v11_0/set_department_for_doctypes.py
index b1098abb57a..175d2a189f3 100644
--- a/erpnext/patches/v11_0/set_department_for_doctypes.py
+++ b/erpnext/patches/v11_0/set_department_for_doctypes.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
# Set department value based on employee value
diff --git a/erpnext/patches/v11_0/set_missing_gst_hsn_code.py b/erpnext/patches/v11_0/set_missing_gst_hsn_code.py
index 3c2cea22306..4353ef80e24 100644
--- a/erpnext/patches/v11_0/set_missing_gst_hsn_code.py
+++ b/erpnext/patches/v11_0/set_missing_gst_hsn_code.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.controllers.taxes_and_totals import get_itemised_tax_breakup_html
diff --git a/erpnext/patches/v11_0/set_salary_component_properties.py b/erpnext/patches/v11_0/set_salary_component_properties.py
index a45c38fe091..fa3605ba5f1 100644
--- a/erpnext/patches/v11_0/set_salary_component_properties.py
+++ b/erpnext/patches/v11_0/set_salary_component_properties.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py b/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py
index ca8f0dc924b..d0cabb38359 100644
--- a/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py
+++ b/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.workflow import get_workflow_name
diff --git a/erpnext/patches/v11_0/set_user_permissions_for_department.py b/erpnext/patches/v11_0/set_user_permissions_for_department.py
index a18f3ff1be2..7bd8577f9c5 100644
--- a/erpnext/patches/v11_0/set_user_permissions_for_department.py
+++ b/erpnext/patches/v11_0/set_user_permissions_for_department.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/skip_user_permission_check_for_department.py b/erpnext/patches/v11_0/skip_user_permission_check_for_department.py
index 7f7cfc1327a..0f7fad7e497 100644
--- a/erpnext/patches/v11_0/skip_user_permission_check_for_department.py
+++ b/erpnext/patches/v11_0/skip_user_permission_check_for_department.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.desk.form.linked_with import get_linked_doctypes
diff --git a/erpnext/patches/v11_0/uom_conversion_data.py b/erpnext/patches/v11_0/uom_conversion_data.py
index 9cd574390e2..91470b3558a 100644
--- a/erpnext/patches/v11_0/uom_conversion_data.py
+++ b/erpnext/patches/v11_0/uom_conversion_data.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe, json
def execute():
diff --git a/erpnext/patches/v11_0/update_brand_in_item_price.py b/erpnext/patches/v11_0/update_brand_in_item_price.py
index a19a6c47b64..a8d3fab4812 100644
--- a/erpnext/patches/v11_0/update_brand_in_item_price.py
+++ b/erpnext/patches/v11_0/update_brand_in_item_price.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
def execute():
@@ -10,5 +11,5 @@ def execute():
set
`tabItem Price`.brand = `tabItem`.brand
where
- `tabItem Price`.item_code = `tabItem`.name
+ `tabItem Price`.item_code = `tabItem`.name
and `tabItem`.brand is not null and `tabItem`.brand != ''""")
\ No newline at end of file
diff --git a/erpnext/patches/v11_0/update_hub_url.py b/erpnext/patches/v11_0/update_hub_url.py
index 40181a2e90a..6c6ca3c5c28 100644
--- a/erpnext/patches/v11_0/update_hub_url.py
+++ b/erpnext/patches/v11_0/update_hub_url.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v11_0/update_sales_partner_type.py b/erpnext/patches/v11_0/update_sales_partner_type.py
index 508c51a3768..b393926b237 100644
--- a/erpnext/patches/v11_0/update_sales_partner_type.py
+++ b/erpnext/patches/v11_0/update_sales_partner_type.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
diff --git a/erpnext/patches/v11_0/update_total_qty_field.py b/erpnext/patches/v11_0/update_total_qty_field.py
index 8f086992b63..fcb76af459c 100644
--- a/erpnext/patches/v11_0/update_total_qty_field.py
+++ b/erpnext/patches/v11_0/update_total_qty_field.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v4_4/make_email_accounts.py b/erpnext/patches/v4_4/make_email_accounts.py
index d055fce969b..57df1ae4911 100644
--- a/erpnext/patches/v4_4/make_email_accounts.py
+++ b/erpnext/patches/v4_4/make_email_accounts.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model import default_fields
diff --git a/erpnext/patches/v5_0/convert_stock_reconciliation.py b/erpnext/patches/v5_0/convert_stock_reconciliation.py
index 8a0b93d9d8e..75d1da752f2 100644
--- a/erpnext/patches/v5_0/convert_stock_reconciliation.py
+++ b/erpnext/patches/v5_0/convert_stock_reconciliation.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe, json
def execute():
diff --git a/erpnext/patches/v5_0/execute_on_doctype_update.py b/erpnext/patches/v5_0/execute_on_doctype_update.py
index 9641320d469..70b1d8ded69 100644
--- a/erpnext/patches/v5_0/execute_on_doctype_update.py
+++ b/erpnext/patches/v5_0/execute_on_doctype_update.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/fix_taxes_and_totals_in_party_currency.py b/erpnext/patches/v5_0/fix_taxes_and_totals_in_party_currency.py
index 062159b4105..30dc0f8db4e 100644
--- a/erpnext/patches/v5_0/fix_taxes_and_totals_in_party_currency.py
+++ b/erpnext/patches/v5_0/fix_taxes_and_totals_in_party_currency.py
@@ -1,27 +1,27 @@
-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
from frappe.model.meta import get_field_precision
def execute():
- if not frappe.db.sql("""select name from `tabPatch Log`
+ if not frappe.db.sql("""select name from `tabPatch Log`
where patch = 'erpnext.patches.v5_0.taxes_and_totals_in_party_currency'"""):
return
selling_doctypes = ["Quotation", "Sales Order", "Delivery Note", "Sales Invoice"]
buying_doctypes = ["Supplier Quotation", "Purchase Order", "Purchase Receipt", "Purchase Invoice"]
-
+
for dt in selling_doctypes:
update_values(dt, "Sales Taxes and Charges")
for dt in buying_doctypes:
update_values(dt, "Purchase Taxes and Charges")
-
+
def update_values(dt, tax_table):
rate_field_precision = get_field_precision(frappe.get_meta(dt + " Item").get_field("rate"))
tax_amount_precision = get_field_precision(frappe.get_meta(tax_table).get_field("tax_amount"))
-
+
# update net_total, discount_on
frappe.db.sql("""
UPDATE
@@ -33,7 +33,7 @@ def update_values(dt, tax_table):
and ifnull(base_total_taxes_and_charges, 0) != 0
and ifnull(total_taxes_and_charges, 0) = 0
""".format(dt, tax_amount_precision))
-
+
# update net_amount
frappe.db.sql("""
UPDATE
@@ -61,6 +61,6 @@ def update_values(dt, tax_table):
and par.docstatus < 2
and ((ifnull(tax.base_tax_amount, 0) != 0 and ifnull(tax.tax_amount, 0) = 0)
or (ifnull(tax.base_total, 0) != 0 and ifnull(tax.total, 0) = 0)
- or (ifnull(tax.base_tax_amount_after_discount_amount, 0) != 0 and
+ or (ifnull(tax.base_tax_amount_after_discount_amount, 0) != 0 and
ifnull(tax.tax_amount_after_discount_amount, 0) = 0))
""".format(dt, tax_table, tax_amount_precision))
\ No newline at end of file
diff --git a/erpnext/patches/v5_0/item_patches.py b/erpnext/patches/v5_0/item_patches.py
index 37992adec6f..e223e09f5b7 100644
--- a/erpnext/patches/v5_0/item_patches.py
+++ b/erpnext/patches/v5_0/item_patches.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/new_crm_module.py b/erpnext/patches/v5_0/new_crm_module.py
index f7e0793fd1a..f5dda1f2738 100644
--- a/erpnext/patches/v5_0/new_crm_module.py
+++ b/erpnext/patches/v5_0/new_crm_module.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import json
import frappe
diff --git a/erpnext/patches/v5_0/newsletter.py b/erpnext/patches/v5_0/newsletter.py
index fcf95ca4c61..63e33124139 100644
--- a/erpnext/patches/v5_0/newsletter.py
+++ b/erpnext/patches/v5_0/newsletter.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
import frappe.permissions
diff --git a/erpnext/patches/v5_0/portal_fixes.py b/erpnext/patches/v5_0/portal_fixes.py
index 260222e6cb4..1fefd991678 100644
--- a/erpnext/patches/v5_0/portal_fixes.py
+++ b/erpnext/patches/v5_0/portal_fixes.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
import erpnext.setup.install
diff --git a/erpnext/patches/v5_0/project_costing.py b/erpnext/patches/v5_0/project_costing.py
index 33bb9c16305..e2d65d05940 100644
--- a/erpnext/patches/v5_0/project_costing.py
+++ b/erpnext/patches/v5_0/project_costing.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/recalculate_total_amount_in_jv.py b/erpnext/patches/v5_0/recalculate_total_amount_in_jv.py
index 89bd5808a84..d5af43c541e 100644
--- a/erpnext/patches/v5_0/recalculate_total_amount_in_jv.py
+++ b/erpnext/patches/v5_0/recalculate_total_amount_in_jv.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
from frappe.utils import money_in_words
diff --git a/erpnext/patches/v5_0/remove_birthday_events.py b/erpnext/patches/v5_0/remove_birthday_events.py
index 589792a04a4..3ead8669b86 100644
--- a/erpnext/patches/v5_0/remove_birthday_events.py
+++ b/erpnext/patches/v5_0/remove_birthday_events.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/rename_customer_issue.py b/erpnext/patches/v5_0/rename_customer_issue.py
index 5b16fd21452..1bd69ceec19 100644
--- a/erpnext/patches/v5_0/rename_customer_issue.py
+++ b/erpnext/patches/v5_0/rename_customer_issue.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/rename_pos_setting.py b/erpnext/patches/v5_0/rename_pos_setting.py
index ad579b61ff9..bf10333564e 100644
--- a/erpnext/patches/v5_0/rename_pos_setting.py
+++ b/erpnext/patches/v5_0/rename_pos_setting.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/rename_table_fieldnames.py b/erpnext/patches/v5_0/rename_table_fieldnames.py
index e93070f9501..59f534303f1 100644
--- a/erpnext/patches/v5_0/rename_table_fieldnames.py
+++ b/erpnext/patches/v5_0/rename_table_fieldnames.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import rename_field
from frappe.modules import scrub, get_doctype_module
diff --git a/erpnext/patches/v5_0/rename_taxes_and_charges_master.py b/erpnext/patches/v5_0/rename_taxes_and_charges_master.py
index f5fcb3af318..e26f48cda18 100644
--- a/erpnext/patches/v5_0/rename_taxes_and_charges_master.py
+++ b/erpnext/patches/v5_0/rename_taxes_and_charges_master.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
diff --git a/erpnext/patches/v5_0/set_default_company_in_bom.py b/erpnext/patches/v5_0/set_default_company_in_bom.py
index 0b2c9211519..a5cd7611199 100644
--- a/erpnext/patches/v5_0/set_default_company_in_bom.py
+++ b/erpnext/patches/v5_0/set_default_company_in_bom.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/set_footer_address.py b/erpnext/patches/v5_0/set_footer_address.py
index a3324a04558..8120d834e1f 100644
--- a/erpnext/patches/v5_0/set_footer_address.py
+++ b/erpnext/patches/v5_0/set_footer_address.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/stock_entry_update_value.py b/erpnext/patches/v5_0/stock_entry_update_value.py
index 9abd315ff1b..ba1af310f55 100644
--- a/erpnext/patches/v5_0/stock_entry_update_value.py
+++ b/erpnext/patches/v5_0/stock_entry_update_value.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py b/erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py
index f4ed66bcf6d..76d10820b58 100644
--- a/erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py
+++ b/erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py
@@ -1,7 +1,7 @@
-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
from frappe.model.meta import get_field_precision
from frappe.custom.doctype.property_setter.property_setter import make_property_setter
@@ -20,20 +20,20 @@ def update_values(dt, tax_table):
frappe.reload_doctype(dt)
frappe.reload_doctype(dt + " Item")
frappe.reload_doctype(tax_table)
-
+
net_total_precision = get_field_precision(frappe.get_meta(dt).get_field("net_total"))
for field in ("total", "base_total", "base_net_total"):
make_property_setter(dt, field, "precision", net_total_precision, "Select")
-
+
rate_field_precision = get_field_precision(frappe.get_meta(dt + " Item").get_field("rate"))
for field in ("net_rate", "base_net_rate", "net_amount", "base_net_amount", "base_rate", "base_amount"):
make_property_setter(dt + " Item", field, "precision", rate_field_precision, "Select")
-
+
tax_amount_precision = get_field_precision(frappe.get_meta(tax_table).get_field("tax_amount"))
- for field in ("base_tax_amount", "total", "base_total", "tax_amount_after_discount_amount",
+ for field in ("base_tax_amount", "total", "base_total", "tax_amount_after_discount_amount",
"base_tax_amount_after_discount_amount"):
make_property_setter(tax_table, field, "precision", tax_amount_precision, "Select")
-
+
# update net_total, discount_on
frappe.db.sql("""
UPDATE
@@ -46,7 +46,7 @@ def update_values(dt, tax_table):
WHERE
docstatus < 2
""".format(dt, net_total_precision))
-
+
# update net_amount
frappe.db.sql("""
UPDATE
diff --git a/erpnext/patches/v5_0/update_dn_against_doc_fields.py b/erpnext/patches/v5_0/update_dn_against_doc_fields.py
index 0fb508583a3..56f4f484b13 100644
--- a/erpnext/patches/v5_0/update_dn_against_doc_fields.py
+++ b/erpnext/patches/v5_0/update_dn_against_doc_fields.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/update_frozen_accounts_permission_role.py b/erpnext/patches/v5_0/update_frozen_accounts_permission_role.py
index 14426f5e809..b52785ae605 100644
--- a/erpnext/patches/v5_0/update_frozen_accounts_permission_role.py
+++ b/erpnext/patches/v5_0/update_frozen_accounts_permission_role.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/update_item_and_description_again.py b/erpnext/patches/v5_0/update_item_and_description_again.py
index 622274807ac..35dedcc072b 100644
--- a/erpnext/patches/v5_0/update_item_and_description_again.py
+++ b/erpnext/patches/v5_0/update_item_and_description_again.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
from frappe.utils import cstr
import re
diff --git a/erpnext/patches/v5_0/update_item_desc_in_invoice.py b/erpnext/patches/v5_0/update_item_desc_in_invoice.py
index 1f74184a980..dba35d56938 100644
--- a/erpnext/patches/v5_0/update_item_desc_in_invoice.py
+++ b/erpnext/patches/v5_0/update_item_desc_in_invoice.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
from frappe.website.utils import find_first_image
from frappe.utils import cstr
@@ -29,7 +30,7 @@ def execute():
image = item_details.get(d.item_code).image
else:
desc, image = extract_image_and_description(cstr(d.description))
-
+
if not image:
item_detail = item_details.get(d.item_code)
if item_detail:
diff --git a/erpnext/patches/v5_0/update_item_description_and_image.py b/erpnext/patches/v5_0/update_item_description_and_image.py
index a18df2f653c..75df39ee399 100644
--- a/erpnext/patches/v5_0/update_item_description_and_image.py
+++ b/erpnext/patches/v5_0/update_item_description_and_image.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
from frappe.website.utils import find_first_image
from frappe.utils import cstr
diff --git a/erpnext/patches/v5_0/update_item_name_in_bom.py b/erpnext/patches/v5_0/update_item_name_in_bom.py
index f4e29907f13..5781542a2a3 100644
--- a/erpnext/patches/v5_0/update_item_name_in_bom.py
+++ b/erpnext/patches/v5_0/update_item_name_in_bom.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/update_material_transfer_for_manufacture.py b/erpnext/patches/v5_0/update_material_transfer_for_manufacture.py
index b858bd8074f..f31c9fed4dc 100644
--- a/erpnext/patches/v5_0/update_material_transfer_for_manufacture.py
+++ b/erpnext/patches/v5_0/update_material_transfer_for_manufacture.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/update_material_transferred_for_manufacturing.py b/erpnext/patches/v5_0/update_material_transferred_for_manufacturing.py
index 2133d1c0504..2a09aa29afd 100644
--- a/erpnext/patches/v5_0/update_material_transferred_for_manufacturing.py
+++ b/erpnext/patches/v5_0/update_material_transferred_for_manufacturing.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/update_material_transferred_for_manufacturing_again.py b/erpnext/patches/v5_0/update_material_transferred_for_manufacturing_again.py
index 187f4ea0bd0..5847c83d38f 100644
--- a/erpnext/patches/v5_0/update_material_transferred_for_manufacturing_again.py
+++ b/erpnext/patches/v5_0/update_material_transferred_for_manufacturing_again.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_0/update_operation_description.py b/erpnext/patches/v5_0/update_operation_description.py
index ae7b6326cb6..4ce32f35f11 100644
--- a/erpnext/patches/v5_0/update_operation_description.py
+++ b/erpnext/patches/v5_0/update_operation_description.py
@@ -1,10 +1,11 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
import frappe.permissions
def execute():
if "opn_description" in frappe.db.get_table_columns("BOM Operation"):
- frappe.db.sql("""update `tabBOM Operation` set description = opn_description
+ frappe.db.sql("""update `tabBOM Operation` set description = opn_description
where ifnull(description, '') = ''""")
\ No newline at end of file
diff --git a/erpnext/patches/v5_0/update_tax_amount_after_discount_in_purchase_cycle.py b/erpnext/patches/v5_0/update_tax_amount_after_discount_in_purchase_cycle.py
index 987247c2f31..53df9422b38 100644
--- a/erpnext/patches/v5_0/update_tax_amount_after_discount_in_purchase_cycle.py
+++ b/erpnext/patches/v5_0/update_tax_amount_after_discount_in_purchase_cycle.py
@@ -1,16 +1,17 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
def execute():
frappe.db.sql("""
- update
+ update
`tabPurchase Taxes and Charges`
set
tax_amount_after_discount_amount = tax_amount,
base_tax_amount_after_discount_amount = base_tax_amount
where
- ifnull(tax_amount_after_discount_amount, 0) = 0
- and ifnull(base_tax_amount_after_discount_amount, 0) = 0
+ ifnull(tax_amount_after_discount_amount, 0) = 0
+ and ifnull(base_tax_amount_after_discount_amount, 0) = 0
""")
\ No newline at end of file
diff --git a/erpnext/patches/v5_1/rename_roles.py b/erpnext/patches/v5_1/rename_roles.py
index 26208aa1e57..e19c22a6142 100644
--- a/erpnext/patches/v5_1/rename_roles.py
+++ b/erpnext/patches/v5_1/rename_roles.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v5_4/cleanup_journal_entry.py b/erpnext/patches/v5_4/cleanup_journal_entry.py
index 9100b8f4a88..6860e6ad090 100644
--- a/erpnext/patches/v5_4/cleanup_journal_entry.py
+++ b/erpnext/patches/v5_4/cleanup_journal_entry.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from pymysql import InternalError
diff --git a/erpnext/patches/v5_7/update_item_description_based_on_item_master.py b/erpnext/patches/v5_7/update_item_description_based_on_item_master.py
index 6851e67475f..2045358ddb2 100644
--- a/erpnext/patches/v5_7/update_item_description_based_on_item_master.py
+++ b/erpnext/patches/v5_7/update_item_description_based_on_item_master.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_0/default_activity_rate.py b/erpnext/patches/v6_0/default_activity_rate.py
index 44fda3415c0..cfbfb723bcd 100644
--- a/erpnext/patches/v6_0/default_activity_rate.py
+++ b/erpnext/patches/v6_0/default_activity_rate.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_0/set_default_title.py b/erpnext/patches/v6_0/set_default_title.py
index 83b6b59897d..cceff3f480c 100644
--- a/erpnext/patches/v6_0/set_default_title.py
+++ b/erpnext/patches/v6_0/set_default_title.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_10/email_digest_default_quote.py b/erpnext/patches/v6_10/email_digest_default_quote.py
index 003b317ad8c..6139f1a88a6 100644
--- a/erpnext/patches/v6_10/email_digest_default_quote.py
+++ b/erpnext/patches/v6_10/email_digest_default_quote.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_10/fix_jv_total_amount.py b/erpnext/patches/v6_10/fix_jv_total_amount.py
index 3797ff441da..42cb9e9e150 100644
--- a/erpnext/patches/v6_10/fix_jv_total_amount.py
+++ b/erpnext/patches/v6_10/fix_jv_total_amount.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
# patch all for-print field (total amount) in Journal Entry in 2015
diff --git a/erpnext/patches/v6_12/set_overdue_tasks.py b/erpnext/patches/v6_12/set_overdue_tasks.py
index 39d601aa004..7dbb8ba8b6b 100644
--- a/erpnext/patches/v6_12/set_overdue_tasks.py
+++ b/erpnext/patches/v6_12/set_overdue_tasks.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_2/remove_newsletter_duplicates.py b/erpnext/patches/v6_2/remove_newsletter_duplicates.py
index dc5b77851e0..f9d15475d17 100644
--- a/erpnext/patches/v6_2/remove_newsletter_duplicates.py
+++ b/erpnext/patches/v6_2/remove_newsletter_duplicates.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_24/set_recurring_id.py b/erpnext/patches/v6_24/set_recurring_id.py
index 85a39e3371f..527a2fd3d97 100644
--- a/erpnext/patches/v6_24/set_recurring_id.py
+++ b/erpnext/patches/v6_24/set_recurring_id.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_3/convert_applicable_territory.py b/erpnext/patches/v6_3/convert_applicable_territory.py
index b1793db5cbb..231a483ea22 100644
--- a/erpnext/patches/v6_3/convert_applicable_territory.py
+++ b/erpnext/patches/v6_3/convert_applicable_territory.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_4/email_digest_update.py b/erpnext/patches/v6_4/email_digest_update.py
index a1624276fe3..8342b7fce61 100644
--- a/erpnext/patches/v6_4/email_digest_update.py
+++ b/erpnext/patches/v6_4/email_digest_update.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_4/fix_sales_order_maintenance_status.py b/erpnext/patches/v6_4/fix_sales_order_maintenance_status.py
index dbd34d54d18..50aa9e542e4 100644
--- a/erpnext/patches/v6_4/fix_sales_order_maintenance_status.py
+++ b/erpnext/patches/v6_4/fix_sales_order_maintenance_status.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_4/fix_status_in_sales_and_purchase_order.py b/erpnext/patches/v6_4/fix_status_in_sales_and_purchase_order.py
index 867a5b2182b..746a99004af 100644
--- a/erpnext/patches/v6_4/fix_status_in_sales_and_purchase_order.py
+++ b/erpnext/patches/v6_4/fix_status_in_sales_and_purchase_order.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_4/make_image_thumbnail.py b/erpnext/patches/v6_4/make_image_thumbnail.py
index 3315acc896f..2c86e8af864 100644
--- a/erpnext/patches/v6_4/make_image_thumbnail.py
+++ b/erpnext/patches/v6_4/make_image_thumbnail.py
@@ -1,4 +1,4 @@
-from __future__ import print_function
+from __future__ import print_function, unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_4/set_user_in_contact.py b/erpnext/patches/v6_4/set_user_in_contact.py
index 41f76af94d1..7e8a6eecd57 100644
--- a/erpnext/patches/v6_4/set_user_in_contact.py
+++ b/erpnext/patches/v6_4/set_user_in_contact.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_8/make_webform_standard.py b/erpnext/patches/v6_8/make_webform_standard.py
index 8633ba694e1..2cc16a286f8 100644
--- a/erpnext/patches/v6_8/make_webform_standard.py
+++ b/erpnext/patches/v6_8/make_webform_standard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v6_8/move_drop_ship_to_po_items.py b/erpnext/patches/v6_8/move_drop_ship_to_po_items.py
index 06d158e4ec3..7184deecccc 100644
--- a/erpnext/patches/v6_8/move_drop_ship_to_po_items.py
+++ b/erpnext/patches/v6_8/move_drop_ship_to_po_items.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_0/calculate_total_costing_amount.py b/erpnext/patches/v7_0/calculate_total_costing_amount.py
index 11fdff9abd9..8ed60a29550 100644
--- a/erpnext/patches/v7_0/calculate_total_costing_amount.py
+++ b/erpnext/patches/v7_0/calculate_total_costing_amount.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.utils import flt
diff --git a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
index 4177e07630e..3af6622d96e 100644
--- a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
+++ b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_0/convert_timelogbatch_to_timesheet.py b/erpnext/patches/v7_0/convert_timelogbatch_to_timesheet.py
index 83c738ef07c..e78f163e077 100644
--- a/erpnext/patches/v7_0/convert_timelogbatch_to_timesheet.py
+++ b/erpnext/patches/v7_0/convert_timelogbatch_to_timesheet.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.utils import cint
diff --git a/erpnext/patches/v7_0/create_budget_record.py b/erpnext/patches/v7_0/create_budget_record.py
index 607ef690963..fd8bec9f327 100644
--- a/erpnext/patches/v7_0/create_budget_record.py
+++ b/erpnext/patches/v7_0/create_budget_record.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.accounts.doctype.budget.budget import DuplicateBudgetError
diff --git a/erpnext/patches/v7_0/fix_duplicate_icons.py b/erpnext/patches/v7_0/fix_duplicate_icons.py
index f6d227d3045..9f442029b5a 100644
--- a/erpnext/patches/v7_0/fix_duplicate_icons.py
+++ b/erpnext/patches/v7_0/fix_duplicate_icons.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.desk.doctype.desktop_icon.desktop_icon import (sync_desktop_icons,
diff --git a/erpnext/patches/v7_0/merge_account_type_stock_and_warehouse_to_stock.py b/erpnext/patches/v7_0/merge_account_type_stock_and_warehouse_to_stock.py
index 6141792b8fd..02808a742f3 100644
--- a/erpnext/patches/v7_0/merge_account_type_stock_and_warehouse_to_stock.py
+++ b/erpnext/patches/v7_0/merge_account_type_stock_and_warehouse_to_stock.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_0/move_timelogbatch_from_salesinvoiceitem_to_salesinvoicetimesheet.py b/erpnext/patches/v7_0/move_timelogbatch_from_salesinvoiceitem_to_salesinvoicetimesheet.py
index 727a44ee284..998c4b674bf 100644
--- a/erpnext/patches/v7_0/move_timelogbatch_from_salesinvoiceitem_to_salesinvoicetimesheet.py
+++ b/erpnext/patches/v7_0/move_timelogbatch_from_salesinvoiceitem_to_salesinvoicetimesheet.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_0/re_route.py b/erpnext/patches/v7_0/re_route.py
index 1db492094b9..3cec6f39b2c 100644
--- a/erpnext/patches/v7_0/re_route.py
+++ b/erpnext/patches/v7_0/re_route.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe.patches.v7_0.re_route import update_routes
def execute():
diff --git a/erpnext/patches/v7_0/remove_doctypes_and_reports.py b/erpnext/patches/v7_0/remove_doctypes_and_reports.py
index 03461dee1f6..746cae0e1ca 100644
--- a/erpnext/patches/v7_0/remove_doctypes_and_reports.py
+++ b/erpnext/patches/v7_0/remove_doctypes_and_reports.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_0/remove_features_setup.py b/erpnext/patches/v7_0/remove_features_setup.py
index 596f7a9dcf6..49393cc248d 100644
--- a/erpnext/patches/v7_0/remove_features_setup.py
+++ b/erpnext/patches/v7_0/remove_features_setup.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.setup.install import create_compact_item_print_custom_field
diff --git a/erpnext/patches/v7_0/rename_prevdoc_fields.py b/erpnext/patches/v7_0/rename_prevdoc_fields.py
index d189056b0c4..ded4ad4aaee 100644
--- a/erpnext/patches/v7_0/rename_prevdoc_fields.py
+++ b/erpnext/patches/v7_0/rename_prevdoc_fields.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
import json
from frappe.model.utils.rename_field import update_reports, rename_field, update_property_setters
diff --git a/erpnext/patches/v7_0/rename_salary_components.py b/erpnext/patches/v7_0/rename_salary_components.py
index 8409ca842d1..de92fc6083b 100644
--- a/erpnext/patches/v7_0/rename_salary_components.py
+++ b/erpnext/patches/v7_0/rename_salary_components.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import update_property_setters
diff --git a/erpnext/patches/v7_0/rename_time_sheet_doctype.py b/erpnext/patches/v7_0/rename_time_sheet_doctype.py
index a00804518b5..f80a8301d78 100644
--- a/erpnext/patches/v7_0/rename_time_sheet_doctype.py
+++ b/erpnext/patches/v7_0/rename_time_sheet_doctype.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_0/set_is_group_for_warehouse.py b/erpnext/patches/v7_0/set_is_group_for_warehouse.py
index d3aca216cb7..3e69616b803 100644
--- a/erpnext/patches/v7_0/set_is_group_for_warehouse.py
+++ b/erpnext/patches/v7_0/set_is_group_for_warehouse.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_0/update_home_page.py b/erpnext/patches/v7_0/update_home_page.py
index ed88e203e64..909825c5721 100644
--- a/erpnext/patches/v7_0/update_home_page.py
+++ b/erpnext/patches/v7_0/update_home_page.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
import erpnext
diff --git a/erpnext/patches/v7_0/update_mins_to_first_response.py b/erpnext/patches/v7_0/update_mins_to_first_response.py
index a89a9c81292..1df4b42cedb 100644
--- a/erpnext/patches/v7_0/update_mins_to_first_response.py
+++ b/erpnext/patches/v7_0/update_mins_to_first_response.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.core.doctype.communication.email import update_mins_to_first_communication
diff --git a/erpnext/patches/v7_0/update_party_status.py b/erpnext/patches/v7_0/update_party_status.py
index 9ca3d02b9d0..0c6b4ea598d 100644
--- a/erpnext/patches/v7_0/update_party_status.py
+++ b/erpnext/patches/v7_0/update_party_status.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_0/update_prevdoc_values_for_supplier_quotation_item.py b/erpnext/patches/v7_0/update_prevdoc_values_for_supplier_quotation_item.py
index 1c41ec8e80b..e90de50c1ec 100644
--- a/erpnext/patches/v7_0/update_prevdoc_values_for_supplier_quotation_item.py
+++ b/erpnext/patches/v7_0/update_prevdoc_values_for_supplier_quotation_item.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_0/update_project_in_gl_entry.py b/erpnext/patches/v7_0/update_project_in_gl_entry.py
index 7f9923b3964..d99e9a41e3b 100644
--- a/erpnext/patches/v7_0/update_project_in_gl_entry.py
+++ b/erpnext/patches/v7_0/update_project_in_gl_entry.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_1/add_field_for_task_dependent.py b/erpnext/patches/v7_1/add_field_for_task_dependent.py
index 96daa139181..65b1c74e87d 100644
--- a/erpnext/patches/v7_1/add_field_for_task_dependent.py
+++ b/erpnext/patches/v7_1/add_field_for_task_dependent.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_1/fix_link_for_customer_from_lead.py b/erpnext/patches/v7_1/fix_link_for_customer_from_lead.py
index cbb3ea4092c..33f809fe37e 100644
--- a/erpnext/patches/v7_1/fix_link_for_customer_from_lead.py
+++ b/erpnext/patches/v7_1/fix_link_for_customer_from_lead.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_1/set_budget_against_as_cost_center.py b/erpnext/patches/v7_1/set_budget_against_as_cost_center.py
index 1d334a50121..dd9a432cf01 100644
--- a/erpnext/patches/v7_1/set_budget_against_as_cost_center.py
+++ b/erpnext/patches/v7_1/set_budget_against_as_cost_center.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_1/set_currency_exchange_date.py b/erpnext/patches/v7_1/set_currency_exchange_date.py
index 630b7d42293..2a2d420f21c 100644
--- a/erpnext/patches/v7_1/set_currency_exchange_date.py
+++ b/erpnext/patches/v7_1/set_currency_exchange_date.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_1/set_student_guardian.py b/erpnext/patches/v7_1/set_student_guardian.py
index 0942505b568..093c0bf6d94 100644
--- a/erpnext/patches/v7_1/set_student_guardian.py
+++ b/erpnext/patches/v7_1/set_student_guardian.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_1/set_total_amount_currency_in_je.py b/erpnext/patches/v7_1/set_total_amount_currency_in_je.py
index eb4a347a326..8426ddcd7d9 100644
--- a/erpnext/patches/v7_1/set_total_amount_currency_in_je.py
+++ b/erpnext/patches/v7_1/set_total_amount_currency_in_je.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext import get_default_currency
diff --git a/erpnext/patches/v7_1/update_bom_base_currency.py b/erpnext/patches/v7_1/update_bom_base_currency.py
index c8af0333cb1..9a59209ea52 100644
--- a/erpnext/patches/v7_1/update_bom_base_currency.py
+++ b/erpnext/patches/v7_1/update_bom_base_currency.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext import get_default_currency
diff --git a/erpnext/patches/v7_1/update_component_type.py b/erpnext/patches/v7_1/update_component_type.py
index aecbc9fac2e..552fc894676 100644
--- a/erpnext/patches/v7_1/update_component_type.py
+++ b/erpnext/patches/v7_1/update_component_type.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.utils import flt
diff --git a/erpnext/patches/v7_1/update_lead_source.py b/erpnext/patches/v7_1/update_lead_source.py
index 7fd4c14ed15..517e66c4bc1 100644
--- a/erpnext/patches/v7_1/update_lead_source.py
+++ b/erpnext/patches/v7_1/update_lead_source.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
diff --git a/erpnext/patches/v7_1/update_portal_roles.py b/erpnext/patches/v7_1/update_portal_roles.py
index 72e9434c26f..482586b8efe 100644
--- a/erpnext/patches/v7_1/update_portal_roles.py
+++ b/erpnext/patches/v7_1/update_portal_roles.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_2/arrear_leave_encashment_as_salary_component.py b/erpnext/patches/v7_2/arrear_leave_encashment_as_salary_component.py
index 13a2bb8d5a9..3b9642dd3b8 100644
--- a/erpnext/patches/v7_2/arrear_leave_encashment_as_salary_component.py
+++ b/erpnext/patches/v7_2/arrear_leave_encashment_as_salary_component.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_2/contact_address_links.py b/erpnext/patches/v7_2/contact_address_links.py
index cf23e88798c..200434c208d 100644
--- a/erpnext/patches/v7_2/contact_address_links.py
+++ b/erpnext/patches/v7_2/contact_address_links.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.core.doctype.dynamic_link.dynamic_link import deduplicate_dynamic_links
from frappe.utils import update_progress_bar
diff --git a/erpnext/patches/v7_2/mark_students_active.py b/erpnext/patches/v7_2/mark_students_active.py
index 0a2f2d3c105..7289e4a9158 100644
--- a/erpnext/patches/v7_2/mark_students_active.py
+++ b/erpnext/patches/v7_2/mark_students_active.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_2/rename_att_date_attendance.py b/erpnext/patches/v7_2/rename_att_date_attendance.py
index b2658ba7f12..7f06d8f1239 100644
--- a/erpnext/patches/v7_2/rename_att_date_attendance.py
+++ b/erpnext/patches/v7_2/rename_att_date_attendance.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import update_reports, update_users_report_view_settings, update_property_setters
diff --git a/erpnext/patches/v7_2/rename_evaluation_criteria.py b/erpnext/patches/v7_2/rename_evaluation_criteria.py
index d74976084be..c6520b1b725 100644
--- a/erpnext/patches/v7_2/rename_evaluation_criteria.py
+++ b/erpnext/patches/v7_2/rename_evaluation_criteria.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import rename_field
diff --git a/erpnext/patches/v7_2/stock_uom_in_selling.py b/erpnext/patches/v7_2/stock_uom_in_selling.py
index 875fc4e6b99..d0295557470 100644
--- a/erpnext/patches/v7_2/stock_uom_in_selling.py
+++ b/erpnext/patches/v7_2/stock_uom_in_selling.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_2/update_abbr_in_salary_slips.py b/erpnext/patches/v7_2/update_abbr_in_salary_slips.py
index aa6965f17cb..19dcb5e3b22 100644
--- a/erpnext/patches/v7_2/update_abbr_in_salary_slips.py
+++ b/erpnext/patches/v7_2/update_abbr_in_salary_slips.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_2/update_assessment_modules.py b/erpnext/patches/v7_2/update_assessment_modules.py
index 37ae7c77f84..2b5e774d467 100644
--- a/erpnext/patches/v7_2/update_assessment_modules.py
+++ b/erpnext/patches/v7_2/update_assessment_modules.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import rename_field
diff --git a/erpnext/patches/v7_2/update_attendance_docstatus.py b/erpnext/patches/v7_2/update_attendance_docstatus.py
index 863c0c02bb9..a69052657dd 100644
--- a/erpnext/patches/v7_2/update_attendance_docstatus.py
+++ b/erpnext/patches/v7_2/update_attendance_docstatus.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v7_2/update_guardian_name_in_student_master.py b/erpnext/patches/v7_2/update_guardian_name_in_student_master.py
index 163e7c3d19b..9f589ef00e1 100644
--- a/erpnext/patches/v7_2/update_guardian_name_in_student_master.py
+++ b/erpnext/patches/v7_2/update_guardian_name_in_student_master.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.model.utils.rename_field import rename_field
diff --git a/erpnext/patches/v7_2/update_salary_slips.py b/erpnext/patches/v7_2/update_salary_slips.py
index c6bca8e7b9b..11a52f95876 100644
--- a/erpnext/patches/v7_2/update_salary_slips.py
+++ b/erpnext/patches/v7_2/update_salary_slips.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.hr.doctype.payroll_entry.payroll_entry import get_month_details
from frappe.utils import cint
diff --git a/erpnext/patches/v7_2/update_website_for_variant.py b/erpnext/patches/v7_2/update_website_for_variant.py
index 639569883ec..e8eef6e7da1 100644
--- a/erpnext/patches/v7_2/update_website_for_variant.py
+++ b/erpnext/patches/v7_2/update_website_for_variant.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_0/addresses_linked_to_lead.py b/erpnext/patches/v8_0/addresses_linked_to_lead.py
index c485b5b10ab..b5f22342284 100644
--- a/erpnext/patches/v8_0/addresses_linked_to_lead.py
+++ b/erpnext/patches/v8_0/addresses_linked_to_lead.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_1/add_hsn_sac_codes.py b/erpnext/patches/v8_1/add_hsn_sac_codes.py
index 0b54f15d3b8..0fce96a8d4e 100644
--- a/erpnext/patches/v8_1/add_hsn_sac_codes.py
+++ b/erpnext/patches/v8_1/add_hsn_sac_codes.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.regional.india.setup import setup
diff --git a/erpnext/patches/v8_1/add_indexes_in_transaction_doctypes.py b/erpnext/patches/v8_1/add_indexes_in_transaction_doctypes.py
index 2fa0221ed71..46316026068 100644
--- a/erpnext/patches/v8_1/add_indexes_in_transaction_doctypes.py
+++ b/erpnext/patches/v8_1/add_indexes_in_transaction_doctypes.py
@@ -1,6 +1,7 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_1/allow_invoice_copy_to_edit_after_submit.py b/erpnext/patches/v8_1/allow_invoice_copy_to_edit_after_submit.py
index 1fb297f2886..4c606af4243 100644
--- a/erpnext/patches/v8_1/allow_invoice_copy_to_edit_after_submit.py
+++ b/erpnext/patches/v8_1/allow_invoice_copy_to_edit_after_submit.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_1/gst_fixes.py b/erpnext/patches/v8_1/gst_fixes.py
index b47879c08d8..22fa53ba373 100644
--- a/erpnext/patches/v8_1/gst_fixes.py
+++ b/erpnext/patches/v8_1/gst_fixes.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.custom.doctype.custom_field.custom_field import create_custom_field
from erpnext.regional.india.setup import update_address_template
diff --git a/erpnext/patches/v8_1/set_delivery_date_in_so_item.py b/erpnext/patches/v8_1/set_delivery_date_in_so_item.py
index 2e815710722..af2d28b857f 100644
--- a/erpnext/patches/v8_1/set_delivery_date_in_so_item.py
+++ b/erpnext/patches/v8_1/set_delivery_date_in_so_item.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_1/setup_gst_india.py b/erpnext/patches/v8_1/setup_gst_india.py
index 5370fa2aa54..e8b017d8644 100644
--- a/erpnext/patches/v8_1/setup_gst_india.py
+++ b/erpnext/patches/v8_1/setup_gst_india.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.email import sendmail_to_system_managers
diff --git a/erpnext/patches/v8_1/update_gst_state.py b/erpnext/patches/v8_1/update_gst_state.py
index 5fb9be04456..7aaf2d5ff31 100644
--- a/erpnext/patches/v8_1/update_gst_state.py
+++ b/erpnext/patches/v8_1/update_gst_state.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.regional.india import states
diff --git a/erpnext/patches/v8_5/fix_tax_breakup_for_non_invoice_docs.py b/erpnext/patches/v8_5/fix_tax_breakup_for_non_invoice_docs.py
index fe9befe2651..82beba37702 100644
--- a/erpnext/patches/v8_5/fix_tax_breakup_for_non_invoice_docs.py
+++ b/erpnext/patches/v8_5/fix_tax_breakup_for_non_invoice_docs.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.regional.india.setup import make_custom_fields
from erpnext.controllers.taxes_and_totals import get_itemised_tax_breakup_html
diff --git a/erpnext/patches/v8_5/remove_project_type_property_setter.py b/erpnext/patches/v8_5/remove_project_type_property_setter.py
index 03d128d3ec8..70a08f53776 100644
--- a/erpnext/patches/v8_5/remove_project_type_property_setter.py
+++ b/erpnext/patches/v8_5/remove_project_type_property_setter.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_5/update_customer_group_in_POS_profile.py b/erpnext/patches/v8_5/update_customer_group_in_POS_profile.py
index 9a5fef90c86..2661914401b 100644
--- a/erpnext/patches/v8_5/update_customer_group_in_POS_profile.py
+++ b/erpnext/patches/v8_5/update_customer_group_in_POS_profile.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_6/rename_bom_update_tool.py b/erpnext/patches/v8_6/rename_bom_update_tool.py
index 45a4ddc7888..ef5f335e45f 100644
--- a/erpnext/patches/v8_6/rename_bom_update_tool.py
+++ b/erpnext/patches/v8_6/rename_bom_update_tool.py
@@ -1,4 +1,6 @@
+from __future__ import unicode_literals
import frappe
+
def execute():
frappe.delete_doc_if_exists("DocType", "BOM Replace Tool")
diff --git a/erpnext/patches/v8_7/fix_purchase_receipt_status.py b/erpnext/patches/v8_7/fix_purchase_receipt_status.py
index f7037dd7dfb..99ecb442149 100644
--- a/erpnext/patches/v8_7/fix_purchase_receipt_status.py
+++ b/erpnext/patches/v8_7/fix_purchase_receipt_status.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_7/sync_india_custom_fields.py b/erpnext/patches/v8_7/sync_india_custom_fields.py
index 323b5bcd3ee..c684b24b2b7 100644
--- a/erpnext/patches/v8_7/sync_india_custom_fields.py
+++ b/erpnext/patches/v8_7/sync_india_custom_fields.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from erpnext.regional.india.setup import make_custom_fields
diff --git a/erpnext/patches/v8_9/delete_gst_doctypes_for_outside_india_accounts.py b/erpnext/patches/v8_9/delete_gst_doctypes_for_outside_india_accounts.py
index 2b4ac58a67c..f67af90555a 100644
--- a/erpnext/patches/v8_9/delete_gst_doctypes_for_outside_india_accounts.py
+++ b/erpnext/patches/v8_9/delete_gst_doctypes_for_outside_india_accounts.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_9/remove_employee_from_salary_structure_parent.py b/erpnext/patches/v8_9/remove_employee_from_salary_structure_parent.py
index 4ab9cf3ec8b..808ae6d5271 100644
--- a/erpnext/patches/v8_9/remove_employee_from_salary_structure_parent.py
+++ b/erpnext/patches/v8_9/remove_employee_from_salary_structure_parent.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_9/set_default_customer_group.py b/erpnext/patches/v8_9/set_default_customer_group.py
index e6351c41fd6..cbbe09daf5d 100644
--- a/erpnext/patches/v8_9/set_default_customer_group.py
+++ b/erpnext/patches/v8_9/set_default_customer_group.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v8_9/set_member_party_type.py b/erpnext/patches/v8_9/set_member_party_type.py
index 2934c70ad53..33bbc11a93c 100644
--- a/erpnext/patches/v8_9/set_member_party_type.py
+++ b/erpnext/patches/v8_9/set_member_party_type.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v9_0/remove_non_existing_warehouse_from_stock_settings.py b/erpnext/patches/v9_0/remove_non_existing_warehouse_from_stock_settings.py
index 33dc5192d1b..c685bbc6818 100644
--- a/erpnext/patches/v9_0/remove_non_existing_warehouse_from_stock_settings.py
+++ b/erpnext/patches/v9_0/remove_non_existing_warehouse_from_stock_settings.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v9_0/revert_manufacturing_user_role.py b/erpnext/patches/v9_0/revert_manufacturing_user_role.py
index 5bfa8c3f9af..f38b7f29cec 100644
--- a/erpnext/patches/v9_0/revert_manufacturing_user_role.py
+++ b/erpnext/patches/v9_0/revert_manufacturing_user_role.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v9_0/set_variant_item_description.py b/erpnext/patches/v9_0/set_variant_item_description.py
index c8445715069..82d6148508a 100644
--- a/erpnext/patches/v9_0/set_variant_item_description.py
+++ b/erpnext/patches/v9_0/set_variant_item_description.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.utils import cstr
diff --git a/erpnext/patches/v9_2/delete_healthcare_domain_default_items.py b/erpnext/patches/v9_2/delete_healthcare_domain_default_items.py
index 187cbd3f9ab..54ae18b8e29 100644
--- a/erpnext/patches/v9_2/delete_healthcare_domain_default_items.py
+++ b/erpnext/patches/v9_2/delete_healthcare_domain_default_items.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe.utils import getdate
diff --git a/erpnext/patches/v9_2/delete_process_payroll.py b/erpnext/patches/v9_2/delete_process_payroll.py
index e9e1b99c06c..91c49f577f3 100644
--- a/erpnext/patches/v9_2/delete_process_payroll.py
+++ b/erpnext/patches/v9_2/delete_process_payroll.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v9_2/remove_company_from_patient.py b/erpnext/patches/v9_2/remove_company_from_patient.py
index 1ce344501d5..1a50088f239 100644
--- a/erpnext/patches/v9_2/remove_company_from_patient.py
+++ b/erpnext/patches/v9_2/remove_company_from_patient.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v9_2/rename_translated_domains_in_en.py b/erpnext/patches/v9_2/rename_translated_domains_in_en.py
index fc3d01cc608..aec5d438ec8 100644
--- a/erpnext/patches/v9_2/rename_translated_domains_in_en.py
+++ b/erpnext/patches/v9_2/rename_translated_domains_in_en.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
from frappe import _
diff --git a/erpnext/patches/v9_2/repost_reserved_qty_for_production.py b/erpnext/patches/v9_2/repost_reserved_qty_for_production.py
index c4eab19d2ec..040e655bd82 100644
--- a/erpnext/patches/v9_2/repost_reserved_qty_for_production.py
+++ b/erpnext/patches/v9_2/repost_reserved_qty_for_production.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/patches/v9_2/set_item_name_in_production_order.py b/erpnext/patches/v9_2/set_item_name_in_production_order.py
index 18b5b8cdc6c..1f490e62c8b 100644
--- a/erpnext/patches/v9_2/set_item_name_in_production_order.py
+++ b/erpnext/patches/v9_2/set_item_name_in_production_order.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def execute():
diff --git a/erpnext/portal/utils.py b/erpnext/portal/utils.py
index 93fe5da693b..2e710c75f3d 100644
--- a/erpnext/portal/utils.py
+++ b/erpnext/portal/utils.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
import frappe
def set_default_role(doc, method):
diff --git a/erpnext/projects/doctype/project/project_dashboard.py b/erpnext/projects/doctype/project/project_dashboard.py
index 485aae77e72..39cf016d61f 100644
--- a/erpnext/projects/doctype/project/project_dashboard.py
+++ b/erpnext/projects/doctype/project/project_dashboard.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
from frappe import _
def get_data():
diff --git a/erpnext/public/js/conf.js b/erpnext/public/js/conf.js
index 32081550e69..56e6bdb8dbe 100644
--- a/erpnext/public/js/conf.js
+++ b/erpnext/public/js/conf.js
@@ -14,7 +14,7 @@ $(document).bind('toolbar_setup', function() {
$('.navbar-home').html('');
- $('[data-link="docs"]').attr("href", "https://frappe.github.io/erpnext/")
+ $('[data-link="docs"]').attr("href", "https://erpnext.com/docs")
$('[data-link="issues"]').attr("href", "https://github.com/frappe/erpnext/issues")
@@ -23,7 +23,8 @@ $(document).bind('toolbar_setup', function() {
// additional help links for erpnext
var $help_menu = $('.dropdown-help ul .documentation-links');
-
+ $('