mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
chore: log cycle delete and cycle issue delete activities (#975)
* chore: log cycle delete and cycle issue delete activities * dev: remove print logs
This commit is contained in:
parent
88200a93bf
commit
99fb3c9bfe
@ -48,6 +48,28 @@ class CycleViewSet(BaseViewSet):
|
|||||||
project_id=self.kwargs.get("project_id"), owned_by=self.request.user
|
project_id=self.kwargs.get("project_id"), owned_by=self.request.user
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def perform_destroy(self, instance):
|
||||||
|
cycle_issues = list(
|
||||||
|
CycleIssue.objects.filter(cycle_id=self.kwargs.get("pk")).values_list(
|
||||||
|
"issue", flat=True
|
||||||
|
)
|
||||||
|
)
|
||||||
|
issue_activity.delay(
|
||||||
|
type="cycle.activity.deleted",
|
||||||
|
requested_data=json.dumps(
|
||||||
|
{
|
||||||
|
"cycle_id": str(self.kwargs.get("pk")),
|
||||||
|
"issues": [str(issue_id) for issue_id in cycle_issues],
|
||||||
|
}
|
||||||
|
),
|
||||||
|
actor_id=str(self.request.user.id),
|
||||||
|
issue_id=str(self.kwargs.get("pk", None)),
|
||||||
|
project_id=str(self.kwargs.get("project_id", None)),
|
||||||
|
current_instance=None,
|
||||||
|
)
|
||||||
|
|
||||||
|
return super().perform_destroy(instance)
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
subquery = CycleFavorite.objects.filter(
|
subquery = CycleFavorite.objects.filter(
|
||||||
user=self.request.user,
|
user=self.request.user,
|
||||||
@ -181,6 +203,22 @@ class CycleIssueViewSet(BaseViewSet):
|
|||||||
cycle_id=self.kwargs.get("cycle_id"),
|
cycle_id=self.kwargs.get("cycle_id"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def perform_destroy(self, instance):
|
||||||
|
issue_activity.delay(
|
||||||
|
type="cycle.activity.deleted",
|
||||||
|
requested_data=json.dumps(
|
||||||
|
{
|
||||||
|
"cycle_id": str(self.kwargs.get("cycle_id")),
|
||||||
|
"issues": [str(instance.issue_id)],
|
||||||
|
}
|
||||||
|
),
|
||||||
|
actor_id=str(self.request.user.id),
|
||||||
|
issue_id=str(self.kwargs.get("pk", None)),
|
||||||
|
project_id=str(self.kwargs.get("project_id", None)),
|
||||||
|
current_instance=None,
|
||||||
|
)
|
||||||
|
return super().perform_destroy(instance)
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return self.filter_queryset(
|
return self.filter_queryset(
|
||||||
super()
|
super()
|
||||||
@ -286,9 +324,9 @@ class CycleIssueViewSet(BaseViewSet):
|
|||||||
|
|
||||||
# Get all CycleIssues already created
|
# Get all CycleIssues already created
|
||||||
cycle_issues = list(CycleIssue.objects.filter(issue_id__in=issues))
|
cycle_issues = list(CycleIssue.objects.filter(issue_id__in=issues))
|
||||||
records_to_update = []
|
|
||||||
update_cycle_issue_activity = []
|
update_cycle_issue_activity = []
|
||||||
record_to_create = []
|
record_to_create = []
|
||||||
|
records_to_update = []
|
||||||
|
|
||||||
for issue in issues:
|
for issue in issues:
|
||||||
cycle_issue = [
|
cycle_issue = [
|
||||||
@ -333,7 +371,7 @@ class CycleIssueViewSet(BaseViewSet):
|
|||||||
|
|
||||||
# Capture Issue Activity
|
# Capture Issue Activity
|
||||||
issue_activity.delay(
|
issue_activity.delay(
|
||||||
type="issue.activity.updated",
|
type="cycle.activity.created",
|
||||||
requested_data=json.dumps({"cycles_list": issues}),
|
requested_data=json.dumps({"cycles_list": issues}),
|
||||||
actor_id=str(self.request.user.id),
|
actor_id=str(self.request.user.id),
|
||||||
issue_id=str(self.kwargs.get("pk", None)),
|
issue_id=str(self.kwargs.get("pk", None)),
|
||||||
|
@ -506,63 +506,6 @@ def track_blockings(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def track_cycles(
|
|
||||||
requested_data,
|
|
||||||
current_instance,
|
|
||||||
issue_id,
|
|
||||||
project,
|
|
||||||
actor,
|
|
||||||
issue_activities,
|
|
||||||
):
|
|
||||||
# Updated Records:
|
|
||||||
updated_records = current_instance.get("updated_cycle_issues", [])
|
|
||||||
created_records = json.loads(current_instance.get("created_cycle_issues", []))
|
|
||||||
|
|
||||||
for updated_record in updated_records:
|
|
||||||
old_cycle = Cycle.objects.filter(
|
|
||||||
pk=updated_record.get("old_cycle_id", None)
|
|
||||||
).first()
|
|
||||||
new_cycle = Cycle.objects.filter(
|
|
||||||
pk=updated_record.get("new_cycle_id", None)
|
|
||||||
).first()
|
|
||||||
|
|
||||||
issue_activities.append(
|
|
||||||
IssueActivity(
|
|
||||||
issue_id=updated_record.get("issue_id"),
|
|
||||||
actor=actor,
|
|
||||||
verb="updated",
|
|
||||||
old_value=old_cycle.name,
|
|
||||||
new_value=new_cycle.name,
|
|
||||||
field="cycles",
|
|
||||||
project=project,
|
|
||||||
workspace=project.workspace,
|
|
||||||
comment=f"{actor.email} updated cycle from {old_cycle.name} to {new_cycle.name}",
|
|
||||||
old_identifier=old_cycle.id,
|
|
||||||
new_identifier=new_cycle.id,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
for created_record in created_records:
|
|
||||||
cycle = Cycle.objects.filter(
|
|
||||||
pk=created_record.get("fields").get("cycle")
|
|
||||||
).first()
|
|
||||||
|
|
||||||
issue_activities.append(
|
|
||||||
IssueActivity(
|
|
||||||
issue_id=created_record.get("fields").get("issue"),
|
|
||||||
actor=actor,
|
|
||||||
verb="created",
|
|
||||||
old_value="",
|
|
||||||
new_value=cycle.name,
|
|
||||||
field="cycles",
|
|
||||||
project=project,
|
|
||||||
workspace=project.workspace,
|
|
||||||
comment=f"{actor.email} added cycle {cycle.name}",
|
|
||||||
new_identifier=cycle.id,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
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
|
||||||
):
|
):
|
||||||
@ -627,7 +570,6 @@ def update_issue_activity(
|
|||||||
"assignees_list": track_assignees,
|
"assignees_list": track_assignees,
|
||||||
"blocks_list": track_blocks,
|
"blocks_list": track_blocks,
|
||||||
"blockers_list": track_blockings,
|
"blockers_list": track_blockings,
|
||||||
"cycles_list": track_cycles,
|
|
||||||
"estimate_point": track_estimate_points,
|
"estimate_point": track_estimate_points,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -731,6 +673,92 @@ def delete_comment_activity(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def create_cycle_issue_activity(
|
||||||
|
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
|
||||||
|
)
|
||||||
|
|
||||||
|
# Updated Records:
|
||||||
|
updated_records = current_instance.get("updated_cycle_issues", [])
|
||||||
|
created_records = json.loads(current_instance.get("created_cycle_issues", []))
|
||||||
|
|
||||||
|
for updated_record in updated_records:
|
||||||
|
old_cycle = Cycle.objects.filter(
|
||||||
|
pk=updated_record.get("old_cycle_id", None)
|
||||||
|
).first()
|
||||||
|
new_cycle = Cycle.objects.filter(
|
||||||
|
pk=updated_record.get("new_cycle_id", None)
|
||||||
|
).first()
|
||||||
|
|
||||||
|
issue_activities.append(
|
||||||
|
IssueActivity(
|
||||||
|
issue_id=updated_record.get("issue_id"),
|
||||||
|
actor=actor,
|
||||||
|
verb="updated",
|
||||||
|
old_value=old_cycle.name,
|
||||||
|
new_value=new_cycle.name,
|
||||||
|
field="cycles",
|
||||||
|
project=project,
|
||||||
|
workspace=project.workspace,
|
||||||
|
comment=f"{actor.email} updated cycle from {old_cycle.name} to {new_cycle.name}",
|
||||||
|
old_identifier=old_cycle.id,
|
||||||
|
new_identifier=new_cycle.id,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
for created_record in created_records:
|
||||||
|
cycle = Cycle.objects.filter(
|
||||||
|
pk=created_record.get("fields").get("cycle")
|
||||||
|
).first()
|
||||||
|
|
||||||
|
issue_activities.append(
|
||||||
|
IssueActivity(
|
||||||
|
issue_id=created_record.get("fields").get("issue"),
|
||||||
|
actor=actor,
|
||||||
|
verb="created",
|
||||||
|
old_value="",
|
||||||
|
new_value=cycle.name,
|
||||||
|
field="cycles",
|
||||||
|
project=project,
|
||||||
|
workspace=project.workspace,
|
||||||
|
comment=f"{actor.email} added cycle {cycle.name}",
|
||||||
|
new_identifier=cycle.id,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def delete_cycle_issue_activity(
|
||||||
|
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
|
||||||
|
)
|
||||||
|
|
||||||
|
cycle_id = requested_data.get("cycle_id", "")
|
||||||
|
cycle = Cycle.objects.filter(pk=cycle_id).first()
|
||||||
|
issues = requested_data.get("issues")
|
||||||
|
|
||||||
|
for issue in issues:
|
||||||
|
issue_activities.append(
|
||||||
|
IssueActivity(
|
||||||
|
issue_id=issue,
|
||||||
|
actor=actor,
|
||||||
|
verb="deleted",
|
||||||
|
old_value=cycle.name if cycle is not None else "",
|
||||||
|
new_value="",
|
||||||
|
field="cycles",
|
||||||
|
project=project,
|
||||||
|
workspace=project.workspace,
|
||||||
|
comment=f"{actor.email} removed this issue from {cycle.name if cycle is not None else None}",
|
||||||
|
old_identifier=cycle.id if cycle is not None else None,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def create_module_issue_activity(
|
def create_module_issue_activity(
|
||||||
requested_data, current_instance, issue_id, project, actor, issue_activities
|
requested_data, current_instance, issue_id, project, actor, issue_activities
|
||||||
):
|
):
|
||||||
@ -938,6 +966,8 @@ def issue_activity(
|
|||||||
"comment.activity.created": create_comment_activity,
|
"comment.activity.created": create_comment_activity,
|
||||||
"comment.activity.updated": update_comment_activity,
|
"comment.activity.updated": update_comment_activity,
|
||||||
"comment.activity.deleted": delete_comment_activity,
|
"comment.activity.deleted": delete_comment_activity,
|
||||||
|
"cycle.activity.created": create_cycle_issue_activity,
|
||||||
|
"cycle.activity.deleted": delete_cycle_issue_activity,
|
||||||
"module.activity.created": create_module_issue_activity,
|
"module.activity.created": create_module_issue_activity,
|
||||||
"module.activity.deleted": delete_module_issue_activity,
|
"module.activity.deleted": delete_module_issue_activity,
|
||||||
"link.activity.created": create_link_activity,
|
"link.activity.created": create_link_activity,
|
||||||
|
Loading…
Reference in New Issue
Block a user