def post(self, request, *args, **kwargs): org = request.org user = request.user action = kwargs['action'] message_ids = parse_csv(request.POST.get('messages', ''), as_ints=True) messages = org.incoming_messages.filter(org=org, backend_id__in=message_ids) label_id = int(request.POST.get('label', 0)) label = Label.get_all(org, user).get(pk=label_id) if label_id else None if action == 'flag': Message.bulk_flag(org, user, messages) elif action == 'unflag': Message.bulk_unflag(org, user, messages) elif action == 'label': Message.bulk_label(org, user, messages, label) elif action == 'unlabel': Message.bulk_unlabel(org, user, messages, label) elif action == 'archive': Message.bulk_archive(org, user, messages) elif action == 'restore': Message.bulk_restore(org, user, messages) else: return HttpResponseBadRequest("Invalid action: %s", action) return HttpResponse(status=204)
def post(self, request, *args, **kwargs): org = request.org user = request.user message_id = int(kwargs['id']) message = org.incoming_messages.filter(org=org, backend_id=message_id).first() label_ids = parse_csv(self.request.POST.get('labels', ''), as_ints=True) labels = Label.get_all(org, user).filter(pk__in=label_ids) message.update_labels(user, labels) return HttpResponse(status=204)