Server error when viewing person's details with non-latin data in It

Bug #382251 reported by Krasheninnikov Vitaliy (krushik) on 2009-05-31
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SchoolTool
High
Douglas Cerna

Bug Description

Version: Stable release and current development version.

Exception

  UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-10: ordinal not in range(128)
Traceback

  File "/home/krushik/.buildout/eggs/zope.publisher-3.4.6-py2.5.egg/zope/publisher/publish.py", line 133, in publish
  result = publication.callObject(request, obj)
File "/home/krushik/.buildout/eggs/zope.app.publication-3.4.3-py2.5.egg/zope/app/publication/zopepublication.py", line 167, in callObject
  return mapply(ob, request.getPositionalArguments(), request)
File "/home/krushik/.buildout/eggs/zope.publisher-3.4.6-py2.5.egg/zope/publisher/publish.py", line 108, in mapply
  return debug_call(obj, args)
Extra information: <zope.app.publisher.browser.viewmeta.PersonView object at 0xbbb3b0c>
File "/home/krushik/.buildout/eggs/zope.publisher-3.4.6-py2.5.egg/zope/publisher/publish.py", line 114, in debug_call
  return obj(*args)
File "/home/krushik/.buildout/eggs/schooltool-2009.04.12dev_r2496-py2.5.egg/schooltool/basicperson/browser/person.py", line 145, in __call__
  return self.render()
File "/home/krushik/.buildout/eggs/z3c.form-1.9.0-py2.5.egg/z3c/form/form.py", line 143, in render
  return self.template()
File "/home/krushik/.buildout/eggs/zope.app.pagetemplate-3.4.1-py2.5.egg/zope/app/pagetemplate/viewpagetemplatefile.py", line 83, in __call__
  return self.im_func(im_self, *args, **kw)
File "/home/krushik/.buildout/eggs/zope.app.pagetemplate-3.4.1-py2.5.egg/zope/app/pagetemplate/viewpagetemplatefile.py", line 51, in __call__
  sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
File "/home/krushik/.buildout/eggs/zope.pagetemplate-3.4.0-py2.5.egg/zope/pagetemplate/pagetemplate.py", line 115, in pt_render
  strictinsert=0, sourceAnnotations=sourceAnnotations)()
Template "/home/krushik/.buildout/eggs/schooltool-2009.04.12dev_r2496-py2.5.egg/schooltool/basicperson/browser/templates/person_view.pt"
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 271, in __call__
  self.interpret(self.program)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 346, in interpret
  handlers[opcode](self, args)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 891, in do_useMacro
  self.interpret(macro)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 346, in interpret
  handlers[opcode](self, args)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 536, in do_optTag_tal
  self.do_optTag(stuff)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 521, in do_optTag
  return self.no_tag(start, program)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 516, in no_tag
  self.interpret(program)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 346, in interpret
  handlers[opcode](self, args)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 536, in do_optTag_tal
  self.do_optTag(stuff)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 521, in do_optTag
  return self.no_tag(start, program)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 516, in no_tag
  self.interpret(program)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 346, in interpret
  handlers[opcode](self, args)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 745, in do_insertStructure_tal
  structure = self.engine.evaluateStructure(expr)
File "/home/krushik/.buildout/eggs/zope.tales-3.4.0-py2.5.egg/zope/tales/tales.py", line 696, in evaluate
  return expression(self)
Template "/home/krushik/.buildout/eggs/schooltool-2009.04.12dev_r2496-py2.5.egg/schooltool/skin/templates/view_macros.pt", line 87, column 6
  Expression: <StringExpr u'schooltool.ActionsMenu'>
File "/home/krushik/.buildout/eggs/zope.contentprovider-3.4.0-py2.5.egg/zope/contentprovider/tales.py", line 80, in __call__
  return provider.render()
File "/home/krushik/.buildout/eggs/schooltool-2009.04.12dev_r2496-py2.5.egg/schooltool/skin/skin.py", line 127, in render
  content = viewlet.render()
File "/home/krushik/.buildout/eggs/zope.app.pagetemplate-3.4.1-py2.5.egg/zope/app/pagetemplate/simpleviewclass.py", line 44, in __call__
  return self.index(*args, **kw)
File "/home/krushik/.buildout/eggs/zope.app.pagetemplate-3.4.1-py2.5.egg/zope/app/pagetemplate/viewpagetemplatefile.py", line 83, in __call__
  return self.im_func(im_self, *args, **kw)
File "/home/krushik/.buildout/eggs/zope.app.pagetemplate-3.4.1-py2.5.egg/zope/app/pagetemplate/viewpagetemplatefile.py", line 51, in __call__
  sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
File "/home/krushik/.buildout/eggs/zope.pagetemplate-3.4.0-py2.5.egg/zope/pagetemplate/pagetemplate.py", line 115, in pt_render
  strictinsert=0, sourceAnnotations=sourceAnnotations)()
Template "/home/krushik/.buildout/eggs/schooltool-2009.04.12dev_r2496-py2.5.egg/schooltool/skin/templates/actionsViewlet.pt"
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 271, in __call__
  self.interpret(self.program)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 346, in interpret
  handlers[opcode](self, args)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 408, in do_startTag
  rendered = attrAction(self, item)
File "/home/krushik/.buildout/eggs/zope.tal-3.4.1-py2.5.egg/zope/tal/talinterpreter.py", line 485, in attrAction_tal
  evalue = self.engine.evaluateText(item[3])
File "/home/krushik/.buildout/eggs/zope.tales-3.4.0-py2.5.egg/zope/tales/tales.py", line 704, in evaluateText
  text = self.evaluate(expr)
File "/home/krushik/.buildout/eggs/zope.tales-3.4.0-py2.5.egg/zope/tales/tales.py", line 696, in evaluate
  return expression(self)
Template "/home/krushik/.buildout/eggs/schooltool-2009.04.12dev_r2496-py2.5.egg/schooltool/skin/templates/actionsViewlet.pt", line 1, column 27
  Expression: <StringExpr u'${context/@@absolute_url}/${view/link}'>
File "/home/krushik/.buildout/eggs/zope.tales-3.4.0-py2.5.egg/zope/tales/expressions.py", line 261, in __call__
  v = var(econtext)
File "/home/krushik/.buildout/eggs/zope.tales-3.4.0-py2.5.egg/zope/tales/expressions.py", line 217, in __call__
  return self._eval(econtext)
File "/home/krushik/.buildout/eggs/zope.tales-3.4.0-py2.5.egg/zope/tales/expressions.py", line 194, in _eval
  ob = self._subexprs[-1](econtext)
File "/home/krushik/.buildout/eggs/zope.tales-3.4.0-py2.5.egg/zope/tales/expressions.py", line 124, in _eval
  ob = self._traverser(ob, element, econtext)
File "/home/krushik/.buildout/eggs/zope.app.pagetemplate-3.4.1-py2.5.egg/zope/app/pagetemplate/engine.py", line 68, in __call__
  request=request)
File "/home/krushik/.buildout/eggs/zope.traversing-3.4.1-py2.5.egg/zope/traversing/adapters.py", line 164, in traversePathElement
  return traversable.traverse(nm, further_path)
Extra information: (<zope.viewlet.viewlet.SimpleViewletClass from /home/krushik/.buildout/eggs/schooltool-2009.04.12dev_r2496-py2.5.egg/schooltool/skin/templates/actionsViewlet.pt object at 0xbb1f22c>, 'link')
File "/home/krushik/.buildout/eggs/zope.traversing-3.4.1-py2.5.egg/zope/traversing/adapters.py", line 44, in traverse
  attr = getattr(subject, name, _marker)
Extra information: (<zope.viewlet.viewlet.SimpleViewletClass from /home/krushik/.buildout/eggs/schooltool-2009.04.12dev_r2496-py2.5.egg/schooltool/skin/templates/actionsViewlet.pt object at 0xbb1f22c>, 'link', [])
File "/home/krushik/.buildout/eggs/schooltool-2009.04.12dev_r2496-py2.5.egg/schooltool/contact/browser/contact.py", line 254, in link
  urllib.urlencode([('SEARCH_LAST_NAME', self.context.last_name)]))
File "/usr/lib/python2.5/urllib.py", line 1250, in urlencode
  v = quote_plus(str(v))

Changed in schooltool:
assignee: nobody → Justas Sadzevičius (justas-pov)
importance: Undecided → High
milestone: none → karmic
Changed in schooltool:
assignee: Justas Sadzevičius (justas-pov) → Douglas Cerna (replaceafill)
Changed in schooltool:
status: New → In Progress
Changed in schooltool:
status: In Progress → Fix Committed
Changed in schooltool:
milestone: karmic → 2009.4.14
Changed in schooltool:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers