CORD-1244 Modify model_policies for OpenStack synchronizer
Change-Id: I8e946e3ca665689bd0449b80d87fe4bb29afde99
diff --git a/xos/synchronizer/model_policies/model_policy_SitePrivilege.py b/xos/synchronizer/model_policies/model_policy_SitePrivilege.py
index 2218994..10600fb 100644
--- a/xos/synchronizer/model_policies/model_policy_SitePrivilege.py
+++ b/xos/synchronizer/model_policies/model_policy_SitePrivilege.py
@@ -1,15 +1,22 @@
from synchronizers.new_base.modelaccessor import *
+from synchronizers.new_base.policy import Policy
-def handle(site_privilege):
- # site_privilege = SitePrivilege.get(site_privilege_id)
- # apply site privilage at all controllers
- controller_site_privileges = ControllerSitePrivilege.objects.filter(
- site_privilege_id = site_privilege.id,
- )
- existing_controllers = [sp.controller for sp in controller_site_privileges]
- all_controllers = Controller.objects.all()
- for controller in all_controllers:
- if controller not in existing_controllers:
- ctrl_site_priv = ControllerSitePrivilege(controller=controller, site_privilege=site_privilege)
- ctrl_site_priv.save()
+class SitePrivilegePolicy(Policy):
+ model_name = "SitePrivilege"
+
+ def handle_create(self, site_privilege):
+ return self.handle_update(site_privilege)
+
+ def handle_update(self, site_privilege):
+ # site_privilege = SitePrivilege.get(site_privilege_id)
+ # apply site privilage at all controllers
+ controller_site_privileges = ControllerSitePrivilege.objects.filter(
+ site_privilege_id = site_privilege.id,
+ )
+ existing_controllers = [sp.controller for sp in controller_site_privileges]
+ all_controllers = Controller.objects.all()
+ for controller in all_controllers:
+ if controller not in existing_controllers:
+ ctrl_site_priv = ControllerSitePrivilege(controller=controller, site_privilege=site_privilege)
+ ctrl_site_priv.save()