コード例 #1
0
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})
コード例 #2
0
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