Compare commits

...

4 commits

4 changed files with 99 additions and 63 deletions

View file

@ -26,7 +26,7 @@ def get_estimate_table_data_v2(filters={}, sortings=[], page=1, page_size=10):
start=(page) * page_size,
order_by=sortings
)
estimates = [frappe.get_doc("Quotation", name).as_dict() for name in estimate_names]
tableRows = []
for estimate in estimates:
@ -41,7 +41,7 @@ def get_estimate_table_data_v2(filters={}, sortings=[], page=1, page_size=10):
tableRows.append(tableRow)
table_data_dict = build_datatable_dict(data=tableRows, count=count, page=page, page_size=page_size)
return build_success_response(table_data_dict)
@frappe.whitelist()
def get_estimate_table_data(filters={}, sortings=[], page=1, page_size=10):
@ -283,14 +283,14 @@ def send_estimate_email(estimate_name):
attachments=[{"fname": f"{quotation.name}.pdf", "fcontent": pdf}]
)
print(f"DEBUG: Email sent to {email} successfully.")
# Update quotation status
quotation.custom_current_status = "Submitted"
quotation.custom_sent = 1
quotation.save()
quotation.submit()
frappe.db.commit()
updated_quotation = frappe.get_doc("Quotation", estimate_name)
return build_success_response(updated_quotation.as_dict())
except Exception as e:
@ -510,7 +510,7 @@ def upsert_estimate(data):
"company": data.get("company"),
"actual_customer_name": client_doc.name,
"customer_type": address_doc.customer_type,
"customer_address": client_doc.custom_billing_address,
"customer_address": client_doc.primary_address,
"contact_person": data.get("contact_name"),
"letter_head": data.get("company"),
"custom_project_template": data.get("project_template", None),

View file

@ -382,6 +382,12 @@ custom_fields = {
)
],
"Quotation": [
dict(
fieldname="custom_installation_address",
label="Installation Address",
fieldtype="Link",
options="Address"
),
dict(
fieldname="requires_half_payment",
label="Requires Half Payment",
@ -389,20 +395,12 @@ custom_fields = {
default=0,
insert_after="custom_installation_address"
),
dict(
fieldname="custom_quotation_template",
label="Quotation Template",
fieldtype="Link",
options="Quotation Template",
insert_after="company",
description="The template used for generating this quotation."
),
dict(
fieldname="custom_project_template",
label="Project Template",
fieldtype="Link",
options="Project Template",
insert_after="custom_quotation_template",
insert_after="requires_half_payment",
description="The project template to use when creating a project from this quotation.",
allow_on_submit=1
),
@ -422,13 +420,6 @@ custom_fields = {
options="On-Site Meeting",
insert_after="custom_job_address"
),
dict(
fieldname="from_onsite_meeting",
label="From On-Site Meeting",
fieldtype="Link",
options="On-Site Meeting",
insert_after="custom_job_address"
),
dict(
fieldname="actual_customer_name",
label="Customer",
@ -444,9 +435,39 @@ custom_fields = {
options="Customer\nLead",
insert_after="customer_name",
allow_on_submit=1
)
),
dict(
fieldname="custom_current_status",
label="Status",
fieldtype="Select",
options="Draft\nSubmitted\nEstimate Accepted\nLost\nWon",
insert_after="Date",
allow_on_submit=1
),
dict(
fieldname="custom_sent",
label="Sent",
fieldtype="Check",
insert_after="custom_current_status",
default=0,
allow_on_submit=1
),
dict(
fieldname="custom_followup_needed",
label="Follow-up Needed",
fieldtype="Check",
insert_after="custom_sent",
default=0,
allow_on_submit=1
),
],
"Sales Order": [
dict(
fieldname="custom_installation_address",
label="Installation Address",
fieldtype="Link",
options="Address"
),
dict(
fieldname="requires_half_payment",
label="Requires Half Payment",
@ -471,7 +492,14 @@ custom_fields = {
insert_after="custom_installation_address",
description="The address where the job will be performed.",
allow_on_submit=1
)
),
dict(
fieldname="custom_department_type",
label="Department Type",
fieldtype="Select",
options="\nFencing Install\nWarranty\nSprinkler Service\nLandscape Installation\nLawn Maintenance",
insert_after="delivery_date",
),
],
"Project": [
dict(
@ -581,5 +609,13 @@ custom_fields = {
options="Project Template",
insert_after="project"
)
],
"Territory": [
dict(
fieldname="custom_map",
label="Map",
fieldtype="Attach Image",
insert_after="is_group"
)
]
}

View file

@ -69,7 +69,7 @@
"docstatus": 0,
"doctype": "Client Script",
"dt": "Quotation",
"enabled": 1,
"enabled": 0,
"modified": "2025-01-08 05:04:26.743210",
"module": null,
"name": "Quotation - Set Same Valid Until Date",

View file

@ -12,6 +12,45 @@
"territory_manager": null,
"territory_name": "Rest Of The World"
},
{
"custom_map": null,
"docstatus": 0,
"doctype": "Territory",
"is_group": 1,
"modified": "2024-04-08 03:16:41.446439",
"name": "United States",
"old_parent": "All Territories",
"parent_territory": "All Territories",
"targets": [],
"territory_manager": null,
"territory_name": "United States"
},
{
"custom_map": null,
"docstatus": 0,
"doctype": "Territory",
"is_group": 1,
"modified": "2024-10-24 16:28:49.004134",
"name": "Idaho",
"old_parent": "United States",
"parent_territory": "United States",
"targets": [],
"territory_manager": null,
"territory_name": "Idaho"
},
{
"custom_map": null,
"docstatus": 0,
"doctype": "Territory",
"is_group": 1,
"modified": "2024-10-24 16:29:21.492438",
"name": "Washington",
"old_parent": "United States",
"parent_territory": "United States",
"targets": [],
"territory_manager": null,
"territory_name": "Washington"
},
{
"custom_map": null,
"docstatus": 0,
@ -1246,44 +1285,5 @@
"targets": [],
"territory_manager": null,
"territory_name": "Hayden Canyon"
},
{
"custom_map": null,
"docstatus": 0,
"doctype": "Territory",
"is_group": 1,
"modified": "2024-10-24 16:29:21.492438",
"name": "Washington",
"old_parent": "United States",
"parent_territory": "United States",
"targets": [],
"territory_manager": null,
"territory_name": "Washington"
},
{
"custom_map": null,
"docstatus": 0,
"doctype": "Territory",
"is_group": 1,
"modified": "2024-04-08 03:16:41.446439",
"name": "United States",
"old_parent": "All Territories",
"parent_territory": "All Territories",
"targets": [],
"territory_manager": null,
"territory_name": "United States"
},
{
"custom_map": null,
"docstatus": 0,
"doctype": "Territory",
"is_group": 1,
"modified": "2024-10-24 16:28:49.004134",
"name": "Idaho",
"old_parent": "United States",
"parent_territory": "United States",
"targets": [],
"territory_manager": null,
"territory_name": "Idaho"
}
]