Merge branch 'develop' into item-merge-bundles

This commit is contained in:
Marica
2022-02-23 13:01:56 +05:30
committed by GitHub
8 changed files with 19 additions and 18 deletions

View File

@@ -1077,7 +1077,7 @@ def get_outstanding_reference_documents(args):
if d.voucher_type in ("Purchase Invoice"): if d.voucher_type in ("Purchase Invoice"):
d["bill_no"] = frappe.db.get_value(d.voucher_type, d.voucher_no, "bill_no") d["bill_no"] = frappe.db.get_value(d.voucher_type, d.voucher_no, "bill_no")
# Get all SO / PO which are not fully billed or aginst which full advance not paid # Get all SO / PO which are not fully billed or against which full advance not paid
orders_to_be_billed = [] orders_to_be_billed = []
if (args.get("party_type") != "Student"): if (args.get("party_type") != "Student"):
orders_to_be_billed = get_orders_to_be_billed(args.get("posting_date"),args.get("party_type"), orders_to_be_billed = get_orders_to_be_billed(args.get("posting_date"),args.get("party_type"),

View File

@@ -46,7 +46,7 @@ def valdiate_taxes_and_charges_template(doc):
for tax in doc.get("taxes"): for tax in doc.get("taxes"):
validate_taxes_and_charges(tax) validate_taxes_and_charges(tax)
validate_account_head(tax, doc) validate_account_head(tax.idx, tax.account_head, doc.company)
validate_cost_center(tax, doc) validate_cost_center(tax, doc)
validate_inclusive_tax(tax, doc) validate_inclusive_tax(tax, doc)

View File

@@ -307,7 +307,7 @@ def validate_party_gle_currency(party_type, party, company, party_account_curren
.format(frappe.bold(party_type), frappe.bold(party), frappe.bold(existing_gle_currency), frappe.bold(company)), InvalidAccountCurrency) .format(frappe.bold(party_type), frappe.bold(party), frappe.bold(existing_gle_currency), frappe.bold(company)), InvalidAccountCurrency)
def validate_party_accounts(doc): def validate_party_accounts(doc):
from erpnext.controllers.accounts_controller import validate_account_head
companies = [] companies = []
for account in doc.get("accounts"): for account in doc.get("accounts"):
@@ -330,6 +330,9 @@ def validate_party_accounts(doc):
if doc.default_currency != party_account_currency and doc.default_currency != company_default_currency: if doc.default_currency != party_account_currency and doc.default_currency != company_default_currency:
frappe.throw(_("Billing currency must be equal to either default company's currency or party account currency")) frappe.throw(_("Billing currency must be equal to either default company's currency or party account currency"))
# validate if account is mapped for same company
validate_account_head(account.idx, account.account, account.company)
@frappe.whitelist() @frappe.whitelist()
def get_due_date(posting_date, party_type, party, company=None, bill_date=None): def get_due_date(posting_date, party_type, party, company=None, bill_date=None):

View File

@@ -1566,13 +1566,12 @@ def validate_taxes_and_charges(tax):
tax.rate = None tax.rate = None
def validate_account_head(tax, doc): def validate_account_head(idx, account, company):
company = frappe.get_cached_value('Account', account_company = frappe.get_cached_value('Account', account, 'company')
tax.account_head, 'company')
if company != doc.company: if account_company != company:
frappe.throw(_('Row {0}: Account {1} does not belong to Company {2}') frappe.throw(_('Row {0}: Account {1} does not belong to Company {2}')
.format(tax.idx, frappe.bold(tax.account_head), frappe.bold(doc.company)), title=_('Invalid Account')) .format(idx, frappe.bold(account), frappe.bold(company)), title=_('Invalid Account'))
def validate_cost_center(tax, doc): def validate_cost_center(tax, doc):

View File

@@ -338,14 +338,14 @@ body.product-page {
.btn-add-to-wishlist { .btn-add-to-wishlist {
svg use { svg use {
stroke: #F47A7A; --icon-stroke: #F47A7A;
} }
} }
.btn-view-in-wishlist { .btn-view-in-wishlist {
svg use { svg use {
fill: #F47A7A; fill: #F47A7A;
stroke: none; --icon-stroke: none;
} }
} }
@@ -1022,7 +1022,7 @@ body.product-page {
.not-wished { .not-wished {
cursor: pointer; cursor: pointer;
stroke: #F47A7A !important; --icon-stroke: #F47A7A !important;
&:hover { &:hover {
fill: #F47A7A; fill: #F47A7A;
@@ -1030,7 +1030,7 @@ body.product-page {
} }
.wished { .wished {
stroke: none; --icon-stroke: none;
fill: #F47A7A !important; fill: #F47A7A !important;
} }

View File

@@ -13,7 +13,7 @@
<li class="wishlist wishlist-icon hidden"> <li class="wishlist wishlist-icon hidden">
<a class="nav-link" href="/wishlist"> <a class="nav-link" href="/wishlist">
<svg class="icon icon-lg"> <svg class="icon icon-lg">
<use href="#icon-heart-active"></use> <use href="#icon-heart"></use>
</svg> </svg>
<span class="badge badge-primary shopping-badge" id="wish-count"></span> <span class="badge badge-primary shopping-badge" id="wish-count"></span>
</a> </a>

View File

@@ -3731,7 +3731,7 @@ Earliest Age,Frühestes Alter,
Edit Details,Details bearbeiten, Edit Details,Details bearbeiten,
Edit Profile,Profil bearbeiten, Edit Profile,Profil bearbeiten,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,Bei Straßentransport ist entweder die GST-Transporter-ID oder die Fahrzeug-Nr. Erforderlich, Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,Bei Straßentransport ist entweder die GST-Transporter-ID oder die Fahrzeug-Nr. Erforderlich,
Email,Email, Email,E-Mail,
Email Campaigns,E-Mail-Kampagnen, Email Campaigns,E-Mail-Kampagnen,
Employee ID is linked with another instructor,Die Mitarbeiter-ID ist mit einem anderen Ausbilder verknüpft, Employee ID is linked with another instructor,Die Mitarbeiter-ID ist mit einem anderen Ausbilder verknüpft,
Employee Tax and Benefits,Mitarbeitersteuern und -leistungen, Employee Tax and Benefits,Mitarbeitersteuern und -leistungen,
@@ -6487,7 +6487,7 @@ Select Users,Wählen Sie Benutzer aus,
Send Emails At,Die E-Mails senden um, Send Emails At,Die E-Mails senden um,
Reminder,Erinnerung, Reminder,Erinnerung,
Daily Work Summary Group User,Tägliche Arbeit Zusammenfassung Gruppenbenutzer, Daily Work Summary Group User,Tägliche Arbeit Zusammenfassung Gruppenbenutzer,
email,Email, email,E-Mail,
Parent Department,Elternabteilung, Parent Department,Elternabteilung,
Leave Block List,Urlaubssperrenliste, Leave Block List,Urlaubssperrenliste,
Days for which Holidays are blocked for this department.,"Tage, an denen eine Urlaubssperre für diese Abteilung gilt.", Days for which Holidays are blocked for this department.,"Tage, an denen eine Urlaubssperre für diese Abteilung gilt.",
Can't render this file because it is too large.

View File

@@ -62,8 +62,7 @@ def get_category_records(categories):
"parent_item_group": "All Item Groups", "parent_item_group": "All Item Groups",
"show_in_website": 1 "show_in_website": 1
}, },
fields=["name", "parent_item_group", "is_group", "image", "route"], fields=["name", "parent_item_group", "is_group", "image", "route"]
as_dict=True
) )
else: else:
doctype = frappe.unscrub(category) doctype = frappe.unscrub(category)
@@ -71,7 +70,7 @@ def get_category_records(categories):
if frappe.get_meta(doctype, cached=True).get_field("image"): if frappe.get_meta(doctype, cached=True).get_field("image"):
fields += ["image"] fields += ["image"]
categorical_data[category] = frappe.db.get_all(doctype, fields=fields, as_dict=True) categorical_data[category] = frappe.db.get_all(doctype, fields=fields)
return categorical_data return categorical_data