Skip to content

Crash when attribute on item not set. #29

@shylux

Description

@shylux

Helper are called with none values.
Happened when tried to display effective_date. Since effective_date is not required in plone it can be null.

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 ftw.tabbedview.browser.tabbed, line 152, in listing
  Module ftw.tabbedview.browser.listing, line 134, 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 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 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 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 522, in do_optTag
  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 742, in do_insertStructure_tal
  Module Products.PageTemplates.Expressions, line 218, in evaluateStructure
  Module zope.tales.tales, line 696, in evaluate
   - URL: /Users/lukas/projects/ftw.workspace/ftw/workspace/browser/documents.pt
   - Line 46, Column 24
   - Expression: <PathExpr standard:u'view/render_listing'>
   - Names:
      {'args': (),
       'container': <Workspace at /Plone/workspace>,
       'context': <Workspace at /Plone/workspace>,
       'default': <object object at 0x100d7dbb0>,
       'here': <Workspace at /Plone/workspace>,
       'loop': {},
       'nothing': None,
       'options': {},
       'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x105705470>,
       'request': <HTTPRequest, URL=http://localhost:8080/Plone/workspace/tabbed_view/listing>,
       'root': <Application at >,
       'template': <Products.Five.browser.pagetemplatefile.ViewPageTemplateFile object at 0x1045aecd0>,
       'traverse_subpath': [],
       'user': <PropertiedUser 'admin'>,
       'view': <Products.Five.metaclass.DocumentsTab object at 0x1015185d0>,
       'views': <Products.Five.browser.pagetemplatefile.ViewMapper object at 0x1015f1610>}
  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 ftw.tabbedview.browser.listing, line 274, in render_listing
  Module ftw.table.utils, line 76, in generate
  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 821, in do_loop_tal
  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 Products.PageTemplates.Expressions, line 218, in evaluateStructure
  Module zope.tales.tales, line 696, in evaluate
   - URL: /Users/lukas/projects/ftw.workspace/src/ftw.table/ftw/table/templates/basic.pt
   - Line 20, Column 16
   - Expression: <PythonExpr ( view.get_value(content, col))>
   - Names:
      {'args': (<ftw.table.utils.TableGenerator object at 0x10496b250>,),
       'container': None,
       'context': None,
       'default': <object object at 0x100d7dbb0>,
       'here': None,
       'loop': {},
       'nothing': None,
       'options': {},
       'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x1057054c8>,
       'request': <HTTPRequest, URL=http://localhost:8080/Plone/workspace/tabbed_view/listing>,
       'root': None,
       'template': <Products.Five.browser.pagetemplatefile.ViewPageTemplateFile object at 0x1044f3150>,
       'traverse_subpath': [],
       'user': <PropertiedUser 'admin'>,
       'view': <ftw.table.utils.TableGenerator object at 0x10496b250>,
       'views': <Products.Five.browser.pagetemplatefile.ViewMapper object at 0x1015ab4d0>}
  Module zope.tales.pythonexpr, line 59, in __call__
   - __traceback_info__: ( view.get_value(content, col))
  Module <string>, line 1, in <module>
  Module ftw.table.utils, line 212, in get_value
  Module ftw.table.helper, line 179, in readable_date_text
  Module DateTime.DateTime, line 1551, in strftime
ValueError: year=1000 is before 1900; the datetime strftime() methods require year >= 1900

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions