#ARC-16 Add serializer and filterset for chat app

remotes/origin/setup
Mukhtar 10 years ago
parent 7142c2ec6e
commit c7ba533f5f
  1. 2
      api/urls.py
  2. 9
      api/views.py
  3. 14
      chat/filters.py
  4. 19
      chat/serializers.py
  5. 1
      chat/templates/chat_contractor.html
  6. 5
      chat/templates/chat_customer.html

@ -6,6 +6,7 @@ from .views import (
RealtyViewSet,
SpecializationViewSet,
UserViewSet,
MessageViewSet,
)
@ -16,5 +17,6 @@ router.register(r'projects', ProjectViewSet)
router.register(r'realties', RealtyViewSet)
router.register(r'specializations', SpecializationViewSet)
router.register(r'users', UserViewSet)
router.register(r'message', MessageViewSet)
urlpatterns = router.urls

@ -16,6 +16,9 @@ from common.models import Location
from common.serializers import LocationSerializer
from common.filters import LocationFilterSet
from chat.models import Message
from chat.serializers import MessageSerializer
from chat.filters import MessageFilterSet
class ProjectViewSet(ModelViewSet):
queryset = Project.objects.all()
@ -23,6 +26,12 @@ class ProjectViewSet(ModelViewSet):
filter_class = ProjectFilterSet
class MessageViewSet(ModelViewSet):
queryset = Message.objects.all()
serializer_class = MessageSerializer
filter_class = MessageFilterSet
class RealtyViewSet(ModelViewSet):
queryset = Realty.objects.all()
serializer_class = RealtySerializer

@ -0,0 +1,14 @@
from rest_framework_filters import FilterSet, RelatedFilter, AllLookupsFilter
from .models import Message
class MessageFilterSet(FilterSet):
text = AllLookupsFilter()
created = AllLookupsFilter()
sender = RelatedFilter('users.filters.UserFilterSet')
recipent = RelatedFilter('users.filters.UserFilterSet')
private_type = AllLookupsFilter()
class Meta:
model = Message

@ -0,0 +1,19 @@
from rest_framework.serializers import ModelSerializer
from .models import Message
from users.serializers import UserSerializer
class MessageSerializer(ModelSerializer):
sender = UserSerializer()
recipent = UserSerializer()
class Meta:
model = Message
fields = (
'text',
'created',
'sender',
'recipent',
'private_type',
)

@ -407,6 +407,7 @@
};
sock.onmessage = function(event){
console.log(event.data);
alert(event.data);
var message = JSON.parse(event.data);
var inbox = document.getElementById('message-chat-space');
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' +

@ -16,7 +16,7 @@
<a href="#tab1" data-toggle="tab">Личные</a>
</li>
<li role="presentation">
<a href="#tab2" data-toggle="tab">Заказчики</a>
<a href="#tab2" data-toggle="tab">Исполнители</a>
</li>
</ul>
</div>
@ -243,10 +243,11 @@
var intervalId;
sock.onopen = function(){
console.log("Start connect");
intervalId = setInterval(function(){sock.send('{"dummy": 1}');}, 150000);
intervalId = setInterval(function(){sock.send('{"dummy": 1}');}, 150);
};
sock.onmessage = function(event){
console.log(event.data);
alert(event.data);
var message = JSON.parse(event.data);
var inbox;
if (message.answer_type == 'contact'){

Loading…
Cancel
Save