Skip to content

Commit 3f7fff0

Browse files
committed
Merge branch 'develop'
2 parents c9bfb64 + b5a9822 commit 3f7fff0

File tree

21 files changed

+163
-74
lines changed

21 files changed

+163
-74
lines changed

erpnext/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from __future__ import unicode_literals
33
import frappe
44

5-
__version__ = '8.0.22'
5+
__version__ = '8.0.23'
66

77
def get_default_company(user=None):
88
'''Get default company for user'''

erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ def po_required(self):
204204
if frappe.db.get_value("Buying Settings", None, "po_required") == 'Yes':
205205
for d in self.get('items'):
206206
if not d.purchase_order:
207-
throw(_("Purchse Order number required for Item {0}").format(d.item_code))
207+
throw(_("Purchase Order number required for Item {0}").format(d.item_code))
208208

209209
def pr_required(self):
210210
stock_items = self.get_stock_items()

erpnext/accounts/doctype/sales_invoice/sales_invoice.py

+14-4
Original file line numberDiff line numberDiff line change
@@ -341,13 +341,23 @@ def validate_with_previous_doc(self):
341341
super(SalesInvoice, self).validate_with_previous_doc({
342342
"Sales Order": {
343343
"ref_dn_field": "sales_order",
344-
"compare_fields": [["customer", "="], ["company", "="], ["project", "="],
345-
["currency", "="]],
344+
"compare_fields": [["customer", "="], ["company", "="], ["project", "="], ["currency", "="]]
345+
},
346+
"Sales Order Item": {
347+
"ref_dn_field": "so_detail",
348+
"compare_fields": [["item_code", "="], ["uom", "="], ["conversion_factor", "="]],
349+
"is_child_table": True,
350+
"allow_duplicate_prev_row_id": True
346351
},
347352
"Delivery Note": {
348353
"ref_dn_field": "delivery_note",
349-
"compare_fields": [["customer", "="], ["company", "="], ["project", "="],
350-
["currency", "="]],
354+
"compare_fields": [["customer", "="], ["company", "="], ["project", "="], ["currency", "="]]
355+
},
356+
"Delivery Note Item": {
357+
"ref_dn_field": "dn_detail",
358+
"compare_fields": [["item_code", "="], ["uom", "="], ["conversion_factor", "="]],
359+
"is_child_table": True,
360+
"allow_duplicate_prev_row_id": True
351361
},
352362
})
353363

erpnext/accounts/general_ledger.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,10 @@ def round_off_debit_credit(gl_map):
123123

124124
debit_credit_diff = flt(debit_credit_diff, precision)
125125

126-
if gl_map[0]["voucher_type"] == "Journal Entry":
126+
if gl_map[0]["voucher_type"] in ("Journal Entry", "Payment Entry"):
127127
allowance = 5.0 / (10**precision)
128128
else:
129-
allowance = 1
129+
allowance = .5
130130

131131
if abs(debit_credit_diff) >= allowance:
132132
frappe.throw(_("Debit and Credit not equal for {0} #{1}. Difference is {2}.")

erpnext/accounts/report/purchase_register/purchase_register.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def execute(filters=None):
2020
invoice_expense_map, invoice_tax_map = get_invoice_tax_map(invoice_list,
2121
invoice_expense_map, expense_accounts)
2222
invoice_po_pr_map = get_invoice_po_pr_map(invoice_list)
23-
supplier_details = get_supplier_deatils(invoice_list)
23+
supplier_details = get_supplier_details(invoice_list)
2424

2525
company_currency = frappe.db.get_value("Company", filters.company, "default_currency")
2626

@@ -205,7 +205,7 @@ def get_account_details(invoice_list):
205205

206206
return account_map
207207

208-
def get_supplier_deatils(invoice_list):
208+
def get_supplier_details(invoice_list):
209209
supplier_details = {}
210210
suppliers = list(set([inv.supplier for inv in invoice_list]))
211211
for supp in frappe.db.sql("""select name, supplier_type from `tabSupplier`

erpnext/buying/doctype/purchase_order/purchase_order.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ def validate_with_previous_doc(self):
5959
},
6060
"Supplier Quotation Item": {
6161
"ref_dn_field": "supplier_quotation_item",
62-
"compare_fields": [["rate", "="], ["project", "="], ["item_code", "="]],
62+
"compare_fields": [["rate", "="], ["project", "="], ["item_code", "="],
63+
["uom", "="], ["conversion_factor", "="]],
6364
"is_child_table": True
6465
}
6566
})

erpnext/buying/doctype/supplier/supplier.json

+57-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"engine": "InnoDB",
1616
"fields": [
1717
{
18+
"allow_bulk_edit": 0,
1819
"allow_on_submit": 0,
1920
"bold": 0,
2021
"collapsible": 0,
@@ -45,6 +46,7 @@
4546
"unique": 0
4647
},
4748
{
49+
"allow_bulk_edit": 0,
4850
"allow_on_submit": 0,
4951
"bold": 0,
5052
"collapsible": 0,
@@ -76,6 +78,7 @@
7678
"unique": 0
7779
},
7880
{
81+
"allow_bulk_edit": 0,
7982
"allow_on_submit": 0,
8083
"bold": 1,
8184
"collapsible": 0,
@@ -106,6 +109,7 @@
106109
"unique": 0
107110
},
108111
{
112+
"allow_bulk_edit": 0,
109113
"allow_on_submit": 0,
110114
"bold": 0,
111115
"collapsible": 0,
@@ -136,6 +140,37 @@
136140
"unique": 0
137141
},
138142
{
143+
"allow_bulk_edit": 0,
144+
"allow_on_submit": 0,
145+
"bold": 0,
146+
"collapsible": 0,
147+
"columns": 0,
148+
"fieldname": "tax_id",
149+
"fieldtype": "Data",
150+
"hidden": 0,
151+
"ignore_user_permissions": 0,
152+
"ignore_xss_filter": 0,
153+
"in_filter": 0,
154+
"in_global_search": 0,
155+
"in_list_view": 0,
156+
"in_standard_filter": 0,
157+
"label": "Tax ID",
158+
"length": 0,
159+
"no_copy": 0,
160+
"permlevel": 0,
161+
"precision": "",
162+
"print_hide": 0,
163+
"print_hide_if_no_value": 0,
164+
"read_only": 0,
165+
"remember_last_selected_value": 0,
166+
"report_hide": 0,
167+
"reqd": 0,
168+
"search_index": 0,
169+
"set_only_once": 0,
170+
"unique": 0
171+
},
172+
{
173+
"allow_bulk_edit": 0,
139174
"allow_on_submit": 0,
140175
"bold": 0,
141176
"collapsible": 0,
@@ -165,6 +200,7 @@
165200
"unique": 0
166201
},
167202
{
203+
"allow_bulk_edit": 0,
168204
"allow_on_submit": 0,
169205
"bold": 0,
170206
"collapsible": 0,
@@ -193,6 +229,7 @@
193229
"width": "50%"
194230
},
195231
{
232+
"allow_bulk_edit": 0,
196233
"allow_on_submit": 0,
197234
"bold": 0,
198235
"collapsible": 0,
@@ -224,6 +261,7 @@
224261
"unique": 0
225262
},
226263
{
264+
"allow_bulk_edit": 0,
227265
"allow_on_submit": 0,
228266
"bold": 0,
229267
"collapsible": 0,
@@ -254,6 +292,7 @@
254292
"unique": 0
255293
},
256294
{
295+
"allow_bulk_edit": 0,
257296
"allow_on_submit": 0,
258297
"bold": 1,
259298
"collapsible": 0,
@@ -284,6 +323,7 @@
284323
"unique": 0
285324
},
286325
{
326+
"allow_bulk_edit": 0,
287327
"allow_on_submit": 0,
288328
"bold": 0,
289329
"collapsible": 1,
@@ -313,6 +353,7 @@
313353
"unique": 0
314354
},
315355
{
356+
"allow_bulk_edit": 0,
316357
"allow_on_submit": 0,
317358
"bold": 0,
318359
"collapsible": 0,
@@ -342,6 +383,7 @@
342383
"unique": 0
343384
},
344385
{
386+
"allow_bulk_edit": 0,
345387
"allow_on_submit": 0,
346388
"bold": 0,
347389
"collapsible": 0,
@@ -370,6 +412,7 @@
370412
"unique": 0
371413
},
372414
{
415+
"allow_bulk_edit": 0,
373416
"allow_on_submit": 0,
374417
"bold": 0,
375418
"collapsible": 0,
@@ -399,6 +442,7 @@
399442
"unique": 0
400443
},
401444
{
445+
"allow_bulk_edit": 0,
402446
"allow_on_submit": 0,
403447
"bold": 0,
404448
"collapsible": 1,
@@ -428,6 +472,7 @@
428472
"unique": 0
429473
},
430474
{
475+
"allow_bulk_edit": 0,
431476
"allow_on_submit": 0,
432477
"bold": 0,
433478
"collapsible": 0,
@@ -458,6 +503,7 @@
458503
"unique": 0
459504
},
460505
{
506+
"allow_bulk_edit": 0,
461507
"allow_on_submit": 0,
462508
"bold": 0,
463509
"collapsible": 0,
@@ -487,6 +533,7 @@
487533
"unique": 0
488534
},
489535
{
536+
"allow_bulk_edit": 0,
490537
"allow_on_submit": 0,
491538
"bold": 0,
492539
"collapsible": 0,
@@ -518,6 +565,7 @@
518565
"unique": 0
519566
},
520567
{
568+
"allow_bulk_edit": 0,
521569
"allow_on_submit": 0,
522570
"bold": 0,
523571
"collapsible": 0,
@@ -546,6 +594,7 @@
546594
"unique": 0
547595
},
548596
{
597+
"allow_bulk_edit": 0,
549598
"allow_on_submit": 0,
550599
"bold": 0,
551600
"collapsible": 0,
@@ -574,6 +623,7 @@
574623
"width": "50%"
575624
},
576625
{
626+
"allow_bulk_edit": 0,
577627
"allow_on_submit": 0,
578628
"bold": 0,
579629
"collapsible": 0,
@@ -602,6 +652,7 @@
602652
"unique": 0
603653
},
604654
{
655+
"allow_bulk_edit": 0,
605656
"allow_on_submit": 0,
606657
"bold": 0,
607658
"collapsible": 1,
@@ -631,6 +682,7 @@
631682
"unique": 0
632683
},
633684
{
685+
"allow_bulk_edit": 0,
634686
"allow_on_submit": 0,
635687
"bold": 0,
636688
"collapsible": 0,
@@ -662,6 +714,7 @@
662714
"unique": 0
663715
},
664716
{
717+
"allow_bulk_edit": 0,
665718
"allow_on_submit": 0,
666719
"bold": 0,
667720
"collapsible": 1,
@@ -692,6 +745,7 @@
692745
"width": "50%"
693746
},
694747
{
748+
"allow_bulk_edit": 0,
695749
"allow_on_submit": 0,
696750
"bold": 0,
697751
"collapsible": 0,
@@ -722,6 +776,7 @@
722776
"unique": 0
723777
},
724778
{
779+
"allow_bulk_edit": 0,
725780
"allow_on_submit": 0,
726781
"bold": 0,
727782
"collapsible": 0,
@@ -753,6 +808,7 @@
753808
"unique": 0
754809
},
755810
{
811+
"allow_bulk_edit": 0,
756812
"allow_on_submit": 0,
757813
"bold": 0,
758814
"collapsible": 0,
@@ -794,7 +850,7 @@
794850
"issingle": 0,
795851
"istable": 0,
796852
"max_attachments": 0,
797-
"modified": "2017-03-14 17:04:17.785461",
853+
"modified": "2017-05-05 04:24:03.884380",
798854
"modified_by": "Administrator",
799855
"module": "Buying",
800856
"name": "Supplier",

erpnext/buying/page/purchase_analytics/purchase_analytics.js

+2-6
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,15 @@ erpnext.PurchaseAnalytics = frappe.views.TreeGridReport.extend({
3535
item_key: "supplier",
3636
parent_field: "parent_supplier_type",
3737
formatter: function(item) {
38-
// return repl('<a href="#Report/stock-invoices/customer=%(enc_value)s">%(value)s</a>', {
39-
// value: item.name,
40-
// enc_value: encodeURIComponent(item.name)
41-
// });
42-
return item.name;
38+
return item.supplier_name ? item.supplier_name + " (" + item.name + ")" : item.name;
4339
}
4440
},
4541
"Supplier": {
4642
label: __("Supplier"),
4743
show: false,
4844
item_key: "supplier",
4945
formatter: function(item) {
50-
return item.name;
46+
return item.supplier_name ? item.supplier_name + " (" + item.name + ")" : item.name;
5147
}
5248
},
5349
"Item Group": {

erpnext/buying/utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def validate_for_items(doc):
6464
validate_end_of_life(d.item_code, item.end_of_life, item.disabled)
6565

6666
# validate stock item
67-
if item.is_stock_item==1 and d.qty and not d.warehouse and not d.delivered_by_supplier:
67+
if item.is_stock_item==1 and d.qty and not d.warehouse and not d.get("delivered_by_supplier"):
6868
frappe.throw(_("Warehouse is mandatory for stock Item {0} in row {1}").format(d.item_code, d.idx))
6969

7070
items.append(cstr(d.item_code))

erpnext/controllers/queries.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,8 @@ def warehouse_query(doctype, txt, searchfield, start, page_len, filters):
360360
sub_query = """ select round(`tabBin`.actual_qty, 2) from `tabBin`
361361
where `tabBin`.warehouse = `tabWarehouse`.name
362362
{bin_conditions} """.format(
363-
bin_conditions=get_filters_cond(doctype, filter_dict.get("Bin"), bin_conditions))
363+
bin_conditions=get_filters_cond(doctype, filter_dict.get("Bin"), bin_conditions),
364+
ignore_permissions=True)
364365

365366
response = frappe.db.sql("""select `tabWarehouse`.name,
366367
CONCAT_WS(" : ", "Actual Qty", ifnull( ({sub_query}), 0) ) as actual_qty

0 commit comments

Comments
 (0)