diff -r 3a92e6d92a64 -r 13296aa038a9 web/views/schema.py --- a/web/views/schema.py Tue Apr 06 12:23:10 2010 +0200 +++ b/web/views/schema.py Tue Apr 13 19:41:20 2010 +0200 @@ -57,20 +57,16 @@ w(u'') w(u'' % ( _("permission"), _('granted to groups'), _('rql expressions'))) - w(u'
%s%s%s
') - w(u'\n' % - (_('permission'), _('granted to groups'), - _('rql expressions'))) for action in erschema.ACTIONS: w(u'
%s%s%s
%s' % _(action)) if permissions is None: groups = erschema.get_groups(action) else: - groups = permissions[action][1] + groups = permissions[action][0] # XXX get group entity and call it's incontext view groups = [u'%s' % ( group, self._cw.build_url('cwgroup/%s' % group), label) - for group, label in sorted((_(g), g) for group in groups)] + for group, label in sorted((_(g), g) for g in groups)] w(u'
'.join(groups)) w(u'
') if permissions is None: @@ -99,8 +95,8 @@ # definition w = self.w w(u'
') - tmpl = u'[%s %s %s]' - for perm, rdefs in perms: + tmpl = u'%s %s %s' + for perm, rdefs in perms.iteritems(): w(u'
%s
' % u', '.join( tmpl % (_(s.type), _(rschema.type), _(o.type)) for s, o in rdefs)) # accessing rdef from previous loop by design: only used to get @@ -272,16 +268,17 @@ __select__ = tabs.PrimaryTab.__select__ & implements('CWEType') def render_entity_attributes(self, entity, siderelations=None): + _ = self._cw._ self.w(u'
%s
' % xml_escape(entity.description or u'')) # entity schema image url = entity.absolute_url(vid='schemagraph') self.w(u'%s' % ( xml_escape(url), - xml_escape(self._cw._('graphical schema for %s') % entity.name))) + xml_escape(_('graphical schema for %s') % entity.name))) # entity schema attributes self.w(u'

%s

' % _('Attributes')) rset = self._cw.execute( - 'Any A,F,DE,D,C, I,J,A ORDERBY AA WHERE A is CWAttribute, ' + 'Any A,F,D,C,I,J,A,DE ORDERBY AA WHERE A is CWAttribute, ' 'A ordernum AA, A defaultval D, A description DE, A cardinality C, ' 'A fulltextindexed I, A internationalizable J, ' 'A relation_type R, R name N, A to_entity O, O name F, ' @@ -289,48 +286,46 @@ {'x': entity.eid}) self.wview('table', rset, 'null', cellvids={0: 'rdef-name-cell', - 4: 'etype-attr-cardinality-cell', - 7: 'rdef-constraints-cell'}, - headers=(_(u'name'), _(u'type'), _(u'description'), + 3: 'etype-attr-cardinality-cell', + 6: 'rdef-constraints-cell'}, + headers=(_(u'name'), _(u'type'), _(u'default value'), _(u'required'), _(u'fulltext indexed'), _(u'internationalizable'), - _(u'constraints')), + _(u'constraints'), _(u'description')), mainindex=0) # entity schema relations self.w(u'

%s

' % _('Relations')) rset = self._cw.execute( - 'Any A, TT, "i18ncard_"+SUBSTRING(C, 1, 1),K,D,A,A,RN,TTN ORDERBY RN ' - 'WHERE A is CWRelation, A description D, A composite K, ' - 'A relation_type R, R name RN, A to_entity TT, TT name TTN, ' - 'A cardinality C, A from_entity S, S eid %(x)s', + 'Any A,TT,"i18ncard_"+SUBSTRING(C, 1, 1),K,A,TTN ORDERBY RN ' + 'WHERE A is CWRelation, A composite K, A cardinality C, ' + 'A relation_type R, R name RN, ' + 'A to_entity TT, TT name TTN, A from_entity S, S eid %(x)s', {'x': entity.eid}) if rset: self.w(u'
%s %s
' % (entity.name, _('is subject of:'))) self.wview('table', rset, 'null', cellvids={0: 'rdef-name-cell', 2: 'etype-rel-cardinality-cell', - 5: 'rdef-constraints-cell'}, + 4: 'rdef-constraints-cell'}, headers=(_(u'name'), _(u'object type'), _(u'cardinality'), - _(u'composite'), _(u'description'), - _(u'constraints'), _(u'relation direction')), - displaycols=range(5), mainindex=0) + _(u'composite'), _(u'constraints')), + displaycols=range(5)) self.w(u'
') rset = self._cw.execute( - 'Any A, TT, "i18ncard_"+SUBSTRING(C, 2, 1),K,D,A,A,RN,TTN ORDERBY RN ' - 'WHERE A is CWRelation, A description D, A composite K, ' - 'A relation_type R, R name RN, A from_entity TT, TT name TTN, ' - 'A cardinality C, A to_entity O, O eid %(x)s', + 'Any A,TT,"i18ncard_"+SUBSTRING(C, 2, 1),K,A,TTN ORDERBY RN ' + 'WHERE A is CWRelation, A composite K, A cardinality C, ' + 'A relation_type R, R name RN, ' + 'A from_entity TT, TT name TTN, A to_entity O, O eid %(x)s', {'x': entity.eid}) if rset: self.w(u'
%s %s
' % (entity.name, _('is object of:'))) self.wview('table', rset, 'null', cellvids={0: 'rdef-object-name-cell', 2: 'etype-rel-cardinality-cell', - 5: 'rdef-constraints-cell'}, + 4: 'rdef-constraints-cell'}, headers=(_(u'name'), _(u'subject type'), _(u'cardinality'), - _(u'composite'), _(u'description'), - _(u'constraints'), _(u'relation direction')), - displaycols=range(5), mainindex=0) + _(u'composite'), _(u'constraints')), + displaycols=range(5)) class CWETypeAttributeCardinalityCell(baseviews.FinalView): @@ -338,7 +333,9 @@ def cell_call(self, row, col): if self.cw_rset.rows[row][col][0] == '1': - self.w(self._cw._(u'required')) + self.w(self._cw._(u'yes')) + else: + self.w(self._cw._(u'no')) class CWETypeRelationCardinalityCell(baseviews.FinalView): @@ -421,7 +418,7 @@ _ = self._cw._ # possible views for this entity type views = [(_(view.title),) for view in self.possible_views(etype)] - self.wview('pyvaltable', pyvalue=views, headers=(_(u'views'),)) + self.wview('pyvaltable', pyvalue=sorted(views), headers=(_(u'views'),)) def possible_views(self, etype): rset = self._cw.etype_rset(etype) @@ -454,22 +451,21 @@ __select__ = implements('CWRType') def render_entity_attributes(self, entity, siderelations=None): + _ = self._cw._ self.w(u'
%s
' % xml_escape(entity.description or u'')) rschema = self._cw.vreg.schema.rschema(entity.name) if not rschema.final: - msg = self._cw._('graphical schema for %s') % entity.name + msg = _('graphical schema for %s') % entity.name self.w(tags.img(src=entity.absolute_url(vid='schemagraph'), alt=msg)) - rset = self._cw.execute('Any R,ST,OT,C,CC,R WHERE R is CWRelation, ' + rset = self._cw.execute('Any R,C,CC,R WHERE R is CWRelation, ' 'R relation_type RT, RT eid %(x)s, ' - 'R from_type ST, R to_type OT, ' 'R cardinality C, R composite CC', {'x': entity.eid}) self.wview('table', rset, 'null', - headers=(_(u'relation'), _(u'subject'), _(u'object'), - _(u'cardinality'), _(u'composite'), + headers=(_(u'relation'), _(u'cardinality'), _(u'composite'), _(u'constraints')), - cellvids={5: 'rdef-constraints-cell'}) + cellvids={3: 'rdef-constraints-cell'}) class CWRTypePermTab(SecurityViewMixIn, EntityView): @@ -502,7 +498,7 @@ entity = self.cw_rset.get_entity(row, col) rschema = self._cw.vreg.schema.rschema(entity.rtype.name) rdef = rschema.rdefs[(entity.stype.name, entity.otype.name)] - self.display_permission(rdef) + self.permissions_table(rdef) class CWRDEFNameView(tableview.CellView): @@ -513,10 +509,12 @@ __regid__ = 'rdef-name-cell' __select__ = implements('CWRelation', 'CWAttribute') - def cell_content(self, entity): + def cell_call(self, row, col): + entity = self.cw_rset.get_entity(row, col) rtype = entity.relation_type[0].name # XXX use contect entity + pgettext - return u'%s (%s)' % (rtype, self._cw._(rtype)) + self.w(u'%s (%s)' % ( + entity.absolute_url(), rtype, self._cw._(rtype))) class CWRDEFObjectNameView(tableview.CellView): """same as CWRDEFNameView but when the context is the object entity @@ -524,10 +522,12 @@ __regid__ = 'rdef-object-name-cell' __select__ = implements('CWRelation', 'CWAttribute') - def cell_content(self, entity): + def cell_call(self, row, col): + entity = self.cw_rset.get_entity(row, col) rtype = entity.relation_type[0].name # XXX use contect entity + pgettext - return u'%s (%s)' % (rtype, self._cw.__(rtype + '_object')) + self.w(u'%s (%s)' % ( + entity.absolute_url(), rtype, self._cw.__(rtype + '_object'))) class CWRDEFConstraintsCell(EntityView): __regid__ = 'rdef-constraints-cell' @@ -538,7 +538,7 @@ rschema = self._cw.vreg.schema.rschema(entity.rtype.name) rdef = rschema.rdefs[(entity.stype.name, entity.otype.name)] constraints = [xml_escape(str(c)) for c in getattr(rdef, 'constraints')] - self.w(u', '.join(constraints)) + self.w(u'
'.join(constraints)) # schema images ###############################################################