示例#1
0
    def post(self, request):
        form = RegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/success/')

        return HttpResponseRedirect('/')
示例#2
0
def register(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            first_name = form.cleaned_data['first_name']
            last_name = form.cleaned_data['last_name']
            
            user = User.objects.create_user(email, #email is username
                                            email, #email
                                            password)
            user.first_name = first_name
            user.last_name = last_name
            user.save()
            return authenticate(request, email, password)
    else:
        # setup the redirect url if user attempted to access a page
        # that required login
        if 'next' in request.GET:
            request.session['next'] = request.GET['next']
        form = RegistrationForm()
    
    return render_to_response("login.html", {
            'form': form,
        },
        context_instance = RequestContext(request)
    )
示例#3
0
def register(request, registration_key):
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = RegistrationForm(request.POST)
        # check whether it's valid:
        if form.is_valid():

            username = form.cleaned_data.get('username')
            email = form.cleaned_data.get('email')
            password = form.cleaned_data.get('password')

            user = create_user(username, email, password)

            try:
                sg = SendgridEmailClient()
                wcm = WelcomeMail(user, user.emailverification)
                sg.send_mail(wcm)
                rbe_logger.info("Send welcome message to {}".format(email))
            except Exception as e:
                rbe_logger.exception(e)

            djauth.login(request, user)

            return HttpResponseRedirect(reverse('welcome'))

    # if a GET (or any other method) we'll create a blank form
    else:
        form = RegistrationForm(initial={'registration_key': registration_key})

    return render(request, 'auth/register.html', {'form': form})
示例#4
0
def register(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            first_name = form.cleaned_data['first_name']
            last_name = form.cleaned_data['last_name']

            user = User.objects.create_user(
                email,  #email is username
                email,  #email
                password)
            user.first_name = first_name
            user.last_name = last_name
            user.save()
            return authenticate(request, email, password)
    else:
        # setup the redirect url if user attempted to access a page
        # that required login
        if 'next' in request.GET:
            request.session['next'] = request.GET['next']
        form = RegistrationForm()

    return render_to_response("login.html", {
        'form': form,
    },
                              context_instance=RequestContext(request))
示例#5
0
def register(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            first_name = form.cleaned_data['first_name']
            last_name = form.cleaned_data['last_name']
            password = form.cleaned_data['pwd1']
            usr = User.objects.create_user(
                username=email,
                email=email,
                password=password)
            usr.first_name = first_name
            usr.last_name = last_name
            usr.save()
            messages.info(request, 'You have registered successfully')
            # create training schedule
            _training = Training.objects.create(user=usr)
            # No schedule is marked as current yet (bug or feature?)
            for learning_page in LearningPage.objects.order_by('placement'):
                TrainingSchedule.objects.create(
                    user_training=_training,
                    learning_page=learning_page)

            # authenticate and login
            user = authenticate(request, username=email, password=password)
            if user is not None:
                login(request, user)
                return redirect('/learning/')
    else:
        form = RegistrationForm()
    return render(request, 'register.html', {'form': form})
示例#6
0
文件: views.py 项目: Marx86/trambroid
def registration(request):
    if request.user.is_authenticated():
        return redirect('/')

    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            try:
                user_pk = form.save(request.FILES.get('avatar'))
                admins = User.objects.filter(is_superuser=True)
                msg = EmailMessage(
                    u'Новый пользователь %s' % request.POST['username'],
                    (u'<html>'
                    u'<meta http-equiv="Content-Type" content="text/html; '
                    u'charset=UTF-8"><body>'
                    u'Зарегистрировался новый пользователь '
                    u'<a href="http://%s/admin/auth/user/%i">%s</a>'
                    u'<br />'
                    u'Данные:<br /><ul>%s</ul>'
                    u'</body></html>') % (settings.HOSTNAME, user_pk,
                                          request.POST['username'], form.as_ul()),
                    u'admin@%s' % settings.HOSTNAME,
                    [a.email for a in admins]
                )
                msg.content_subtype = "html"
                msg.send()
                return redirect(reverse('registration-thanks'))
            except ValidationError:
                pass
    else:
        form = RegistrationForm()

    return render(request, 'registration/registration.html', {'form': form})
示例#7
0
    def post(self, request):
        form = RegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            messages.add_message(request, messages.SUCCESS, 'Registration successful!')
            return HttpResponseRedirect(reverse('core:login'))

        # Form has errors
        return render(request, 'core/register.html', {'form': form})
示例#8
0
 def post(self, request, *args, **kwargs):
     context = {}
     form = RegistrationForm(request.POST)
     if form.is_valid() and request.recaptcha_is_valid:
         form.save()
         email = form.cleaned_data.get('email')
         raw_password = form.cleaned_data.get('password1')
         account = authenticate(email=email, password=raw_password)
         login(request, account)
         return redirect('homePage')
     else:
         context['form'] = form
         return render(request, self.template_name, context)
示例#9
0
def register(request, registration_key):
    if settings.CLOSED_NETWORK:
        rc = RequestContext(request)
        return render_to_response('auth/register_info.html', rc)

    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = RegistrationForm(request.POST)
        # check whether it's valid:
        if form.is_valid():

            username = form.cleaned_data.get('username')
            email = form.cleaned_data.get('email')
            password = form.cleaned_data.get('password')
            registration_key = form.cleaned_data.get('registration_key')

            u = User.objects.create_user(username=username,
                                         email=email,
                                         password=password)
            user = djauth.authenticate(username=username, password=password)

            if settings.CLOSED_NETWORK:
                rk = InvitationKey.objects.get(key=registration_key)
                p = UserProfile(user=u, invited_by=rk.user)
                p.save()
                rk.delete()
            else:
                p = UserProfile(user=u, invited_by=None)
                p.save()

            try:
                wcm = WelcomeMail()
                wcm.send(username=user.username, recipient_list=[email])
                rbe_logger.info("Send welcome message to {}".format(email))
            except Exception as e:
                rbe_logger.exception(e)

            djauth.login(request, user)

            return HttpResponseRedirect(
                reverse('profile', kwargs={'user_id': request.user.id}))

    # if a GET (or any other method) we'll create a blank form
    else:
        form = RegistrationForm(initial={'registration_key': registration_key})

    return render(request, 'auth/register.html', {
        'form': form,
        'closed_network': settings.CLOSED_NETWORK
    })
示例#10
0
def register():
    if User.query.first():
        return redirect(url_for('auth.login'))

    if current_user.is_authenticated:
        return redirect(url_for('messages.read'))

    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, password=generate_password_hash(form.password.data))
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('auth.login'))
    return render_template('auth/register.html', title='Register', form=form)
示例#11
0
    def member_edit(member_idx):
        '''
        신청서 수정
        '''
        form = RegistrationForm(request.form)
        form.set_camp(campcode)

        if request.method == "POST":
            form.update(member_idx)
            flash('수정이 완료되었습니다')
            return redirect(url_for('.member', member_idx=member_idx))

        member = db.session.query(Member).filter(
            Member.idx == member_idx).one()

        form.set_member_data(member)

        params = {
            'form':
            form,
            'page_header':
            "개인 신청서 수정",
            'script':
            url_for('static',
                    filename='{0}/js/reg-individual-edit.js'.format(campcode)),
            'editmode':
            True
        }
        return render_template('{0}/form.html'.format(campcode), **params)
示例#12
0
def register(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            username = new_user.username
            email = new_user.email
            password = request.POST['password1']

            salt = hashlib.sha1(str(random.random())).hexdigest()[:5]
            activation_key = hashlib.sha1(salt + email).hexdigest()
            key_expires = datetime.datetime.today() + datetime.timedelta(2)

            #Get user by username
            user = get_user_model().objects.get(username=username)

            # Create and save user profile
            new_profile = UserProfile(user=user,
                                      activation_key=activation_key,
                                      key_expires=key_expires)
            new_profile.save()

            # Send email with activation key
            email_subject = 'Account confirmation'
            email_body = "Hey %s, thanks for signing up. To activate your account, click this link within \
          48hours http://ivebeenfound-dev2.elasticbeanstalk.com/accounts/confirm/%s" % (
                username, activation_key)

            send_mail(email_subject,
                      email_body,
                      '*****@*****.**', [email],
                      fail_silently=False)

            context = RequestContext(request, {
                'request': request,
                'user': request.user,
                'email': email
            })

            return render_to_response('public/confirm_sent.html',
                                      context_instance=context)
        else:
            pass
    context = RequestContext(request, {
        'request': request,
        'user': request.user
    })
    return render_to_response('public/registration_form.html',
                              context_instance=context)
示例#13
0
def authenticate(request, email, password):
    user = auth.authenticate(username=email, password=password)
    if user is not None:
        if not user.is_active:
            auth.logout(request)
            return redirect('/?msg=notactive')  #TODO

        auth.login(request, user)

        if 'next' in request.session:
            next = request.session['next']
            del request.session['next']
            return redirect(next)

        return redirect('/')
    else:
        form = RegistrationForm()
        return render_to_response(
            "login.html",
            {
                'login_error':
                True,  # indicates username / pword did not match
                'form': form,
            },
            context_instance=RequestContext(request))
示例#14
0
def registration(request):
    if request.user.is_authenticated():
        return redirect('/')

    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            try:
                user_pk = form.save(request.FILES.get('avatar'))
                admins = User.objects.filter(is_superuser=True)
                msg = EmailMessage(
                    u'Новый пользователь %s' % request.POST['username'],
                    (u'<html>'
                     u'<meta http-equiv="Content-Type" content="text/html; '
                     u'charset=UTF-8"><body>'
                     u'Зарегистрировался новый пользователь '
                     u'<a href="http://%s/admin/auth/user/%i">%s</a>'
                     u'<br />'
                     u'Данные:<br /><ul>%s</ul>'
                     u'</body></html>') %
                    (settings.HOSTNAME, user_pk, request.POST['username'],
                     form.as_ul()), u'admin@%s' % settings.HOSTNAME,
                    [a.email for a in admins])
                msg.content_subtype = "html"
                msg.send()
                return redirect(reverse('registration-thanks'))
            except ValidationError:
                pass
    else:
        form = RegistrationForm()

    return render(request, 'registration/registration.html', {'form': form})
示例#15
0
    def registration():
        '''개인 신청.'''
        form = RegistrationForm(request.form)
        form.set_camp(campcode)

        if request.method == "POST":
            idx = form.insert()
            flash('신청이 완료되었습니다.')
            session['type'] = '개인'
            session['idx'] = idx
            return redirect(url_for('.member_info'))

        params = {
            'form': form,
            'page_header': "개인신청",
            'script': url_for('static', filename='{0}/js/reg-individual.js'.format(campcode))
        }
        return render_template('{0}/form.html'.format(campcode), **params)
示例#16
0
    def registration():
        '''개인 신청.'''
        form = RegistrationForm(request.form)
        form.set_camp(campcode)

        if request.method == "POST":
            idx = form.insert()
            flash('신청이 완료되었습니다.')
            session['type'] = '개인'
            session['idx'] = idx
            return redirect(url_for('.member_info'))

        params = {
            'form': form,
            'page_header': "개인신청",
            'script': url_for('static', filename='{0}/js/reg-individual.js'.format(campcode))
        }
        return render_template('{0}/form.html'.format(campcode), **params)
示例#17
0
def register(request):
  if request.method == 'POST':
      form = RegistrationForm(request.POST)
      if form.is_valid():
          new_user = form.save()
          username = new_user.username
          email = new_user.email
          password = request.POST['password1']
          

          salt = hashlib.sha1(str(random.random())).hexdigest()[:5]            
          activation_key = hashlib.sha1(salt+email).hexdigest()            
          key_expires = datetime.datetime.today() + datetime.timedelta(2)

          #Get user by username
          user=get_user_model().objects.get(username=username)

          # Create and save user profile                                                                                                                                  
          new_profile = UserProfile(user=user, activation_key=activation_key, 
              key_expires=key_expires)
          new_profile.save()

          # Send email with activation key
          email_subject = 'Account confirmation'
          email_body = "Hey %s, thanks for signing up. To activate your account, click this link within \
          48hours http://ivebeenfound-dev2.elasticbeanstalk.com/accounts/confirm/%s" % (username, activation_key)

          send_mail(email_subject, email_body, '*****@*****.**',
              [email], fail_silently=False)

          context = RequestContext(request,
                           {'request': request,
                            'user': request.user,
                            'email': email
                            })

          return render_to_response('public/confirm_sent.html', context_instance=context)
      else:
        pass
  context = RequestContext(request,
                           {'request': request,
                            'user': request.user
                            })
  return render_to_response('public/registration_form.html', context_instance=context)
示例#18
0
    def member_edit(member_idx):
        '''단체 멤버 수정'''
        idx = session['idx']
        group = db.session.query(Group).filter(Group.idx == idx).one()
        form = RegistrationForm(request.form)
        form.set_camp(campcode)
        form.set_group_mode(group_idx=idx, group_area_idx=group.area_idx)

        if request.method == "POST":
            form.update(member_idx)
            flash("성공적으로 수정되었습니다.")
            return redirect(url_for(".group_info"))

        member = db.session.query(Member).filter(Member.idx == member_idx).one()
        form.set_member_data(member)
        script_file = '{0}/js/reg-individual-edit.js'.format(campcode)
        return render_template('{0}/form.html'.format(campcode),
                               form=form, page_header="멤버 수정",
                               script=url_for('static', filename=script_file))
示例#19
0
文件: views.py 项目: Gointer/collab
def register(req):
    office_locations = OfficeLocation.objects.all()
    if req.method == 'POST':
        form = RegistrationForm(req.POST)
        if form.is_valid():
            u = add_user(req)
            return HttpResponseRedirect(reverse('core:landing_page'))
        else:
            return render_to_response('core/register.html',
                                      {'form': form,
                                       'office_locations': office_locations,
                                       'is_registration': True},
                                      context_instance=RequestContext(req))
    else:
        form = RegistrationForm()
        return render_to_response('core/register.html',
                                  {'form': form,
                                   'office_locations': office_locations,
                                   'is_registration': True},
                                  context_instance=RequestContext(req))
示例#20
0
def register(req):
    office_locations = OfficeLocation.objects.all()
    if req.method == 'POST':
        form = RegistrationForm(req.POST)
        if form.is_valid():
            u = add_user(req)
            return HttpResponseRedirect(reverse('core:landing_page'))
        else:
            return render_to_response('core/register.html', {
                'form': form,
                'office_locations': office_locations,
                'is_registration': True
            },
                                      context_instance=RequestContext(req))
    else:
        form = RegistrationForm()
        return render_to_response('core/register.html', {
            'form': form,
            'office_locations': office_locations,
            'is_registration': True
        },
                                  context_instance=RequestContext(req))
示例#21
0
def registration():
    if current_user.is_authenticated:
        return redirect(url_for('home'))

    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_pw = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data.lower(),
                    password=hashed_pw,
                    image_file='default_' + str(random.randrange(1, 4, 1)) +
                    '.jpg')

        db.session.add(user)
        db.session.commit()

        #flash('Your account has been  created you can now login', 'success')
        return redirect(url_for('login'))
    return render_template('registration.html',
                           title='Registration',
                           form=form)
示例#22
0
    def member_edit(member_idx):
        '''단체 멤버 수정'''
        idx = session['idx']
        group = db.session.query(Group).filter(Group.idx == idx).one()
        form = RegistrationForm(request.form)
        form.set_camp(campcode)
        form.set_group_mode(group_idx=idx, group_area_idx=group.area_idx)

        if request.method == "POST":
            form.update(member_idx)
            flash("성공적으로 수정되었습니다.")
            return redirect(url_for(".group_info"))

        member = db.session.query(Member).filter(Member.idx == member_idx).one()
        form.set_member_data(member)
        script_file = '{0}/js/reg-individual-edit.js'.format(campcode)
        return render_template('{0}/form.html'.format(campcode),
                               form=form, page_header="멤버 수정",
                               script=url_for('static', filename=script_file))
示例#23
0
def registration(request):
    context = {}
    if request.method == "POST":
        form = RegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect("login")

    context["form"] = RegistrationForm()
    return render(request, "core/registration.html", context)
示例#24
0
    def member_add():
        '''단체 멤버 추가'''
        idx = session['idx']
        group = db.session.query(Group).filter(Group.idx == idx).one()
        form = RegistrationForm(request.form)
        form.set_camp(campcode)
        form.set_group_mode(group_idx=idx, group_area_idx=group.area_idx)

        if request.method == "POST":
            form.insert()
            group.mem_num += 1
            db.session.commit()
            flash("멤버가 추가되었습니다.")
            return redirect(url_for(".group_info"))

        script_file = '{0}/js/reg-individual.js'.format(campcode)
        return render_template('{0}/form.html'.format(campcode),
                               form=form, page_header="멤버 추가",
                               script=url_for('static', filename=script_file))
示例#25
0
def registration(request):
    """Форма регистрации"""
    if request.user.is_authenticated:
        return redirect('home')
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect(login)

    context = {}
    context['form'] = RegistrationForm()
    return render(request, 'core/registration.html', context)
示例#26
0
    def member_add():
        '''단체 멤버 추가'''
        idx = session['idx']
        group = db.session.query(Group).filter(Group.idx == idx).one()
        form = RegistrationForm(request.form)
        form.set_camp(campcode)
        form.set_group_mode(group_idx=idx, group_area_idx=group.area_idx)

        if request.method == "POST":
            form.insert()
            group.mem_num += 1
            db.session.commit()
            flash("멤버가 추가되었습니다.")
            return redirect(url_for(".group_info"))

        script_file = '{0}/js/reg-individual.js'.format(campcode)
        return render_template('{0}/form.html'.format(campcode),
                               form=form, page_header="멤버 추가",
                               script=url_for('static', filename=script_file))
示例#27
0
    def edit_registration():
        '''신청서 수정.'''
        idx = session['idx']
        form = RegistrationForm(request.form)
        form.set_camp(campcode)

        if request.method == "POST":
            form.update(idx)
            flash(u'수정이 완료되었습니다')
            return redirect(url_for('.member_info'))

        member = db.session.query(Member).filter(Member.idx == idx).one()
        form.set_member_data(member)

        params = {
            'form': form,
            'page_header': "개인 신청서 수정",
            'script': url_for('static', filename='{0}/js/reg-individual-edit.js'.format(campcode)),
            'editmode': True
        }
        return render_template('{0}/form.html'.format(campcode), **params)
示例#28
0
def register(request):
    """
    Display form for registration

    **Context**
        registration form

    **Template:**
    :template:`register.html`
    """
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            try:
                salt = hashlib.sha1(str(random()).encode("utf-8")).hexdigest()[:5]
                activation_key = hashlib.sha1((salt + form.cleaned_data["email"]).encode("utf-8")).hexdigest()
                key_expires = datetime.datetime.now() + datetime.timedelta(2)
                email_subject = 'Embigo - Potwierdzenie Rejestracji '
                email_body = "Witaj %s, dziękujemy za rejestrację w Embigo. By zakończyć proces rejestracji musisz, w przeciągu" \
                             " 48 godzin kliknąć w poniższy link:\nhttp://%s/confirm/%s" % (
                                 form.cleaned_data["username"], request.META["HTTP_HOST"], activation_key)
                send_mail(email_subject, email_body, '*****@*****.**', [form.cleaned_data["email"]], fail_silently=False)
                new_user = form.save()
                new_user.is_active = False
                new_user.save()
                new_space_user = SpaceUser(uid=uuid1(), rights=embigo_default_rights(), space=embigo_main_space(),
                                           user=new_user)
                new_space_user.save()

                colors = ["#FEE6AA","#FDD777","#FCC845","#FBBA13","#FEAAAA","#FD7777","#FC4545","#FB1313","#EBAAFE","#E077FD","#D545FC","#C913FB","#B9AAFE","#9077FD","#6745FC","#3E13FB","#AAE0FE","#77CEFD","#45BCFC","#13AAFB","#AAFECA","#77FDAB","#45FC8B","#13FB6C"]
                color = random.sample(colors,  1)[0];
                embigo_user = EmbigoUser(user=new_user, activation_key=activation_key, key_expires=key_expires,
                                         hash_type='ACTIVATE_HASH')
                embigo_user.save()

                return HttpResponseRedirect(request.GET.get("next", "/"), RequestContext(request))
            except SMTPRecipientsRefused:
                form.add_error("email","Błąd podczas wysyłania maila. Upewnij się czy wprowadzony adres e-mail jest poprawny.")
            except Exception as e:
                new_user.delete()
                raise e
    else:
        form = RegistrationForm()
    context = {'form': form}
    return render(request, 'register.html', context)
示例#29
0
文件: views.py 项目: rds0751/newapr
def register(request):
    if request.user.is_authenticated:
        return redirect('/')
    else:
        if request.method == 'POST':
            form = RegistrationForm(request.POST)
            if form.is_valid():
                form.save()
                oid = form.cleaned_data['organisation_id']
                rio = form.cleaned_data['role_in_organisation']
                first_name = form.cleaned_data['first_name']
                user = User.objects.get(first_name=first_name)
                up = UserProfile.objects.get(user=user)
                up.rio = rio
                up.oid = oid
                up.save()
                return redirect('/')
            else:
                args = {'form': form}
                return render(request, 'core/reg_form.html', context=args)
        else:
            form = RegistrationForm()
            args = {'form': form}
            return render(request, 'core/reg_form.html', context=args)
示例#30
0
def registration(request):
    form = RegistrationForm()
    return render(request, 'main/registration.html', context={
        'form': form,
    })
示例#31
0
 def get(self, request, *args, **kwargs):
     context = {}
     form = RegistrationForm()
     context['form'] = form
     return render(request, self.template_name, context)