merge main
This commit is contained in:
parent
f7ce3a39d0
commit
4c8e66d155
9 changed files with 349 additions and 206 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import frappe
|
||||
import json
|
||||
from custom_ui.db_utils import build_error_response, build_success_response
|
||||
|
||||
@frappe.whitelist()
|
||||
|
|
@ -54,10 +55,8 @@ def get_contacts_for_address(address_name):
|
|||
def get_addresses(fields=["*"], filters={}):
|
||||
"""Get addresses with optional filtering."""
|
||||
if isinstance(fields, str):
|
||||
import json
|
||||
fields = json.loads(fields)
|
||||
if isinstance(filters, str):
|
||||
import json
|
||||
filters = json.loads(filters)
|
||||
if fields[0] != "*" and len(fields) == 1:
|
||||
pluck = fields[0]
|
||||
|
|
@ -86,6 +85,16 @@ def create_address(address_data):
|
|||
address.insert(ignore_permissions=True)
|
||||
return address
|
||||
|
||||
def update_address(address_data):
|
||||
"""Update an existing address."""
|
||||
if isinstance(address_data, str):
|
||||
address_data = json.loads(address_data)
|
||||
address_doc = check_and_get_address_by_name(address_data.get("name"))
|
||||
for key, value in address_data.items():
|
||||
setattr(address_doc, key, value)
|
||||
address_doc.save(ignore_permissions=True)
|
||||
return address_doc
|
||||
|
||||
def address_exists(address_line1, address_line2, city, state, pincode):
|
||||
"""Check if an address with the given details already exists."""
|
||||
filters = {
|
||||
|
|
@ -97,6 +106,16 @@ def address_exists(address_line1, address_line2, city, state, pincode):
|
|||
}
|
||||
return frappe.db.exists("Address", filters) is not None
|
||||
|
||||
def check_and_get_address_by_name(address_name):
|
||||
"""Check if an address exists by name and return the address document if found."""
|
||||
if frappe.db.exists("Address", address_name):
|
||||
return frappe.get_doc("Address", address_name)
|
||||
raise ValueError(f"Address with name {address_name} does not exist.")
|
||||
|
||||
def address_exists_by_name(address_name):
|
||||
"""Check if an address with the given name exists."""
|
||||
return frappe.db.exists("Address", address_name) is not None
|
||||
|
||||
def calculate_address_title(customer_name, address_data):
|
||||
return f"{customer_name} - {address_data.get('address_line1', '')}, {address_data.get('city', '')} - {address_data.get('type', '')}"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue