如何使用TALES表达式在PloneFormGen中生成注册号?

时间:2013-03-07 12:44:16

标签: plone ploneformgen

我正在尝试使用PloneFormGen为会议设置注册表单,我想使用TALES Expression来计算现有记录的数量,添加" 1",然后在"谢谢你"页面作为注册人的注册号。这可能吗?

我过去使用以下内容生成一个随机的6位数字来为支持请求创建一个案例编号ID,其中除了跟踪请求之外的数字并不重要,然后它将被删除一旦案件结案。

python:random.randint(100000, 999999)

我是在正确的轨道上,还是我完全走错了路?

1 个答案:

答案 0 :(得分:6)

我过去用以下技巧完成了这个过程:

  1. 在ZMI中,我在表单上创建一个名为“reg_count”的整数属性,其中包含起始编号(导航到表单文件夹并将/ manage_propertiesForm附加到URL);

  2. 向表单添加隐藏字段。我使用了id“regno”;

  3. 使用自定义脚本适配器获取reg_count属性,将其递增,并将其放入请求的表单字典中:

    reg_count = context.getProperty('reg_count', 0) + 1
    context.manage_changeProperties(reg_count=reg_count)
    request.form['regno'] = str(reg_count)
    
  4. 自定义感谢页面以显示它。