bug fixes
[plstackapi.git] / planetstack / model_policies / model_policy_User.py
index cc8bbe6..b7b16ad 100644 (file)
@@ -1,32 +1,12 @@
-from core.models import *
-
 def handle(user):
-       from core.models import Deployment,SiteDeployment,UserDeployment
-       from collections import defaultdict
-       deployments = Deployment.objects.all()
-       site_deployments = SiteDeployment.objects.all()
-       site_deploy_lookup = defaultdict(list)
-       for site_deployment in site_deployments:
-               site_deploy_lookup[site_deployment.site].append(site_deployment.deployment)
-
-       user_deploy_lookup = defaultdict(list)
-       for user_deployment in UserDeployment.objects.all():
-               user_deploy_lookup[user_deployment.user].append(user_deployment.deployment)
-   
-       all_deployments = Deployment.objects.filter() 
-       if user.is_admin:
-               # admins should have an account at all deployments
-               expected_deployments = deployments
-       else:
-               # normal users should have an account at their site's deployments
-               #expected_deployments = site_deploy_lookup[user.site]
-               # users are added to all deployments for now
-               expected_deployments = deployments        
-
-       for expected_deployment in expected_deployments:
-               if not user in user_deploy_lookup or \
-                 expected_deployment not in user_deploy_lookup[user]: 
-                       # add new record
-                       ud = UserDeployment(user=user, deployment=expected_deployment)
-                       ud.save()    
+    from core.models import Controller, ControllerSite, ControllerUser
+    from collections import defaultdict
+    
+    controller_users = ControllerUser.objects.filter(user=user)
+    existing_controllers = [cu.controller for cu in controller_users]
+    all_controllers = Controller.objects.all()
+    for controller in all_controllers:
+        if controller not in existing_controllers:
+            ctrl_user = ControllerUser(controller=controller, user=user)
+            ctrl_user.save()