From 753584c653403e158bf3b830ef1f1489adb61148 Mon Sep 17 00:00:00 2001 From: Brandon King Date: Sat, 11 Jul 2009 00:03:01 +0000 Subject: [PATCH] Adding ReagentLibrary & ReagentFlowcell tables in Inventory App. --- htsworkflow/frontend/inventory/admin.py | 11 ++++++++- htsworkflow/frontend/inventory/models.py | 31 ++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/htsworkflow/frontend/inventory/admin.py b/htsworkflow/frontend/inventory/admin.py index 4e17177..7d9d537 100644 --- a/htsworkflow/frontend/inventory/admin.py +++ b/htsworkflow/frontend/inventory/admin.py @@ -1,6 +1,6 @@ from django.contrib import admin -from htsworkflow.frontend.inventory.models import Item, ItemInfo, ItemType, Vendor, Location, LongTermStorage, ItemStatus +from htsworkflow.frontend.inventory.models import Item, ItemInfo, ItemType, Vendor, Location, LongTermStorage, ItemStatus, ReagentFlowcell, ReagentLibrary class ItemAdmin(admin.ModelAdmin): list_display = ('uuid', 'barcode_id','item_type', 'item_info', 'location', 'force_use_uuid', 'creation_date') @@ -26,6 +26,12 @@ class LongTermStorageAdmin(admin.ModelAdmin): class ItemStatusAdmin(admin.ModelAdmin): pass +class ReagentFlowcellAdmin(admin.ModelAdmin): + pass + +class ReagentLibraryAdmin(admin.ModelAdmin): + pass + admin.site.register(Item, ItemAdmin) admin.site.register(ItemInfo, ItemInfoAdmin) admin.site.register(ItemType, ItemTypeAdmin) @@ -33,3 +39,6 @@ admin.site.register(Vendor, VendorAdmin) admin.site.register(Location, LocationAdmin) admin.site.register(LongTermStorage, LongTermStorageAdmin) admin.site.register(ItemStatus, ItemStatusAdmin) +admin.site.register(ReagentFlowcell, ReagentFlowcellAdmin) +admin.site.register(ReagentLibrary, ReagentLibraryAdmin) + diff --git a/htsworkflow/frontend/inventory/models.py b/htsworkflow/frontend/inventory/models.py index e98bd5e..456db7c 100644 --- a/htsworkflow/frontend/inventory/models.py +++ b/htsworkflow/frontend/inventory/models.py @@ -138,4 +138,35 @@ class LongTermStorage(models.Model): def __unicode__(self): return u"%s: %s" % (str(self.flowcell), ', '.join([ str(s) for s in self.storage_devices.iterator() ])) + + +class ReagentBase(models.Model): + + reagent = models.ManyToManyField(Item) + + creation_date = models.DateTimeField(auto_now_add=True) + modified_date = models.DateTimeField(auto_now=True) + + class Meta: + abstract = True + + +class ReagentFlowcell(ReagentBase): + """ + Links reagents and flowcells + """ + flowcell = models.ForeignKey(FlowCell) + + def __unicode__(self): + return u"%s: %s" % (str(self.flowcell), ', '.join([ str(s) for s in self.reagent.iterator() ])) + + +class ReagentLibrary(ReagentBase): + """ + Links libraries and flowcells + """ + library = models.ForeignKey(Library) + + def __unicode__(self): + return u"%s: %s" % (str(self.library), ', '.join([ str(s) for s in self.reagent.iterator() ])) -- 2.30.2