From 8ac63cb0da059008147c6cc785c04d41aabe02c6 Mon Sep 17 00:00:00 2001 From: pablohashescobar Date: Mon, 14 Aug 2023 18:37:25 +0530 Subject: [PATCH 1/3] fix: analytics export --- apiserver/plane/bgtasks/analytic_plot_export.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/apiserver/plane/bgtasks/analytic_plot_export.py b/apiserver/plane/bgtasks/analytic_plot_export.py index 3177c39fe7e..503728faa33 100644 --- a/apiserver/plane/bgtasks/analytic_plot_export.py +++ b/apiserver/plane/bgtasks/analytic_plot_export.py @@ -51,12 +51,12 @@ def analytic_export_task(email, data, slug): segmented = segment assignee_details = {} - if x_axis in ["assignees__display_name"] or segment in ["assignees__display_name"]: + if x_axis in ["assignees__id"] or segment in ["assignees__id"]: assignee_details = ( Issue.issue_objects.filter(workspace__slug=slug, **filters, assignees__avatar__isnull=False) .order_by("assignees__id") .distinct("assignees__id") - .values("assignees__avatar", "assignees__display_name", "assignees__first_name", "assignees__last_name") + .values("assignees__avatar", "assignees__display_name", "assignees__first_name", "assignees__last_name", "assignees__id") ) if segment: @@ -93,17 +93,17 @@ def analytic_export_task(email, data, slug): else: generated_row.append("0") # x-axis replacement for names - if x_axis in ["assignees__display_name"]: - assignee = [user for user in assignee_details if str(user.get("assignees__display_name")) == str(item)] + if x_axis in ["assignees__id"]: + assignee = [user for user in assignee_details if str(user.get("assignees__id")) == str(item)] if len(assignee): generated_row[0] = str(assignee[0].get("assignees__first_name")) + " " + str(assignee[0].get("assignees__last_name")) rows.append(tuple(generated_row)) # If segment is ["assignees__display_name"] then replace segment_zero rows with first and last names - if segmented in ["assignees__display_name"]: + if segmented in ["assignees__id"]: for index, segm in enumerate(row_zero[2:]): # find the name of the user - assignee = [user for user in assignee_details if str(user.get("assignees__display_name")) == str(segm)] + assignee = [user for user in assignee_details if str(user.get("assignees__id")) == str(segm)] if len(assignee): row_zero[index] = str(assignee[0].get("assignees__first_name")) + " " + str(assignee[0].get("assignees__last_name")) @@ -141,8 +141,8 @@ def analytic_export_task(email, data, slug): else distribution.get(item)[0].get("estimate "), ] # x-axis replacement to names - if x_axis in ["assignees__display_name"]: - assignee = [user for user in assignee_details if str(user.get("assignees__display_name")) == str(item)] + if x_axis in ["assignees__id"]: + assignee = [user for user in assignee_details if str(user.get("assignees__id")) == str(item)] if len(assignee): row[0] = str(assignee[0].get("assignees__first_name")) + " " + str(assignee[0].get("assignees__last_name")) From 1a808e07fdcf040e975b44e5a1584cf4e3afa593 Mon Sep 17 00:00:00 2001 From: pablohashescobar Date: Tue, 15 Aug 2023 15:27:37 +0530 Subject: [PATCH 2/3] dev: export analytics assignee indexing --- apiserver/plane/bgtasks/analytic_plot_export.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apiserver/plane/bgtasks/analytic_plot_export.py b/apiserver/plane/bgtasks/analytic_plot_export.py index 503728faa33..2b25c36dcd8 100644 --- a/apiserver/plane/bgtasks/analytic_plot_export.py +++ b/apiserver/plane/bgtasks/analytic_plot_export.py @@ -101,11 +101,11 @@ def analytic_export_task(email, data, slug): # If segment is ["assignees__display_name"] then replace segment_zero rows with first and last names if segmented in ["assignees__id"]: - for index, segm in enumerate(row_zero[2:]): + for index, segm in enumerate(row_zero[1:]): # find the name of the user assignee = [user for user in assignee_details if str(user.get("assignees__id")) == str(segm)] if len(assignee): - row_zero[index] = str(assignee[0].get("assignees__first_name")) + " " + str(assignee[0].get("assignees__last_name")) + row_zero[index + 1] = str(assignee[0].get("assignees__first_name")) + " " + str(assignee[0].get("assignees__last_name")) rows = [tuple(row_zero)] + rows csv_buffer = io.StringIO() From 1941bb1410e315d5a3e718458f8acbcb0b557b3d Mon Sep 17 00:00:00 2001 From: pablohashescobar Date: Tue, 15 Aug 2023 15:32:31 +0530 Subject: [PATCH 3/3] dev: total counts --- apiserver/plane/bgtasks/analytic_plot_export.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apiserver/plane/bgtasks/analytic_plot_export.py b/apiserver/plane/bgtasks/analytic_plot_export.py index 2b25c36dcd8..492be887071 100644 --- a/apiserver/plane/bgtasks/analytic_plot_export.py +++ b/apiserver/plane/bgtasks/analytic_plot_export.py @@ -101,11 +101,11 @@ def analytic_export_task(email, data, slug): # If segment is ["assignees__display_name"] then replace segment_zero rows with first and last names if segmented in ["assignees__id"]: - for index, segm in enumerate(row_zero[1:]): + for index, segm in enumerate(row_zero[2:]): # find the name of the user assignee = [user for user in assignee_details if str(user.get("assignees__id")) == str(segm)] if len(assignee): - row_zero[index + 1] = str(assignee[0].get("assignees__first_name")) + " " + str(assignee[0].get("assignees__last_name")) + row_zero[index + 2] = str(assignee[0].get("assignees__first_name")) + " " + str(assignee[0].get("assignees__last_name")) rows = [tuple(row_zero)] + rows csv_buffer = io.StringIO()