Initial port to python3
[htsworkflow.git] / htsworkflow / frontend / inventory / views.py
index 15101804d93e8feadc7cbdd35dd7234622ec6dd0..226ef8a36674a2f65e12f1c05067fa1261811804 100644 (file)
@@ -1,5 +1,6 @@
-from htsworkflow.frontend.samples.changelist import ChangeList
+from htsworkflow.frontend.samples.changelist import HTSChangeList
 from htsworkflow.frontend.inventory.models import Item, LongTermStorage, ItemType
+from htsworkflow.frontend.inventory.admin import ItemAdmin, ItemTypeAdmin
 from htsworkflow.frontend.inventory.bcmagic import item_search
 from htsworkflow.frontend.bcmagic.plugin import register_search_plugin
 from htsworkflow.frontend.experiments.models import FlowCell
@@ -18,7 +19,7 @@ register_search_plugin('Inventory Item', item_search)
 
 try:
     import json
-except ImportError, e:
+except ImportError as e:
     import simplejson as json
 
 INVENTORY_CONTEXT_DEFAULTS = {
@@ -87,7 +88,7 @@ def getPrinterTemplateByType(item_type):
             printer_template = PrinterTemplate.objects.get(default=True)
         except ObjectDoesNotExist:
             msg = "No template for item type (%s) and no default template found" % (item_type.name)
-            raise ValueError, msg
+            raise ValueError(msg)
 
         return printer_template
 
@@ -138,11 +139,11 @@ def all_index(request):
     Inventory Index View
     """
     # build changelist
-    item_changelist = ChangeList(request, Item,
+    item_changelist = HTSChangeList(request, Item,
         list_filter=[],
         search_fields=[],
         list_per_page=200,
-        queryset=Item.objects.all()
+        model_admin=ItemAdmin(Item, None)
     )
 
     context_dict = {
@@ -161,11 +162,11 @@ def index(request):
     Inventory Index View
     """
     # build changelist
-    item_changelist = ChangeList(request, Item,
+    item_changelist = HTSChangeList(request, ItemType,
         list_filter=[],
-        search_fields=['name'],
+        search_fields=['name', 'description'],
         list_per_page=50,
-        queryset=ItemType.objects.all()
+        model_admin=ItemTypeAdmin(ItemType, None)
     )
 
     context_dict = {
@@ -173,7 +174,6 @@ def index(request):
         'page_name': 'Inventory Index'
     }
     context_dict.update(INVENTORY_CONTEXT_DEFAULTS)
-
     return render_to_response('inventory/inventory_index.html',
                               context_dict,
                               context_instance=RequestContext(request))
@@ -189,11 +189,11 @@ def itemtype_index(request, name):
     itemtype = ItemType.objects.get(name=name)
 
     # build changelist
-    item_changelist = ChangeList(request, Item,
+    item_changelist = HTSChangeList(request, Item,
         list_filter=[],
         search_fields=[],
         list_per_page=200,
-        queryset=itemtype.item_set.all()
+        model_admin=ItemAdmin(Item, None)
     )
 
     context_dict = {
@@ -214,7 +214,7 @@ def item_summary_by_barcode(request, barcode_id, msg=''):
     """
     try:
         item = Item.objects.get(barcode_id=barcode_id)
-    except ObjectDoesNotExist, e:
+    except ObjectDoesNotExist as e:
         item = None
 
     return item_summary_by_uuid(request, None, msg, item)
@@ -229,7 +229,7 @@ def item_summary_by_uuid(request, uuid, msg='', item=None):
     if item is None:
         try:
             item = Item.objects.get(uuid=uuid)
-        except ObjectDoesNotExist, e:
+        except ObjectDoesNotExist as e:
             item = None
 
     context_dict = {
@@ -289,7 +289,7 @@ def item_print(request, uuid):
     """
     try:
         item = Item.objects.get(uuid=uuid)
-    except ObjectDoesNotExist, e:
+    except ObjectDoesNotExist as e:
         item = None
         msg = "Item with UUID %s does not exist" % (uuid)
 
@@ -314,15 +314,15 @@ def link_flowcell_and_device(request, flowcell, serial):
     # Retrieve Storage Device
     try:
         sd = Item.objects.get(barcode_id=serial)
-    except ObjectDoesNotExist, e:
+    except ObjectDoesNotExist as e:
         msg = "Item with barcode_id of %s not found." % (serial)
         raise ObjectDoesNotExist(msg)
 
     ###########################################
     # Retrieve FlowCell
     try:
-        fc = FlowCell.objects.get(flowcell_id=flowcell)
-    except ObjectDoesNotExist, e:
+        fc = FlowCell.objects.get(flowcell_id__startswith=flowcell)
+    except ObjectDoesNotExist as e:
         msg = "FlowCell with flowcell_id of %s not found." % (flowcell)
         raise ObjectDoesNotExist(msg)
 
@@ -332,7 +332,7 @@ def link_flowcell_and_device(request, flowcell, serial):
     lts = None
     if count > 1:
         msg = "There really should only be one longtermstorage object per flowcell"
-        raise ValueError, msg
+        raise ValueError(msg)
     elif count == 1:
         # lts already attached to flowcell
         lts = fc.longtermstorage_set.all()[0]