From 52a09319d4d3af4ebc8e2b6053d70af9e89b2a2b Mon Sep 17 00:00:00 2001 From: Quan Pham Date: Wed, 15 Jan 2025 09:55:58 -0500 Subject: [PATCH] Removed "Project" magic string from `bu_internal_invoice.py` --- process_report/invoices/bu_internal_invoice.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/process_report/invoices/bu_internal_invoice.py b/process_report/invoices/bu_internal_invoice.py index 0db03b9..647cb43 100644 --- a/process_report/invoices/bu_internal_invoice.py +++ b/process_report/invoices/bu_internal_invoice.py @@ -14,7 +14,7 @@ class BUInternalInvoice(invoice.Invoice): export_columns_list = [ invoice.INVOICE_DATE_FIELD, invoice.PI_FIELD, - "Project", + invoice.PROJECT_NAME_FIELD, invoice.COST_FIELD, invoice.CREDIT_FIELD, invoice.SUBSIDY_FIELD, @@ -36,8 +36,10 @@ def _sum_project_allocations(self, dataframe): """A project may have multiple allocations, and therefore multiple rows in the raw invoices. For BU-Internal invoice, we only want 1 row for each unique project, summing up its allocations' costs""" - project_list = dataframe["Project"].unique() - data_no_dup = dataframe.drop_duplicates("Project", inplace=False) + project_list = dataframe[invoice.PROJECT_NAME_FIELD].unique() + data_no_dup = dataframe.drop_duplicates( + invoice.PROJECT_NAME_FIELD, inplace=False + ) sum_fields = [ invoice.COST_FIELD, invoice.CREDIT_FIELD, @@ -45,8 +47,8 @@ def _sum_project_allocations(self, dataframe): invoice.PI_BALANCE_FIELD, ] for project in project_list: - project_mask = dataframe["Project"] == project - no_dup_project_mask = data_no_dup["Project"] == project + project_mask = dataframe[invoice.PROJECT_NAME_FIELD] == project + no_dup_project_mask = data_no_dup[invoice.PROJECT_NAME_FIELD] == project sum_fields_sums = dataframe[project_mask][sum_fields].sum().values data_no_dup.loc[no_dup_project_mask, sum_fields] = sum_fields_sums