Example #1
0
def get_product_list(search=None, start=0, limit=12):
	# limit = 12 because we show 12 items in the grid view

	# base query
	query = """select name, item_name, page_name, website_image, thumbnail, item_group,
			web_long_description as website_description, parent_website_route
		from `tabItem`
		where show_in_website = 1
			and disabled=0
			and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %(today)s)
			and (variant_of is null or variant_of = '')"""

	# search term condition
	if search:
		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 weightage desc, modified desc limit %s, %s""" % (start, limit)

	data = frappe.db.sql(query, {
		"search": search,
		"today": nowdate()
	}, as_dict=1)

	for d in data:
		d.route = ((d.parent_website_route + "/") if d.parent_website_route else "") \
			+ (d.page_name or "")

	return [get_item_for_list_in_html(r) for r in data]
Example #2
0
def get_product_list(search=None, start=0, limit=10):
    # base query
    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 (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 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]
Example #3
0
def get_product_list(search=None, start=0, limit=12):
    # limit = 12 because we show 12 items in the grid view

    # base query
    query = """select name, item_name, item_code, route, website_image, thumbnail, item_group,
			description, web_long_description as website_description
		from `tabItem`
		where (show_in_website = 1 or show_variant_in_website = 1)
			and disabled=0
			and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %(today)s)"""

    # search term condition
    if search:
        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 weightage desc, idx desc, modified desc limit %s, %s""" % (
        start, limit)

    data = frappe.db.sql(query, {
        "search": search,
        "today": nowdate()
    },
                         as_dict=1)

    return [get_item_for_list_in_html(r) for r in data]
Example #4
0
def get_product_list(search=None, start=0, limit=12):
	data = get_product_data(search, start, limit)

	for item in data:
		set_product_info_for_website(item)

	return [get_item_for_list_in_html(r) for r in data]
Example #5
0
def get_product_list(search=None, start=0, limit=12):
	# limit = 12 because we show 12 items in the grid view

	# base query
	query = """select I.name, I.item_name, I.item_code, I.route, I.image, I.website_image, I.thumbnail, I.item_group,
			I.description, I.web_long_description as website_description, I.is_stock_item,
			case when (S.actual_qty - S.reserved_qty) > 0 then 1 else 0 end as in_stock, I.website_warehouse,
			I.has_batch_no
		from `tabItem` I
		left join tabBin S on I.item_code = S.item_code and I.website_warehouse = S.warehouse
		where (I.show_in_website = 1)
			and I.disabled = 0
			and (I.end_of_life is null or I.end_of_life='0000-00-00' or I.end_of_life > %(today)s)"""

	# search term condition
	if search:
		query += """ and (I.web_long_description like %(search)s
				or I.description like %(search)s
				or I.item_name like %(search)s
				or I.name like %(search)s)"""
		search = "%" + cstr(search) + "%"

	# order by
	query += """ order by I.weightage desc, in_stock desc, I.modified desc limit %s, %s""" % (cint(start), cint(limit))

	data = frappe.db.sql(query, {
		"search": search,
		"today": nowdate()
	}, as_dict=1)

	for item in data:
		set_product_info_for_website(item)

	return [get_item_for_list_in_html(r) for r in data]
def get_product_list(search=None, start=0, limit=10):
	# base query
	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 (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 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 or "")

	return [get_item_for_list_in_html(r) for r in data]
Example #7
0
def get_product_list(search=None, start=0, limit=12):
    # limit = 12 because we show 12 items in the grid view

    # base query
    query = """select I.name, I.item_name, I.item_code, I.route, I.website_image, I.thumbnail, I.item_group,
			I.description, I.web_long_description as website_description,
			case when (S.actual_qty - S.reserved_qty) > 0 then 1 else 0 end as in_stock
		from `tabItem` I
		left join tabBin S on I.item_code = S.item_code and I.website_warehouse = S.warehouse
		where (I.show_in_website = 1 or I.show_variant_in_website = 1)
			and I.disabled = 0
			and (I.end_of_life is null or I.end_of_life='0000-00-00' or I.end_of_life > %(today)s)"""

    # search term condition
    if search:
        query += """ and (I.web_long_description like %(search)s
				or I.description like %(search)s
				or I.item_name like %(search)s
				or I.name like %(search)s)"""
        search = "%" + cstr(search) + "%"

    # order by
    query += """ order by I.weightage desc, in_stock desc, I.modified desc limit %s, %s""" % (
        cint(start), cint(limit))

    data = frappe.db.sql(query, {
        "search": search,
        "today": nowdate()
    },
                         as_dict=1)

    return [get_item_for_list_in_html(r) for r in data]
Example #8
0
def get_product_list(search=None, start=0, limit=10):
    # base query
    query = """select name, item_name, page_name, website_image, thumbnail, item_group,
			web_long_description as website_description, parent_website_route
		from `tabItem`
		where show_in_website = 1
			and disabled=0
			and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %(today)s)
			and (variant_of is null or variant_of = '')"""

    # search term condition
    if search:
        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 weightage desc, modified desc limit %s, %s""" % (
        start, limit)

    data = frappe.db.sql(query, {
        "search": search,
        "today": nowdate()
    },
                         as_dict=1)

    for d in data:
        d.route = ((d.parent_website_route + "/") if d.parent_website_route else "") \
         + (d.page_name or "")

    return [get_item_for_list_in_html(r) for r in data]
Example #9
0
def get_product_list(search=None, start=0, limit=12):
	# limit = 12 because we show 12 items in the grid view

	# base query
	query = """select name, item_name, item_code, route, website_image, thumbnail, item_group,
			description, web_long_description as website_description
		from `tabItem`
		where (show_in_website = 1 or show_variant_in_website = 1)
			and disabled=0
			and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %(today)s)"""

	# search term condition
	if search:
		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 weightage desc, idx desc, modified desc limit %s, %s""" % (cint(start), cint(limit))

	data = frappe.db.sql(query, {
		"search": search,
		"today": nowdate()
	}, as_dict=1)

	return [get_item_for_list_in_html(r) for r in data]
def get_product_list(search=None, start=0, limit=12):
    # limit = 12 because we show 12 items in the grid view

    # base query
    query = """select I.territory,I.unit_usage,I.name, I.item_name, I.item_code, I.route, I.image, I.website_image, I.thumbnail, I.item_group,
			I.description, I.web_long_description as website_description, I.is_stock_item,
			case when (S.actual_qty - S.reserved_qty) > 0 then 1 else 0 end as in_stock, I.website_warehouse,
			I.has_batch_no
		from `tabItem` I
		left join tabBin S on I.item_code = S.item_code and I.website_warehouse = S.warehouse
		where (I.show_in_website = 1 or I.show_variant_in_website = 1)
			and I.disabled = 0
			and (I.end_of_life is null or I.end_of_life='0000-00-00' or I.end_of_life > %(today)s)"""
    if frappe.form_dict.get("location"):
        query += """ and I.territory = '{propertiesLocation}'""".format(
            propertiesLocation=frappe.form_dict.get("location"))

    if frappe.form_dict.get("usage"):
        query += """ and I.unit_usage = '{propertiesunit_usage}'""".format(
            propertiesunit_usage=frappe.form_dict.get("usage"))

    # search term condition
    if search:
        query += """ and (I.web_long_description like %(search)s
				or I.description like %(search)s
				or I.item_name like %(search)s
				or I.name like %(search)s)"""
        search = "%" + cstr(search) + "%"

    # order by
    query += """ order by I.weightage desc, in_stock desc, I.modified desc """

    data = frappe.db.sql(query, {
        "search": search,
        "today": nowdate()
    },
                         as_dict=1)

    for item in data:
        set_product_info_for_website(item)

    return [get_item_for_list_in_html(r) for r in data]