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')
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)
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)
+
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() ]))