Processing
This commit is contained in:
		
							parent
							
								
									94d7143cd2
								
							
						
					
					
						commit
						60601beacb
					
				
					 8 changed files with 207 additions and 86 deletions
				
			
		
							
								
								
									
										0
									
								
								ccdb/processing/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								ccdb/processing/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										32
									
								
								ccdb/processing/admin.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								ccdb/processing/admin.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,32 @@
 | 
			
		|||
from django.contrib import admin
 | 
			
		||||
 | 
			
		||||
from .models import ProcessType, Reagent, Flaw
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ProcessTypeAdmin(admin.ModelAdmin):
 | 
			
		||||
    list_display = ('name', 'code', 'description', 'sort_order')
 | 
			
		||||
    list_display_links = ('name',)
 | 
			
		||||
    search_fields = ('name', 'code', 'description')
 | 
			
		||||
    list_per_page = 25
 | 
			
		||||
    fields = ('name', 'code', 'description', 'sort_order')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ReagentAdmin(admin.ModelAdmin):
 | 
			
		||||
    list_display = ('name', 'code', 'reagent_class', 'sort_order')
 | 
			
		||||
    list_display_links = ('name',)
 | 
			
		||||
    search_fields = ('name', 'code', 'reagent_class')
 | 
			
		||||
    list_per_page = 25
 | 
			
		||||
    fields = ('name', 'code', 'reagent_class', 'sort_order')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class FlawAdmin(admin.ModelAdmin):
 | 
			
		||||
    list_display = ('name', 'description', 'sort_order')
 | 
			
		||||
    list_display_links = ('name',)
 | 
			
		||||
    search_fields = ('name', 'description')
 | 
			
		||||
    list_per_page = 25
 | 
			
		||||
    fields = ('name', 'description')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
admin.site.register(ProcessType, ProcessTypeAdmin)
 | 
			
		||||
admin.site.register(Reagent, ReagentAdmin)
 | 
			
		||||
admin.site.register(Flaw, FlawAdmin)
 | 
			
		||||
							
								
								
									
										92
									
								
								ccdb/processing/migrations/0001_initial.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								ccdb/processing/migrations/0001_initial.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,92 @@
 | 
			
		|||
# -*- coding: utf-8 -*-
 | 
			
		||||
from __future__ import unicode_literals
 | 
			
		||||
 | 
			
		||||
from django.db import migrations, models
 | 
			
		||||
import autoslug.fields
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Migration(migrations.Migration):
 | 
			
		||||
 | 
			
		||||
    dependencies = [
 | 
			
		||||
        ('misc', '0001_initial'),
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    operations = [
 | 
			
		||||
        migrations.CreateModel(
 | 
			
		||||
            name='Flaw',
 | 
			
		||||
            fields=[
 | 
			
		||||
                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
 | 
			
		||||
                ('name', models.CharField(max_length=200)),
 | 
			
		||||
                ('description', models.CharField(blank=True, max_length=255)),
 | 
			
		||||
                ('sort_order', models.IntegerField(blank=True, null=True)),
 | 
			
		||||
                ('slug', autoslug.fields.AutoSlugField(populate_from='name', editable=False)),
 | 
			
		||||
            ],
 | 
			
		||||
            options={
 | 
			
		||||
                'ordering': ['sort_order'],
 | 
			
		||||
            },
 | 
			
		||||
        ),
 | 
			
		||||
        migrations.CreateModel(
 | 
			
		||||
            name='Processing',
 | 
			
		||||
            fields=[
 | 
			
		||||
                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
 | 
			
		||||
                ('container_label', models.CharField(max_length=50)),
 | 
			
		||||
                ('process_date', models.DateField(blank=True, null=True)),
 | 
			
		||||
                ('process_time', models.TimeField(blank=True, null=True)),
 | 
			
		||||
                ('reagent_volume', models.FloatField(blank=True, null=True)),
 | 
			
		||||
                ('minutes_in_reagent', models.IntegerField(blank=True, null=True)),
 | 
			
		||||
                ('container', models.ForeignKey(to='misc.Container')),
 | 
			
		||||
                ('flaw', models.ForeignKey(to='processing.Flaw', blank=True, null=True)),
 | 
			
		||||
                ('measurement_unit', models.ForeignKey(to='misc.MeasurementUnit', blank=True, null=True)),
 | 
			
		||||
            ],
 | 
			
		||||
        ),
 | 
			
		||||
        migrations.CreateModel(
 | 
			
		||||
            name='ProcessType',
 | 
			
		||||
            fields=[
 | 
			
		||||
                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
 | 
			
		||||
                ('name', models.CharField(max_length=100)),
 | 
			
		||||
                ('code', models.CharField(blank=True, max_length=10)),
 | 
			
		||||
                ('description', models.CharField(blank=True, max_length=255)),
 | 
			
		||||
                ('sort_order', models.IntegerField(blank=True, null=True)),
 | 
			
		||||
                ('slug', autoslug.fields.AutoSlugField(populate_from='name', editable=False)),
 | 
			
		||||
            ],
 | 
			
		||||
            options={
 | 
			
		||||
                'ordering': ['sort_order'],
 | 
			
		||||
            },
 | 
			
		||||
        ),
 | 
			
		||||
        migrations.CreateModel(
 | 
			
		||||
            name='Reagent',
 | 
			
		||||
            fields=[
 | 
			
		||||
                ('id', models.AutoField(primary_key=True, auto_created=True, verbose_name='ID', serialize=False)),
 | 
			
		||||
                ('name', models.CharField(max_length=100)),
 | 
			
		||||
                ('code', models.CharField(blank=True, max_length=10)),
 | 
			
		||||
                ('reagent_class', models.CharField(blank=True, max_length=50)),
 | 
			
		||||
                ('sort_order', models.IntegerField(blank=True, null=True)),
 | 
			
		||||
                ('slug', autoslug.fields.AutoSlugField(populate_from='name', editable=False)),
 | 
			
		||||
            ],
 | 
			
		||||
            options={
 | 
			
		||||
                'ordering': ['sort_order'],
 | 
			
		||||
            },
 | 
			
		||||
        ),
 | 
			
		||||
        migrations.AlterUniqueTogether(
 | 
			
		||||
            name='reagent',
 | 
			
		||||
            unique_together=set([('name', 'code')]),
 | 
			
		||||
        ),
 | 
			
		||||
        migrations.AlterUniqueTogether(
 | 
			
		||||
            name='processtype',
 | 
			
		||||
            unique_together=set([('name', 'code')]),
 | 
			
		||||
        ),
 | 
			
		||||
        migrations.AddField(
 | 
			
		||||
            model_name='processing',
 | 
			
		||||
            name='process_type',
 | 
			
		||||
            field=models.ForeignKey(to='processing.ProcessType'),
 | 
			
		||||
        ),
 | 
			
		||||
        migrations.AddField(
 | 
			
		||||
            model_name='processing',
 | 
			
		||||
            name='reagent',
 | 
			
		||||
            field=models.ForeignKey(to='processing.Reagent', blank=True, null=True),
 | 
			
		||||
        ),
 | 
			
		||||
        migrations.AlterUniqueTogether(
 | 
			
		||||
            name='processing',
 | 
			
		||||
            unique_together=set([('process_type', 'container', 'container_label', 'process_date', 'process_time', 'reagent')]),
 | 
			
		||||
        ),
 | 
			
		||||
    ]
 | 
			
		||||
							
								
								
									
										0
									
								
								ccdb/processing/migrations/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								ccdb/processing/migrations/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										66
									
								
								ccdb/processing/models.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								ccdb/processing/models.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,66 @@
 | 
			
		|||
from django.db import models
 | 
			
		||||
 | 
			
		||||
from autoslug import AutoSlugField
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ProcessType(models.Model):
 | 
			
		||||
    name = models.CharField(max_length=100)
 | 
			
		||||
    code = models.CharField(max_length=10, blank=True)
 | 
			
		||||
    description = models.CharField(max_length=255, blank=True)
 | 
			
		||||
    sort_order = models.IntegerField(blank=True, null=True)
 | 
			
		||||
    slug = AutoSlugField(populate_from='name')
 | 
			
		||||
 | 
			
		||||
    def __str__(self):
 | 
			
		||||
        return self.name
 | 
			
		||||
 | 
			
		||||
    class Meta:
 | 
			
		||||
        unique_together = ('name', 'code')
 | 
			
		||||
        ordering = ['sort_order']
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Reagent(models.Model):
 | 
			
		||||
    name = models.CharField(max_length=100)
 | 
			
		||||
    code = models.CharField(max_length=10, blank=True)
 | 
			
		||||
    reagent_class = models.CharField(max_length=50, blank=True)
 | 
			
		||||
    sort_order = models.IntegerField(blank=True, null=True)
 | 
			
		||||
    slug = AutoSlugField(populate_from='name')
 | 
			
		||||
 | 
			
		||||
    def __str__(self):
 | 
			
		||||
        return self.name
 | 
			
		||||
 | 
			
		||||
    class Meta:
 | 
			
		||||
        unique_together = ('name', 'code')
 | 
			
		||||
        ordering = ['sort_order']
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Flaw(models.Model):
 | 
			
		||||
    name = models.CharField(max_length=200)
 | 
			
		||||
    description = models.CharField(max_length=255, blank=True)
 | 
			
		||||
    sort_order = models.IntegerField(blank=True, null=True)
 | 
			
		||||
    slug = AutoSlugField(populate_from='name')
 | 
			
		||||
 | 
			
		||||
    def __str__(self):
 | 
			
		||||
        return self.name
 | 
			
		||||
 | 
			
		||||
    class Meta:
 | 
			
		||||
        ordering = ['sort_order']
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Processing(models.Model):
 | 
			
		||||
    process_type = models.ForeignKey(ProcessType)
 | 
			
		||||
    container = models.ForeignKey('misc.Container')
 | 
			
		||||
    container_label = models.CharField(max_length=50)
 | 
			
		||||
    process_date = models.DateField(blank=True, null=True)
 | 
			
		||||
    process_time = models.TimeField(blank=True, null=True)
 | 
			
		||||
    reagent = models.ForeignKey(Reagent, blank=True, null=True)
 | 
			
		||||
    reagent_volume = models.FloatField(blank=True, null=True)
 | 
			
		||||
    measurement_unit = models.ForeignKey('misc.MeasurementUnit', blank=True, null=True)
 | 
			
		||||
    minutes_in_reagent = models.IntegerField(blank=True, null=True)
 | 
			
		||||
    flaw = models.ForeignKey(Flaw, blank=True, null=True)
 | 
			
		||||
 | 
			
		||||
    def __str__(self):
 | 
			
		||||
        return "{process_date} {process_type} {container_label}".format(**self)
 | 
			
		||||
 | 
			
		||||
    class Meta:
 | 
			
		||||
        unique_together = ('process_type', 'container', 'container_label',
 | 
			
		||||
            'process_date', 'process_time', 'reagent')
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue