[views] Add GenomicMeasure primary view
authorVladimir Popescu <vladimir.popescu@logilab.fr>
Fri, 20 Sep 2013 12:59:47 +0000
changeset 385 e637f05706e8
parent 371 e62367d9141a
child 386 64421be0d75b
[views] Add GenomicMeasure primary view
views/primary.py
--- a/views/primary.py	Thu Aug 01 16:05:00 2013 +0200
+++ b/views/primary.py	Fri Sep 20 12:59:47 2013 +0000
@@ -104,6 +104,30 @@
                 tab.render(self.w)
         w(u'</div>')
 
+###############################################################################
+### GENOMIC MEASURE ###########################################################
+###############################################################################
+class GenomicMeasurePrimaryView(BrainomicsPrimaryView):
+    __select__ = BrainomicsPrimaryView.__select__ & is_instance('GenomicMeasure')
+
+    def iterate_attributes(self, entity):
+        fields = [(self._cw._('Type'), entity.type),
+                  (self._cw._('Format'), entity.format),
+                  (self._cw._('Chip S/N'), entity.formatted_chip_serialnum)]
+                  
+        if entity.platform:
+            fields.append((self._cw._('Platform'), entity.platform[0].identifier))
+        return fields
+
+    def display_main_col(self, entity):
+        # Display results file:
+        self.w(u'<div class="span3">')
+        rset = self._cw.execute('(Any F LIMIT 1 WHERE X results_file F, X eid %(e)s)',
+                                {'e': entity.eid})
+        if rset:
+            self.w(u'<h3>%s</h3>' % self._cw._('Results file'))
+            self.wview('downloadlink', rset=rset)
+    
 
 ###############################################################################
 ### SUBJECT ###################################################################