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

Bug #382251 reported by Krasheninnikov Vitaliy (krushik)
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SchoolTool
Fix Released
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.