def find_records_without_media(request): available_storage = get_list_or_404(filter_by_access(request.user, Storage, manage=True).order_by('title').values_list('id', 'title')) available_collections = get_list_or_404(filter_by_access(request.user, Collection, manage=True)) class SelectionForm(forms.Form): collection = forms.ChoiceField(choices=((c.id, c.title) for c in sorted(available_collections, key=lambda c: c.title))) storage = forms.ChoiceField(choices=available_storage) identifiers = records = [] analyzed = False if request.method == 'POST': form = SelectionForm(request.POST) if form.is_valid(): collection = get_object_or_404(filter_by_access(request.user, Collection.objects.filter(id=form.cleaned_data['collection']), manage=True)) storage = get_object_or_404(filter_by_access(request.user, Storage.objects.filter(id=form.cleaned_data['storage']), manage=True)) records = analyze_records(collection, storage) analyzed = True identifiers = FieldValue.objects.filter(field__in=standardfield('identifier', equiv=True), record__in=records).order_by('value').values_list('value', flat=True) else: form = SelectionForm(request.GET) return render_to_response('storage_find_records_without_media.html', {'form': form, 'identifiers': identifiers, 'records': records, 'analyzed': analyzed, }, context_instance=RequestContext(request))
def testAnalyzeCollection(self): empty = analyze_records(self.collection, self.storage) self.assertEqual(2, len(empty)) titles = sorted(e.title for e in empty) self.assertEqual('id_missing_other', titles[0]) self.assertEqual('id_no_media', titles[1])
def testAnalyzeCollection(self): no_signals() empty = analyze_records(self.collection, self.storage) self.assertEqual(2, len(empty)) titles = sorted(e.title for e in empty) self.assertEqual('id_missing_other', titles[0]) self.assertEqual('id_no_media', titles[1])