diff --git a/browser/loops.js b/browser/loops.js index f6cea32..e16699b 100644 --- a/browser/loops.js +++ b/browser/loops.js @@ -52,10 +52,12 @@ function inlineEdit(id, saveUrl) { function setConceptTypeForComboBox(typeId, cbId) { var t = dojo.byId(typeId).value; - var dp = dojo.widget.manager.getWidgetById(cbId).dataProvider; + var cb = dojo.widget.manager.getWidgetById(cbId) + var dp = cb.dataProvider; var baseUrl = dp.searchUrl.split('&')[0]; var newUrl = baseUrl + '&searchType=' + t; dp.searchUrl = newUrl; + cb.setValue(''); } var dialogs = {} diff --git a/browser/resource.py b/browser/resource.py index a9a2662..dc582ee 100644 --- a/browser/resource.py +++ b/browser/resource.py @@ -36,7 +36,7 @@ from zope.security import canAccess, canWrite from zope.security.proxy import removeSecurityProxy from cybertools.typology.interfaces import IType -from loops.interfaces import IBaseResource, IDocument, IMediaAsset +from loops.interfaces import IBaseResource, IDocument, IMediaAsset, ITextDocument from loops.browser.common import EditForm, BaseView, Action from loops.browser.concept import ConceptRelationView, ConceptConfigureView from loops.browser.node import NodeView, node_macros @@ -113,8 +113,10 @@ class ResourceView(BaseView): if viewName: return component.queryMultiAdapter((context, self.request), name=viewName) - if context.contentType.startswith('text/'): - # TODO: This should be controlled by resourceType + ct = context.contentType + #if ct.startswith('text/') and ct != 'text/rtf': + ti = IType(context).typeInterface + if not ti or issubclass(ti, ITextDocument): return DocumentView(context, self.request) return self diff --git a/browser/resource_macros.pt b/browser/resource_macros.pt index c4cf78e..02beabc 100644 --- a/browser/resource_macros.pt +++ b/browser/resource_macros.pt @@ -22,10 +22,11 @@ -