Example #1
0
def register(request):
    if request.user.is_authenticated():
        messages.error(request, _(u'You cannot be logged in when registering.'))
        return HttpResponseRedirect('/')
    else:
        if request.method == 'POST':
            form = RegisterForm(request.POST)
            if form.is_valid():
                cleaned = form.cleaned_data

                # Create user
                user = User(
                    username=cleaned['desired_username'],
                    first_name=cleaned['first_name'],
                    last_name=cleaned['last_name'],
                    email=cleaned['email'],
                )
                user.set_password(cleaned['password'])
                user.is_active = False
                user.save()

                # Create userprofile
                up = UserProfile(
                    user=user,
                    nick=cleaned['desired_username'],
                    date_of_birth=cleaned['date_of_birth'],
                    zip_code=cleaned['zip_code'],
                    address=cleaned['address'],
                    phone=cleaned['phone'],
                )
                up.save()

                # Create the registration token
                token = uuid.uuid4().hex
                rt = RegisterToken(user=user, token=token)
                rt.save()

                link = request.build_absolute_uri(reverse('auth_verify', args=[token]))
                context = {
                    'link': link,
                }
                txt_message = render_to_string('auth/email/verify_account.txt', context, request).strip()
                html_message = render_to_string('auth/email/verify_account.html', context, request).strip()
                send_mail(
                    subject=_(u'Verify your account'),
                    from_email=settings.STUDLAN_FROM_MAIL,
                    recipient_list=[user.email],
                    message=txt_message,
                    html_message=html_message,
                )

                messages.success(request, _(u'Registration successful. Check your email for verification instructions.'))

                return HttpResponseRedirect('/')
            else:
                form = RegisterForm(request.POST, auto_id=True, error_class=InlineSpanErrorList)
        else:
            form = RegisterForm()

        return render(request, 'auth/register.html', {'form': form})
Example #2
0
def direct_register(request, lan_id):
    lan = get_object_or_404(LAN, id=lan_id)

    if lan.is_ended():
        messages.error(request,
                       _(u'The LAN is ended, arrivals can\'t be changed.'))
        return redirect('/')

    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            cleaned = form.cleaned_data

            # Create user
            user = User(
                username=cleaned['desired_username'],
                first_name=cleaned['first_name'],
                last_name=cleaned['last_name'],
                email=cleaned['email'],
            )
            user.set_password(cleaned['password'])
            user.is_active = True
            user.save()

            # Create userprofile
            up = UserProfile(
                user=user,
                nick=cleaned['desired_username'],
                date_of_birth=cleaned['date_of_birth'],
                zip_code=cleaned['zip_code'],
                address=cleaned['address'],
                phone=cleaned['phone'],
            )
            up.save()

            attendee = Attendee(lan=lan, user=user)
            attendee.save()

            messages.success(request, _(u'Registration successful.'))

            return redirect('/auth/direct_register')
        else:
            form = RegisterForm(request.POST,
                                auto_id=True,
                                error_class=InlineSpanErrorList)
    else:
        form = RegisterForm()

    breadcrumbs = (
        (lan, lan.get_absolute_url()),
        (_(u'Manual Registration'), ''),
    )
    context = {
        'breadcrumbs': breadcrumbs,
        'lan': lan,
        'form': form,
    }

    return render(request, 'auth/direct_register.html', context)
Example #3
0
def direct_register(request):
    lan = LAN.objects.filter(end_date__gte=datetime.now()).first()
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            cleaned = form.cleaned_data

            if lan is None:
                messages.error(request, _(u'No upcoming LAN was found.'))
                return HttpResponseRedirect('/auth/direct_register')

            # Create user
            user = User(
                username=cleaned['desired_username'],
                first_name=cleaned['first_name'],
                last_name=cleaned['last_name'],
                email=cleaned['email'],
            )
            user.set_password(cleaned['password'])
            user.is_active = True
            user.save()

            # Create userprofile
            up = UserProfile(
                user=user,
                nick=cleaned['desired_username'],
                date_of_birth=cleaned['date_of_birth'],
                zip_code=cleaned['zip_code'],
                address=cleaned['address'],
                phone=cleaned['phone'],
            )
            up.save()

            attendee = Attendee(lan=lan, user=user)
            attendee.save()

            messages.success(request, _(u'Registration successful.'))

            return HttpResponseRedirect('/auth/direct_register')
        else:
            form = RegisterForm(request.POST, auto_id=True, error_class=InlineSpanErrorList)
    else:
        form = RegisterForm()

    return render(request, 'auth/direct_register.html', {'form': form, 'lan': lan})
Example #4
0
File: views.py Project: SUNET/ni
def whoami(request):
    if request.method == 'GET':
        user_profile = getattr(request.user, 'profile', None)

        if not user_profile:
            user_profile = UserProfile(user=request.user,
                                       email=request.user.email)
            user_profile.save()

        user = {
            'id': user_profile.pk,
            'userid': request.user.pk,
            'display_name': user_profile.display_name,
            'email': request.user.email,
            'landing_page': user_profile.landing_page,
            'landing_choices': user_profile.LANDING_CHOICES,
            'view_network': user_profile.view_network,
            'view_services': user_profile.view_services,
            'view_community': user_profile.view_community
        }
        return JsonResponse(user)
    return httpResponse(status_code=405)
Example #5
0
def create_profile(user, data=None):
    profile = UserProfile(user=user)
    profile.save()

    return profile