def post(self, request, pk, *args, **kwargs):
data = json.loads(self.request.body)
projects = data.get('projects')
users = data.get('users')
group = Group.objects.get(name=data.get('group'))
group_id = Group.objects.get(name="Project Manager").id
user = request.user
task = multiuserassignproject.delay(user, pk, projects, users, group_id)
if CeleryTaskProgress.objects.create(task_id=task.id, user=user, task_type=1):
return HttpResponse("Sucess")
else:
return HttpResponse("Failed")
#May need it
# class MultiUserAssignProjectView(OrganizationRoleMixin, TemplateView):
# def get(self, request, pk):
# org_obj = Organization.objects.get(pk=pk)
# return render(request, 'fieldsight/multi_user_assign.html',{'type': "project", 'pk':pk})
# def post(self, request, *args, **kwargs):
# data = json.loads(self.request.body)
# projects = data.get('projects')
# users = data.get('users')
# group = Group.objects.get(name="Project Manager")
# for project_id in projects:
# project = Project.objects.get(pk=project_id)
# for user in users:
# role, created = UserRole.objects.get_or_create(user_id=user, project_id=project_id,
# organization__id=project.organization.id,
# project__id=project_id,
# group=group, ended_at=None)
# if created:
# description = "{0} was assigned as Project Manager in {1}".format(
# role.user.get_full_name(), role.project)
# noti = role.logs.create(source=role.user, type=6, title=description, description=description,
# content_object=role.project, extra_object=self.request.user)
# result = {}
# result['description'] = description
# result['url'] = noti.get_absolute_url()
# ChannelGroup("notify-{}".format(role.organization.id)).send({"text": json.dumps(result)})
# ChannelGroup("project-{}".format(role.project.id)).send({"text": json.dumps(result)})
# ChannelGroup("notify-0").send({"text": json.dumps(result)})
# return HttpResponse("Sucess")
评论列表
文章目录