Commit 43d3c4e0dfb5759a79bb7ec0f4f3871a2f00ec27
1 parent
ad311ac7
Exists in
master
and in
2 other branches
Adding possibility to send image messages via app/api
Showing
1 changed file
with
33 additions
and
7 deletions
Show diff stats
api/views.py
| @@ -219,6 +219,7 @@ class ChatViewset(viewsets.ModelViewSet): | @@ -219,6 +219,7 @@ class ChatViewset(viewsets.ModelViewSet): | ||
| 219 | 219 | ||
| 220 | info["data"] = {} | 220 | info["data"] = {} |
| 221 | info["data"]["messages"] = json_r | 221 | info["data"]["messages"] = json_r |
| 222 | + info["data"]["message_sent"] = {} | ||
| 222 | 223 | ||
| 223 | info["message"] = "" | 224 | info["message"] = "" |
| 224 | info["type"] = "" | 225 | info["type"] = "" |
| @@ -234,11 +235,23 @@ class ChatViewset(viewsets.ModelViewSet): | @@ -234,11 +235,23 @@ class ChatViewset(viewsets.ModelViewSet): | ||
| 234 | @csrf_exempt | 235 | @csrf_exempt |
| 235 | @list_route(methods = ['POST'], permissions_classes = [IsAuthenticated]) | 236 | @list_route(methods = ['POST'], permissions_classes = [IsAuthenticated]) |
| 236 | def send_message(self, request): | 237 | def send_message(self, request): |
| 237 | - username = request.data['email'] | ||
| 238 | - user_two = request.data['user_two'] | ||
| 239 | - subject = request.data['subject'] | ||
| 240 | - msg_text = request.data['text'] | ||
| 241 | - create_date = request.data['create_date'] | 238 | + if 'file' in request.data: |
| 239 | + file = request.FILES['file'] | ||
| 240 | + | ||
| 241 | + data = json.loads(request.data['data']) | ||
| 242 | + | ||
| 243 | + username = data['email'] | ||
| 244 | + user_two = data['user_two'] | ||
| 245 | + subject = data['subject'] | ||
| 246 | + msg_text = data['text'] | ||
| 247 | + create_date = data['create_date'] | ||
| 248 | + else: | ||
| 249 | + file = None | ||
| 250 | + username = request.data['email'] | ||
| 251 | + user_two = request.data['user_two'] | ||
| 252 | + subject = request.data['subject'] | ||
| 253 | + msg_text = request.data['text'] | ||
| 254 | + create_date = request.data['create_date'] | ||
| 242 | 255 | ||
| 243 | info = {} | 256 | info = {} |
| 244 | 257 | ||
| @@ -263,6 +276,10 @@ class ChatViewset(viewsets.ModelViewSet): | @@ -263,6 +276,10 @@ class ChatViewset(viewsets.ModelViewSet): | ||
| 263 | message.text = "<p>" + msg_text + "</p>" | 276 | message.text = "<p>" + msg_text + "</p>" |
| 264 | message.user = user | 277 | message.user = user |
| 265 | message.talk = talk | 278 | message.talk = talk |
| 279 | + message.subject = subject | ||
| 280 | + | ||
| 281 | + if not file is None: | ||
| 282 | + message.image = file | ||
| 266 | 283 | ||
| 267 | message.save() | 284 | message.save() |
| 268 | 285 | ||
| @@ -288,6 +305,14 @@ class ChatViewset(viewsets.ModelViewSet): | @@ -288,6 +305,14 @@ class ChatViewset(viewsets.ModelViewSet): | ||
| 288 | 305 | ||
| 289 | ChatVisualizations.objects.create(viewed = False, message = message, user = user_to) | 306 | ChatVisualizations.objects.create(viewed = False, message = message, user = user_to) |
| 290 | 307 | ||
| 308 | + serializer = ChatSerializer(message) | ||
| 309 | + | ||
| 310 | + json_r = json.dumps(serializer.data) | ||
| 311 | + json_r = json.loads(json_r) | ||
| 312 | + | ||
| 313 | + info["data"] = {} | ||
| 314 | + info["data"]["message_sent"] = json_r | ||
| 315 | + | ||
| 291 | info["message"] = _("Message sent successfully!") | 316 | info["message"] = _("Message sent successfully!") |
| 292 | info["success"] = True | 317 | info["success"] = True |
| 293 | info["number"] = 1 | 318 | info["number"] = 1 |
| @@ -296,13 +321,14 @@ class ChatViewset(viewsets.ModelViewSet): | @@ -296,13 +321,14 @@ class ChatViewset(viewsets.ModelViewSet): | ||
| 296 | info["success"] = False | 321 | info["success"] = False |
| 297 | info["number"] = 0 | 322 | info["number"] = 0 |
| 298 | else: | 323 | else: |
| 324 | + info["data"] = {} | ||
| 325 | + info["data"]["message_sent"] = {} | ||
| 326 | + | ||
| 299 | info["message"] = _("No information received!") | 327 | info["message"] = _("No information received!") |
| 300 | info["success"] = False | 328 | info["success"] = False |
| 301 | info["number"] = 0 | 329 | info["number"] = 0 |
| 302 | 330 | ||
| 303 | - info["data"] = {} | ||
| 304 | info["data"]["messages"] = [] | 331 | info["data"]["messages"] = [] |
| 305 | - | ||
| 306 | info["type"] = "" | 332 | info["type"] = "" |
| 307 | info["title"] = _("Amadeus") | 333 | info["title"] = _("Amadeus") |
| 308 | info['extra'] = 0 | 334 | info['extra'] = 0 |