def get_form(self, request, obj=None, *args, **kwargs): """ Request.user as default node admin and Warn the user that the testbed is not ready for allocating shit """ form = super(SliceAdmin, self).get_form(request, obj=obj, *args, **kwargs) if 'group' in form.base_fields: # ronly forms doesn't have initial nor queryset query = Q( Q(users__roles__is_group_admin=True) | Q(users__roles__is_slice_admin=True) ) query = Q( query & Q(allow_slices=True) ) form = filter_group_queryset(form, obj, request.user, query) return form
def get_form(self, request, obj=None, *args, **kwargs): """ Request.user as default node admin and Warn the user that the testbed is not ready for allocating shit """ form = super(SliceAdmin, self).get_form(request, obj=obj, *args, **kwargs) if 'group' in form.base_fields: # ronly forms doesn't have initial nor queryset query = Q( Q(users__roles__is_group_admin=True) | Q(users__roles__is_slice_admin=True)) query = Q(query & Q(allow_slices=True)) form = filter_group_queryset(form, obj, request.user, query) return form
def get_form(self, request, obj=None, *args, **kwargs): """ request.user as default node admin """ form = super(NodeAdmin, self).get_form(request, obj=obj, *args, **kwargs) if 'group' in form.base_fields: # ronly forms doesn't have initial nor queryset is_group_admin = Q(users__roles__is_group_admin=True) is_node_admin = Q(users__roles__is_node_admin=True) query = Q( is_group_admin | is_node_admin ) query = Q( query & Q(allow_nodes=True) ) form = filter_group_queryset(form, obj, request.user, query) if (obj is not None and obj.set_state == obj.FAILURE and 'set_state' in form.base_fields): # removing production choice if in failure state, only for users # with change permissions is_production = form.base_fields['set_state'].choices.pop(1)[0] == Node.PRODUCTION assert is_production, "Problem removing PRODUCTION from set_state" return form
def get_form(self, request, obj=None, *args, **kwargs): """ request.user as default node admin """ form = super(NodeAdmin, self).get_form(request, obj=obj, *args, **kwargs) if 'group' in form.base_fields: # ronly forms doesn't have initial nor queryset is_group_admin = Q(users__roles__is_group_admin=True) is_node_admin = Q(users__roles__is_node_admin=True) query = Q(is_group_admin | is_node_admin) query = Q(query & Q(allow_nodes=True)) form = filter_group_queryset(form, obj, request.user, query) if (obj is not None and obj.set_state == obj.FAILURE and 'set_state' in form.base_fields): # removing production choice if in failure state, only for users # with change permissions is_production = form.base_fields['set_state'].choices.pop( 1)[0] == Node.PRODUCTION assert is_production, "Problem removing PRODUCTION from set_state" return form