Beispiel #1
0
def membership_create_user(request, username):
    try:
        AuthenticationData.objects.get(username=username, backend=RADIUS_BACKEND_NAME)
        # Account already exists
        raise Http404
    except AuthenticationData.DoesNotExist:
        pass

    if request.method == 'POST':
        form = CreateUserForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.username = username
            user.set_unusable_password()
            user.save()

            data = AuthenticationData(user=user, backend=RADIUS_BACKEND_NAME, username=username)
            data.save()

            profile = Profile(user=user)
            profile.save()

            membership, membership_created = Membership.objects.get_or_create(
                user=user, organization=request.organization)
            if membership_created:
                log.membership_created(request.user, membership)
            return redirect(membership_edit, pk=membership.pk)
    else:
        form = CreateUserForm(initial={'username': username})

    return render(request, 'membership/create_user.html', locals())
Beispiel #2
0
def membership_add(request):
    if request.method == 'POST':
        form = MembershipAddForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            try:
                authentication_data = AuthenticationData.objects.get(username=username, backend=RADIUS_BACKEND_NAME)
            except AuthenticationData.DoesNotExist:
                return redirect(membership_create_user, username=username)

            user = authentication_data.user
            membership, is_new = Membership.objects.get_or_create(user=user, organization=request.organization)
            if is_new:
                log.membership_created(request.user, membership)
            return redirect(membership_edit, pk=membership.pk)
    else:
        form = MembershipAddForm()

    return render(request, 'membership/form.html', locals())