Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor!: change "is_subcontracted" field type from "Select" to "Check" #30528

Merged
merged 5 commits into from
Apr 4, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying.
})
}, __("Get Items From"));
}
this.frm.toggle_reqd("supplier_warehouse", this.frm.doc.is_subcontracted==="Yes");
this.frm.toggle_reqd("supplier_warehouse", this.frm.doc.is_subcontracted);

if (doc.docstatus == 1 && !doc.inter_company_invoice_reference) {
frappe.model.with_doc("Supplier", me.frm.doc.supplier, function() {
Expand Down Expand Up @@ -571,10 +571,10 @@ frappe.ui.form.on("Purchase Invoice", {
},

is_subcontracted: function(frm) {
if (frm.doc.is_subcontracted === "Yes") {
if (frm.doc.is_subcontracted) {
erpnext.buying.get_default_bom(frm);
}
frm.toggle_reqd("supplier_warehouse", frm.doc.is_subcontracted==="Yes");
frm.toggle_reqd("supplier_warehouse", frm.doc.is_subcontracted);
},

update_stock: function(frm) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -543,11 +543,10 @@
"fieldtype": "Column Break"
},
{
"default": "No",
"default": "0",
"fieldname": "is_subcontracted",
"fieldtype": "Select",
"label": "Raw Materials Supplied",
"options": "No\nYes",
"fieldtype": "Check",
"label": "Is Subcontracted",
"print_hide": 1
},
{
Expand Down Expand Up @@ -1366,7 +1365,7 @@
"width": "50px"
},
{
"depends_on": "eval:doc.update_stock && doc.is_subcontracted==\"Yes\"",
"depends_on": "eval:doc.update_stock && doc.is_subcontracted",
"fieldname": "supplier_warehouse",
"fieldtype": "Link",
"label": "Supplier Warehouse",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -901,7 +901,7 @@ def test_subcontracting_via_purchase_invoice(self):
)

pi = make_purchase_invoice(
item_code="_Test FG Item", qty=10, rate=500, update_stock=1, is_subcontracted="Yes"
item_code="_Test FG Item", qty=10, rate=500, update_stock=1, is_subcontracted=1
)

self.assertEqual(len(pi.get("supplied_items")), 2)
Expand Down Expand Up @@ -1611,7 +1611,7 @@ def make_purchase_invoice(**args):
pi.conversion_rate = args.conversion_rate or 1
pi.is_return = args.is_return
pi.return_against = args.return_against
pi.is_subcontracted = args.is_subcontracted or "No"
pi.is_subcontracted = args.is_subcontracted or 0
pi.supplier_warehouse = args.supplier_warehouse or "_Test Warehouse 1 - _TC"
pi.cost_center = args.parent_cost_center

Expand Down Expand Up @@ -1674,7 +1674,7 @@ def make_purchase_invoice_against_cost_center(**args):
pi.is_return = args.is_return
pi.is_return = args.is_return
pi.credit_to = args.return_against or "Creditors - _TC"
pi.is_subcontracted = args.is_subcontracted or "No"
pi.is_subcontracted = args.is_subcontracted or 0
if args.supplier_warehouse:
pi.supplier_warehouse = "_Test Warehouse 1 - _TC"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -623,7 +623,7 @@
},
{
"default": "0",
"depends_on": "eval:parent.is_subcontracted == 'Yes'",
"depends_on": "eval:parent.is_subcontracted",
"fieldname": "include_exploded_items",
"fieldtype": "Check",
"label": "Include Exploded Items",
Expand Down
2 changes: 1 addition & 1 deletion erpnext/accounts/report/tax_detail/test_tax_detail.json
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@
"is_opening": "No",
"is_paid": 0,
"is_return": 0,
"is_subcontracted": "No",
"is_subcontracted": 0,
"items": [
{
"allow_zero_valuation_rate": 0,
Expand Down
4 changes: 2 additions & 2 deletions erpnext/buying/doctype/purchase_order/purchase_order.js
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends e
if (doc.status != "On Hold") {
if(flt(doc.per_received) < 100 && allow_receipt) {
cur_frm.add_custom_button(__('Purchase Receipt'), this.make_purchase_receipt, __('Create'));
if(doc.is_subcontracted==="Yes" && me.has_unsupplied_items()) {
if(doc.is_subcontracted && me.has_unsupplied_items()) {
cur_frm.add_custom_button(__('Material to Supplier'),
function() { me.make_stock_entry(); }, __("Transfer"));
}
Expand Down Expand Up @@ -636,7 +636,7 @@ function set_schedule_date(frm) {
frappe.provide("erpnext.buying");

frappe.ui.form.on("Purchase Order", "is_subcontracted", function(frm) {
if (frm.doc.is_subcontracted === "Yes") {
if (frm.doc.is_subcontracted) {
erpnext.buying.get_default_bom(frm);
}
});
9 changes: 4 additions & 5 deletions erpnext/buying/doctype/purchase_order/purchase_order.json
Original file line number Diff line number Diff line change
Expand Up @@ -457,16 +457,15 @@
"fieldtype": "Column Break"
},
{
"default": "No",
"default": "0",
"fieldname": "is_subcontracted",
"fieldtype": "Select",
"fieldtype": "Check",
"in_standard_filter": 1,
"label": "Supply Raw Materials",
"options": "No\nYes",
"label": "Is Subcontracted",
"print_hide": 1
},
{
"depends_on": "eval:doc.is_subcontracted==\"Yes\"",
"depends_on": "eval:doc.is_subcontracted",
"fieldname": "supplier_warehouse",
"fieldtype": "Link",
"label": "Supplier Warehouse",
Expand Down
8 changes: 4 additions & 4 deletions erpnext/buying/doctype/purchase_order/purchase_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ def validate_minimum_order_qty(self):
)

def validate_bom_for_subcontracting_items(self):
if self.is_subcontracted == "Yes":
if self.is_subcontracted:
for item in self.items:
if not item.bom:
frappe.throw(
Expand Down Expand Up @@ -294,7 +294,7 @@ def update_status(self, status):
self.set_status(update=True, status=status)
self.update_requested_qty()
self.update_ordered_qty()
if self.is_subcontracted == "Yes":
if self.is_subcontracted:
self.update_reserved_qty_for_subcontract()

self.notify_update()
Expand All @@ -311,7 +311,7 @@ def on_submit(self):
self.update_ordered_qty()
self.validate_budget()

if self.is_subcontracted == "Yes":
if self.is_subcontracted:
self.update_reserved_qty_for_subcontract()

frappe.get_doc("Authorization Control").validate_approving_authority(
Expand All @@ -331,7 +331,7 @@ def on_cancel(self):
if self.has_drop_ship_item():
self.update_delivered_qty_in_sales_order()

if self.is_subcontracted == "Yes":
if self.is_subcontracted:
self.update_reserved_qty_for_subcontract()

self.check_on_hold_or_closed_status()
Expand Down
20 changes: 10 additions & 10 deletions erpnext/buying/doctype/purchase_order/test_purchase_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ def test_update_child_with_tax_template(self):
frappe.get_doc("Item Tax Template", "Test Update Items Template - _TC").delete()

def test_update_child_uom_conv_factor_change(self):
po = create_purchase_order(item_code="_Test FG Item", is_subcontracted="Yes")
po = create_purchase_order(item_code="_Test FG Item", is_subcontracted=1)
total_reqd_qty = sum([d.get("required_qty") for d in po.as_dict().get("supplied_items")])

trans_item = json.dumps(
Expand Down Expand Up @@ -573,7 +573,7 @@ def test_make_purchase_invoice_with_terms(self):
automatically_fetch_payment_terms(enable=0)

def test_subcontracting(self):
po = create_purchase_order(item_code="_Test FG Item", is_subcontracted="Yes")
po = create_purchase_order(item_code="_Test FG Item", is_subcontracted=1)
self.assertEqual(len(po.get("supplied_items")), 2)

def test_warehouse_company_validation(self):
Expand Down Expand Up @@ -617,7 +617,7 @@ def test_group_same_items(self):
"doctype": "Purchase Order",
"company": "_Test Company",
"supplier": "_Test Supplier",
"is_subcontracted": "No",
"is_subcontracted": 0,
"schedule_date": add_days(nowdate(), 1),
"currency": frappe.get_cached_value("Company", "_Test Company", "default_currency"),
"conversion_factor": 1,
Expand Down Expand Up @@ -764,7 +764,7 @@ def test_reserved_qty_subcontract_po(self):
)

# Submit PO
po = create_purchase_order(item_code="_Test FG Item", is_subcontracted="Yes")
po = create_purchase_order(item_code="_Test FG Item", is_subcontracted=1)

bin2 = frappe.db.get_value(
"Bin",
Expand Down Expand Up @@ -919,7 +919,7 @@ def test_exploded_items_in_subcontracted(self):
po = create_purchase_order(
item_code=item_code,
qty=1,
is_subcontracted="Yes",
is_subcontracted=1,
supplier_warehouse="_Test Warehouse 1 - _TC",
include_exploded_items=1,
)
Expand All @@ -936,7 +936,7 @@ def test_exploded_items_in_subcontracted(self):
po1 = create_purchase_order(
item_code=item_code,
qty=1,
is_subcontracted="Yes",
is_subcontracted=1,
supplier_warehouse="_Test Warehouse 1 - _TC",
include_exploded_items=0,
)
Expand All @@ -957,7 +957,7 @@ def test_backflush_based_on_stock_entry(self):
po = create_purchase_order(
item_code=item_code,
qty=order_qty,
is_subcontracted="Yes",
is_subcontracted=1,
supplier_warehouse="_Test Warehouse 1 - _TC",
)

Expand Down Expand Up @@ -1050,7 +1050,7 @@ def test_supplied_qty_against_subcontracted_po(self):
po = create_purchase_order(
item_code=item_code,
qty=order_qty,
is_subcontracted="Yes",
is_subcontracted=1,
supplier_warehouse="_Test Warehouse 1 - _TC",
do_not_save=True,
)
Expand Down Expand Up @@ -1283,7 +1283,7 @@ def create_purchase_order(**args):
po.schedule_date = add_days(nowdate(), 1)
po.company = args.company or "_Test Company"
po.supplier = args.supplier or "_Test Supplier"
po.is_subcontracted = args.is_subcontracted or "No"
po.is_subcontracted = args.is_subcontracted or 0
po.currency = args.currency or frappe.get_cached_value("Company", po.company, "default_currency")
po.conversion_factor = args.conversion_factor or 1
po.supplier_warehouse = args.supplier_warehouse or None
Expand All @@ -1309,7 +1309,7 @@ def create_purchase_order(**args):
if not args.do_not_save:
po.insert()
if not args.do_not_submit:
if po.is_subcontracted == "Yes":
if po.is_subcontracted:
supp_items = po.get("supplied_items")
for d in supp_items:
if not d.reserve_warehouse:
Expand Down
4 changes: 2 additions & 2 deletions erpnext/buying/doctype/purchase_order/test_records.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"doctype": "Purchase Order",
"base_grand_total": 5000.0,
"grand_total": 5000.0,
"is_subcontracted": "Yes",
"is_subcontracted": 1,
"naming_series": "_T-Purchase Order-",
"base_net_total": 5000.0,
"items": [
Expand Down Expand Up @@ -42,7 +42,7 @@
"doctype": "Purchase Order",
"base_grand_total": 5000.0,
"grand_total": 5000.0,
"is_subcontracted": "No",
"is_subcontracted": 0,
"naming_series": "_T-Purchase Order-",
"base_net_total": 5000.0,
"items": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -572,7 +572,7 @@
"read_only": 1
},
{
"depends_on": "eval:parent.is_subcontracted == 'Yes'",
"depends_on": "eval:parent.is_subcontracted",
"fieldname": "bom",
"fieldtype": "Link",
"label": "BOM",
Expand All @@ -581,7 +581,7 @@
},
{
"default": "0",
"depends_on": "eval:parent.is_subcontracted == 'Yes'",
"depends_on": "eval:parent.is_subcontracted",
"fieldname": "include_exploded_items",
"fieldtype": "Check",
"label": "Include Exploded Items",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -773,11 +773,10 @@
"fieldtype": "Column Break"
},
{
"default": "No",
"default": "0",
"fieldname": "is_subcontracted",
"fieldtype": "Select",
"fieldtype": "Check",
"label": "Is Subcontracted",
"options": "\nYes\nNo",
"print_hide": 1
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"doctype": "Supplier Quotation",
"base_grand_total": 5000.0,
"grand_total": 5000.0,
"is_subcontracted": "No",
"is_subcontracted": 0,
"naming_series": "_T-Supplier Quotation-",
"base_net_total": 5000.0,
"items": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ frappe.query_reports["Subcontract Order Summary"] = {
return {
filters: {
docstatus: 1,
is_subcontracted: 'Yes',
is_subcontracted: 1,
company: frappe.query_report.get_filter_value('company')
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def get_subcontracted_orders(report_filters):
def get_filters(report_filters):
filters = [
["Purchase Order", "docstatus", "=", 1],
["Purchase Order", "is_subcontracted", "=", "Yes"],
["Purchase Order", "is_subcontracted", "=", 1],
[
"Purchase Order",
"transaction_date",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def get_data(data, filters):

def get_po(filters):
record_filters = [
["is_subcontracted", "=", "Yes"],
["is_subcontracted", "=", 1],
["supplier", "=", filters.supplier],
["transaction_date", "<=", filters.to_date],
["transaction_date", ">=", filters.from_date],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

class TestSubcontractedItemToBeReceived(FrappeTestCase):
def test_pending_and_received_qty(self):
po = create_purchase_order(item_code="_Test FG Item", is_subcontracted="Yes")
po = create_purchase_order(item_code="_Test FG Item", is_subcontracted=1)
transfer_param = []
make_stock_entry(
item_code="_Test Item", target="_Test Warehouse 1 - _TC", qty=100, basic_rate=100
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ def get_po_items_to_supply(filters):
],
filters=[
["Purchase Order", "per_received", "<", "100"],
["Purchase Order", "is_subcontracted", "=", "Yes"],
["Purchase Order", "is_subcontracted", "=", 1],
["Purchase Order", "supplier", "=", filters.supplier],
["Purchase Order", "transaction_date", "<=", filters.to_date],
["Purchase Order", "transaction_date", ">=", filters.from_date],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
class TestSubcontractedItemToBeTransferred(FrappeTestCase):
def test_pending_and_transferred_qty(self):
po = create_purchase_order(
item_code="_Test FG Item", is_subcontracted="Yes", supplier_warehouse="_Test Warehouse 1 - _TC"
item_code="_Test FG Item", is_subcontracted=1, supplier_warehouse="_Test Warehouse 1 - _TC"
)

# Material Receipt of RMs
Expand Down
2 changes: 1 addition & 1 deletion erpnext/controllers/accounts_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -2586,7 +2586,7 @@ def validate_quantity(child_item, d):
parent.update_ordered_qty()
parent.update_ordered_and_reserved_qty()
parent.update_receiving_percentage()
if parent.is_subcontracted == "Yes":
if parent.is_subcontracted:
parent.update_reserved_qty_for_subcontract()
parent.create_raw_materials_supplied("supplied_items")
parent.save()
Expand Down
Loading