#ARC-16 add chat app files

remotes/origin/setup
Mukhtar 10 years ago
parent 65f2150566
commit f8aa7c60e7
  1. 3
      archilance/urls.py
  2. 3
      archilance/views.py
  3. 50
      chat/app.py
  4. 19
      chat/app2.py
  5. 31
      templates/chat_test.html
  6. 145
      users/templates/customer_chat.html
  7. 1
      users/views.py

@ -5,10 +5,11 @@ from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.generic import TemplateView from django.views.generic import TemplateView
from .views import HomeTemplateView from .views import HomeTemplateView, TestChatTemplateView
urlpatterns = [ urlpatterns = [
url(r'^$', HomeTemplateView.as_view()), url(r'^$', HomeTemplateView.as_view()),
url(r'^chattest$', TestChatTemplateView.as_view()),
url(r'^test/$', TemplateView.as_view(template_name='test.html'), name='test'), url(r'^test/$', TemplateView.as_view(template_name='test.html'), name='test'),
url(r'^projects/', include('projects.urls')), url(r'^projects/', include('projects.urls')),
url(r'^specializations/', include('specializations.urls')), url(r'^specializations/', include('specializations.urls')),

@ -2,3 +2,6 @@ from django.views.generic import TemplateView
class HomeTemplateView(TemplateView): class HomeTemplateView(TemplateView):
template_name = 'home.html' template_name = 'home.html'
class TestChatTemplateView(TemplateView):
template_name = 'chat_test.html'

@ -0,0 +1,50 @@
from tornado import web, ioloop, options, websocket
import os.path
clients = []
messages = []
class Application(web.Application):
def __init__(self):
handlers = [
(r"/", MainHandler),
(r"/chat", ChatHandler),
]
settings = dict(
cookie_secret="tes12323hhdfdfre9312313",
template_path=os.path.join(os.path.dirname(__file__), "templates"),
static_path=os.path.join(os.path.dirname(__file__), "static"),
xsrf_cookies=True,
)
super().__init__(handlers, **settings)
class MainHandler(web.RequestHandler):
def get(self):
self.render("index.html")
class ChatHandler(websocket.WebSocketHandler):
def open(self):
print("Web socket opened")
clients.append(self)
def on_message(self, message):
messages.append({'msg':message})
for msg in messages:
self.write_message(msg)
def check_origin(self, origin):
return True
def main():
options.parse_command_line()
app = Application()
app.listen(8888)
ioloop.IOLoop.current().start()
if __name__ == '__main__':
main()

@ -0,0 +1,19 @@
import logging
import datetime
from redis import StrictRedis
from tornado import web, websocket, escape
r = StrictRedis(db=1)
logger = logging.getLogger('handlers')
class ChatHandler(websocket.WebSocketHandler):
waiters = set()
def open(self, *args, **kwargs):
self.chnl = kwargs.get('channel', 'main')
self.waiters.add((self.chn1, self))
self.chnl_key = 'channels:{}'

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Всем привет , дети мои!!</h1>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var url = 'ws://127.0.0.1:8888/chat';
var socket = new WebSocket(url);
socket.onopen = function(){
console.log("Соединение установлено");
socket.send("start");
}
socket.onmessage = function (event) {
console.log(event.data);
alert(event.data);
var data = JSON.parse(event.data);
console.log(data);
}
});
</script>
</body>
</html>

@ -77,30 +77,6 @@
</a> </a>
</div> </div>
</div> </div>
<div class="orderBlock box-sizing">
<span class="dimovChat"></span>
<p class="titleOB">
Дизай-проект квартиры на набережной 200 m2
</p>
<div class="hideOBB">
<p class="pOB">
<span>Испонитель:</span> Группа Икс
</p>
<ul class="listChat1">
<li>Иванов Петр Иванович</li>
<li>Сергей Пенкин</li>
<li>Александ Смирнов</li>
<li>Иванов Петр</li>
</ul>
<p class="pOB">
<span>Чаты:</span> Иванов, Петров, Пенкин
</p>
<a href="javascript:void(0)" class="linkChat11">
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
Полное описание заказа
</a>
</div>
</div>
</div> </div>
</div> </div>
<div class="col-lg-6 commChat"> <div class="col-lg-6 commChat">
@ -130,45 +106,6 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo.
</p> </p>
</div> </div>
<div class="col-lg-12 insetCommChat">
<div class="topCommChat">
<p class="nameCommChat">
Иванов Петр Иванович
</p>
<span>
13.0.2016 / 21:05
</span>
</div>
<p class="textCommChat">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo.
</p>
</div>
<div class="col-lg-12 insetCommChat youChat">
<div class="topCommChat">
<p class="nameCommChat greenNCC">
Вы
</p>
<span>
13.0.2016 / 21:05
</span>
</div>
<p class="textCommChat">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo.
</p>
</div>
<div class="col-lg-12 insetCommChat youChat">
<div class="topCommChat">
<p class="nameCommChat greenNCC">
Вы
</p>
<span>
13.0.2016 / 21:05
</span>
</div>
<p class="textCommChat">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</p>
</div>
<textarea id="chat" class="box-sizing"></textarea> <textarea id="chat" class="box-sizing"></textarea>
<div class="bunChat"> <div class="bunChat">
<div class="setChat box-sizing"> <div class="setChat box-sizing">
@ -185,7 +122,7 @@
<p>Контакты</p> <p>Контакты</p>
<div class="message"> <div class="message">
<div class="imgMess"> <div class="imgMess">
<img src="img/mess.png" alt="mess-image"> <img src="{% static 'img/mess.png' %}" alt="mess-image">
</div> </div>
<p class="nameMess"> <p class="nameMess">
<a href="#">Иванов Петр Иванович</a> <a href="#">Иванов Петр Иванович</a>
@ -211,16 +148,6 @@
<span>7мб</span> <span>7мб</span>
<div></div> <div></div>
</li> </li>
<li>
Архитерурное 2.jpg
<span>7мб</span>
<div></div>
</li>
<li>
Архитерурное 2.jpg
<span>7мб</span>
<div></div>
</li>
</ul> </ul>
<a href="javascript:void(0)"> <a href="javascript:void(0)">
Распечатать с помощью ресурса Распечатать с помощью ресурса
@ -285,25 +212,6 @@
</a> </a>
</div> </div>
</div> </div>
<div class="orderBlock box-sizing">
<span class="dimovChat"></span>
<p class="titleOB">
Дизай-проект квартиры на набережной 200 m2
</p>
<div class="hideOBB disTab">
<p class="pOB">
<span>Заказчик:</span> Группа Икс
</p>
<ul class="listChat1">
<li>Иванов Петр Иванович</li>
<li>Сергей Пенкин</li>
</ul>
<a href="javascript:void(0)" class="linkChat11">
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
Полное описание заказа
</a>
</div>
</div>
</div> </div>
</div> </div>
<div class="col-lg-6 commChat"> <div class="col-lg-6 commChat">
@ -317,8 +225,7 @@
</span> </span>
</div> </div>
<p class="textCommChat"> <p class="textCommChat">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Lorem ipsum dolor sit amet</p>
</p>
</div> </div>
<div class="col-lg-12 insetCommChat youChat"> <div class="col-lg-12 insetCommChat youChat">
<div class="topCommChat"> <div class="topCommChat">
@ -330,47 +237,7 @@
</span> </span>
</div> </div>
<p class="textCommChat"> <p class="textCommChat">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Lorem ipsum dolor sit amet</p>
</p>
</div>
<div class="col-lg-12 insetCommChat">
<div class="topCommChat">
<p class="nameCommChat">
Иванов Петр Иванович
</p>
<span>
13.0.2016 / 21:05
</span>
</div>
<p class="textCommChat">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo.
</p>
</div>
<div class="col-lg-12 insetCommChat youChat">
<div class="topCommChat">
<p class="nameCommChat greenNCC">
Вы
</p>
<span>
13.0.2016 / 21:05
</span>
</div>
<p class="textCommChat">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo.
</p>
</div>
<div class="col-lg-12 insetCommChat youChat">
<div class="topCommChat">
<p class="nameCommChat greenNCC">
Вы
</p>
<span>
13.0.2016 / 21:05
</span>
</div>
<p class="textCommChat">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</p>
</div> </div>
<textarea id="chat" class="box-sizing"></textarea> <textarea id="chat" class="box-sizing"></textarea>
<div class="bunChat"> <div class="bunChat">
@ -425,8 +292,7 @@
<div class="stepssBlock box-sizing disTab"> <div class="stepssBlock box-sizing disTab">
<p class="titleStepss">2 / Резервирование</p> <p class="titleStepss">2 / Резервирование</p>
<p class="textStepss"> <p class="textStepss">
Резервирование заказчиком суммы оплаты по заказ. Деньги перечисляются и хранятся на сайте. Резервирование заказчиком суммы оплаты по заказ.</p>
</p>
<ul> <ul>
<li>Сумма еще не зарезервирована</li> <li>Сумма еще не зарезервирована</li>
<li>Сумма за этап1, Зарезервирована</li> <li>Сумма за этап1, Зарезервирована</li>
@ -435,8 +301,7 @@
<div class="stepssBlock box-sizing disTab"> <div class="stepssBlock box-sizing disTab">
<p class="titleStepss">3 / Выполнение работы</p> <p class="titleStepss">3 / Выполнение работы</p>
<p class="textStepss"> <p class="textStepss">
Процесс выполнения задания в заказе до получения заказчиком итогового результата работы. Процесс выполнения задания в заказе </p>
</p>
</div> </div>
</div> </div>
</div> </div>

@ -144,7 +144,6 @@ class CustomerChat(View):
template_name = 'customer_chat.html' template_name = 'customer_chat.html'
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
return render(request, self.template_name) return render(request, self.template_name)

Loading…
Cancel
Save