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,6 +396,23 @@ 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
): ):
requested_data = json.loads(requested_data) if requested_data is not None else None
current_instance = (
json.loads(current_instance) if current_instance is not None else None
)
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( issue_activities.append(
IssueActivity( IssueActivity(
issue_id=issue_id, issue_id=issue_id,
@ -523,6 +540,19 @@ 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
) )
if requested_data.get("is_draft") == True:
issue_activities.append(
IssueActivity(
issue_id=issue_id,
project=project,
workspace=project.workspace,
field="draft",
comment=f"updated the drafted issue",
verb="updated",
actor=actor,
)
)
else:
for key in requested_data: for key in requested_data:
func = ISSUE_ACTIVITY_MAPPER.get(key, None) func = ISSUE_ACTIVITY_MAPPER.get(key, None)
if func is not None: if func is not None: