def get_success_url(self): self.filterset = self.get_filterset(self.filterset_class) from aristotle_mdr.utils.cached_querysets import register_queryset, get_queryset_from_uuid qs_uuid = register_queryset(self.filterset.qs, 60 * 60) get_queryset_from_uuid(qs_uuid) self.registration_authority = MDR.RegistrationAuthority.objects.get( id=self.kwargs['iid']) query = QueryDict(mutable=True) query['qs'] = qs_uuid query['title'] = "Data Dictionary for {}".format( self.registration_authority.name) url = reverse('aristotle:bulk_download', args=[self.download_type]) return url + '?' + query.urlencode()
def items_to_change(self): if bool(self.cleaned_data.get('all_in_queryset', False)): filters = {} from aristotle_mdr.utils.cached_querysets import get_queryset_from_uuid items = get_queryset_from_uuid(self.cleaned_data.get('qs', ""), MDR._concept) _slice = {"low": items.query.low_mark, "high": items.query.high_mark} items.query.low_mark = 0 items.query.high_mark = None items = items.filter(**filters).visible(self.user) items.query.set_limits(**_slice) else: items = self.cleaned_data.get('items') return items
def get_item_id_list(self): from aristotle_mdr.utils.cached_querysets import get_queryset_from_uuid id_strings = self.request.GET.getlist('items') qs_uuid = self.request.GET.get('qs') if qs_uuid: try: qs = get_queryset_from_uuid(qs_uuid) ids = list(qs.values_list('id', flat=True)) except ValueError: raise Http404("Queryset not found") else: try: ids = [int(id) for id in id_strings] except ValueError: raise Http404 return ids