Exemplo n.º 1
0
def add_user_to_group(request, group_id, username):

    if username == settings.TOKEN_USERNAME:
        return HttpResponse('User does not exist: %s' % username)

    authMethod = localdb_auth_key
    isAdmin = False

    if 'isAdmin' in request.GET:
        if request.GET['isAdmin'] == 'true':
            isAdmin = True

    try:
        authMethod = request.GET['authMethod']
        if authMethod == localdb_auth_key:
            user = User.objects.get(username=username)
        else:
            user = UserAuthentication.objects.get(
                username=username,
                authenticationMethod=authMethod).userProfile.user
    except User.DoesNotExist:
        return return_response_error(request)
    except UserAuthentication.DoesNotExist:
        return return_response_error(request)

    try:
        group = Group.objects.get(pk=group_id)
    except Group.DoesNotExist:
        return HttpResponse('Group does not exist.')

    if user.groups.filter(name=group.name).count() > 0:
        return HttpResponse('User %s is already member of that group.'
                            % username)

    user.groups.add(group)
    user.save()

    if isAdmin:
        groupadmin = GroupAdmin(user=user, group=group)
        groupadmin.save()

    c = {'user': user, 'group_id': group_id, 'isAdmin': isAdmin}
    return HttpResponse(render_response_index(
        request,
        'tardis_portal/ajax/add_user_to_group_result.html', c))
Exemplo n.º 2
0
def add_user_to_group(request, group_id, username):

    if username == settings.TOKEN_USERNAME:
        return HttpResponse('User does not exist: %s' % username)

    authMethod = localdb_auth_key
    isAdmin = False

    if 'isAdmin' in request.GET:
        if request.GET['isAdmin'] == 'true':
            isAdmin = True

    try:
        authMethod = request.GET['authMethod']
        if authMethod == localdb_auth_key:
            user = User.objects.get(username=username)
        else:
            user = UserAuthentication.objects.get(
                username=username,
                authenticationMethod=authMethod).userProfile.user
    except User.DoesNotExist:
        return return_response_error(request)
    except UserAuthentication.DoesNotExist:
        return return_response_error(request)

    try:
        group = Group.objects.get(pk=group_id)
    except Group.DoesNotExist:
        return HttpResponse('Group does not exist.')

    if user.groups.filter(name=group.name).count() > 0:
        return HttpResponse('User %s is already member of that group.'
                            % username)

    user.groups.add(group)
    user.save()

    if isAdmin:
        groupadmin = GroupAdmin(user=user, group=group)
        groupadmin.save()

    c = {'user': user, 'group_id': group_id, 'isAdmin': isAdmin}
    return HttpResponse(render_response_index(
        request,
        'tardis_portal/ajax/add_user_to_group_result.html', c))
Exemplo n.º 3
0
def create_group(request):

    if 'group' not in request.GET:
        c = {'createGroupPermissionsForm':
             CreateGroupPermissionsForm()}

        response = HttpResponse(render_response_index(
            request,
            'tardis_portal/ajax/create_group.html', c))
        return response

    authMethod = localdb_auth_key
    admin = None
    groupname = None

    if 'group' in request.GET:
        groupname = request.GET['group']

    if 'admin' in request.GET:
        admin = request.GET['admin']

    if 'authMethod' in request.GET:
        authMethod = request.GET['authMethod']

    try:
        group = Group(name=groupname)
        group.save()
    except:
        transaction.rollback()
        return HttpResponse('Could not create group %s '
                            '(It is likely that it already exists)' %
                            (groupname))

    adminuser = None
    if admin:
        if admin == settings.TOKEN_USERNAME:
            transaction.rollback()
            return HttpResponse('User %s does not exist' %
                                (settings.TOKEN_USERNAME))
        try:
            authMethod = request.GET['authMethod']
            if authMethod == localdb_auth_key:
                adminuser = User.objects.get(username=admin)
            else:
                adminuser = UserAuthentication.objects.get(
                    username=admin,
                    authenticationMethod=authMethod).userProfile.user

        except User.DoesNotExist:
            transaction.rollback()
            return HttpResponse('User %s does not exist' % (admin))
        except UserAuthentication.DoesNotExist:
            transaction.rollback()
            return HttpResponse('User %s does not exist' % (admin))

        # create admin for this group and add it to the group
        groupadmin = GroupAdmin(user=adminuser, group=group)
        groupadmin.save()

        adminuser.groups.add(group)
        adminuser.save()

    # add the current user as admin as well for newly created groups
    if request.user != adminuser:
        user = request.user

        groupadmin = GroupAdmin(user=user, group=group)
        groupadmin.save()

        user.groups.add(group)
        user.save()

    c = {'group': group}

    response = HttpResponse(render_response_index(
        request,
        'tardis_portal/ajax/create_group.html', c))
    return response
Exemplo n.º 4
0
def create_group(request):

    if 'group' not in request.GET:
        c = {'createGroupPermissionsForm':
             CreateGroupPermissionsForm()}

        response = HttpResponse(render_response_index(
            request,
            'tardis_portal/ajax/create_group.html', c))
        return response

    authMethod = localdb_auth_key
    admin = None
    groupname = None

    if 'group' in request.GET:
        groupname = request.GET['group']

    if 'admin' in request.GET:
        admin = request.GET['admin']

    if 'authMethod' in request.GET:
        authMethod = request.GET['authMethod']

    try:
        group = Group(name=groupname)
        group.save()
    except:
        transaction.rollback()
        return HttpResponse('Could not create group %s '
                            '(It is likely that it already exists)' %
                            (groupname))

    adminuser = None
    if admin:
        if admin == settings.TOKEN_USERNAME:
            transaction.rollback()
            return HttpResponse('User %s does not exist' %
                                (settings.TOKEN_USERNAME))
        try:
            authMethod = request.GET['authMethod']
            if authMethod == localdb_auth_key:
                adminuser = User.objects.get(username=admin)
            else:
                adminuser = UserAuthentication.objects.get(
                    username=admin,
                    authenticationMethod=authMethod).userProfile.user

        except User.DoesNotExist:
            transaction.rollback()
            return HttpResponse('User %s does not exist' % (admin))
        except UserAuthentication.DoesNotExist:
            transaction.rollback()
            return HttpResponse('User %s does not exist' % (admin))

        # create admin for this group and add it to the group
        groupadmin = GroupAdmin(user=adminuser, group=group)
        groupadmin.save()

        adminuser.groups.add(group)
        adminuser.save()

    # add the current user as admin as well for newly created groups
    if request.user != adminuser:
        user = request.user

        groupadmin = GroupAdmin(user=user, group=group)
        groupadmin.save()

        user.groups.add(group)
        user.save()

    c = {'group': group}

    response = HttpResponse(render_response_index(
        request,
        'tardis_portal/ajax/create_group.html', c))
    return response