예제 #1
0
def chat_page(chat_id):
    """Данная функция возвращает пользователю страницу чата по номеру

    :param chat_id: Номер чата
    :return: Страница чата
    """
    chat_create_form = CreateChatForm()
    login_form = LoginForm()
    chat = Chat.get(chat_id)
    if not chat:
        return redirect('/')
    auth_form = AuthChatForm()
    if auth_form.validate_on_submit():
        access_key = auth_form.password.data
        User.set_access_key(chat_id, access_key)
    return render_template(
        'chat.html',
        chat_id=chat.id,
        socket_mode=(app.config['SOCKET_MODE'] == 'True'),
        chat_info=chat.get_info(),
        login=User.get_login(),
        login_form=login_form,
        chat_create_form=chat_create_form,
        have_access=chat.is_access_key_valid(User.get_access_key(chat_id)),
        auth_form=auth_form,
        allowed_ex=",".join(
            ['.' + i for i in app.config["ALLOWED_EXTENSIONS"]]),
        allowed_languages=app.config["ALLOWED_LANGUAGES"])
예제 #2
0
 def access_check(*args, **kwargs):
     """Функция возвращает ошибку, если ключ доступа к чату невалиден"""
     if request.method == "POST":
         chat_form = ChatForm()
     else:
         chat_form = ChatForm(request.args)
     chat_id = chat_form.chat.data
     chat = Chat.get(chat_id)
     if chat.is_access_key_valid(User.get_access_key(chat_id)):
         return func(*args, **kwargs)
     return dumps({"success": False, "error": "Access error"}), 403