chore: history logs for issue draft

This commit is contained in:
NarayanBavisetti 2023-09-13 21:42:14 +05:30
parent af73bbe718
commit 597a136908
2 changed files with 50 additions and 20 deletions

View File

@ -508,7 +508,7 @@ class IssueActivityEndpoint(BaseAPIView):
issue_activities = ( issue_activities = (
IssueActivity.objects.filter(issue_id=issue_id) IssueActivity.objects.filter(issue_id=issue_id)
.filter( .filter(
~Q(field__in=["comment", "vote", "reaction"]), ~Q(field__in=["comment", "vote", "reaction", "draft"]),
project__project_projectmember__member=self.request.user, project__project_projectmember__member=self.request.user,
) )
.select_related("actor", "workspace", "issue", "project") .select_related("actor", "workspace", "issue", "project")

View File

@ -396,16 +396,33 @@ def track_assignees(
def create_issue_activity( def create_issue_activity(
requested_data, current_instance, issue_id, project, actor, issue_activities requested_data, current_instance, issue_id, project, actor, issue_activities
): ):
issue_activities.append( requested_data = json.loads(requested_data) if requested_data is not None else None
IssueActivity( current_instance = (
issue_id=issue_id, json.loads(current_instance) if current_instance is not None else None
project=project,
workspace=project.workspace,
comment=f"created the issue",
verb="created",
actor=actor,
)
) )
if(requested_data.get("is_draft") == True):
issue_activities.append(
IssueActivity(
issue_id=issue_id,
project=project,
workspace=project.workspace,
field="draft",
comment=f"drafted the issue",
verb="created",
actor=actor,
)
)
else:
issue_activities.append(
IssueActivity(
issue_id=issue_id,
project=project,
workspace=project.workspace,
comment=f"created the issue",
verb="created",
actor=actor,
)
)
def track_estimate_points( def track_estimate_points(
@ -523,17 +540,30 @@ def update_issue_activity(
json.loads(current_instance) if current_instance is not None else None json.loads(current_instance) if current_instance is not None else None
) )
for key in requested_data: if requested_data.get("is_draft") == True:
func = ISSUE_ACTIVITY_MAPPER.get(key, None) issue_activities.append(
if func is not None: IssueActivity(
func( issue_id=issue_id,
requested_data, project=project,
current_instance, workspace=project.workspace,
issue_id, field="draft",
project, comment=f"updated the drafted issue",
actor, verb="updated",
issue_activities, actor=actor,
)
) )
else:
for key in requested_data:
func = ISSUE_ACTIVITY_MAPPER.get(key, None)
if func is not None:
func(
requested_data,
current_instance,
issue_id,
project,
actor,
issue_activities,
)
def delete_issue_activity( def delete_issue_activity(