def fingerprint_list(request, template_name='fingerprints.html', added=False): if not config.private_links or not request.user.is_authenticated(): raise Http404 alink = request.session.get('created_public_link') dlink = request.session.get('deleted_public_link') try: del request.session['created_public_link'] del request.session['deleted_public_link'] except: pass request.session.modified = True links_query = PublicFingerprintShare.objects.filter(user=request.user) own_dbs = Fingerprint.objects.filter(owner=request.user) shared_dbs = Fingerprint.objects.filter(shared=request.user) links = [] linkedfingerprints = [] # This is a bother, must find names since they are not readily available anywhere... I reiterate i think the name # should be linked somehow to the fingerprint object directly... for link in links_query: remove = shouldDelete(link) if remove: link.delete() continue this_fingerprint = link.fingerprint linkedfingerprints.append(this_fingerprint.id) name = this_fingerprint.findName() links.append({'name': name, 'share': link}) intersection = own_dbs | shared_dbs #intersection_clean = intersection.filter(~Q(id__in=linkedfingerprints)) intersection_wnames = [] for o in intersection: name = o.findName() intersection_wnames.append({'name': name, 'fingerprint': o}) return render(request, template_name, {'request': request, 'links': links, 'create_public': True, 'own_dbs': intersection_wnames, 'hide_add': True, 'breadcrumb': True, 'added': alink, 'deleted': dlink})
def fingerprint(request, fingerprintshare_id, template_name='fingerprint_summary.html'): try: fingerprintshare = PublicFingerprintShare.objects.get(hash = fingerprintshare_id) remove = shouldDelete(fingerprintshare) if remove: fingerprintshare.delete() raise Http404 fingerprintshare.remaining_views=fingerprintshare.remaining_views-1; fingerprintshare.save() return document_form_view(request, fingerprintshare.fingerprint.fingerprint_hash, 1, readOnly=True, public_key=fingerprintshare) except PublicFingerprintShare.DoesNotExist: print "Fingerprint with id "+str(fingerprintshare_id) + " does not exist." raise Http404