except ImportError, e:
import simplejson as json
-from django.contrib.csrf.middleware import csrf_exempt
+from django.views.decorators.csrf import csrf_exempt
from htsworkflow.frontend.auth import require_api_key
from htsworkflow.frontend.experiments.models import FlowCell, Lane, LANE_STATUS_MAP
-from htsworkflow.frontend.samples.changelist import ChangeList
+from htsworkflow.frontend.experiments.admin import LaneOptions
+from htsworkflow.frontend.samples.changelist import HTSChangeList
from htsworkflow.frontend.samples.models import Antibody, Library, Species, HTSUser
+from htsworkflow.frontend.samples.admin import LibraryOptions
from htsworkflow.frontend.samples.results import get_flowcell_result_dict
from htsworkflow.frontend.bcmagic.forms import BarcodeMagicForm
from htsworkflow.pipelines.runfolder import load_pipeline_run_xml
cl.result_count = unicode(cl.paginator._count)
return {'library_list': records }
+
def library(request, todo_only=False):
queryset = Library.objects.filter(hidden__exact=0)
+ filters = {'hidden__exact': 0}
if todo_only:
- queryset = queryset.filter(lane=None)
+ filters[lane] = None
# build changelist
- fcl = ChangeList(request, Library,
+ fcl = HTSChangeList(request, Library,
list_filter=['affiliations', 'library_species'],
search_fields=['id', 'library_name', 'amplified_from_sample__id'],
list_per_page=200,
- queryset=queryset
+ model_admin=LibraryOptions(Library, None),
+ extra_filters=filters
)
context = { 'cl': fcl, 'title': 'Library Index', 'todo_only': todo_only}
c = RequestContext(request, context)
return HttpResponse( t.render(c) )
+
def library_not_run(request):
return library(request, todo_only=True)
+
def library_to_flowcells(request, lib_id):
"""
Display information about all the flowcells a library has been run on.
if username is not None:
user = HTSUser.objects.get(username=username)
query.update({'library__affiliations__users__id':user.id})
- fcl = ChangeList(request, Lane,
+ fcl = HTSChangeList(request, Lane,
list_filter=[],
search_fields=['flowcell__flowcell_id', 'library__id', 'library__library_name'],
list_per_page=200,
+ model_admin=LaneOptions,
queryset=Lane.objects.filter(**query)
)
read = key.read-1 if key.read is not None else 0
try:
eland_summary.clusters = gerald_summary[read][key.lane].cluster
- except IndexError as e:
+ except (IndexError, KeyError) as e:
eland_summary.clustes = None
eland_summary.cycle_width = cycle_width
if hasattr(eland_summary, 'genome_map'):
for lane in lib.lane_set.all():
lane_info.append( {'flowcell':lane.flowcell.flowcell_id,
'lane_number': lane.lane_number,
+ 'lane_id': lane.id,
'paired_end': lane.flowcell.paired_end,
'read_length': lane.flowcell.read_length,
'status_code': lane.status,
context.update(SAMPLES_CONTEXT_DEFAULTS)
return render_to_response('registration/profile.html', context,
context_instance=RequestContext(request))
-
-