CORD-1244 Modify model_policies for OpenStack synchronizer
Change-Id: I8e946e3ca665689bd0449b80d87fe4bb29afde99
diff --git a/xos/synchronizer/model_policies/model_policy_User.py b/xos/synchronizer/model_policies/model_policy_User.py
index 448b58f..79c0112 100644
--- a/xos/synchronizer/model_policies/model_policy_User.py
+++ b/xos/synchronizer/model_policies/model_policy_User.py
@@ -1,12 +1,19 @@
from synchronizers.new_base.modelaccessor import *
+from synchronizers.new_base.policy import Policy
-def handle(user):
- controller_users = ControllerUser.objects.filter(user_id=user.id)
- existing_controllers = [cu.controller for cu in controller_users]
- existing_controller_ids = [c.id for c in existing_controllers]
- all_controllers = Controller.objects.all()
- for controller in all_controllers:
- if controller.id not in existing_controller_ids:
- ctrl_user = ControllerUser(controller=controller, user=user)
- ctrl_user.save()
+class UserPolicy(Policy):
+ model_name = "User"
+
+ def handle_create(self, user):
+ return self.handle_update(user)
+
+ def handle_update(self, user):
+ controller_users = ControllerUser.objects.filter(user_id=user.id)
+ existing_controllers = [cu.controller for cu in controller_users]
+ existing_controller_ids = [c.id for c in existing_controllers]
+ all_controllers = Controller.objects.all()
+ for controller in all_controllers:
+ if controller.id not in existing_controller_ids:
+ ctrl_user = ControllerUser(controller=controller, user=user)
+ ctrl_user.save()