regenerate policies and tasks on site/client change on agent

This commit is contained in:
Josh 2020-11-29 02:35:30 +00:00
parent c28c1efbb1
commit 7575253000
1 changed files with 7 additions and 0 deletions

View File

@ -93,6 +93,8 @@ def uninstall(request):
@api_view(["PATCH"])
def edit_agent(request):
agent = get_object_or_404(Agent, pk=request.data["id"])
old_site = agent.site.pk
a_serializer = AgentSerializer(instance=agent, data=request.data, partial=True)
a_serializer.is_valid(raise_exception=True)
a_serializer.save()
@ -104,6 +106,11 @@ def edit_agent(request):
p_serializer.is_valid(raise_exception=True)
p_serializer.save()
# check if site changed and initiate generating correct policies
if old_site != request.data["site"]:
agent.generate_checks_from_policies(clear=True)
agent.generate_tasks_from_policies(clear=True)
return Response("ok")