Skip to content

Commit

Permalink
Merge pull request #30528 from s-aga-r/is-subcontracted-fieldtype
Browse files Browse the repository at this point in the history
refactor!: change "is_subcontracted" field type from "Select" to "Check"
  • Loading branch information
ankush authored Apr 4, 2022
2 parents a896895 + e80cd29 commit 52eb0a9
Show file tree
Hide file tree
Showing 41 changed files with 121 additions and 101 deletions.
6 changes: 3 additions & 3 deletions erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
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

0 comments on commit 52eb0a9

Please sign in to comment.