コード例 #1
0
 def get(self,request,*args,**kwargs):
     list = PhotoList.objects.get(uuid=self.kwargs["uuid"])
     obj = Moderated.get_or_create_moderated_object(object_id=list.pk, type="PHL")
     if request.is_ajax() and request.user.is_photo_manager():
         obj.unverify_moderation(list, manager_id=request.user.pk)
         PhotoManageLog.objects.create(item=list.pk, manager=request.user.pk, action_type=PhotoManageLog.LIST_UNVERIFY)
         return HttpResponse()
     else:
         raise Http404
コード例 #2
0
 def post(self,request,*args,**kwargs):
     photo, form = Photo.objects.get(uuid=self.kwargs["uuid"]), ModeratedForm(request.POST)
     if request.is_ajax() and form.is_valid() and request.user.is_photo_manager():
         mod = form.save(commit=False)
         moderate_obj = Moderated.get_or_create_moderated_object(object_id=photo.pk, type="PHO")
         moderate_obj.create_close(object=photo, description=mod.description, manager_id=request.user.pk)
         PhotoManageLog.objects.create(item=photo.pk, manager=request.user.pk, action_type=PhotoManageLog.ITEM_CLOSED)
         return HttpResponse()
     else:
         return HttpResponseBadRequest()
コード例 #3
0
ファイル: user.py プロジェクト: Interesnij/deputat
 def get(self, request, *args, **kwargs):
     user = User.objects.get(pk=self.kwargs["user_pk"])
     obj = Moderated.get_or_create_moderated_object(object_id=user.pk,
                                                    type="USE")
     if request.is_ajax() and request.user.is_user_manager():
         obj.unverify_moderation(user, manager_id=request.user.pk)
         UserManageLog.objects.create(user=user.pk,
                                      manager=request.user.pk,
                                      action_type=UserManageLog.UNVERIFY)
         return HttpResponse()
     else:
         raise Http404
コード例 #4
0
ファイル: blog.py プロジェクト: Interesnij/deputat
 def get(self, request, *args, **kwargs):
     pk = Blog.objects.get(uuid=self.kwargs["pk"])
     obj = Moderated.get_or_create_moderated_object(object_id=post.pk,
                                                    type="BLO")
     if request.is_ajax() and request.user.is_blog_manager():
         obj.unverify_moderation(post, manager_id=request.user.pk)
         BlogManageLog.objects.create(
             item=post.pk,
             manager=request.user.pk,
             action_type=BlogManageLog.ITEM_UNVERIFY)
         return HttpResponse()
     else:
         raise Http404
コード例 #5
0
ファイル: organization.py プロジェクト: Interesnij/deputat
 def get(self, request, *args, **kwargs):
     organization = Organization.objects.get(pk=self.kwargs["pk"])
     obj = Moderated.get_or_create_moderated_object(
         object_id=organization.pk, type="ORG")
     if request.is_ajax() and request.user.is_organization_manager():
         obj.unverify_moderation(organization, manager_id=request.user.pk)
         OrganizationManageLog.objects.create(
             item=obj.object_id,
             manager=request.user.pk,
             action_type=OrganizationManageLog.ITEM_UNVERIFY)
         return HttpResponse()
     else:
         raise Http404
コード例 #6
0
ファイル: user.py プロジェクト: Interesnij/deputat
    def post(self, request, *args, **kwargs):
        form, user = ModeratedForm(
            request.POST), User.objects.get(pk=self.kwargs["pk"])

        if request.is_ajax() and form.is_valid(
        ) and request.user.is_user_manager():
            from django.utils import timezone

            mod = form.save(commit=False)
            number = request.POST.get('number')
            moderate_obj = Moderated.get_or_create_moderated_object(
                object_id=user.pk, type="USE")
            moderate_obj.status = Moderated.SUSPEND
            moderate_obj.description = mod.description
            moderate_obj.save()
            if number == '4':
                duration_of_penalty = timezone.now() + timezone.timedelta(
                    days=30)
                UserManageLog.objects.create(
                    user=user.pk,
                    manager=request.user.pk,
                    action_type=UserManageLog.SEVERITY_CRITICAL)
            elif number == '3':
                duration_of_penalty = timezone.now() + timezone.timedelta(
                    days=7)
                UserManageLog.objects.create(
                    user=user.pk,
                    manager=request.user.pk,
                    action_type=UserManageLog.SEVERITY_HIGH)
            elif number == '2':
                duration_of_penalty = timezone.now() + timezone.timedelta(
                    days=3)
                UserManageLog.objects.create(
                    user=user.pk,
                    manager=request.user.pk,
                    action_type=UserManageLog.SEVERITY_MEDIUM)
            elif number == '1':
                duration_of_penalty = timezone.now() + timezone.timedelta(
                    hours=6)
                UserManageLog.objects.create(
                    user=user.pk,
                    manager=request.user.pk,
                    action_type=UserManageLog.SEVERITY_LOW)
            moderate_obj.create_suspend(
                manager_id=request.user.pk,
                duration_of_penalty=duration_of_penalty)
            user.suspend_item()
            return HttpResponse()
        else:
            return HttpResponseBadRequest()
コード例 #7
0
ファイル: views.py プロジェクト: Interesnij/deputat
    def get_context_data(self, **kwargs):
        from managers.models import Moderated
        from quan.models import Support

        context = super(ManagersView, self).get_context_data(**kwargs)
        context["count_moderated_users"] = Moderated.count_moderated_users()
        context[
            "count_moderated_communities"] = Moderated.count_moderated_communities(
            )
        context[
            "count_moderated_elect_news"] = Moderated.count_moderated_elect_news(
            )
        context["count_moderated_blog"] = Moderated.count_moderated_blog()
        context["count_moderated_photo"] = Moderated.count_moderated_photo()
        context["count_moderated_music"] = Moderated.count_moderated_music()
        context["count_moderated_doc"] = Moderated.count_moderated_doc()
        context["count_moderated_video"] = Moderated.count_moderated_video()
        context["count_moderated_survey"] = Moderated.count_moderated_survey()
        context["count_support_message"] = Support.objects.filter(
            is_read=False).values("pk").count()
        context["count_support_chats"] = self.count_chats
        return context
コード例 #8
0
ファイル: user.py プロジェクト: Interesnij/deputat
 def post(self, request, *args, **kwargs):
     user, form = User.objects.get(pk=self.kwargs["pk"]), ModeratedForm(
         request.POST)
     if request.is_ajax() and form.is_valid(
     ) and request.user.is_user_manager():
         mod = form.save(commit=False)
         moderate_obj = Moderated.get_or_create_moderated_object(
             object_id=user.pk, type="USE")
         moderate_obj.create_close(object=user,
                                   description=mod.description,
                                   manager_id=request.user.pk)
         UserManageLog.objects.create(user=user.pk,
                                      manager=request.user.pk,
                                      action_type=UserManageLog.CLOSED)
         return HttpResponse()
     else:
         return HttpResponseBadRequest()
コード例 #9
0
ファイル: survey.py プロジェクト: Interesnij/deputat
    def post(self, request, *args, **kwargs):
        from managers.forms import ModeratedForm

        survey, form = Survey.objects.get(
            uuid=self.kwargs["uuid"]), ModeratedForm(request.POST)
        if request.is_ajax() and form.is_valid(
        ) and request.user.is_survey_manager():
            mod = form.save(commit=False)
            moderate_obj = Moderated.get_or_create_moderated_object(
                object_id=survey.pk, type="MUS")
            moderate_obj.create_close(object=survey,
                                      description=mod.description,
                                      manager_id=request.user.pk)
            SurveyManageLog.objects.create(
                item=survey.pk,
                manager=request.user.pk,
                action_type=SurveyManageLog.ITEM_CLOSED)
            return HttpResponse()
        else:
            return HttpResponseBadRequest()
コード例 #10
0
    def post(self, request, *args, **kwargs):
        from django.http import HttpResponse, HttpResponseBadRequest
        from managers.models import Moderated, ModeratedLogs
        from common.utils import get_item_for_post_sanction
        from managers.forms import ModeratedForm

        type = request.POST.get('_type')
        subtype = request.POST.get('_subtype')

        list = get_item_for_post_sanction(type, subtype)
        if (list[2] and request.user.is_administrator()
            ) or not request.user.is_moderator():
            return HttpResponseBadRequest()

        form = ModeratedForm(request.POST)
        if request.is_ajax() and form.is_valid():
            mod = form.save(commit=False)
            case = request.POST.get('case')
            item = list[0]
            moderate_obj = Moderated.get_or_create_moderated_object(
                object_id=item.pk, type=list[1])
            if case == "close":
                moderate_obj.create_close(object=item,
                                          description=mod.description,
                                          manager_id=request.user.pk)
                ModeratedLogs.objects.create(type=list[1],
                                             object_id=item.pk,
                                             manager=request.user.pk,
                                             action=list[3][0])
                item.close_item()

            elif case == "suspend":
                from django.utils import timezone
                from common.tasks import abort_suspended
                from datetime import datetime, timedelta

                moderate_obj.status = Moderated.SUSPEND
                moderate_obj.description = mod.description
                moderate_obj.save()
                number = request.POST.get('number')
                if number == '4':
                    duration_of_penalty = timezone.now() + timezone.timedelta(
                        days=30)
                elif number == '3':
                    duration_of_penalty = timezone.now() + timezone.timedelta(
                        days=7)
                elif number == '2':
                    duration_of_penalty = timezone.now() + timezone.timedelta(
                        days=3)
                elif number == '1':
                    duration_of_penalty = timezone.now() + timezone.timedelta(
                        hours=6)

                moderate_obj.create_suspend(
                    manager_id=request.user.pk,
                    duration_of_penalty=duration_of_penalty)
                ModeratedLogs.objects.create(type=list[1],
                                             object_id=item.pk,
                                             manager=request.user.pk,
                                             action=list[3][1])
                item.suspend_item()
                abort_suspended.apply_async(args=(list[1], ),
                                            eta=duration_of_penalty)
            elif case == "warning_banner":
                moderate_obj.status = Moderated.BANNER_GET
                moderate_obj.description = mod.description
                moderate_obj.save()
                moderate_obj.create_warning_banner(manager_id=request.user.pk)
                ModeratedLogs.objects.create(type=list[1],
                                             object_id=item.pk,
                                             manager=request.user.pk,
                                             action=31)
                item.banner_item()
            return HttpResponse()
        else:
            return HttpResponseBadRequest()
コード例 #11
0
 def get_queryset(self):
     return Moderated.get_moderation_survey()
コード例 #12
0
 def get_queryset(self):
     return Moderated.get_moderation_communities()
コード例 #13
0
 def get_queryset(self):
     return Moderated.get_moderation_elect_news()
コード例 #14
0
 def get_queryset(self):
     return Moderated.get_moderation_docs()
コード例 #15
0
 def get_queryset(self):
     return Moderated.get_moderation_videos()
コード例 #16
0
 def get_queryset(self):
     return Moderated.get_moderation_audios()
コード例 #17
0
 def get_queryset(self):
     return Moderated.get_moderation_photos()
コード例 #18
0
 def get_queryset(self):
     return Moderated.get_moderation_blog()