def edit_news(id): form = NewsForm() if request.method == "GET": db_sess = db_session.create_session() news = db_sess.query(News).filter(News.id == id, News.user == current_user).first() if news: form.title.data = news.title form.content.data = news.content write_to_file(form.image.data, news.image) else: abort(404) if form.validate_on_submit(): db_sess = db_session.create_session() news = db_sess.query(News).filter(News.id == id, News.user == current_user).first() if news: news.title = form.title.data news.content = form.content.data news.image = convert_to_binary_data(form.image.data) db_sess.commit() return redirect('/') else: abort(404) return render_template('news.html', title='Редактирование объявления', form=form)
def edit_items(id): form = NewsForm() if request.method == "GET": db_sess = db_session.create_session() news = db_sess.query(News).filter(News.id == id, News.user == current_user ).first() if news: form.title.data = news.title form.content.data = news.content form.cost.data = news.cost form.contet.data = news.contet else: abort(404) if form.validate_on_submit(): db_sess = db_session.create_session() news = db_sess.query(News).filter(News.id == id, News.user == current_user ).first() if news: news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data db_sess.commit() return redirect('/') else: abort(404) return render_template('news.html', title='Редактирование товара', form=form )
def edit_quest(id): form = NewsForm() if request.method == "GET": db_sess = db_session.create_session() hub_id_news = db_sess.query(News).filter_by(id=id).first().hub_id news = db_sess.query(News).filter(News.id == id, ).first() if db_sess.query(Hubs).filter_by( id=hub_id_news).first().admin == current_user.id: form.title.data = news.title form.content.data = news.content form.id_user.data = news.id_user else: abort(404) if form.validate_on_submit(): db_sess = db_session.create_session() hub_id_news = db_sess.query(News).filter_by(id=id).first().hub_id news = db_sess.query(News).filter(News.id == id, ).first() if db_sess.query(Hubs).filter_by( id=hub_id_news).first().admin == current_user.id: news.title = form.title.data news.content = form.content.data news.id_user = form.id_user.data db_sess.commit() return redirect(f'/hub/{hub_id_news}') else: abort(404) return render_template('news.html', title='Редактирование задания', form=form)
def edit_news(id): form = NewsForm() # форма отзыва if request.method == "GET": # метод получения данных db_sess = db_session.create_session() news = db_sess.query(News).filter( News.id == id, News.user == current_user).first() # берем данные нужного отзыва из бд if news: # если такой отзыв есть, добавляем в поля формы данные из бд form.title.data = news.title form.content.data = news.content form.is_private.data = news.is_private else: # если отзыва нет, вызываем ошибку 404 abort(404) if form.validate_on_submit(): # если кнопка применить нажата db_sess = db_session.create_session() news = db_sess.query(News).filter(News.id == id, News.user == current_user).first() if news: # обновляем бд news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data db_sess.commit() return redirect('/reviews') # преходим на страницу отзывов else: abort(404) return render_template('news.html', title='Редактирование отзыва', form=form)
def add_news(): # Нужно для загрузки файлов # Подробнее: https://flask-wtf.readthedocs.io/en/stable/form.html form = NewsForm(CombinedMultiDict((request.files, request.form))) params = { "title": "Добавление новости", "message": "", "form": form, } if form.validate_on_submit(): # Базовые параметры для новости title = form.title.data content = form.content.data # Обработка загруженных файлов filenames = [] # Абсолютный путь для загрузки, иначе при загрузке будут ошибки app_root = os.path.dirname(os.path.abspath(__file__)) upload_dir = os.path.join(app_root, app.config["UPLOAD_FOLDER"]) for file in form.files_field.data: # Имя файла содержит id новости, чтобы при большом количестве новостей # картинки с одинаковыми именами не перезаписывали друг друга filename = f"news_img/{file.filename}" # Проверка на соответствие форматам указанных в конфиге if filename.split( '.')[-1].lower() in app.config["ALLOWED_EXTENSIONS"]: # Сохранение файла и добавление пути до него в список image_path = os.path.join(upload_dir, filename) file.save(image_path) filenames.append(filename) paths_to_images = ';'.join(filenames) # Добавление новости post_news(title, content, paths_to_images) return redirect('/admin') return render_template('news_form.html', **params)
def edit_news(id_): form = NewsForm() db_sess = db_session.create_session() categories = db_sess.query(Category).all() form.category.choices = [(i.id, i.name) for i in db_sess.query(Category).all()] if request.method == "GET": news = db_sess.query(News).filter(News.id == id_, News.user == current_user).first() if news: form.title.data = news.title form.content.data = news.content form.is_published.data = news.is_published form.category.data = news.category_id else: abort(404) if form.validate_on_submit(): db_sess = db_session.create_session() news = db_sess.query(News).filter(News.id == id_).first() if news and current_user.user_type_id == 1: news.title = form.title.data news.content = form.content.data news.is_published = form.is_published.data news.category_id = form.category.data db_sess.commit() return redirect('/') else: abort(404) return render_template('news.html', title='Редактирование новости', category=categories, form=form)
def edit_news(edit_id): if current_user.id in ADMINS: # проверка, является ли пользователь администратором form = NewsForm() if request.method == "GET": db_sess = db_session.create_session() news_edit = db_sess.query(News).filter( News.id == edit_id, News.user == current_user).first() if news_edit: # если новость существует, отображаем ее данные в форме form.title.data = news_edit.title form.content.data = news_edit.content else: abort( 404) # если новости не существует, выбрасываем ошибку 404 if form.validate_on_submit(): db_sess = db_session.create_session() news_edit = db_sess.query(News).filter( News.id == edit_id, News.user == current_user).first() if news_edit: # если новость существует, редактируем её news_edit.title = form.title.data news_edit.content = form.content.data news_edit.created_date = datetime.datetime.now() db_sess.commit() return redirect('/news') else: # если новости не существует, выбрасываем ошибку 404 abort(404) return render_template('add_news.html', title='Редактирование новости', form=form, photo=current_user.photo, edit=True) return render_template('no_perm.html', title='Ошибка', is_photo=current_user.is_photo, photo='/'.join(current_user.photo.split('/')[1:]))
def edit_news(id): form = NewsForm() if request.method == "GET": db_sess = db_session.create_session() news = db_sess.query(News).filter(News.id == id, News.user == current_user).first() if news: form.musician.data = news.musician form.name.data = news.name form.is_private.data = news.is_private else: abort(404) if form.validate_on_submit(): db_sess = db_session.create_session() news = db_sess.query(News).filter(News.id == id, News.user == current_user).first() if news: news.musician = form.musician.data news.name = form.name.data news.is_private = form.is_private.data db_sess.commit() return redirect('/') else: abort(404) return render_template('news.html', title='Редактирование новости', form=form)
def new_news_item(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() filename = secure_filename(form.image.data.filename) form.image.data.save('uploads/'+filename) news = News(form.title.data, form.content.data, '/img/'+filename, 1) db_sess.add(news) db_sess.commit() return redirect(f"/admin/news") return render_template('admin/news_item.html', title='Новая Новость', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/blogs') return render_template('news.html', title='Добавление новости', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data db_sess.add(news) db_sess.commit() return redirect('/home') return render_template('news.html', title='Создание новости', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Создание объявления', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.musician = form.musician.data news.name = form.name.data news.is_private = form.is_private.data current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Добавление новости', form=form)
def add_news(): form = NewsForm() # форма добавления отзыва if form.validate_on_submit(): db_sess = db_session.create_session() # сессия бд news = News() # создаем новый отзыв в бд news.title = form.title.data # добавляем данные в поля news.content = form.content.data news.is_private = form.is_private.data news.picture = form.picture.data current_user.news.append(news) # добавляем отзыв у пользователя db_sess.merge(current_user) # связываем отзыв с текущим пользователем db_sess.commit() # сохраняем изменения return redirect('/reviews') # переходим на страницу отзывов return render_template('news.html', title='Добавление отзыва', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = Forms() news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect(url_for('apply', n=news.content, title=news.title)) return render_template('news.html', title='Добавление формы', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data current_user.news.append(news) # передаём бд данные б изменённом пользователе db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Добавление новости', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data im = request.files['file'] number_of_img = randint(0, 10000000000) im.save(f"static/img/new_image{number_of_img}.jpg") news.img = f"new_image{number_of_img}.jpg" im = None current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Создание объявления', form=form)
def edit_news_item(id): form = NewsForm() db_sess = db_session.create_session() news = db_sess.query(News).get(id) if form.validate_on_submit(): filename = secure_filename(form.image.data.filename) if filename != '' and news.image != '/img/'+filename: form.image.data.save('uploads/'+filename) news.image = '/img/' + filename news.title = form.title.data news.content = form.content.data db_sess.commit() return redirect('/admin/news') else: form.title.data = news.title form.content.data = news.content form.image.filename = news.image return render_template('admin/news_item.html', title='Редактировать Новость', form=form)
def add_quest(id): form = NewsForm() db_sess = db_session.create_session() if db_sess.query(Hubs).filter_by(id=id).first().admin == current_user.id: if form.validate_on_submit(): news = News() news.title = form.title.data news.content = form.content.data news.hub_id = id news.id_user = form.id_user.data current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect(f'/hub/{id}') return render_template('news.html', title='Добавление новости', form=form) else: abort(404)
def edit_news(news_id): # Нужно для загрузки файлов # Подробнее: https://flask-wtf.readthedocs.io/en/stable/form.html form = NewsForm(CombinedMultiDict((request.files, request.form))) news = get_news(news_id)["news"] params = { "title": "Редактирование новости", "message": "", "form": form, } # Установка текущих данных новости (кроме картинок, это не нужно, они # выбираются заново), только при GET запросе, чтобы не переопределить новые # данные при POST запросе if request.method == "GET": form.title.data = news["title"] form.content.data = news["content"] if form.validate_on_submit(): new_title = form.title.data new_content = form.content.data # Обработка загруженных файлов new_filenames = [] # Абсолютный путь для загрузки, иначе при загрузке будут ошибки app_root = os.path.dirname(os.path.abspath(__file__)) upload_dir = os.path.join(app_root, app.config["UPLOAD_FOLDER"]) for file in form.files_field.data: filename = f"news_img/{file.filename}" # Проверка на соответствие форматам указанных в конфиге # Проверка на соответствие форматам указанных в конфиге if filename.split( '.')[-1].lower() in app.config["ALLOWED_EXTENSIONS"]: # Сохранение файла и добавление пути до него в список image_path = os.path.join(upload_dir, filename) file.save(image_path) new_filenames.append(filename) new_paths_to_images = ';'.join(new_filenames) # Изменение параметров у новости put_news(news_id, new_title, new_content, new_paths_to_images) return redirect('/admin') return render_template('news_form.html', **params)
def add_news(): if current_user.id in ADMINS: form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() new_news = News() # создание новости new_news.title = form.title.data new_news.content = form.content.data new_news.created_date = datetime.datetime.now() current_user.news.append(new_news) db_sess.merge(current_user) db_sess.commit() return redirect('/news') return render_template('add_news.html', title='Добавление новости', form=form, photo='/'.join( current_user.photo.split('/')[1:]), is_photo=current_user.is_photo) return render_template('no_perm.html', title='Ошибка', is_photo=current_user.is_photo, photo='/'.join(current_user.photo.split('/')[1:]))
def add_news(): form = NewsForm() db_sess = db_session.create_session() categories = db_sess.query(Category).all() category = [(i.id, i.name) for i in db_sess.query(Category).all()] form.category.choices = category if form.validate_on_submit(): news = News() news.title = form.title.data # news.content = form.content.data logging.warning(form) # news.content = form.content.data news.content = request.form.get('content') news.is_published = form.is_published.data news.category_id = form.category.data current_user.news.append(news) # мы изменили текущего пользователя с помощью метода merge db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Добавление новости', form=form, category=categories)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() print("ok session") news = News() news.title = form.title.data print("OK news") news.content = form.content.data news.image = convert_to_binary_data(form.image.data) news.is_private = form.is_private.data news.city = form.city.data news.price = form.Pr.data news.type = form.flat.data news.room = form.room.data print("ok ") current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() print("Ok2") return redirect('/') return render_template('news.html', title='Добавление объявления', form=form)