Merge branch 'develop' into update-stock-onboarding-fp

This commit is contained in:
18alantom
2021-08-20 16:31:27 +05:30
1285 changed files with 5043 additions and 5038 deletions

View File

@@ -4,4 +4,4 @@
<div class="more hidden" style="padding: 15px;">
<a class="btn btn-default btn-xs btn-more">More</a>
</div>
</div>
</div>

View File

@@ -66,4 +66,4 @@ def get_warehouse_capacity_data(filters, start):
'percent_occupied': flt((flt(balance_qty) / flt(entry.stock_capacity)) * 100, 0)
})
return capacity_data
return capacity_data

View File

@@ -11,4 +11,4 @@ frappe.dashboards.chart_sources["Warehouse wise Stock Value"] = {
default: frappe.defaults.get_user_default("Company")
}
]
};
};

View File

@@ -45,4 +45,4 @@ def get(chart_name = None, chart = None, no_cache = None, filters = None, from_d
"values": datapoints
}],
"type": "bar"
}
}

View File

@@ -20,4 +20,3 @@ QUnit.test("test Batch", function(assert) {
() => done()
]);
});

View File

@@ -30,4 +30,4 @@ def get_data():
'items': ['Auto Repeat']
},
]
}
}

View File

@@ -27,4 +27,3 @@ frappe.ui.form.on('Delivery Note', {
}
}
})

View File

@@ -33,4 +33,3 @@ QUnit.test("test delivery note", function(assert) {
() => done()
]);
});

View File

@@ -772,7 +772,7 @@ class TestDeliveryNote(unittest.TestCase):
so.submit()
dn = create_dn_against_so(so.name, delivered_qty=10)
si = create_sales_invoice(qty=10, do_not_save=1)
si.items[0].delivery_note= dn.name
si.items[0].dn_detail = dn.items[0].name

View File

@@ -34,4 +34,3 @@ QUnit.test("test delivery note with margin", function(assert) {
() => done()
]);
});

View File

@@ -7,4 +7,4 @@ import frappe
from frappe.model.document import Document
class DeliveryNoteItem(Document):
pass
pass

View File

@@ -406,4 +406,4 @@ def make_expense_claim(source_name, target_doc=None):
}
}}, target_doc)
return doc
return doc

View File

@@ -47,4 +47,4 @@
<td>{{ vehicle }}</td>
</tr>
</tbody>
</table>
</table>

View File

@@ -1309,4 +1309,4 @@ def on_doctype_update():
@erpnext.allow_regional
def set_item_tax_from_hsn_code(item):
pass
pass

View File

@@ -12,4 +12,4 @@ frappe.ui.form.on('Item', {
});
}
},
});
});

View File

@@ -4,4 +4,4 @@
<h1>{{ title }}</h1>
{% endblock %}
<!-- this is a sample default web page template -->
<!-- this is a sample default web page template -->

View File

@@ -1,4 +1,4 @@
<div>
<a href={{ route }}>{{ title }}</a>
</div>
<!-- this is a sample default list template -->
<!-- this is a sample default list template -->

View File

@@ -118,4 +118,4 @@ QUnit.test("test: item", function (assert) {
),
() => done()
]);
});
});

View File

@@ -28,4 +28,3 @@ class TestItemAttribute(unittest.TestCase):
item_attribute.increment = 0.5
item_attribute.save()

View File

@@ -7,4 +7,4 @@ import frappe
from frappe.model.document import Document
class ItemCustomerDetail(Document):
pass
pass

View File

@@ -65,4 +65,4 @@ class ItemManufacturer(Document):
@frappe.whitelist()
def get_item_manufacturer_part_no(item_code, manufacturer):
return frappe.db.get_value("Item Manufacturer",
{'item_code': item_code, 'manufacturer': manufacturer}, 'manufacturer_part_no')
{'item_code': item_code, 'manufacturer': manufacturer}, 'manufacturer_part_no')

View File

@@ -7,4 +7,4 @@ import frappe
from frappe.model.document import Document
class ItemQualityInspectionParameter(Document):
pass
pass

View File

@@ -9,4 +9,4 @@ import frappe
from frappe.model.document import Document
class ItemReorder(Document):
pass
pass

View File

@@ -7,4 +7,4 @@ import frappe
from frappe.model.document import Document
class ItemSupplier(Document):
pass
pass

View File

@@ -7,4 +7,4 @@ import frappe
from frappe.model.document import Document
class ItemTax(Document):
pass
pass

View File

@@ -9,4 +9,4 @@ import frappe
from frappe.model.document import Document
class ItemWebsiteSpecification(Document):
pass
pass

View File

@@ -7,4 +7,4 @@ import frappe
from frappe.model.document import Document
class LandedCostItem(Document):
pass
pass

View File

@@ -7,4 +7,4 @@ import frappe
from frappe.model.document import Document
class LandedCostPurchaseReceipt(Document):
pass
pass

View File

@@ -6,4 +6,4 @@ import frappe
from frappe.model.document import Document
class LandedCostTaxesandCharges(Document):
pass
pass

View File

@@ -20,4 +20,4 @@ def get_data():
'items': ['Work Order']
}
]
}
}

View File

@@ -37,4 +37,3 @@ QUnit.test("test material request", function(assert) {
() => done()
]);
});

View File

@@ -25,4 +25,3 @@ QUnit.test("test material request get items from BOM", function(assert) {
() => done()
]);
});

View File

@@ -27,4 +27,3 @@ QUnit.test("test material request", function(assert) {
() => done()
]);
});

View File

@@ -27,4 +27,3 @@ QUnit.test("test material request for issue", function(assert) {
() => done()
]);
});

View File

@@ -27,4 +27,3 @@ QUnit.test("test material request for transfer", function(assert) {
() => done()
]);
});

View File

@@ -12,4 +12,4 @@ class MaterialRequestItem(Document):
pass
def on_doctype_update():
frappe.db.add_index("Material Request Item", ["item_code", "warehouse"])
frappe.db.add_index("Material Request Item", ["item_code", "warehouse"])

View File

@@ -9,4 +9,4 @@ import frappe
from frappe.model.document import Document
class PackingSlipItem(Document):
pass
pass

View File

@@ -201,4 +201,4 @@ function get_item_details(item_code, uom=null) {
uom
});
}
}
}

View File

@@ -9,4 +9,4 @@ def get_data():
'items': ['Stock Entry', 'Delivery Note']
},
]
}
}

View File

@@ -4,4 +4,4 @@
.table-grid thead tr {
height: 50px;
}
}

View File

@@ -11,4 +11,4 @@ frappe.ui.form.on("Price List", {
frappe.set_route("Report", "Item Price");
}, "fa fa-money");
}
});
});

View File

@@ -62,4 +62,4 @@ def get_price_list_details(price_list):
frappe.cache().hset("price_list_details", price_list, price_list_details)
return price_list_details or {}
return price_list_details or {}

View File

@@ -6,4 +6,4 @@ import frappe
# test_ignore = ["Item"]
test_records = frappe.get_test_records('Price List')
test_records = frappe.get_test_records('Price List')

View File

@@ -55,4 +55,4 @@ QUnit.test("test price list with uom dependancy", function(assert) {
() => done()
]);
});
});

View File

@@ -1,3 +1,3 @@
{% include "erpnext/regional/india/taxes.js" %}
erpnext.setup_auto_gst_taxation('Purchase Receipt');
erpnext.setup_auto_gst_taxation('Purchase Receipt');

View File

@@ -326,7 +326,6 @@ class TestPurchaseReceipt(unittest.TestCase):
self.assertRaises(frappe.ValidationError, pr2.submit)
frappe.db.rollback()
def test_serial_no_supplier(self):
pr = make_purchase_receipt(item_code="_Test Serialized Item With Series", qty=1)
self.assertEqual(frappe.db.get_value("Serial No", pr.get("items")[0].serial_no, "supplier"),

View File

@@ -232,4 +232,4 @@ def get_serial_nos_to_allocate(serial_nos, to_allocate):
allocated_serial_nos = serial_nos[0: cint(to_allocate)]
serial_nos[:] = serial_nos[cint(to_allocate):] # pop out allocated serial nos and modify list
return "\n".join(allocated_serial_nos) if allocated_serial_nos else ""
else: return ""
else: return ""

View File

@@ -386,4 +386,4 @@ def create_putaway_rule(**args):
if not args.do_not_save:
putaway.save()
return putaway
return putaway

View File

@@ -81,4 +81,4 @@ frappe.ui.form.on("Quality Inspection", {
});
}
},
});
});

View File

@@ -7,4 +7,4 @@ import frappe
from frappe.model.document import Document
class QualityInspectionReading(Document):
pass
pass

View File

@@ -16,4 +16,4 @@ def get_template_details(template):
fields=["specification", "value", "acceptance_formula",
"numeric", "formula_based_criteria", "min_value", "max_value"],
filters={'parenttype': 'Quality Inspection Template', 'parent': template},
order_by="idx")
order_by="idx")

View File

@@ -193,4 +193,4 @@ class TestSerialNo(unittest.TestCase):
frappe.db.rollback()
def tearDown(self):
frappe.db.rollback()
frappe.db.rollback()

View File

@@ -150,8 +150,8 @@ frappe.ui.form.on('Shipment', {
frm.set_value('pickup_contact_name', '');
frm.set_value('pickup_contact', '');
}
frappe.throw(__("Email or Phone/Mobile of the Contact are mandatory to continue.")
+ "</br>" + __("Please set Email/Phone for the contact")
frappe.throw(__("Email or Phone/Mobile of the Contact are mandatory to continue.")
+ "</br>" + __("Please set Email/Phone for the contact")
+ ` <a href='/app/contact/${contact_name}'>${contact_name}</a>`);
}
let contact_display = r.message.contact_display;
@@ -244,8 +244,8 @@ frappe.ui.form.on('Shipment', {
frm.set_value('pickup_company', '');
frm.set_value('pickup_contact', '');
}
frappe.throw(__("Last Name, Email or Phone/Mobile of the user are mandatory to continue.") + "</br>"
+ __("Please first set Last Name, Email and Phone for the user")
frappe.throw(__("Last Name, Email or Phone/Mobile of the user are mandatory to continue.") + "</br>"
+ __("Please first set Last Name, Email and Phone for the user")
+ ` <a href="/app/user/${frappe.session.user}">${frappe.session.user}</a>`);
}
let contact_display = r.full_name;

View File

@@ -5,4 +5,4 @@ frappe.listview_settings['Shipment'] = {
return [__("Booked"), "green"];
}
}
};
};

View File

@@ -24,7 +24,7 @@ def create_test_delivery_note():
customer = get_shipment_customer()
item = get_shipment_item(company.name)
posting_date = date.today() + timedelta(days=1)
create_material_receipt(item, company.name)
delivery_note = frappe.new_doc("Delivery Note")
delivery_note.company = company.name
@@ -73,7 +73,7 @@ def create_test_shipment(delivery_notes = None):
shipment.pickup_to = '17:00'
shipment.description_of_content = 'unit test entry'
for delivery_note in delivery_notes:
shipment.append('shipment_delivery_note',
shipment.append('shipment_delivery_note',
{
"delivery_note": delivery_note.name
}
@@ -222,7 +222,7 @@ def create_material_receipt(item, company):
)
stock.insert()
stock.submit()
def create_shipment_item(item_name, company_name):
item = frappe.new_doc("Item")

View File

@@ -28,4 +28,3 @@ QUnit.test("test material request", function(assert) {
() => done()
]);
});

View File

@@ -32,4 +32,3 @@ QUnit.test("test material issue", function(assert) {
() => done()
]);
});

View File

@@ -29,4 +29,3 @@ QUnit.test("test material request", function(assert) {
() => done()
]);
});

View File

@@ -32,4 +32,3 @@ QUnit.test("test material receipt", function(assert) {
() => done()
]);
});

View File

@@ -31,4 +31,3 @@ QUnit.test("test material request", function(assert) {
() => done()
]);
});

View File

@@ -31,4 +31,3 @@ QUnit.test("test material Transfer to manufacture", function(assert) {
() => done()
]);
});

View File

@@ -39,4 +39,3 @@ QUnit.test("test repack", function(assert) {
() => done()
]);
});

View File

@@ -31,4 +31,3 @@ QUnit.test("test material Transfer to manufacture", function(assert) {
() => done()
]);
});

View File

@@ -7,4 +7,4 @@ import frappe
from frappe.model.document import Document
class StockEntryDetail(Document):
pass
pass

View File

@@ -29,4 +29,3 @@ QUnit.test("test Stock Reconciliation", function(assert) {
() => done()
]);
});

View File

@@ -458,4 +458,3 @@ def set_valuation_method(item_code, valuation_method):
}, allow_negative_stock=1)
test_dependencies = ["Item", "Warehouse"]

View File

@@ -7,4 +7,4 @@ import frappe
from frappe.model.document import Document
class UOMConversionDetail(Document):
pass
pass

View File

@@ -16,4 +16,4 @@ QUnit.test("test: warehouse", function (assert) {
() => done()
]);
});
});

View File

@@ -180,4 +180,4 @@ def get_group_stock_account(company, company_abbr=None):
if not company_abbr:
company_abbr = frappe.get_cached_value("Company", company, 'abbr')
group_stock_account = "Current Assets - " + company_abbr
return group_stock_account
return group_stock_account

View File

@@ -48,11 +48,11 @@ frappe.ui.form.on("Warehouse", {
frm.add_custom_button(__('Non-Group to Group'),
function() { convert_to_group_or_ledger(frm); }, 'fa fa-retweet', 'btn-default')
}
frm.toggle_enable(['is_group', 'company'], false);
frappe.dynamic_link = {doc: frm.doc, fieldname: 'name', doctype: 'Warehouse'};
frm.fields_dict['parent_warehouse'].get_query = function(doc) {
return {
filters: {
@@ -83,7 +83,7 @@ function convert_to_group_or_ledger(frm){
callback: function(){
frm.refresh();
}
})
}

View File

@@ -24,4 +24,4 @@ frappe.treeview_settings['Warehouse'] = {
+ '</span>').insertBefore(node.$ul);
}
}
}
}

View File

@@ -59,4 +59,3 @@ document_list.forEach((doctype) => {
}
});
});

View File

@@ -37,4 +37,4 @@
{% endif %}
</div>
</div>
{% endfor %}
{% endfor %}

View File

@@ -16,4 +16,4 @@
% Occupied
</div>
</div>
</div>
</div>

View File

@@ -24,7 +24,7 @@ def execute(filters=None):
data.append([item, item_map[item]["item_name"], item_map[item]["description"], wh, batch,
frappe.db.get_value('Batch', batch, 'expiry_date'), qty_dict.expiry_status
])
return columns, data
@@ -70,7 +70,7 @@ def get_item_warehouse_batch_map(filters, float_precision):
"expires_on": None, "expiry_status": None}))
qty_dict = iwb_map[d.item_code][d.warehouse][d.batch_no]
expiry_date_unicode = frappe.db.get_value('Batch', d.batch_no, 'expiry_date')
qty_dict.expires_on = expiry_date_unicode

View File

@@ -64,7 +64,7 @@ def get_data(filters: Filters) -> Data:
assign_self_values(leveled_dict, svd_list)
assign_agg_values(leveled_dict)
data = []
for item in leveled_dict.items():
i = item[1]
@@ -160,7 +160,7 @@ def get_row(name:str, value:float, is_bold:int, indent:int) -> Row:
if is_bold:
item_group = frappe.bold(item_group)
return frappe._dict(item_group=item_group, cogs_debit=value, indent=indent)
def assign_item_groups_to_svd_list(svd_list: SVDList) -> None:
ig_map = get_item_groups_map(svd_list)

View File

@@ -174,4 +174,4 @@ class DelayedItemReport(object):
"fieldname": "po_no",
"fieldtype": "Data",
"width": 100
}]
}]

View File

@@ -87,4 +87,4 @@ class DelayedOrderReport(DelayedItemReport):
"fieldname": "po_no",
"fieldtype": "Data",
"width": 110
}]
}]

View File

@@ -6,4 +6,3 @@ frappe.require("assets/erpnext/js/sales_trends_filters.js", function() {
filters: erpnext.get_sales_trends_filters()
}
});

View File

@@ -47,4 +47,4 @@ def get_chart_data(data, filters):
]
},
"type" : "bar"
}
}

View File

@@ -108,4 +108,4 @@ def get_columns():
'fieldtype': 'Float',
'fieldname': 'differnce',
'width': 110
}]
}]

View File

@@ -145,4 +145,4 @@ def get_columns():
'fieldtype': 'Currency',
'fieldname': 'valuation_rate',
'width': 110
}]
}]

View File

@@ -138,4 +138,4 @@ def get_columns(filters):
"fieldtype": "Currency",
"width": "150"
}
]
]

View File

@@ -11,4 +11,4 @@ frappe.query_reports["Item Price Stock"] = {
"options": "Item"
}
]
}
}

View File

@@ -158,5 +158,3 @@ def get_columns():
]
return columns

View File

@@ -29,4 +29,4 @@ frappe.query_reports["Itemwise Recommended Reorder Level"] = {
"options": "Brand"
}
]
}
}

View File

@@ -6,4 +6,3 @@ frappe.require("assets/erpnext/js/purchase_trends_filters.js", function() {
filters: erpnext.get_purchase_trends_filters()
}
});

View File

@@ -48,4 +48,4 @@ def get_chart_data(data, filters):
},
"type" : "bar",
"colors":["#5e64ff"]
}
}

View File

@@ -50,4 +50,3 @@ def get_columns(filters):
def get_data(filters):
return get_stock_ledger_entries(filters, '<=', order="asc") or []

View File

@@ -64,4 +64,4 @@ frappe.query_reports["Stock Ageing"] = {
"default": 0
}
]
}
}

View File

@@ -208,7 +208,3 @@ def get_chart_data(columns):
chart["type"] = "line"
return chart

View File

@@ -128,4 +128,4 @@ def get_columns(filters):
"fieldtype": "Currency",
"width": "120"
}
]
]

View File

@@ -32,7 +32,7 @@ def execute(filters=None):
if filters.brand and filters.brand != item.brand:
continue
elif filters.item_group and filters.item_group != item.item_group:
continue

View File

@@ -58,14 +58,14 @@ def get_data(warehouse):
serial_item_list = frappe.get_all("Item", filters={
'has_serial_no': True,
}, fields=['item_code', 'item_name'])
status_list = ['Active', 'Expired']
data = []
for item in serial_item_list:
total_serial_no = frappe.db.count("Serial No",
total_serial_no = frappe.db.count("Serial No",
filters={"item_code": item.item_code, "status": ("in", status_list), "warehouse": warehouse})
actual_qty = frappe.db.get_value('Bin', fieldname=['actual_qty'],
actual_qty = frappe.db.get_value('Bin', fieldname=['actual_qty'],
filters={"warehouse": warehouse, "item_code": item.item_code})
# frappe.db.get_value returns null if no record exist.
@@ -84,4 +84,4 @@ def get_data(warehouse):
data.append(row)
return data
return data

View File

@@ -25,4 +25,4 @@ frappe.query_reports["Supplier-Wise Sales Analytics"] = {
"default": frappe.datetime.month_end()
},
]
}
}

View File

@@ -38,4 +38,4 @@ frappe.query_reports["Total Stock Summary"] = {
"reqd": 1
},
]
}
}