예제 #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
파일: Code.py 프로젝트: xDuckoff/WebApp
 def __init__(self, **params):
     self.content = params.get('content', "")
     self.author = User.get_login()
     self.chat_link = params.get('chat_link')
     self.parent_link = params.get('parent_link')
     self.message = MarkdownMixin.decode(params.get('message'))
     self.number = Code.get_count_in_chat(params.get('chat_link')) + 1
예제 #3
0
def feedback_page():
    """Функция переходан на страницу обратной связи

    :return: Переход на страницу обратной связи
    """
    feedback_form = FeedbackForm()
    chat_create_form = CreateChatForm()
    login_form = LoginForm()
    if feedback_form.validate_on_submit():
        name = feedback_form.name.data
        email = feedback_form.email.data
        text = feedback_form.text.data
        Feedback.send(name, email, text)
        flash(u'Сообщение успешно отправлено', 'feedback')
        return redirect('/feedback')
    return render_template('feedback.html',
                           feedback_form=feedback_form,
                           login_form=login_form,
                           login=User.get_login(),
                           chat_create_form=chat_create_form,
                           allowed_ex=",".join([
                               '.' + i
                               for i in app.config["ALLOWED_EXTENSIONS"]
                           ]),
                           allowed_languages=app.config["ALLOWED_LANGUAGES"])
예제 #4
0
def index():
    """Данная функция генерирует главную страницу для пользователя

    :return: Главная страница с чатами пользователя, является ли человек \
    в сессии, формой входа(Если человек не зарегистрирован, заголовок чата
    """
    find_chat_form = FindChatForm()
    chat_create_form = CreateChatForm()
    login_form = LoginForm()
    if login_form.validate_on_submit():
        User.login(login_form.login.data)
    if chat_create_form.validate_on_submit():
        name = chat_create_form.name.data
        code_type = chat_create_form.code_type.data
        code = chat_create_form.code.data
        access_key = chat_create_form.access_key.data
        if chat_create_form.is_file_valid():
            code = chat_create_form.file.data.read()
        chat_id = Chat.create(name, code, code_type, access_key)
        return redirect('/chat/' + str(chat_id))
    return render_template('index.html',
                           chats=Chat.find(find_chat_form.chat_title.data),
                           login_form=login_form,
                           chat_create_form=chat_create_form,
                           find_chat_form=find_chat_form,
                           login=User.get_login(),
                           allowed_ex=",".join([
                               '.' + i
                               for i in app.config["ALLOWED_EXTENSIONS"]
                           ]),
                           allowed_languages=app.config["ALLOWED_LANGUAGES"])
예제 #5
0
파일: __init__.py 프로젝트: xDuckoff/WebApp
def api_user():
    """Получение и сохранение данных пользователя

    :return: параметры пользователя/статус операции сохранения
    """
    if request.method == 'GET':
        user = dict(name=User.get_login())
        return jsonify(user)
    elif request.method == 'PUT':
        data = request.get_json()
        name = data.get('name')
        if name is None:
            abort(400, '"name" parameter is required')
        User.login(name)
        return jsonify(dict(success=True))
예제 #6
0
 def __init__(self, content, chat_link, message_type):
     self.content = MarkdownMixin.decode(content)
     self.author = User.get_login()
     self.chat_link = chat_link
     self.type = message_type