forked from github/plane
fix: add issues to cycles and modules (#2659)
* fix: able to add issue in cycle and module * fix: issue activity message
This commit is contained in:
parent
6e461dd8c3
commit
30d6235108
@ -479,13 +479,13 @@ class CycleViewSet(BaseViewSet):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
cycle = Cycle.objects.get(workspace__slug=slug, project_id=project_id, pk=pk)
|
cycle = Cycle.objects.get(workspace__slug=slug, project_id=project_id, pk=pk)
|
||||||
# Delete the cycle
|
|
||||||
cycle.delete()
|
|
||||||
issue_activity.delay(
|
issue_activity.delay(
|
||||||
type="cycle.activity.deleted",
|
type="cycle.activity.deleted",
|
||||||
requested_data=json.dumps(
|
requested_data=json.dumps(
|
||||||
{
|
{
|
||||||
"cycle_id": str(pk),
|
"cycle_id": str(pk),
|
||||||
|
"cycle_name": str(cycle.name),
|
||||||
"issues": [str(issue_id) for issue_id in cycle_issues],
|
"issues": [str(issue_id) for issue_id in cycle_issues],
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
@ -495,6 +495,8 @@ class CycleViewSet(BaseViewSet):
|
|||||||
current_instance=None,
|
current_instance=None,
|
||||||
epoch=int(timezone.now().timestamp()),
|
epoch=int(timezone.now().timestamp()),
|
||||||
)
|
)
|
||||||
|
# Delete the cycle
|
||||||
|
cycle.delete()
|
||||||
return Response(status=status.HTTP_204_NO_CONTENT)
|
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
|
|
||||||
@ -511,12 +513,6 @@ class CycleIssueViewSet(BaseViewSet):
|
|||||||
"issue__assignees__id",
|
"issue__assignees__id",
|
||||||
]
|
]
|
||||||
|
|
||||||
def perform_create(self, serializer):
|
|
||||||
serializer.save(
|
|
||||||
project_id=self.kwargs.get("project_id"),
|
|
||||||
cycle_id=self.kwargs.get("cycle_id"),
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return self.filter_queryset(
|
return self.filter_queryset(
|
||||||
super()
|
super()
|
||||||
@ -669,7 +665,7 @@ class CycleIssueViewSet(BaseViewSet):
|
|||||||
type="cycle.activity.created",
|
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=None,
|
||||||
project_id=str(self.kwargs.get("project_id", None)),
|
project_id=str(self.kwargs.get("project_id", None)),
|
||||||
current_instance=json.dumps(
|
current_instance=json.dumps(
|
||||||
{
|
{
|
||||||
|
@ -266,12 +266,12 @@ class ModuleViewSet(BaseViewSet):
|
|||||||
module_issues = list(
|
module_issues = list(
|
||||||
ModuleIssue.objects.filter(module_id=pk).values_list("issue", flat=True)
|
ModuleIssue.objects.filter(module_id=pk).values_list("issue", flat=True)
|
||||||
)
|
)
|
||||||
module.delete()
|
|
||||||
issue_activity.delay(
|
issue_activity.delay(
|
||||||
type="module.activity.deleted",
|
type="module.activity.deleted",
|
||||||
requested_data=json.dumps(
|
requested_data=json.dumps(
|
||||||
{
|
{
|
||||||
"module_id": str(pk),
|
"module_id": str(pk),
|
||||||
|
"module_name": str(module.name),
|
||||||
"issues": [str(issue_id) for issue_id in module_issues],
|
"issues": [str(issue_id) for issue_id in module_issues],
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
@ -281,6 +281,7 @@ class ModuleViewSet(BaseViewSet):
|
|||||||
current_instance=None,
|
current_instance=None,
|
||||||
epoch=int(timezone.now().timestamp()),
|
epoch=int(timezone.now().timestamp()),
|
||||||
)
|
)
|
||||||
|
module.delete()
|
||||||
return Response(status=status.HTTP_204_NO_CONTENT)
|
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
|
|
||||||
@ -297,12 +298,6 @@ class ModuleIssueViewSet(BaseViewSet):
|
|||||||
ProjectEntityPermission,
|
ProjectEntityPermission,
|
||||||
]
|
]
|
||||||
|
|
||||||
def perform_create(self, serializer):
|
|
||||||
serializer.save(
|
|
||||||
project_id=self.kwargs.get("project_id"),
|
|
||||||
module_id=self.kwargs.get("module_id"),
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return self.filter_queryset(
|
return self.filter_queryset(
|
||||||
super()
|
super()
|
||||||
@ -446,7 +441,7 @@ class ModuleIssueViewSet(BaseViewSet):
|
|||||||
type="module.activity.created",
|
type="module.activity.created",
|
||||||
requested_data=json.dumps({"modules_list": issues}),
|
requested_data=json.dumps({"modules_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=None,
|
||||||
project_id=str(self.kwargs.get("project_id", None)),
|
project_id=str(self.kwargs.get("project_id", None)),
|
||||||
current_instance=json.dumps(
|
current_instance=json.dumps(
|
||||||
{
|
{
|
||||||
|
@ -691,6 +691,10 @@ def create_cycle_issue_activity(
|
|||||||
new_cycle = Cycle.objects.filter(
|
new_cycle = Cycle.objects.filter(
|
||||||
pk=updated_record.get("new_cycle_id", None)
|
pk=updated_record.get("new_cycle_id", None)
|
||||||
).first()
|
).first()
|
||||||
|
issue = Issue.objects.filter(pk=updated_record.get("issue_id")).first()
|
||||||
|
if issue:
|
||||||
|
issue.updated_at = timezone.now()
|
||||||
|
issue.save(update_fields=["updated_at"])
|
||||||
|
|
||||||
issue_activities.append(
|
issue_activities.append(
|
||||||
IssueActivity(
|
IssueActivity(
|
||||||
@ -713,6 +717,10 @@ def create_cycle_issue_activity(
|
|||||||
cycle = Cycle.objects.filter(
|
cycle = Cycle.objects.filter(
|
||||||
pk=created_record.get("fields").get("cycle")
|
pk=created_record.get("fields").get("cycle")
|
||||||
).first()
|
).first()
|
||||||
|
issue = Issue.objects.filter(pk=created_record.get("fields").get("issue")).first()
|
||||||
|
if issue:
|
||||||
|
issue.updated_at = timezone.now()
|
||||||
|
issue.save(update_fields=["updated_at"])
|
||||||
|
|
||||||
issue_activities.append(
|
issue_activities.append(
|
||||||
IssueActivity(
|
IssueActivity(
|
||||||
@ -747,22 +755,27 @@ def delete_cycle_issue_activity(
|
|||||||
)
|
)
|
||||||
|
|
||||||
cycle_id = requested_data.get("cycle_id", "")
|
cycle_id = requested_data.get("cycle_id", "")
|
||||||
|
cycle_name = requested_data.get("cycle_name", "")
|
||||||
cycle = Cycle.objects.filter(pk=cycle_id).first()
|
cycle = Cycle.objects.filter(pk=cycle_id).first()
|
||||||
issues = requested_data.get("issues")
|
issues = requested_data.get("issues")
|
||||||
|
|
||||||
for issue in issues:
|
for issue in issues:
|
||||||
|
current_issue = Issue.objects.filter(pk=issue).first()
|
||||||
|
if issue:
|
||||||
|
current_issue.updated_at = timezone.now()
|
||||||
|
current_issue.save(update_fields=["updated_at"])
|
||||||
issue_activities.append(
|
issue_activities.append(
|
||||||
IssueActivity(
|
IssueActivity(
|
||||||
issue_id=issue,
|
issue_id=issue,
|
||||||
actor_id=actor_id,
|
actor_id=actor_id,
|
||||||
verb="deleted",
|
verb="deleted",
|
||||||
old_value=cycle.name if cycle is not None else "",
|
old_value=cycle.name if cycle is not None else cycle_name,
|
||||||
new_value="",
|
new_value="",
|
||||||
field="cycles",
|
field="cycles",
|
||||||
project_id=project_id,
|
project_id=project_id,
|
||||||
workspace_id=workspace_id,
|
workspace_id=workspace_id,
|
||||||
comment=f"removed this issue from {cycle.name if cycle is not None else None}",
|
comment=f"removed this issue from {cycle.name if cycle is not None else cycle_name}",
|
||||||
old_identifier=cycle.id if cycle is not None else None,
|
old_identifier=cycle_id if cycle_id is not None else None,
|
||||||
epoch=epoch,
|
epoch=epoch,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -794,6 +807,10 @@ def create_module_issue_activity(
|
|||||||
new_module = Module.objects.filter(
|
new_module = Module.objects.filter(
|
||||||
pk=updated_record.get("new_module_id", None)
|
pk=updated_record.get("new_module_id", None)
|
||||||
).first()
|
).first()
|
||||||
|
issue = Issue.objects.filter(pk=updated_record.get("issue_id")).first()
|
||||||
|
if issue:
|
||||||
|
issue.updated_at = timezone.now()
|
||||||
|
issue.save(update_fields=["updated_at"])
|
||||||
|
|
||||||
issue_activities.append(
|
issue_activities.append(
|
||||||
IssueActivity(
|
IssueActivity(
|
||||||
@ -816,6 +833,10 @@ def create_module_issue_activity(
|
|||||||
module = Module.objects.filter(
|
module = Module.objects.filter(
|
||||||
pk=created_record.get("fields").get("module")
|
pk=created_record.get("fields").get("module")
|
||||||
).first()
|
).first()
|
||||||
|
issue = Issue.objects.filter(pk=created_record.get("fields").get("issue")).first()
|
||||||
|
if issue:
|
||||||
|
issue.updated_at = timezone.now()
|
||||||
|
issue.save(update_fields=["updated_at"])
|
||||||
issue_activities.append(
|
issue_activities.append(
|
||||||
IssueActivity(
|
IssueActivity(
|
||||||
issue_id=created_record.get("fields").get("issue"),
|
issue_id=created_record.get("fields").get("issue"),
|
||||||
@ -849,22 +870,27 @@ def delete_module_issue_activity(
|
|||||||
)
|
)
|
||||||
|
|
||||||
module_id = requested_data.get("module_id", "")
|
module_id = requested_data.get("module_id", "")
|
||||||
|
module_name = requested_data.get("module_name", "")
|
||||||
module = Module.objects.filter(pk=module_id).first()
|
module = Module.objects.filter(pk=module_id).first()
|
||||||
issues = requested_data.get("issues")
|
issues = requested_data.get("issues")
|
||||||
|
|
||||||
for issue in issues:
|
for issue in issues:
|
||||||
|
current_issue = Issue.objects.filter(pk=issue).first()
|
||||||
|
if issue:
|
||||||
|
current_issue.updated_at = timezone.now()
|
||||||
|
current_issue.save(update_fields=["updated_at"])
|
||||||
issue_activities.append(
|
issue_activities.append(
|
||||||
IssueActivity(
|
IssueActivity(
|
||||||
issue_id=issue,
|
issue_id=issue,
|
||||||
actor_id=actor_id,
|
actor_id=actor_id,
|
||||||
verb="deleted",
|
verb="deleted",
|
||||||
old_value=module.name if module is not None else "",
|
old_value=module.name if module is not None else module_name,
|
||||||
new_value="",
|
new_value="",
|
||||||
field="modules",
|
field="modules",
|
||||||
project_id=project_id,
|
project_id=project_id,
|
||||||
workspace_id=workspace_id,
|
workspace_id=workspace_id,
|
||||||
comment=f"removed this issue from ",
|
comment=f"removed this issue from {module.name if module is not None else module_name}",
|
||||||
old_identifier=module.id if module is not None else None,
|
old_identifier=module_id if module_id is not None else None,
|
||||||
epoch=epoch,
|
epoch=epoch,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -1452,15 +1478,16 @@ def issue_activity(
|
|||||||
issue_activities = []
|
issue_activities = []
|
||||||
|
|
||||||
project = Project.objects.get(pk=project_id)
|
project = Project.objects.get(pk=project_id)
|
||||||
issue = Issue.objects.filter(pk=issue_id).first()
|
|
||||||
workspace_id = project.workspace_id
|
workspace_id = project.workspace_id
|
||||||
|
|
||||||
if issue is not None:
|
if issue_id is not None:
|
||||||
try:
|
issue = Issue.objects.filter(pk=issue_id).first()
|
||||||
issue.updated_at = timezone.now()
|
if issue:
|
||||||
issue.save(update_fields=["updated_at"])
|
try:
|
||||||
except Exception as e:
|
issue.updated_at = timezone.now()
|
||||||
pass
|
issue.save(update_fields=["updated_at"])
|
||||||
|
except Exception as e:
|
||||||
|
pass
|
||||||
|
|
||||||
ACTIVITY_MAPPER = {
|
ACTIVITY_MAPPER = {
|
||||||
"issue.activity.created": create_issue_activity,
|
"issue.activity.created": create_issue_activity,
|
||||||
|
Loading…
Reference in New Issue
Block a user