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)
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))