在Trac中向用户帐户添加其他信息

时间:2015-09-25 09:33:31

标签: plugins trac

对于我的Trac插件,我想为每个用户添加一种颜色(作为字符串或rgb值),以便从插件中的其他位置使用。颜色应该可以通过管理页面进行配置。

是否可以在AccountManagerPlugin面板的“用户”设置中向表中添加另一列,如果是,我如何将信息添加到数据库以便从其他地方访问?

另一种选择是为我的插件创建一个新的管理面板,这是我目前正在做的,只有一个只包含用户名和颜色的表。但在这种情况下,虽然我已经有了空的管理面板,但我不知道如何添加表格并将新项目添加到数据库中。

解释我需要的颜色:
我的插件为故障单添加了一个新的导出选项,并使用我自己的html和css结构格式化它们。票证包含所有者的名称,该名称应以其各自的颜色显示。这个代码已经存在,现在我只需要从数据库中检索颜色,然后通过管理面板将它们保存到数据库中。

颜色应仅通过管理页面进行更改。

1 个答案:

答案 0 :(得分:1)

Trac中没有用户管理面板,但AccountManagerPlugin有一个用户管理面板。如果您使用的是AccountManagerPlugin,请告诉我,我会提供更多信息。

将讨论保持在Trac的范围内,您可以通过实施IPreferencePanelProvider实现用户通过首选项面板进行选择的能力。您可以将值保存在session_attribute表中,并在其他任何位置使用它。对于名为user_color的属性,可以使用req.session.get('user_color')检索该值。

示例可以在trac.prefs.web_ui中找到。我已经链接到Trac 1.1.6中的代码,因为该模块已经过重构,因此首选项更加模块化#9162