示例#1
0
def add():
    try:
        opened = ParamRegister.getValue('opened')
        if opened != 'on':
            flash("Le concours n'est pas ouvert", 'warning')
            raise ValueError('is not opened')
        if int(request.form['factorone']) * int(
                request.form['factortwo']) != int(request.form['captcha']):
            flash("Il y a une erreur dans votre multiplication", 'warning')
            raise ValueError('captcha')
        if len(request.form['email']) == 0:
            flash('Vous devez ajouter votre email', 'warning')
            raise ValueError('no email')
        if 'file' not in request.files:
            flash('Vous devez ajouter votre fichier', 'warning')
            raise ValueError('no file')
        file = request.files['file']
        if file.filename == '':
            flash('Vous devez ajouter votre fichier', 'warning')
            raise ValueError('no file')
        if file and allowed_file(file.filename) is False:
            flash('Votre fichier n\'a pas le bon format', 'warning')
            raise ValueError('no file')
        title = request.form['title']
        author = request.form['lastname'] + ' ' + request.form['firstname']
        year = ParamRegister.getValue('year')
        email = ';'.join(request.form['email'].strip().split(' '))
        phone = request.form['phone']
        nationality = request.form['nationality']
        address = request.form['address']
        trad_lastname = request.form['trad_lastname']
        trad_firstname = request.form['trad_firstname']
        trad_email = request.form['trad_email']
        trad_phone = request.form['trad_phone']
        trad_nationality = request.form['trad_nationality']
        trad_address = request.form['trad_address']
        description = request.form['description']

        file = request.files['file']
        if file:
            filename = secure_filename(file.filename)
            pathfile = os.path.join(
                current_app.config['BOOK_FOLDER'],
                datetime.datetime.now().strftime('%Y%m%d%H%M%S') +
                unidecode.unidecode(filename))
            file.save(pathfile)
            fileurl = '/uploads' + pathfile.split('/uploads')[1]

        books = Book.all(sortby=Book.idext)
        if len(books) == 0:
            idext = '0001'
        else:
            idext = '{:0>4}'.format(str(int(books[-1].idext) + 1))
        book = Book(title=title,
                    author=author,
                    year=year,
                    email=email,
                    phone=phone,
                    nationality=nationality,
                    address=address,
                    fileurl=fileurl,
                    trad_lastname=trad_lastname,
                    trad_firstname=trad_firstname,
                    trad_email=trad_email,
                    trad_phone=trad_phone,
                    trad_nationality=trad_nationality,
                    trad_address=trad_address,
                    description=description,
                    idext=idext)
        book.save()
        send_mail(book)
        flash('Votre inscription est validée, vous allez recevoir un mail',
              'info')
        return redirect(request.url)
    except Exception as err:
        current_app.logger.error(err)
        flash('Votre inscription n\'est pas validée', 'error')
        return redirect(request.url)
示例#2
0
def create():
    title = request.form['title']
    idext = request.form['idext']
    description = request.form['description']
    author = request.form['author']
    year = request.form['year']
    onrace = getBool.get(request.form.get('onrace','off'),False)
    email = request.form['email']
    phone = request.form['phone']
    nationality = request.form['nationality']
    address = request.form['address']
    trad_lastname = request.form['trad_lastname']
    trad_firstname = request.form['trad_firstname']
    trad_email = request.form['trad_email']
    trad_phone = request.form['trad_phone']
    trad_nationality = request.form['trad_nationality']
    trad_address = request.form['trad_address']

    file = request.files['file']
    if file:
        filename = secure_filename(file.filename)
        pathfile = os.path.join(current_app.config['BOOK_FOLDER'], datetime.datetime.now().strftime('%Y%m%d%H%M%S') + unidecode.unidecode(filename))
        file.save(pathfile)
        fileurl = '/uploads' + pathfile.split('/uploads')[1]
    
    filep = request.files['filep']
    if filep:
        filename = secure_filename(file.filename)
        pathfile = os.path.join(current_app.config['BOOK_FOLDER'], datetime.datetime.now().strftime('%Y%m%d%H%M%S') + unidecode.unidecode(filename))
        filep.save(pathfile)
        filepdf = '/uploads' + pathfile.split('/uploads')[1]
    
    fileu = request.files['fileu']
    if fileu:
        filename = secure_filename(file.filename)
        pathfile = os.path.join(current_app.config['BOOK_FOLDER'], datetime.datetime.now().strftime('%Y%m%d%H%M%S') + unidecode.unidecode(filename))
        fileu.save(pathfile)
        fileepub = '/uploads' + pathfile.split('/uploads')[1]

    book = Book(title=title, 
        description=description,
        author=author,
        year=year,
        idext=idext,
        onrace=onrace,
        email=email,
        phone=phone,
        nationality=nationality,
        address=address,
        fileurl=fileurl,
        filepdf=filepdf,
        fileepub=fileepub,
        trad_lastname=trad_lastname,
        trad_firstname=trad_firstname,
        trad_email=trad_email,
        trad_phone=trad_phone,
        trad_nationality=trad_nationality,
        trad_address=trad_address)
    book.save()
    flash('Book "%s" is created' % title, 'success')
    return redirect(url_for('book.view_book', id=book.id))