基于appy框架(https://appyframe.work/tool/public)和OpenOffice/LibreOffice的桌面文档生成(.odt, .pdf, .doc, ...)
项目描述
collective.documentgenerator
collective.documentgenerator 是一个优雅的产品,允许基于动态模板轻松地生成办公文档。
使用新的内容类型来存储不同的模板
样式模板,可以是其他模板的共同模板
子模板,可以在其他模板中使用
邮件循环模板,其他模板可以使用它来进行邮件循环
基本模板
高级模板,涉及配置
模板是在 LibreOffice 软件中创建的。
输出格式是可以由LibreOffice生成的格式
odt和ods格式
doc、docx、xls、xlsx格式
pdf、csv、rtf
您可以使用演示配置文件来轻松测试该产品。
翻译
此产品已被翻译成
法语。
西班牙语。
您可以为缺失的消息或其他新语言做出贡献,加入我们加入 Plone Collective Team 到 Transifex.net 服务,与全球所有Plone翻译者社区一起。
安装
通过将其添加到您的buildout中安装 collective.documentgenerator
[buildout]
…
- eggs =
collective.documentgenerator
然后运行“bin/buildout”
用法
如何添加新的POD模板?
在您的Plone网站上,您可以添加两种主要模板
PODTemplate:由标题、描述和要上传的odt文件组成
可配置POD模板:向基本模板添加可配置字段
输出格式选择
门户类型选择
样式模板选择
子模板选择
作为条件的TAL表达式(行为)。
启用标志
上下文变量列表
邮件循环模板
如果您愿意,可以将模板组织在一个或多个文件夹中。
如何编写模板?
使用appy框架来解释模板,并使用上下文渲染它。
您可以在文档中找到可以使用的语法说明。
您可以进行以下操作
使用基本Python表达式访问上下文字段或方法
执行if…then…else…
对段落、部分、表格、行、单元格进行循环
将xhtml转换为文本
基本辅助方法可以在模板中使用,并且可以添加自定义方法。
如何生成文档?
视图显示所有可用的POD模板和可配置POD模板,按照当前上下文。点击模板链接将调用“文档生成”视图。
调用“文档生成”视图
渲染模板并提出下载生成的文档
参数:模板UID和文档类型
这是视图小部件中使用的默认视图
调用“持久文档生成”视图
渲染模板并创建包含生成的文档的文件
参数:模板UID和文档类型
调用“邮件循环持久文档生成”视图
循环持久渲染的文档并创建包含所有文档的文件
参数:文档UID
搜索和替换
有关搜索和替换功能的文档在这里:docs/search_replace.rst
日志记录与调试
您可以通过定义环境变量 DOCUMENTGENERATOR_LOG_PARAMETERS 使用collective.fingerpointing指定将进行日志记录的表单请求,每个参数必须用逗号分隔,例如 param1,param2
Plone版本
它在Plone 4.3、Plone 5.0、5.1和5.2(Python2.7)上工作并经过测试。
贡献
许可证
该项目受GPLv2许可。
更改日志
3.43 (2024-04-10)
从imio.pyutils导入safe_encode而不是从imio.helpers导入。[gbastien]
使用来自imio.helpers的Plone版本常量(HAS_PLONE_4、HAS_PLONE_5、…)。[gbastien]
3.42 (2024-02-12)
再次翻译类型图标标题。[gbastien]
3.41 (2024-02-12)
纠正了错误。[sgeulette]
在TitleColumn中,使用typeInfo.Title()而不是翻译typeInfo.title,Title()执行相同的操作,但管理特殊字符的title。[gbastien]
3.40 (2023-08-01)
添加了环境变量DOCUMENTGENERATOR_LOG_PARAMETERS,可用于使用collective.fingerpointing记录请求表单参数。[mpeeters]
3.39 (2023-06-26)
删除了utils.safe_encode,从imio.helpers.content中导入它。[gbastien]
3.38 (2022-12-12)
在3.36中添加了缺失的注册修改后的升级步骤(force_default_page_style_for_mailing)。[sgeulette]
3.37 (2022-10-27)
修复错误:页面样式检查现在可以处理没有邮件模板属性的POD模板的情况。[sdelcourt]
3.36 (2022-10-21)
向注册中添加了一个新参数force_default_page_style_for_mailing。如果设置为True,将自动将默认页面样式应用于邮件模板。[sdelcourt]
在dg-templates-listing视图中按标题对模板目录排序。[sgeulette]
通过添加可选的obj参数改进了DXDocumentGenerationHelperView.get_value。[sgeulette]
3.35 (2022-08-26)
按模板标题对链接进行分组。[odelaere]
向生成链接添加了“title”属性。[odelaere]
使用别名导入以避免混淆。[sgeulette]
为生成链接存储CSS,以便更容易地进行调整。[gbastien]
3.34 (2022-06-21)
在持久生成的文档上存储template_uid,以知道使用了哪个模板。[sgeulette]
3.33 (2022-06-14)
在TemplatesTable中添加了字符转义,以避免xss。[sgeulette]
在 utils.update_oo_config_after_bigbang 中,如果 update_oo_config 抛出异常,则不要使实例启动失败。[odelaere]
3.32 (2022-06-02)
向 14 添加升级步骤,将 oo_port_list 参数添加到注册表中。[gbastien]
3.31 (2022-06-01)
使用 Appy 在多个 LO 服务器上实现负载均衡。[odelaere]
3.30 (2022-05-06)
为标签文档添加了 iterable_in_columns。[sgeulette]
在 dexterity 中添加了 get_relations。[sgeulette]
使用 Appy 在 POD 模板中对 pod 表达式进行搜索和替换。[aduchene]
.ods POD 模板现在可以使用搜索和替换功能。[aduchene]
在搜索和替换时确保临时目录是唯一的。[aduchene]
更新了说明文档。[Arhell]
3.29 (2022-04-15)
方法 update_oo_config 更新了 libreoffice 服务器的所有注册条目。[odelaere]
在进程启动时添加了更新 oo 配置的订阅者。[odelaere]
3.28 (2022-01-14)
添加了辅助函数 ConfigurablePODTemplate.get_filename,以便轻松获取文件名。[gbastien]
3.27 (2021-12-06)
更新了元数据版本。[sgeulette]
3.26 (2021-11-08)
以这种方式创建/编辑 PODTemplate 时清除笔记,这样 search&replace 功能才能按预期工作
添加了 utils.clean_notes;
只有在 odt_file 改变且文件确实已更新时才进行清除操作;
将函数 create_temporary_file 从 events.styles_events 移至 utils。[gbastien]
[gbastien]
3.25 (2021-09-23)
在 __unicode__ 方法中使用 ProxyObject 的包装上下文。将 __repr__ 恢复为默认实现。[sdelcourt]
3.24 (2021-09-23)
在 setup.py 中要求 beautifulsoup4<4.10,因为从 4.10.0 版本开始,beautifulsoup4 与 Python2 不再兼容。[gbastien]
调用 Renderer 时传递参数 html=True,这样在 POD 模板中使用 xhtml 函数时,内容被视为 HTML,一些预处理被应用以确保给定内容是有效的 xhtml。[gbastien]
为 __repr__ 和 __str__ 方法使用 ProxyObject 的包装上下文。[sdelcourt]
3.23 (2021-08-09)
在应用替换之前允许在搜索结果中选择模板。[sdelcourt]
3.22 (2021-07-16)
添加了一个视图,用于在 POD 模板中对 pod 表达式进行搜索和替换 @@collective.documentgenerator-controlpanel。[aduchene]
添加了一个辅助类 SearchAndReplacePODTemplates,它可以在 POD 模板中对 pod 表达式进行搜索和替换。[aduchene]
添加了对搜索和替换功能的测试。[aduchene]
添加了用于在 ODT 文件中搜索和替换 pod 表达式的实用程序类。[sdelcourt]
添加了一个脚本 bin/search_replace,可通过 CLI 在 ODT 文件中进行搜索和替换。[sdelcourt]
添加了一些有关搜索和替换功能的文档。[aduchene]
将 portal 添加到默认生成上下文中。[gbastien]
修复了样式更新临时文件目录没有使用 CUSTOM_TMP 的问题。[odelaere]
在渲染文档之前确保 CUSTOM_TMP 目录存在。[odelaere]
3.21 (2021-04-20)
添加了一个视图来检查每个 POD 模板 @@check-pod-templates。[odelaere]
将 @@check-pod-templates 方式调整为 find_pod_templates,以便考虑当前上下文。这样,我们可以检查特定文件夹中的 pod 模板。[gbastien]
更正了域名 [sgeulette]
在 dg-templates-listing 中默认不检查选择列,以避免用户在使用批处理按钮时出错 [sgeulette]
3.20 (2021-03-09)
添加了对 CSV 文件的支持。[odelaere]
重做了图标,使用 svg 代替 png,并使其更加一致。[odelaere]
为 PersistentDocumentGenerationView 添加了生成标题参数。[jjaumotte]
3.19 (2020-10-07)
当存在另一个可用的 pod 模板时,通过不渲染 actionpanel 的外部编辑来防止“AttributeError” [fngaha]
在控制面板模式方案和注册记录之间使用相同的默认值。[odelaere]
3.18 (2020-08-18)
更新文件表示形式,使其与 zopeedit < 1.0(当前 Windows exe)和 zopeedit >= 1.0 兼容。[sgeulette]
修复了渲染空 RichTextATFieldRenderer 时的错误。[odelaere]
将传递给 DocumentGenerationView.__call__ 的 kwargs 传递给子方法 generate_and_download_doc、_generate_doc、_recursive_generate_doc,然后传递给 _render_document,因此可以将 raiseOnError=False 参数传递给 _render_document。[gbastien]
3.17 (2020-06-24)
在 AT 渲染器和辅助程序中,使用字段访问器而不是 get() 方法来获取存储的值。[gbastien]
3.16 (2020-05-25)
修复get_children_pod_template()方法中的RuntimeError: set changed size during iteration错误。[sdelcourt]
3.15 (2020-05-19)
改进了Appy的流参数集成,这允许显式地将值设置为False。默认值仍为auto。[mpeeters]
添加了Transifex.net服务集成,以管理翻译过程。[macagua]
添加了西班牙语翻译。[macagua]
更新了i18n支持。[macagua]
3.14 (2020-04-23)
更新了get_value,以测试对象上是否存在属性。[sgeulette]
添加了将kwargs传递到DocumentGenerationView.__call__的方法,然后是子方法generate_and_download_doc和_generate_doc。[gbastien]
3.13 (2020-03-04)
改进了dg-templates-listing。[sgeulette]
3.12 (2020-02-06)
向方法DocumentGenerationHelperView.display添加了参数bypass_check_permission=False,当为True时,它将跳过读取权限检查,这在上下文是一个不受限制获取的对象时很有用。[gbastien]
3.11 (2019-12-03)
强制转换为动态变量。[sgeulette]
添加了对Plone 5.2的支持。[odelaere]
修复了RichTextATFieldRenderer对空值的默认渲染。[sdelcourt]
3.10 (2019-11-26)
通过从每个角色中删除权限View来修复测试test_get_file_is_unrestricted。[gbastien]
将逻辑get_all_pod_templates/get_generable_templates从DocumentGeneratorLinksViewlet移出,以便更容易覆盖。现在它是一个IGenerablePODTemplates适配器。[gbastien]
3.9 (2019-10-14)
当值为None时,context_var返回默认值。[sgeulette]
在重用另一个POD模板的odt_file时,确保get_file可以通过获取不受限制的方式来访问包含odt_file的POD模板。[gbastien]
修复了测试TestDexterityHelperViewMethods.test_display_date_method,因为从Plone 5.1.x开始翻译格式已更改。[gbastien]
3.8 (2019-08-13)
为appy的工作空间添加了自定义临时目录环境变量‘CUSTOM_TMP’。[odelaere]
添加了使用外部服务器进程用于LibreOffice的能力。[odelaere]
使DocumentGeneratorLinksViewlet.get_links_info除了返回pod_template UID外,还返回pod_template对象。[gbastien]
3.7 (2019-05-16)
将参数helper_view和pod_template传递给DocumentGenerationView.get_base_generation_context,以便在必要时可用。[gbastien]
在collective.documentgenerator.ExistingPODTemplate词汇中显示实现了IConfigurablePODTemplate的所有POD模板。[gbastien]
将文件CHANGES.rst、README.rst和CONTRIBUTORS.rst从docs/移动到根目录。[gbastien]
3.6 (2019-03-27)
根据在父项中的位置对生成链接进行排序。[sgeulette]
3.5 (2019-03-08)
使样式非必需。[sgeulette]
添加了collective.fingerpointing支持,以了解谁在哪种格式下生成了哪个文档。[odelaere]
3.4 (2018-12-18)
在Pod模板上,当显示使用我的odt_file的Pod模板时,在标题旁边显示绝对_url。[gbastien]
3.3 (2018-10-02)
如果不允许删除tmp文件,则不会中断,例如,当LibreOffice用户与Zope实例用户不同时。[gbastien]
允许覆盖模板列表中的门户类型和显示的标题以合并。[odelaere]
将生成上下文作为参数添加到mailing_list中。[sgeulette]
避免在MailingLoopPersistentDocumentGenerationView中两次调用mailing_list。[sgeulette]
添加了update_oo_config函数,以根据环境变量更新oo选项。[sgeulette]
3.2 (2018-07-24)
邮件:在邮件生成上下文中包含原始模板中的上下文变量。[sgeulette]
pep8:排序导入。[sgeulette]
3.1 (2018-05-03)
在POD模板上,添加了重用另一个POD模板的odt_file的可能性。[anuyens, odelaere, gbastien]
不要使用IBatchActionsMarker注册显示在IBelowContentBody视图中使用的batchactions视图,而是注册一个更具体的接口IBelowContentBodyBatchActionsMarker。[gbastien]
覆盖批处理操作视图的可用方法。[sgeulette]
添加了列修改管理(在appy > 0.9.11中引入)[odelaere]
3.0.12 (2018-02-21)
更新渲染器参数:managePageStyles和resolveFields。[sgeulette]
从POD模板模式中删除了rename_page_styles字段。[sgeulette]
3.0.11 (2018-01-17)
添加钩子,以提供所有助手视图更新appy渲染器[cite][sdelcourt]
3.0.10 (2018-01-06)
在视图动作列中使用 edit_action_target。[sgeulette]
不要使用CSS来管理内容类型图标,我们已经在 portal_types 上有一个 icon_epxr。[gbastien]
如果存在,使用 collective.eeafaceted.batchactions。添加一个选择列和批量过渡按钮。[sgeulette]
使用门户类型图标在表格视图中显示。[sgeulette]
3.0.9 (2017-12-18)
添加了 rename_page_styles 字段,并用作渲染器参数。[sgeulette]
添加了 plone 翻译。[sgeulette]
3.0.8 (2017-12-11)
在基本模板类型上添加了样式模板。[sgeulette]
3.0.7 (2017-12-04)
在模板列表中包含批量操作。[sgeulette]
纠正了日期显示中的编码错误。[sgeulette]
3.0.6 (2017-11-28)
纠正了集合模板。[sgeulette]
修复了样式更新中的错误。[sgeulette]
3.0.5 (2017-11-16)
纠正了 actions_panel 调用。[sgeulette]
在辅助视图中添加了 get_file_binary 方法,它返回文件对象的二进制数据,并管理对象是 Dexterity 或 Archetypes 文件的事实。[gbastien]
需要 future>=0.14.0 来使用 html 包。[gbastien]
修复了法语测试,以验证翻译(特别是日期方法的翻译)。修复了在 Plone 4.3.x 和 Plone 5.x 中工作的测试。[gbastien]
在 travis 上升级 pip。不要使用 bootstrap。升级 setuptools。[sgeulette]
3.0.4 (2017-11-10)
管理日期显示中的周和月翻译。[sgeulette]
在列表模板中添加下载列。[sgeulette]
3.0.3 (2017-10-30)
添加了一个视图来重置 style_modification_md5(这样模板被视为未修改)。[sgeulette]
添加了一个视图来列出所有模板。[sgeulette]
添加了 pod_template.optimize_tables 字段,它使单个 POD 模板能够使用全局值/强制启用/强制禁用表优化。[gbastien]
3.0.2 (2017-10-06)
纠正了 ubuntu 16.04 的 soffice 脚本。[sgeulette]
测试现在依赖于 imio.helpers 在必要时导入 testing_logger,以便在 Travis CI 等地方进行日志记录。[gbastien]
根据 3.0.1 的更改纠正了测试。[sgeulette]
添加了 display_phone 方法。[sgeulette]
3.0.1 (2017-09-20)
使用 POD 模板标题作为持久文档的默认标题。[sdelcourt]
3.0.0 (2017-09-20)
在类型上添加了锁定行为。[sgeulette]
在 ConfigurablePODTemplate 上添加了 MailingLoopTemplate 类型以及 mailing_loop_template 字段。[sgeulette]
添加了“mailing-loop-persistent-document-generation”视图来管理邮件循环生成。[sgeulette]
添加了一个管理上下文的辅助方法。[sgeulette]
添加了一个检查在渲染过程中是否需要替换邮寄数据的辅助方法。[sgeulette]
将文件名生成移动到 DocumentGenerationView._get_filename 方法,以便轻松覆盖和针对特定用例进行调用。[gbastien]
将持久文档标题生成移动到 DocumentGenerationView._get_title 方法,以便轻松覆盖和针对特定用例进行调用。[sgeulette]
如果临时文件无法删除,则不要中断。[gbastien]
2.0.8 (2017-08-02)
为生成视图的‘pod_template’和‘output_format’属性添加默认值。[sdelcourt]
2.0.7 (2017-07-25)
检查字段名是否存在,根据参数执行:默认不检查,如果不存在则失败。[sgeulette]
2.0.6 (2017-07-24)
纠正了迁移步骤。[sgeulette]
在 get_value 中检查 z3c.form.interfaces.NO_VALUE。[sgeulette]
2.0.5 (2017-07-19)
添加了一个简单的方法来完善 DocumentGeneratorLinksViewlet.get_links_info 返回的信息。[gbastien]
在 @@generation-view 和 @@document_generation_helper_view 上直接使用 pod_template 和 output_format,通过 self.pod_template 和 self.output_format。[gbastien]
添加了迁移来更改门户类型图标。[sgeulette]
2.0.4 (2017-07-12)
在测试期间启动和结束 libreoffice。[sgeulette]
检查来自行为的行为名称是否存在。[sgeulette]
2.0.3 (2017-06-22)
在生成文件名时,从 unicoded 标题中删除特殊字符,以避免将其转换为 ascii 数字(特殊字符 u2013 在生成的文件名中转换为 2013)。[gbastien]
2.0.2 (2017-06-22)
确保文件名中不包含 - 字符,因为 cropName 处理这个字符的方式很奇怪,如果遇到 - 字符,则会截断名称。[gbastien]
2.0.1 (2017-06-21)
使用 plone.i18n.normalizer.interfaces.IFileNameNormalizer 来规范化文件名,因为 Products.CMFPlone.utils.normalizeString 使用 IIDNormalizer,其最大长度被固定为 50。这里最大长度被固定为 1023,这样我们可以管理很长的元素标题以生成文件名。[gbastien]
管理 style_modification_md5 字段以检测模板是否被用户修改。更新了 update_templates 方法来使用它。[sgeulette]
2.0.0 (2017-06-21)
使包同时兼容 Plone4 和 Plone5:- 创建了 Plone 版本特定的配置文件(plone4 和 plone5);- 在 Plone5 版本中移除了对 AT 的支持;- 适配了演示配置文件以与 Dexterity(plone.app.contenttypes)一起工作。[gbastien]
以“法语”运行所有测试,以确保翻译在所有地方都有效。[gbastien]
添加了参数 raiseOnError_for_non_managers,以便能够在包含错误的地方生成文档时引发 Plone 错误。这可以避免生成包含错误的文档,其中可能丢失一些数据,如 PDF 中的错误不可见,甚至在 ODT 中,用户可能不理解注释中的错误很重要。这将启用 appy.pod.renderer.Renderer 的 raiseOnError 参数。[gbastien]
在创建 pod 模板时调用样式更新。[sgeulette]
当样式更新失败时引发异常。[sgeulette]
纠正了演示模板的 mimetype。只更新 odt 的样式。[sgeulette]
1.0.6 (2017-05-31)
在 IMergeTemplatesRowSchema 架构中添加了 do_rendering 字段。如果选中,则首先渲染子模板,路径是上下文字典中的值。否则,子模板对象是上下文字典中的值。[sgeulette]
从渲染方法返回生成上下文,以便在测试中使用它。[sgeulette]
为 do_rendering 功能添加了单元测试 [odelaere, sgeulette]
改进了 ConfigurablePodTemplate 的验证 [odelaere]
在生成时添加了验证以避免生成上下文损坏 [odelaere]
在上下文变量中管理布尔值 [sgeulette]
移除了导致粘贴时出现错误的 meta_type 属性 [sgeulette]
在更新包含其样式模板的 Pod 模板时,不要丢失文件名 [gbastien]
简化对 collective.documentgenerator.StyleTemplates 词汇表术语标题的覆盖 [gbastien]
为 StyleTmplate 定义了正确的 portal_type 描述,以便它在 folder_factories 中显示 [gbastien]
修改了生成的文件名,之前它是 POD 模板标题和格式,现在它使用 POD 模板标题、上下文标题和格式构建 [gbastien]
1.0.5 (2017-03-10)
在 display_html_as_text 中添加了参数“html”,与“field_name”互斥,以添加使用日期字段或 html 格式的字符串的功能。[odelaere]
在 display_text_as_html 中添加了参数“text”,与“field_name”互斥,以添加使用日期字段或字符串的功能。[odelaere]
在 display_date 中添加了参数“date”,与“field_name”互斥,以添加使用日期字段或日期对象的功能。[odelaere]
添加了参数 optimize_tables,以能够使用 appy.pod 的 optimalColumnWidths 功能。[gbastien]
1.0.4 (2017-02-14)
仅使用 force 参数更新样式模板。[sgeulette]
确保 current_md5 被存储为 unicode,否则在手动验证存储数据时无法通过验证。[gbastien]
1.0.3 (2017-02-10)
为更新模板添加了 utils 方法。[sgeulette]
1.0.2 (2017-02-07)
修复了 IConfigurablePODTemplate.pod_formats 和 IConfigurablePODTemplate.pod_portal_types 字段的小部件,以避免被其他包覆盖,例如使用 collective.z3cform.select2 时的情况。对于 IConfigurablePODTemplate.pod_portal_types 使用 CheckBoxWidget,以便在显示多个元素时简化选择。[gbastien]
将 appy 渲染器设置为存储在生成上下文中的视图元素。在生成上下文获取器中覆盖视图时很有用。[sgeulette]
1.0.1 (2017-01-13)
在 getDGHV 方法中移除了无用的参数。[sgeulette]
1.0.0 (2017-01-12)
在未实现的方法中引发 NotImplementedError。[sgeulette]
将 display_html 重命名为 render_xhtml,将 display_text 重命名为 display_text_as_html。[sgeulette]
添加 display_html_as_text。[sgeulette]
添加 get_state。[sgeulette]
添加 context_var 方法,以安全地获取可选上下文变量。[sgeulette]
0.14 (2016-12-19)
在控制面板中使用正确的名称访问 documentgenerator 配置。[gbastien]
将格式 .doc 和 .docx 添加到演示模板 test_template_multiple 中。[gbastien]
从环境变量设置 oo_port 和 uno_path 的默认值。[sgeulette]
0.13 (2016-12-09)
通过导入 unohelper 而不是导入 uno 来验证 python 的路径,因为 uno 可能是通过 pip install uno 安装的,但不足以生成文档。[gbastien]
添加 .docx 格式,其中可以生成模板。[gbastien]
在安装时从环境变量设置 oo_port。[sgeulette]
0.12 (2016-12-07)
将所有参数传递给 DocumentGenerationHelperView.translate,由 zope.i18n.translate 管理。[gbastien]
使上下文变量值不是必需的。[sgeulette]
0.11 (2016-11-22)
用 getMultiAdapter 替换 unrestrictedTraverse。[sgeulette]
在 configurablepodtemplate 上添加上下文变量字段和验证器,并在生成上下文中添加这些变量。[sgeulette]
将 fr 设置从默认配置文件移动到测试配置文件。[sgeulette]
0.10 (2016-10-05)
在渲染器中使用 forceOoCall 调用 libreoffice 进行渲染,例如在 odt 中渲染目录。[sgeulette]
更改 podtemplate 查看器的搜索。在 zcml 中定义模板。[sgeulette]
添加内容图标。[sgeulette]
正确管理 datetime.date 和 datetime.datetime。[sgeulette]
添加 display_widget 方法。[sgeulette]
将 display_text 重命名为 display_html(用于富文本字段)[sgeulette]
为文本字段添加 display_text 以渲染智能 html。[sgeulette]
添加获取属性值的方法。[sgeulette]
添加获取另一个对象上的帮助视图的方法。[sgeulette]
从帮助方法中移除上下文参数,以避免更改上下文。[sgeulette]
从方法中获取生成视图的名称。[sgeulette]
使用 RadioFieldWidget 为布尔字段 'enabled' 设置,以便在 pod_template 视图中显示为 False。[gbastien]
0.9 (2016-06-22)
处理渲染单选小部件值的案例。[sdelcourt]
0.8 (2016-06-03)
在 DocumentGenerationView._render_document 中,将 portal 作为 imageResolver 传递给 appy.pod.renderer.Renderer,以便 LibreOffice 可以访问 XHTML 字段中的私有图像。[gbastien]
0.7 (2016-03-22)
将 **kwargs 传递给 DocumentGenerationView._render_document,以便可以将任意参数传递给在 _render_document 中调用的 appy.pod.renderer.Renderer,并将 **kwargs 也传递给它。这样,例如,可以将 Renderer.raiseOnError 设置为 True。[gbastien]
为内容类型 PODTemplate、ConfigurablePODTemplate、SubTemplate 和 StyleTemplate 添加 meta_type,这样就可以用于过滤出 objectValues/objectIds。[gbastien]
在 configurablePODTemplates 上添加验证器,检查选择的生成格式是否与提供的文件类型正确。[boulch, DieKatze]
0.6 (2016-01-21)
CSS 修复,使用 display: inline-block; 而不是 display: inline; 在查看器中显示 POD 模板,以便可以对其上的附加标签进行对齐。[gbastien]
将 'description' 添加到在 generationlinks 查看器中可显示的数据列表中。当将鼠标悬停在 POD 模板标题上时,现在会显示 POD 模板的描述。[gbastien]
0.5 (2015-12-02)
添加 ConfigurablePODTemplateCondition._extra_expr_ctx 方法,以便可以轻松扩展 ITALCondition 表达式的上下文,而无需覆盖 evaluate 方法。[gbastien]
0.4 (2015-12-02)
确保不要查询 None,以确保与 ZCatalog 3 的兼容性。[gbastien]
考虑注册表中定义的 oo_port 参数。[gbastien]
0.3 (2015-09-30)
扩展基本帮助视图以使 @@plone、@@plone_portal_state 视图可用,并添加了方法 'translate' 以能够将给定的域名中的 msgid 进行翻译。[gbastien]
重构了 DocumentGenerationHelperView.display_date 方法,使用 toLocalizedDate,并适配了 AT 和 DX 实现。[gbastien]
重构生成视图,将参数< cite>pod_template和< cite>output_format直接传递给视图调用或其方法。[gbastien, sdelcourt]
0.2 (2015-09-22)
将字段< cite>pod_portal_type重命名为< cite>pod_portal_types,因为这个字段是多选字段。[gbastien]
将< cite>document-generation视图使用的参数< cite>doc_uid重命名为< cite>template_uid,更明显,并在视图链接信息字典中可用。[gbastien]
添加了IConfigurablePODTemplate.pod_formats字段,以便能够选择我们想要生成POD模板的格式。[gbastien]
在模板上评估tal_condition时,将extra_expr_ctx传递给TAL表达式,以便< cite>context和< cite>here成为TAL表达式实际评估的元素,而不是pod_template,< cite>template是pod_template。[gbastien]
0.1 (2015-07-17)
初始发布。[gbastien]
…
更新bootstrap使用https://raw.githubusercontent.com/buildout/buildout/master/bootstrap/bootstrap.py [fngaha]
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪一个,请了解更多关于安装包的信息。