From 61fb7ee5b80239b3785053d97323fa95a21b6886 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 12 Nov 2015 11:59:08 +0530 Subject: [PATCH] Deleted Stock UOM Replace Utility --- .../stock/stock_uom_replace_utility.html | 284 ------------------ .../docs/user/guides/stock/tools/index.txt | 1 - .../stock/tools/stock-uom-replace-utility.md | 10 - erpnext/patches.txt | 1 + .../stock_uom_replace_utility/README.md | 1 - .../stock_uom_replace_utility/__init__.py | 1 - .../stock_uom_replace_utility.js | 19 -- .../stock_uom_replace_utility.json | 178 ----------- .../stock_uom_replace_utility.py | 116 ------- 9 files changed, 1 insertion(+), 610 deletions(-) delete mode 100644 erpnext/docs/current/models/stock/stock_uom_replace_utility.html delete mode 100644 erpnext/docs/user/guides/stock/tools/stock-uom-replace-utility.md delete mode 100644 erpnext/stock/doctype/stock_uom_replace_utility/README.md delete mode 100644 erpnext/stock/doctype/stock_uom_replace_utility/__init__.py delete mode 100644 erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js delete mode 100644 erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json delete mode 100644 erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py diff --git a/erpnext/docs/current/models/stock/stock_uom_replace_utility.html b/erpnext/docs/current/models/stock/stock_uom_replace_utility.html deleted file mode 100644 index 5d3b9fa55f..0000000000 --- a/erpnext/docs/current/models/stock/stock_uom_replace_utility.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - -
- - - Version 6.7.7 - - - Source - -
- -Single - - - - - - -

Fields

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SrFieldnameTypeLabelOptions
1item_code - Link - Item - - - - - - -Item - - - -
2current_stock_uom - Link - Current Stock UOM - - - - - - -UOM - - - -
3new_stock_uom - Link - New Stock UOM - - - - - - -UOM - - - -
4conversion_factor - Float - Conversion Factor - -
5update - Button - Update - - -
update_stock_uom
-
- - -
-

Controller

-

erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility

- - - - - - - -

Class StockUOMReplaceUtility

- -

Inherits from frappe.model.document.Document - -

-
-
- - - - -

- - - update_stock_uom - (self) -

-

No docs

-
-
- - - - - -

- - - validate_item - (self) -

-

No docs

-
-
- - - - - -

- - - validate_mandatory - (self) -

-

No docs

-
-
- - - - - -

- - - validate_uom_integer_type - (self) -

-

No docs

-
-
- - -
-
- - - - - - -

Public API -
/api/method/erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.get_stock_uom -

-

- - - erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.get_stock_uom - (item_code) -

-

No docs

-
-
- - - - - - - -

- - - erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.update_bin - (item_code, new_stock_uom, conversion_factor) -

-

No docs

-
-
- - - - - - - -

- - - erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.update_item_master - (item_code, new_stock_uom, conversion_factor) -

-

No docs

-
-
- - - - - - - -

- - - erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.update_stock_ledger_entry - (item_code, new_stock_uom, conversion_factor) -

-

No docs

-
-
- - - - - - - - - - - \ No newline at end of file diff --git a/erpnext/docs/user/guides/stock/tools/index.txt b/erpnext/docs/user/guides/stock/tools/index.txt index d6a5816b66..3aca9b75af 100644 --- a/erpnext/docs/user/guides/stock/tools/index.txt +++ b/erpnext/docs/user/guides/stock/tools/index.txt @@ -1,4 +1,3 @@ packing-slip quality-inspection landed-cost-voucher -stock-uom-replace-utility \ No newline at end of file diff --git a/erpnext/docs/user/guides/stock/tools/stock-uom-replace-utility.md b/erpnext/docs/user/guides/stock/tools/stock-uom-replace-utility.md deleted file mode 100644 index 3c5428a38f..0000000000 --- a/erpnext/docs/user/guides/stock/tools/stock-uom-replace-utility.md +++ /dev/null @@ -1,10 +0,0 @@ -#Stock UOM Replace Utility - -This tool will help you to change the UOM (Unit of measurement) of an existing Item. - -You need to select an Item, system fetches the Existing UOM of that item. You can then select the new UOM for that item -and specify the conversion factor. - -Stock Uom Replace - -{next} diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 3ad735ad9f..37a6b27042 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -231,3 +231,4 @@ erpnext.patches.v6_4.fix_expense_included_in_valuation execute:frappe.delete_doc_if_exists("Report", "Item-wise Last Purchase Rate") erpnext.patches.v6_6.fix_website_image erpnext.patches.v6_6.remove_fiscal_year_from_leave_allocation +execute:frappe.delete_doc_if_exists("DocType", "Stock UOM Replace Utility") \ No newline at end of file diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/README.md b/erpnext/stock/doctype/stock_uom_replace_utility/README.md deleted file mode 100644 index 6db95a6431..0000000000 --- a/erpnext/stock/doctype/stock_uom_replace_utility/README.md +++ /dev/null @@ -1 +0,0 @@ -Tool to replace unit of measure (UoM) of an Item. \ No newline at end of file diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/__init__.py b/erpnext/stock/doctype/stock_uom_replace_utility/__init__.py deleted file mode 100644 index baffc48825..0000000000 --- a/erpnext/stock/doctype/stock_uom_replace_utility/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from __future__ import unicode_literals diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js deleted file mode 100644 index eb45ade04c..0000000000 --- a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors -// License: GNU General Public License v3. See license.txt - -$.extend(cur_frm.cscript, { - onload: function() { - cur_frm.set_query("item_code", function() { - return erpnext.queries.item({"is_stock_item": 1}); - }); - }, - - item_code: function() { - if(cur_frm.doc.item_code) { - return cur_frm.call({ - method: "get_stock_uom", - args: { item_code: cur_frm.doc.item_code } - }); - } - } -}); diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json deleted file mode 100644 index 6cadd6aae5..0000000000 --- a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json +++ /dev/null @@ -1,178 +0,0 @@ -{ - "allow_copy": 0, - "allow_import": 0, - "allow_rename": 0, - "creation": "2013-01-10 16:34:30", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "fields": [ - { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "item_code", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Item", - "no_copy": 0, - "options": "Item", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0 - }, - { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "current_stock_uom", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Current Stock UOM", - "no_copy": 0, - "options": "UOM", - "permlevel": 0, - "print_hide": 0, - "read_only": 1, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0 - }, - { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "new_stock_uom", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "New Stock UOM", - "no_copy": 0, - "options": "UOM", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0 - }, - { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "conversion_factor", - "fieldtype": "Float", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Conversion Factor", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0 - }, - { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "update", - "fieldtype": "Button", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Update", - "no_copy": 0, - "options": "update_stock_uom", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0 - } - ], - "hide_heading": 0, - "hide_toolbar": 0, - "icon": "icon-magic", - "idx": 1, - "in_create": 0, - "in_dialog": 0, - "is_submittable": 0, - "issingle": 1, - "istable": 0, - "modified": "2015-08-12 08:52:09.322664", - "modified_by": "Administrator", - "module": "Stock", - "name": "Stock UOM Replace Utility", - "owner": "Administrator", - "permissions": [ - { - "amend": 0, - "apply_user_permissions": 0, - "cancel": 0, - "create": 1, - "delete": 0, - "email": 1, - "export": 0, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 0, - "role": "Item Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 1 - }, - { - "amend": 0, - "apply_user_permissions": 0, - "cancel": 0, - "create": 1, - "delete": 0, - "email": 1, - "export": 0, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 0, - "role": "Stock Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 0, - "write": 1 - } - ], - "read_only": 0, - "read_only_onload": 0 -} \ No newline at end of file diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py deleted file mode 100644 index 267649359b..0000000000 --- a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors -# License: GNU General Public License v3. See license.txt - -from __future__ import unicode_literals -import frappe -from frappe.utils import cstr, flt, cint -from frappe import _ - - -from frappe.model.document import Document - -class StockUOMReplaceUtility(Document): - - # Update Stock UOM - def update_stock_uom(self): - self.validate_item() - self.validate_mandatory() - self.validate_uom_integer_type() - - update_stock_ledger_entry(self.item_code, self.new_stock_uom, self.conversion_factor) - update_bin(self.item_code, self.new_stock_uom, self.conversion_factor) - update_item_master(self.item_code, self.new_stock_uom, self.conversion_factor) - - #if item is template change UOM for all associated variants - if frappe.db.get_value("Item", self.item_code, "has_variants"): - for d in frappe.db.get_all("Item", filters= {"variant_of": self.item_code}): - update_stock_ledger_entry(d.name, self.new_stock_uom, self.conversion_factor) - update_bin(d.name, self.new_stock_uom, self.conversion_factor) - update_item_master(d.name, self.new_stock_uom, self.conversion_factor) - - def validate_item(self): - if frappe.db.get_value("Item", self.item_code, "variant_of"): - frappe.throw(_("You cannot change default UOM of Variant. To change default UOM for Variant change default UOM of the Template")) - - def validate_mandatory(self): - if not cstr(self.item_code): - frappe.throw(_("Item is required")) - - if not cstr(self.new_stock_uom): - frappe.throw(_("New Stock UOM is required")) - - if cstr(self.current_stock_uom) == cstr(self.new_stock_uom): - frappe.throw(_("New Stock UOM must be different from current stock UOM")) - - # check conversion factor - if not flt(self.conversion_factor): - frappe.throw(_("Conversion Factor is required")) - - stock_uom = frappe.db.get_value("Item", self.item_code, "stock_uom") - if cstr(self.new_stock_uom) == cstr(stock_uom): - frappe.throw(_("Item is updated")) - - def validate_uom_integer_type(self): - current_is_integer = frappe.db.get_value("UOM", self.current_stock_uom, "must_be_whole_number") - new_is_integer = frappe.db.get_value("UOM", self.new_stock_uom, "must_be_whole_number") - - if not current_is_integer and new_is_integer: - frappe.throw(_("New UOM must NOT be of type Whole Number")) - - if current_is_integer and new_is_integer and cint(self.conversion_factor)!=self.conversion_factor: - frappe.throw(_("Conversion factor cannot be in fractions")) - -def update_item_master(item_code, new_stock_uom, conversion_factor): - frappe.db.set_value("Item", item_code, "stock_uom", new_stock_uom) - frappe.msgprint(_("Stock UOM updated for Item {0}").format(item_code)) - -def update_bin(item_code, new_stock_uom, conversion_factor): - # update bin - if flt(conversion_factor) != flt(1): - frappe.db.sql("""update `tabBin` - set stock_uom = %s, - indented_qty = ifnull(indented_qty,0) * %s, - ordered_qty = ifnull(ordered_qty,0) * %s, - reserved_qty = ifnull(reserved_qty,0) * %s, - planned_qty = ifnull(planned_qty,0) * %s, - projected_qty = actual_qty + ordered_qty + indented_qty + - planned_qty - reserved_qty - where item_code = %s""", (new_stock_uom, conversion_factor, - conversion_factor, conversion_factor, - conversion_factor, item_code)) - else: - frappe.db.sql("update `tabBin` set stock_uom = %s where item_code = %s", - (new_stock_uom, item_code) ) - -def update_stock_ledger_entry(item_code, new_stock_uom, conversion_factor): - # update stock ledger entry - from erpnext.stock.stock_ledger import update_entries_after - - if flt(conversion_factor) != flt(1): - frappe.db.sql("""update `tabStock Ledger Entry` - set - stock_uom = %s, - actual_qty = ifnull(actual_qty,0) * %s, - qty_after_transaction = ifnull(qty_after_transaction, 0) * %s - where item_code = %s""", - (new_stock_uom, conversion_factor, conversion_factor, item_code)) - else: - frappe.db.sql("""update `tabStock Ledger Entry` set stock_uom=%s - where item_code=%s""", (new_stock_uom, item_code)) - - # acknowledge user - frappe.msgprint(_("Stock Ledger entries balances updated")) - - # update item valuation - if flt(conversion_factor) != flt(1): - wh = frappe.db.sql("select name from `tabWarehouse`") - for w in wh: - update_entries_after({"item_code": item_code, "warehouse": w[0]}) - - # acknowledge user - frappe.msgprint(_("Item valuation updated")) - -@frappe.whitelist() -def get_stock_uom(item_code): - return { 'current_stock_uom': cstr(frappe.db.get_value('Item', item_code, 'stock_uom')) } -