我正在尝试使用Plone Form Gen创建一个事件内容类型.我一直在使用本教程来执行此操作.
使用Add New...菜单创建事件内容类型时,您将获得两个要填写的字段,即事件的开始日期和结束日期,我希望我的表单从这些字段中提取信息并将其应用于事件内容类型我是用来创建它.
我理解的问题用以下例子描述:
自定义脚本适配器脚本包含以下内容:
obj.setDescription(form['replyto'])
Run Code Online (Sandbox Code Playgroud)
我可以看到它从以下内容获取事件内容类型描述的内容:
<input id="replyto" class="" type="text" size="30" name="replyto" />
Run Code Online (Sandbox Code Playgroud)
添加到PFG表单时的日期/时间字段由多个<select>输入组成,而不仅仅是上面的一个,我猜这意味着没有一个简单的obj.setEndDate()命令...虽然无法引用选择盒子我有点卡住了.
有没有人知道是否可以创建一个事件内容类型并使用Plone Form Gen 指定它的开始和结束日期?
使用此链接我已经解决了原始问题,但我遇到了更多问题
我已经调整了我的脚本(使用上面的链接),如下所示:
target = context.viewjobs
form = request.form
from DateTime import DateTime
uid = str(DateTime().millis())
loc = form['location-of-event']
target.invokeFactory("Event", id=uid, title=form['topic'], event_url=loc)
obj = target[uid]
obj.setFormat('text/plain')
obj.setText(form['comments'])
obj.setDescription(form['replyto'])
obj.reindexObject()
Run Code Online (Sandbox Code Playgroud)
(我使用event_url来测试,因为我没有event_start选择运气).
它创建了事件,但是当我去观看我得到的事件时:
Module zope.tales.expressions, line 217, in __call__
Module Products.PageTemplates.Expressions, line …Run Code Online (Sandbox Code Playgroud) 是否有任何示例附加组件可以在何时查看
1)为PloneFormGen创建自定义动作适配器
2)向PloneFormGen添加新的字段类型
我正在尝试使用PloneFormGen为会议设置注册表单,我想使用TALES Expression来计算现有记录的数量,添加"1",然后在"Thank You"页面上显示为注册人的注册号码.这可能吗?
我曾使用以下内容生成一个随机的6位数字来为支持请求创建一个案例编号ID,除了跟踪请求之外,该编号无关紧要,一旦案例关闭,它将被删除.
python:random.randint(100000, 999999)
Run Code Online (Sandbox Code Playgroud)
我是在正确的轨道上,还是我完全走错了路?
每隔一段时间提交一个PloneFormGen表单(它发生在不同的表单上,因此没有特定的形式)引发"表单身份验证器无效"异常.
我知道这是跨站请求伪造(CSRF)保护工作正在进行中,但究竟是什么呢?
什么触发它以及如何防止它(因为,据我所知,所有触发提交都是有效的,所以没有伪造继续:-)
谢谢!
有没有办法将PloneFormGen表单数据传递到外部站点,并在自定义脚本适配器中发布请求?
我的外部站点仅由服务器可见
帖子的网址是 http://app.com/issues_form/issues
自定义stript适配器中的脚本:
import urllib
import urllib2
url = "http://app.com/issues_form/issues"
values = {'issue' : request.form['issue'] }
data = urllib.urlencode(values)
urllib2.Request(url,data)
Run Code Online (Sandbox Code Playgroud)
提交时,我会获得未经授权的访问或具有权限的内容
http://ploneapp.com/acl_users/credentials_cookie_auth/require_login?came_from=http%3A/ploneapp.com/structure/test/issue_form
Run Code Online (Sandbox Code Playgroud)
当我使用urllib.urlencode时,似乎发生了错误.
当我尝试使用'requests'库的另一种方式时,它是一样的.也许我无法在这些地方访问这些库.