def document_form_view(request,
                       runcode,
                       qs,
                       template_name='documents_upload_form.html'):

    qsets, name, db_owners, fingerprint_ttype = createqsets(runcode,
                                                            getAnswers=False)

    if fingerprint_ttype == "":
        raise "There is missing ttype of questionarie, something is really wrong"

    apiinfo = json.dumps(get_api_info(runcode))
    owner_fingerprint = False
    for owner in db_owners.split(" "):
        #print owner
        #print request.user.username
        if (owner == request.user.username):
            owner_fingerprint = True

    return render(
        request, template_name, {
            'request': request,
            'qsets': qsets,
            'export_bd_answers': True,
            'apiinfo': apiinfo,
            'fingerprint_id': runcode,
            'breadcrumb': True,
            'breadcrumb_name': name.decode('ascii', 'ignore'),
            'style': qs,
            'collapseall': False,
            'owner_fingerprint': True,
            'fingerprint_dump': True,
            'contains_population': False,
            'fingerprint_ttype': fingerprint_ttype,
        })
예제 #2
0
def document_form_view(request, runcode, qs, template_name='documents_upload_form.html'):

    qsets, name, db_owners, fingerprint_ttype = createqsets(runcode, getAnswers=False)

    if fingerprint_ttype == "":
        raise "There is missing ttype of questionarie, something is really wrong"

    apiinfo = json.dumps(get_api_info(runcode));
    owner_fingerprint = False
    for owner in db_owners.split(" "):
        #print owner
        #print request.user.username
        if (owner == request.user.username):
            owner_fingerprint = True

    return render(request, template_name,
        {'request': request, 'qsets': qsets, 'export_bd_answers': True,
        'apiinfo': apiinfo, 'fingerprint_id': runcode,
                   'breadcrumb': True, 'breadcrumb_name': name.decode('ascii', 'ignore'),
                    'style': qs, 'collapseall': False,
                    'owner_fingerprint':True,
                    'fingerprint_dump': True,
                    'contains_population': False,
                    'fingerprint_ttype': fingerprint_ttype,
                    })
예제 #3
0
def document_form_view(request, runcode, qs, activetab='summary', readOnly=False, public_key = None,
    template_name='documents_upload_form.html'):

    h = None

    if "query" in request.session and "highlight_results" in request.session:
        h = request.session["highlight_results"]

    # GET fingerprint primary key (for comments)
    fingerprint = None

    try:
        fingerprint = Fingerprint.objects.get(fingerprint_hash=runcode)
        fingerprint_pk = fingerprint.id
    except:
        fingerprint_pk = 0
        raise Http404

    qsets, name, db_owners, fingerprint_ttype = createqsets(runcode, highlights=h)

    if fingerprint_ttype == "":
        raise "There is a missing type of questionnarie, something is really wrong"

    try:
        if (not request.user.is_anonymous()):
            eprofile = EmifProfile.objects.get(user=request.user)

            if eprofile.restricted == True:
                if not eprofile.has_permission(runcode):
                    raise PermissionDenied


    except EmifProfile.DoesNotExist:
        raise "-- ERROR: Couldn't get emif profile for user"


    apiinfo = json.dumps(get_api_info(runcode))
    owner_fingerprint = False

    for owner in db_owners.split(" "):
        #print request.user.username
        if (owner == request.user.username):
            owner_fingerprint = True

    query_old = None
    try:
        query_old = request.session.get('query', "")
    except:
        query_old = None

    name_bc = name
    try:
        name_bc = name.encode('utf-8')
    except:
        pass

    isAdvanced = None

    if(request.session.get('isAdvanced') == True):
        isAdvanced = True
    else:
        isAdvanced = False

    qsets = attachPermissions(runcode, qsets)

    jerboa_files = Characteristic.objects.filter(fingerprint_id=runcode).order_by('-latest_date')


    contains_population = False
    latest_pop = None
    if len(jerboa_files)!=0:
        contains_population = True
        latest_pop = jerboa_files[0]



    # Find if user has public links for this db.

    public_links = None

    if (owner_fingerprint or request.user.is_staff) and fingerprint != None:
        public_links = PublicFingerprintShare.objects.filter(user=request.user, fingerprint=fingerprint)

    # increase database hits
    hits = 0
    if fingerprint != None:
        hits = fingerprint.hits+1
        fingerprint.hits = hits
        fingerprint.save()

    subscription = False

    try:
        if (not request.user.is_anonymous()):
            subs = FingerprintSubscription.objects.get(user = request.user, fingerprint = fingerprint)

            subscription = not subs.removed

    except FingerprintSubscription.DoesNotExist:
        pass

    return render(request, template_name,
        {'request': request, 'qsets': qsets, 'export_bd_answers': True,
        'apiinfo': apiinfo, 'fingerprint_id': runcode,
                    'fingerprint': fingerprint,
                    'fingerprint_pk': fingerprint_pk,
                    'fingerprint_fill': int(round(fingerprint.fill)),
                   'breadcrumb': True, 'breadcrumb_name': name_bc.decode('utf-8'),
                    'style': qs, 'collapseall': False,
                    'owner_fingerprint':owner_fingerprint,
                    'owners': db_owners,
                    'owner_obj': fingerprint.owner,
                    'shared_obj': fingerprint.shared,
                    'fingerprint_dump': True,
                    'contains_population': contains_population,
                    'latest_pop': latest_pop,
                    'hide_add': True,
                    'fingerprint_ttype': fingerprint_ttype,
                    'search_old': query_old,
                    'isAdvanced': isAdvanced,
                    'activetab': activetab,
                    'readOnly': readOnly,
                    'public_link': public_links,
                    'public_key': public_key,
                    'hits': hits,
                    'subscription': subscription,
                    })
예제 #4
0
def document_form_view(request, runcode, qs, activetab='summary', readOnly=False, public_key = None,
    template_name='documents_upload_form.html'):

    h = None

    if "query" in request.session and "highlight_results" in request.session:
        h = request.session["highlight_results"]

    # GET fingerprint primary key (for comments)
    fingerprint = None

    try:
        fingerprint = Fingerprint.objects.get(fingerprint_hash=runcode)
        fingerprint_pk = fingerprint.id
    except:
        fingerprint_pk = 0
        raise Http404

    qsets, name, db_owners, fingerprint_ttype = createqsets(runcode, highlights=h)

    if fingerprint_ttype == "":
        raise "There is a missing type of questionnarie, something is really wrong"

    try:
        if (not request.user.is_anonymous()):
            eprofile = EmifProfile.objects.get(user=request.user)

            if eprofile.restricted == True:
                if not eprofile.has_permission(runcode):
                    raise PermissionDenied


    except EmifProfile.DoesNotExist:
        raise "-- ERROR: Couldn't get emif profile for user"


    apiinfo = json.dumps(get_api_info(runcode))
    owner_fingerprint = False

    for owner in db_owners.split(" "):
        #print request.user.username
        if (owner == request.user.username):
            owner_fingerprint = True

    query_old = None
    try:
        query_old = request.session.get('query', "")
    except:
        query_old = None

    name_bc = name
    try:
        name_bc = name.encode('utf-8')
    except:
        pass

    isAdvanced = None

    if(request.session.get('isAdvanced') == True):
        isAdvanced = True
    else:
        isAdvanced = False

    qsets = attachPermissions(runcode, qsets)

    jerboa_files = Characteristic.objects.filter(fingerprint_id=runcode).order_by('-latest_date')


    contains_population = False
    latest_pop = None
    if len(jerboa_files)!=0:
        contains_population = True
        latest_pop = jerboa_files[0]



    # Find if user has public links for this db.

    public_links = None

    if (owner_fingerprint or request.user.is_staff) and fingerprint != None:
        public_links = PublicFingerprintShare.objects.filter(user=request.user, fingerprint=fingerprint)

    # increase database hits
    hits = 0
    if fingerprint != None:
        hits = fingerprint.hits+1
        fingerprint.hits = hits
        fingerprint.save()

    subscription = False

    try:
        if (not request.user.is_anonymous()):
            subs = FingerprintSubscription.objects.get(user = request.user, fingerprint = fingerprint)

            subscription = not subs.removed

    except FingerprintSubscription.DoesNotExist:
        pass

    plugins = PluginVersion.all_valid(type=Plugin.DATABASE)

    return render(request, template_name,
        {'request': request, 'qsets': qsets, 'export_bd_answers': True,
        'apiinfo': apiinfo, 'fingerprint_id': runcode,
                    'fingerprint': fingerprint,
                    'fingerprint_pk': fingerprint_pk,
                    'fingerprint_fill': int(round(fingerprint.fill)),
                   'breadcrumb': True, 'breadcrumb_name': name_bc.decode('utf-8'),
                    'style': qs, 'collapseall': False,
                    'owner_fingerprint':owner_fingerprint,
                    'owners': db_owners,
                    'owner_obj': fingerprint.owner,
                    'shared_obj': fingerprint.shared,
                    'fingerprint_dump': True,
                    'contains_population': contains_population,
                    'latest_pop': latest_pop,
                    'hide_add': True,
                    'fingerprint_ttype': fingerprint_ttype,
                    'search_old': query_old,
                    'isAdvanced': isAdvanced,
                    'activetab': activetab,
                    'readOnly': readOnly,
                    'public_link': public_links,
                    'public_key': public_key,
                    'hits': hits,
                    'subscription': subscription,
                    'plugins': plugins
                    })