2012-04-03 43 views
4

我試圖找出用戶創建時間和創建它的人。我試圖從用戶屬性中獲取這些內容,但找不到任何內容。Plone:如何檢查用戶是由誰創建的?

acl = getToolByName(self.context,'acl_users') 
userObject = acl.getUserById('userId') 
x = userObject._propertysheets.values()[0] 
pp xy.propertyItems() 

結果是:

[('email', '[email protected]'), 
('portal_skin', ''), 
('listed', True), 
('login_time', DateTime('2012/03/08 10:43:53.299987 GMT')), 
('last_login_time', DateTime('2012/01/23 12:56:33.343882 GMT')), 
('fullname', u'user'), 
('error_log_update', 0.0), 
('home_page', ''), 
('location', ''), 
('description', ''), 
('language', ''), 
('ext_editor', False), 
('wysiwyg_editor', ''), 
('visible_ids', False)] 

它不包含用戶創建時間。所以我想知道Plone是否記錄了這些信息?

謝謝!

回答

8

該信息不可用;您必須自定義註冊過程才能添加該數據。

您的其他選擇是將成員作爲內容實現(使用membrane),此時通常的Plone內容字段爲.Creator().created()將可以工作。

-3

如果您獲得成員對象,您可以調用CreationDate Dublin Core方法來獲取此信息。

return userObject.CreationDate() 

要獲得創建者,可以類似地調用'創建者'。如果用戶是以編程方式創建的,則可能會返回None。

+2

不,這些方法返回的創建日期和創建者屬於Membership工具,而不是成員數據對象本身。你正在尋找獲得的方法! – 2012-04-03 12:32:42

+0

謝謝,它完美的作品。 – tmaster 2012-04-03 12:33:06

+1

@tman:對不起,但您獲得的數據對於* every *用戶將是相同的,並且它是portal_membership工具的日期和創建者。換句話說,您正在從採購鏈獲取方法(它們未在成員數據對象上定義),從而獲取非本地信息。 – 2012-04-03 12:35:04

相關問題