Example #1
0
def register(request):
    title="用户注册"
    if request.method == "POST":

        username = request.POST.get("username")
        password = make_password(request.POST.get("password"))
        email = request.POST.get("email")
        phonenum = request.POST.get("phonenumber")
        userimg = request.FILES['userimg']
        # 头像文件保存
        # filepath = os.path.join(settings.MEDIA_ROOT,"userimg",uuid.uuid4().hex+".jpg")
        filename = uuid.uuid4().hex+".jpg"
        filepath = os.path.join(settings.MEDIA_ROOT,filename)
        urlpath = os.path.join(settings.MEDIA_URL,filename)
        f2 = open(filepath,"wb")

        for item in userimg.chunks():
            f2.write(item)
        f2.close()

        token = uuid.uuid4().hex
        user = User.create(username=username,email=email,password=password,phone_num=phonenum,user_img=urlpath,token=token)
        user.save()
        request.session["token"] = token
        return redirect(reverse("login"))
    return render(request,"shop/reg.html",locals())
Example #2
0
 def post(self, request):
     try:
         name = request.POST.get('name')
         email = request.POST.get('email')
         password = request.POST.get('password')
         phone = request.POST.get('phone')
         hashedPassword = make_password(password=password)
         user = User(name=name,
                     email=email,
                     password=hashedPassword,
                     phone=phone)
         user.save()
         return render(request, 'login.html')
     except:
         return render(request, 'signup.html',
                       {'error': "User already register "})
Example #3
0
def createPayment(request, product_id):
    # Create a new Payment Request
    user = request.session.get('user')
    product = Product.objects.get(id=product_id)
    userObject = User.objects.get(id=user.get('id'))
    amount = (product.price - (product.price * (product.discount / 100)))
    response = API.payment_request_create(
        amount=math.floor(amount),
        purpose=f'Payment for {product.name}',
        send_email=True,
        buyer_name=userObject.name,
        email=user.get('email'),
        redirect_url="http://127.0.0.1:8000/complete-payment"
    )
    print(response)
    payment_request_id = response['payment_request']['id']
    # print the long URL of the payment request.
    payment = Payment(user=User(id = user.get('id') ) ,
                      product=product,
                      payment_request_id=payment_request_id)

    payment.save()

    url = response['payment_request']['longurl']
    print(response)
    return redirect(url)
Example #4
0
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data, password=form.password.data)
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('home'))
    return render_template('register.html', title='Register', form=form)
Example #5
0
def signup(request):
    if request.method =='POST':
        try:
            name=request.POST.get('name')
            email=request.POST.get('email')
            phone=request.POST.get('phone')
            password=request.POST.get('password')
            confpassword=request.POST.get('repassword')
            if password == confpassword:
                hashpassword=make_password(password=password)
                user=User(name=name, email=email,phone=phone,password=hashpassword )
                user.save()
                return render(request, 'shop/login.html', {'title': 'Login Form'})
        except:
            return render(request, 'shop/signup.html', {'title': 'Signup Form','error':'Email already exists'})
    else:
        return render(request, 'shop/signup.html', {'title': 'Signup Form'})
Example #6
0
def register(request):
    if request.method == 'GET':

        return render(request, 'register.html')

    elif request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('pwd')
        cpassword = request.POST.get('cpwd')
        email = request.POST.get('email')
        if not (password == cpassword):  #两次密码不正确
            return render(request, 'register.html')
    #如果没有异常存入数据库中
        try:
            user = User()
            user.username = username
            user.password = generate_password(cpassword)
            user.email = email
            user.save()
            token = generate_token()
            cache.set(token, user.id, 60 * 60 * 24 * 20)
            request.session['token'] = token
            return redirect('shop:index')
        except:
            return render(request, 'register.html')
Example #7
0
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data, password=form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Your account has been created.  You can now log in.')
        return redirect(url_for('home'))

    return render_template('register.html', title='Register', form=form)
Example #8
0
def install():
    form = InstallForm()
    if request.method == 'GET':
        print('GET')
    else:
        if form.validate_on_submit():
            from shop.models import User

            new_user = User(
                fullname=form.fullname.data,
                username=form.username.data,
                email=form.email.data
            )
            new_user.set_password(form.password_hash.data)
            db.session.add(new_user)
            db.session.commit()
            first_time = False
            return redirect(url_for('main.index'))

    return render_template('home/install.html', form=form)
Example #9
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        info = {'username': form.username.data, 'password': form.password.data}
        user = User(info)
        register_user(user)
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))
    return render_template('shop/register.html', title='Register', form=form)
Example #10
0
def register():
    form = RegisterForm()
    if request.method == 'POST':
        user = User(name=form.name.data,
                    username=form.username.data,
                    email=form.email.data,
                    password=form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('You are now registered and can log in', 'success')
        return redirect(url_for('sign_in'))
    return render_template('register.html', form=form)
Example #11
0
def register(request):
    if request.method == 'POST':
        name = request.POST["name"]
        username = request.POST["username"]
        num = request.POST["num"]
        email = request.POST["email"]
        pword = request.POST["pword"]

        info = User(name=name,
                    username=username,
                    num=num,
                    pword=pword,
                    email=email)
        info.save()
        return redirect('login')

    else:
        if request.session.has_key('user'):
            return redirect('product_list')
        else:
            return render(request, 'register.html')
Example #12
0
def downloadProduct(request, product_id):
    try:
        product = Product.objects.get(id=product_id)
        session_user = request.session.get('user')
        user = User(id=session_user.get('id'))
        payment = Payment.objects.filter(product=product, user=user)
        if len(payment) > 0:
            # fill these variables with real values
            return HttpResponse('download')
        else:
            return redirect('home')
    except:
        return HttpResponse('error')
Example #13
0
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        hashed_password = generate_password_hash(form.password.data)
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash(f'Account created for {form.username.data}! You can now log in.',
              'success')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
Example #14
0
 def post(self, request):
     try:
         name = request.POST.get('name')
         email = request.POST.get('email')
         phone = request.POST.get('phone')
         password = request.POST.get('password')
         confpassword = request.POST.get('repassword')
         if password == confpassword:
             hashpassword = make_password(password=password)
             user = User(name=name,
                         email=email,
                         phone=phone,
                         password=hashpassword)
             user.save()
             return render(request, 'shop/login.html',
                           {'title': 'Login Form'})
     except:
         return render(
             request, 'shop/signup.html', {
                 'title': 'Signup Foignup Form',
                 'error': 'Email or Password Invalid'
             })
Example #15
0
    def post(self, request):
        print(request.POST)
        try:

            # print(request.POST)
            name = request.POST.get('name')
            email = request.POST.get('email')
            password = request.POST.get('password')
            phone = request.POST.get('phone')
            hashedpassword = make_password(password)
            user = User(name=name,
                        email=email,
                        password=hashedpassword,
                        phone=phone)
            user.save()
            print(user)
            messages.success(request,
                             "Your acccount created successfully login now")
            return render(request, 'login.html')
        except:
            messages.error(request, "User already registered please login ")
            return render(request, 'signup.html')
Example #16
0
def adduser():
    username = request.values.get('username').strip()
    password = request.values.get('password').strip()
    sex = request.values.get('sex').strip()
    phone = request.values.get('phone').strip()
    email = request.values.get('email').strip()
    remark = request.values.get('remark').strip()
    address = request.values.get('address').strip()
    m = hashlib.md5()
    m.update(password.encode("utf8"))
    password = m.hexdigest()
    db.session.add(User(username, password, sex, phone, email, remark, address, ''))
    db.session.commit()
    return redirect('/user/')
Example #17
0
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        hash_password = bcrypt.generate_password_hash(form.password.data)
        user = User(name=form.name.data,
                    username=form.username.data,
                    email=form.email.data,
                    password=hash_password)
        db.session.add(user)
        db.session.commit()
        flash('Thanks for registering')
        return redirect(url_for('home'))
    return render_template('admin/register.html',
                           form=form,
                           title="Registration Page")
Example #18
0
def downloadPaidProduct(request, product_id):
    try:
        product = Product.objects.get(id=product_id)
        session_user = request.session.get('user')
        user = User(id=session_user.get('id'))
        payment = Payment.objects.filter(user=user, product=product)
        if (len(payment) > 0):
            print(len(payment))
            file = product.file
            if file:
                return redirect(product.file.url)
            else:
                return redirect(product.link)
    except:
        return redirect('index')
Example #19
0
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=form.password.data,
                    university=form.university.data,
                    address_house=form.address_house.data,
                    address_street=form.address_street.data,
                    address_towncity=form.address_towncity.data,
                    address_postcode=form.address_postcode.data)
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('welcome'))
    return render_template('register.html', title='Register', form=form)
Example #20
0
def register():
    if session.get('is_auth'):
        redirect('/')

    form = RegistrationForm()
    if request.method == 'POST':
        if not form.validate_on_submit():
            return render_template('register.html', form=form)

        user = User()
        email = request.form.get('email')
        user.mail = email
        user.password = request.form.get('password')
        db.session.add(user)
        db.session.commit()
        # print(db.session.query(User).filter(User.mail == email).scalar().id)
        # сразу авторизуем пользователя
        session['is_auth'] = True
        session['id'] = db.session.query(
            User.id).filter(User.mail == email).scalar()
        session['username'] = email
        return redirect('/account/')

    return render_template('register.html', form=form)
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash('Your account has been created! You are now able to log in.',
              'success')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
Example #22
0
def downloadPaidProduct(request, product_id):
    try:
        product = Product.objects.get(id=product_id)
        print(product)
        session_user = request.session.get('user')
        user = User(id=session_user.get('id'))
        print(user)
        payment = Payment.objects.filter(user=user, name=product)
        print(payment)
        # messages.success(request,"file downloaded successfully")
        file = product.file
        if file:
            return redirect(product.file.url)
        else:
            return redirect(product.link)
    except:
        messages.error(request, "please payment first then download")
        return redirect('index')
Example #23
0
def productDetails(request, product_id):
    products = Product.objects.get(id=product_id)
    images = ProductImages.objects.filter(product=product_id)
    download_url=None
    try:
        session_user=request.session.get('user')
        if session_user:
            user_id=session_user.get('id')
            user=User(id=user_id)
            payment=Payment.objects.filter(~Q(status='Failed'),product=products, user=user)
            if len(payment) !=0:
                if (products.file):
                    download_url=product.file.url
                else:
                    download_url=product.file.link

    except:
        pass
    return render(request, 'shop/product_details.html', {'title': 'Product Details', 'product': products, 'images': images,'download_url':download_url})
Example #24
0
def reg():
    username = request.values.get('username').strip()
    password = request.values.get('password').strip()
    user = User.query.filter_by(username=username).first()
    if username == '' or password == '':
        flash('用户名和密码不能为空', 'reglogin')
        return redirect('/regloginpage/')
    if user != None:
        flash('用户名已经存在', 'reglogin')
        return redirect('/regloginpage/')

    m = hashlib.md5()
    m.update(password.encode("utf8"))
    password = m.hexdigest()
    user = User(username, password, '男', '暂无电话', '暂无邮箱', '暂无收货地址,订单无效', '暂无收货地址,订单无效', '无')
    db.session.add(user)
    db.session.commit()

    login_user(user)
    if user.username == 'admin':
        return redirect('/admin/')
    return redirect('/')
Example #25
0
def productDetails(request, product_id):
    product = Product.objects.get(id=product_id)
    images = ProductImages.objects.filter(product=product.id)
    can_download = False
    try:
        session_user = request.session.get('user')
        if session_user:
            user_id = session_user.get('id')
            user = User(id=user_id)
            payment = Payment.objects.filter(~Q(status='Failed'),
                                             product=product,
                                             user=user)
            if (len(payment) != 0):
                can_download = True

    except:
        pass
    return render(request, 'product_details.html', {
        'product': product,
        'images': images,
        'can_download': can_download
    })
Example #26
0
def productDetails(request, product_id):
    product = Products.objects.get(id=product_id)
    session_user = request.session['user']
    can_download = False

    if session_user:
        user_id = session_user.get('id')
        user = User(id=user_id)
        payment = Payment.objects.filter(~Q(payment_status='Failed'),
                                         product=product,
                                         user=user)
        if len(payment) != 0:
            can_download = True

    images = ProductImage.objects.filter(product=product_id)
    context = {
        'product': product,
        'images': images,
        'can_download': can_download
    }
    print(images)
    return render(request, 'product_details.html', context)
Example #27
0
def createPayment(request, product_id):
    product = Product.objects.get(id=product_id)
    amount = (product.price - (product.price * (product.discount / 100)))
    user = request.session.get('user')
    userObj = User.objects.get(id=user.get('id'))
    # Create a new Payment Request
    response = api.payment_request_create(
        amount=math.floor(amount),
        purpose=f'Payment for {product.name}',
        send_email=True,
        email=user.get('email'),
        phone=userObj.phone,
        buyer_name=userObj.name,
        redirect_url="http://localhost:8000/complete-payment")
    url = response['payment_request']['longurl']
    payment_request_id = response['payment_request']['id']
    #print(response)
    payment = Payment(product=product,
                      user=User(id=user.get('id')),
                      payment_request_id=payment_request_id)
    payment.save()
    return redirect(url)
Example #28
0
    def get(self, request, product_id):
        user = request.session.get('user')
        product = Product.objects.get(id=product_id)
        userObject = User.objects.get(id=user.get('id'))
        amount = product.price - (product.price * (product.descount / 100))
        response = API.payment_request_create(
            amount=math.floor(amount),
            purpose=f'Payment for {product.name}',
            send_email=True,
            phone=userObject.phone,
            buyer_name=userObject.name,
            email=user.get('email'),
            redirect_url="http://localhost:8000/complete-payment")
        # print the long URL of the payment request.

        payment_request_id = response['payment_request']['id']
        payment = Payment(user=User(id=user.get('id')),
                          name=Product(id=product_id),
                          payment_request_id=payment_request_id)
        payment.save()
        url = response['payment_request']['longurl']
        # print the unique ID(or payment request ID)
        print(response)
        return redirect(url)
Example #29
0
def my_orders(request):
    user_id = request.session.get('user').get('id')
    user = User(id=user_id)
    payments = Payment.objects.filter(~Q(status="failed"), user=user)
    return render(request, 'orders.html', {'orders': payments})
Example #30
0
def g_user():
    return User(username = g_username(), first_name = g_name(), last_name = g_surname(), email = g_email(), password = g_password())