示例#1
0
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")))
示例#2
0
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")))
示例#3
0
文件: views.py 项目: MTG/freesound
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")))
示例#4
0
 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)
示例#5
0
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}))
示例#6
0
 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)
示例#7
0
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")))