예제 #1
0
def create_product():
    name = request.form.get('name')
    key = request.form.get('key')
    price = request.form.get('price')
    product = Product(name=name, key=key, price=Decimal(price))
    product.save()
    return 'Product created.'
def create_product():
    name = request.form.get('name')
    key = request.form.get('key')
    price = request.form.get('price')
    product = Product(
        name=name,
        key=key,
        price=Decimal(price)
    )
    product.save()
    return 'Product created.'
예제 #3
0
def create_product():
    form = ProductForm(request.form)

    if form.validate_on_submit():
        name = form.name.data
        price = form.price.data
        category = Category.query.get_or_404(
            form.category.data
        )
        image = request.files and request.files['image']
        filename = ''
        if image and allowed_file(image.filename):
            filename = secure_filename(image.filename)
            image.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        match = geoip.geolite2.lookup(request.remote_addr)
        product = Product(
            name, price, category, filename,
            match and match.timezone or 'Localhost'
        )
        db.session.add(product)
        db.session.commit()
        flash(
            unicode(_('The product %(name)s has been created', name=name)),
            'success'
        )
        return redirect(url_for('catalog.product', id=product.id))

    if form.errors:
        flash(form.errors, 'danger')

    return render_template('product-create.html', form=form)
예제 #4
0
def create_product():
    form = ProductForm(request.form, csrf_enabled=False)

    if form.validate_on_submit():
        name = form.name.data
        price = form.price.data
        # Mongo product
        # key = request.form.get('key')
        # product = Product(name=name,
        #                   key=key,
        #                   price=Decimal(price))
        # product.save()
        # SQL product
        category = Category.query.get_or_404(form.category.data)
        image = request.files['image']
        filename = ''
        if image and allowed_file(image.filename):
            filename = secure_filename(image.filename)
            image.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        product = Product(name, price, category, filename)
        db.session.add(product)
        db.session.commit()
        flash('The product {} has been created'.format(name), 'success')
        return redirect(url_for('catalog.product', id=product.id))
    if form.errors:
        flash(form.errors, 'danger')
    return render_template('product-create.html', form=form)
def create_product():
    form = ProductForm()

    if form.validate_on_submit():
        name = form.name.data
        price = form.price.data
        category = Category.query.get_or_404(form.category.data)
        image = request.files and request.files['image']
        filename = ''
        if image and allowed_file(image.filename):
            filename = secure_filename(image.filename)
            image.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        reader = geoip2.database.Reader(
            'GeoLite2-City_20190416/GeoLite2-City.mmdb')
        try:
            match = reader.city(request.remote_addr)
        except AddressNotFoundError:
            match = None
        product = Product(name, price, category, filename,
                          match and match.location.time_zone or 'Localhost')
        db.session.add(product)
        db.session.commit()
        flash(_('The product %(name)s has been created', name=name), 'success')
        return redirect(url_for('catalog.product', id=product.id))

    if form.errors:
        flash(form.errors, 'danger')

    return render_template('product-create.html', form=form)
예제 #6
0
def create_product():
    name = request.form.get('name')
    price = request.form.get('price')
    product = Product(name, price)
    db.session.add(product)
    db.session.commit()
    return 'Product created.'
예제 #7
0
def create_product():
    form = ProductForm(request.form)

    if form.validate_on_submit():
        name = form.name.data
        price = form.price.data
        category = Category.query.get_or_404(form.category.data)
        image = request.files and request.files['image']
        filename = ''
        if image and allowed_file(image.filename):
            filename = image.filename
            conn = S3Connection(app.config['AWS_ACCESS_KEY'],
                                app.config['AWS_SECRET_KEY'])
            bucket = conn.create_bucket(app.config['AWS_BUCKET'])
            key = bucket.new_key(filename)
            key.set_contents_from_file(image)
            key.make_public()
            key.set_metadata('Content-Type',
                             'image/' + filename.split('.')[-1].lower())
        match = geoip.geolite2.lookup(request.remote_addr)
        product = Product(name, price, category, filename,
                          match and match.timezone or 'Localhost')
        db.session.add(product)
        db.session.commit()
        flash(unicode(_('The product %(name)s has been created', name=name)),
              'success')
        return redirect(url_for('catalog.product', id=product.id))

    if form.errors:
        flash(form.errors, 'danger')

    return render_template('product-create.html', form=form)
예제 #8
0
def create_product():
    name = request.form.get('name')
    price = request.form.get('price')
    categ_name = request.query.filter_by(name=categ_name).first()
    if not category:
        category = Category(categ_name)
    product = Product(name, price, category)
    db.session.add(product)
    db.session.commit()
    return 'Product created'
예제 #9
0
 def post(self):
     name = request.form.get('name')
     price = request.form.get('price')
     product = Product(name, price)
     db.session.add(product)
     db.session.commit()
     return jsonify({
         'id': product.id,
         'name': product.name,
         'price': str(product.price),
     })
예제 #10
0
def create_product():
    # extract data from post request
    name = request.form.get("name")
    price = request.form.get("price")
    categ_name = request.form.get("category")
    category = Category.query.filter_by(name=categ_name).first()
    if not category:
        category = Category(categ_name)
    product = Product(name, price, category)
    db.session.add(product)
    db.session.commit()
    return render_template("product.html",product=product)
예제 #11
0
def product_entry():
    form = ProductForm()
    #if route only handles POST request then could just use form.validate()
    if form.validate_on_submit():
        name = form.data['name']
        price = form.data['price']
        product = Product(name, price)
        db.session.add(product)
        db.session.commit()
        return 'Product name entered: {}. Product price entered: {}'.format(
            form.name.data, form.price.data)
    return render_template('product_entry.html', form=form)
예제 #12
0
 def post(self):
     args = parser.parse_args()
     name = args['name']
     price = args['price']
     product = Product(name, price)
     db.session.add(product)
     db.session.commit()
     res = {}
     res[product.id] = {
         'name': product.name,
         'price': product.price,
     }
     return json.dumps(res)
예제 #13
0
def create_product():
    if request.method == 'POST':
        name = request.form.get('name')
        price = request.form.get('price')
        categ_name = request.form.get('category')
        category = Category.query.filter_by(name=categ_name).first()
        if not category:
            category = Category(categ_name)
        product = Product(name, price, category)
        db.session.add(product)
        db.session.commit()
        flash('The product %s has been created' % name, 'success')
        return redirect(url_for('catalog.product', id=product.id))
    return render_template('product-create.html')
예제 #14
0
def product_admin_submit():
    if request.method == 'POST':
        name = request.form.get('name')
        price = request.form.get('price')
        categ_name = request.form.get('category')
        category = Category.query.filter_by(name=categ_name).first()
        if not category:
            category = Category(categ_name)
        product = Product(name, price, category)
        db.session.add(product)
        db.session.commit()
        return "Product has been submitted by admin"
    else:
        return render_template('404.html')
예제 #15
0
def create_product():
    form = ProductForm(request.form)

    categories = [(c.id, c.name) for c in Category.query.all()]
    form.category.choices = categories

    if request.method == 'POST':
        name = request.form.get('name')
        price = request.form.get('price')
        category = Category.query.get_or_404(request.form.get('category'))
        product = Product(name, price, category)
        db.session.add(product)
        db.session.commit()
        flash('The product %s has been created' % name, 'success')
        return redirect(url_for('catalog.product', id=product.id))
    return render_template('product_create.html', form=form)
예제 #16
0
 def post(self):
     args = self.parser.parse_args()
     name = args['name']
     price = args['price']
     categ_name = args['category']['name']
     category = Category.query.filter_by(name=categ_name).first()
     if not category:
         category = Category(categ_name)
     product = Product(name, price, category)
     db.session.add(product)
     db.session.commit()
     return {
         'name': product.name,
         'price': product.price,
         'category': product.category.name,
     }
예제 #17
0
 def post(self):
     name = request.form.get('name')
     description = request.form.get('description')
     price = request.form.get('price')
     image = request.form.get('image')
     product = Product(name, description, price, image)
     db.session.add(product)
     db.session.commit()
     return jsonify({
         product.id: {
             'name': product.name,
             'description': product.description,
             'price': str(product.price),
             'image': product.image,
         }
     })
def create_product():
    form = ProductForm()

    if form.validate_on_submit():
        name = form.name.data
        price = form.price.data
        category = Category.query.get_or_404(form.category.data)
        image = request.files and request.files['image']
        filename = ''
        if image and allowed_file(image.filename):
            filename = secure_filename(image.filename)
            session = boto3.Session(
                aws_access_key_id=app.config['AWS_ACCESS_KEY'],
                aws_secret_access_key=app.config['AWS_SECRET_KEY'])
            s3 = session.resource('s3')
            bucket = s3.Bucket(app.config['AWS_BUCKET'])
            if bucket not in list(s3.buckets.all()):
                bucket = s3.create_bucket(
                    Bucket=app.config['AWS_BUCKET'],
                    CreateBucketConfiguration={
                        'LocationConstraint': 'ap-south-1'
                    },
                )
            bucket.upload_fileobj(image,
                                  filename,
                                  ExtraArgs={'ACL': 'public-read'})
        reader = geoip2.database.Reader(
            'GeoLite2-City_20190416/GeoLite2-City.mmdb')
        try:
            match = reader.city(request.remote_addr)
        except AddressNotFoundError:
            match = None

        product = Product(name, price, category, filename,
                          match and match.location.time_zone or 'Localhost')
        db.session.add(product)
        db.session.commit()
        flash(_('The product %(name)s has been created', name=name), 'success')
        return redirect(url_for('catalog.product', id=product.id))

    if form.errors:
        flash(form.errors, 'danger')

    return render_template('product-create.html', form=form)
예제 #19
0
def create_product():
    form = ProductForm()

    if form.validate_on_submit():
        name = form.name.data
        price = form.price.data
        category = Category.query.get_or_404(form.category.data)
        image = form.image.data
        if allowed_file(image.filename):
            filename = secure_filename(image.filename)
            image.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        product = Product(name, price, category, filename)
        db.session.add(product)
        db.session.commit()
        flash('The product %s has been created' % name, 'success')
        return redirect(url_for('catalog.product', id=product.id))

    if form.errors:
        flash(form.errors, 'danger')

    return render_template('product-create.html', form=form)
예제 #20
0
def create_product():
    form = ProductForm(request.form, csrf_enabled=False)

    if form.validate_on_submit():
        name = request.form.get('name')
        price = request.form.get('price')
        category = Category.query.get_or_404(request.form.get('category'))
        image = request.files['image']
        filename = ''

        if image and allow_files(image.filename):
            filename = secure_filename(image.filename)
            image.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

        product = Product(name, price, category, filename)
        db.session.add(product)
        db.session.commit()
        flash('The product %s has been created' % name, 'success')
        return redirect(url_for('catalog.product', id=product.id))

    if form.errors:
        flash("Some messages you type in need to be fixed.", 'danger')

    return render_template('product-create.html', form=form)