# HG changeset patch # User Aurelien Campeas # Date 1234359426 -3600 # Node ID 86628c5641440e340548891d41ef08f9a41b2a78 # Parent b5b32e6d496cd6261a41724b47d42d6d4fdcf1e0 [forms] fix #4240 (edition form should not show relations section if no relation is editable) diff -r b5b32e6d496c -r 86628c564144 web/views/baseforms.py --- a/web/views/baseforms.py Wed Feb 11 14:21:55 2009 +0100 +++ b/web/views/baseforms.py Wed Feb 11 14:37:06 2009 +0100 @@ -392,17 +392,22 @@ if rschema != 'eid'] def relations_form(self, entity, kwargs): + pendings = list(self.restore_pending_inserts(entity)) + relations_table = list(self.relations_table(entity)) + srels_by_cat = entity.srelations_by_category(('generic', 'metadata'), 'add') + if not pendings and not relations_table and not srels_by_cat: + return u'' req = self.req _ = self.req._ label = u'%s :' % _('This %s' % entity.e_schema).capitalize() eid = entity.eid html = [] - pendings = list(self.restore_pending_inserts(entity)) w = html.append w(u'
') w(u'%s' % label) w(u'') - for row in self.relations_table(entity): + for row in relations_table: + # already linked entities if row[2]: w(u'' % row[0].display_name(req, row[1])) w(u'') else: for row in pendings: + # soon to be linked to entities w(u'' % row[1]) w(u'' % row[3]) w(u'
%s') @@ -419,6 +424,7 @@ w(u'
  
%s') @@ -434,7 +440,8 @@ w(u'') w(u'')