# HG changeset patch # User Nicolas Chauvat # Date 1257706408 -3600 # Node ID 1b9b51ee543ebb3b79085b7d5569709817b50116 # Parent 60e78e93a0e5a67a64e5836bbd702affb94bb27d [web ui] PrimaryView.render_attributes now uses a table diff -r 60e78e93a0e5 -r 1b9b51ee543e view.py --- a/view.py Sun Nov 08 19:37:44 2009 +0100 +++ b/view.py Sun Nov 08 19:53:28 2009 +0100 @@ -293,22 +293,28 @@ self.w('}\n-->\n\n') def create_url(self, etype, **kwargs): - """ return the url of the entity creation form for a given entity type""" - return self.req.build_url('add/%s'%etype, **kwargs) + """return the url of the entity creation form for a given entity type""" + return self.req.build_url('add/%s' % etype, **kwargs) - def field(self, label, value, row=True, show_label=True, w=None, tr=True): - """ read-only field """ + def field(self, label, value, row=True, show_label=True, w=None, tr=True, table=False): + """read-only field""" if w is None: w = self.w - if row: - w(u'
') + if table: + w(u'') + else: + w(u'
') if show_label and label: if tr: label = display_name(self.req, label) - w(u'%s' % label) - w(u'
%s
' % value) - if row: - w(u'
') + if table: + w(u'%s' % label) + else: + w(u'%s' % label) + if table: + w(u'%s' % value) + else: + w(u'%s
' % value) diff -r 60e78e93a0e5 -r 1b9b51ee543e web/data/cubicweb.css --- a/web/data/cubicweb.css Sun Nov 08 19:37:44 2009 +0100 +++ b/web/data/cubicweb.css Sun Nov 08 19:53:28 2009 +0100 @@ -595,21 +595,15 @@ /* basic entity view */ -div.row { - clear: both; - padding-bottom:0.4px -} - -div.row span.label{ - padding-right:1em +tr.entityfield th { + text-align: left; + padding-right: 0.5em; } div.field { - margin-left: 0.2em; display: inline; } - /***************************************/ /* messages */ /***************************************/ diff -r 60e78e93a0e5 -r 1b9b51ee543e web/views/primary.py --- a/web/views/primary.py Sun Nov 08 19:37:44 2009 +0100 +++ b/web/views/primary.py Sun Nov 08 19:53:28 2009 +0100 @@ -102,7 +102,11 @@ return u'' def render_entity_attributes(self, entity, siderelations=None): - for rschema, tschemas, role, dispctrl in self._section_def(entity, 'attributes'): + entity_attributes = self._section_def(entity, 'attributes') + if not entity_attributes: + return + self.w(u'') + for rschema, tschemas, role, dispctrl in entity_attributes: vid = dispctrl.get('vid', 'reledit') if rschema.final or vid == 'reledit': value = entity.view(vid, rtype=rschema.type, role=role) @@ -114,7 +118,8 @@ value = None if self.skip_none and (value is None or value == ''): continue - self._render_attribute(rschema, value) + self._render_attribute(rschema, value, role=role, table=True) + self.w(u'
') def render_entity_relations(self, entity, siderelations=None): for rschema, tschemas, role, dispctrl in self._section_def(entity, 'relations'): @@ -191,13 +196,13 @@ initargs={'dispctrl': dispctrl}) self.w(u'') - def _render_attribute(self, rschema, value, role='subject'): + def _render_attribute(self, rschema, value, role='subject', table=False): if rschema.final: show_label = self.show_attr_label else: show_label = self.show_rel_label label = display_name(self.req, rschema.type, role) - self.field(label, value, show_label=show_label, tr=False) + self.field(label, value, show_label=show_label, tr=False, table=table) class RelatedView(EntityView):