允许用户保存正在进行的ploneformgen表单草稿

pfg.drafts的Python项目详细描述


简介

pfg.drafts增加了对plone用户保存ploneformgen副本的支持 正在生成表单,稍后还原保存的值。这样就不需要 供用户一次填写一份冗长的表格。

该包为表单文件夹添加了一个新的显示选项,称为“表单视图 草稿”。如果选中,将显示一条消息,提示用户保存草稿 形式的。(它还在表单底部添加了一个附加按钮, 执行相同的操作。)如果用户单击此按钮,则会显示一个 注册表单以创建与保存的关联的网站帐户 数据。注册后,保存表单。

当用户返回表单时,如果已登录,则将重新填充该表单 自动保存值。如果注销,用户可以单击链接 登录并还原其值。然后可以正常提交表单 当表格完成时。

兼容性

pfg.drafts已经用plone 4和ploneformgen 1.6.0进行了测试。

安装

  1. 将pfg.drafts添加到构建中,并通过plone附加组件激活它 控制面板。
  2. 转到安全控制面板并打开“启用自注册” 以及“让用户选择自己的密码”。(如果后者关闭, 用户将无法立即注册。您可以添加 注册表格的验证码,以防止机械注册。
  3. 转到要启用草稿的窗体,并更改其 使用“显示”菜单将布局显示到“带草稿的窗体视图”。

实施细节

草稿存储在自定义工具(portal-fg-drafts)的btree中,由 表单uid和用户id。

为了保存表单值,javascript将表单的操作更改为 自定义@@fg_save_draft视图,它将值写入portal_fg_drafts。 任何fileupload对象都被特别封送到pickle中 fakefieldstorage对象。

访问表单时,自定义显示模板(pfg_draft_view.cpt) 调用portal_fg_draft工具的retrievedraft方法来重新填充 为当前窗体和用户保存任何数据的请求窗体。价值观 请求优先于草稿中的值,因此保存的值 验证错误后不会删除新值。

提交表单时,将通过自定义 pfg_draft_validate.vpy脚本。这会用值来增加提交的值 来自草稿(例如已保存但无法重新填充的文件上载) 然后正常处理表单。如果表单通过验证,则 保存的草稿(如果有)将从门户网站的草稿工具中删除。

学分

pfg.drafts是由Web Collective和david glick创建的。多亏了 布赖恩·威尔逊和富尔维奥·卡萨利。

更改日志

1.1.2(2011-01-12)

  • 添加registerClass以声明pfgdraftstorage的添加权限,以便 可以粘贴。 [大卫萨格里]

1.1.1(2011-01-06)

  • 修复丢失的导入。 [大卫萨格里]

1.1(2011-01-06)

  • 使管理员可以加载另一个用户的草稿进行调试, 通过将debug_user=[username]添加到查询字符串中。如果吃水 通过这种方式提交,草稿不会从草稿存储中移除。 [大卫萨格里]

1.0.1(2011-01-06)

  • 确保在第二次保存草稿时不会丢失文件上载。 [大卫萨格里]
  • 根据 经典的巴隆主题而不是阳光。 [大卫萨格里]

1.0(2010-12-20)

  • 修复包含小部件javascript的错误。 [大卫萨格里]

1.0b1(2010-12-09)

  • 初始RE租赁

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在JUnit5中定义优先级   Web驱动程序将焦点切换到iframe的java困难   java JFileChooser没有文件名文本字段选项   本地化是否可以回退到Java中resourcebundle的宏语言(例如,nynorsk>norsk)   禁用时Java断言的性能拖动   未考虑执行中的java jsonschema2pojo maven插件配置   java微调器。setSelection未调用setOnItemSelectedListener函数   序列化XStream:序列化java的反序列化。sql。时间导致错误   java无法理解为什么“ajpnio8009execXX”线程在AbstractQueuedSynchronizer$ConditionObject上阻塞/等待时间。等候   Java date给我的格式是mm/dd/yyyy,其中jquery datepicker的日期格式是dd/mm/yyyy   jsf如何用javaweb应用程序在客户端重写csv文件   雅加达ee Java邮件Api,无法从outlook客户端读取“.msg附件”   java PreparedStatement性能调优