feat(Sales Invoice): allow linking to project without adding timesheets (#44295)

* feat(Sales Invoice): allow linking to project without adding timesheets

* test: add timesheet data
This commit is contained in:
Raffael Meyer
2025-01-27 08:50:57 +01:00
committed by GitHub
parent 2ac8c92e7f
commit 11f65f20a0
2 changed files with 8 additions and 4 deletions

View File

@@ -1089,13 +1089,16 @@ class SalesInvoice(SellingController):
timesheet.billing_amount = ts_doc.total_billable_amount
def update_timesheet_billing_for_project(self):
if not self.timesheets and self.project:
self.add_timesheet_data()
else:
if self.timesheets:
self.calculate_billing_amount_for_timesheet()
@frappe.whitelist()
@frappe.whitelist(methods=["PUT"])
def add_timesheet_data(self):
if not self.timesheets and self.project:
self._add_timesheet_data()
self.save()
def _add_timesheet_data(self):
self.set("timesheets", [])
if self.project:
for data in get_projectwise_timesheet_data(self.project):

View File

@@ -62,6 +62,7 @@ class TestTimesheet(IntegrationTestCase):
)
sales_invoice = create_sales_invoice(do_not_save=True)
sales_invoice.project = project
sales_invoice._add_timesheet_data()
sales_invoice.submit()
ts = frappe.get_doc("Timesheet", timesheet.name)