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 | 219 | |
| 220 | 220 | info["data"] = {} |
| 221 | 221 | info["data"]["messages"] = json_r |
| 222 | + info["data"]["message_sent"] = {} | |
| 222 | 223 | |
| 223 | 224 | info["message"] = "" |
| 224 | 225 | info["type"] = "" |
| ... | ... | @@ -234,11 +235,23 @@ class ChatViewset(viewsets.ModelViewSet): |
| 234 | 235 | @csrf_exempt |
| 235 | 236 | @list_route(methods = ['POST'], permissions_classes = [IsAuthenticated]) |
| 236 | 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 | 256 | info = {} |
| 244 | 257 | |
| ... | ... | @@ -263,6 +276,10 @@ class ChatViewset(viewsets.ModelViewSet): |
| 263 | 276 | message.text = "<p>" + msg_text + "</p>" |
| 264 | 277 | message.user = user |
| 265 | 278 | message.talk = talk |
| 279 | + message.subject = subject | |
| 280 | + | |
| 281 | + if not file is None: | |
| 282 | + message.image = file | |
| 266 | 283 | |
| 267 | 284 | message.save() |
| 268 | 285 | |
| ... | ... | @@ -288,6 +305,14 @@ class ChatViewset(viewsets.ModelViewSet): |
| 288 | 305 | |
| 289 | 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 | 316 | info["message"] = _("Message sent successfully!") |
| 292 | 317 | info["success"] = True |
| 293 | 318 | info["number"] = 1 |
| ... | ... | @@ -296,13 +321,14 @@ class ChatViewset(viewsets.ModelViewSet): |
| 296 | 321 | info["success"] = False |
| 297 | 322 | info["number"] = 0 |
| 298 | 323 | else: |
| 324 | + info["data"] = {} | |
| 325 | + info["data"]["message_sent"] = {} | |
| 326 | + | |
| 299 | 327 | info["message"] = _("No information received!") |
| 300 | 328 | info["success"] = False |
| 301 | 329 | info["number"] = 0 |
| 302 | 330 | |
| 303 | - info["data"] = {} | |
| 304 | 331 | info["data"]["messages"] = [] |
| 305 | - | |
| 306 | 332 | info["type"] = "" |
| 307 | 333 | info["title"] = _("Amadeus") |
| 308 | 334 | info['extra'] = 0 | ... | ... |