from django.contrib import admin
from django.contrib.admin import widgets
+from django.contrib.admin.models import User
+from django.contrib.auth.admin import UserAdmin
from django.db import models
from django.utils.translation import ugettext_lazy as _
-from htsworkflow.frontend.samples.models import Antibody, Cellline, Condition, ExperimentType, LibraryType, Species, Affiliation, Library, Tag
+from htsworkflow.frontend.samples.models import Antibody, Cellline, Condition, ExperimentType, HTSUser, LibraryType, Species, Affiliation, Library, Tag
from htsworkflow.frontend.experiments.models import Lane
+class AffiliationOptions(admin.ModelAdmin):
+ list_display = ('name','contact','email')
+ fieldsets = (
+ (None, {
+ 'fields': (('name','contact','email','users'))
+ }),
+ )
-class LaneLibraryInline(admin.StackedInline):
- model = Lane
- extra = 0
+ # some post 1.0.2 version of django has formfield_overrides
+ # which would replace this code with:
+ # formfield_overrids = {
+ # models.ManyToMany: { 'widget': widgets.FilteredSelectMultiple }
+ # }
+ def formfield_for_dbfield(self, db_field, **kwargs):
+ if db_field.name == 'users':
+ kwargs['widget'] = widgets.FilteredSelectMultiple(db_field.verbose_name, (db_field.name in self.filter_vertical))
+ rv = super(AffiliationOptions, self).formfield_for_dbfield(db_field, **kwargs)
+ # print db_field.name, kwargs
+ return rv
-class Library_Inline(admin.TabularInline):
- model = Library
+class AntibodyOptions(admin.ModelAdmin):
+ search_fields = ('antigene','nickname','catalog','antibodies','source','biology','notes')
+ list_display = ('antigene','nickname','antibodies','catalog','source','biology','notes')
+ list_filter = ('antibodies','source')
+ fieldsets = (
+ (None, {
+ 'fields': (('antigene','nickname','antibodies'),('catalog','source'),('biology'),('notes'))
+ }),
+ )
class CelllineOptions(admin.ModelAdmin):
list_display = ('cellline_name', 'nickname', 'notes')
}),
)
+class ConditionOptions(admin.ModelAdmin):
+ list_display = (('condition_name'), ('notes'),)
+ fieldsets = (
+ (None, {
+ 'fields': (('condition_name'),('nickname'),('notes'),)
+ }),
+ )
+
class ExperimentTypeOptions(admin.ModelAdmin):
model = ExperimentType
#list_display = ('name',)
#fieldsets = ( (None, { 'fields': ('name',) }), )
+class HTSUserOptions(UserAdmin): pass
+
+class LaneLibraryInline(admin.StackedInline):
+ model = Lane
+ extra = 0
+
+class Library_Inline(admin.TabularInline):
+ model = Library
+
class LibraryTypeOptions(admin.ModelAdmin):
model = LibraryType
print db_field.name, kwargs
return rv
-class AffiliationOptions(admin.ModelAdmin):
- list_display = ('name','contact','email')
- fieldsets = (
- (None, {
- 'fields': (('name','contact','email'))
- }),
- )
-
-# class UserOptions(admin.ModelAdmin):
-# inlines = [Library_Inline]
-
-class AntibodyOptions(admin.ModelAdmin):
- search_fields = ('antigene','nickname','catalog','antibodies','source','biology','notes')
- list_display = ('antigene','nickname','antibodies','catalog','source','biology','notes')
- list_filter = ('antibodies','source')
- fieldsets = (
- (None, {
- 'fields': (('antigene','nickname','antibodies'),('catalog','source'),('biology'),('notes'))
- }),
- )
-
class SpeciesOptions(admin.ModelAdmin):
fieldsets = (
(None, {
}),
)
-class ConditionOptions(admin.ModelAdmin):
- list_display = (('condition_name'), ('notes'),)
- fieldsets = (
- (None, {
- 'fields': (('condition_name'),('nickname'),('notes'),)
- }),
- )
-
class TagOptions(admin.ModelAdmin):
list_display = ('tag_name', 'context')
fieldsets = (
admin.site.register(Cellline, CelllineOptions)
admin.site.register(Condition, ConditionOptions)
admin.site.register(ExperimentType, ExperimentTypeOptions)
+admin.site.register(HTSUser, HTSUserOptions)
admin.site.register(LibraryType, LibraryTypeOptions)
admin.site.register(Library, LibraryOptions)
admin.site.register(Species, SpeciesOptions)