Пример #1
0
 def add_news():
     form = NewsForm()
     if form.validate_on_submit():
         session = 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)
         session.merge(current_user)
         session.commit()
         return redirect('/')
     return render_template('news.html',
                            title='Добавление новости',
                            form=form)
Пример #2
0
def addnews():
    form = AddNewsForm()
    if current_user.sostav != 'P':
        return redirect('/')
    if form.validate_on_submit():
        new = News(title=form.title.data,
                   content=form.content.data,
                   upd_date=datetime.datetime.now())
        if form.img.data:
            form.img.data.save('static/img/news/' + form.img.data.filename)
            new.img = 'static/img/news/' + form.img.data.filename
        session = db_session.create_session()
        session.add(new)
        session.commit()
        return redirect('/news')
    return render_template('addnews.html', form=form)
Пример #3
0
def addNews(title, content, user_id, is_private):
    news = News(title=title,
                content=content,
                user_id=user_id,
                is_private=is_private)
    session = db_session.create_session()
    session.add(news)
    session.commit()
Пример #4
0
def add_news(back):
    db_sess = db_session.create_session()
    news = News(user_id=current_user.id, news_text=request.form['text'])
    db_sess.add(news)
    db_sess.commit()
    if back == 'newstape':
        return redirect(f'/newstape')
    return redirect(f'/account/{current_user.username}')
Пример #5
0
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)
Пример #6
0
def add_news():
    form = NewsForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        news = News()
        news.title = form.title.data
        news.content = form.content.data
        f = form.photo.data
        if f:
            filename = secure_filename(f.filename)
            f.save(os.path.join(app.static_folder, 'img', filename))
            news.photo = f.filename
        news.is_private = form.is_private.data
        lst = []
        tags = []
        for e in session.query(Category.name):
            lst.append(*e)
        for i in form.tag.data.split():
            if i not in lst:
                tag = Category(name=i)
                session.add(tag)
            tags.append(i)
        news.tag_id = ' '.join(tags)
        current_user.news.append(news)
        session.merge(current_user)
        session.commit()
        return redirect('/')
    return render_template('news.html', title='Добавление новости', form=form)
Пример #7
0
def add_news():
    form = ContentForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        all_news = db_sess.query(News).all()
        le = len(all_news)
        news_item = News()
        news_item.title = form.title.data
        news_item.content = form.content.data
        news_item.created_date = datetime.now().date()
        news_item.picture = ''
        current_user.news.append(news_item)

        img = Image.open(form.picture.data)
        img.save(f'static/img/news/back_news_item{le}.jpg')
        news_item.picture = f'back_news_item{le}.jpg'

        db_sess.merge(current_user)
        db_sess.commit()
        db_sess.close()

        return redirect('/')
    return render_template('content.html',
                           title='Новая новость  - Sputnik',
                           form=form)
Пример #8
0
def add_news():
    """
    Обработка добавления новости
    :return: шаблон для добавления
    """
    form = AddNewsForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        news = News()
        news.user_id = current_user.id
        news.title = form.news_name.data
        news.content = form.news_content.data
        db_sess.add(news)
        db_sess.commit()
        return redirect('/office')
    return render_template("add_news.html",
                           form=form,
                           title='Добавить новость')
Пример #9
0
 def post(self):
     args = parser.parse_args()
     session = db_session.create_session()
     news = News(title=args['title'],
                 content=args['content'],
                 user_id=args['user_id'])
     session.add(news)
     session.commit()
     return jsonify({'success': 'OK'})
Пример #10
0
def add_news(db_sess):
    news = News(title="Первая новость", content="Привет блог!",
                user_id=1, is_private=False)
    db_sess.add(news)
    news = News(title="Вторая новость", content="Привет блог! Еще раз",
                user_id=1, is_private=False)
    db_sess.add(news)
    news = News(title="Третья новость", content="Кто здесь",
                user_id=3, is_private=False)
    db_sess.add(news)
    news = News(title="4 новость", content="Кто здесь",
                user_id=4, is_private=True)
    db_sess.add(news)
    user = db_sess.query(User).filter(User.id == 1).first()
    news = News(title="Личная запись", content="Эта запись личная",
                is_private=True)
    user.news.append(news)
    db_sess.commit()
Пример #11
0
def add_news_page():
    """"Add news( available only for users)
    Create form: title, content, is_private (created date and user id automatically)
    After submit redirect to home"""

    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)
Пример #12
0
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)
Пример #13
0
def main():
    db_session.global_init("db/blogs.db")
    # app.run()
    db_sess = db_session.create_session()
    user = db_sess.query(User).filter(User.id == 1).first()
    news = News(title="Вторая новость",
                content="Уже вторая запись!",
                user=user,
                is_private=False)
    db_sess.add(news)
    db_sess.commit()
Пример #14
0
 def post(self):
     args = parser.parse_args()
     session = db_session.create_session()
     news = News(musician=args['musician'],
                 name=args['name'],
                 user_id=args['user_id'],
                 is_published=args['is_published'],
                 is_private=args['is_private'])
     session.add(news)
     session.commit()
     return jsonify({'success': 'OK'})
Пример #15
0
    def post(self):
        """Добавить новую новость"""

        args = parser.parse_args()
        session = db_session.create_session()
        # noinspection PyArgumentList
        news = News(content=args['content'],
                    user_id=args['user_id'],
                    is_private=args['is_private'])
        session.add(news)
        session.commit()
        return jsonify({'success': 'OK'})
Пример #16
0
def add_news():
    form = NewsForm()
    if form.validate_on_submit():
        attachments = []
        f = request.files['file']
        if f:
            files = request.files.to_dict(flat=False)['file']
            for file in files:
                print(file.filename)  # Обработка приложенных файлов
                filename = secure_filename(
                    f'{str(time.time()).replace(".", "-")}-{file.filename}')
                attachments.append(filename)
                # print(filename)
                file.save('static/attachments/' + filename)
        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.attach = '|'.join(attachments)
        current_user.news.append(news)
        db_sess.merge(current_user)
        db_sess.commit()
        return redirect('/feed')
    return render_template('news.html', title='Добавление новости', form=form)
Пример #17
0
def add_news():
    form = NewsForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        news = News()
        if request.method == 'POST':
            print(request.files)
            if 'file' not in request.files:
                flash('No file part')
                return redirect(request.url)
            file = request.files['file']
            if file.filename == '':
                flash('No selected file')
                return redirect(request.url)
            if file and allowed_file(file.filename):
                filename = secure_filename(file.filename)
                file.save(os.path.join('static', 'img', filename))
                news.images = filename
        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('add_news.html',
                           title='Добавление новости',
                           form=form)
Пример #18
0
 def post(self):
     args = news_parser.parser.parse_args()
     session = db_session.create_session()
     news = News(id=int(args['news_id']),
                 User_id=int(args['User_id']),
                 news_Name=args['news_News'],
                 news=args['news'],
                 start_date=datetime.datetime.strptime(
                     args['start_date'], '%d-%m-%y').date(),
                 private=args['private'])
     session.add(news)
     session.commit()
     return jsonify({'success': 'OK'})
Пример #19
0
def news_add():
    form = NewsForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        news = News(
            title=form.title.data,
            content=form.content.data,
            user_id=current_user.id
        )
        session.add(news)
        session.commit()
        return redirect('/news')
    return render_template('news_add.html', title='Добавить новость', form=form)
Пример #20
0
def feed():
    session['from_page'] = f'/feed'
    form = NewsForm()  # Подключаем нужные формы
    commsform = CommsForm()
    db_sess = db_session.create_session()
    comms = db_sess.query(Comment).all()

    if current_user.is_authenticated:
        news = db_sess.query(News).filter((
            News.user == current_user) | (News.is_private != True)).order_by(
                News.created_date.desc())  # Достаём новости из БД
        if form.validate_on_submit():  # Форма добавления новости
            attachments = []
            f = request.files['file']
            if f:
                files = request.files.to_dict(flat=False)['file']
                for file in files:
                    print(file.filename)
                    filename = secure_filename(
                        f'{str(time.time()).replace(".", "-")}-{file.filename}'
                    )
                    ftype = ''  # Определяем тип файла для корректного отображения в браузере
                    if filename.endswith('png') or filename.endswith('jpg') \
                            or filename.endswith('jpeg') or filename.endswith('bmp') \
                            or filename.endswith('mp4') or filename.endswith('mov') \
                            or filename.endswith('avi') or filename.endswith('wav') \
                            or filename.endswith('mp3'):
                        ftype = 'media'
                    attachments.append(f'{ftype}{filename}')
                    # print(filename)
                    file.save('static/attachments/' + f'{ftype}{filename}')
            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.attach = '|'.join(attachments)
            current_user.news.append(news)
            db_sess.merge(current_user)
            db_sess.commit()
            return redirect('/feed')
        if commsform.validate_on_submit():  # Отправка комментария
            db_sess = db_session.create_session()
            comm = Comment()
            comm.to = commsform.to.data
            comm.content = commsform.content.data
            current_user.comm.append(comm)
            db_sess.merge(current_user)
            db_sess.commit()
            return redirect(f'/feed#{comm.to}')
    else:
        news = db_sess.query(News).filter(News.is_private != True).order_by(
            News.created_date.desc())
    return render_template("feed.html",
                           news=news,
                           form=form,
                           comments=comms,
                           commsform=commsform,
                           title='Новости на главной странице')
Пример #21
0
def create_news():
    if not request.json:
        return jsonify({'error': 'Empty request'})
    elif not all(key in request.json
                 for key in ['title', 'content', 'user_id']):
        return jsonify({'error': 'Bad request'})
    session = db_session.create_session()
    news = News(title=request.json['title'],
                content=request.json['content'],
                user_id=request.json['user_id'])
    session.add(news)
    session.commit()
    return jsonify({'success': 'OK'})
 def post(self):
     args = postParser.parse_args()
     session = db_session.create_session()
     check_api_key(session, args['api_key'])
     news = News(
         title=args['title'],
         content=args['content'],
         user_id=session.query(User).filter(
             User.api_key == args['api_key']).first().id,
     )
     session.add(news)
     session.commit()
     return jsonify({'success': 'OK'})
Пример #23
0
def create_news():
    if not flask.request.json:
        return flask.jsonify({'error': 'Empty request'})
    elif not all(key in flask.request.json
                 for key in ['title', 'content', 'user_id', 'is_private']):
        return flask.jsonify({'error': 'Bad request'})
    db_sess = db_session.create_session()
    news = News(title=flask.request.json['title'],
                content=flask.request.json['content'],
                user_id=flask.request.json['user_id'],
                is_private=flask.request.json['is_private'])
    db_sess.add(news)
    db_sess.commit()
    return flask.jsonify({'success': 'OK'})
Пример #24
0
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:]))
Пример #25
0
def index(prof_id):
    session[
        'from_page'] = f'/{prof_id}'  # Объявляем переменные, подключаем базу данных, собираем данные
    form = NewsForm()
    commsform = CommsForm()
    db_sess = db_session.create_session()
    comms = db_sess.query(Comment).all()
    prof_user = db_sess.query(User).filter(
        User.id ==
        prof_id)  # Получаем ИД пользователя, в профиль которого мы зашли
    if current_user.is_authenticated:  # Если пользователь аутентифицирован
        news = db_sess.query(News).filter(News.user.has(id=prof_id)).order_by(
            News.created_date.desc())
        if form.validate_on_submit():  # Форма для создания новости
            attachments = []
            f = request.files['file']
            if f:  # Работаем с вложениями: называем каждое вложение, сохраняем в папку
                # print(request.files.to_dict(flat=False)['file'])
                files = request.files.to_dict(flat=False)['file']
                for file in files:
                    filename = secure_filename(
                        f'{str(time.time()).replace(".", "-")}.png')
                    attachments.append(filename)
                    # print(filename)
                    file.save('static/attachments/' + filename)
            db_sess = db_session.create_session()
            news = News(
            )  # Добавляем данные к экземпляру класса News данные и сохраняем
            news.title = form.title.data
            news.content = form.content.data
            news.is_private = form.is_private.data
            news.attach = '|'.join(attachments)
            current_user.news.append(news)
            db_sess.merge(current_user)
            db_sess.commit()
            return redirect(f'/{prof_id}')
        if commsform.validate_on_submit():  # Форма для комментариев
            db_sess = db_session.create_session()
            comm = Comment(
            )  # Добавляем данные к экземпляру класса Comment данные и сохраняем
            comm.to = commsform.to.data
            comm.content = commsform.content.data
            current_user.comm.append(comm)
            db_sess.merge(current_user)
            db_sess.commit()
            return redirect(f'/{prof_id}')
    else:  # Иначе отправляем все новости
        news = db_sess.query(News).filter(News.is_private != True).order_by(
            News.created_date.desc())
    return render_template("profile.html",
                           news=news,
                           form=form,
                           profile_id=prof_id,
                           profile_user=prof_user,
                           comments=comms,
                           commsform=commsform,
                           title='Профиль')
Пример #26
0
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)
Пример #27
0
def add_post():
    form = NewsForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        news = News()
        news.title = form.title.data
        news.description = form.description.data
        news.content = form.content.data
        news.tags = form.tags.data
        news.is_private = form.is_private.data
        date = datetime.date.today()
        news.created_date = date
        current_user.news.append(news)
        session.merge(current_user)
        session.commit()
        return redirect("/")
    return render_template('adding.html', form=form)
 def put(self):
     args = putParser.parse_args()
     session = db_session.create_session()
     check_api_key(session, args['api_key'])
     abort_if_news_not_found(args['id'])
     news = session.query(News).get(args['id'])
     newNews = News(id=news.id,
                    title=args['title'],
                    content=args['content'],
                    user_id=news.user_id,
                    created_date=news.created_date)
     session.delete(news)
     session.add(newNews)
     session.commit()
     return jsonify({'success': 'OK'})
Пример #29
0
def main():
    db_session.global_init("db/comments.sqlite")

    db_sess = db_session.create_session()
    db_sess.add(News('Test', 'Text', '', 1))
    db_sess.commit()
    for user in db_sess.query(User).all():
        print(user)
    users = db_sess.query(User).filter(User.about.contains('пользоват'),
                                       User.id != 1, User.id % 2 != 0).all()

    for user in users:
        print(user)

    #app.register_blueprint(api.blueprint)
    app.run()
Пример #30
0
def add_news():
    if not current_user.is_authenticated:
        return redirect('/login')

    if current_user.roles.name != 'admin':
        return redirect('/')

    form = AddNewsForm()
    form.hidden_tag()
    if form.validate_on_submit():
        session = create_session()
        news = add_data(form, News())
        session.add(news)
        session.commit()
        return redirect('/')
    return render_template('add_news_form.html', form=form, data=None)