Giter Club home page Giter Club logo

solgema.fullcalendar's Introduction

Solgema.fullcalendar Package Readme

https://secure.travis-ci.org/collective/Solgema.fullcalendar.png?branch=master https://coveralls.io/repos/collective/Solgema.fullcalendar/badge.png?branch=master

Overview

Solgema.fullcalendar is a complete implementation of Adam Shaw Fullcalendar into Plone.

This calendar allows you to display events type objects in a powerful and fast ajax agenda. You will be also able to add, edit and more generally manage your events throught the Calendar with a strong AJAX framework.

The calendar is a view you can choose on a Collection, on a Folder or on an Event. The view is named solgemafullcalendar_view. After that, a new object action permits you to set up the basics parameters for the calendar.

On a Collection, the calendar displays the events that are searched by the Collection and it's criteria.

On a Folder, the calendar displays the events that are contained in the Folder itself or in the sub-folders if they are selected in the calendar properties.

In addition to the calendar, there is a small query form you can display in the bottom of the calendar to choose which event you want to display. The fields in this query form are taken from the Collection criterions or from the subfolders of the Folder.

As a developer, you can add event sources to the default one. You just have to define named IEventSource adapters which provides each a list of dictionaries needed by fullcalendar.js API. You can also replace the default event source providing an unnamed IEventSource adapter for your specific context or layer.

Installation Note for Plone < 4.3

Add this line in the versions section of your buildout.cfg:

[versions]
...
collective.js.jqueryui = <1.9

Installation Note for Plone 3.x

Add this line in the eggs section of your buildout.cfg:

eggs=
    ...
    collective.js.jqueryui<1.8

You will also have to pin the versions for plone.app.z3cform:

[versions]
z3c.form = 1.9.0
zope.i18n = 3.4.0
zope.testing = 3.4.0
zope.component = 3.4.0
zope.securitypolicy = 3.4.0
zope.app.zcmlfiles = 3.4.3
plone.app.z3cform = 0.4.6
collective.js.jqueryui = 1.7.2.7

Customizing the skin

You can easily customize the calendar skin:

Go to http://jqueryui.com and click on the Themes tab. There you can create or choose an existing theme. After that, download it to your computer by selecting only: All UI Core, all UI Interactions and Dialog in UI Widgets. Unzip and copy the css file and all images in your portal_skins/custom folder.

You can also try collective.jqueryuithememanager

Source Code

Source code is under GNU General Public Licence (GPL, see docs/LICENSE.txt). It is located at the collective git repository at github and contributions are welcome.

solgema.fullcalendar's People

Contributors

anuyens avatar benniboy avatar bsuttor avatar cekk avatar cleberjsantos avatar cmemery avatar erral avatar frisi avatar fsprenger avatar giacomos avatar gotcha avatar hvelarde avatar jensens avatar jianaijun avatar jochumdev avatar kroman0 avatar laulaz avatar martronic-sa avatar mauritsvanrees avatar pbauer avatar rnixx avatar seanupton avatar sgeulette avatar smoussiaux avatar tcurvelo avatar tdesvenain avatar thet avatar tomgross avatar toutpt avatar vincentfretin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

solgema.fullcalendar's Issues

Add en-gb to ['fr', 'nl', 'it'] in getCustomTitleFormat and columnFormat

Could you please add en-gb to the languages using dd/mm format dates as opposed to mm/dd format.

For getHourFormat (13:00 vs 1pm), I think this should perhaps be an option under Calendar properties rather than hardcoded depending on language? Maybe the default format option could be set in this function instead?

Problems with some strings like 'edit' in path

We found a particularly well hidden bug.

If your path includes 'edit' anywhere, it breaks the right-click functionality (for instance if you then try to publish it opens a broken popup).

This is due to the fact that that the code on line 513 uses a[href*='edit'] instead of something like a[href$='/edit'], which would only find links that end in "/edit" and not links that have "edit" included anywhere.

There are similar issues with 'delete_confirmation' ,'object_cut' etc., but some are more obvious then others ('object_cut' just cuts in the background while 'delete_confirmation' asks you if you want to delete).

Can easily be reproduced by making an event with an appropriate name like 'meeting of editors' or 'fix delete_confirmation dialog', but especially the edit one can cause big problems because you could have an editing subdomain like 'edit.subdomain.com' on which all events would automatically be broken.

Is there any reason why we shouldn't use href$ at all? If not, I can submit a PR to fix this.

AttributeError: @@at_base_edit_view

solgema.fullcalendar 2.3.3, Plone 4.3.3 with a Dexterity setup (plone.app.event, plone.app.contenttypes, plone.app.widgets) fails directly while adding a new event by double clicking on the calendar.

2014-04-29 12:43:17 ERROR Zope.SiteErrorLog 1398768197.490.640917413676 http://dev1.veit-schiele.de:5080/et-29.04.14-113019/o1/createSFEvent
Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Products.CMFFormController.FSControllerPythonScript, line 107, in call
Module Products.CMFFormController.ControllerBase, line 231, in getNext
Module Products.CMFFormController.Actions.TraverseTo, line 38, in call
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Products.CMFFormController.FSControllerPageTemplate, line 91, in call
Module Products.CMFFormController.BaseControllerPageTemplate, line 31, in _call
Module Shared.DC.Scripts.Bindings, line 322, in call
Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
Module Products.CMFCore.FSPageTemplate, line 237, in _exec
Module Products.CMFCore.FSPageTemplate, line 177, in pt_render
Module Products.PageTemplates.PageTemplate, line 79, in pt_render
Module zope.pagetemplate.pagetemplate, line 132, in pt_render

  • Warning: Macro expansion failed

  • Warning: <type 'exceptions.KeyError'>: 'macro'
    Module zope.pagetemplate.pagetemplate, line 240, in call
    Module zope.tal.talinterpreter, line 271, in call
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 858, in do_defineMacro
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 583, in do_setLocal_tal
    Module zope.tales.tales, line 696, in evaluate

  • URL: file:/home/ajung/.buildout/eggs/Solgema.fullcalendar-2.3.3-py2.7.egg/Solgema/fullcalendar/skins/solgemafullcalendar/SFAjax_base_edit.cpt

  • Line 1, Column 0

  • Expression: <PathExpr standard:u'context/@@at_base_edit_view'>

  • Names:
    {'container': <Event at /et-29.04.14-113019/o1/portal_factory/Event/>,
    'context': <Event at /et-29.04.14-113019/o1/portal_factory/Event/>,
    'default': <object object at 0x7f544ad72b80>,
    'here': <Event at /et-29.04.14-113019/o1/portal_factory/Event/>,
    'loop': {},
    'nothing': None,
    'options': {'args': (),
    'state': <Products.CMFFormController.ControllerState.ControllerState object at 0x7f54295433d0>},
    'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x7f543148fb50>,
    'request': <HTTPRequest, URL=http://dev1.veit-schiele.de:5080/et-29.04.14-113019/o1/createSFEvent>,
    'root': ,
    'template': <FSControllerPageTemplate at /et-29.04.14-113019/o1/portal_factory/Event//SFAjax_base_edit>,
    'traverse_subpath': [],
    'user': <PropertiedUser 'admin'>}
    Module zope.tales.expressions, line 217, in call
    Module Products.PageTemplates.Expressions, line 147, in _eval
    Module zope.tales.expressions, line 124, in _eval
    Module Products.PageTemplates.Expressions, line 74, in boboAwareZopeTraverse
    Module OFS.Traversable, line 317, in restrictedTraverse
    Module OFS.Traversable, line 300, in unrestrictedTraverse

  • traceback_info: ([], '@@at_base_edit_view')
    AttributeError: @@at_base_edit_view

    '/home/ajung/.buildout/eggs/Pillow-2.3.0-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/Plone-4.3.3-py2.7.egg',
    '/home/ajung/sandboxes/eteaching_buildout/src/eteaching.policy',
    '/home/ajung/.buildout/eggs/Solgema.PortletsManager-0.8-py2.7.egg',
    '/home/ajung/.buildout/eggs/Solgema.fullcalendar-2.3.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/redomino.tabsandslides-0.9.11-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.widgets-1.5.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/sauna.reload-0.5.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.testing-4.2.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.recipe.zope2instance-4.2.14-py2.7.egg',
    '/home/ajung/.buildout/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/Zope2-2.13.22-py2.7.egg',
    '/home/ajung/.buildout/eggs/zc.recipe.egg-1.3.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/mailinglogger-3.7.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/setuptools-2.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zc.buildout-2.2.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.GenericSetup-1.7.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFPlone-4.3.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.testing-4.0.11-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.memoize-1.1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/five.localsitemanager-2.0.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.testing-3.9.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.site-3.9.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.dottedname-3.4.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.component-3.9.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/watchdog-0.7.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/z3c.autoinclude-0.3.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.event-1.2.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.contenttypes-1.1b2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.dexterity-2.0.11-py2.7.egg',
    '/home/ajung/.buildout/eggs/pytz-2013b-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.querystring-1.1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.registry-1.2.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.search-1.1.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.jquery-1.8.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.vocabularies-2.1.15-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.ResourceRegistries-2.2.10-py2.7.egg',
    '/home/ajung/.buildout/eggs/collective.js.jqueryui-1.10.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/lxml-2.3.6-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/z3c.form-3.1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/Solgema.ContextualContentMenu-0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.z3cform-0.8.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.formwidget.contenttree-1.0.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.z3cform-0.7.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/collective.js.fullcalendar-1.6.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/collective.js.colorpicker-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/translitcodec-0.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/hachoir_parser-1.3.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/hachoir_metadata-1.3.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/hachoir_core-1.3.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.namedfile-2.0.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.relationfield-1.2.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.ldap-1.3.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.ATVocabularyManager-1.6.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/collective.editskinswitcher-3.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/collective.z3cform.datagridfield-0.11-py2.7.egg',
    '/home/ajung/.buildout/eggs/wildcard.foldercontents-1.2.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.api-1.1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/z3c.jbot-0.7.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/gocept.cache-0.6.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/fs-0.4.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/loremipsum-1.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/wicked-1.1.10-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.theming-1.1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.openid-2.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.iterate-2.1.12-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.caching-1.1.8-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFPlacefulWorkflow-1.5.10-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/zope.event-3.5.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zdaemon-2.0.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/ZConfig-2.9.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zc.lockfile-1.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/transaction-1.1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.StandardCacheManagers-2.13.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.PythonScripts-2.13.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.MIMETools-2.13.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.MailHost-2.13.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.ExternalMethod-2.13.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.BTreeFolder2-2.13.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.viewlet-3.7.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.traversing-3.13.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.testbrowser-3.11.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.tales-3.5.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.tal-3.5.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.structuredtext-3.5.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.size-3.4.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.sequencesort-3.4.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.sendmail-3.7.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.security-3.7.4-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/zope.schema-4.2.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.ptresource-3.9.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.proxy-3.6.1-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/zope.processlifetime-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.pagetemplate-3.6.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.location-3.9.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.lifecycleevent-3.6.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.i18nmessageid-3.5.3-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/zope.i18n-3.7.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.exceptions-3.6.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.deferredimport-3.5.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.contenttype-3.5.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.contentprovider-3.7.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.container-3.11.2-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/zope.browserresource-3.10.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.browserpage-3.12.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.browsermenu-3.9.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.browser-1.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/zLOG-2.11.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zExceptions-2.13.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/tempstorage-2.12.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/initgroups-2.13.0-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/docutils-0.9.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/ZopeUndo-2.12.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/RestrictedPython-3.6.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/Record-2.13.0-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/Products.ZCTextIndex-2.13.5-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/Products.ZCatalog-2.13.27-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.OFSP-2.13.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/Persistence-2.13.2-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/MultiMapping-2.13.0-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/Missing-2.13.1-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/ExtensionClass-2.13.2-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/DocumentTemplate-2.13.2-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/DateTime-3.0.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/Acquisition-2.13.8-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/AccessControl-3.0.8-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/zope.formlib-4.0.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.deprecation-3.4.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.app.locales-3.6.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plonetheme.sunburst-1.4.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/plonetheme.classic-1.3.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.theme-2.1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.session-3.5.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.registry-1.0.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.protect-2.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.portlets-2.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.portlet.static-2.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.portlet.collection-2.1.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.locking-2.0.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.intelligenttext-2.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.indexer-1.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.i18n-2.0.9-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.fieldsets-2.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.contentrules-2.0.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.browserlayer-2.1.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.batching-1.0.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.workflow-2.1.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.viewletmanager-2.0.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.uuid-1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.users-1.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.upgrade-1.3.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.redirector-1.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.portlets-2.5a1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.locales-4.3.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.linkintegrity-1.5.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.layout-2.3.9-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.jquerytools-1.5.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.i18n-2.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.form-2.2.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.folder-1.0.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.discussion-2.2.12-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.customerize-1.2.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.controlpanel-2.3.8-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.contentrules-3.0.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.contentmenu-2.0.10-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.contentlisting-1.0.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.content-2.1.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.collection-1.0.11-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.blob-1.5.9-py2.7.egg',
    '/home/ajung/.buildout/eggs/five.customerize-1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/borg.localrole-3.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/archetypes.referencebrowserwidget-2.4.20-py2.7.egg',
    '/home/ajung/.buildout/eggs/archetypes.querywidget-1.0.10-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.statusmessages-4.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.TinyMCE-1.3.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.PortalTransforms-2.1.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.PluginRegistry-1.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.PluggableAuthService-1.10.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.PlonePAS-4.1.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.PloneLanguageTool-3.2.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.PlacelessTranslationService-2.0.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.PasswordResetTool-2.0.16-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.MimetypesRegistry-2.0.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.ExternalEditor-1.1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.ExtendedPathIndex-3.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.DCWorkflow-2.2.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFUid-2.2.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFQuickInstallerTool-3.0.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFFormController-3.0.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFEditions-2.2.9-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFDynamicViewFTI-4.0.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFDiffTool-2.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFDefault-2.2.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFCore-2.2.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFCalendar-2.2.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.CMFActionIcons-2.1.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.Archetypes-1.9.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.ATContentTypes-2.1.14-py2.7.egg',
    '/home/ajung/.buildout/eggs/unittest2-0.5.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.ramcache-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.annotation-3.5.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/pathtools-0.1.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/argh-0.24.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/PyYAML-3.11-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/zope.globalrequest-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.uuid-1.0.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.formwidget.recurrence-1.2.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.folder-1.0.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.event-1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/icalendar-3.6.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/collective.elephantvocabulary-0.2.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.DateRecurringIndex-2.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.versioningbehavior-1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.formwidget.querystring-1.1.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.dexterity-2.2.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.supermodel-1.2.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.autoform-1.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.schemaeditor-1.3.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.rfc822-1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.formwidget.namedfile-1.0.9-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.behavior-1.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.textfield-1.2.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/collective.z3cform.datetimewidget-1.2.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/six-1.2.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.formwidget.autocomplete-1.2.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/z3c.formwidget.query-0.10-py2.7.egg',
    '/home/ajung/.buildout/eggs/z3c.relationfield-0.6.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.intid-1.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/five.intid-1.0.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.intid-3.7.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.PloneLDAP-1.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/imsvdex-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/collective.testcaselayer-1.6-py2.7.egg',
    '/home/ajung/.buildout/eggs/jarn.jsi18n-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/decorator-3.4.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/distribute-0.6.28-py2.7.egg',
    '/home/ajung/.buildout/eggs/five.globalrequest-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/repoze.xmliter-0.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.resourceeditor-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.resource-1.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.transformchain-1.0.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.subrequest-1.6.8-py2.7.egg',
    '/home/ajung/.buildout/eggs/roman-1.4.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/diazo-1.0.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.openid-2.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/z3c.zcmlhook-1.0b1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.cachepurging-1.0.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.caching-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/python_dateutil-1.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/mechanize-0.2.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.broken-3.6.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.filerepresentation-3.6.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.datetime-3.4.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.keyring-2.0.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/Unidecode-0.04.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/five.formlib-1.0.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.componentvocabulary-1.0.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.SecureMailHost-1.1.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.contentmigration-2.1.7-py2.7.egg',
    '/home/ajung/.buildout/eggs/feedparser-5.0.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/collective.monkeypatcher-1.0.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.cachedescriptors-3.5.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.stringinterp-1.0.11-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.validation-2.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.scale-1.3.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.app.imaging-1.0.10-py2.7.egg',
    '/home/ajung/.buildout/eggs/archetypes.schemaextender-2.1.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.app.content-3.5.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.outputfilters-1.12-py2.7.egg',
    '/home/ajung/.buildout/eggs/Markdown-2.0.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/python_gettext-1.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.ZopeVersionControl-1.1.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.copy-3.5.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.app.publication-3.12.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.ZSQLMethods-2.13.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.app.form-4.0.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.Marshall-2.1.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.ATReferenceBrowserWidget-3.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.app.container-3.9.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/rwproperty-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.directives.form-2.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.synchronize-1.0.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/plone.alterego-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/zc.relation-1.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/z3c.objpath-1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.app.intid-3.7.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/grokcore.component-2.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.keyreference-3.6.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.LDAPUserFolder-2.27-py2.7.egg',
    '/home/ajung/.buildout/eggs/Products.LDAPMultiPlugins-1.14-py2.7.egg',
    '/home/ajung/.buildout/eggs/elementtreewriter-1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/elementtree-1.2.7_20070827_preview-py2.7.egg',
    '/home/ajung/.buildout/eggs/z3c.caching-2.0a1-py2.7.egg',
    '/home/ajung/.buildout/eggs/experimental.cssselect-0.3-py2.7.egg',
    '/home/ajung/.buildout/eggs/python_openid-2.2.5-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.error-3.7.4-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.authentication-3.7.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.dublincore-3.7.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/zope.copypastemove-3.7.0-py2.7.egg',
    '/home/ajung/.buildout/eggs/grokcore.view-2.8-py2.7.egg',
    '/home/ajung/.buildout/eggs/five.grok-1.3.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/martian-0.14-py2.7.egg',
    '/home/ajung/.buildout/eggs/python_ldap-2.4.15-py2.7-linux-x86_64.egg',
    '/home/ajung/.buildout/eggs/dataflake.fakeldap-1.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/grokcore.security-1.6.2-py2.7.egg',
    '/home/ajung/.buildout/eggs/grokcore.viewlet-1.11-py2.7.egg',
    '/home/ajung/.buildout/eggs/grokcore.site-1.6.1-py2.7.egg',
    '/home/ajung/.buildout/eggs/grokcore.annotation-1.3-py2.7.egg',
    ]

Bug in rendering the fullcalendar view on a new-style Collection (with plone.app.contenttypes)

The setup:

  • Plone 4.3.3
  • plone.app.contenttypes 1.1b2 / plone.app.event 1.1
  • plone.app.collection 1.0.11
  • Solgema.fullcalendar 2.3.3

To reproduce:

  • Make sure you install a Plone site with only Dexterity-based default content types,
  • Add at least 1 event in the site,
  • Create a Collection, and set its criteria to display the events,
  • Set the solgema fullcalendar view on the collection.

You immediately get the following error::

Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Products.Five.browser.metaconfigure, line 479, in call
Module Products.Five.browser.pagetemplatefile, line 125, in call
Module Products.Five.browser.pagetemplatefile, line 59, in call
Module zope.pagetemplate.pagetemplate, line 132, in pt_render
Module zope.pagetemplate.pagetemplate, line 240, in call
Module zope.tal.talinterpreter, line 271, in call
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 888, in do_useMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 852, in do_condition
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 946, in do_defineSlot
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
Module Products.PageTemplates.Expressions, line 218, in evaluateStructure
Module zope.tales.tales, line 696, in evaluate

  • URL: ...plonebuildout-cache/eggs/Solgema.fullcalendar-2.3.3-py2.7.egg/Solgema/fullcalendar/browser/collectionview.pt
  • Line 7, Column 8
  • Expression: <PythonExpr (path('here/solgemafullcalendar_colors.css'))>
  • Names:
    {'args': (),
    'container': <Collection at /Plone/collection>,
    'context': <Collection at /Plone/collection>,
    'default': <object object at 0x10d11ab20>,
    'here': <Collection at /Plone/collection>,
    'loop': {},
    'nothing': None,
    'options': {},
    'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x114290208>,
    'request': <HTTPRequest, URL=http://localhost:12006/Plone/collection/solgemafullcalendar_view>,
    'root': ,
    'template': <Products.Five.browser.pagetemplatefile.ViewPageTemplateFile object at 0x111871790>,
    'traverse_subpath': [],
    'user': <PropertiedUser 'admin'>,
    'view': <Products.Five.metaclass.SimpleViewClass from ...plonebuildout-cache/eggs/Solgema.fullcalendar-2.3.3-py2.7.egg/Solgema/fullcalendar/browser/collectionview.pt object at 0x10e8b4dd0>,
    'views': <Products.Five.browser.pagetemplatefile.ViewMapper object at 0x10e8b4410>}
    Module zope.tales.pythonexpr, line 59, in call
  • traceback_info: (path('here/solgemafullcalendar_colors.css'))
    Module , line 1, in
    Module zope.tales.pythonexpr, line 77, in call
    Module zope.tales.expressions, line 217, in call
    Module Products.PageTemplates.Expressions, line 155, in _eval
    Module Products.PageTemplates.Expressions, line 117, in render
    Module Solgema.fullcalendar.browser.views, line 704, in call
    AttributeError: 'NoneType' object has no attribute 'queryColors'

LookupError: --NOVALUE-- in @@solgemafullcalendar_properties

The @@solgemafullcalendar_properties view does not work at all on a clean Plone 4.3.3 site.

To reproduce:

  • Install Plone 4.3.3 (I used unified installer)
  • Add Solgema.fullcalendar == 2.3.3 to buildout, and run buildout again
  • Start up the instance and create a new Plone site, adding Solgema.fullcalendar
  • navigate to /events (the default)
  • Activate Solgema Fullcalendar from the Display menu
  • Click on the "Calendar Properties" item in the green bar (@@solgemafullcalendar_properties)

Result:

2014-06-27 16:39:54 ERROR Zope.SiteErrorLog 1403912394.220.169233186386 http://localhost:8080/Plone/events/@@solgemafullcalendar_properties
Traceback (innermost last):
  Module ZPublisher.Publish, line 138, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 48, in call_object
  Module plone.z3cform.layout, line 66, in __call__
  Module plone.z3cform.layout, line 60, in update
  Module z3c.form.form, line 158, in render
  Module zope.browserpage.viewpagetemplatefile, line 51, in __call__
  Module zope.pagetemplate.pagetemplate, line 132, in pt_render
  Module zope.pagetemplate.pagetemplate, line 240, in __call__
  Module zope.tal.talinterpreter, line 271, in __call__
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 888, in do_useMacro
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 954, in do_defineSlot
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 858, in do_defineMacro
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 852, in do_condition
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 821, in do_loop_tal
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 888, in do_useMacro
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 821, in do_loop_tal
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 954, in do_defineSlot
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 858, in do_defineMacro
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 531, in do_optTag_tal
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
  Module zope.tales.tales, line 696, in evaluate
   - URL: /Users/fulvio/python/plone/solgema/buildout-cache/eggs/plone.app.z3cform-0.7.6-py2.7.egg/plone/app/z3cform/templates/macros.pt
   - Line 97, Column 46
   - Expression: <PathExpr standard:u'widget/@@ploneform-render-widget'>
   - Names:
      {'args': (),
       'context': <ATFolder at /Plone/events>,
       'default': <object object at 0x10d4d9bc0>,
       'loop': {},
       'nothing': None,
       'options': {},
       'repeat': {},
       'request': <HTTPRequest, URL=http://localhost:8080/Plone/events/@@solgemafullcalendar_properties>,
       'template': <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at 0x1108d1e90>,
       'view': <Solgema.fullcalendar.browser.content.SolgemaFullcalendarFormBase object at 0x1127a6150>,
       'views': <zope.browserpage.viewpagetemplatefile.ViewMapper object at 0x1128922d0>}
  Module zope.tales.expressions, line 217, in __call__
  Module Products.PageTemplates.Expressions, line 155, in _eval
  Module Products.PageTemplates.Expressions, line 117, in render
  Module Products.Five.browser.metaconfigure, line 479, in __call__
  Module zope.browserpage.viewpagetemplatefile, line 83, in __call__
  Module zope.browserpage.viewpagetemplatefile, line 51, in __call__
  Module zope.pagetemplate.pagetemplate, line 132, in pt_render
  Module zope.pagetemplate.pagetemplate, line 240, in __call__
  Module zope.tal.talinterpreter, line 271, in __call__
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 858, in do_defineMacro
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 954, in do_defineSlot
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 531, in do_optTag_tal
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
  Module zope.tales.tales, line 696, in evaluate
   - URL: /Users/fulvio/python/plone/solgema/buildout-cache/eggs/plone.app.z3cform-0.7.6-py2.7.egg/plone/app/z3cform/templates/widget.pt
   - Line 37, Column 4
   - Expression: <PathExpr standard:u'widget/render'>
   - Names:
      {'args': (),
       'context': <ContentTreeWidget 'form.widgets.target_folder'>,
       'default': <object object at 0x10d4d9bc0>,
       'loop': {},
       'nothing': None,
       'options': {},
       'repeat': {},
       'request': <HTTPRequest, URL=http://localhost:8080/Plone/events/@@solgemafullcalendar_properties>,
       'template': <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at 0x110984210>,
       'view': <Products.Five.metaclass.RenderWidget object at 0x11297ef90>,
       'views': <zope.browserpage.viewpagetemplatefile.ViewMapper object at 0x11278d790>}
  Module zope.tales.expressions, line 217, in __call__
  Module zope.tales.expressions, line 211, in _eval
  Module plone.formwidget.contenttree.widget, line 168, in render
  Module zope.browserpage.viewpagetemplatefile, line 83, in __call__
  Module zope.browserpage.viewpagetemplatefile, line 51, in __call__
  Module zope.pagetemplate.pagetemplate, line 132, in pt_render
  Module zope.pagetemplate.pagetemplate, line 240, in __call__
  Module zope.tal.talinterpreter, line 271, in __call__
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
  Module zope.tales.tales, line 696, in evaluate
   - URL: /Users/fulvio/python/plone/solgema/buildout-cache/eggs/plone.formwidget.contenttree-1.0.7-py2.7.egg/plone/formwidget/contenttree/input.pt
   - Line 3, Column 5
   - Expression: <PathExpr standard:u'view/renderQueryWidget'>
   - Names:
      {'args': (<ContentTreeWidget 'form.widgets.target_folder'>,),
       'context': <ATFolder at /Plone/events>,
       'default': <object object at 0x10d4d9bc0>,
       'loop': {},
       'nothing': None,
       'options': {},
       'repeat': {},
       'request': <HTTPRequest, URL=http://localhost:8080/Plone/events/@@solgemafullcalendar_properties>,
       'template': <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at 0x110527d10>,
       'view': <ContentTreeWidget 'form.widgets.target_folder'>,
       'views': <zope.browserpage.viewpagetemplatefile.ViewMapper object at 0x11298ed50>}
  Module zope.tales.expressions, line 217, in __call__
  Module zope.tales.expressions, line 211, in _eval
  Module z3c.formwidget.query.widget, line 212, in renderQueryWidget
  Module z3c.form.widget, line 153, in render
  Module zope.browserpage.viewpagetemplatefile, line 51, in __call__
  Module zope.pagetemplate.pagetemplate, line 132, in pt_render
  Module zope.pagetemplate.pagetemplate, line 240, in __call__
  Module zope.tal.talinterpreter, line 271, in __call__
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 531, in do_optTag_tal
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 821, in do_loop_tal
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 531, in do_optTag_tal
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
  Module zope.tales.tales, line 696, in evaluate
   - URL: /Users/fulvio/python/plone/solgema/buildout-cache/eggs/z3c.form-3.1.1-py2.7.egg/z3c/form/browser/radio_input.pt
   - Line 8, Column 4
   - Expression: <PythonExpr (view.renderForValue(item['value']))>
   - Names:
      {'args': (),
       'context': <ATFolder at /Plone/events>,
       'default': <object object at 0x10d4d9bc0>,
       'loop': {},
       'nothing': None,
       'options': {},
       'repeat': {},
       'request': <HTTPRequest, URL=http://localhost:8080/Plone/events/@@solgemafullcalendar_properties>,
       'template': <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at 0x110935290>,
       'view': <ContentTreeWidget 'form.widgets.target_folder'>,
       'views': <zope.browserpage.viewpagetemplatefile.ViewMapper object at 0x1118d2dd0>}
  Module zope.tales.pythonexpr, line 59, in __call__
   - __traceback_info__: (view.renderForValue(item['value']))
  Module <string>, line 1, in <module>
  Module z3c.form.browser.radio, line 44, in renderForValue
  Module z3c.form.term, line 38, in getTermByToken
  Module zope.schema.vocabulary, line 133, in getTermByToken
LookupError: --NOVALUE--

Automatic update of allowed view methods means you can't remove them!

https://github.com/collective/Solgema.fullcalendar/blob/master/Solgema/fullcalendar/events.py This event fires every time a profile is run and forces solgemafullcalendar_view to be an allowed view method for various types - why? I just spent a lot of time debugging where I tried to install a separate profile (to be run after this was installed) that existed solely to remove this view option from Folder and Event types, only to find that they weren't removed. I don't see a way to disable this view as an option without hacking your code to nullify this event listener, or manually editing TTP which doesn't fly when I need to be able setup a new portal with our profiles in one click.

Please consider removing this event listener. If this option needs to be applied to to older sites it should be done manually through a GenericSetup upgrade step in my opinion.

KeyError: 'v' when viewing calendar

On a Plone-4.3.1 with Solgema-fullcalendar-2.3.2 installed, after setting the provided events-collection to calendar-view and adding tags as criterion, viewing @@solgemafullcalendar_view yields:

2014-02-15 10:47:56 ERROR Zope.SiteErrorLog 1392457676.870.131719189788 http://localhost:8080/98Plone/events/aggregator/solgemafullcalendar_view
Traceback (innermost last):
  Module ZPublisher.Publish, line 126, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 46, in call_object
  Module Products.Five.browser.metaconfigure, line 479, in __call__
  Module Products.Five.browser.pagetemplatefile, line 125, in __call__
  Module Products.Five.browser.pagetemplatefile, line 59, in __call__
  Module zope.pagetemplate.pagetemplate, line 132, in pt_render
  Module zope.pagetemplate.pagetemplate, line 240, in __call__
  Module zope.tal.talinterpreter, line 271, in __call__
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 888, in do_useMacro
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 852, in do_condition
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 946, in do_defineSlot
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
  Module Products.PageTemplates.Expressions, line 218, in evaluateStructure
  Module zope.tales.tales, line 696, in evaluate
   - URL: /home/ida/.buildout/eggs/Solgema.fullcalendar-2.3.2-py2.7.egg/Solgema/fullcalendar/browser/collectionview.pt
   - Line 7, Column 8
   - Expression: <PythonExpr (path('here/solgemafullcalendar_colors.css'))>
   - Names:
      {'args': (),
       'container': <Collection at /98Plone/events/aggregator>,
       'context': <Collection at /98Plone/events/aggregator>,
       'default': <object object at 0x7f7d4dff64e0>,
       'here': <Collection at /98Plone/events/aggregator>,
       'loop': {},
       'nothing': None,
       'options': {},
       'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x5e71d08>,
       'request': <HTTPRequest, URL=http://localhost:8080/98Plone/events/aggregator/solgemafullcalendar_view>,
       'root': <Application at >,
       'template': <Products.Five.browser.pagetemplatefile.ViewPageTemplateFile object at 0x7e9e5d0>,
       'traverse_subpath': [],
       'user': <PropertiedUser 'admin'>,
       'view': <Products.Five.metaclass.SimpleViewClass from /home/ida/.buildout/eggs/Solgema.fullcalendar-2.3.2-py2.7.egg/Solgema/fullcalendar/browser/collectionview.pt object at 0x5e8f450>,
       'views': <Products.Five.browser.pagetemplatefile.ViewMapper object at 0x5e89610>}
  Module zope.tales.pythonexpr, line 59, in __call__
   - __traceback_info__: (path('here/solgemafullcalendar_colors.css'))
  Module <string>, line 1, in <module>
  Module zope.tales.pythonexpr, line 77, in __call__
  Module zope.tales.expressions, line 217, in __call__
  Module Products.PageTemplates.Expressions, line 155, in _eval
  Module Products.PageTemplates.Expressions, line 117, in render
  Module Solgema.fullcalendar.browser.views, line 710, in __call__
  Module ZPublisher.HTTPRequest, line 1731, in __getitem__
KeyError: 'v'

Removing the start-date-criterion (set to "after today"), helps (the example events were set to be in the future, so that wasn't the problem). Suspect therefore, the start-date-field to be the culprit and relates #20, where the same error is risen with the @@solgemafullcalendar_properties-view, also because of the start-date.

We should also check similar potential problems with end-date, of course.

Error on date afterToday with plone.app.collection

I use plone.app.collection on Plone 4.3.2 and Solgema.fullcalendar 2.3.4.

When a make a criterion date "expires" with option "afterToday", I have this error, and I didn't see any events.

@@solgemafullcalendarevents
Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Solgema.fullcalendar.browser.views, line 672, in call
Module Solgema.fullcalendar.browser.adapters, line 935, in getEvents
Module Solgema.fullcalendar.browser.adapters, line 479, in _getBrains
Module Solgema.fullcalendar.browser.adapters, line 172, in searchResults
Module Products.LinguaPlone.patches, line 34, in searchResults
Module Products.CMFPlone.CatalogTool, line 393, in searchResults
Module Products.ZCatalog.ZCatalog, line 604, in searchResults
Module Products.ZCatalog.Catalog, line 907, in searchResults
Module Products.ZCatalog.Catalog, line 525, in search
Module Products.PluginIndexes.DateIndex.DateIndex, line 170, in _apply_index
Module Products.CMFPlone.patches.dateIndexPatch, line 12, in _convert
Module Products.PluginIndexes.DateIndex.DateIndex, line 248, in _convert
Module DateTime.DateTime, line 440, in init
Module DateTime.DateTime, line 752, in _parse_args
Module DateTime.DateTime, line 989, in _parse
SyntaxError: plone.app.querystring.operation.date.afterToday

icalexport with subfolders

When i try to export events via the ics_view view where i have my events in subfolders i get the error:

TypeError: ('Could not adapt', <AirplaneCalendar at /Plone/flugkalender/flugzeug-1>, <InterfaceClass plone.event.interfaces.IEventAccessor>)
> /home/pcdummy/.buildout/eggs/plone.app.event-1.1.5-py2.7.egg/plone/app/event/ical/exporter.py(53)construct_icalendar()
     52             event = event.getObject()
---> 53         acc = IEventAccessor(event)
     54         tz = acc.timezone

bd6f5dc fixes it for me, but i'm pretty sure this isn't the right solution for that.

What do you think, howto solve that? I'll be happy to fix that if you tell me how.

Which fullcalendar version is used?

Cannot find any hint, which version of B. Shaw's fullcalendar is used here, which would be helpful to me, to know which features can be used. Can you please tell me, or have I overseen it? Regards, Ida

AttributeError: 'NoneType' object has no attribute 'isoformat'

"Add event" does not work with Plone 4.3.2 and latest plone.app.contenttypes (including plone.app.event).

Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Products.CMFFormController.FSControllerPythonScript, line 107, in call
Module Products.CMFFormController.ControllerBase, line 231, in getNext
Module Products.CMFFormController.Actions.TraverseTo, line 38, in call
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Solgema.fullcalendar.browser.dx, line 38, in call
Module Products.Five.browser.pagetemplatefile, line 125, in call
Module Products.Five.browser.pagetemplatefile, line 59, in call
Module zope.pagetemplate.pagetemplate, line 132, in pt_render
Module zope.pagetemplate.pagetemplate, line 240, in call
Module zope.tal.talinterpreter, line 271, in call
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 888, in do_useMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 852, in do_condition
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 946, in do_defineSlot
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 620, in do_insertText_tal
Module Products.PageTemplates.Expressions, line 225, in evaluateText
Module zope.tales.tales, line 696, in evaluate

  • URL: /Users/ajung/.buildout/eggs/Solgema.fullcalendar-2.3.2-py2.7.egg/Solgema/fullcalendar/browser/edit_dx_event.pt
  • Line 9, Column 0
  • Expression: <StringExpr u" sf_goto_date='${view/isodate}'">
  • Names:
    {'args': (),
    'container': <Event at /et-08.12.13-153614/events/portal_factory/Event/event.2013-12-08.5814225652 used for /et-08.12.13-153614/events>,
    'context': <Event at /et-08.12.13-153614/events/portal_factory/Event/event.2013-12-08.5814225652 used for /et-08.12.13-153614/events>,
    'default': <object object at 0x10026dbb0>,
    'here': <Event at /et-08.12.13-153614/events/portal_factory/Event/event.2013-12-08.5814225652 used for /et-08.12.13-153614/events>,
    'loop': {},
    'nothing': None,
    'options': {},
    'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x1105b87e0>,
    'request': <HTTPRequest, URL=http://localhost:5080/et-08.12.13-153614/events/createSFEvent>,
    'root': ,
    'template': <Products.Five.browser.pagetemplatefile.ViewPageTemplateFile object at 0x110714510>,
    'traverse_subpath': [],
    'user': <PropertiedUser 'admin'>,
    'view': <Products.Five.metaclass.InlineFrameEditForm object at 0x1107dbd10>,
    'views': <Products.Five.browser.pagetemplatefile.ViewMapper object at 0x1107db490>}
    Module Products.PageTemplates.Expressions, line 383, in call
    Module Products.PageTemplates.Expressions, line 225, in evaluateText
    Module zope.tales.tales, line 696, in evaluate
  • URL: /Users/ajung/.buildout/eggs/Solgema.fullcalendar-2.3.2-py2.7.egg/Solgema/fullcalendar/browser/edit_dx_event.pt
  • Line 9, Column 0
  • Expression: <PathExpr path:u'view/isodate'>
  • Names:
    {'args': (),
    'container': <Event at /et-08.12.13-153614/events/portal_factory/Event/event.2013-12-08.5814225652 used for /et-08.12.13-153614/events>,
    'context': <Event at /et-08.12.13-153614/events/portal_factory/Event/event.2013-12-08.5814225652 used for /et-08.12.13-153614/events>,
    'default': <object object at 0x10026dbb0>,
    'here': <Event at /et-08.12.13-153614/events/portal_factory/Event/event.2013-12-08.5814225652 used for /et-08.12.13-153614/events>,
    'loop': {},
    'nothing': None,
    'options': {},
    'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x1105b87e0>,
    'request': <HTTPRequest, URL=http://localhost:5080/et-08.12.13-153614/events/createSFEvent>,
    'root': ,
    'template': <Products.Five.browser.pagetemplatefile.ViewPageTemplateFile object at 0x110714510>,
    'traverse_subpath': [],
    'user': <PropertiedUser 'admin'>,
    'view': <Products.Five.metaclass.InlineFrameEditForm object at 0x1107dbd10>,
    'views': <Products.Five.browser.pagetemplatefile.ViewMapper object at 0x1107db490>}
    Module zope.tales.expressions, line 217, in call
    Module Products.PageTemplates.Expressions, line 155, in _eval
    Module Products.PageTemplates.Expressions, line 117, in render
    Module Solgema.fullcalendar.browser.dx, line 42, in isodate
    AttributeError: 'NoneType' object has no attribute 'isoformat'

sys.path[0:0] = [
'/Users/ajung/.buildout/eggs/Pillow-1.7.8-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/Plone-4.3.2-py2.7.egg',
'/Users/ajung/sandboxes/eteaching.org/src/eteaching.policy',
'/Users/ajung/.buildout/eggs/Solgema.fullcalendar-2.3.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/Solgema.ContextualContentMenu-0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/sauna.reload-0.5.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.testing-4.2.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.recipe.zope2instance-4.2.13-py2.7.egg',
'/Users/ajung/.buildout/eggs/ZODB3-3.10.5-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/Zope2-2.13.21-py2.7.egg',
'/Users/ajung/.buildout/eggs/zc.recipe.egg-1.3.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/mailinglogger-3.7.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/setuptools-0.6c11-py2.7.egg',
'/Users/ajung/.buildout/eggs/zc.buildout-1.7.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.GenericSetup-1.7.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFPlone-4.3.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.testing-4.0.8-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.memoize-1.1.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/five.localsitemanager-2.0.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.testing-3.9.7-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.site-3.9.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.dottedname-3.4.6-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.component-3.9.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/watchdog-0.6.0-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/z3c.autoinclude-0.3.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/z3c.form-3.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.z3cform-0.8.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.formwidget.contenttree-1.0.7-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.z3cform-0.7.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/collective.js.jqueryui-1.10.1.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/collective.js.fullcalendar-1.6.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/collective.js.colorpicker-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.namedfile-2.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.relationfield-1.2.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.dexterity-2.0.9-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.contenttypes-1.1a1-py2.7.egg',
'/Users/ajung/.buildout/eggs/wildcard.foldercontents-2.0a1-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PloneFormGen-1.7.12-py2.7.egg',
'/Users/ajung/.buildout/eggs/collective.embedly-2.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/z3c.jbot-0.7.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/loremipsum-1.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/wicked-1.1.10-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.theming-1.1.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.openid-2.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.iterate-2.1.10-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.caching-1.1.6-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFPlacefulWorkflow-1.5.9-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.interface-3.6.7-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/zope.event-3.5.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zdaemon-2.0.7-py2.7.egg',
'/Users/ajung/.buildout/eggs/ZConfig-2.9.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zc.lockfile-1.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/transaction-1.1.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.StandardCacheManagers-2.13.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PythonScripts-2.13.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.MIMETools-2.13.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.MailHost-2.13.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.ExternalMethod-2.13.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.BTreeFolder2-2.13.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.viewlet-3.7.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.traversing-3.13.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.testbrowser-3.11.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.tales-3.5.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.tal-3.5.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.structuredtext-3.5.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.size-3.4.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.sequencesort-3.4.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.sendmail-3.7.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.security-3.7.4-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/zope.schema-4.2.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.ptresource-3.9.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.proxy-3.6.1-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/zope.processlifetime-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.pagetemplate-3.6.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.location-3.9.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.lifecycleevent-3.6.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.i18nmessageid-3.5.3-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/zope.i18n-3.7.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.exceptions-3.6.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.deferredimport-3.5.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.contenttype-3.5.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.contentprovider-3.7.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.container-3.11.2-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/zope.browserresource-3.10.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.browserpage-3.12.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.browsermenu-3.9.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.browser-1.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/zLOG-2.11.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zExceptions-2.13.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/tempstorage-2.12.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/pytz-2013b-py2.7.egg',
'/Users/ajung/.buildout/eggs/initgroups-2.13.0-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/docutils-0.9.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/ZopeUndo-2.12.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/RestrictedPython-3.6.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/Record-2.13.0-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/Products.ZCTextIndex-2.13.4-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/Products.ZCatalog-2.13.23-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.OFSP-2.13.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/Persistence-2.13.2-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/MultiMapping-2.13.0-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/Missing-2.13.1-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/ExtensionClass-2.13.2-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/DocumentTemplate-2.13.2-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/DateTime-3.0.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/Acquisition-2.13.8-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/AccessControl-3.0.8-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/zope.formlib-4.0.6-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.deprecation-3.4.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.app.locales-3.6.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plonetheme.sunburst-1.4.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/plonetheme.classic-1.3.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.theme-2.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.session-3.5.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.registry-1.0.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.protect-2.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.portlets-2.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.portlet.static-2.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.portlet.collection-2.1.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.locking-2.0.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.intelligenttext-2.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.indexer-1.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.i18n-2.0.9-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.fieldsets-2.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.contentrules-2.0.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.browserlayer-2.1.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.batching-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.workflow-2.1.6-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.vocabularies-2.1.12-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.viewletmanager-2.0.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.uuid-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.users-1.2a2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.upgrade-1.3.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.search-1.1.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.registry-1.2.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.redirector-1.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.portlets-2.5a1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.locales-4.3.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.linkintegrity-1.5.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.layout-2.3.9-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.jquerytools-1.5.6-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.jquery-1.8.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.i18n-2.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.form-2.2.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.folder-1.0.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.discussion-2.2.8-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.customerize-1.2.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.controlpanel-2.3.7-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.contentrules-3.0.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.contentmenu-2.0.8-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.contentlisting-1.0.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.content-2.1.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.collection-1.0.11-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.blob-1.5.8-py2.7.egg',
'/Users/ajung/.buildout/eggs/five.customerize-1.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/borg.localrole-3.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/archetypes.referencebrowserwidget-2.4.19-py2.7.egg',
'/Users/ajung/.buildout/eggs/archetypes.querywidget-1.0.9-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.statusmessages-4.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.TinyMCE-1.3.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.ResourceRegistries-2.2.9-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PortalTransforms-2.1.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PluginRegistry-1.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PluggableAuthService-1.10.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PlonePAS-4.1.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PloneLanguageTool-3.2.7-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PlacelessTranslationService-2.0.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PasswordResetTool-2.0.15-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.MimetypesRegistry-2.0.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.ExternalEditor-1.1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.ExtendedPathIndex-3.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.DCWorkflow-2.2.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFUid-2.2.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFQuickInstallerTool-3.0.6-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFFormController-3.0.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFEditions-2.2.8-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFDynamicViewFTI-4.0.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFDiffTool-2.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFDefault-2.2.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFCore-2.2.7-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFCalendar-2.2.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.CMFActionIcons-2.1.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.Archetypes-1.9.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.ATContentTypes-2.1.13-py2.7.egg',
'/Users/ajung/.buildout/eggs/unittest2-0.5.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.ramcache-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.annotation-3.5.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/pathtools-0.1.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/argh-0.23.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/PyYAML-3.10-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/six-1.2.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.formwidget.autocomplete-1.2.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/z3c.formwidget.query-0.9-py2.7.egg',
'/Users/ajung/.buildout/eggs/collective.z3cform.datetimewidget-1.2.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.rfc822-1.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.supermodel-1.2.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.autoform-1.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/z3c.relationfield-0.6.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.intid-1.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/five.intid-1.0.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.intid-3.7.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/lxml-2.3.6-py2.7-macosx-10.4-x86_64.egg',
'/Users/ajung/.buildout/eggs/plone.schemaeditor-1.3.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.formwidget.namedfile-1.0.7-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.dexterity-2.1.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.behavior-1.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.textfield-1.2.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.versioningbehavior-1.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.formwidget.querystring-1.1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.event-1.1.a1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.querystring-1.1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PythonField-1.1.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.TemplateFields-1.2.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.TALESField-1.1.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/distribute-0.6.28-py2.7.egg',
'/Users/ajung/.buildout/eggs/five.globalrequest-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/repoze.xmliter-0.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.resourceeditor-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.resource-1.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.transformchain-1.0.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.subrequest-1.6.7-py2.7.egg',
'/Users/ajung/.buildout/eggs/roman-1.4.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/diazo-1.0.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.openid-2.0.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/z3c.zcmlhook-1.0b1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.cachepurging-1.0.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.caching-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/python_dateutil-1.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.PloneTestCase-0.9.17-py2.7.egg',
'/Users/ajung/.buildout/eggs/mechanize-0.2.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.broken-3.6.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.filerepresentation-3.6.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.datetime-3.4.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.keyring-2.0.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/Unidecode-0.04.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/five.formlib-1.0.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.componentvocabulary-1.0.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.uuid-1.0.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.SecureMailHost-1.1.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.contentmigration-2.1.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/feedparser-5.0.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.folder-1.0.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/collective.monkeypatcher-1.0.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.cachedescriptors-3.5.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.stringinterp-1.0.10-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.validation-2.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.scale-1.3.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.app.imaging-1.0.9-py2.7.egg',
'/Users/ajung/.buildout/eggs/archetypes.schemaextender-2.1.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.app.content-3.5.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.outputfilters-1.11.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/Markdown-2.0.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/python_gettext-1.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.ZopeVersionControl-1.1.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.copy-3.5.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.app.publication-3.12.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.ZSQLMethods-2.13.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.Marshall-2.1.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.ATReferenceBrowserWidget-3.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/zc.relation-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/z3c.objpath-1.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.app.container-3.9.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.app.intid-3.7.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/grokcore.component-2.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.keyreference-3.6.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.synchronize-1.0.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.alterego-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/rwproperty-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.directives.form-2.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.formwidget.recurrence-1.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.formwidget.datetime-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/plone.event-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/icalendar-3.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/collective.elephantvocabulary-0.2.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/Products.DateRecurringIndex-2.0.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.globalrequest-1.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/z3c.caching-2.0a1-py2.7.egg',
'/Users/ajung/.buildout/eggs/experimental.cssselect-0.3-py2.7.egg',
'/Users/ajung/.buildout/eggs/python_openid-2.2.5-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.app.form-4.0.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.error-3.7.4-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.authentication-3.7.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.dublincore-3.7.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/zope.copypastemove-3.7.0-py2.7.egg',
'/Users/ajung/.buildout/eggs/martian-0.14-py2.7.egg',
'/Users/ajung/.buildout/eggs/grokcore.view-2.8-py2.7.egg',
'/Users/ajung/.buildout/eggs/five.grok-1.3.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/grokcore.security-1.6.2-py2.7.egg',
'/Users/ajung/.buildout/eggs/grokcore.viewlet-1.11-py2.7.egg',
'/Users/ajung/.buildout/eggs/grokcore.site-1.6.1-py2.7.egg',
'/Users/ajung/.buildout/eggs/grokcore.annotation-1.3-py2.7.egg',
]

No tests at all!

it's not possible that such a nice package has exactly 0 tests and 0% coverage after so many years of development; we need to fix that.

#SFQuery radiobuttons not always all selected

I have a calendar configured to show possible selectable keywords in the #SFQuery-div and usually all radiobuttons of the possible keywords are checked.

However sometimes one keyword (always the last of the list?) isn't selected, yet any event with the non-selected keyword set, shows up in the calendar anyway.
To make things worse, after checking the non-checked keyword in the query, the event will be shown twice.
If you then check/uncheck everything works as expected again.

I cannot reproduce the problem, so I have no clue why sometimes things work as expected and sometimes not. Any hint welcome.

Failure on Plone 4.3: "NameError: name 'FolderView' is not defined"

This affects Solgema.fullcalendar 2.3.5 and 2.3.6; if I pin it to 2.3.4 everything is fine. Running on Plone 4.3.7.

With these versions, Zope fails to start; here is the relevant output of bin/client1 fg:

  File "/opt/plone4/buildout-cache/eggs/Solgema.fullcalendar-2.3.6-py2.7.egg/Solgema/fullcalendar/browser/views.py", line 172, in <module>
    class SolgemaFullcalendarDxView(FolderView, SolgemaFullcalendarView):
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/opt/plone4/plone4_dev/parts/client1/etc/site.zcml", line 16.2-16.23
    ZopeXMLConfigurationError: File "/opt/plone4/buildout-cache/eggs/Products.CMFPlone-4.3.7-py2.7.egg/Products/CMFPlone/configure.zcml", line 98.4-102.10
    ZopeXMLConfigurationError: File "/opt/plone4/buildout-cache/eggs/Solgema.fullcalendar-2.3.6-py2.7.egg/Solgema/fullcalendar/configure.zcml", line 24.2-24.31
    ZopeXMLConfigurationError: File "/opt/plone4/buildout-cache/eggs/Solgema.fullcalendar-2.3.6-py2.7.egg/Solgema/fullcalendar/browser/configure.zcml", line 21.2-29.8
    NameError: name 'FolderView' is not defined

Looking at recent commits, it appears there was work done with folder views that uses plone.app.contenttypes, which I do not have in my buildout. Is that a dependency of Solgema.fullcalendar now, or is the "don't have p.a.contenttypes" code path broken?

Calendar properties tab raises KeyError: 'v' after editing a Collection

Steps to reproduce:

  1. Create a Plone 4.3.1 site with Solgema.fullcalendar 2.3
  2. Access the Events collection and enable Solgema Fullcalendar view
  3. Edit its title or description
  4. Try to access Calendar properties
  5. Get the traceback below. Any ideas?

Traceback (innermost last):
Module ZPublisher.Publish, line 126, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in call_object
Module plone.z3cform.layout, line 66, in call
Module plone.z3cform.layout, line 60, in update
Module z3c.form.form, line 158, in render
Module zope.browserpage.viewpagetemplatefile, line 51, in call
Module zope.pagetemplate.pagetemplate, line 132, in pt_render
Module zope.pagetemplate.pagetemplate, line 240, in call
Module zope.tal.talinterpreter, line 271, in call
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 888, in do_useMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 954, in do_defineSlot
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 858, in do_defineMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 852, in do_condition
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 821, in do_loop_tal
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 888, in do_useMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 821, in do_loop_tal
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 954, in do_defineSlot
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 858, in do_defineMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 531, in do_optTag_tal
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
Module zope.tales.tales, line 696, in evaluate

  • URL: /home/observatorio/observatorio.buildout/eggs/plone.app.z3cform-0.7.3-py2.7.egg/plone/app/z3cform/templates/macros.pt
  • Line 94, Column 46
  • Expression: <PathExpr standard:u'widget/@@ploneform-render-widget'>
  • Names:
    {'args': (),
    'context': <Collection at /solgema/events/aggregator>,
    'default': <object object at 0xb75da7d0>,
    'loop': {},
    'nothing': None,
    'options': {},
    'repeat': {},
    'request': <HTTPRequest, URL=http://192.81.218.70:8081/solgema/events/aggregator/@@solgemafullcalendar_properties>,
    'template': <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at 0xd3ac26c>,
    'view': <Solgema.fullcalendar.browser.content.SolgemaFullcalendarTopicFormBase object at 0x199241cc>,
    'views': <zope.browserpage.viewpagetemplatefile.ViewMapper object at 0x19924bac>}
    Module zope.tales.expressions, line 217, in call
    Module Products.PageTemplates.Expressions, line 155, in _eval
    Module Products.PageTemplates.Expressions, line 117, in render
    Module Products.Five.browser.metaconfigure, line 479, in call
    Module zope.browserpage.viewpagetemplatefile, line 83, in call
    Module zope.browserpage.viewpagetemplatefile, line 51, in call
    Module zope.pagetemplate.pagetemplate, line 132, in pt_render
    Module zope.pagetemplate.pagetemplate, line 240, in call
    Module zope.tal.talinterpreter, line 271, in call
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 858, in do_defineMacro
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 954, in do_defineSlot
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 531, in do_optTag_tal
    Module zope.tal.talinterpreter, line 513, in no_tag
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
    Module zope.tales.tales, line 696, in evaluate
  • URL: /home/observatorio/observatorio.buildout/eggs/plone.app.z3cform-0.7.3-py2.7.egg/plone/app/z3cform/templates/widget.pt
  • Line 36, Column 4
  • Expression: <PathExpr standard:u'widget/render'>
  • Names:
    {'args': (),
    'context': <ColorDictInputWidget 'form.widgets.queryColors'>,
    'default': <object object at 0xb75da7d0>,
    'loop': {},
    'nothing': None,
    'options': {},
    'repeat': {},
    'request': <HTTPRequest, URL=http://192.81.218.70:8081/solgema/events/aggregator/@@solgemafullcalendar_properties>,
    'template': <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at 0xd4fd0ac>,
    'view': <Products.Five.metaclass.RenderWidget object at 0x19935b6c>,
    'views': <zope.browserpage.viewpagetemplatefile.ViewMapper object at 0x1993502c>}
    Module zope.tales.expressions, line 217, in call
    Module zope.tales.expressions, line 211, in _eval
    Module Solgema.fullcalendar.widgets.widgets, line 56, in render
    Module ZPublisher.HTTPRequest, line 1731, in getitem
    KeyError: 'v'

LookupError: --NOVALUE-- when accessing properties-tab

Steps to reproduce:

  • Install a Plone-4.3.3 site
  • Activate Solgema.fullcalendar-2.3.3
  • Set the 'events'-folder's view to 'Solgema Fullcalendar'
  • Click on 'Calendar properties'

Full traceback:

Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module plone.z3cform.layout, line 66, in call
Module plone.z3cform.layout, line 60, in update
Module z3c.form.form, line 158, in render
Module zope.browserpage.viewpagetemplatefile, line 51, in call
Module zope.pagetemplate.pagetemplate, line 132, in pt_render
Module zope.pagetemplate.pagetemplate, line 240, in call
Module zope.tal.talinterpreter, line 271, in call
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 888, in do_useMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 954, in do_defineSlot
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 858, in do_defineMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 852, in do_condition
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 821, in do_loop_tal
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 888, in do_useMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 821, in do_loop_tal
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 954, in do_defineSlot
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 858, in do_defineMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 531, in do_optTag_tal
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
Module zope.tales.tales, line 696, in evaluate

  • URL: /home/editha/.buildout/eggs/plone.app.z3cform-0.7.6-py2.7.egg/plone/app/z3cform/templates/macros.pt
  • Line 97, Column 46
  • Expression: <PathExpr standard:u'widget/@@ploneform-render-widget'>
  • Names:
    {'args': (),
    'context': <Collection at /97/events/aggregator>,
    'default': <object object at 0x7f87055ebb00>,
    'loop': {},
    'nothing': None,
    'options': {},
    'repeat': {},
    'request': <HTTPRequest, URL=http://v37211.1blu.de:8888/97/events/aggregator/@@solgemafullcalendar_properties>,
    'template': <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at 0x6c262d0>,
    'view': <Solgema.fullcalendar.browser.content.SolgemaFullcalendarTopicFormBase object at 0xc572610>,
    'views': <zope.browserpage.viewpagetemplatefile.ViewMapper object at 0xc624cd0>}
    Module zope.tales.expressions, line 217, in call
    Module Products.PageTemplates.Expressions, line 155, in _eval
    Module Products.PageTemplates.Expressions, line 117, in render
    Module Products.Five.browser.metaconfigure, line 479, in call
    Module zope.browserpage.viewpagetemplatefile, line 83, in call
    Module zope.browserpage.viewpagetemplatefile, line 51, in call
    Module zope.pagetemplate.pagetemplate, line 132, in pt_render
    Module zope.pagetemplate.pagetemplate, line 240, in call
    Module zope.tal.talinterpreter, line 271, in call
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 858, in do_defineMacro
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 954, in do_defineSlot
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 531, in do_optTag_tal
    Module zope.tal.talinterpreter, line 513, in no_tag
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
    Module zope.tales.tales, line 696, in evaluate
  • URL: /home/editha/.buildout/eggs/plone.app.z3cform-0.7.6-py2.7.egg/plone/app/z3cform/templates/widget.pt
  • Line 37, Column 4
  • Expression: <PathExpr standard:u'widget/render'>
  • Names:
    {'args': (),
    'context': <ContentTreeWidget 'form.widgets.target_folder'>,
    'default': <object object at 0x7f87055ebb00>,
    'loop': {},
    'nothing': None,
    'options': {},
    'repeat': {},
    'request': <HTTPRequest, URL=http://v37211.1blu.de:8888/97/events/aggregator/@@solgemafullcalendar_properties>,
    'template': <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at 0x6e22550>,
    'view': <Products.Five.metaclass.RenderWidget object at 0xc620910>,
    'views': <zope.browserpage.viewpagetemplatefile.ViewMapper object at 0xc6240d0>}
    Module zope.tales.expressions, line 217, in call
    Module zope.tales.expressions, line 211, in _eval
    Module plone.formwidget.contenttree.widget, line 168, in render
    Module zope.browserpage.viewpagetemplatefile, line 83, in call
    Module zope.browserpage.viewpagetemplatefile, line 51, in call
    Module zope.pagetemplate.pagetemplate, line 132, in pt_render
    Module zope.pagetemplate.pagetemplate, line 240, in call
    Module zope.tal.talinterpreter, line 271, in call
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 533, in do_optTag_tal
    Module zope.tal.talinterpreter, line 518, in do_optTag
    Module zope.tal.talinterpreter, line 513, in no_tag
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
    Module zope.tales.tales, line 696, in evaluate
  • URL: /home/editha/.buildout/eggs/plone.formwidget.contenttree-1.0.7-py2.7.egg/plone/formwidget/contenttree/input.pt
  • Line 3, Column 5
  • Expression: <PathExpr standard:u'view/renderQueryWidget'>
  • Names:
    {'args': (<ContentTreeWidget 'form.widgets.target_folder'>,),
    'context': <Collection at /97/events/aggregator>,
    'default': <object object at 0x7f87055ebb00>,
    'loop': {},
    'nothing': None,
    'options': {},
    'repeat': {},
    'request': <HTTPRequest, URL=http://v37211.1blu.de:8888/97/events/aggregator/@@solgemafullcalendar_properties>,
    'template': <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at 0x628c990>,
    'view': <ContentTreeWidget 'form.widgets.target_folder'>,
    'views': <zope.browserpage.viewpagetemplatefile.ViewMapper object at 0xc61c0d0>}
    Module zope.tales.expressions, line 217, in call
    Module zope.tales.expressions, line 211, in _eval
    Module z3c.formwidget.query.widget, line 212, in renderQueryWidget
    Module z3c.form.widget, line 153, in render
    Module zope.browserpage.viewpagetemplatefile, line 51, in call
    Module zope.pagetemplate.pagetemplate, line 132, in pt_render
    Module zope.pagetemplate.pagetemplate, line 240, in call
    Module zope.tal.talinterpreter, line 271, in call
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 531, in do_optTag_tal
    Module zope.tal.talinterpreter, line 513, in no_tag
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 821, in do_loop_tal
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 531, in do_optTag_tal
    Module zope.tal.talinterpreter, line 513, in no_tag
    Module zope.tal.talinterpreter, line 343, in interpret
    Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
    Module zope.tales.tales, line 696, in evaluate
  • URL: /home/editha/.buildout/eggs/z3c.form-3.1.1-py2.7.egg/z3c/form/browser/radio_input.pt
  • Line 8, Column 4
  • Expression: <PythonExpr (view.renderForValue(item['value']))>
  • Names:
    {'args': (),
    'context': <Collection at /97/events/aggregator>,
    'default': <object object at 0x7f87055ebb00>,
    'loop': {},
    'nothing': None,
    'options': {},
    'repeat': {},
    'request': <HTTPRequest, URL=http://v37211.1blu.de:8888/97/events/aggregator/@@solgemafullcalendar_properties>,
    'template': <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at 0x6d9b6d0>,
    'view': <ContentTreeWidget 'form.widgets.target_folder'>,
    'views': <zope.browserpage.viewpagetemplatefile.ViewMapper object at 0xc613690>}
    Module zope.tales.pythonexpr, line 59, in call
  • traceback_info: (view.renderForValue(item['value']))
    Module , line 1, in
    Module z3c.form.browser.radio, line 44, in renderForValue
    Module z3c.form.term, line 38, in getTermByToken
    Module zope.schema.vocabulary, line 133, in getTermByToken
    LookupError: --NOVALUE--

Write-on-read condition should be avoided

Out of the box, it appears Solgema.fullcalendar will write an annotation on a variety of folderish content:

https://github.com/collective/Solgema.fullcalendar/blob/master/Solgema/fullcalendar/options.py#L77

This is sub-optimal; an ostensibly read-only GET request should not create a write to the ZODB.

As it appears PersistentOptions.storage() is used only internally by PersistentOptions, it would make sense to have non-writing calling methods of PersistentOptions deal with a NoneType return value from storage()??

Sean

Users can't edit events that are in folders where they have Local role editing rights

When the Calendar folder has edit, add, review rights assigned by the folders sharing tab, users cannot edit events or move events that are not theirs in calendar view.

Found this issue in Solgema/fullcalendar/browsers/adaptor.py:

diff --git a/Solgema/fullcalendar/browser/adapters.py b/Solgema/fullcalendar/browser/adapters.py
index 189cbbb..9f7ea74 100644
--- a/Solgema/fullcalendar/browser/adapters.py
+++ b/Solgema/fullcalendar/browser/adapters.py
@@ -320,7 +320,7 @@ class SolgemaFullcalendarEditableFilter(object):
def _listSFAllowedRolesAndUsersModify(self):
sm = getSecurityManager()
user = sm.getUser()

  •    effective_roles = user.getRoles()
    
  •    effective_roles = user.getRolesInContext(self.context)
     if sm.calledByExecutable():
         eo = sm._context.stack[-1]
         proxy_roles = getattr(eo, '_proxy_roles', None)
    

getRoles() method only evaluates users roles at root of site. getRolesInContext(self.context) evaluates users roles in the folder that is being read for events.
This bug means editable property of event in JS calendar is not set correctly for non logged in user unless patchted. ;-(

Way to style the pop up dialog

Is there a way to style the pop up dialog? I could not find it at the moment, saw the width style is added to the div tag directly. There are lots of space of the right.
version2 3 4
image006

ICS View raises TypeError: expected integer key

Steps to reproduce:

  1. Create a Plone 4.3.1 site with Solgema.fullcalendar 2.3
  2. Add an Event item.
  3. Try to access iCal export (events/aggregator/ics_view)
  4. Get a server error indicating no page was found (not even a message from Zope)
  5. Go to error_log and see the traceback below. Any ideas?

Traceback (innermost last):
Module ZPublisher.Publish, line 126, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in call_object
Module Solgema.fullcalendar.browser.icalexport, line 75, in render
Module Solgema.fullcalendar.browser.icalexport, line 96, in feeddata
Module Solgema.fullcalendar.browser.adapters, line 536, in getICal
Module Solgema.fullcalendar.browser.adapters, line 477, in _getBrains
Module Solgema.fullcalendar.browser.adapters, line 171, in searchResults
Module Products.CMFPlone.CatalogTool, line 393, in searchResults
Module Products.ZCatalog.ZCatalog, line 604, in searchResults
Module Products.ZCatalog.Catalog, line 907, in searchResults
Module Products.ZCatalog.Catalog, line 525, in search
Module Products.PluginIndexes.DateIndex.DateIndex, line 222, in _apply_index
TypeError: expected integer key

Add event: Exception: Type name not specified

This is a followup problem after fixing

#29

locally be returning an empty string in case error #29.

With this patch I receive now the following error after clicking on SAVE.

Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Products.CMFFormController.FSControllerPythonScript, line 105, in call
Module Products.CMFFormController.Script, line 145, in call
Module Products.CMFCore.FSPythonScript, line 127, in call
Module Shared.DC.Scripts.Bindings, line 322, in call
Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
Module Products.PythonScripts.PythonScript, line 344, in _exec
Module script, line 10, in createSFEvent

  • <FSControllerPythonScript at /et-08.12.13-153614/events/createSFEvent>
  • Line 10
    Exception: Type name not specified

v 2.2.1 fails on Plone-4.16 with "No module named collection.interfaces"

After running buildout, instance fails to raise.
Pinning Solgema.fullcalendar to 2.1.2 works for me.
Full traceback:

Traceback (most recent call last):
File "/home/ida/.buildout/eggs/Zope2-2.13.15-py2.7.egg/Zope2/Startup/run.py", line 76, in
run()
File "/home/ida/.buildout/eggs/Zope2-2.13.15-py2.7.egg/Zope2/Startup/run.py", line 22, in run
starter.prepare()
File "/home/ida/.buildout/eggs/Zope2-2.13.15-py2.7.egg/Zope2/Startup/init.py", line 86, in prepare
self.startZope()
File "/home/ida/.buildout/eggs/Zope2-2.13.15-py2.7.egg/Zope2/Startup/init.py", line 259, in startZope
Zope2.startup()
File "/home/ida/.buildout/eggs/Zope2-2.13.15-py2.7.egg/Zope2/init.py", line 47, in startup
_startup()
File "/home/ida/.buildout/eggs/Zope2-2.13.15-py2.7.egg/Zope2/App/startup.py", line 118, in startup
load_zcml()
File "/home/ida/.buildout/eggs/Zope2-2.13.15-py2.7.egg/Zope2/App/startup.py", line 52, in load_zcml
load_site()
File "/home/ida/.buildout/eggs/Zope2-2.13.15-py2.7.egg/Zope2/App/zcml.py", line 46, in load_site
_context = xmlconfig.file(site_zcml)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 649, in file
include(context, name, package)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 349, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, *_args)
File "/home/ida/.buildout/eggs/Zope2-2.13.15-py2.7.egg/OFS/metaconfigure.py", line 46, in loadProducts
xmlconfig.include(_context, zcml, package=product)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 349, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, *_args)
File "/home/ida/.buildout/eggs/z3c.autoinclude-0.3.4-py2.7.egg/z3c/autoinclude/zcml.py", line 104, in includePluginsDirective
includeZCMLGroup(_context, info, filename)
File "/home/ida/.buildout/eggs/z3c.autoinclude-0.3.4-py2.7.egg/z3c/autoinclude/zcml.py", line 30, in includeZCMLGroup
include(_context, filename, includable_package)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 349, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish
actions = self.handler(context, **args)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include
processxmlfile(f, context)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile
parser.parse(src)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 349, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS
self.context.end()
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end
self.stack.pop().finish()
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 705, in finish
args = toargs(context, *self.argdata)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 1397, in toargs
args[str(name)] = field.fromUnicode(s)
File "/home/ida/.buildout/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/fields.py", line 139, in fromUnicode
raise schema.ValidationError(v)
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/home/ida/Builds/cli/aip/416/parts/instance/etc/site.zcml", line 16.2-16.23
ZopeXMLConfigurationError: File "/home/ida/.buildout/eggs/Products.CMFPlone-4.1.6-py2.7.egg/Products/CMFPlone/configure.zcml", line 99.4-103.10
ZopeXMLConfigurationError: File "/home/ida/.buildout/eggs/Solgema.fullcalendar-2.2.1-py2.7.egg/Solgema/fullcalendar/configure.zcml", line 24.2-24.31
ZopeXMLConfigurationError: File "/home/ida/.buildout/eggs/Solgema.fullcalendar-2.2.1-py2.7.egg/Solgema/fullcalendar/browser/configure.zcml", line 388.2-394.8
ConfigurationError: ('Invalid value for', 'for', "ImportError: Couldn't import plone.app.collection.interfaces, No module named collection.interfaces")

v2.3 and plone 4.3.1 - calendar doesn't render

Shiny clean build of Plone 4.3.1 with solgema.fullcalendar 2.3 installed doesn't render the calendar view. The @@solgemafullcalendar_properties stuff seems to set up just fine. Just nothing being rendered in the "content" div.

I see in browser debugger that there's a JavaScript error:
"Uncaught ReferenceError: jq is not defined" solgemafullcalendar.js line 14

So, looks like some jquery breakage vs the view. But, what do I know?
Otherwise, smokin' product!

Fieldset specified, but not found

Versions:

Plone 4.3.3 (4308)
CMF 2.2.7
Zope 2.13.22
Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2]
PIL 2.3.0 (Pillow)

Pinned:

Solgema.fullcalendar = 2.3.3
z3c.form = 3.0.5
collective.js.jqueryui = <1.9

Error:

2014-08-07 12:11:18 ERROR Zope.SiteErrorLog 1407406278.550.0555235266404 http://localhost:8080/Plone/asdf/@@solgemafullcalendar_properties/@@z3cform_validate_field
Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module Products.PDBDebugMode.runcall, line 70, in pdb_runcall
Module ZPublisher.Publish, line 48, in call_object
Module plone.app.z3cform.inline_validation, line 46, in call
ValueError: Fieldset specified, but not found.

/media/sven/stuff/sandboxes/sologema-test-august14/buildout.plone/eggs/plone.app.z3cform-0.7.6-py2.7.egg/plone/app/z3cform/inline_validation.py(46)call()
-> raise ValueError('Fieldset specified, but not found.')

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.