[Product-Developers] FCKeditor 2.6.6.3 - bug in global settings

floseries fritz at loseries.info
Sun Sep 18 14:35:06 UTC 2011


Hi,

I'm using Plone 3.5

Between FCKeditor 2.6.5.2 and 2.6.6.3 source code in utils.py within the
main directory has changed for method listTypesForInterface()

After admin changes FCKeditors global settings through the configuration
panel all portal_types for images and flashs as well as some others are
deleted. The file dialog for browsing the server will stay empty.
This is a real bug. But it seems that FCKeditor is not longer supported.

Maybe someone can give a hint, what should be corrected. Therefore I have
added the relevant source code of utils.py within the last two versions of
FCKeditor.

2.6.5.2:
380     # all_types = [{'name': xx, 'package': xx, 'portal_type': xx,
'module': xx,
381     #               'meta_type': xx, 'klass': xx, ...
382     all_types = archetype_tool.listRegisteredTypes(inProject=True)
383     # Keep the ones that are file like
384     all_types = [tipe['portal_type'] for tipe in all_types
385                  if interface.isImplementedByInstancesOf(tipe['klass'])]
386     # Keep allowed ones
387     # removed some types can be allowed in some context
388     # all_types = [tipe for tipe in all_types
389     #             if getattr(portal_types, tipe).globalAllow()]
390     return [infoDictForType(tipe, portal_types, utranslate) for tipe in
all_types]

2.6.6.3:
384     # all_types = [{'name': xx, 'package': xx, 'portal_type': xx,
'module': xx,
385     #               'meta_type': xx, 'klass': xx, ...
386     all_types = archetype_tool.listRegisteredTypes()
387     # Keep the ones that are file like
388     if PLONE_VERSION == 3:
389         all_types = set([tipe['portal_type'] for tipe in all_types
390                          if interface.isImplementedBy(tipe['klass'])])
391     else:
392         all_types = set([tipe['portal_type'] for tipe in all_types
393                          if interface.implementedBy(tipe['klass'])])
394     # Keep allowed ones
395     # removed some types can be allowed in some context
396     # all_types = [tipe for tipe in all_types
397     #             if getattr(portal_types, tipe).globalAllow()]
398     return [infoDictForType(tipe, portal_types, utranslate) for tipe in
all_types if hasattr(portal_types, tipe)]

Interface methods will be found in Zope 2.
isImplementedBy is requesting a parameter of type object and not klass.
If I use the code of version 2.6.5.2 list of all_types is filled. With
2.6.6.3 it's an empty list.




-----
Regards

Fritz Loseries
--
View this message in context: http://plone.293351.n2.nabble.com/FCKeditor-2-6-6-3-bug-in-global-settings-tp6805867p6805867.html
Sent from the Product Developers mailing list archive at Nabble.com.


More information about the Product-Developers mailing list