f8d45d0789695b35df9c93deca0f460e4dcf220f
[htsworkflow.git] / htsworkflow / frontend / samples / admin.py
1 from htsworkflow.frontend.samples.models import Antibody, Cellline, Condition, Species, Affiliation, Library, Tag
2 from django.contrib import admin
3 from django.utils.translation import ugettext_lazy as _
4
5 class Library_Inline(admin.TabularInline):
6   model = Library
7
8 class CelllineOptions(admin.ModelAdmin):
9     fieldsets = (
10       (None, {
11           'fields': (('cellline_name'),('notes'),)
12       }),
13      )
14
15 class LibraryOptions(admin.ModelAdmin):
16     date_hierarchy = "creation_date"
17     save_as = True
18     save_on_top = True
19     search_fieldsets = (
20         'library_id',
21         'library_name',
22         'cell_line__cellline_name',
23         'library_species__scientific_name',
24         'library_species__common_name',
25     )
26     list_display = (
27         'library_id',
28         'aligned_reads',
29         'DataRun',
30         'library_name',
31         'experiment_type',
32         'organism',
33         'antibody_name',
34         'cell_line',
35         'libtags',
36         'made_for',
37         'made_by',
38         'stopping_point',
39         'creation_date',
40         'condition',
41     )
42     list_filter = (
43         'experiment_type', 
44         'library_species', 
45         'tags',
46         'made_for',
47         'made_by', 
48         'antibody',
49         'cell_line',
50         'condition',
51         'stopping_point')
52     list_display_links = ('library_id', 'library_name',)
53     fieldsets = (
54       (None, {
55         'fields': (
56           ('replicate','library_id','library_name'),
57           ('library_species'),
58           ('experiment_type'),
59           ('cell_line','condition','antibody'),)
60          }),
61          ('Creation Information:', {
62              'fields' : (('made_for', 'made_by', 'creation_date'), ('stopping_point', 'amplified_from_sample'), ('avg_lib_size','undiluted_concentration', 'ten_nM_dilution', 'successful_pM'), 'notes',)
63          }),
64          ('Library/Project Affiliation:', {
65              'fields' : (('affiliations'), ('tags'),)
66          }),
67          )
68
69 class AffiliationOptions(admin.ModelAdmin):
70     list_display = ('name','contact','email')
71     fieldsets = (
72       (None, {
73           'fields': (('name','contact','email'))
74       }),
75     )
76
77 # class UserOptions(admin.ModelAdmin):
78 #   inlines = [Library_Inline]
79
80 class AntibodyOptions(admin.ModelAdmin):
81     list_display = ('antigene','nickname','antibodies','catalog','source','biology','notes')
82     list_filter = ('antibodies','source')
83     fieldsets = (
84       (None, {
85           'fields': (('antigene','nickname','antibodies'),('catalog','source'),('biology'),('notes'))
86       }),
87      )
88
89 class SpeciesOptions(admin.ModelAdmin):
90     fieldsets = (
91       (None, {
92           'fields': (('scientific_name', 'common_name'),)
93       }),
94     )
95
96 class ConditionOptions(admin.ModelAdmin):
97     list_display = (('condition_name'), ('notes'),)
98     fieldsets = (
99       (None, {
100           'fields': (('condition_name'),('nickname'),('notes'),)
101       }),
102      )
103
104 class TagOptions(admin.ModelAdmin):
105     list_display = ('tag_name', 'context')
106     fieldsets = ( 
107         (None, {
108           'fields': ('tag_name', 'context')
109           }),
110         )
111
112 admin.site.register(Affiliation, AffiliationOptions)
113 admin.site.register(Antibody, AntibodyOptions)
114 admin.site.register(Cellline, CelllineOptions)
115 admin.site.register(Condition, ConditionOptions)
116 admin.site.register(Library, LibraryOptions)
117 admin.site.register(Species, SpeciesOptions)
118 admin.site.register(Tag, TagOptions)