def test_bulk_workgroup_change_with_all_from_workgroup_list(self): #phew thats one hell of a test name from aristotle_mdr.utils.cached_querysets import register_queryset self.new_workgroup = models.Workgroup.objects.create(name="new workgroup") self.new_workgroup.submitters.add(self.editor) self.login_editor() self.assertTrue(self.item1.concept not in self.new_workgroup.items.all()) self.assertTrue(self.item2.concept not in self.new_workgroup.items.all()) self.assertTrue(self.item4.concept not in self.new_workgroup.items.all()) qs = self.wg1.items.all() response = self.client.post( reverse('aristotle:bulk_action'), { 'bulkaction': 'aristotle_mdr.forms.bulk_actions.ChangeWorkgroupForm', 'items': qs, 'workgroup': [self.new_workgroup.id], "confirmed": True, 'qs': register_queryset(qs), 'all_in_queryset': True }, follow=True ) self.assertTrue(self.item1.concept in self.new_workgroup.items.all()) self.assertTrue(self.item2.concept in self.new_workgroup.items.all()) self.assertTrue(self.item4.concept not in self.new_workgroup.items.all()) self.logout() self.login_superuser() qs = self.new_workgroup.items.all() self.client.post( reverse('aristotle:bulk_action'), { 'bulkaction': 'aristotle_mdr.forms.bulk_actions.ChangeWorkgroupForm', 'items': [], 'workgroup': [self.wg1.pk], "confirmed": True, 'qs': register_queryset(qs), 'all_in_queryset': True }, follow=True ) self.assertTrue(self.item1.concept in self.wg1.items.all()) self.assertTrue(self.item2.concept in self.wg1.items.all()) self.assertTrue(self.item4.concept not in self.wg1.items.all())
def test_bulk_workgroup_change_with_all_from_workgroup_list(self): #phew thats one hell of a test name from aristotle_mdr.utils.cached_querysets import register_queryset self.new_workgroup = models.Workgroup.objects.create( name="new workgroup") self.new_workgroup.submitters.add(self.editor) self.login_editor() self.assertTrue( self.item1.concept not in self.new_workgroup.items.all()) self.assertTrue( self.item2.concept not in self.new_workgroup.items.all()) self.assertTrue( self.item4.concept not in self.new_workgroup.items.all()) qs = self.wg1.items.all() response = self.client.post(reverse('aristotle:bulk_action'), { 'bulkaction': 'aristotle_mdr.forms.bulk_actions.ChangeWorkgroupForm', 'items': qs, 'workgroup': [self.new_workgroup.id], "confirmed": True, 'qs': register_queryset(qs), 'all_in_queryset': True }, follow=True) self.assertTrue(self.item1.concept in self.new_workgroup.items.all()) self.assertTrue(self.item2.concept in self.new_workgroup.items.all()) self.assertTrue( self.item4.concept not in self.new_workgroup.items.all()) self.logout() self.login_superuser() qs = self.new_workgroup.items.all() response = self.client.post(reverse('aristotle:bulk_action'), { 'bulkaction': 'aristotle_mdr.forms.bulk_actions.ChangeWorkgroupForm', 'items': [], 'workgroup': [self.wg1.pk], "confirmed": True, 'qs': register_queryset(qs), 'all_in_queryset': True }, follow=True) self.assertTrue(self.item1.concept in self.wg1.items.all()) self.assertTrue(self.item2.concept in self.wg1.items.all()) self.assertTrue(self.item4.concept not in self.wg1.items.all())
def build_downloaders(self, queryset): downloaders = fetch_aristotle_downloaders() from aristotle_mdr.utils.cached_querysets import register_queryset qs_uuid = register_queryset(self.filterset.qs.order_by('name'), 60 * 60) options: list = [] ids = [concept.id for concept in queryset] state_map = {v: k for k, v in MDR.STATES._identifier_map.items()} filter_kwargs = self.get_filterset_kwargs(self.filterset_class)['data'] for dl in downloaders: query = QueryDict(mutable=True) url = '{url}?{qstring}'.format(url=reverse( 'aristotle:registrationauthority_data_dictionary_download_options', kwargs={ "iid": self.registration_authority.pk, "download_type": dl.download_type, "state_name": state_map[int(filter_kwargs['status'])], "registration_date": filter_kwargs['registration_date'] }), qstring=query.urlencode()) options.append({'label': dl.label, 'url': url}) return options
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 register_queryset(qs): from aristotle_mdr.utils.cached_querysets import register_queryset return register_queryset(qs)