diff --git a/commons/data_access_layer/cosmos_db.py b/commons/data_access_layer/cosmos_db.py index 859df9b6..9508715f 100644 --- a/commons/data_access_layer/cosmos_db.py +++ b/commons/data_access_layer/cosmos_db.py @@ -78,6 +78,11 @@ def __init__(self, data): if k in names: setattr(self, k, v) + def is_deleted(self): + if "deleted" in self.__dict__.keys(): + return True if self.deleted else False + return False + def partition_key_attribute(pk: PartitionKey) -> str: return pk.path.strip('/') diff --git a/time_tracker_api/time_entries/time_entries_model.py b/time_tracker_api/time_entries/time_entries_model.py index 1d4c0eac..aa0954c4 100644 --- a/time_tracker_api/time_entries/time_entries_model.py +++ b/time_tracker_api/time_entries/time_entries_model.py @@ -168,15 +168,17 @@ def find_all( if time_entries: custom_conditions = create_in_condition(time_entries, "project_id") + custom_conditions_activity = create_in_condition(time_entries, "activity_id") project_dao = projects_model.create_dao() projects = project_dao.get_all( - custom_sql_conditions=[custom_conditions] + custom_sql_conditions=[custom_conditions], + visible_only=False ) add_project_name_to_time_entries(time_entries, projects) activity_dao = activities_model.create_dao() - activities = activity_dao.get_all() + activities = activity_dao.get_all(custom_sql_conditions=[custom_conditions_activity], visible_only=False) add_activity_name_to_time_entries(time_entries, activities) users = AzureConnection().users() diff --git a/utils/extend_model.py b/utils/extend_model.py index 5c72e26f..54d25975 100644 --- a/utils/extend_model.py +++ b/utils/extend_model.py @@ -28,14 +28,16 @@ def add_project_name_to_time_entries(time_entries, projects): for time_entry in time_entries: for project in projects: if time_entry.project_id == project.id: - setattr(time_entry, 'project_name', project.name) + name = project.name + " (archived)" if project.is_deleted() else project.name + setattr(time_entry, 'project_name', name) def add_activity_name_to_time_entries(time_entries, activities): for time_entry in time_entries: for activity in activities: if time_entry.activity_id == activity.id: - setattr(time_entry, 'activity_name', activity.name) + name = activity.name + " (archived)" if activity.is_deleted() else activity.name + setattr(time_entry, 'activity_name', name) def add_user_email_to_time_entries(time_entries, users):