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"])
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