#2366: Hotfix - fas /usr/lib/python2.6/site-packages/fas/templates/user/view.htmlw
-------------------------+--------------------------------------------------
Reporter: ricky | Owner: webmaster
Type: change | Status: new
Priority: major | Milestone:
Component: Web Content | Version:
Severity: Normal | Keywords: hotfix
-------------------------+--------------------------------------------------
= Change Requested =
Applied the following patch to /usr/lib/python2.6/site-
packages/fas/templates/user/view.html on fas0[1-3] to work around 500s on
/user/view:
{{{
--- /usr/lib/python2.6/site-packages/fas/templates/user/view.html
2010-08-27 15:57:26.000000000 +0000
+++ /home/fedora/ricky/view.html 2010-08-31 05:26:14.136666045
+0000
@@ -123,8 +123,8 @@
<dl>
<dt>${_('Status:')}</dt>
<dd>
- <span class="approved" py:if="role.group in
person.approved_memberships">${_('Approved')}</span>
- <span class="unapproved" py:if="role.group in
person.unapproved_memberships">${_('Unapproved')}</span>
+ <span class="approved" py:if="role.role_status ==
'approved'">${_('Approved')}</span>
+ <span class="unapproved" py:if="role.role_status ==
'unapproved'">${_('Unapproved')}</span>
</dd>
<py:if test="personal">
<dt>${_('Tools:')}</dt>
}}}
This patch doesn't actually address the root of the problem, so we will
need to investigate further. The full traceback for the 500s was:
{{{
cherrypy.msg INFO HTTP: Page handler: <bound method User.view of
<fas.user.User object at 0xb4203c2c>>
Traceback (most recent call last):
File "/usr/lib/python2.6/site-
packages/CherryPy-2.3.0-py2.6.egg/cherrypy/_cphttptools.py", line 121, in
_run
self.main()
File "/usr/lib/python2.6/site-
packages/CherryPy-2.3.0-py2.6.egg/cherrypy/_cphttptools.py", line 264, in
main
body = page_handler(*virtual_path, **self.params)
File "<string>", line 3, in view
File "/usr/lib/python2.6/site-
packages/turbogears/identity/conditions.py", line 210, in require
return fn(self, *args, **kwargs)
File "<string>", line 3, in view
File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line
195, in validate
return errorhandling.run_with_errors(errors, func, *args, **kw)
File "/usr/lib/python2.6/site-packages/turbogears/errorhandling.py",
line 119, in run_with_errors
return func(self, *args, **kw)
File "<string>", line 3, in view
File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line
360, in expose
*args, **kw)
File "<string>", line 5, in run_with_transaction
File "/usr/lib/python2.6/site-packages/turbogears/database.py", line
411, in sa_rwt
retval = func(*args, **kw)
File "<string>", line 5, in _expose
File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line
373, in <lambda>
mapping, fragment, args, kw)))
File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line
420, in _execute_func
return _process_output(output, template, format, content_type,
mapping, fragment)
File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line
88, in _process_output
fragment=fragment)
File "/usr/lib/python2.6/site-packages/turbogears/view/base.py", line
159, in render
return engine.render(**kw)
File "/usr/lib/python2.6/site-packages/genshi/template/plugin.py", line
110, in render
return self.transform(info, template).render(**kwargs)
File "/usr/lib/python2.6/site-packages/genshi/core.py", line 179, in
render
return encode(generator, method=method, encoding=encoding, out=out)
File "/usr/lib/python2.6/site-packages/genshi/output.py", line 60, in
encode
return _encode(u''.join(list(iterator)))
File "/usr/lib/python2.6/site-packages/genshi/output.py", line 311, in
__call__
for kind, data, pos in stream:
File "/usr/lib/python2.6/site-packages/genshi/output.py", line 592, in
__call__
for kind, data, pos in stream:
File "/usr/lib/python2.6/site-packages/genshi/output.py", line 698, in
__call__
for kind, data, pos in chain(stream, [(None, None, None)]):
File "/usr/lib/python2.6/site-packages/genshi/output.py", line 532, in
__call__
for ev in stream:
File "/usr/lib/python2.6/site-packages/genshi/core.py", line 283, in
_ensure
for event in stream:
File "/usr/lib/python2.6/site-packages/genshi/template/base.py", line
569, in _include
for event in stream:
File "/usr/lib/python2.6/site-packages/genshi/template/markup.py", line
279, in _match
content = list(content)
File "/usr/lib/python2.6/site-packages/genshi/template/base.py", line
569, in _include
for event in stream:
File "/usr/lib/python2.6/site-packages/genshi/template/markup.py", line
245, in _match
for event in stream:
File "/usr/lib/python2.6/site-packages/genshi/template/markup.py", line
234, in _strip
event = stream.next()
File "/usr/lib/python2.6/site-packages/genshi/template/base.py", line
543, in _exec
for event in stream:
File "/usr/lib/python2.6/site-packages/genshi/template/base.py", line
496, in _eval
for kind, data, pos in stream:
File "/usr/lib/python2.6/site-packages/genshi/template/base.py", line
558, in _flatten
for event in self._flatten(substream, ctxt, **vars):
File "/usr/lib/python2.6/site-packages/genshi/template/base.py", line
558, in _flatten
for event in self._flatten(substream, ctxt, **vars):
File "/usr/lib/python2.6/site-packages/genshi/template/base.py", line
557, in _flatten
**vars)
File "/usr/lib/python2.6/site-packages/genshi/template/base.py", line
272, in _apply_directives
stream = directives[0](iter(stream), directives[1:], ctxt, **vars)
File "/usr/lib/python2.6/site-packages/genshi/template/directives.py",
line 411, in __call__
value = _eval_expr(self.expr, ctxt, **vars)
File "/usr/lib/python2.6/site-packages/genshi/template/base.py", line
286, in _eval_expr
retval = expr.evaluate(ctxt)
File "/usr/lib/python2.6/site-packages/genshi/template/eval.py", line
180, in evaluate
return eval(self.code, _globals, {'__data__': data})
File "/usr/lib/python2.6/site-packages/fas/templates/user/view.html",
line 126, in <Expression u'role.group in person.approved_memberships'>
<span class="approved" py:if="role.group in
person.approved_memberships">${_('Approved')}</span>
File "/usr/lib/python2.6/site-
packages/sqlalchemy/ext/associationproxy.py", line 356, in __contains__
for member in self.col:
File "/usr/lib/python2.6/site-
packages/sqlalchemy/ext/associationproxy.py", line 300, in <lambda>
col = property(lambda self: self.lazy_collection())
File "/usr/lib/python2.6/site-
packages/sqlalchemy/ext/associationproxy.py", line 158, in lazy_collection
"stale association proxy, parent object has gone out of "
InvalidRequestError: stale association proxy, parent object has gone out
of scope
}}}
--
Ticket URL: <
https://fedorahosted.org/fedora-infrastructure/ticket/2366>
Fedora Infrastructure <
http://fedoraproject.org/wiki/Infrastructure>
Fedora Infrastructure Project for Bugs, feature requests and access to our source code.