mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-13 20:05:09 +00:00
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:
@@ -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):
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user