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 | ... | ... |