Ejemplo n.º 1
0
def user_profile_post(request, **kwargs):
    user=request.user
    form=RegistrationForm(request.POST)
    added_context={'registration_form': form}
    if not form.is_valid(user=user):
        form.reformat_errors()
#        log.debug('user %r not valid, aborting' % user.contributor)
        return render(request, 'registration/user_profile.html', added_context)
    
    user.first_name=form.cleaned_data['first_name']
    user.last_name=form.cleaned_data['last_name']
    user.email=form.cleaned_data['email']
    user.password=make_password(form.cleaned_data['password1'])
    user.contributor.lab.name=form.cleaned_data['lab']
    user.contributor.lab.url=form.cleaned_data['lab_url']
    try:
#        log.debug('about to save user: %r' % user.contributor)
        user.save()
        added_context['msgs']='Profile successfully updated'
    except Exception as e:
        msgs='Unable to save user information: %s' % e
        added_context['msgs']=msgs
#        log.debug(msgs)

    
    return render(request, 'registration/user_profile.html', added_context)
Ejemplo n.º 2
0
def register_new_user(request):
    form=RegistrationForm(request.POST)
#    log.debug('hi, prospective new user')
    if not form.is_valid():       # try again
#        log.debug('form invalid, try again')
        form.reformat_errors()
        return render(request, 'registration/login.html', {'registration_form': form})

    # check for previously existing user of that name:
    try:
        username=form.cleaned_data['username']
        user=User.objects.get(username=username)
        form.errors['username']='******' % username
#        log.debug('username %s already taken' % username)
        form.reformat_errors()
        return render(request, 'registration/login.html', {'registration_form': form})
    except User.DoesNotExist:
#        log.debug('no user %s, proceeding' % username)
        pass

    # create User:
    log.info('attempting to create new user %s' % form.cleaned_data['username'])
    username=form.cleaned_data['username']
    first_name=form.cleaned_data['first_name']
    last_name=form.cleaned_data['last_name']
    password1=form.cleaned_data['password2']
    password2=form.cleaned_data['password1']
    email=form.cleaned_data['email']
    lab_name=form.cleaned_data['lab']
    lab_url=form.cleaned_data['lab_url']

    user=User.objects.create_user(username, email, password1)
    user=auth.authenticate(username=username, password=password1)
    auth.login(request, user)
    log.info('new user %s logged in' % user.username)

    # create lab and contributor:
    try:
        lab=Lab.objects.get(name=lab_name)
    except Lab.DoesNotExist:
        lab=Lab(name=lab_name, url=lab_url)
        lab.save()
#    log.debug('new user: lab is %s' % lab)

    try:
        contributor=Contributor.objects.get(user=user)
    except Contributor.DoesNotExist:
        contributor=Contributor(user=user, first_name=first_name, last_name=last_name, lab=lab)
        contributor.save()
#    log.debug('contributor is %s' % contributor)

    url=reverse('user_profile', args=(user.username,))
    return redirect(url)