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 })
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)
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 })
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 })
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})
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},)