diff --git a/api/urls.py b/api/urls.py index 46d44c2..f64ce8a 100755 --- a/api/urls.py +++ b/api/urls.py @@ -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 diff --git a/api/views.py b/api/views.py index 7629e70..e629711 100755 --- a/api/views.py +++ b/api/views.py @@ -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 diff --git a/chat/filters.py b/chat/filters.py new file mode 100644 index 0000000..63c24e0 --- /dev/null +++ b/chat/filters.py @@ -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 diff --git a/chat/models.py b/chat/models.py index 63517e5..2b5d506 100644 --- a/chat/models.py +++ b/chat/models.py @@ -20,4 +20,13 @@ class Message(models.Model): verbose_name = 'Сообщение' verbose_name_plural = 'Сообщения' +class Notes(models.Model): + text = models.TextField() + + + def __str__(self): + return self.text + class Meta: + verbose_name = 'Сообщение' + verbose_name_plural = 'Сообщения' diff --git a/chat/serializers.py b/chat/serializers.py new file mode 100644 index 0000000..9cdf3c0 --- /dev/null +++ b/chat/serializers.py @@ -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', + ) diff --git a/chat/templates/chat_contractor.html b/chat/templates/chat_contractor.html index 1308463..9a1d1d7 100644 --- a/chat/templates/chat_contractor.html +++ b/chat/templates/chat_contractor.html @@ -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 += '
Для заметок
+ + сохранить +{{ msg.sender.get_full_name }}
#} +{# {{ msg.created }}#} +{#{{ msg }}
#} +{#Для заметок
+ + сохранить +