- class Admin:
- date_hierarchy = "creation_date"
- save_as = True
- save_on_top = True
- ##search_fields = ['library_id','library_name','affiliations__name','affiliations__contact','made_by','made_for','antibody__antigene','antibody__catalog','antibody__antibodies','antibody__source','cell_line__cellline_name','library_species__scientific_name','library_species__common_name','library_species__use_genome_build']
- search_fields = ['library_id','library_name','cell_line__cellline_name','library_species__scientific_name','library_species__common_name','library_species__use_genome_build']
- list_display = ('affiliation','library_id','aligned_reads','library_name','experiment_type','org','replicate','antibody_name','cell_line','made_by','creation_date')
- list_display_links = ('library_id', 'library_name')
-
- list_filter = ('experiment_type','affiliations','library_species','made_for', 'made_by','replicate')
- fields = (
- (None, {
- 'fields': (('replicate','library_id','library_name'),('library_species'),('experiment_type'),('cell_line','condition','antibody'),)
- }),
- ('Creation Information:', {
- 'fields' : (('made_for', 'made_by', 'creation_date'), ('stopping_point', 'amplified_from_sample'), ('undiluted_concentration', 'library_size'), 'notes',)
- }),
- ('Library/Project Affiliation:', {
- 'fields' : (('affiliations'),)
- }),
- )
+ def public(self):
+ SITE_ROOT = '/'
+ summary_url = self.get_absolute_url()
+ return '<a href="%s">S</a>' % (summary_url,)
+ public.allow_tags = True
+
+ @models.permalink
+ def get_absolute_url(self):
+ return ('htsworkflow.frontend.samples.views.library_to_flowcells', [str(self.id)])
+
+ def get_admin_url(self):
+ return urlresolvers.reverse('admin:samples_library_change',
+ args=(self.id,))
+
+class HTSUser(User):
+ """
+ Provide some site-specific customization for the django user class
+ """
+ #objects = UserManager()
+
+ class Meta:
+ ordering = ['first_name', 'last_name', 'username']
+
+ def admin_url(self):
+ return '/admin/%s/%s/%d' % (self._meta.app_label, self._meta.module_name, self.id)
+
+ def __unicode__(self):
+ #return unicode(self.username) + u" (" + unicode(self.get_full_name()) + u")"
+ return unicode(self.get_full_name()) + u' (' + unicode(self.username) + ')'
+
+def HTSUserInsertID(sender, instance, **kwargs):
+ """
+ Force addition of HTSUsers when someone just modifies the auth_user object
+ """
+ u = HTSUser.objects.filter(pk=instance.id)
+ if len(u) == 0:
+ cursor = connection.cursor()
+ cursor.execute('INSERT INTO samples_htsuser (user_ptr_id) VALUES (%s);' % (instance.id,))
+ cursor.close()