def messages_change_state(request): if request.method == "POST": choice = request.POST.get("choice", False) # get all message ids in the format `cb_[number]` which have a value of 'on' message_ids = [] for key, val in request.POST.items(): if key.startswith('cb_') and val == 'on': try: msgid = int(key.replace('cb_', '')) message_ids.append(msgid) except ValueError: pass if choice and message_ids: messages = Message.objects.filter( Q(user_to=request.user, is_sent=False) | Q(user_from=request.user, is_sent=True)).filter( id__in=message_ids) if choice == "a": messages.update(is_archived=True) elif choice == "d": messages.delete() elif choice == "r": messages.update(is_read=True) invalidate_template_cache("user_header", request.user.id) return HttpResponseRedirect(request.POST.get("next", reverse("messages")))
def messages_change_state(request): if request.method == "POST": choice = request.POST.get("choice", False) # get all ids, prefixed by "cb_" and after than an integer # only get the checkboxes that are "on" message_ids = filter(lambda x: x != None, [ exceptional(int)(key.replace("cb_", "")) for key in request.POST.keys() if key.startswith("cb_") and request.POST.get(key) == "on" ]) if choice and message_ids: messages = Message.objects.filter( Q(user_to=request.user, is_sent=False) | Q(user_from=request.user, is_sent=True)).filter( id__in=message_ids) if choice == "a": messages.update(is_archived=True) elif choice == "d": messages.delete() elif choice == "r": messages.update(is_read=True) invalidate_template_cache("user_header", request.user.id) return HttpResponseRedirect(request.POST.get("next", reverse("messages")))
def messages_change_state(request): if request.method == "POST": choice = request.POST.get("choice", False) # get all message ids in the format `cb_[number]` which have a value of 'on' message_ids = [] for key, val in request.POST.items(): if key.startswith('cb_') and val == 'on': try: msgid = int(key.replace('cb_', '')) message_ids.append(msgid) except ValueError: pass if choice and message_ids: messages = Message.objects.filter(Q(user_to=request.user, is_sent=False) | Q(user_from=request.user, is_sent=True)).filter(id__in=message_ids) if choice == "a": messages.update(is_archived=True) elif choice == "d": messages.delete() elif choice == "r": messages.update(is_read=True) invalidate_template_cache("user_header", request.user.id) return HttpResponseRedirect(request.POST.get("next", reverse("messages")))
def get(self, request, *args, **kwargs): try: memebership = models.GroupMember.objects.filter( user=self.request.user, group__slug=self.kwargs.get('slug')).get() except models.GroupMember.DoesNotExist: messages.warning(self.request, 'Sorry you are not in this group!') else: messages.delete() messages.success(self.request, 'You have left the group!') return super().get(request, *args, **kwargs)
def delete_sysmessage(request): """ 删除 系统消息 :param request: :param args: :return: """ if request.method == "POST": id_list = request.POST.getlist('goods_check[]', '') for i in id_list: messages = send_message.objects.get(id=i) print messages messages.delete() data = {'msg': u'删除成功', 'status': 200} return HttpResponse(dumps({"data": data}))
def post(self, request, *args, **kwargs): self.to_delete = self.request.POST.get('todelete') if self.to_delete: user1 = self.request['kwargs']['user1'] author = user1 user2 = self.request['kwargs']['user2'] ar = [user1, user2] ar = sorted(ar) user1 = ar[0] user2 = ar[1] messages = Message.objects.filter( sort_str=f'{user1}_{user2}').all() if author == messages.first().author: messages.delete() messages.success( request, f'successfully deleted chat: of {user1} and {user2}') return redirect('chat-index') else: return self.get(self, *args, **kwargs)
def messages_change_state(request): if request.method == "POST": choice = request.POST.get("choice", False) # get all ids, prefixed by "cb_" and after than an integer # only get the checkboxes that are "on" message_ids = filter(lambda x: x != None, [exceptional(int)(key.replace("cb_", "")) for key in request.POST.keys() if key.startswith("cb_") and request.POST.get(key) == "on"]) if choice and message_ids: messages = Message.objects.filter(Q(user_to=request.user, is_sent=False) | Q(user_from=request.user, is_sent=True)).filter(id__in=message_ids) if choice == "a": messages.update(is_archived=True) elif choice == "d": messages.delete() elif choice == "r": messages.update(is_read=True) invalidate_template_cache("user_header", request.user.id) return HttpResponseRedirect(request.POST.get("next", reverse("messages")))