A: Remove address fields from company_service — dict, create, update, export
This commit is contained in:
@@ -16,9 +16,6 @@ from app.models.company import Company
|
||||
from app.models.contact import CompanyContact, Contact
|
||||
|
||||
|
||||
ADDRESS_FIELDS = ("address_street", "address_city", "address_zip", "address_country", "address_state")
|
||||
|
||||
|
||||
def _company_to_dict(c: Company, include_contacts: bool = False) -> dict[str, Any]:
|
||||
"""Serialize a Company ORM object to dict."""
|
||||
data: dict[str, Any] = {
|
||||
@@ -30,11 +27,6 @@ def _company_to_dict(c: Company, include_contacts: bool = False) -> dict[str, An
|
||||
"email": c.email,
|
||||
"website": c.website,
|
||||
"description": c.description,
|
||||
"address_street": c.address_street,
|
||||
"address_city": c.address_city,
|
||||
"address_zip": c.address_zip,
|
||||
"address_country": c.address_country,
|
||||
"address_state": c.address_state,
|
||||
"created_at": c.created_at.isoformat() if c.created_at else None,
|
||||
"updated_at": c.updated_at.isoformat() if c.updated_at else None,
|
||||
}
|
||||
@@ -160,11 +152,6 @@ async def create_company(
|
||||
email=data.get("email"),
|
||||
website=data.get("website"),
|
||||
description=data.get("description"),
|
||||
address_street=data.get("address_street"),
|
||||
address_city=data.get("address_city"),
|
||||
address_zip=data.get("address_zip"),
|
||||
address_country=data.get("address_country"),
|
||||
address_state=data.get("address_state"),
|
||||
created_by=user_id,
|
||||
updated_by=user_id,
|
||||
)
|
||||
@@ -205,7 +192,7 @@ async def update_company(
|
||||
all_fields = (
|
||||
"name", "account_number", "industry", "phone", "email",
|
||||
"website", "description",
|
||||
) + ADDRESS_FIELDS
|
||||
)
|
||||
for field in all_fields:
|
||||
if field in data and data[field] is not None:
|
||||
old_val = getattr(company, field)
|
||||
@@ -250,12 +237,7 @@ async def soft_delete_company(
|
||||
|
||||
await db.flush()
|
||||
await log_audit(
|
||||
db,
|
||||
tenant_id,
|
||||
user_id,
|
||||
"delete",
|
||||
"company",
|
||||
company_id,
|
||||
db, tenant_id, user_id, "delete", "company", company_id,
|
||||
changes={"name": company.name, "cascade": cascade},
|
||||
)
|
||||
return True
|
||||
@@ -391,15 +373,12 @@ async def export_companies_csv(
|
||||
output = io.StringIO()
|
||||
writer = csv.writer(output)
|
||||
writer.writerow(
|
||||
["id", "name", "account_number", "industry", "phone", "email", "website", "description",
|
||||
"address_street", "address_city", "address_zip", "address_country", "address_state"]
|
||||
["id", "name", "account_number", "industry", "phone", "email", "website", "description"]
|
||||
)
|
||||
for c in companies:
|
||||
writer.writerow(
|
||||
[str(c.id), c.name, c.account_number or "", c.industry or "",
|
||||
c.phone or "", c.email or "", c.website or "", c.description or "",
|
||||
c.address_street or "", c.address_city or "", c.address_zip or "",
|
||||
c.address_country or "", c.address_state or ""]
|
||||
c.phone or "", c.email or "", c.website or "", c.description or ""]
|
||||
)
|
||||
return output.getvalue()
|
||||
|
||||
@@ -438,15 +417,12 @@ async def export_companies_xlsx(
|
||||
ws.title = "Companies"
|
||||
headers = [
|
||||
"id", "name", "account_number", "industry", "phone", "email", "website", "description",
|
||||
"address_street", "address_city", "address_zip", "address_country", "address_state",
|
||||
]
|
||||
ws.append(headers)
|
||||
for c in companies:
|
||||
ws.append(
|
||||
[str(c.id), c.name, c.account_number or "", c.industry or "",
|
||||
c.phone or "", c.email or "", c.website or "", c.description or "",
|
||||
c.address_street or "", c.address_city or "", c.address_zip or "",
|
||||
c.address_country or "", c.address_state or ""]
|
||||
c.phone or "", c.email or "", c.website or "", c.description or ""]
|
||||
)
|
||||
|
||||
buf = io.BytesIO()
|
||||
|
||||
Reference in New Issue
Block a user