blob: 13b83d8a73e9bb6f03c3e757a75ef2642f2282c4 [file] [log] [blame]
Tony Mack5cc16ba2013-04-09 10:30:45 -04001from plstackapi.openstack.client import OpenStackClient
2from plstackapi.openstack.driver import OpenStackDriver
3from plstackapi.planetstack.api.auth import auth_check
4from plstackapi.planetstack.models import User
5
6
7def add_user(auth, fields):
8 driver = OpenStackDriver(client = auth_check(auth))
9 user = User(**fields)
10 nova_fields = {'name': user.email[:self.email.find('@')],
11 'email': user.email,
12 'password': user.name,
13 'enabled': user.enabled}
14 tenant = driver.create_user(**nova_fields)
15 user.user_id=user.id
16 user.save()
17 return user
18
19def update_user(auth, id, **fields):
20 driver = OpenStackDriver(client = auth_check(auth))
21 users = User.objects.filter(id=id)
22 if not users:
23 return
24
25 user = users[0]
26 nova_fields = {}
27 if 'email' in fields:
28 nova_fields['name'] = fields['email'][:self.email.find('@')]
29 nova_fields['email'] = fields['email']
30 if 'password' in fields:
31 nova_fields['password'] = fields['password']
32 if 'enabled' in fields:
33 nova_fields['enabled'] = fields['enabled']
34 driver.update_user(user.user_id, **nova_fields)
35 user.update(**fields)
36 return user
37
38def delete_user(auth, filter={}):
39 driver = OpenStackDriver(client = auth_check(auth))
40 users = Users.objects.filter(**filter)
41 for user in users:
42 driver.delete_user(id=user.user_id)
43 user.delete()
44 return 1
45
46def get_users(auth, filter={}):
47 client = auth_check(auth)
48 users = User.objects.filter(**filter)
49 return users
50
51
52