예제 #1
0
def add(request):
    if request.method == 'GET':
        return redirect(request, 'mediagoblin.plugins.persona.edit')

    email = _get_response(request)

    if email:
        query = PersonaUserEmails.query.filter_by(
            persona_email=email
        ).first()
    user_exists = query.user if query else None

    if user_exists:
        messages.add_message(
            request,
            messages.WARNING,
            _('Sorry, an account is already registered with that Persona'
              ' email address.'))
        return redirect(request, 'mediagoblin.plugins.persona.edit')

    else:
        # Save the Persona Email to the user
        new_entry = PersonaUserEmails()
        new_entry.persona_email = email
        new_entry.user_id = request.user.id
        new_entry.save()

        messages.add_message(
            request,
            messages.SUCCESS,
            _('Your Persona email address was saved successfully.'))

        return redirect(request, 'mediagoblin.edit.account')
예제 #2
0
def create_user(register_form):
    if 'persona_email' in register_form:
        username = register_form.username.data
        user = User.query.filter(
            or_(
                User.username == username,
                User.email == username,
            )).first()

        if not user:
            user = create_basic_user(register_form)

        new_entry = PersonaUserEmails()
        new_entry.persona_email = register_form.persona_email.data
        new_entry.user_id = user.id
        new_entry.save()

        return user
예제 #3
0
def add(request):
    if request.method == 'GET':
        return redirect(request, 'mediagoblin.plugins.persona.edit')

    email = _get_response(request)

    if email:
        query = PersonaUserEmails.query.filter_by(persona_email=email).first()
    user_exists = query.user if query else None

    if user_exists:
        messages.add_message(
            request, messages.WARNING,
            _('Sorry, an account is already registered with that Persona'
              ' email address.'))
        return redirect(request, 'mediagoblin.plugins.persona.edit')

    else:
        # Save the Persona Email to the user
        new_entry = PersonaUserEmails()
        new_entry.persona_email = email
        new_entry.user_id = request.user.id
        new_entry.save()

        request.session['persona_login_email'] = email

        messages.add_message(
            request, messages.SUCCESS,
            _('Your Persona email address was saved successfully.'))

        return redirect(request, 'mediagoblin.edit.account')
예제 #4
0
def create_user(register_form):
    if 'persona_email' in register_form:
        username = register_form.username.data
        user = User.query.filter(
            or_(
                User.username == username,
                User.email == username,
            )).first()

        if not user:
            user = create_basic_user(register_form)

        new_entry = PersonaUserEmails()
        new_entry.persona_email = register_form.persona_email.data
        new_entry.user_id = user.id
        new_entry.save()

        return user