82
def get_roles(project_roles=True):
83
nova = get_nova_admin_connection()
84
roles = nova.get_roles(project_roles=project_roles)
85
return [(role.role, role.role) for role in roles]
88
def get_members(project):
89
nova = get_nova_admin_connection()
90
members = nova.get_project_members(project)
91
return [str(user.memberId) for user in members]
94
def set_project_roles(projectname, username, roles):
95
nova = get_nova_admin_connection()
96
# hacky work around to interface correctly with multiple select form
97
_remove_roles(projectname, username)
100
nova.add_user_role(username, str(role), projectname)
102
def _remove_roles(project, username):
103
nova = get_nova_admin_connection()
104
userroles = nova.get_user_roles(username, project)
105
roles = [str(role.role) for role in userroles]
108
if role == "developer":
109
nova.remove_user_role(username, "developer", project)
110
if role == "sysadmin":
111
nova.remove_user_role(username, "sysadmin", project)
112
if role == "netadmin":
113
nova.remove_user_role(username, "netadmin", project)
82
116
class ProjectFormBase(forms.Form):
83
117
def __init__(self, project, *args, **kwargs):
177
211
manager = forms.ModelChoiceField(queryset=auth_models.User.objects.all(),
178
212
label="Project Manager")
181
def get_roles(project_roles=True):
182
nova = get_nova_admin_connection()
183
roles = nova.get_roles(project_roles=project_roles)
184
return [(role.role, role.role) for role in roles]
188
def get_members(project):
189
nova = get_nova_admin_connection()
190
members = nova.get_project_members(project)
191
return [str(user.memberId) for user in members]
194
215
class GlobalRolesForm(forms.Form):
195
216
role = forms.MultipleChoiceField(label='Roles', required=False)
202
223
class ProjectUserForm(forms.Form):
203
224
role = forms.MultipleChoiceField(label='Roles', required=False)
205
def __init__(self, *args, **kwargs):
226
def __init__(self, project, user, *args, **kwargs):
206
227
super(ProjectUserForm, self).__init__(*args, **kwargs)
207
self.fields['role'].choices = get_roles(project_roles=False)
228
self.project = project
230
self.fields['role'].choices = get_roles()
233
set_project_roles(self.project.projectname,
235
self.cleaned_data['role'])
210
238
class AddProjectUserForm(forms.Form):