コード例 #1
0
def messages_with_user(user_id):
    form = MessageForm()
    parameters['message'] = ""
    parameters['title'] = "MEGAFACEBOOK: Переписка"
    db_sess = db_session.create_session()

    your_messages = db_sess.query(Messages).filter(
        Messages.from_user == current_user.id,
        Messages.to_user == user_id).all()
    pen_friend_messages = db_sess.query(Messages).filter(
        Messages.from_user == user_id,
        Messages.to_user == current_user.id).all()
    if current_user.id == user_id:
        pen_friend_messages = []
    all_messages = your_messages + pen_friend_messages
    all_messages = sorted(all_messages, key=lambda x: x.date)
    parameters['all_messages'] = all_messages

    pen_friend = db_sess.query(User).filter(User.id == user_id).first()

    parameters['pen_friend'] = pen_friend
    parameters['form'] = form

    if request.method == 'POST':
        message = Messages(from_user=current_user.id,
                           to_user=user_id,
                           text=form.message.data)
        db_sess.add(message)
        db_sess.commit()
        return redirect(f'/messages/id{user_id}')

    return render_template('message_page.html', **parameters)
コード例 #2
0
def add_message(from_id, to_id, message_text):
    db_sess = db_session.create_session()
    message = Messages(
        from_id=from_id,
        to_id=to_id,
        message_text=message_text,
    )
    db_sess.add(message)
    db_sess.commit()
コード例 #3
0
def add_message():
    data = request.get_json(silent=True)
    db_sess = create_session()
    message = Messages()
    message.chatId = data["chatId"]
    message.authorId = current_user.id
    message.content = data["content"]
    db_sess.add(message)
    db_sess.commit()
    return {}
コード例 #4
0
ファイル: main.py プロジェクト: egorovandrey/SQL_Alchemy
def new_message(id):
    form = MessageForm()
    session = db_session.create_session()
    user = session.query(User).filter(User.id == id).first()
    if form.validate_on_submit():
        message = Messages()
        message.from_id = current_user.id
        message.to_id = id
        message.message = form.content.data
        current_user.messages_from.append(message)
        session.merge(current_user)
        session.commit()
        return redirect(f'/messages/{id}')
    return render_template('new_message.html', form=form, user=user)
コード例 #5
0
    def post(self):
        """Добавление сообщения"""
        parser = reqparse.RequestParser()
        parser.add_argument('author', required=True, type=int)
        parser.add_argument('content', required=True)
        parser.add_argument('chat', required=True, type=int)
        args = parser.parse_args()

        session = db_session.create_session()
        mess = Messages(
            chat=args['chat'],
            author=args['author'],
            content=args['content']
        )
        session.add(mess)
        session.commit()
        return jsonify({'success': 'OK'})
コード例 #6
0
def messages(user_id):
    form = MessageForm()
    db_sess = db_session.create_session()
    if form.validate_on_submit():
        m = Messages(u_id=current_user.id,
                     b_id=FM.id_fr(user_id, current_user.id),
                     text=form.message.data)
        db_sess.add(m)
        db_sess.commit()
        return redirect(f'/messages/{user_id}')
    else:
        user = db_sess.query(User).filter(User.id == user_id).first()
        msgs = MM.get_ms_from_id(user_id)
        if msgs is None:
            return redirect('/')
        return render_template('messages.html',
                               form=form,
                               user=user,
                               messages=msgs)
コード例 #7
0
def about(id):
    form = MessageForm()
    db_sess = db_session.create_session()
    question = db_sess.query(Questions).filter(Questions.id == id).first()
    messages = db_sess.query(Messages).filter(Messages.question_id == id)
    if form.validate_on_submit():
        message = Messages()
        message.content = form.content.data
        message.question_id = db_sess.query(Questions).filter(
            Questions.id == id).first().id
        message.user_id = current_user.id
        message.creation_date = datetime.datetime.now().replace(microsecond=0)
        db_sess.merge(message)
        db_sess.commit()
        return redirect(f'/{id}')
    db_sess.commit()
    return render_template('about.html',
                           question=question,
                           messages=messages,
                           form=form)
コード例 #8
0
def topic(id):
    db_sess = db_session.create_session()
    topic = db_sess.query(Topics).filter(Topics.id == id).one()
    form = MessageForm()
    messages = db_sess.query(Messages).filter(Messages.topic_id == id).all()
    if request.method == 'POST':
        if form.validate_on_submit() and current_user:
            f = form.image.data
            message = Messages(text=form.text.data,
                               user_id=current_user.id,
                               topic_id=id,
                               binary=f.read())
            db_sess.add(message)
            db_sess.commit()
            return redirect(f'/topic/{id}')
    return render_template('topic.html',
                           title=topic.name,
                           topic=topic,
                           messages=messages,
                           form=form)
コード例 #9
0
def send_mess():
    if not request.json:
        return jsonify({'error': 'Empty request'})
    elif not all(key in request.json
                 for key in ['email', 'password', 'text', 'email_to']):
        return jsonify({'error': 'Bad request'})
    db_sess = db_session.create_session()
    user = db_sess.query(User).filter(
        User.email == request.json['email']).first()
    user2 = db_sess.query(User).filter(
        User.email == request.json['email_to']).first()
    if not (user and user2):
        return jsonify({'error': 'No user'})
    if not user.check_password(request.json['password']):
        return jsonify({'error': 'Bad password'})
    if not FM.is_friends(user.id, user2.id):
        return jsonify({'error': 'U must be friends'})

    mes = Messages(text=request.json['text'],
                   u_id=user.id,
                   b_id=FM.id_fr(user.id, user2.id))
    db_sess.add(mes)
    db_sess.commit()
    return jsonify({'success': 'OK'})