예제 #1
0
파일: views.py 프로젝트: apalii/testtask
def updateauthor():
    form = AuthorForm(request.form)
    author = Author.query.get_or_404(form.id.data)
    if request.method == 'POST':
        form.populate_obj(author)
        db.session.commit()
        return redirect(url_for('authors'))
    return render_template('error.html', form=form)
예제 #2
0
파일: views.py 프로젝트: umaruch/library
def add_authors():
    form = AuthorForm()
    if form.validate_on_submit():
        Author.save(name=form.name.data)
        return redirect(url_for('authors'))
    return render_template('form.html',
                           title="Добавление нового автора",
                           form=form,
                           url=url_for('add_authors'))
예제 #3
0
파일: views.py 프로젝트: apalii/testtask
def addauthor():
    form = AuthorForm(request.form)
    if request.method == 'POST' and form.validate():
        user = Author(form.name.data, form.lastname.data,
                    form.born.data)
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('authors'))
    return render_template('addauthor.html', form=form)
예제 #4
0
 def post(self):
     """
     Adding new author
     :return: Response
     """
     form = AuthorForm()
     if form.validate_on_submit():
         author = Author(escape(form.data["name"]))
         db.session.add(author)
         db.session.commit()
예제 #5
0
 def post(self):
     """
     Adding new author
     :return: Response
     """
     form = AuthorForm()
     if form.validate_on_submit():
         author = Author(escape(form.data["name"]))
         db.session.add(author)
         db.session.commit()
예제 #6
0
def createauthor():

    form = AuthorForm()
    if form.validate_on_submit():
        auth = Author(author=form.author.data)
        db.session.add(auth)
        db.session.commit()
        flash('Added author {}'.format(
            form.author.data))
        return redirect(url_for('index'))

    return render_template('createauthor.html', title='Create author', form=form)
예제 #7
0
def create_user():
    form = AuthorForm()
    if form.validate_on_submit():
        name = request.form.get('name')
        lastname = request.form.get('lastname')
        email = request.form.get('email')
        password = request.form.get('password')
        user = Author(
            name=name,
            lastname=lastname,
            email=email,
            password=bcrypt.generate_password_hash(password).decode('utf-8'))
        db.session.add(user)
        db.session.commit()
        return redirect("/")
    return render_template('create_user.html', form=form)
예제 #8
0
def author_details(author_id):
    a = Author.query.filter_by(name=author_id).first()
    if a is None:
        return "Author unknown!"

    author_dict = {'name': a.name, 'desc': a.desc}

    form = AuthorForm(data=author_dict)

    if request.method == "POST":
        if form.validate_on_submit():
            a.name, a.desc = tuple(form.data.values())[:2]
            db.session.add(a)
            db.session.commit()

        return redirect(url_for("items_list"))
    return render_template("author.html", form=form, author_name=author_id)
예제 #9
0
파일: views.py 프로젝트: umaruch/library
def change_author(author_id):
    form = AuthorForm()

    author = Author.query.get(author_id)

    if request.method == "POST":
        if form.validate_on_submit():
            author.name = form.name.data
            db.session.add(author)
            db.session.commit()
        return redirect(url_for('authors'))
    else:
        form.name.data = author.name
        return render_template('form.html',
                               title="Изменение данных об авторе",
                               form=form,
                               url=url_for('change_author',
                                           author_id=author.id))
예제 #10
0
    def put(self, author_id):
        """
        Update author's info
        :param author_id: author's id for getting from DB
        :return: Response
        """
        form = AuthorForm()
        if form.validate_on_submit():
            author = Author.query.get(author_id)
            author.name = escape(form.data['name'])

            # escape() is overkill here
            books = [Book.query.filter_by(title=escape(submitted_book_title)).first()
                     for submitted_book_title in request.json["books"]
            ]
            # remove all nonexistent objects (they are not in DB)
            books = list(filter(None, books))
            author.books = books
            db.session.commit()
예제 #11
0
    def put(self, author_id):
        """
        Update author's info
        :param author_id: author's id for getting from DB
        :return: Response
        """
        form = AuthorForm()
        if form.validate_on_submit():
            author = Author.query.get(author_id)
            author.name = escape(form.data['name'])

            # escape() is overkill here
            books = [
                Book.query.filter_by(
                    title=escape(submitted_book_title)).first()
                for submitted_book_title in request.json["books"]
            ]
            # remove all nonexistent objects (they are not in DB)
            books = list(filter(None, books))
            author.books = books
            db.session.commit()
예제 #12
0
def change_user_data(name):
    user = Author.query.get(name)
    form = AuthorForm()
    method = request.form.get('_method')
    if method == 'PATCH':
        lastname = request.form.get('lastname')
        email = request.form.get('email')
        user.lastname = lastname
        user.email = email
        db.session.add(user)
        db.session.commit()
        return redirect('/admin')
    return render_template('change_user_data.html', user=user, form=form)
예제 #13
0
파일: views.py 프로젝트: apalii/testtask
def author(id):
    author = Author.query.get(id)
    form = AuthorForm(request.form, obj=author)
    return render_template('author.html', author=author, form=form)