Merge pull request #4691 from anandpdoshi/cleanup/remove-is-service-item

[cleanup] Removed 'Is Service Item' checkbox and filters
This commit is contained in:
Nabin Hait 2016-01-29 11:10:54 +05:30
commit 5bedd649df
10 changed files with 20 additions and 81 deletions

View File

@ -161,7 +161,7 @@ class SellingController(StockController):
for d in self.get("items"):
if d.qty is None:
frappe.throw(_("Row {0}: Qty is mandatory").format(d.idx))
if self.has_product_bundle(d.item_code):
for p in self.get("packed_items"):
if p.parent_detail_docname == d.name and p.parent_item == d.item_code:
@ -199,17 +199,17 @@ class SellingController(StockController):
where so_detail = %s and docstatus = 1
and against_sales_order = %s
and parent != %s""", (so_detail, so, current_docname))
delivered_via_si = frappe.db.sql("""select sum(si_item.qty)
delivered_via_si = frappe.db.sql("""select sum(si_item.qty)
from `tabSales Invoice Item` si_item, `tabSales Invoice` si
where si_item.parent = si.name and si.update_stock = 1
and si_item.so_detail = %s and si.docstatus = 1
and si_item.so_detail = %s and si.docstatus = 1
and si_item.sales_order = %s
and si.name != %s""", (so_detail, so, current_docname))
total_delivered_qty = (flt(delivered_via_dn[0][0]) if delivered_via_dn else 0) \
+ (flt(delivered_via_si[0][0]) if delivered_via_si else 0)
return total_delivered_qty
def get_so_qty_and_warehouse(self, so_detail):
@ -230,10 +230,10 @@ def check_active_sales_items(obj):
for d in obj.get("items"):
if d.item_code:
item = frappe.db.sql("""select docstatus, is_sales_item,
is_service_item, income_account from tabItem where name = %s""",
income_account from tabItem where name = %s""",
d.item_code, as_dict=True)[0]
if item.is_sales_item == 0 and item.is_service_item == 0:
frappe.throw(_("Item {0} must be Sales or Service Item in {1}").format(d.item_code, d.idx))
if item.is_sales_item == 0:
frappe.throw(_("Item {0} must be a Sales Item in {1}").format(d.item_code, d.idx))
if getattr(d, "income_account", None) and not item.income_account:
frappe.db.set_value("Item", d.item_code, "income_account",
d.income_account)

View File

@ -52,8 +52,7 @@ erpnext.crm.Opportunity = frappe.ui.form.Controller.extend({
this.frm.set_query("item_code", "items", function() {
return {
query: "erpnext.controllers.queries.item_query",
filters: me.frm.doc.enquiry_type === "Maintenance" ?
{"is_service_item": 1} : {"is_sales_item":1}
filters: {"is_sales_item": 1}
};
});

View File

@ -4,7 +4,7 @@ import frappe
def execute():
fields = ("is_stock_item", "is_asset_item", "has_batch_no", "has_serial_no",
"is_purchase_item", "is_sales_item", "is_service_item", "inspection_required",
"is_purchase_item", "is_sales_item", "inspection_required",
"is_pro_applicable", "is_sub_contracted_item")

View File

@ -28,14 +28,9 @@ class Quotation(SellingController):
def validate_order_type(self):
super(Quotation, self).validate_order_type()
if self.order_type in ['Maintenance', 'Service']:
for d in self.get('items'):
if not frappe.db.get_value("Item", d.item_code, "is_service_item"):
frappe.throw(_("Item {0} must be Service Item").format(d.item_code))
else:
for d in self.get('items'):
if not frappe.db.get_value("Item", d.item_code, "is_sales_item"):
frappe.throw(_("Item {0} must be Sales Item").format(d.item_code))
for d in self.get('items'):
if not frappe.db.get_value("Item", d.item_code, "is_sales_item"):
frappe.throw(_("Item {0} must be Sales Item").format(d.item_code))
def validate_quotation_to(self):
if self.customer:

View File

@ -56,9 +56,7 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
this.frm.set_query("item_code", "items", function() {
return {
query: "erpnext.controllers.queries.item_query",
filters: (me.frm.doc.order_type === "Maintenance" ?
{'is_service_item': 1}:
{'is_sales_item': 1 })
filters: {'is_sales_item': 1}
}
});
}
@ -289,7 +287,7 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
}
refresh_field('product_bundle_help');
},
make_payment_request: function() {
frappe.call({
method:"erpnext.accounts.doctype.payment_request.payment_request.make_payment_request",

View File

@ -1463,35 +1463,6 @@
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"default": "",
"depends_on": "eval:doc.is_sales_item",
"description": "Allow in Sales Order of type \"Service\"",
"fieldname": "is_service_item",
"fieldtype": "Check",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Is Service Item",
"length": 0,
"no_copy": 0,
"oldfieldname": "is_service_item",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
@ -2338,7 +2309,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 1,
"modified": "2016-01-17 11:14:10.169713",
"modified": "2016-01-26 05:31:58.950718",
"modified_by": "Administrator",
"module": "Stock",
"name": "Item",
@ -2358,7 +2329,6 @@
"print": 1,
"read": 1,
"report": 1,
"restrict": 0,
"role": "Material Master Manager",
"set_user_permissions": 0,
"share": 1,
@ -2379,7 +2349,6 @@
"print": 1,
"read": 1,
"report": 1,
"restrict": 0,
"role": "Material Manager",
"set_user_permissions": 0,
"share": 0,
@ -2400,7 +2369,6 @@
"print": 1,
"read": 1,
"report": 1,
"restrict": 0,
"role": "Material User",
"set_user_permissions": 0,
"share": 0,
@ -2421,7 +2389,6 @@
"print": 0,
"read": 1,
"report": 0,
"restrict": 0,
"role": "Sales User",
"set_user_permissions": 0,
"share": 0,
@ -2442,7 +2409,6 @@
"print": 0,
"read": 1,
"report": 0,
"restrict": 0,
"role": "Purchase User",
"set_user_permissions": 0,
"share": 0,
@ -2463,7 +2429,6 @@
"print": 0,
"read": 1,
"report": 0,
"restrict": 0,
"role": "Maintenance User",
"set_user_permissions": 0,
"share": 0,
@ -2484,7 +2449,6 @@
"print": 0,
"read": 1,
"report": 0,
"restrict": 0,
"role": "Accounts User",
"set_user_permissions": 0,
"share": 0,
@ -2505,7 +2469,6 @@
"print": 0,
"read": 1,
"report": 0,
"restrict": 0,
"role": "Manufacturing User",
"set_user_permissions": 0,
"share": 0,

View File

@ -13,7 +13,6 @@
"is_pro_applicable": 0,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 1,
"is_sub_contracted_item": 0,
"item_code": "_Test Item",
@ -46,7 +45,6 @@
"is_pro_applicable": 0,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 1,
"is_sub_contracted_item": 0,
"item_code": "_Test Item 2",
@ -70,7 +68,6 @@
"is_pro_applicable": 0,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 1,
"is_sub_contracted_item": 0,
"item_code": "_Test Item Home Desktop 100",
@ -100,7 +97,6 @@
"is_pro_applicable": 0,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 1,
"is_sub_contracted_item": 0,
"item_code": "_Test Item Home Desktop 200",
@ -121,7 +117,6 @@
"is_pro_applicable": 0,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 0,
"is_sub_contracted_item": 0,
"item_code": "_Test Product Bundle Item",
@ -143,7 +138,6 @@
"is_pro_applicable": 1,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 1,
"is_sub_contracted_item": 1,
"item_code": "_Test FG Item",
@ -161,7 +155,6 @@
"is_pro_applicable": 0,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 0,
"is_sub_contracted_item": 0,
"item_code": "_Test Non Stock Item",
@ -180,7 +173,6 @@
"is_pro_applicable": 0,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 1,
"is_sub_contracted_item": 0,
"item_code": "_Test Serialized Item",
@ -199,7 +191,6 @@
"is_pro_applicable": 0,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 1,
"is_sub_contracted_item": 0,
"item_code": "_Test Serialized Item With Series",
@ -221,7 +212,6 @@
"is_asset_item": 0,
"is_pro_applicable": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 1,
"is_sub_contracted_item": 0,
"item_code": "_Test Item Home Desktop Manufactured",
@ -243,7 +233,6 @@
"is_pro_applicable": 1,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 1,
"is_sub_contracted_item": 1,
"item_code": "_Test FG Item 2",
@ -265,7 +254,6 @@
"is_pro_applicable": 1,
"is_purchase_item": 1,
"is_sales_item": 1,
"is_service_item": 0,
"is_stock_item": 1,
"is_sub_contracted_item": 1,
"item_code": "_Test Variant Item",

View File

@ -111,11 +111,7 @@ def validate_item_details(args, item):
if args.transaction_type=="selling":
# validate if sales item or service item
if args.get("order_type") == "Maintenance":
if item.is_service_item != 1:
throw(_("Item {0} must be a Service Item.").format(item.name))
elif item.is_sales_item != 1:
if item.is_sales_item != 1:
throw(_("Item {0} must be a Sales Item").format(item.name))
if cint(item.has_variants):

View File

@ -107,7 +107,7 @@ cur_frm.fields_dict['contact_person'].get_query = function(doc, cdt, cdn) {
cur_frm.fields_dict['items'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
return {
filters:{ 'is_service_item': 1 }
filters:{ 'is_sales_item': 1 }
}
}

View File

@ -81,7 +81,7 @@ cur_frm.fields_dict['contact_person'].get_query = function(doc, cdt, cdn) {
cur_frm.fields_dict['purposes'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
return{
filters:{ 'is_service_item': 1}
filters:{ 'is_sales_item': 1}
}
}