blob: 5b713e18dc4f81ac594a2b9cc859057aa30293a5 [file] [log] [blame]
Tony Mack4c1c57c2015-01-03 16:58:18 -05001from core.models import *
2
3def handle(site):
4 """
5 ensure ControllerSiteDeployment object exists for each of the site's SiteDeployment objects
6 """
7 from core.models import SiteDeployments, Controller, ControllerSiteDeployments
8 from collections import defaultdict
9
Tony Mack4c1c57c2015-01-03 16:58:18 -050010 # get current controller site deployments
11 ctrl_site_deployments = ControllerSiteDeployments.objects.filter(site_deployment__site = site)
12 ctrl_site_deployments_dict = {}
13 for ctrl_site_depl in controller_site_deployments:
14 ctrl_site_deployments_dict[ctrl_site_depl.site_deployment] = ctrl_cite_depl
15
16 # get current site deployments
17 site_deployments = SiteDeployments.objects.filter(site=site)
18
19 # for each site deployment, if there is no controller site deployment create one
20 for site_deployment in site_deployments:
21 if site_deployment not in ctrl_site_deployments_dict:
22 ctrl_site_deployment = ControllerSiteDeployment(
23 site_deployment=site_deployment,
24 controller=site_deployment.controller,
25 )
26 ctrl_site_deployment.save()