86 lines
2.9 KiB
Python
86 lines
2.9 KiB
Python
import frappe
|
|
|
|
@frappe.whitelist()
|
|
def get_records():
|
|
# For now return Lead records mapped to form fields
|
|
leads = frappe.db.sql("""
|
|
SELECT name, company_name, email_id, mobile_no, phone, address_line1, city, state, pincode,
|
|
title, status, industry, source
|
|
FROM tabLead
|
|
ORDER BY creation DESC
|
|
LIMIT 1000
|
|
""", as_dict=True)
|
|
result = []
|
|
for l in leads:
|
|
result.append({
|
|
"name": l.name,
|
|
"additional_numbers": "",
|
|
"field_star": l.status or "",
|
|
"customer_address": l.address_line1 or "",
|
|
"any_letter": l.title or "",
|
|
"city": l.city or "",
|
|
"field_e": l.email_id or "",
|
|
"zip": l.pincode or "",
|
|
"company_name": l.company_name or "",
|
|
"contacted_date": "",
|
|
"contact_persons": l.title or "",
|
|
"follow_up_date": "",
|
|
"email_address": l.email_id or "",
|
|
"last_pu_date": "",
|
|
"contact_numbers": (l.phone or "") + "\n" + (l.mobile_no or ""),
|
|
"hours_operation": l.industry or "",
|
|
"comments": l.source or ""
|
|
})
|
|
return result
|
|
|
|
@frappe.whitelist()
|
|
def save_record(data):
|
|
data = frappe.parse_json(data)
|
|
# For now just return OK - Lead update can be wired later
|
|
return {"status": "ok", "message": "Saved " + (data.get("name") or "")}
|
|
|
|
@frappe.whitelist()
|
|
def delete_record(name):
|
|
# For now return OK
|
|
return {"status": "ok", "message": "Deleted " + name}
|
|
|
|
@frappe.whitelist()
|
|
def search_records(field, value):
|
|
leads = frappe.db.sql("""
|
|
SELECT name, company_name, email_id, mobile_no, phone, address_line1, city, state, pincode,
|
|
title, status, industry, source
|
|
FROM tabLead
|
|
WHERE LOWER(company_name) LIKE %s
|
|
OR LOWER(title) LIKE %s
|
|
OR LOWER(address_line1) LIKE %s
|
|
OR LOWER(city) LIKE %s
|
|
OR LOWER(pincode) LIKE %s
|
|
OR LOWER(email_id) LIKE %s
|
|
OR LOWER(phone) LIKE %s
|
|
OR LOWER(mobile_no) LIKE %s
|
|
ORDER BY creation DESC
|
|
LIMIT 100
|
|
""", tuple(["%" + value + "%"] * 8), as_dict=True)
|
|
result = []
|
|
for l in leads:
|
|
result.append({
|
|
"name": l.name,
|
|
"additional_numbers": "",
|
|
"field_star": l.status or "",
|
|
"customer_address": l.address_line1 or "",
|
|
"any_letter": l.title or "",
|
|
"city": l.city or "",
|
|
"field_e": l.email_id or "",
|
|
"zip": l.pincode or "",
|
|
"company_name": l.company_name or "",
|
|
"contacted_date": "",
|
|
"contact_persons": l.title or "",
|
|
"follow_up_date": "",
|
|
"email_address": l.email_id or "",
|
|
"last_pu_date": "",
|
|
"contact_numbers": (l.phone or "") + "\n" + (l.mobile_no or ""),
|
|
"hours_operation": l.industry or "",
|
|
"comments": l.source or ""
|
|
})
|
|
return result
|