Example #1
0
def add_user_to_object(request, model, pk):
    obj = get_object_or_404(get_model('monitoringengine_ui', model), pk=pk)
    if has_perm('manage')(request.user, obj) and 'email' in request.GET and request.GET['email']:
        redirect = '/'
        if 'redirect' in request.GET:
            redirect = request.GET['redirect']
        user = get_object_or_404(User, email=request.GET['email'])
        perm = obj.perms.get(perm_type='read').permission
        user.user_permissions.add(perm)
        return HttpResponseRedirect(redirect)
    raise Http404
Example #2
0
def manage_perm(request, action, model, pk, username, perm_type):
    obj = get_object_or_404(get_model('monitoringengine_ui', model), pk=pk)
    if has_perm('manage')(request.user, obj):
        redirect = '/'
        if 'redirect' in request.GET:
            redirect = request.GET['redirect']
        perm = obj.perms.get(perm_type=perm_type).permission
        user = User.objects.get(username=username)
        if action == 'remove':
            user.user_permissions.remove(perm)
            return HttpResponseRedirect(redirect)
        elif action == 'add':
            user.user_permissions.add(perm)
            return HttpResponseRedirect(redirect)
    else:
        raise Http404
def users(obj, perm=''):
    if perm:
        return get_users_for_object(obj, perm)
    else:
        return (get_users_for_object(obj, 'read') |
                get_users_for_object(obj, 'edit') |
                get_users_for_object(obj, 'manage')).distinct()


register.filter('accounts', get_available_objects_of_type(Account))
register.filter('resources', get_available_objects_of_type(Resource))
register.filter('views', get_available_objects_of_type(View))
register.filter('choose_subdomain_include', choose_subdomain_include)


register.filter('can_read', has_perm('read'))
register.filter('can_edit', has_perm('edit'))
register.filter('can_manage', has_perm('manage'))

register.filter('subscriptions_number', account_subscriptions_number)


@register.filter
def class_verbose(obj):
    return obj._meta.verbose_name


@register.filter
def class_name(obj):
    return obj.__class__.__name__