from django.db.models import signals
from django.contrib.auth.models import User, Group
+from samplebc import settings
+
+
#AUDIT_TYPES = [('Create', 'Create'),
# ('Update', 'Update'),
# ('Delete', 'Delete')]
class Container(models.Model):
- name = models.CharField(max_length=256)
+ name = models.CharField(max_length=256, unique=True)
sample_type = models.ManyToManyField(SampleType)
max_items = models.IntegerField()
freezer = models.ForeignKey(Freezer)
class Sample(models.Model):
- name = models.CharField(max_length=256)
+ name = models.CharField(max_length=256, unique=True)
+ #sampleid = models.CharField(max_length=64, unique=True)
sampleid = models.CharField(max_length=64, unique=True)
sample_type = models.ForeignKey(SampleType)
owner = models.ForeignKey(Owner)
def get_absolute_url(self):
return ('samplebc.samples.views.sample_summary', [str(self.sampleid)])
+def assign_sample_id(sender, instance, **kwargs):
+
+ print 'Instance ID: %s' % (instance.id)
+ if instance.sampleid is None or len(instance.sampleid) == 0:
+ instance.sampleid = settings.HTSW_SAMPLE_ID_TEMPLATE % (instance.id)
+ instance.save()
+
+signals.post_save.connect(assign_sample_id, sender=Sample)
+