1 from core.models import *
4 from core.models import Controller,ControllerSites,ControllerUsers
5 from collections import defaultdict
6 controllers = Controller.objects.all()
7 controller_sitements = ControllerSites.objects.all()
8 controller_site_lookup = defaultdict(list)
9 for controller_sitement in controller_sitements:
10 controller_site_lookup[controller_sitement.site].append(controller_sitement.controller)
12 controller_user_lookup = defaultdict(list)
13 for controller_userment in ControllerUsers.objects.all():
14 controller_user_lookup[controller_userment.user].append(controller_userment.controller)
16 all_controllers = Controller.objects.filter()
18 # admins should have an account at all controllers
19 expected_controllers = controllers
21 # normal users should have an account at their site's controllers
22 #expected_controllers = controller_site_lookup[user.site]
23 # users are added to all controllers for now
24 expected_controllers = controllers
26 for expected_controller in expected_controllers:
27 if not user in controller_user_lookup or \
28 expected_controller not in controller_user_lookup[user]:
30 ud = ControllerUsers(user=user, controller=expected_controller)