from htsworkflow.frontend.samples.changelist import ChangeList
from htsworkflow.frontend.samples.models import Library
from htsworkflow.frontend.samples.results import get_flowcell_result_dict, parse_flowcell_id
+from htsworkflow.frontend.bcmagic.forms import BarcodeMagicForm
from htsworkflow.pipelines.runfolder import load_pipeline_run_xml
from htsworkflow.pipelines import runfolder
+from htsworkflow.pipelines.eland import ResultLane
from htsworkflow.frontend import settings
from htsworkflow.util import makebed
from htsworkflow.util import opener
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.template.loader import get_template
+from django.contrib.auth.decorators import login_required
import StringIO
import logging
import os
LANE_LIST = [1,2,3,4,5,6,7,8]
+SAMPLES_CONTEXT_DEFAULTS = {
+ 'app_name': 'Flowcell/Library Tracker',
+ 'bcmagic': BarcodeMagicForm()
+}
def create_library_context(cl):
"""
context.update(create_library_context(fcl))
t = get_template('samples/library_index.html')
c = RequestContext(request, context)
- return HttpResponse( t.render(c) )
+
+ app_context = {
+ 'page_name': 'Library Index',
+ 'east_region_config_div': 'changelist-filter',
+ 'body': t.render(c)
+ }
+ app_context.update(SAMPLES_CONTEXT_DEFAULTS)
+
+ app_t = get_template('flowcell_libraries_app.html')
+ app_c = RequestContext(request, app_context)
+ return HttpResponse( app_t.render(app_c) )
def library_to_flowcells(request, lib_id):
"""
eland_results.extend(_make_eland_results(fc, lane, interesting_flowcells))
lane_summary_list.extend(lane_summary)
+ context = {
+ 'page_name': 'Library Details',
+ 'lib': lib,
+ 'eland_results': eland_results,
+ 'lane_summary_list': lane_summary_list,
+ }
+ context.update(SAMPLES_CONTEXT_DEFAULTS)
+
return render_to_response(
'samples/library_detail.html',
- {'lib': lib,
- 'eland_results': eland_results,
- 'lane_summary_list': lane_summary_list,
- },
+ context,
context_instance = RequestContext(request))
def summaryhtm_fc_cnm(request, flowcell_id, cnm):
run = load_pipeline_run_xml(xmlpath)
gerald_summary = run.gerald.summary.lane_results
for end in range(len(gerald_summary)):
- eland_summary = run.gerald.eland_results.results[end][lane_id]
+ end_summary = run.gerald.eland_results.results[end]
+ if end_summary.has_key(lane_id):
+ eland_summary = run.gerald.eland_results.results[end][lane_id]
+ else:
+ eland_summary = ResultLane(lane_id=lane_id, end=end)
# add information to lane_summary
eland_summary.flowcell_id = flowcell_id
eland_summary.clusters = gerald_summary[end][lane_id].cluster
if cur_fc is None:
return []
+ flowcell = FlowCell.objects.get(flowcell_id=flowcell_id)
# Loop throw storage devices if a result has been archived
storage_id_list = []
- for lts in cur_fc.longtermstorage_set.all():
- for sd in lts.storage_devices.all():
- # Use barcode_id if it exists
- if sd.barcode_id is not None and sd.barcode_id != '':
- storage_id_list.append(sd.barcode_id)
- # Otherwise use UUID
- else:
- storage_id_list.append(sd.uuid)
-
+ if cur_fc is not None:
+ for lts in flowcell.longtermstorage_set.all():
+ for sd in lts.storage_devices.all():
+ # Use barcode_id if it exists
+ if sd.barcode_id is not None and sd.barcode_id != '':
+ storage_id_list.append(sd.barcode_id)
+ # Otherwise use UUID
+ else:
+ storage_id_list.append(sd.uuid)
+
# Formatting for template use
if len(storage_id_list) == 0:
storage_ids = None
lib = Library.objects.get(library_id=lib_id)
return HttpResponseRedirect('/admin/samples/library/%s' % (lib.id,))
+@login_required
+def user_profile(request):
+ """
+ Information about the user
+ """
+ context = {
+ 'page_name': 'User Profile',
+ 'media': '',
+ #'bcmagic': BarcodeMagicForm(),
+ #'select': 'settings',
+ }
+ context.update(SAMPLES_CONTEXT_DEFAULTS)
+ return render_to_response('registration/profile.html', context,
+ context_instance=RequestContext(request))