2007-04-22 18:13:25 |
Marc Petitmermet |
bug |
|
|
added bug |
2007-04-29 06:46:13 |
Kit Blake |
silva: status |
Unconfirmed |
Confirmed |
|
2007-04-29 06:46:13 |
Kit Blake |
silva: statusexplanation |
|
|
|
2007-04-29 06:50:31 |
Kit Blake |
silva: assignee |
|
kitblake |
|
2008-09-06 18:50:35 |
Andy Altepeter |
silva: assignee |
kitblake |
aaltepet |
|
2008-09-13 20:02:11 |
Andy Altepeter |
silva: importance |
Undecided |
Low |
|
2008-09-13 20:02:31 |
Andy Altepeter |
silva: importance |
Low |
Medium |
|
2008-09-22 02:58:44 |
Andy Altepeter |
silva: assignee |
aaltepet |
thisfred |
|
2008-09-22 02:58:44 |
Andy Altepeter |
silva: statusexplanation |
|
ok, I found the problem. The lastauthor metadata field's TALES default expression is:
python:content.sec_get_last_author_info().fullname()
Version objects don't inherit the Silva Security class, VersionedContent does. So, while 'content' may be the published version, sec_get_last* is part of Document. This method gets the previewable (editable) version's last author info.
Not quite sure how to fix this without doing some major changes. Here are a few options. Recall the lastauthorinfo is actually stored on the Version, so:
1) implement a VersionSecurity class, which Version inherits, and contains implementations for the Version. We'd need to audit the Security class to determine which ones to override with version implementations, or perhaps add sec_get_version_last_author_info and such. I'm not sure I like either of these possibilities.
2) add a 'version' parameter to Security.sec_get_last_author_info. The version could be the version id, or a version object, or a string representing which version (last_closed, published, editable, previewable, etc). The metadata field TALES could be changed to:
python:content.sec_get_last_author_info().fullname(version=content.id) |
|
2009-03-20 08:49:07 |
Eric Casteleijn |
silva: assignee |
thisfred |
wim-boucquaert |
|
2009-03-20 08:49:07 |
Eric Casteleijn |
silva: statusexplanation |
ok, I found the problem. The lastauthor metadata field's TALES default expression is:
python:content.sec_get_last_author_info().fullname()
Version objects don't inherit the Silva Security class, VersionedContent does. So, while 'content' may be the published version, sec_get_last* is part of Document. This method gets the previewable (editable) version's last author info.
Not quite sure how to fix this without doing some major changes. Here are a few options. Recall the lastauthorinfo is actually stored on the Version, so:
1) implement a VersionSecurity class, which Version inherits, and contains implementations for the Version. We'd need to audit the Security class to determine which ones to override with version implementations, or perhaps add sec_get_version_last_author_info and such. I'm not sure I like either of these possibilities.
2) add a 'version' parameter to Security.sec_get_last_author_info. The version could be the version id, or a version object, or a string representing which version (last_closed, published, editable, previewable, etc). The metadata field TALES could be changed to:
python:content.sec_get_last_author_info().fullname(version=content.id) |
|
|
2009-05-04 02:34:25 |
Andy Altepeter |
silva: assignee |
Wim Boucquaert (wim-boucquaert) |
Andy Altepeter (aaltepet) |
|
2009-05-07 01:54:30 |
Andy Altepeter |
silva: status |
Confirmed |
Fix Committed |
|
2009-05-07 01:54:30 |
Andy Altepeter |
silva: assignee |
Andy Altepeter (aaltepet) |
|
|
2013-03-07 11:08:40 |
Sylvain Viollon |
silva: status |
Fix Committed |
Fix Released |
|