1 from types import StringTypes
2 from django.contrib.auth import authenticate
3 from openstack.manager import OpenStackManager
4 from core.models import Role
7 def _get_roles(filter):
8 if isinstance(filter, StringTypes) and filter.isdigit():
10 if isinstance(filter, int):
11 roles = Role.objects.filter(id=filter)
12 elif isinstance(filter, StringTypes):
13 roles = Role.objects.filter(role_type=filter)
14 elif isinstance(filter, dict):
15 roles = Role.objects.filter(**filter)
20 def add_role(auth, name):
21 user = authenticate(username=auth.get('username'),
22 password=auth.get('password'))
23 auth['tenant'] = user.site.login_base
25 role = Role(role_type=name)
26 role.os_manager = OpenStackManager(auth=auth, caller = user)
30 def delete_role(auth, filter={}):
31 user = authenticate(username=auth.get('username'),
32 password=auth.get('password'))
33 roles = _get_roles(filter)
35 auth['tenant'] = user.site.login_base
36 role.os_manager = OpenStackManager(auth=auth, caller = user)
40 def get_roles(auth, filter={}):
41 user = authenticate(username=auth.get('username'),
42 password=auth.get('password'))
43 return _get_roles(filter)