예제 #1
0
 def dispatch(self, request, *args, **kwargs):
     try:
         self.mode = request.GET.get('m')
     except (TypeError, ValueError):
         pass
     
     return ListView.dispatch(self, request, *args, **kwargs)
예제 #2
0
 def dispatch(self, request, *args, **kwargs):
     try:
         self.mode = request.GET.get('m')
         self.ordering = request.GET.get('o')
     except (TypeError, ValueError):
         pass
     if self.mode == 'a': # return ajax/json
         self.paginate_by = 0
     
     return ListView.dispatch(self, request, *args, **kwargs)
예제 #3
0
파일: views.py 프로젝트: cassioalmeidas/cmj
    def dispatch(self, request, *args, **kwargs):
        self.object = None
        if 'pk' in self.kwargs:
            self.object = get_object_or_404(Classe, pk=self.kwargs['pk'])

            has_permission = self.has_permission()

            if not has_permission:
                if not request.user.is_superuser and \
                        self.object.visibilidade != Classe.STATUS_PUBLIC:
                    has_permission = False

                    # FIXME: refatorar e analisar apartir de self.object
                    pubs = Classe.objects.filter(
                        visibilidade=Classe.STATUS_PUBLIC).select_related(
                        'parent', 'parent__parent')
                    for pub in pubs:
                        parents = pub.parents
                        for p in parents[::-1]:
                            if p == self.object:
                                has_permission = True
                                break
                        if has_permission:
                            break

                    if not has_permission and not request.user.is_anonymous():
                        if (self.object.visibilidade ==
                                Classe.STATUS_PRIVATE and
                                self.object.owner != request.user):
                            has_permission = False
                        else:
                            pr = self.permission_required.split('.')
                            puc_list = PermissionsUserClasse.objects.filter(
                                user=request.user,
                                permission__content_type__app_label=pr[0],
                                permission__codename=pr[1]).select_related(
                                    'classe__parent', 'classe__parent__parent')
                            for puc in puc_list:
                                if puc.classe == self.object:
                                    has_permission = True
                                    break

                                parents = puc.classe.parents
                                for p in parents[::-1]:
                                    if p == self.object:
                                        has_permission = True
                                        break
                                if has_permission:
                                    break
                    if not has_permission:
                        return self.handle_no_permission()

        return ListView.dispatch(self, request, *args, **kwargs)
예제 #4
0
 def dispatch(self, request, *args, **kwargs):
     try:
         self.site = get_current_site(request)
         self.query = request.GET.get("q")
         self.type = request.GET.get("c")
         self.mode = request.GET.get('m')
         self.paginate_by = int(request.GET.get('s'))
         self.lang = request.LANGUAGE_CODE
     except (TypeError, ValueError):
         pass
     
     return ListView.dispatch(self, request, *args, **kwargs)
예제 #5
0
파일: views.py 프로젝트: cmjatai/cmj
    def dispatch(self, request, *args, **kwargs):
        self.object = None
        if 'pk' in self.kwargs:
            self.object = get_object_or_404(Classe, pk=self.kwargs['pk'])

            has_permission = self.has_permission()

            if not has_permission:
                if not request.user.is_superuser and \
                        self.object.visibilidade != Classe.STATUS_PUBLIC:
                    has_permission = False

                    # FIXME: refatorar e analisar apartir de self.object
                    pubs = Classe.objects.filter(
                        visibilidade=Classe.STATUS_PUBLIC).select_related(
                        'parent', 'parent__parent')
                    for pub in pubs:
                        parents = pub.parents
                        for p in parents[::-1]:
                            if p == self.object:
                                has_permission = True
                                break
                        if has_permission:
                            break

                    if not has_permission and not request.user.is_anonymous():
                        if (self.object.visibilidade ==
                                Classe.STATUS_PRIVATE and
                                self.object.owner != request.user):
                            has_permission = False
                        else:
                            pr = self.permission_required.split('.')
                            puc_list = PermissionsUserClasse.objects.filter(
                                user=request.user,
                                permission__content_type__app_label=pr[0],
                                permission__codename=pr[1]).select_related(
                                    'classe__parent', 'classe__parent__parent')
                            for puc in puc_list:
                                if puc.classe == self.object:
                                    has_permission = True
                                    break

                                parents = puc.classe.parents
                                for p in parents[::-1]:
                                    if p == self.object:
                                        has_permission = True
                                        break
                                if has_permission:
                                    break
                    if not has_permission:
                        return self.handle_no_permission()

        return ListView.dispatch(self, request, *args, **kwargs)
예제 #6
0
 def dispatch(self, request, *args, **kwargs):
     return ListView.dispatch(self, request, *args, **kwargs)
예제 #7
0
파일: views.py 프로젝트: cmjatai/cmj
 def dispatch(self, request, *args, **kwargs):
     return ListView.dispatch(self, request, *args, **kwargs)