# HG changeset patch # User Aurelien Campeas # Date 1280503147 -7200 # Node ID 4695b1ee58a043fd4e2d703ce73974f2940d5146 # Parent 3fd4a34c4a09850d69d2877b09e4d37f4f1cb2b0 fix idownload view pb. for xhtml browsers diff -r 3fd4a34c4a09 -r 4695b1ee58a0 tags.py --- a/tags.py Fri Jul 30 13:18:08 2010 +0200 +++ b/tags.py Fri Jul 30 17:19:07 2010 +0200 @@ -48,6 +48,7 @@ tr = tag('tr') th = tag('th') td = tag('td') +iframe = tag('iframe') def select(name, id=None, multiple=False, options=[], **attrs): if multiple: diff -r 3fd4a34c4a09 -r 4695b1ee58a0 web/test/unittest_viewselector.py --- a/web/test/unittest_viewselector.py Fri Jul 30 13:18:08 2010 +0200 +++ b/web/test/unittest_viewselector.py Fri Jul 30 17:19:07 2010 +0200 @@ -418,17 +418,27 @@ def test_score_entity_selector(self): image = self.request().create_entity('File', data_name=u'bim.png', data=Binary('bim')) - # image primary view priority + # image/ehtml primary view priority req = self.request() rset = req.execute('File X WHERE X data_name "bim.png"') self.assertIsInstance(self.vreg['views'].select('image', req, rset=rset), idownloadable.ImageView) - fileobj = self.request().create_entity('File', data_name=u'bim.txt', data=Binary('bim')) - # image primary view priority + self.assertRaises(NoSelectableObject, self.vreg['views'].select, 'ehtml', req, rset=rset) + + fileobj = self.request().create_entity('File', data_name=u'bim.html', data=Binary('bam%s' % (entity.absolute_url(vid='download'), - imgtag)) + self.w(u'%s' % (adapter.download_url(), tag)) else: - self.w(imgtag) + self.w(tag) +class ImageView(AbstractEmbeddedView): + __regid__ = 'image' + __select__ = has_mimetype('image/') + + title = _('image') + _embedding_tag = tags.img + + +class EHTMLView(AbstractEmbeddedView): + __regid__ = 'ehtml' + __select__ = has_mimetype('text/html') + + title = _('embedded html') + _embedding_tag = tags.iframe + + +