Merge pull request #2086 from rmehta/route-redesign
Route redesign
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 1c5aaa0..2e865b4 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -65,9 +65,11 @@
self.validate_qty()
def set_status(self, update=False):
- if self.get("__islocal"):
+ if self.is_new():
return
+ _status = self.status
+
if self.doctype in status_map:
sl = status_map[self.doctype][:]
sl.reverse()
@@ -83,9 +85,11 @@
self.status = s[0]
break
+ if self.status != _status:
+ self.add_comment("Label", self.status)
+
if update:
frappe.db.set_value(self.doctype, self.name, "status", self.status)
- self.add_comment("Label", self.status)
def on_communication(self):
if not self.get("communications"): return
diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.html b/erpnext/selling/doctype/sales_order/sales_order_list.html
index 4079b2a..75eddca 100644
--- a/erpnext/selling/doctype/sales_order/sales_order_list.html
+++ b/erpnext/selling/doctype/sales_order/sales_order_list.html
@@ -18,7 +18,7 @@
<span class="label label-warning filterable"
data-filter="per_delivered,<,100|status,!=,Stopped"
title="{%= __("Pending") %}">
- {%= doc.get_formatted("delivery_date")%}</span>
+ {%= doc.get_formatted("delivery_date") || "Pending" %}</span>
{% } %}
{% } %}
{% if(doc.per_delivered == 100 && doc.status!=="Stopped") { %}
diff --git a/erpnext/setup/doctype/item_group/item_group.json b/erpnext/setup/doctype/item_group/item_group.json
index 66e3967..fff066c 100644
--- a/erpnext/setup/doctype/item_group/item_group.json
+++ b/erpnext/setup/doctype/item_group/item_group.json
@@ -83,10 +83,11 @@
{
"depends_on": "show_in_website",
"fieldname": "parent_website_route",
- "fieldtype": "Link",
- "label": "Parent Website Page",
- "options": "Website Route",
- "permlevel": 0
+ "fieldtype": "Read Only",
+ "label": "Parent Website Route",
+ "options": "",
+ "permlevel": 0,
+ "read_only": 1
},
{
"depends_on": "show_in_website",
@@ -163,7 +164,7 @@
"in_create": 1,
"issingle": 0,
"max_attachments": 3,
- "modified": "2014-06-10 05:37:03.763185",
+ "modified": "2014-08-19 06:42:03.262273",
"modified_by": "Administrator",
"module": "Setup",
"name": "Item Group",
diff --git a/erpnext/setup/doctype/item_group/item_group.py b/erpnext/setup/doctype/item_group/item_group.py
index c6f49a1..944dfb1 100644
--- a/erpnext/setup/doctype/item_group/item_group.py
+++ b/erpnext/setup/doctype/item_group/item_group.py
@@ -9,22 +9,16 @@
from frappe.website.render import clear_cache
from frappe.website.doctype.website_slideshow.website_slideshow import get_slideshow
-condition_field = "show_in_website"
-template = "templates/generators/item_group.html"
class ItemGroup(NestedSet, WebsiteGenerator):
nsm_parent_field = 'parent_item_group'
+ condition_field = "show_in_website"
+ template = "templates/generators/item_group.html"
+ parent_website_route_field = "parent_item_group"
def autoname(self):
self.name = self.item_group_name
- def validate(self):
- WebsiteGenerator.validate(self)
- if not self.parent_website_route:
- if frappe.db.get_value("Item Group", self.parent_item_group, "show_in_website"):
- self.parent_website_route = frappe.get_website_route("Item Group",
- self.parent_item_group)
-
def on_update(self):
NestedSet.on_update(self)
WebsiteGenerator.on_update(self)
@@ -60,14 +54,16 @@
child_groups = ", ".join(['"' + i[0] + '"' for i in get_child_groups(product_group)])
# base query
- query = """select t1.name, t1.item_name, t1.page_name, t1.website_image, t1.item_group,
- t1.web_long_description as website_description, t2.name as route
- from `tabItem` t1, `tabWebsite Route` t2
- where t1.show_in_website = 1 and (item_group in (%s)
- or t1.name in (select parent from `tabWebsite Item Group` where item_group in (%s)))
- and t1.name = t2.docname and t2.ref_doctype='Item' """ % (child_groups, child_groups)
+ query = """select name, item_name, page_name, website_image, item_group,
+ web_long_description as website_description,
+ concat(parent_website_route, "/", page_name) as route
+ from `tabItem`
+ where show_in_website = 1
+ and (item_group in (%s)
+ or name in (select parent from `tabWebsite Item Group` where item_group in (%s)))
+ """ % (child_groups, child_groups)
- query += """order by t1.weightage desc, t1.modified desc limit %s, %s""" % (start, limit)
+ query += """order by weightage desc, modified desc limit %s, %s""" % (start, limit)
data = frappe.db.sql(query, {"product_group": product_group}, as_dict=1)
@@ -107,6 +103,6 @@
item_group = doc.name
for i in get_parent_item_groups(item_group):
- route = frappe.db.get_value("Website Route", {"ref_doctype":"Item Group", "docname": i.name})
+ route = doc.get_route()
if route:
clear_cache(route)
diff --git a/erpnext/setup/doctype/sales_partner/sales_partner.json b/erpnext/setup/doctype/sales_partner/sales_partner.json
index ef91814..2d4c0ac 100644
--- a/erpnext/setup/doctype/sales_partner/sales_partner.json
+++ b/erpnext/setup/doctype/sales_partner/sales_partner.json
@@ -190,16 +190,16 @@
{
"default": "partners",
"fieldname": "parent_website_route",
- "fieldtype": "Link",
+ "fieldtype": "Read Only",
"label": "Parent Website Route",
- "options": "Website Route",
+ "options": "",
"permlevel": 0
}
],
"icon": "icon-user",
"idx": 1,
"in_create": 0,
- "modified": "2014-06-27 09:21:33.687012",
+ "modified": "2014-08-19 06:42:33.103060",
"modified_by": "Administrator",
"module": "Setup",
"name": "Sales Partner",
diff --git a/erpnext/setup/doctype/sales_partner/sales_partner.py b/erpnext/setup/doctype/sales_partner/sales_partner.py
index 0209df3..9031af5 100644
--- a/erpnext/setup/doctype/sales_partner/sales_partner.py
+++ b/erpnext/setup/doctype/sales_partner/sales_partner.py
@@ -6,14 +6,15 @@
from frappe.utils import cstr, filter_strip_join
from frappe.website.website_generator import WebsiteGenerator
-condition_field = "show_in_website"
-template = "templates/generators/sales_partner.html"
-
class SalesPartner(WebsiteGenerator):
+ page_title_field = "partner_name"
+ condition_field = "show_in_website"
+ template = "templates/generators/sales_partner.html"
def autoname(self):
self.name = self.partner_name
def validate(self):
+ self.parent_website_route = "partners"
super(SalesPartner, self).validate()
if self.partner_website and not self.partner_website.startswith("http"):
self.partner_website = "http://" + self.partner_website
@@ -27,9 +28,6 @@
else:
return ''
- def get_page_title(self):
- return self.partner_name
-
def get_context(self, context):
address = frappe.db.get_value("Address",
{"sales_partner": self.name, "is_primary_address": 1},
@@ -46,7 +44,3 @@
})
return context
-
- def get_parent_website_route(self):
- parent_website_sitemap = super(SalesPartner, self).get_parent_website_route()
- return parent_website_sitemap or "partners"
diff --git a/erpnext/setup/page/setup_wizard/default_website.py b/erpnext/setup/page/setup_wizard/default_website.py
index d69a1a6..d2e2e55 100644
--- a/erpnext/setup/page/setup_wizard/default_website.py
+++ b/erpnext/setup/page/setup_wizard/default_website.py
@@ -59,7 +59,7 @@
website_settings.append("top_bar_items", {
"doctype": "Top Bar Item",
"label": _("Products"),
- "url": frappe.db.get_value("Website Route", {"ref_doctype":"Item Group"})
+ "url": "products"
})
website_settings.save()
diff --git a/erpnext/stock/doctype/item/item.json b/erpnext/stock/doctype/item/item.json
index 45b4232..06648b6 100644
--- a/erpnext/stock/doctype/item/item.json
+++ b/erpnext/stock/doctype/item/item.json
@@ -1,906 +1,906 @@
{
- "allow_attach": 1,
- "allow_import": 1,
- "allow_rename": 1,
- "autoname": "field:item_code",
- "creation": "2013-05-03 10:45:46",
- "default_print_format": "Standard",
- "description": "A Product or a Service that is bought, sold or kept in stock.",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Master",
+ "allow_attach": 1,
+ "allow_import": 1,
+ "allow_rename": 1,
+ "autoname": "field:item_code",
+ "creation": "2013-05-03 10:45:46",
+ "default_print_format": "Standard",
+ "description": "A Product or a Service that is bought, sold or kept in stock.",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Master",
"fields": [
{
- "fieldname": "name_and_description_section",
- "fieldtype": "Section Break",
- "label": "Name and Description",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-flag",
- "permlevel": 0,
+ "fieldname": "name_and_description_section",
+ "fieldtype": "Section Break",
+ "label": "Name and Description",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-flag",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "naming_series",
- "fieldtype": "Select",
- "label": "Series",
- "options": "ITEM-",
- "permlevel": 0,
+ "fieldname": "naming_series",
+ "fieldtype": "Select",
+ "label": "Series",
+ "options": "ITEM-",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "description": "Item will be saved by this name in the data base.",
- "fieldname": "item_code",
- "fieldtype": "Data",
- "in_filter": 0,
- "label": "Item Code",
- "no_copy": 1,
- "oldfieldname": "item_code",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "read_only": 0,
- "reqd": 0,
+ "description": "Item will be saved by this name in the data base.",
+ "fieldname": "item_code",
+ "fieldtype": "Data",
+ "in_filter": 0,
+ "label": "Item Code",
+ "no_copy": 1,
+ "oldfieldname": "item_code",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "read_only": 0,
+ "reqd": 0,
"search_index": 0
- },
+ },
{
- "fieldname": "item_name",
- "fieldtype": "Data",
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Item Name",
- "oldfieldname": "item_name",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "read_only": 0,
- "reqd": 1,
+ "fieldname": "item_name",
+ "fieldtype": "Data",
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Item Name",
+ "oldfieldname": "item_name",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "read_only": 0,
+ "reqd": 1,
"search_index": 1
- },
+ },
{
- "description": "<a href=\"#Sales Browser/Item Group\">Add / Edit</a>",
- "fieldname": "item_group",
- "fieldtype": "Link",
- "in_filter": 1,
- "label": "Item Group",
- "oldfieldname": "item_group",
- "oldfieldtype": "Link",
- "options": "Item Group",
- "permlevel": 0,
- "read_only": 0,
+ "description": "<a href=\"#Sales Browser/Item Group\">Add / Edit</a>",
+ "fieldname": "item_group",
+ "fieldtype": "Link",
+ "in_filter": 1,
+ "label": "Item Group",
+ "oldfieldname": "item_group",
+ "oldfieldtype": "Link",
+ "options": "Item Group",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "description": "Unit of measurement of this item (e.g. Kg, Unit, No, Pair).",
- "fieldname": "stock_uom",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Default Unit of Measure",
- "oldfieldname": "stock_uom",
- "oldfieldtype": "Link",
- "options": "UOM",
- "permlevel": 0,
- "read_only": 0,
+ "description": "Unit of measurement of this item (e.g. Kg, Unit, No, Pair).",
+ "fieldname": "stock_uom",
+ "fieldtype": "Link",
+ "ignore_user_permissions": 1,
+ "label": "Default Unit of Measure",
+ "oldfieldname": "stock_uom",
+ "oldfieldtype": "Link",
+ "options": "UOM",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "fieldname": "brand",
- "fieldtype": "Link",
- "hidden": 0,
- "label": "Brand",
- "oldfieldname": "brand",
- "oldfieldtype": "Link",
- "options": "Brand",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
+ "fieldname": "brand",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "label": "Brand",
+ "oldfieldname": "brand",
+ "oldfieldtype": "Link",
+ "options": "Brand",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
"reqd": 0
- },
+ },
{
- "fieldname": "barcode",
- "fieldtype": "Data",
- "label": "Barcode",
- "permlevel": 0,
+ "fieldname": "barcode",
+ "fieldtype": "Data",
+ "label": "Barcode",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "column_break0",
- "fieldtype": "Column Break",
- "permlevel": 0,
+ "fieldname": "column_break0",
+ "fieldtype": "Column Break",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "image",
- "fieldtype": "Attach",
- "label": "Image",
- "options": "",
- "permlevel": 0,
+ "fieldname": "image",
+ "fieldtype": "Attach",
+ "label": "Image",
+ "options": "",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "image_view",
- "fieldtype": "Image",
- "in_list_view": 1,
- "label": "Image View",
- "options": "image",
- "permlevel": 0,
+ "fieldname": "image_view",
+ "fieldtype": "Image",
+ "in_list_view": 1,
+ "label": "Image View",
+ "options": "image",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "description",
- "fieldtype": "Small Text",
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Description",
- "oldfieldname": "description",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "read_only": 0,
- "reqd": 1,
+ "fieldname": "description",
+ "fieldtype": "Small Text",
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Description",
+ "oldfieldname": "description",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "read_only": 0,
+ "reqd": 1,
"search_index": 0
- },
+ },
{
- "fieldname": "description_html",
- "fieldtype": "Small Text",
- "label": "Description HTML",
- "permlevel": 0,
+ "fieldname": "description_html",
+ "fieldtype": "Small Text",
+ "label": "Description HTML",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "description": "Generates HTML to include selected image in the description",
- "fieldname": "add_image",
- "fieldtype": "Button",
- "label": "Generate Description HTML",
- "permlevel": 0,
+ "description": "Generates HTML to include selected image in the description",
+ "fieldname": "add_image",
+ "fieldtype": "Button",
+ "label": "Generate Description HTML",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "inventory",
- "fieldtype": "Section Break",
- "label": "Inventory",
- "oldfieldtype": "Section Break",
- "options": "icon-truck",
- "permlevel": 0,
+ "fieldname": "inventory",
+ "fieldtype": "Section Break",
+ "label": "Inventory",
+ "oldfieldtype": "Section Break",
+ "options": "icon-truck",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "default": "Yes",
- "description": "Select \"Yes\" if you are maintaining stock of this item in your Inventory.",
- "fieldname": "is_stock_item",
- "fieldtype": "Select",
- "label": "Is Stock Item",
- "oldfieldname": "is_stock_item",
- "oldfieldtype": "Select",
- "options": "Yes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "Yes",
+ "description": "Select \"Yes\" if you are maintaining stock of this item in your Inventory.",
+ "fieldname": "is_stock_item",
+ "fieldtype": "Select",
+ "label": "Is Stock Item",
+ "oldfieldname": "is_stock_item",
+ "oldfieldtype": "Select",
+ "options": "Yes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "depends_on": "",
- "description": "Mandatory if Stock Item is \"Yes\". Also the default warehouse where reserved quantity is set from Sales Order.",
- "fieldname": "default_warehouse",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Default Warehouse",
- "oldfieldname": "default_warehouse",
- "oldfieldtype": "Link",
- "options": "Warehouse",
- "permlevel": 0,
+ "depends_on": "",
+ "description": "Mandatory if Stock Item is \"Yes\". Also the default warehouse where reserved quantity is set from Sales Order.",
+ "fieldname": "default_warehouse",
+ "fieldtype": "Link",
+ "ignore_user_permissions": 1,
+ "label": "Default Warehouse",
+ "oldfieldname": "default_warehouse",
+ "oldfieldtype": "Link",
+ "options": "Warehouse",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "description": "Percentage variation in quantity to be allowed while receiving or delivering this item.",
- "fieldname": "tolerance",
- "fieldtype": "Float",
- "label": "Allowance Percent",
- "oldfieldname": "tolerance",
- "oldfieldtype": "Currency",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "description": "Percentage variation in quantity to be allowed while receiving or delivering this item.",
+ "fieldname": "tolerance",
+ "fieldtype": "Float",
+ "label": "Allowance Percent",
+ "oldfieldname": "tolerance",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "fieldname": "valuation_method",
- "fieldtype": "Select",
- "label": "Valuation Method",
- "options": "\nFIFO\nMoving Average",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "fieldname": "valuation_method",
+ "fieldtype": "Select",
+ "label": "Valuation Method",
+ "options": "\nFIFO\nMoving Average",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "default": "0.00",
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "description": "You can enter the minimum quantity of this item to be ordered.",
- "fieldname": "min_order_qty",
- "fieldtype": "Float",
- "hidden": 0,
- "label": "Minimum Order Qty",
- "oldfieldname": "min_order_qty",
- "oldfieldtype": "Currency",
- "permlevel": 0,
+ "default": "0.00",
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "description": "You can enter the minimum quantity of this item to be ordered.",
+ "fieldname": "min_order_qty",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "label": "Minimum Order Qty",
+ "oldfieldname": "min_order_qty",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "fieldname": "column_break1",
- "fieldtype": "Column Break",
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "read_only": 0,
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "fieldname": "column_break1",
+ "fieldtype": "Column Break",
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "read_only": 0,
"width": "50%"
- },
+ },
{
- "default": "No",
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "description": "Select \"Yes\" if this item is used for some internal purpose in your company.",
- "fieldname": "is_asset_item",
- "fieldtype": "Select",
- "label": "Is Fixed Asset Item",
- "oldfieldname": "is_asset_item",
- "oldfieldtype": "Select",
- "options": "Yes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "No",
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "description": "Select \"Yes\" if this item is used for some internal purpose in your company.",
+ "fieldname": "is_asset_item",
+ "fieldtype": "Select",
+ "label": "Is Fixed Asset Item",
+ "oldfieldname": "is_asset_item",
+ "oldfieldtype": "Select",
+ "options": "Yes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "default": "No",
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "fieldname": "has_batch_no",
- "fieldtype": "Select",
- "label": "Has Batch No",
- "oldfieldname": "has_batch_no",
- "oldfieldtype": "Select",
- "options": "Yes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "No",
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "fieldname": "has_batch_no",
+ "fieldtype": "Select",
+ "label": "Has Batch No",
+ "oldfieldname": "has_batch_no",
+ "oldfieldtype": "Select",
+ "options": "Yes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "default": "No",
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "description": "Selecting \"Yes\" will give a unique identity to each entity of this item which can be viewed in the Serial No master.",
- "fieldname": "has_serial_no",
- "fieldtype": "Select",
- "in_filter": 1,
- "label": "Has Serial No",
- "oldfieldname": "has_serial_no",
- "oldfieldtype": "Select",
- "options": "Yes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "No",
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "description": "Selecting \"Yes\" will give a unique identity to each entity of this item which can be viewed in the Serial No master.",
+ "fieldname": "has_serial_no",
+ "fieldtype": "Select",
+ "in_filter": 1,
+ "label": "Has Serial No",
+ "oldfieldname": "has_serial_no",
+ "oldfieldtype": "Select",
+ "options": "Yes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "depends_on": "eval: doc.has_serial_no===\"Yes\"",
- "description": "Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.",
- "fieldname": "serial_no_series",
- "fieldtype": "Data",
- "label": "Serial Number Series",
- "no_copy": 1,
+ "depends_on": "eval: doc.has_serial_no===\"Yes\"",
+ "description": "Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.",
+ "fieldname": "serial_no_series",
+ "fieldtype": "Data",
+ "label": "Serial Number Series",
+ "no_copy": 1,
"permlevel": 0
- },
+ },
{
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "fieldname": "warranty_period",
- "fieldtype": "Data",
- "label": "Warranty Period (in days)",
- "oldfieldname": "warranty_period",
- "oldfieldtype": "Data",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "fieldname": "warranty_period",
+ "fieldtype": "Data",
+ "label": "Warranty Period (in days)",
+ "oldfieldname": "warranty_period",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "fieldname": "end_of_life",
- "fieldtype": "Date",
- "label": "End of Life",
- "oldfieldname": "end_of_life",
- "oldfieldtype": "Date",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "fieldname": "end_of_life",
+ "fieldtype": "Date",
+ "label": "End of Life",
+ "oldfieldname": "end_of_life",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "description": "Net Weight of each Item",
- "fieldname": "net_weight",
- "fieldtype": "Float",
- "label": "Net Weight",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "description": "Net Weight of each Item",
+ "fieldname": "net_weight",
+ "fieldtype": "Float",
+ "label": "Net Weight",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "fieldname": "weight_uom",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Weight UOM",
- "options": "UOM",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "fieldname": "weight_uom",
+ "fieldtype": "Link",
+ "ignore_user_permissions": 1,
+ "label": "Weight UOM",
+ "options": "UOM",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "description": "Auto-raise Material Request if quantity goes below re-order level in a warehouse",
- "fieldname": "reorder_section",
- "fieldtype": "Section Break",
- "label": "Re-order",
- "options": "icon-rss",
- "permlevel": 0,
+ "description": "Auto-raise Material Request if quantity goes below re-order level in a warehouse",
+ "fieldname": "reorder_section",
+ "fieldtype": "Section Break",
+ "label": "Re-order",
+ "options": "icon-rss",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "fieldname": "re_order_level",
- "fieldtype": "Float",
- "label": "Re-Order Level",
- "oldfieldname": "re_order_level",
- "oldfieldtype": "Currency",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "fieldname": "re_order_level",
+ "fieldtype": "Float",
+ "label": "Re-Order Level",
+ "oldfieldname": "re_order_level",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_stock_item==\"Yes\"",
- "fieldname": "re_order_qty",
- "fieldtype": "Float",
- "label": "Re-Order Qty",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_stock_item==\"Yes\"",
+ "fieldname": "re_order_qty",
+ "fieldtype": "Float",
+ "label": "Re-Order Qty",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "section_break_31",
- "fieldtype": "Section Break",
- "permlevel": 0,
+ "fieldname": "section_break_31",
+ "fieldtype": "Section Break",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "item_reorder",
- "fieldtype": "Table",
- "label": "Warehouse-wise Item Reorder",
- "options": "Item Reorder",
- "permlevel": 0,
+ "fieldname": "item_reorder",
+ "fieldtype": "Table",
+ "label": "Warehouse-wise Item Reorder",
+ "options": "Item Reorder",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "purchase_details",
- "fieldtype": "Section Break",
- "label": "Purchase Details",
- "oldfieldtype": "Section Break",
- "options": "icon-shopping-cart",
- "permlevel": 0,
+ "fieldname": "purchase_details",
+ "fieldtype": "Section Break",
+ "label": "Purchase Details",
+ "oldfieldtype": "Section Break",
+ "options": "icon-shopping-cart",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "default": "Yes",
- "description": "Selecting \"Yes\" will allow this item to appear in Purchase Order , Purchase Receipt.",
- "fieldname": "is_purchase_item",
- "fieldtype": "Select",
- "label": "Is Purchase Item",
- "oldfieldname": "is_purchase_item",
- "oldfieldtype": "Select",
- "options": "Yes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "Yes",
+ "description": "Selecting \"Yes\" will allow this item to appear in Purchase Order , Purchase Receipt.",
+ "fieldname": "is_purchase_item",
+ "fieldtype": "Select",
+ "label": "Is Purchase Item",
+ "oldfieldname": "is_purchase_item",
+ "oldfieldtype": "Select",
+ "options": "Yes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "fieldname": "default_supplier",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Default Supplier",
- "options": "Supplier",
+ "fieldname": "default_supplier",
+ "fieldtype": "Link",
+ "ignore_user_permissions": 1,
+ "label": "Default Supplier",
+ "options": "Supplier",
"permlevel": 0
- },
+ },
{
- "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
- "description": "Lead Time days is number of days by which this item is expected in your warehouse. This days is fetched in Material Request when you select this item.",
- "fieldname": "lead_time_days",
- "fieldtype": "Int",
- "label": "Lead Time Days",
- "no_copy": 1,
- "oldfieldname": "lead_time_days",
- "oldfieldtype": "Int",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+ "description": "Lead Time days is number of days by which this item is expected in your warehouse. This days is fetched in Material Request when you select this item.",
+ "fieldname": "lead_time_days",
+ "fieldtype": "Int",
+ "label": "Lead Time Days",
+ "no_copy": 1,
+ "oldfieldname": "lead_time_days",
+ "oldfieldtype": "Int",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
- "description": "Default Purchase Account in which cost of the item will be debited.",
- "fieldname": "expense_account",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Default Expense Account",
- "oldfieldname": "purchase_account",
- "oldfieldtype": "Link",
- "options": "Account",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+ "description": "Default Purchase Account in which cost of the item will be debited.",
+ "fieldname": "expense_account",
+ "fieldtype": "Link",
+ "ignore_user_permissions": 1,
+ "label": "Default Expense Account",
+ "oldfieldname": "purchase_account",
+ "oldfieldtype": "Link",
+ "options": "Account",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
- "description": "",
- "fieldname": "buying_cost_center",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Default Buying Cost Center",
- "oldfieldname": "cost_center",
- "oldfieldtype": "Link",
- "options": "Cost Center",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+ "description": "",
+ "fieldname": "buying_cost_center",
+ "fieldtype": "Link",
+ "ignore_user_permissions": 1,
+ "label": "Default Buying Cost Center",
+ "oldfieldname": "cost_center",
+ "oldfieldtype": "Link",
+ "options": "Cost Center",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
- "fieldname": "last_purchase_rate",
- "fieldtype": "Float",
- "label": "Last Purchase Rate",
- "no_copy": 1,
- "oldfieldname": "last_purchase_rate",
- "oldfieldtype": "Currency",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+ "fieldname": "last_purchase_rate",
+ "fieldtype": "Float",
+ "label": "Last Purchase Rate",
+ "no_copy": 1,
+ "oldfieldname": "last_purchase_rate",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
"read_only": 1
- },
+ },
{
- "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
- "fieldname": "column_break2",
- "fieldtype": "Column Break",
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "read_only": 0,
+ "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+ "fieldname": "column_break2",
+ "fieldtype": "Column Break",
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "read_only": 0,
"width": "50%"
- },
+ },
{
- "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
- "fieldname": "uom_conversion_details",
- "fieldtype": "Table",
- "label": "UOM Conversion Details",
- "no_copy": 1,
- "oldfieldname": "uom_conversion_details",
- "oldfieldtype": "Table",
- "options": "UOM Conversion Detail",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+ "fieldname": "uom_conversion_details",
+ "fieldtype": "Table",
+ "label": "UOM Conversion Details",
+ "no_copy": 1,
+ "oldfieldname": "uom_conversion_details",
+ "oldfieldtype": "Table",
+ "options": "UOM Conversion Detail",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
- "fieldname": "manufacturer",
- "fieldtype": "Data",
- "label": "Manufacturer",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+ "fieldname": "manufacturer",
+ "fieldtype": "Data",
+ "label": "Manufacturer",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
- "fieldname": "manufacturer_part_no",
- "fieldtype": "Data",
- "label": "Manufacturer Part Number",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+ "fieldname": "manufacturer_part_no",
+ "fieldtype": "Data",
+ "label": "Manufacturer Part Number",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
- "fieldname": "item_supplier_details",
- "fieldtype": "Table",
- "label": "Item Supplier Details",
- "options": "Item Supplier",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_purchase_item==\"Yes\"",
+ "fieldname": "item_supplier_details",
+ "fieldtype": "Table",
+ "label": "Item Supplier Details",
+ "options": "Item Supplier",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "sales_details",
- "fieldtype": "Section Break",
- "label": "Sales Details",
- "oldfieldtype": "Section Break",
- "options": "icon-tag",
- "permlevel": 0,
+ "fieldname": "sales_details",
+ "fieldtype": "Section Break",
+ "label": "Sales Details",
+ "oldfieldtype": "Section Break",
+ "options": "icon-tag",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "default": "Yes",
- "description": "Selecting \"Yes\" will allow this item to figure in Sales Order, Delivery Note",
- "fieldname": "is_sales_item",
- "fieldtype": "Select",
- "in_filter": 1,
- "label": "Is Sales Item",
- "oldfieldname": "is_sales_item",
- "oldfieldtype": "Select",
- "options": "Yes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "Yes",
+ "description": "Selecting \"Yes\" will allow this item to figure in Sales Order, Delivery Note",
+ "fieldname": "is_sales_item",
+ "fieldtype": "Select",
+ "in_filter": 1,
+ "label": "Is Sales Item",
+ "oldfieldname": "is_sales_item",
+ "oldfieldtype": "Select",
+ "options": "Yes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "default": "No",
- "depends_on": "eval:doc.is_sales_item==\"Yes\"",
- "description": "Select \"Yes\" if this item represents some work like training, designing, consulting etc.",
- "fieldname": "is_service_item",
- "fieldtype": "Select",
- "in_filter": 1,
- "label": "Is Service Item",
- "oldfieldname": "is_service_item",
- "oldfieldtype": "Select",
- "options": "Yes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "No",
+ "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+ "description": "Select \"Yes\" if this item represents some work like training, designing, consulting etc.",
+ "fieldname": "is_service_item",
+ "fieldtype": "Select",
+ "in_filter": 1,
+ "label": "Is Service Item",
+ "oldfieldname": "is_service_item",
+ "oldfieldtype": "Select",
+ "options": "Yes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "depends_on": "eval:doc.is_sales_item==\"Yes\"",
- "fieldname": "max_discount",
- "fieldtype": "Float",
- "label": "Max Discount (%)",
- "oldfieldname": "max_discount",
- "oldfieldtype": "Currency",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+ "fieldname": "max_discount",
+ "fieldtype": "Float",
+ "label": "Max Discount (%)",
+ "oldfieldname": "max_discount",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_sales_item==\"Yes\"",
- "fieldname": "income_account",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Default Income Account",
- "options": "Account",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+ "fieldname": "income_account",
+ "fieldtype": "Link",
+ "ignore_user_permissions": 1,
+ "label": "Default Income Account",
+ "options": "Account",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_sales_item==\"Yes\"",
- "fieldname": "selling_cost_center",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Default Selling Cost Center",
- "options": "Cost Center",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+ "fieldname": "selling_cost_center",
+ "fieldtype": "Link",
+ "ignore_user_permissions": 1,
+ "label": "Default Selling Cost Center",
+ "options": "Cost Center",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "eval:doc.is_sales_item==\"Yes\"",
- "fieldname": "column_break3",
- "fieldtype": "Column Break",
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "read_only": 0,
+ "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+ "fieldname": "column_break3",
+ "fieldtype": "Column Break",
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "read_only": 0,
"width": "50%"
- },
+ },
{
- "depends_on": "eval:doc.is_sales_item==\"Yes\"",
- "description": "For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes",
- "fieldname": "item_customer_details",
- "fieldtype": "Table",
- "label": "Customer Codes",
- "options": "Item Customer Detail",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_sales_item==\"Yes\"",
+ "description": "For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes",
+ "fieldname": "item_customer_details",
+ "fieldtype": "Table",
+ "label": "Customer Codes",
+ "options": "Item Customer Detail",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "item_tax_section_break",
- "fieldtype": "Section Break",
- "label": "Item Tax",
- "oldfieldtype": "Section Break",
- "options": "icon-money",
- "permlevel": 0,
+ "fieldname": "item_tax_section_break",
+ "fieldtype": "Section Break",
+ "label": "Item Tax",
+ "oldfieldtype": "Section Break",
+ "options": "icon-money",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "item_tax",
- "fieldtype": "Table",
- "label": "Item Tax1",
- "oldfieldname": "item_tax",
- "oldfieldtype": "Table",
- "options": "Item Tax",
- "permlevel": 0,
+ "fieldname": "item_tax",
+ "fieldtype": "Table",
+ "label": "Item Tax1",
+ "oldfieldname": "item_tax",
+ "oldfieldtype": "Table",
+ "options": "Item Tax",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "inspection_criteria",
- "fieldtype": "Section Break",
- "label": "Inspection Criteria",
- "oldfieldtype": "Section Break",
- "options": "icon-search",
- "permlevel": 0,
+ "fieldname": "inspection_criteria",
+ "fieldtype": "Section Break",
+ "label": "Inspection Criteria",
+ "oldfieldtype": "Section Break",
+ "options": "icon-search",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "default": "No",
- "fieldname": "inspection_required",
- "fieldtype": "Select",
- "label": "Inspection Required",
- "no_copy": 0,
- "oldfieldname": "inspection_required",
- "oldfieldtype": "Select",
- "options": "\nYes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "No",
+ "fieldname": "inspection_required",
+ "fieldtype": "Select",
+ "label": "Inspection Required",
+ "no_copy": 0,
+ "oldfieldname": "inspection_required",
+ "oldfieldtype": "Select",
+ "options": "\nYes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "depends_on": "eval:doc.inspection_required==\"Yes\"",
- "description": "Quality Inspection Parameters",
- "fieldname": "item_specification_details",
- "fieldtype": "Table",
- "label": "Item Quality Inspection Parameter",
- "oldfieldname": "item_specification_details",
- "oldfieldtype": "Table",
- "options": "Item Quality Inspection Parameter",
- "permlevel": 0,
+ "depends_on": "eval:doc.inspection_required==\"Yes\"",
+ "description": "Quality Inspection Parameters",
+ "fieldname": "item_specification_details",
+ "fieldtype": "Table",
+ "label": "Item Quality Inspection Parameter",
+ "oldfieldname": "item_specification_details",
+ "oldfieldtype": "Table",
+ "options": "Item Quality Inspection Parameter",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "manufacturing",
- "fieldtype": "Section Break",
- "label": "Manufacturing",
- "oldfieldtype": "Section Break",
- "options": "icon-cogs",
- "permlevel": 0,
+ "fieldname": "manufacturing",
+ "fieldtype": "Section Break",
+ "label": "Manufacturing",
+ "oldfieldtype": "Section Break",
+ "options": "icon-cogs",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "default": "No",
- "description": "Selecting \"Yes\" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.",
- "fieldname": "is_manufactured_item",
- "fieldtype": "Select",
- "label": "Allow Bill of Materials",
- "oldfieldname": "is_manufactured_item",
- "oldfieldtype": "Select",
- "options": "Yes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "No",
+ "description": "Selecting \"Yes\" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.",
+ "fieldname": "is_manufactured_item",
+ "fieldtype": "Select",
+ "label": "Allow Bill of Materials",
+ "oldfieldname": "is_manufactured_item",
+ "oldfieldtype": "Select",
+ "options": "Yes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "depends_on": "eval:doc.is_manufactured_item==\"Yes\"",
- "fieldname": "default_bom",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Default BOM",
- "no_copy": 1,
- "oldfieldname": "default_bom",
- "oldfieldtype": "Link",
- "options": "BOM",
- "permlevel": 0,
+ "depends_on": "eval:doc.is_manufactured_item==\"Yes\"",
+ "fieldname": "default_bom",
+ "fieldtype": "Link",
+ "ignore_user_permissions": 1,
+ "label": "Default BOM",
+ "no_copy": 1,
+ "oldfieldname": "default_bom",
+ "oldfieldtype": "Link",
+ "options": "BOM",
+ "permlevel": 0,
"read_only": 1
- },
+ },
{
- "default": "No",
- "depends_on": "eval:doc.is_manufactured_item==\"Yes\"",
- "description": "Selecting \"Yes\" will allow you to make a Production Order for this item.",
- "fieldname": "is_pro_applicable",
- "fieldtype": "Select",
- "label": "Allow Production Order",
- "oldfieldname": "is_pro_applicable",
- "oldfieldtype": "Select",
- "options": "Yes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "No",
+ "depends_on": "eval:doc.is_manufactured_item==\"Yes\"",
+ "description": "Selecting \"Yes\" will allow you to make a Production Order for this item.",
+ "fieldname": "is_pro_applicable",
+ "fieldtype": "Select",
+ "label": "Allow Production Order",
+ "oldfieldname": "is_pro_applicable",
+ "oldfieldtype": "Select",
+ "options": "Yes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "default": "No",
- "description": "Select \"Yes\" if you supply raw materials to your supplier to manufacture this item.",
- "fieldname": "is_sub_contracted_item",
- "fieldtype": "Select",
- "label": "Is Sub Contracted Item",
- "oldfieldname": "is_sub_contracted_item",
- "oldfieldtype": "Select",
- "options": "Yes\nNo",
- "permlevel": 0,
- "read_only": 0,
+ "default": "No",
+ "description": "Select \"Yes\" if you supply raw materials to your supplier to manufacture this item.",
+ "fieldname": "is_sub_contracted_item",
+ "fieldtype": "Select",
+ "label": "Is Sub Contracted Item",
+ "oldfieldname": "is_sub_contracted_item",
+ "oldfieldtype": "Select",
+ "options": "Yes\nNo",
+ "permlevel": 0,
+ "read_only": 0,
"reqd": 1
- },
+ },
{
- "fieldname": "customer_code",
- "fieldtype": "Data",
- "hidden": 1,
- "in_filter": 1,
- "label": "Customer Code",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
+ "fieldname": "customer_code",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "in_filter": 1,
+ "label": "Customer Code",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
"read_only": 0
- },
+ },
{
- "fieldname": "website_section",
- "fieldtype": "Section Break",
- "label": "Website",
- "options": "icon-globe",
- "permlevel": 0,
+ "fieldname": "website_section",
+ "fieldtype": "Section Break",
+ "label": "Website",
+ "options": "icon-globe",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "show_in_website",
- "fieldtype": "Check",
- "label": "Show in Website",
- "permlevel": 0,
+ "fieldname": "show_in_website",
+ "fieldtype": "Check",
+ "label": "Show in Website",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "show_in_website",
- "description": "website page link",
- "fieldname": "page_name",
- "fieldtype": "Data",
- "label": "Page Name",
- "no_copy": 1,
- "permlevel": 0,
+ "depends_on": "show_in_website",
+ "description": "website page link",
+ "fieldname": "page_name",
+ "fieldtype": "Data",
+ "label": "Page Name",
+ "no_copy": 1,
+ "permlevel": 0,
"read_only": 1
- },
+ },
{
- "depends_on": "show_in_website",
- "description": "Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.",
- "fieldname": "weightage",
- "fieldtype": "Int",
- "label": "Weightage",
- "permlevel": 0,
- "read_only": 0,
+ "depends_on": "show_in_website",
+ "description": "Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.",
+ "fieldname": "weightage",
+ "fieldtype": "Int",
+ "label": "Weightage",
+ "permlevel": 0,
+ "read_only": 0,
"search_index": 1
- },
+ },
{
- "depends_on": "show_in_website",
- "description": "Show a slideshow at the top of the page",
- "fieldname": "slideshow",
- "fieldtype": "Link",
- "label": "Slideshow",
- "options": "Website Slideshow",
- "permlevel": 0,
+ "depends_on": "show_in_website",
+ "description": "Show a slideshow at the top of the page",
+ "fieldname": "slideshow",
+ "fieldtype": "Link",
+ "label": "Slideshow",
+ "options": "Website Slideshow",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "show_in_website",
- "description": "Item Image (if not slideshow)",
- "fieldname": "website_image",
- "fieldtype": "Select",
- "label": "Image",
- "options": "attach_files:",
- "permlevel": 0,
+ "depends_on": "show_in_website",
+ "description": "Item Image (if not slideshow)",
+ "fieldname": "website_image",
+ "fieldtype": "Select",
+ "label": "Image",
+ "options": "attach_files:",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "cb72",
- "fieldtype": "Column Break",
- "permlevel": 0,
+ "fieldname": "cb72",
+ "fieldtype": "Column Break",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "show_in_website",
- "description": "Show \"In Stock\" or \"Not in Stock\" based on stock available in this warehouse.",
- "fieldname": "website_warehouse",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Website Warehouse",
- "options": "Warehouse",
- "permlevel": 0,
+ "depends_on": "show_in_website",
+ "description": "Show \"In Stock\" or \"Not in Stock\" based on stock available in this warehouse.",
+ "fieldname": "website_warehouse",
+ "fieldtype": "Link",
+ "ignore_user_permissions": 1,
+ "label": "Website Warehouse",
+ "options": "Warehouse",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "show_in_website",
- "description": "List this Item in multiple groups on the website.",
- "fieldname": "website_item_groups",
- "fieldtype": "Table",
- "label": "Website Item Groups",
- "options": "Website Item Group",
- "permlevel": 0,
+ "depends_on": "show_in_website",
+ "description": "List this Item in multiple groups on the website.",
+ "fieldname": "website_item_groups",
+ "fieldtype": "Table",
+ "label": "Website Item Groups",
+ "options": "Website Item Group",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "show_in_website",
- "fieldname": "sb72",
- "fieldtype": "Section Break",
- "permlevel": 0,
+ "depends_on": "show_in_website",
+ "fieldname": "sb72",
+ "fieldtype": "Section Break",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "show_in_website",
- "fieldname": "copy_from_item_group",
- "fieldtype": "Button",
- "label": "Copy From Item Group",
- "permlevel": 0,
+ "depends_on": "show_in_website",
+ "fieldname": "copy_from_item_group",
+ "fieldtype": "Button",
+ "label": "Copy From Item Group",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "show_in_website",
- "fieldname": "item_website_specifications",
- "fieldtype": "Table",
- "label": "Item Website Specifications",
- "options": "Item Website Specification",
- "permlevel": 0,
+ "depends_on": "show_in_website",
+ "fieldname": "item_website_specifications",
+ "fieldtype": "Table",
+ "label": "Item Website Specifications",
+ "options": "Item Website Specification",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "depends_on": "show_in_website",
- "fieldname": "web_long_description",
- "fieldtype": "Text Editor",
- "label": "Website Description",
- "permlevel": 0,
+ "depends_on": "show_in_website",
+ "fieldname": "web_long_description",
+ "fieldtype": "Text Editor",
+ "label": "Website Description",
+ "permlevel": 0,
"read_only": 0
- },
+ },
{
- "fieldname": "parent_website_route",
- "fieldtype": "Link",
- "ignore_user_permissions": 1,
- "label": "Parent Website Route",
- "no_copy": 1,
- "options": "Website Route",
+ "fieldname": "parent_website_route",
+ "fieldtype": "Read Only",
+ "ignore_user_permissions": 1,
+ "label": "Parent Website Route",
+ "no_copy": 1,
+ "options": "",
"permlevel": 0
}
- ],
- "icon": "icon-tag",
- "idx": 1,
- "max_attachments": 1,
- "modified": "2014-08-18 09:32:57.268763",
- "modified_by": "Administrator",
- "module": "Stock",
- "name": "Item",
- "owner": "Administrator",
+ ],
+ "icon": "icon-tag",
+ "idx": 1,
+ "max_attachments": 1,
+ "modified": "2014-08-19 06:41:28.565607",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Item",
+ "owner": "Administrator",
"permissions": [
{
- "create": 1,
- "delete": 1,
- "email": 1,
- "import": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Material Master Manager",
- "submit": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "import": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Material Master Manager",
+ "submit": 0,
"write": 1
- },
+ },
{
- "amend": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Material Manager",
- "submit": 0,
+ "amend": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Material Manager",
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 1,
- "create": 0,
- "delete": 0,
- "email": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Material User",
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 1,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Material User",
+ "submit": 0,
"write": 0
- },
+ },
{
- "apply_user_permissions": 1,
- "permlevel": 0,
- "read": 1,
+ "apply_user_permissions": 1,
+ "permlevel": 0,
+ "read": 1,
"role": "Sales User"
- },
+ },
{
- "apply_user_permissions": 1,
- "permlevel": 0,
- "read": 1,
+ "apply_user_permissions": 1,
+ "permlevel": 0,
+ "read": 1,
"role": "Purchase User"
- },
+ },
{
- "apply_user_permissions": 1,
- "permlevel": 0,
- "read": 1,
+ "apply_user_permissions": 1,
+ "permlevel": 0,
+ "read": 1,
"role": "Maintenance User"
- },
+ },
{
- "apply_user_permissions": 1,
- "permlevel": 0,
- "read": 1,
+ "apply_user_permissions": 1,
+ "permlevel": 0,
+ "read": 1,
"role": "Accounts User"
- },
+ },
{
- "apply_user_permissions": 1,
- "permlevel": 0,
- "read": 1,
+ "apply_user_permissions": 1,
+ "permlevel": 0,
+ "read": 1,
"role": "Manufacturing User"
}
- ],
+ ],
"search_fields": "item_name,description,item_group,customer_code"
-}
\ No newline at end of file
+}
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index 21ed057..c158014 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -12,10 +12,12 @@
class WarehouseNotSet(frappe.ValidationError): pass
-condition_field = "show_in_website"
-template = "templates/generators/item.html"
-
class Item(WebsiteGenerator):
+ page_title_field = "item_name"
+ condition_field = "show_in_website"
+ template = "templates/generators/item.html"
+ parent_website_route_field = "item_group"
+
def onload(self):
super(Item, self).onload()
self.get("__onload").sle_exists = self.check_if_sle_exists()
@@ -49,9 +51,6 @@
self.cant_change()
self.validate_item_type_for_reorder()
- if not self.parent_website_route:
- self.parent_website_route = frappe.get_website_route("Item Group", self.item_group)
-
if not self.get("__islocal"):
self.old_item_group = frappe.db.get_value(self.doctype, self.name, "item_group")
self.old_website_item_groups = frappe.db.sql_list("""select item_group from `tabWebsite Item Group`
@@ -216,14 +215,6 @@
item_description=%s, modified=NOW() where item_code=%s""",
(self.item_name, self.description, self.name))
- def get_page_title(self):
- if self.name==self.item_name:
- page_name_from = self.name
- else:
- page_name_from = self.name + " - " + self.item_name
-
- return page_name_from
-
def get_tax_rate(self, tax_type):
return { "tax_rate": frappe.db.get_value("Account", tax_type, "tax_rate") }
diff --git a/erpnext/templates/pages/product_search.py b/erpnext/templates/pages/product_search.py
index 8464b25..93773bd 100644
--- a/erpnext/templates/pages/product_search.py
+++ b/erpnext/templates/pages/product_search.py
@@ -12,23 +12,28 @@
@frappe.whitelist(allow_guest=True)
def get_product_list(search=None, start=0, limit=10):
# base query
- query = """select t1.name, t1.item_name, t1.page_name, t1.website_image, t1.item_group,
- t1.web_long_description as website_description, t2.name as route
- from `tabItem` t1, `tabWebsite Route` t2 where t1.show_in_website = 1
- and t1.name = t2.docname and t2.ref_doctype = 'Item'"""
+ query = """select name, item_name, page_name, website_image, item_group,
+ web_long_description as website_description, parent_website_route
+ from `tabItem` where show_in_website = 1"""
# search term condition
if search:
- query += """and (t1.web_long_description like %(search)s or t1.description like %(search)s or
- t1.item_name like %(search)s or t1.name like %(search)s)"""
+ query += """and web_long_description like %(search)s
+ or description like %(search)s
+ or item_name like %(search)s
+ or name like %(search)s)"""
search = "%" + cstr(search) + "%"
# order by
- query += """order by t1.weightage desc, t1.modified desc limit %s, %s""" % (start, limit)
+ query += """order by weightage desc, modified desc limit %s, %s""" % (start, limit)
data = frappe.db.sql(query, {
"search": search,
}, as_dict=1)
+ for d in data:
+ d.route = ((d.parent_website_route + "/") if d.parent_website_route else "") \
+ + d.page_name
+
return [get_item_for_list_in_html(r) for r in data]