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