跳转到主要内容

Plone的附加组件

项目描述

https://github.com/collective/collective.iconifiedcategory/actions/workflows/main.yml/badge.svg?branch=master https://coveralls.io/repos/github/collective/collective.iconifiedcategory/badge.svg PyPI badge

collective.iconifiedcategory

本产品允许您使用图标标识的分类来对创建的内容进行分类。

可以启用一个dexterity行为,它将添加一个“内容分类”字段,该字段将列出在配置中定义的可用分类。

因此,您首先需要在某处添加一个ContentCategoryConfiguration来定义分类。然后添加一个CategoryGroup,可能在此处激活一些额外功能。

  • 内容是否机密?

  • 内容是否是打印元素?

  • 内容是否是签名元素?

如果激活,这些字段将使用行为在内容上可用。

然后在CategoryGroup中,您将能够添加由标题和图标特征化的ContentCategory。这些ContentCategory元素将是用于在内容上选择分类的词汇表中的术语。

此包具有广泛的可覆盖性,旨在管理许多图标化分类的使用情况。

包含分类内容的A元素将显示一个特殊的小部件,分类内容将通过图标分组显示在ContentCategory后面。

还有一个表格视图可供选择,列出了带有更多详细信息的分类内容。

截图即将到来…

安装

通过将其添加到您的buildout来安装collective.iconifiedcategory

[buildout]

...

eggs =
    collective.iconifiedcategory

然后运行 bin/buildout

贡献

许可协议

本项目采用GPLv2许可证。

贡献者

  • Martin Peeters,原作者 [Affinitic]

更改日志

0.67 (2024-04-10)

  • 修复了在 result_type=’objects’sort_on=’getObjPositionInParent’ 时utils.get_categorized_elements的问题。[gbastien]

  • 更正了 Preview 的法语翻译中的错误。[gbastien]

  • utils.validateFileIsPDF 中移除了优化,以避免多次验证,因为这会破坏同一 REQUEST(例如使用rest api时)中添加的多个元素的验证。[gbastien]

  • 添加了 collective.iconifiedcategory.every_category_uids 词汇表,该词汇表列出了每个找到的分类,其uid作为词汇表术语令牌。[gbastien]

0.66 (2024-02-27)

  • 由于笔误而更正了错误。[sgeulette]

0.65 (2024-02-19)

  • 将容器克隆事件替换为移动事件,以处理路径中容器的重命名、复制/粘贴和剪切/粘贴。[sgeulette]

  • 删除了无用的IconifiedModifiedEvent [sgeulette]

  • 在适当的订阅者定义中使用了 IIconifiedCategorizationMarker [sgeulette]

  • 删除了一些hasattr测试(MOD-831)并更正了事件对象 [sgeulette]

  • 处理了分类元素的剪切/粘贴和重命名 [sgeulette]

0.64 (2024-02-08)

  • ContentCategoryConfiguration 类型上添加了 IExcludeFromNavigation 行为 [sgeulette]

  • 更正了错误的步骤依赖关系 [sgeulette]

0.63 (2024-01-02)

  • config.py 中为设置注册记录添加了 get_set_ 方法。[gbastien]

0.62 (2023-12-11)

  • 在更新现有元素时修复了 CategorizedObjectPreviewAdapter.status。[gbastien]

0.61 (2023-11-27)

  • 简化了 CategorizedChildView.has_elements_to_show。[gbastien]

0.60 (2023-09-21)

  • metadata.xml 中更正了版本(2105)。[gbastien]

0.59 (2023-09-04)

  • 在任何相关的情况下显示文档转换旋转器。[gbastien]

  • categorized_elements 数据中添加了 contentType 值。[gbastien]

0.58 (2023-08-24)

  • 添加了新字段 ICategorize.show_preview,将元素链接转换为 collective.documentviewer 预览而不是下载。当预览计算正在进行时,修复了显示的图标。[gbastien]

  • tooltipster 中强制图标 width/height16pxcategorized-childs.ptcategorized-childs-infos.pt)。[gbastien]

  • ContentCategory.xml 中更正了 ContentCategory portal_type 标题。[gbastien]

0.57 (2023-03-30)

  • 当没有请求(使用 plone.app.async)时,将 None 传递给 ImageDataModifiedImageScaling 而不是 {},以便当使用 plone.protect >= 3 时,plone.namedfile 缩放感到高兴。[aduchene]

0.56 (2023-02-27)

  • 调整了 More infos 的法语翻译。[gbastien]

0.55 (2022-09-29)

  • 修复了 utils.get_ordered_categoriesIconifiedCategoryGroupAdapter.get_every_categories,以确保返回的分类来自正确的 config_root,如果 config_root 发生更改,则无效化 cachekey。[gbastien]

0.54 (2022-06-14)

  • 添加了 @@categorized-childs-manage,它将渲染一个管理分类元素的链接。[gbastien]

  • 实现了 CategorizedContent._unrestrictedGetObject 作为 collective.eeafaceted.z3ctable 调用,现在 item._unrestrictedGetObject 替代了 item.getObject 以进行性能优化。[gbastien]

  • 添加了 safe_utils.py,它将仅包含安全实用程序。[gbastien]

  • 我们需要转义一些内容以避免恶意内容

    • 依赖collective.eeafaceted.z3ctable显示分类内容表,它管理转义内容;

    • 在词汇表中转义分类标题。

    [gbastien]

0.53 (2022-04-22)

  • 使 validateFileIsPDF 变量检查直接在数据上是否存在 contentType,以避免对文件进行检查。[gbastien]

0.52 (2022-03-22)

  • 修复了 metadata.xml 版本,设置为 2103 而不是 2101。[gbastien]

0.51 (2022-03-10)

  • 更新升级步骤到 2103(将‘last_updated’添加到 categorized_elements),如果在元素的 categorized_elements 中找到 last_updated 键,则不停止,继续到下一个元素,可能有些元素已被其他代码部分的更新。[gbastien]

0.50 (2022-01-03)

  • 尽可能使用不受限制的目录查询。[gbastien]

  • 对于生成 CSS 的视图,执行目录查询以获取没有 pathsort_on 的分类,从门户调用,顺序不重要。[gbastien]

  • 添加了 collective.iconifiedcategory.every_categoriescollective.iconifiedcategory.every_category_titles 词汇表,返回所有可能的分类,包括未启用的分类。这将被用于管理 z3c.formMissingTerms 适配器。[gbastien]

  • 修复了生成 collective-iconifiedcategory.css 的视图,获取包括未启用的所有分类。[gbastien]

  • 优化了 @@categorized-childs 视图,只计算一次所有内容(上下文 URL、上下文 UID 等)并在 TAL 表达式中使用 pythonstring。默认情况下,使用 check_can_view=False 调用 utils.get_categorized_elements。[gbastien]

  • utils.get_categorized_elements 添加了 check_can_view=True 参数。这将在必要时才执行 IIconifiedContent.can_view 检查。[gbastien]

  • 将数据 last_updated 添加到 categorized_elements 以用于缓存。添加到版本 2103 的升级步骤。[gbastien]

  • 优化了 ram.cacheutils.get_ordered_categories 键,缓存直到任何分类添加/删除/位置更改。[gbastien]

0.49 (2021-07-16)

  • 添加了在分类元素任何属性上过滤显示的分类元素的可能性。[gbastien]

  • 依赖于 imio.helpers,因为我们需要 :json 后缀类型转换器。[gbastien]

  • 只为 AT IBaseObjectDX IDexterityContent 或其他提供 OFS IItem 的元素(如 portal_type)注册 categorized_content_container_cloned ObjectClonedEvent 处理器,因为它是这样应用的。[gbastien]

  • 添加了位于分类元素表下方的特定 collective.iconifiedcategory.belowcategorizedelements 视图管理器,如果表被显示,则将显示它。[gbastien]

  • 通过将其制作成一个 BrowserView 来使 z3c.table CategorizedTable 更容易覆盖。[gbastien]

  • FilesizeColumn 适配以在列标题中显示总文件大小。[gbastien]

  • 添加了 soft_warn_filesize,这是一个应用于超过 1 Mb(如已经应用于超过 5 Mbwarn_filesize CSS 类)的文件的 CSS 类。[gbastien]

  • 移除了 显示详细信息 操作,除了由于显示原因,在弹出窗口中显示多于 2 列的元素外,详细信息总是显示的。[gbastien]

0.48 (2021-01-19)

  • 依赖于 CategorizedObjectAdapter.can_view 来管理对分类元素的访问,这样,我们可以管理当前用户没有元素上的 View 权限,但访问由 can_view 适配器方法管理的用例。[gbastien]

0.47 (2020-08-18)

  • 添加了 Nothing. 的缺失翻译。[gbastien]

  • utils._categorized_elements 中,使用 aq_base 获取 categorized_elements 以确保我们获取上下文上的一个。确实,父元素也可能有此属性……[gbastien]

  • 不要使用 portal_catalog 来获取 categorized_elements,而是在 categorized_elements 数据中存储 allowedRolesAndUsers 并依赖于它来获取直接存储在父元素中的内容。这是出于性能原因。[gbastien]

  • 删除了未使用的 utils.get_UID 函数。[gbastien]

  • 确保使用不存在的 content_category 创建的内容不会破坏任何东西。[gbastien]

0.46 (2020-06-24)

  • 通过为 IIconifiedCategorization.default_titles 定义默认值(该值不在适配的上下文中存储)来使 plone.restapi 验证满意。[gbastien]

0.45 (2020-05-26)

  • 当使用 collective.solr 时,大脑不是 ICatalogBrainPloneFlare,因此当安装时注册 IIconifiedContent 适配器。[gbastien]

0.44 (2020-05-08)

  • 不要使用标记为 IIconifiedCategorizationcontent_category.setter 的行为来创建元素,因为这些方法现在不再起作用。 [gbastien]

0.43 (2020-04-30)

  • 已调整测试以使用 file_txt 而不是 file 作为默认 File 的 ID,因为 file 既是字段的名称,portal.file 返回的是 File 实例,而不是因为缺少 file 字段而中断。 [gbastien]

  • 在创建新元素且没有选择文件时,不要在 utils.validateFileIsPDF 中中断。 [gbastien]

0.42 (2020-04-29)

  • 将参数 use_category_uid_as_token=False 添加到 CategoryVocabulary.__call__ 方法中,以便可以使用类别/子类别作为术语标记,而不是计算出的内容 ID(默认值)。 [gbastien]

0.41 (2020-03-12)

  • 当分类元素属性更改时(to_printconfidential 等)触发的事件已分解。现在只触发一个 IIconifiedAttrChangedEvent 事件。此外,它已优化以避免过多的处理。 [gbastien]

  • 在创建新分类元素时,删除了对 IconifiedAttrChangedEvent(‘confidential’) 的特定调用。 [gbastien]

  • 添加了 ICategorize.only_pdf 参数,使其能够定义分类元素是否为文件,它只能为 PDF。还添加了对 IIconifiedCategorization 的不可变约束,检查在分类元素具有文件字段且使用的内容类别具有 only_pdf=True 时文件是否为 PDF。 [gbastien]

0.40 (2020-02-18)

  • 使 CategorizedTabView 中列的显示与 @@categorized-childs-infos 视图中详细图标的外观一致,在两种情况下都依赖于 CategorizedChildInfosView.show [gbastien]

0.39 (2019-11-26)

  • 添加了对 publishable 属性的管理,就像 to_printconfidential 属性一样。在可能的情况下进行分解。 [gbastien]

0.38 (2019-08-23)

  • 修复了代码以与 plone.app.async 一起工作,因为在这种情况下,没有 REQUEST。为此,需要通过实例化 ImageDataModifiedImageScaling 类来获取 @@images 视图,这可能在子包中覆盖时成为问题。 [gbastien]

  • 尝试再次修复当分类元素标题显示在多行时 tooltipster 弹出窗口的问题。 [gbastien]

0.37 (2019-06-14)

  • 避免在 tooltipster 弹出窗口中垂直滚动,当分类内容标题显示在多行时。 [gbastien]

  • 在 Travis 中强制使用 distribution trusty。 [gbastien]

0.36 (2019-04-23)

  • 覆盖了 ImageScaling.modified,以考虑实际存储的图标文件 _p_mtime 而不是类别 _p_mtime,因为类别的 _p_mtime 可以由于多个原因而更改,这会破坏使用图标的内容。此外,现在只有在图标文件更改时才需要更新使用类别的元素。 [gbastien]

  • 在 select2 下拉菜单中强制显示小图标,以便它适合可用空间,这是在上传大图标时的情形。在字段 ContentCategory.icon 上添加了描述,说明要使用 16x16 图像图标。 [gbastien]

0.35 (2019-02-22)

  • 使用 ram.cache 对 utils.get_ordered_categories 进行缓存,在 REQUEST 期间。 [gbastien]

  • 当使用 utils.get_ordered_categories 和 IconifiedCategoryGroupAdapter.get_every_categories 时,添加了参数 only_enabled (默认为 True),以便在 utils.sort_categorized_elements 中拥有所有类别。 [gbastien]

  • 使用生成的 scale mini URL 作为图标 URL,以便它可以被缓存。 [gbastien]

  • 在更新使用 ContentCategory 的元素之后触发 CategorizedElementsUpdatedEvent。 [gbastien]

  • 使用 natsorted 而不是 realsorted 对附件按标题排序。 [gbastien]

  • 更新升级步骤,因为步骤 2100 应该在步骤 2000 之前完成……删除了步骤 2000 并将其集成到步骤 2100 中,因此我们首先计算 ContentCategory 图标列表缩放,然后更新每个分类元素。 [gbastien]

0.34 (2019-01-31)

  • @@categorized-childs-infos tooltipster 视图的顶部显示 content_category 标题。 [gbastien]

  • 使用 natsort.realsorted 对分类元素按其标题进行排序,元素按标题排序,不考虑标题是大写还是小写。 [gbastien]

  • context._p_changed = True 移动到 utils.sort_categorized_elements 方法中,以确保调用它将正确管理 _p_changed。 [gbastien]

0.33 (2018-08-03)

  • 针对FontAwesome的CSS适配,从版本5+开始,字体名称从FontAwesome更改为Font Awesome 5 Free。需要collective.fontawesome >= 1.1。[gbastien]

0.32 (2018-05-04)

  • 添加了在多个列上显示大量元素时必要的样式。[gbastien]

  • 确保图标通过将图标和分类元素标题的第一词包裹在使用<span>中,粘附在tooltipster弹出窗口的文本第一词上。[gbastien]

0.31 (2018-05-03)

  • 修复了tooltipster弹出窗口中应用的CSS,用于活动机密。[gbastien]

0.30 (2018-04-20)

  • 确保应用CSS的元素数量在tooltipstered或不tooltipstered时都已完成。[gbastien]

  • 为JS方法tooltipster初始化分类元素添加了传递CSS选择器的可能性。[gbastien]

0.29 (2018-02-14)

  • 适配了tooltipster的JS调用,因为现在使用tooltipster 4.2.6。需要 > 0.1。[gbastien]

0.28 (2018-01-23)

  • 当更改元素的content_category时,如果它仍然是原生的默认值,则重新应用字段to_printconfidentialto_signsigned的默认值。默认值与content_category相关。[gbastien]

0.27 (2017-12-07)

  • actionview.BaseView中,将ObjectModifiedEvent__call__移动到set_values方法,以便直接使用它来更新父级的categorized_elements。[gbastien]

0.26 (2017-11-29)

  • 为图像使用特定的静态资源目录。[gbastien]

0.25 (2017-11-28)

  • IconClickableColumn.is_editable中调用actionview._may_set_values以避免双重逻辑。[gbastien]

0.24 (2017-11-27)

  • 修复了迁移,该迁移向包含分类内容的父级元素的categorized_elements添加了与to_sign/signed相关的数据。使用执行更新,不必关心已经迁移的内容,对每个找到的元素执行更新。[gbastien]

  • SignedChangeView视图添加了测试,特别是对于可能的to_sign/signed组合值的循环。[gbastien]

  • 如果容器没有具有categorized_elements字典,则删除具有content_category的元素时不要中断。[gbastien]

  • 改进了一些翻译。[gbastien]

  • 对获取content_category词汇的方式进行了模块化,以便易于覆盖,并且我们依赖于相同的源方法来处理这两个词汇。[gbastien]

0.23 (2017-08-10)

  • 添加了对to_signsigned属性的类似管理,就像对to_print属性的管理一样。这两个属性都使用单个操作,该操作有3个选项:。[gbastien]

  • to_printto_sign/signed的默认值现在在IObjectAddedEvent中管理,而不是在中,这样所有属性都以相同的方式管理,因为to_print是简单属性,而to_sign/signed可以从行为中获取。[gbastien]

  • 在分类元素tooltipster中添加了显示/隐藏有关to_printto_sign/signed的详细信息的功能。

0.22 (2017-08-04)

  • 使门户在tabview实例上可用。[gbastien]

0.21 (2017-07-18)

  • 撤销了发布版本<0.19>和<0.20>中的更改,因为我们不会绕过can_view,如果元素不是,因为can_view可能考虑比更多的元素。[gbastien]

0.20 (2017-07-14)

  • 确保我们在不接收但< categorized_elements>的情况下正确绕过中的,当元素不是机密时。[gbastien]

0.19 (2017-07-13)

  • 从utils和views中分解调用_check_can_view,以确保只有当obj是机密时才进行检查。这个修复解决了一个bug,即对非机密obj进行了can_view检查,尽管它在分类元素表中显示,但在@@download时仍然引发了错误。[gbastien]

0.18 (2017-05-29)

  • 在更新分类元素时添加了缺失的翻译。[gbastien]

  • 在fti类型上使用icon_expr而不是content_icon来定义图标。实际上我们希望不定义图标,因为类型图标是通过CSS显示的。[gbastien]

  • 向由utils.calculate_category_id生成的content_category添加了一个额外的级别,以避免为不同的分类组生成相同的content_category。[gbastien]

  • utils.update_all_categorized_elements添加了参数sort=True,以便能够禁用耗时的排序。[gbastien]

0.17 (2017-03-22)

  • 使plone.formwidget.namedfile@@download视图具有can_view意识。[gbastien]

0.16 (2017-03-08)

  • 如果它们在组中被禁用,则在添加和显示视图中正确隐藏to_print和confidential小部件。[mpeeters]

  • 添加了新的事件以限制父级上的更新信息。[mpeeters]

  • 添加了一个选项,以仅更新父级的分类信息。[mpeeters]

0.15 (2017-02-17)

  • 调整了翻译,使其更易于理解。[gbastien]

  • 如果当前不是在删除《Plone站点》,则在category_before_remove中仅调用_cookCssResources。[gbastien]

  • 使ICategory.icon成为一个主字段,这样我们就可以使用一个更简单的下载URL,该URL仅是path_to_object/@@download而没有文件名。这是为了解决Apache中的一个bug,当文件名包含%c%字符时会出现该bug。[gbastien]

0.14 (2017-02-13)

  • categorized-childs-infos视图的<ul>标签上生成一个CSS类,该类是当悬停在categorized-childs元素上时调用的AJAX视图,这将提供在多列中显示信息的能力。当在tooltipster小部件中显示具有相同content_category的同一分类的元素时,这是必要的。在iconifiedcategory控制面板中可以定义< cite>在显示同一分类的分类元素时,每列显示的最大元素数。[gbastien]

  • 将注册参数filesizelimit移动到IIconifiedCategorySettings。[gbastien]

  • categorized_content_container_cloned IObjectClonedEvent事件处理程序中添加了一种方法来延迟调用utils.update_all_categorized_elements。[gbastien]

0.13 (2017-02-09)

  • 使collective-iconifiedcategory.css可缓存和可烹饪,以避免在每一页上重新计算。当添加或移动类别时,我们调用< cite>portal_css.cookResources。对于子类别不需要重新烹饪,因为它使用与父类别相同的CSS类。[gbastien]

0.12 (2017-02-09)

  • 如果上下文没有categorized_elements OrderedDict,则不要在utils.get_categorized_elements中失败。[gbastien]

0.11 (2017-02-07)

  • 在tabview中使用batchSize为999来显示每个分类元素。[gbastien]

  • utils.get_categorized_elements中,如果categorized_elements字典为空,则不执行目录查询。[gbastien]

0.10 (2017-02-05)

  • 只有当当前元素是< cite>confidential时才检查< cite>can_view,此外,只有当元素是< cite>confidential时才实例化IIconifiedContent适配器来检查< cite>can_view。[gbastien]

0.9 (2017-01-31)

  • 调整了CSS选择器,它改变了在tooltipster中显示的分类元素数量的< cite>font-size。[gbastien]

  • 添加了一种方法来延迟分类内容创建事件,并在分类内容更新事件中延迟调用utils.update_categorized_elements。这样,我们可以在正确的时间管理添加多个分类元素,但只更新分类元素字典(包括耗时的排序)[gbastien]

  • 修复了测试,使其在Plone 4.3.7和Plone 4.3.11中都能正常工作[gbastien]

0.8 (2017-01-25)

  • 如果当前上下文没有categorized_elements字典,则在《categorized-childs-infos》中不要失败[gbastien]

0.7 (2017-01-23)

  • 使用 category_uid 代替 category_id 作为 CategorizedChildInfosView 使用的infos字典的键,实际上,在同一个容器上,针对不同的分类元素,我们可能使用不同的配置,并且这些配置可能包含具有相同id的分类。[gbastien]

  • 如果用于图标化的分类的图标包含特殊字符,不要中断。[gbastien]

0.6 (2017-01-17)

  • 使用ajax显示分类子元素的信息。[gbastien]

  • 使select2小部件更大,并在选项之间没有填充,以便同时显示更多选项。[gbastien]

  • categorized-childs 视图添加选项 show_nothing=True,以便在没有任何要显示的分类内容时显示/隐藏“无”标签。[gbastien]

0.5 (2017-01-13)

  • 如果 utils.sort_categorized_elements 中找不到键,不要失败,这可能是复制/粘贴时新元素使用另一个配置的情况。[gbastien]

0.4 (2017-01-12)

  • 按字母顺序对 categorized_elements 进行排序到类别中,这样可以直接在tooltipster或tabview中显示,而无需再次排序元素。[gbastien]

  • 添加方法 IconifiedCategoryGroupAdapter.get_every_categories,它获取所有可用的分类。主要为了被覆盖,它在 utils.get_ordered_categories 中使用,以管理容器可能包含使用不同分类组的分类元素。[gbastien]

  • 添加一个配置工具,允许用户在分类标签视图中按标题排序元素。[mpeeters]

  • 确保分类元素按组文件夹顺序排序。[mpeeters]

  • 重构图标化JavaScript函数。[mpeeters]

  • 提高在tooltipster中显示分类元素的速度。[gbastien]

  • 如果存在分类或子分类,不要在删除Plone站点时失败。[gbastien]

0.3 (2016-12-21)

  • 更改链接使用的图标,用于 更多详情。[gbastien]

  • 如果子分类标题包含特殊字符,不要失败。[gbastien]

  • 将图标 more_infos.png 转换为一个独立的资源,除了存储在声明为resourceDirectory的 static 文件夹中的其他资源外,这样就可以轻松覆盖。[gbastien]

0.2 (2016-12-07)

  • 在点击tooltipster根元素时使用 javascript:event.preventDefault(),以避免更改当前URL的链接动作。[gbastien]

  • target=_parent 中打开 更多详情 链接,这样在iframe中显示时,它将在 _parent 框架中打开,即在外部打开。[gbastien]

0.1 (2016-12-02)

  • 初始版本。[mpeeters]

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

collective.iconifiedcategory-0.67.tar.gz (120.1 kB 查看散列值)

上传时间

支持