def author_page(author_id): """ Вывод информации о писателе """ # проверка, авторизован ли пользователь if 'username' not in session: loged = False else: loged = True # ошибка, если такого автора нет в базе if not AuthorsModel(db.get_connection()).exists_id(str(author_id)): return render_template('error.html', loged=loged, title='Ошибка') books = BooksModel(db.get_connection()) book = [] author = AuthorsModel(db.get_connection()).get(author_id) books_author = author[4].split('//') for item in books_author: book.append(books.get_by_name(str(item))) # для авторизованного пользователя показывается список книг автора # для не авторизованного пользователя показывается только страница автора # страница для администратора if UsersModel(db.get_connection()).is_admin(session['username']): return render_template('author_info.html', title=author[1], loged=loged, author=author, book=book, admin=True) return render_template('author_info.html', title=author[1], loged=loged, author=author, book=book, admin=False)
def edit_author_page(author_id): """ Редактирование информации о писателе """ # проверка, авторизован ли пользователь if 'username' not in session: loged = False else: loged = True # ошибка, если такого автора нет в базе if not AuthorsModel(db.get_connection()).exists_id(str(author_id)): return render_template('error.html', loged=loged, title='Ошибка') books = BooksModel(db.get_connection()) book = [] author = AuthorsModel(db.get_connection()).get(author_id) books_author = author[4].split('//') for item in books_author: book.append(books.get_by_name(str(item))) if UsersModel(db.get_connection()).is_admin(session['username']): form = EditAuthorForm() if form.validate_on_submit(): if form.bio.data: AuthorsModel(db.get_connection()).edit_bio( author_id, form.bio.data) if form.picture.data is not None: filename = secure_filename(form.picture.data.filename) server_file = 'static/img/' + filename form.picture.data.save(server_file) AuthorsModel(db.get_connection()).edit_picture( author_id, filename) return redirect('author/' + str(author_id)) return render_template('edit_author.html', title='Редактирование', loged=loged, admin=True, form=form) return render_template('author_info.html', title=author[1], loged=loged, author=author, book=book, admin=False)