#166 — Cannot uninstall or access control panel tabs

by Mikko Ohtamaa last modified Feb 06, 2012 08:52 PM
State Unconfirmed
Version:
Area Functionality
Issue type Bug
Severity Low
Submitted by Mikko Ohtamaa
Submitted on Feb 06, 2012
Responsible
Target release: 1.2.1
Reinstall error traceback:

Traceback (innermost last):
      Module ZPublisher.Publish, line 119, in publish
      Module ZPublisher.mapply, line 88, in mapply
      Module ZPublisher.Publish, line 42, in call_object
      Module <string>, line 6, in _facade
      Module AccessControl.requestmethod, line 64, in _curried
      Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 648, in reinstallProducts
      Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 589, in installProducts
      Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 512, in installProduct
       - __traceback_info__: ('CacheSetup',)
      Module Products.ExternalMethod.ExternalMethod, line 231, in __call__
       - __traceback_info__: ((<PloneSite at /hotellilevitunturi>,), {'reinstall': True}, (False,))
      Module /fast/levi/eggs/Products.CacheSetup-1.2.1-py2.4.egg/Products/CacheSetup/Extensions/Install.py, line 32, in install
      Module Products.CacheSetup.Extensions.utils, line 178, in updateSchemas
      Module Products.ZCatalog.ZCatalog, line 813, in ZopeFindAndApply
      Module Products.ZCatalog.ZCatalog, line 813, in ZopeFindAndApply
      Module Products.ZCatalog.ZCatalog, line 801, in ZopeFindAndApply
      Module Products.CacheSetup.Extensions.utils, line 182, in _updateChangedSchema
      Module Products.Archetypes.BaseObject, line 878, in _updateSchema
      Module Products.Archetypes.Field, line 792, in getContentType
      Module Products.Archetypes.Field, line 731, in getRaw
      Module Products.Archetypes.utils, line 162, in mapply
      Module Products.CacheSetup.content.base_cache_rule, line 311, in getVaryExpression
    AttributeError: 'str' object has no attribute 'text'
Steps to reproduce:
Probably bad migration / mismatching file system version in some point. Cannot know the conditions triggering this issue.
Added by Mikko Ohtamaa on Feb 06, 2012 08:52 PM
Monkey-patch to work around the issue:


    from Products.CacheSetup.content.base_cache_rule import BaseCacheRule

    def getVaryExpression(self):
        expression = self.getField('varyExpression').get(self)
        if expression and hasattr(expression, "text"):
            return expression.text
        if expression:
            return expression
        
    BaseCacheRule.getVaryExpression = getVaryExpression

No responses can be added.