Exemplo n.º 1
0
def page(request):

    if request.user.is_authenticated:
        isoInfo = det.convertToJson(c.IsolateHeaderPv)
        apHeader = getHeaders.getApHeaderAsJson()
        ccHeader = getHeaders.getCcHeaderAsJson()
        epiInfo = getHeaders.getEpiHeaderAsJson()
        locInfo = det.convertToJson(c.IsoMetaLocInfoPv)
        islnInfo = det.convertToJson(c.IsoMetaIslnInfoPv)
    else:
        isoInfo = det.convertToJson(c.IsolateHeaderPu)
        apHeader = getHeaders.getApHeaderAsJson()
        ccHeader = getHeaders.getCcHeaderAsJson()
        epiInfo = getHeaders.getEpiHeaderAsJson()
        locInfo = det.convertToJson(c.IsoMetaLocInfoPu)
        islnInfo = det.convertToJson(c.IsoMetaIslnInfoPu)

    return render(
        request, 'Salmonella/isolateList.html', {
            "isoHeader": isoInfo,
            "apHeader": apHeader,
            "ccHeader": ccHeader,
            "epiHeader": epiInfo,
            "locHeader": locInfo,
            "islnHeader": islnInfo
        })
Exemplo n.º 2
0
def page(request):
    # print("yes in this page...")
    if request.user.is_authenticated:
        isoInfo = det.convertToJson(c.IsolateHeaderPv)
        apHeader = getHeaders.getApHeaderAsJson()
        ccHeader = getHeaders.getCcHeaderAsJson()
        mgtInfo = det.convertToJson(c.MgtColsPv)
        epiInfo = getHeaders.getEpiHeaderAsJson()
        locInfo = det.convertToJson(c.IsoMetaLocInfoPv)
        islnInfo = det.convertToJson(c.IsoMetaIslnInfoPv)

    else:
        isoInfo = det.convertToJson(c.IsolateHeaderPu)
        apHeader = getHeaders.getApHeaderAsJson()
        ccHeader = getHeaders.getCcHeaderAsJson()
        mgtInfo = det.convertToJson(c.MgtColsPu)
        epiInfo = getHeaders.getEpiHeaderAsJson()
        locInfo = det.convertToJson(c.IsoMetaLocInfoPu)
        islnInfo = det.convertToJson(c.IsoMetaIslnInfoPu)

    isAp = True
    isDst = False
    isMgtColor = True
    if 'isAp' in request.POST and request.POST['isAp'] == "false":
        isAp = False
    if 'isDst' in request.POST and request.POST['isDst'] == 'true':
        isDst = True
    if 'isMgtColor' in request.POST and request.POST['isMgtColor'] == 'false':
        isMgtColor = False

    sessionVar = list()

    pageNumToGet = 1
    orderBy = None
    dir = None

    isCsv = False
    maxIsolatesPerPage = c.TOTAL_ISO_PER_PAGE

    searchAp = []
    searchCcEpi = []
    searchLocs = []
    searchIsln = []
    searchProj = []

    if (('orderBy' in request.POST and len(request.POST['orderBy']) > 0) or
        ('pageNumToGet' in request.POST and len(request.POST['pageNumToGet']) >
         0)) or ('isCsv' in request.POST and request.POST['isCsv'] == 'true'):

        sessionVar_json = request.session['sessionVar']
        sessionVar = json.loads(sessionVar_json)

        if sessionVar[0]['pageType'] != cl.SearchIsolateDetail:
            raise Http404()

        (searchAp, searchCcEpi, searchLocs, searchIsln,
         searchProj) = ses.loadSessionSearchVars_detail(sessionVar)

        if 'orderBy' in request.POST and len(request.POST['orderBy']) > 0:
            orderBy = request.POST['orderBy']
            dir = request.POST['dir']

            # update session with posted values
            sessionVar[0]['orderBy'] = orderBy
            sessionVar[0]['dir'] = dir

            pageNumToGet = ses.loadIfInSession(sessionVar, 'pageNumToGet', 1)

        if 'pageNumToGet' in request.POST and len(
                request.POST['pageNumToGet']) > 0:
            pageNumToGet = int(request.POST['pageNumToGet'])

            # update session with posted values
            sessionVar[0]['pageNumToGet'] = pageNumToGet

            orderBy = ses.loadIfInSession(sessionVar, 'orderBy', None)
            dir = ses.loadIfInSession(sessionVar, 'dir', None)

        if ('isCsv' in request.POST and request.POST['isCsv'] == 'true'):
            isCsv = True
            maxIsolatesPerPage = c.TOTAL_ISO_PER_DOWNLOAD

    elif ses.isASearchPresent_detail(request.POST):
        # a new search has been initiated
        sessionVar.append(dict())

        (searchAp, searchCcEpi, searchLocs, searchIsln,
         searchProj) = loadRequestSearchVars_detail(request.POST)

        sessionVar[0]['json_apSearchTerms'] = searchAp
        sessionVar[0]['json_ccEpiSearchTerms'] = searchCcEpi
        sessionVar[0]['json_location'] = searchLocs
        sessionVar[0]['json_isolation'] = searchIsln
        sessionVar[0]['json_project'] = searchProj

        sessionVar[0]['pageType'] = cl.SearchIsolateDetail

    else:
        raise Http404('Search variables not found!')

    json_sessionVar = json.dumps(sessionVar, cls=DjangoJSONEncoder)
    request.session['sessionVar'] = json_sessionVar

    # print("updated version")
    # print (searchVar)
    ###########################

    arr_ap = []
    arr_ccEpi = []
    arr_iso = []
    arr_isln = []
    arr_loc = []
    if searchAp:
        arr_ap = [searchAp]
    if searchCcEpi:
        arr_ccEpi = [searchCcEpi]
    if searchLocs:
        arr_loc = [searchLocs]
    if searchIsln:
        arr_isln = [searchIsln]
    if searchProj:
        projectId = Project.objects.get(identifier=searchProj['project']).id
        if not routeToRightFnAuth.isProjectByUser(projectId,
                                                  request.user.username):
            raise Http404("Error you dont have access to page. Go back.")
        searchProj['project'] = projectId
        arr_iso = [searchProj]

    if request.user.is_authenticated:

        (isoCount, isolates, dict_pageInfo,
         dict_mergedIds) = routeToRightFnAuth.getIsolatesFromRightFn(
             arr_ap, arr_ccEpi, [], arr_loc, arr_isln, arr_iso, pageNumToGet,
             maxIsolatesPerPage, request.user.username, True, orderBy, dir)
    else:

        (isoCount, isolates, dict_pageInfo,
         dict_mergedIds) = routeToRightFnAuth.getIsolatesFromRightFn(
             [searchAp], [searchCcEpi], [], [searchLocs], [searchIsln], [],
             pageNumToGet, maxIsolatesPerPage, None, None, orderBy, dir)

    mergedIds = det.convertToJson_dict(dict_mergedIds)

    if isCsv:
        outstring = makeCsv(isolates, request.user.is_authenticated)
        return HttpResponse(outstring)
    else:
        jsonIso = det.convertToJson(isolates)

        outdata = {
            "isolates": jsonIso,
            "isoCount": isoCount,
            "pageInfo": dict_pageInfo,
            "isAp": isAp,
            'isDst': isDst,
            'isMgtColor': isMgtColor,
            "colIsoId": c.IsolateId,
            "isoInfo": isoInfo,
            "apInfo": apHeader,
            "ccInfo": ccHeader,
            "mgtInfo": mgtInfo,
            "epiInfo": epiInfo,
            "locInfo": locInfo,
            "islnInfo": islnInfo,
            "mergedIds": mergedIds
        }

        return render(request, 'Salmonella/isolateTable.html', outdata)
Exemplo n.º 3
0
def page(request):

    sessionVar = list()

    pageNumToGet = 1
    orderBy = None
    dir = None

    isCsv = False
    maxIsolatesPerPage = c.TOTAL_ISO_PER_PAGE

    arr_ap = []
    arr_cc = []
    arr_epi = []
    arr_iso = []
    arr_isln = []
    arr_loc = []

    if (('orderBy' in request.POST and len(request.POST['orderBy']) > 0) or
        ('pageNumToGet' in request.POST and len(request.POST['pageNumToGet']) >
         0)) or ('isCsv' in request.POST and request.POST['isCsv'] == 'true'):

        # session var should be reused and updated
        sessionVar_json = request.session['sessionVar']
        sessionVar = json.loads(sessionVar_json)

        if sessionVar[0]['pageType'] != cl.SearchIsolateList:
            raise Http404()

        (arr_ap, arr_cc, arr_epi, arr_iso, arr_isln,
         arr_loc) = ses.loadSessionSearchVars(sessionVar)

        if 'orderBy' in request.POST and len(request.POST['orderBy']) > 0:
            orderBy = request.POST['orderBy']
            dir = request.POST['dir']

            # update session with posted values
            sessionVar[0]['orderBy'] = orderBy
            sessionVar[0]['dir'] = dir

            pageNumToGet = ses.loadIfInSession(sessionVar, 'pageNumToGet', 1)

        if 'pageNumToGet' in request.POST and len(
                request.POST['pageNumToGet']) > 0:
            pageNumToGet = int(request.POST['pageNumToGet'])

            # update session with posted values
            sessionVar[0]['pageNumToGet'] = pageNumToGet

            orderBy = ses.loadIfInSession(sessionVar, 'orderBy', None)
            dir = ses.loadIfInSession(sessionVar, 'dir', None)

        if ('isCsv' in request.POST and request.POST['isCsv'] == 'true'):
            isCsv = True
            maxIsolatesPerPage = c.TOTAL_ISO_PER_DOWNLOAD

    elif ses.isASearchPresent(request.POST):
        sessionVar.append(dict())

        (arr_ap, arr_cc, arr_epi, arr_iso, arr_isln,
         arr_loc) = ses.loadRequestSearchVars(request.POST)

        sessionVar[0]['arrAp'] = arr_ap
        sessionVar[0]['arrCc'] = arr_cc
        sessionVar[0]['arrEpi'] = arr_epi
        sessionVar[0]['arrIso'] = arr_iso
        sessionVar[0]['arrIsln'] = arr_isln
        sessionVar[0]['arrLoc'] = arr_loc

        sessionVar[0]['pageType'] = cl.SearchIsolateList
    else:
        raise Http404('No search variables found')

    json_sessionVar = json.dumps(sessionVar, cls=DjangoJSONEncoder)
    request.session['sessionVar'] = json_sessionVar

    ########################

    isAp = True
    isDst = False
    isMgtColor = True
    if 'isAp' in request.POST and request.POST['isAp'] == "false":
        isAp = False
    if 'isDst' in request.POST and request.POST['isDst'] == 'true':
        isDst = True
    if 'isMgtColor' in request.POST and request.POST['isMgtColor'] == 'false':
        isMgtColor = False

    # HEADERS
    if request.user.is_authenticated:
        isoInfo = det.convertToJson(c.IsolateHeaderPv)
        apHeader = getHeaders.getApHeaderAsJson()
        ccHeader = getHeaders.getCcHeaderAsJson()
        mgtInfo = det.convertToJson(c.MgtColsPv)
        epiInfo = getHeaders.getEpiHeaderAsJson()
        locInfo = det.convertToJson(c.IsoMetaLocInfoPv)
        islnInfo = det.convertToJson(c.IsoMetaIslnInfoPv)

        (isoCount, isolates, dict_pageInfo,
         dict_mergedIds) = routeToRightFnAuth.getIsolatesFromRightFn(
             arr_ap, arr_cc, arr_epi, arr_loc, arr_isln, arr_iso, pageNumToGet,
             maxIsolatesPerPage, request.user.username, False, orderBy, dir)

    else:
        isoInfo = det.convertToJson(c.IsolateHeaderPu)
        apHeader = getHeaders.getApHeaderAsJson()
        ccHeader = getHeaders.getCcHeaderAsJson()
        mgtInfo = det.convertToJson(c.MgtColsPu)
        epiInfo = getHeaders.getEpiHeaderAsJson()
        locInfo = det.convertToJson(c.IsoMetaLocInfoPu)
        islnInfo = det.convertToJson(c.IsoMetaIslnInfoPu)

        # print("is not authenticated")

        (isoCount, isolates, dict_pageInfo,
         dict_mergedIds) = routeToRightFnAuth.getIsolatesFromRightFn(
             arr_ap, arr_cc, arr_epi, arr_loc, arr_isln, arr_iso, pageNumToGet,
             maxIsolatesPerPage, None, False, orderBy, dir)

    mergedIds = det.convertToJson_dict(dict_mergedIds)

    # print(dict_mergedIds)

    if isCsv:
        outstring = makeCsv(isolates, request.user.is_authenticated)
        return HttpResponse(outstring)
    else:
        jsonIso = det.convertToJson(isolates)

        return render(
            request, 'Salmonella/isolateTable.html', {
                "isolates": jsonIso,
                "isoCount": isoCount,
                "pageInfo": dict_pageInfo,
                "isAp": isAp,
                'isDst': isDst,
                'isMgtColor': isMgtColor,
                "colIsoId": c.IsolateId,
                "isoInfo": isoInfo,
                "apInfo": apHeader,
                "ccInfo": ccHeader,
                "mgtInfo": mgtInfo,
                "epiInfo": epiInfo,
                "locInfo": locInfo,
                "islnInfo": islnInfo,
                "mergedIds": mergedIds
            })
Exemplo n.º 4
0
def page(request):

    sessionVar = list()

    pageNumToGet = 1
    orderBy = None
    dir = None

    isCsv = False
    maxIsolatesPerPage = c.TOTAL_ISO_PER_PAGE

    if (('orderBy' in request.POST and len(request.POST['orderBy']) > 0) or
        ('pageNumToGet' in request.POST and len(request.POST['pageNumToGet']) >
         0)) or ('isCsv' in request.POST and request.POST['isCsv'] == 'true'):
        # session var should be reused and updated
        sessionVar_json = request.session['sessionVar']
        sessionVar = json.loads(sessionVar_json)

        if sessionVar[0]['pageType'] != cl.InitialIsolates:
            raise Http404()

        if 'orderBy' in request.POST and len(request.POST['orderBy']) > 0:
            orderBy = request.POST['orderBy']
            dir = request.POST['dir']

            print(orderBy + " . ... . " + dir)
            # update session with posted values
            sessionVar[0]['orderBy'] = orderBy
            sessionVar[0]['dir'] = dir

            pageNumToGet = ses.loadIfInSession(sessionVar, 'pageNumToGet', 1)

        if 'pageNumToGet' in request.POST and len(
                request.POST['pageNumToGet']) > 0:
            pageNumToGet = int(request.POST['pageNumToGet'])

            # update session with posted values
            sessionVar[0]['pageNumToGet'] = pageNumToGet

            orderBy = ses.loadIfInSession(sessionVar, 'orderBy', None)
            dir = ses.loadIfInSession(sessionVar, 'dir', None)

        if ('isCsv' in request.POST and request.POST['isCsv'] == 'true'):
            isCsv = True
            maxIsolatesPerPage = c.TOTAL_ISO_PER_DOWNLOAD

    else:
        # load all public data
        sessionVar.append(dict())
        sessionVar[0]['pageType'] = cl.InitialIsolates

    json_sessionVar = json.dumps(sessionVar, cls=DjangoJSONEncoder)
    request.session['sessionVar'] = json_sessionVar

    ############################

    isoCount = 0
    dict_pageInfo = dict()
    isolates = []

    if request.user.is_authenticated:
        isoInfo = det.convertToJson(c.IsolateHeaderPv)
        apHeader = getHeaders.getApHeaderAsJson()
        ccHeader = getHeaders.getCcHeaderAsJson()
        mgtInfo = det.convertToJson(c.MgtColsPv)
        epiInfo = getHeaders.getEpiHeaderAsJson()
        locInfo = det.convertToJson(c.IsoMetaLocInfoPv)
        islnInfo = det.convertToJson(c.IsoMetaIslnInfoPv)

        (isoCount, isolates, dict_pageInfo,
         dict_mergedIds) = routeToRightFnAuth.getIsolatesFromRightFn(
             [], [], [], [], [], [], pageNumToGet, maxIsolatesPerPage,
             request.user.username, None, orderBy, dir)

    else:
        isoInfo = det.convertToJson(c.IsolateHeaderPu)
        apHeader = getHeaders.getApHeaderAsJson()
        ccHeader = getHeaders.getCcHeaderAsJson()
        mgtInfo = det.convertToJson(c.MgtColsPu)
        epiInfo = getHeaders.getEpiHeaderAsJson()
        locInfo = det.convertToJson(c.IsoMetaLocInfoPu)
        islnInfo = det.convertToJson(c.IsoMetaIslnInfoPu)

        (isoCount, isolates, dict_pageInfo,
         dict_mergedIds) = routeToRightFnAuth.getIsolatesFromRightFn(
             [], [], [], [], [], [], pageNumToGet, maxIsolatesPerPage, None,
             None, orderBy, dir)

    isAp = True
    isDst = False
    isMgtColor = True
    if 'isAp' in request.POST and request.POST['isAp'] == "false":
        isAp = False
    if 'isDst' in request.POST and request.POST['isDst'] == 'true':
        isDst = True
    if 'isMgtColor' in request.POST and request.POST['isMgtColor'] == 'false':
        isMgtColor = False

    # print ("is mgtcolor is " + str(isMgtColor) + " ... " + request.POST['isAp'])

    # print(' GETTING TO THE END!')
    if isCsv:
        outstring = makeCsv(isolates, request.user.is_authenticated)
        return HttpResponse(outstring)
    else:
        isolatesjson = det.convertToJson(isolates)

        return render(
            request, 'Salmonella/isolateTable.html', {
                "isolates": isolatesjson,
                "isoCount": isoCount,
                "pageInfo": dict_pageInfo,
                "isAp": isAp,
                "colIsoId": c.IsolateId,
                "isoInfo": isoInfo,
                "apInfo": apHeader,
                "ccInfo": ccHeader,
                "mgtInfo": mgtInfo,
                "epiInfo": epiInfo,
                "locInfo": locInfo,
                "islnInfo": islnInfo,
                "isDst": isDst,
                "isMgtColor": isMgtColor
            })
Exemplo n.º 5
0
def page(request):

	if not request.user.is_authenticated:
		raise Http404("You need to log in to view this page!")

	else:
		isoInfo = det.convertToJson(c.IsolateHeaderPv)
		apHeader = getHeaders.getApHeaderAsJson()
		ccHeader = getHeaders.getCcHeaderAsJson()
		mgtInfo = det.convertToJson(c.MgtColsPv)
		epiInfo = getHeaders.getEpiHeaderAsJson()
		locInfo = det.convertToJson(c.IsoMetaLocInfoPv)
		islnInfo = det.convertToJson(c.IsoMetaIslnInfoPv)

	sessionVar = list()

	pageNumToGet = 1
	orderBy = None
	dir = None

	isCsv = False;
	maxIsolatesPerPage = c.TOTAL_ISO_PER_PAGE


	arr_ap = []; arr_cc = []; arr_epi = []; arr_iso = []; arr_isln = []; arr_loc = [];



	if (('orderBy' in request.POST and len(request.POST['orderBy']) > 0) or ('pageNumToGet' in request.POST and len(request.POST['pageNumToGet']) > 0)) or ('isCsv' in request.POST and request.POST['isCsv'] == 'true'):
		# get variables from session
		sessionVar_json = request.session['sessionVar']
		sessionVar = json.loads(sessionVar_json)

		if sessionVar[0]['pageType'] != cl.SearchProjectDetail:
			raise Http404()


		(arr_ap, arr_cc, arr_epi, arr_iso, arr_isln, arr_loc) = ses.loadSessionSearchVars(sessionVar)
		projectId = sessionVar[0]['projectId']

		if 'orderBy' in request.POST and len(request.POST['orderBy']) > 0:
			orderBy = request.POST['orderBy']
			dir = request.POST['dir']

			# update session with posted values
			sessionVar[0]['orderBy'] = orderBy
			sessionVar[0]['dir'] = dir

			pageNumToGet = ses.loadIfInSession(sessionVar, 'pageNumToGet', 1)

		if 'pageNumToGet' in request.POST and len(request.POST['pageNumToGet']) > 0:
			pageNumToGet = int(request.POST['pageNumToGet'])

			# update session with posted values
			sessionVar[0]['pageNumToGet'] = pageNumToGet

			orderBy = ses.loadIfInSession(sessionVar, 'orderBy', None)
			dir = ses.loadIfInSession(sessionVar, 'dir', None)

		if ('isCsv' in request.POST and request.POST['isCsv'] == 'true'):
			isCsv = True;
			maxIsolatesPerPage = c.TOTAL_ISO_PER_DOWNLOAD


	elif 'projectId' in request.POST and len(request.POST['projectId']) > 0  and ses.isASearchPresent(request.POST):
		# a new search has been initiated
		sessionVar.append(dict())

		(arr_ap, arr_cc, arr_epi, arr_iso, arr_isln, arr_loc, projectId) = loadRequestSearchVars_proj(request.POST) # adds project id to arr_iso

		sessionVar[0]['arrAp'] = arr_ap
		sessionVar[0]['arrCc'] = arr_cc
		sessionVar[0]['arrEpi'] = arr_epi
		sessionVar[0]['arrIso'] = arr_iso
		sessionVar[0]['arrIsln'] = arr_isln
		sessionVar[0]['arrLoc'] = arr_loc
		sessionVar[0]['projectId'] = projectId

		sessionVar[0]['pageType'] = cl.SearchProjectDetail

	else:
	 	raise Http404("Desired vars not in search")

	# CHECK! if use has the right access rights

	if not Project.objects.filter(id=int(projectId),user=User.objects.get(userId=request.user)).exists():
		return Http404("Error: you dont have permission to access this page!")



	json_sessionVar = json.dumps(sessionVar, cls=DjangoJSONEncoder)
	request.session['sessionVar'] = json_sessionVar

	#########################

	isAp = True; isDst = False; isMgtColor = True;
	if 'isAp' in request.POST and request.POST['isAp'] == "false":
		isAp = False
	if 'isDst' in request.POST and request.POST['isDst'] == 'true':
		isDst = True
	if 'isMgtColor' in request.POST and request.POST['isMgtColor'] == 'false':
		isMgtColor = False


	(isoCount, isolates, dict_pageInfo, dict_mergedIds) = routeToRightFnAuth.getIsolatesFromRightFn(arr_ap, arr_cc, arr_epi, arr_loc, arr_isln, arr_iso, pageNumToGet, maxIsolatesPerPage, request.user.username, True, orderBy, dir)


	mergedIds = det.convertToJson_dict(dict_mergedIds)
	if isCsv:
		outstring = makeCsv(isolates,request.user.is_authenticated)
		return HttpResponse(outstring)
	else:
		jsonIso = det.convertToJson(isolates)

		return render(request, 'Salmonella/isolateTable.html', {"isolates": jsonIso, "IsolateId": c.IsolateId, "isAp": isAp, 'isDst': isDst, 'isMgtColor': isMgtColor, "colIsoId": c.IsolateId, "isoInfo": isoInfo, "apInfo": apHeader, "ccInfo": ccHeader, "mgtInfo": mgtInfo, "epiInfo": epiInfo, "locInfo": locInfo, "islnInfo": islnInfo, "isoCount": isoCount,  "pageInfo": dict_pageInfo, "mergedIds": mergedIds})
Exemplo n.º 6
0
def page(request, pk):

    userProjIds = list()

    if request.user.is_authenticated:
        isoInfo = det.convertToJson(c.IsolateHeaderPv)
        apHeader = getHeaders.getApHeaderAsJson()
        ccHeader = getHeaders.getCcHeaderAsJson()
        epiInfo = getHeaders.getEpiHeaderAsJson()
        locInfo = det.convertToJson(c.IsoMetaLocInfoPv)
        islnInfo = det.convertToJson(c.IsoMetaIslnInfoPv)
        projHeader = det.convertToJson(c.ProjHeaderPv)
        userProjIds = q.getUserProjectIds(request.user.username)

    else:
        isoInfo = det.convertToJson(c.IsolateHeaderPu)
        apHeader = getHeaders.getApHeaderAsJson()
        ccHeader = getHeaders.getCcHeaderAsJson()
        epiInfo = getHeaders.getEpiHeaderAsJson()
        locInfo = det.convertToJson(c.IsoMetaLocInfoPu)
        islnInfo = det.convertToJson(c.IsoMetaIslnInfoPu)
        projHeader = []

    # check pk refers to public strain, then return.

    isolate = None
    isoMgt = None
    json_isoMgt = {}
    isUserIso = False

    try:
        isolate = Isolate.objects.get(pk=pk)
    except Isolate.DoesNotExist:
        raise Http404("Isolate does not exist")

    if isolate.server_status == 'C' and isolate.assignment_status == 'A':
        print(str(isolate) + " !!")
        isoMgt = View_apcc.objects.get(mgt_id=isolate.mgt)

    if isoMgt:
        json_isoMgt = serializers.serialize('json', [isoMgt])

    if len(userProjIds) > 0:
        if isolate.project_id in userProjIds:
            isUserIso = True
            project = Project.objects.get(pk=isolate.project_id)

    return render(
        request, 'Salmonella/isolateDetail.html', {
            "isoHeader": isoInfo,
            "apHeader": apHeader,
            "ccHeader": ccHeader,
            "epiHeader": epiInfo,
            "locHeader": locInfo,
            "islnHeader": islnInfo,
            "isolate": isolate,
            "json_isoHgt": json_isoMgt,
            "projHeader": projHeader,
            "isUserIso": isUserIso
        }
    )  # {"isolate": isolate, "json_isoHgt": json_isoMgt }) # }) #  "similar_strains": qs_similarAps},)