Merge pull request #4815 from makeen/fix_add_subscribers
[fix] add subscribers even though some emails are invalid
diff --git a/erpnext/accounts/report/trial_balance/trial_balance.py b/erpnext/accounts/report/trial_balance/trial_balance.py
index f0524c0..822702b 100644
--- a/erpnext/accounts/report/trial_balance/trial_balance.py
+++ b/erpnext/accounts/report/trial_balance/trial_balance.py
@@ -17,11 +17,14 @@
def validate_filters(filters):
if not filters.fiscal_year:
- frappe.throw(_("Fiscal Year {0} is required"))
- filters.year_start_date, filters.year_end_date = frappe.db.get_value("Fiscal Year", filters.fiscal_year,
- ["year_start_date", "year_end_date"])
- filters.year_start_date = getdate(filters.year_start_date)
- filters.year_end_date = getdate(filters.year_end_date)
+ frappe.throw(_("Fiscal Year {0} is required").format(filters.fiscal_year))
+
+ fiscal_year = frappe.db.get_value("Fiscal Year", filters.fiscal_year, ["year_start_date", "year_end_date"], as_dict=True)
+ if not fiscal_year:
+ frappe.throw(_("Fiscal Year {0} does not exist").format(filters.fiscal_year))
+ else:
+ filters.year_start_date = getdate(fiscal_year.year_start_date)
+ filters.year_end_date = getdate(fiscal_year.year_end_date)
if not filters.from_date:
filters.from_date = filters.year_start_date
diff --git a/erpnext/docs/user/manual/en/accounts/payment-request.md b/erpnext/docs/user/manual/en/accounts/payment-request.md
index 68d4397..1b71f2f 100644
--- a/erpnext/docs/user/manual/en/accounts/payment-request.md
+++ b/erpnext/docs/user/manual/en/accounts/payment-request.md
@@ -11,7 +11,7 @@
Select appropriate Payment Gateway Account on Payment Request. Account head specified on payment gateway will
considered to create journal entry.
-Note: Invoice/Order Currency and Payment Gateway Account corruncy should be same.
+Note: Invoice/Order currency and Payment Gateway Account currency should be same.
<img class="screenshot" alt="Payment Request" src="{{docs_base_url}}/assets/img/accounts/pr-details-1.png">
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js
index c486391..16e78a6 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.js
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.js
@@ -92,14 +92,26 @@
cur_frm.toggle_enable("exp_approver", doc.approval_status=="Draft");
cur_frm.toggle_enable("approval_status", (doc.exp_approver==user && doc.docstatus==0));
- if(doc.docstatus==0 && doc.exp_approver==user && doc.approval_status=="Approved")
+ if (doc.docstatus==0 && doc.exp_approver==user && doc.approval_status=="Approved")
cur_frm.savesubmit();
- if(doc.docstatus==1 && frappe.model.can_create("Journal Entry") && doc.approval_status=="Approved" &&
- cint(doc.total_amount_reimbursed) < cint(doc.total_sanctioned_amount))
- cur_frm.add_custom_button(__("Bank Entry"),
- cur_frm.cscript.make_bank_entry, __("Make"));
+ if (doc.docstatus===1 && doc.approval_status=="Approved") {
+ if (cint(doc.total_amount_reimbursed) < cint(doc.total_sanctioned_amount) && frappe.model.can_create("Journal Entry")) {
+ cur_frm.add_custom_button(__("Bank Entry"), cur_frm.cscript.make_bank_entry, __("Make"));
cur_frm.page.set_inner_btn_group_as_primary(__("Make"));
+ }
+
+ if (cint(doc.total_amount_reimbursed) > 0 && frappe.model.can_read("Journal Entry")) {
+ cur_frm.add_custom_button(__('Bank Entries'), function() {
+ frappe.route_options = {
+ "Journal Entry Account.reference_type": me.frm.doc.doctype,
+ "Journal Entry Account.reference_name": me.frm.doc.name,
+ company: me.frm.doc.company
+ };
+ frappe.set_route("List", "Journal Entry");
+ }, __("View"));
+ }
+ }
}
}
diff --git a/erpnext/public/js/financial_statements.js b/erpnext/public/js/financial_statements.js
index 07d494a..557a392 100644
--- a/erpnext/public/js/financial_statements.js
+++ b/erpnext/public/js/financial_statements.js
@@ -36,7 +36,7 @@
if (columnDef.df.fieldname=="account") {
value = dataContext.account_name;
- columnDef.df.link_onclick =
+ columnDef.df.link_onclick =
"erpnext.financial_statements.open_general_ledger(" + JSON.stringify(dataContext) + ")";
columnDef.df.is_tree = true;
}
@@ -60,8 +60,8 @@
frappe.route_options = {
"account": data.account,
"company": frappe.query_report.filters_by_name.company.get_value(),
- "from_date": data.year_start_date,
- "to_date": data.year_end_date
+ "from_date": data.from_date || data.year_start_date,
+ "to_date": data.to_date || data.year_end_date
};
frappe.set_route("query-report", "General Ledger");
},
diff --git a/erpnext/setup/doctype/company/delete_company_transactions.py b/erpnext/setup/doctype/company/delete_company_transactions.py
index 506ccff..00ac76c 100644
--- a/erpnext/setup/doctype/company/delete_company_transactions.py
+++ b/erpnext/setup/doctype/company/delete_company_transactions.py
@@ -24,9 +24,13 @@
tabDocField where fieldtype='Link' and options='Company'"""):
if doctype not in ("Account", "Cost Center", "Warehouse", "Budget Detail",
"Party Account", "Employee", "Sales Taxes and Charges Template",
- "Purchase Taxes and Charges Template", "POS Profile"):
+ "Purchase Taxes and Charges Template", "POS Profile", 'BOM'):
delete_for_doctype(doctype, company_name)
+ else:
+ # un-set company
+ frappe.db.sql('update `tab{0}` set company="" where company=%s', company_name)
+
# Clear notification counts
clear_notifications()
diff --git a/erpnext/setup/setup_wizard/setup_wizard.py b/erpnext/setup/setup_wizard/setup_wizard.py
index 8b0189f..890f317 100644
--- a/erpnext/setup/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/setup_wizard/setup_wizard.py
@@ -372,7 +372,7 @@
customer = args.get("customer_" + str(i))
if customer:
try:
- frappe.get_doc({
+ doc = frappe.get_doc({
"doctype":"Customer",
"customer_name": customer,
"customer_type": "Company",
@@ -383,7 +383,7 @@
if args.get("customer_contact_" + str(i)):
create_contact(args.get("customer_contact_" + str(i)),
- "customer", customer)
+ "customer", doc.name)
except frappe.NameError:
pass
@@ -392,7 +392,7 @@
supplier = args.get("supplier_" + str(i))
if supplier:
try:
- frappe.get_doc({
+ doc = frappe.get_doc({
"doctype":"Supplier",
"supplier_name": supplier,
"supplier_type": _("Local"),
@@ -401,7 +401,7 @@
if args.get("supplier_contact_" + str(i)):
create_contact(args.get("supplier_contact_" + str(i)),
- "supplier", supplier)
+ "supplier", doc.name)
except frappe.NameError:
pass