--- /dev/null
+"""
+This renames avg_lib_size to gel_cut_size and adds an insert length field
+to samples_library.
+"""
+
+import shutil
+import sqlite3
+import sys
+
+def main(cmdline=None):
+ if len(cmdline) == 1:
+ dest='/tmp/fctracker.db'
+ else:
+ dest = cmdline[1]
+ shutil.copy(cmdline[0], dest)
+ conn = sqlite3.connect(dest)
+ c = conn.cursor()
+
+ c.execute("""
+alter table samples_library
+add column "bioanalyzer_concentration" decimal;
+""")
+
+ c.execute("""
+alter table samples_library
+add column "bioanalyzer_summary" text NOT NULL default "";
+""")
+
+ c.execute("""
+alter table samples_library
+add column "bioanalyzer_image_url" varchar(200) NOT NULL default "";
+""")
+
+ conn.commit()
+
+if __name__ == "__main__":
+ main(sys.argv[1:])
('cell_line','condition','antibody'),)
}),
('Creation Information:', {
- 'fields' : (('made_for', 'made_by', 'creation_date'), ('stopping_point', 'amplified_from_sample'), ('gel_cut_size', 'insert_size', 'undiluted_concentration', 'ten_nM_dilution', 'successful_pM'), 'account_number', 'notes',)
+ 'fields' : (('made_for', 'made_by', 'creation_date'),
+ ('stopping_point', 'amplified_from_sample'),
+ ('gel_cut_size', 'insert_size',
+ 'undiluted_concentration', 'ten_nM_dilution',
+ 'successful_pM'),
+ ('bioanalyzer_concentration','bioanalyzer_image_url'),
+ ('bioanalyzer_summary'),
+ ('account_number', 'notes',))
}),
('Library/Project Affiliation:', {
'fields' : (('affiliations'), ('tags'),)
]
actions = ['action_print_library_labels']
-
def action_print_library_labels(self, request, queryset):
"""
Django action which prints labels for the selected set of labels from the
action_print_library_labels.short_description = "Print Labels"
-
-
- # 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 in ('affiliations', 'tags'):
- kwargs['widget'] = widgets.FilteredSelectMultiple(db_field.verbose_name,
- (db_field.name in self.filter_vertical))
- rv = super(LibraryOptions, self).formfield_for_dbfield(db_field, **kwargs)
- return rv
+ # Override Field type
+ if db_field.name in ('affiliations', 'tags'):
+ kwargs['widget'] = widgets.FilteredSelectMultiple(
+ db_field.verbose_name,
+ (db_field.name in self.filter_vertical)
+ )
+ field = super(LibraryOptions, self).formfield_for_dbfield(db_field,
+ **kwargs)
+ # Override field attributes
+ if db_field.name == "bioanalyzer_summary":
+ print field.widget.attrs.items()
+ field.widget.attrs["rows"] = "5"
+ return field
class SpeciesOptions(admin.ModelAdmin):
fieldsets = (
gel_cut_size = models.IntegerField(default=225, blank=True, null=True)
insert_size = models.IntegerField(blank=True, null=True)
notes = models.TextField(blank=True)
+
+ bioanalyzer_summary = models.TextField(blank=True,default="")
+ bioanalyzer_concentration = models.DecimalField(max_digits=5,
+ decimal_places=2, blank=True, null=True,
+ help_text=u"(ng/\u00b5l)")
+ bioanalyzer_image_url = models.URLField(blank=True,default="")
def __unicode__(self):
return u'#%s: %s' % (self.id, self.library_name)