Skip to main content

正式会议管理

项目描述

Products.PloneMeeting是一个允许管理涉及会议期间讨论的项目列表的正式会议的软件包。

变更日志

4.1.28.35 (2022-02-14)

  • 修改后的代码与最新版本的plonemeting.restapi兼容。[巴斯蒂安]

4.1.28.34 (2021-11-09)

  • 从 4.2.x 向后移植:

    • 添加了在保存MeetingConfig (编辑表单)时触发的 JS 功能,以确保选择每个InAndOutWidget值,这可以避免在用户单击InAndOutWidget右侧面板的值时丢失值。[巴斯蒂安]

4.1.28.33 (2021-11-05)

  • 从 4.2.x 向后移植:

    • 修复了复制项目并使用字段 MeetingItem.proposingGroupWithGroupInCharge时的错误,结果项目可能会保留当前用户不是创建者的原始proposingGroup ,从而导致项目不可查看或不可编辑。[巴斯蒂安]

4.1.28.32 (2021-11-05)

  • 修复了在4.1.x中仍需要ploneEditor值的 meetingitem_view。[巴斯蒂安]

4.1.28.31 (2021-10-28)

  • 从 4.2.x 向后移植:

    • 添加了 utils.get_annexes_config函数,以便能够根据上下文和附件portal_type获取附件配置。[巴斯蒂安]

    • 将the_objects =False参数添加到ToolPloneMeeting.get_plone_groups_for_user 以获取GroupData实例而不是组 ID。这由plonemeeting.restapi @users端点使用。[巴斯蒂安]

    • 避免使用Member.getProperty

      • 使用ToolPloneMeeting.getUserName获取用户全名;

      • 猴子修补MembershipTool.getMemberInfo以添加缓存。

      [巴斯蒂安]

    • user_id包含特殊字符时,不要在vocabularies.PMUsers中失败,使用LDAP时可能会出现这种情况,请忽略这些值。[巴斯蒂安]

4.1.28.30 (2021-10-05)

  • 临时修复直到在collective.documentgenerator中修复,默认设置 BaseDGHV.printXhtml参数use_appy_pod_preprocessorTrue。[巴斯蒂安]

4.1.28.29 (2021-09-30)

  • 从 4.2.x 向后移植:

    • BaseDGHV.printXhtml的参数use_safe_html现在默认为False ,因为对appy.pod Rendered的collective.documentgenerator调用设置 了几乎相同的html=True(确保给定的内容符合XHTML)。向BaseDGHV.printXhtml添加了参数use_appy_pod_preprocessor=False , 因此可以在 POD 模板以外的另一个范围内使用printXhtml时启用它(例如,在print_deliberation中用于格式化 restapi 结果)。[巴斯蒂安]

    • 将BaseDGHV.printXhtml的逻辑移至utils.convert2xhtml以便从外部代码(如plonemeeting.restapi )调用。[巴斯蒂安]

    • 调整了 MeetingItem.validate_category 和 MeetingItem.validate_classifier以确保传递 的值存在。[巴斯蒂安]

    • 添加了Migrator.addCKEditorStyle帮助器以轻松添加新的 CKeditor 样式。[巴斯蒂安]

    • 增加了使用新添加的 CKeditor 样式span.pm-anonymize对富文本的一部分进行匿名化的可能性。当数据使用 restapi 时,也会考虑到这一点。[巴斯蒂安]

    • 重命名CKeditor样式Anonymize,需要修复 Migrator.addCKEditorStyle以避免添加 CKeditor样式名称包含特殊字符时出现UnicodeDecodeError 。还使CKeditor样式面板显示得更大。[巴斯蒂安]

    • 优化MeetingItem.setManuallyLinkedItems通过使用缓存来获取要存储的项目,尤其是用于按会议日期对项目进行排序的数据。[巴斯蒂安]

  • 添加了 2022 年的假期,并将升级步骤添加到 4113 到updateHolidays。[巴斯蒂安]

4.1.28.28 (2021-08-17)

  • 从 4.2.x 向后移植:

    • 将参数userId=None添加到PloneMeetingTestCase.getMeetingFolder以便能够将其传递给ToolPloneMeeting.getPloneMeetingFolder。由plonemeeting.restapi测试使用。[巴斯蒂安]

    • 为 associatedGroups 字段添加了访问器MeetingItem.getAssociatedGroups。[腺嘌呤]

  • 修复了MeetingItem.getMeeting_cachekey关于我们 在REQUEST上获取_debug的方式,在某些情况下,例如使用plonemeeting.restapi时,REQUEST实际上是一个<Special Object Used to Force Acquisition>。[巴斯蒂安]

4.1.28.27 (2021-05-31)

  • 从 4.2.x 向后移植:

    • MeetingItem.mayPresent中,在让会议进入之前调用MeetingItem._check_required_data以便在没有会议进入的消息之前不会显示有关所需数据的消息。[巴斯蒂安]

    • 将参数image_src_to_data=False添加到BaseDGHV.printXhtml以便能够使用imio.helpers.xhtml.imagesToData将图像 src 转换为 base64 数据值。还将值deliberation_motivationdeliberation_decision添加到ItemDocumentGenerationHelperView.deliberation_for_restapi返回的可能值中。[巴斯蒂安]

4.1.28.26 (2021-05-20)

  • 从 4.2.x 向后移植:

    • 修复了MeetingItem._check_required_data以检查在使用MeetingItem.proposingGroupWithGroupInCharge 时是否设置了MeetingItem.groupsInCharge。当使用 WS 调用创建项目时,可能会设置MeetingItem.proposingGroup但未设置 MeetingItem.groupsInCharge 。[巴斯蒂安]

    • 修复了 ToolPloneMeeting.pasteItem在将项目发送到其他几个 MC 时未正确删除已发送项目到另一个 MC相关注释的问题。[巴斯蒂安]

    • 修复了 AskedAdvicesVocabulary未显示仅定义为权力顾问的顾问的问题。[巴斯蒂安]

  • 如果在冻结会议中演示项目时 itemfreeze 转换失败,请不要提出。[奥德莱尔]

  • 当为空且使用字段MeetingItem.groupsInCharge时,在项目视图上显示负责组 ,这可能在通过 WS 创建项目时发生。[巴斯蒂安]

4.1.28.25 (2021-04-28)

  • 从 4.2.x 向后移植:

    • includeAuto=TrueMeetingConfig.includeGroupsInChargeDefinedOnProposingGroup=True并且没有 在项目上定义提议组时,不要中断MeetingItem.getGroupsInCharge,这可能是项目模板的情况。[巴斯蒂安]

4.1.28.24 (2021-04-23)

  • 从 4.2.x 向后移植:

    • 修复了当给定xhtmlContents为 None时BaseDGHV.printXhtml不会中断的问题。[巴斯蒂安]

4.1.28.23 (2021-04-15)

  • 从 4.2.x 向后移植:

    • 修复了无法在 Chrome 85+ 上运行的CKeditor imagerotate插件,在发生 CORS 问题时显示清晰的消息。[巴斯蒂安]

4.1.28.22 (2021-04-12)

  • 从 4.2.x 向后移植:

    • 修复了 AskedAdvicesVocabulary有时会因为在MeetingConfig.customAdvisers中禁用而返回不活动的术语,但实际上由于在MeetingConfig.selectableAdvisers中使用而仍然处于活动状态。[巴斯蒂安]

    • 修复了验证失败时使用单个复选框和多个复选框的字段的DataGridField数据丢失。这影响了MeetingConfig。需要覆盖相关的数据网格模板。[巴斯蒂安]

4.1.28.21 (2021-04-01)

  • 从 4.2.x 向后移植:

    • 修复了ToolPloneMeeting.validate_holidays中未捕获错误日期格式(如20/01/20 )的错误。[巴斯蒂安]

    • 对非 Zope 管理员隐藏portal_plonemeeting视图上的Add MeetingConfig链接,这样可以避免站点管理员添加MeetingConfig。[巴斯蒂安]

    • 集成的 CKeditor imagerotate插件可以在必要时旋转图像。[巴斯蒂安]

    • 在@@overview- controlpanel 中显示imio.pm.ws/plonemeeting.restapi版本。[巴斯蒂安]

    • 将ItemDocumentGenerationHelperView.output_for_restapi重命名为 ItemDocumentGenerationHelperView.deliberation_for_restapi。还在方法中添加了参数deliberation_types以仅获取相关的审议变体。[巴斯蒂安]

4.1.28.20 (2021-03-23)

  • 从 4.2.x 向后移植:

    • 修复了使用与父ItemsToAdviceAdapter相同的缓存方法的ItemsToAdviceWithoutHiddenDuringRedactionAdapter,因为未定义查询的别名。在这种情况下,两个查询返回相同的结果……添加了一个测试,检查每个 CompoundCriterionBaseAdapter查询是否使用了不同的别名。[巴斯蒂安]

    • 在会议视图中更改项目编号值时,使用经典的软盘保存图标来保存项目编号值,而不是使用有时对某些用户来说不够清晰的重新排序图标(向上和向下箭头)。[巴斯蒂安]

    • 将参数 insert_index 添加utils.add_wf_history_action 这使得可以在任意位置插入workflow_history事件,例如,当从REST WS创建项目并触发 WF 转换时,我们在 WF 转换后添加事件。[巴斯蒂安]

    • 确保events.item_added_or_initialized仅在创建新项目时调用一次,否则可能会破坏中间完成的事情。[巴斯蒂安]

    • category.groups_in_chargeorganization.groups_in_charge使用SortedSelectedOrganizationsElephantVocabulary词汇而不是 来自collective.contact.plonegroup的organization_services词汇,因此元素按字母顺序排序以便于管理。PloneMeeting 中不再使用词汇组织服务。[巴斯蒂安]

  • 重写了对_render_document的collective.documentgenerator调用以传递 rotateImages=True ,因此如果exif数据指定它, 图像将被旋转,而pdfOptions=”ExportNotes=True,IsSkipEmptyPages=False”则显示白页。[巴斯蒂安]

4.1.28.19 (2021-02-24)

  • 从 4.2.x 向后移植:

    • 防止将默认项目模板移动到子文件夹(已管理删除,现在也无法移动)。[巴斯蒂安]

    • 在项目视图上显示有关副本组的帮助消息,以了解副本组在哪些状态下可以访问该项目。[巴斯蒂安]

4.1.28.18 (2021-02-12)

  • 从 4.2.x 向后移植:

    • 对每个仪表板列使用Products.PloneMeeting.vocabularies.everyorganizationsacronymsvocabularyProducts.PloneMeeting.vocabularies.everyorganizationsvocabulary,因此无论选择的值处于随时间变化的配置中,值都将始终位于词汇表中。[巴斯蒂安]

4.1.28.17 (2020-12-22)

  • 从 4.2.x 向后移植:

    • 当用户增加 CKeditor 小部件的高度时,避免内容溢出。[巴斯蒂安]

4.1.28.16 (2020-12-21)

  • 需要imio.helpers[test]进行测试,所以我们得到了collective.MockMailHost。[巴斯蒂安]

  • 从 4.2.x 向后移植:

    • 重构了在会议和项目上处理程序集字段的方式,因此在切换到联系人时,它在查看/编辑旧会议/项目上的程序集字段时行为正确。[巴斯蒂安]

    • 默认情况下,searchnotdecidedmeetingssearchlastdecisions集合按时间顺序显示(之前颠倒了)。没有应用迁移,因为这可能会在必要时在 Collection 本身上进行更改。[巴斯蒂安]

    • 将参数include_hp=Falseabbreviate_firstname=False添加到 ItemDocumentGenerationHelperView.print_in_and_out_attendees。[巴斯蒂安]

    • 修复了MeetingItem.is_assembly_field_used,仅在项目链接到会议时评估,这会破坏项目编辑表单。[巴斯蒂安]

    • BaseDGHV.printXhtml clean参数现在默认为True,因此它将调用separate_images以避免在同一<p>中出现多个<img > 。[巴斯蒂安]

    • 由于 CSS hack 仅对Chrome应用样式规则不再起作用(Firefox 现在也考虑到了),因此请使用plonetheme.imioapps中的using-chrome CSS 类为 Chrome 设置样式。[巴斯蒂安]

    • 包括管理从 plonetheme.imioapps 添加到正文的using-chrome/using-firefox CSS 类。[巴斯蒂安]

4.1.28.15 (2020-11-19)

  • 修复了BaseItemsToValidateOfHighestHierarchicLevelAdapter review_states 计算中的错误,当用户是多个组织的审阅者时,该计算会多次 添加prefix_review_state。[巴斯蒂安]

4.1.28.14 (2020-11-18)

  • 从 4.2.x 向后移植:

    • 修复了在定义proposingGroup隐私secret的情况下从模板创建项目时MeetingItem._mayClone失败的问题。[巴斯蒂安]

    • 添加了 CompoundCriterion 适配器all-items-to-validate-of-highest-hierarchic-levelall-items-to-validate-of-every-reviewer-groups,它们将从正常的项目验证 WF和从返回的项目验证返回要验证的项目WF。[巴斯蒂安]

4.1.28.13 (2020-11-13)

  • 从 4.2.x 向后移植:

    • 如果会议未关闭,请确保会议经理仍可在已决定的项目上编辑与会者。[巴斯蒂安]

4.1.28.12 (2020-10-29)

  • 从 4.2.x 向后移植:

    • 使用位置底部显示工具提示用户用户组信息 以避免屏幕溢出。[巴斯蒂安]

    • 优化PloneGroupSettingsValidator检查是否在项目上使用了plonegroup,仅在删除某些后缀并使用portal_catalog时才执行此操作。[巴斯蒂安]

4.1.28.11 (2020-10-26)

  • 从 4.2.x 向后移植:

    • 修复了在使用分组配置和多个 MC 以相同 id 开始时激活正确的 portal_tab 。[巴斯蒂安]

    • 当与会者缺席/被原谅/ 第一项未与会者时,管理进出句子。当与会者被请假/缺席时也进行管理,然后 是非与会者,因此仍然不存在。[巴斯蒂安]

    • 明确并始终在项目视图上显示与会者管理图标,之前仅在悬停时显示。[巴斯蒂安]

    • 修复了 ploneMeetingSelectItem 框(用于在 plonemeeting portlet 中选择会议的下拉框)CSS 以使用浅灰色背景颜色,现在会议状态颜色保持不变(之前变为白色)。[巴斯蒂安]

4.1.28.10 (2020-10-19)

  • 不要让站点管理员删除生产应用程序中的用户,因为这可能导致:

    • 丢失与用户交互的元素的信息(全名);

    • 加载应用程序并可能破坏它,因为在删除用户时,Plone 会在每个现有元素上重新计算local_roles 。[巴斯蒂安]

4.1.28.9 (2020-10-12)

  • 从 4.2.x 向后移植:确保链接上的状态颜色适用于任何地方(livesearch、livesearch results、folder_contents ......)。[巴斯蒂安]

4.1.28.8 (2020-10-06)

  • 从 4.2.x 向后移植:修复了使用clean=True分隔单个段落中包含的图像时的BaseDGHV.printXhtml 。[gbastien] 修复了有关imio.prettylink更改的测试,需要发布 imio.prettylink 1.17 [gbastien]

4.1.28.7 (2020-10-01)

  • 从 4.2.x 向后移植:将参数clean=False添加到BaseDGHV.printXhtml将使用 imio.helpers.xhtml.separate_images以避免同一<p>中的多个<img > 。[巴斯蒂安]

4.1.28.6 (2020-09-23)

  • 从 4.2.x 向后移植:修复了不使用联系人或未选择联系人时的Meeting.post_validation 。[巴斯蒂安]

4.1.28.5 (2020-09-22)

  • 从 4.2.x 向后移植:添加了对与会者的验证,因此如果在项目(itemAbsent、itemExcused、itemSignatories、itemNonAttendees)上重新定义了与会者,则无法取消选择与会者。[巴斯蒂安]

4.1.28.4 (2020-09-18)

  • 从 4.2.x 向后移植:添加了 2021 年的假期并将升级步骤调整为 4111。[gbastien]

4.1.28.3 (2020-09-14)

  • 从 4.2.x 向后移植(向 4111 添加升级步骤):添加布尔属性ConfigurablePODTemplate.store_as_annex_empty_file,当True时,这将作为附件存储一个空文件而不是生成的 POD 模板,以避免在存储的附件刚刚存储以供替换时进行无用的 LibreOffice 调用通过 AMQP 进程。此外,当从项目视图存储为附件时,用户不再被重定向到附件选项卡,它停留在项目视图上。[巴斯蒂安]

  • 修复了Migrate_To_4_1._adaptForPlonegroup以在设置plonegroup函数时考虑启​​用的新键。[巴斯蒂安]

4.1.28.2 (2020-09-03)

  • Migrate_To_4110中从Migrate_To_4105重新运行_removeBrokenAnnexes,以防仍然发现一些损坏的附件

4.1.28.1 (2020-08-21)

  • hold_position.get_label上获取position_type_attr时, 如果给定的 position_type_attr 为空,则增加了回退到另一个position_type_attr的可能性。这使得在尝试获取secondary_position_type时可以回退到position_type 并且最后一个是空的

  • 隐藏按钮在 Plone 组配置面板中使用 CSS添加组,这可以避免用户添加 Plone 组而不是组织

4.1.28 (2020-08-21)

  • 将Meeting.getNextMeeting逻辑移动到utils.get_next_meeting以便它可以在会议实例外部使用,此外,使负dateGap工作,这对于在会议没有定义时间时获取今天的会议很有用

  • 确保在会议或页面上加载可用项目时可见多面 ajax 微调器似乎有些卡住

  • 无法停用在另一个MeetingConfig.meetingConfigsToCloneTo中使用的MeetingConfig

  • 当 CSS 样式边框:无;在表格上,无论单元格上是否定义了边框, appy.pod渲染的表格 都没有边框,所以在CKeditor中显示为虚线边框

  • @@display-group-users中,如果组包含另一个组,则显示组的标题而不是组 ID(如果没有标题,则显示组 ID),此外,当成员是用户或组时,使用user.png/group.png图标清楚区分

  • 在显示组织的联系人仪表板上启用列PloneGroupUsersGroupsColumn

  • organization.certified_signatures DataGridField启用了allow_reorder

  • ram.cache用于在organization.certified_signatures DataGridField 中使用的SelectableAssemblyMembersVocabulary ,以便在显示组织的仪表板中更快地呈现

  • 使组织/人员/持有位置实现IConfigElement,因此我们可以使用_invalidateCachedVocabularies 使缓存的词汇表无效,并且没有必要为这些情况编写事件处理程序

  • 在proposingGroup旁边添加了group-users图标,以仅向proposingGroup的成员显示每个 Plone 组成员

  • 在管理项目组装/签名/参加者/签名者时添加了collective.fingerpointing日志消息

  • 修复了在meetingitem_view上显示的itemPeople宏中的错误,当启用字段 Meeting itemNonAttendees时,列标题被正确隐藏但列单元格显示

  • 将 JS 函数toggleDoc移至名为toggleDetails的imio.helpers

  • 清理plonemeeting.css,删除无用的样式定义

  • 联系人管理中,清楚地显示 portlet 中的图标将通过使用带有+的图标添加新的组织/保留位置

  • 验证函数的plonegroup设置,以便无法删除或禁用在 MeetingConfig.selectableCopyGroupsMeetingItem.copyGroups中使用的函数

  • 将MeetingCategory从 AT迁移到 DX :

    • 新的 portal_type 是meetingcategory

    • 字段MeetingItem.classifier已从 ReferenceField 移至 StringField;

    • 添加了名为on_classifiers的新MeetingConfig.insertingMethodsOnAddItem

    • 当MeetingConfig.useGroupsAsCategoriesTrue时, MeetingConfig.getCategories中返回组织 的魔法被移除,现在它只返回类别,而且参数分类器被重命名为可能是all / categories / classifiers的catType

  • 在每次迁移中,默认在最后调用cleanRegistries以便重新编译JS/CSS

  • 添加“redirectToNextMeeting”选项。

  • 将Meeting.getNextMeeting逻辑移至utils.get_next_meeting以便可以在会议实例外部使用

  • 确保在portal_javascripts中启用了++resource++plone.app.jquerytools.dateinput.js

  • 完成了自定义小部件PMCheckBoxFieldWidget以管理显示模式,每个元素都在彼此下方列出,而不是彼此相邻列出,用逗号分隔,当具有超过 3 个值时,这是非常不可读的。在任何可能的地方使用它:organizationheld_positioncategory

  • 修复了 MeetingView._displayAvailableItemsTo,不要将ToolPloneMeeting.userIsAmong用于 powerobservers,因为它可能是MeetingConfig A 而不是MeetingConfig B 的 powerobserver,在这种情况下,显示了可用的项目

  • 添加了CKEditor样式的分页符,以便能够在 RichText 字段中插入分页这可以 通过添加相关的分页符段落样式在POD 模板中使用

  • MeetingItemWorkflowConditions._check_review_and_required中,对Review 门户内容权限和所需数据 ( category/classifier/groupsInCharge )进行分解检查

  • 改进了 BaseDGHV.print_signatories_by_position以添加更多用例

  • 添加了BaseDGHV.print_signatories_by_position的测试

  • 修改了collective.iconifiedcategory中更改的代码,不要使用portal_catalog来获取附件,而是依赖 存储在分类元素中的allowedRolesAndUsers

  • 修复了 MeetingView._displayAvailableItemsTo,不要将ToolPloneMeeting.userIsAmong用于 powerobservers,因为它可能是MeetingConfig A 而不是MeetingConfig B 的 powerobserver,在这种情况下,显示了可用的项目

  • 在 meetingconfig_view 上显示由MeetingConfig(meetingmanagers、powerobservers 等)创建的。将@@display-group-users视图移至collective.contact.plonegroup,因此我们可以在联系人仪表板和其他任何地方呈现组和用户。

  • 扩展的批处理操作,将生成的模板直接存储为选定元素的附件。字段MeetingConfig.meetingItemTemplateToStoreAsAnnex现在是MeetingConfig.meetingItemTemplatesToStoreAsAnnex并且可以选择多个 POD 模板而不是一个。在批处理操作中,用户可以在可用的 POD 模板中进行选择

  • 修复了当 POD 模板错误时不再引发错误的@@check-pod-templates ,隐藏了损坏的模板……

  • 重新设计的电子邮件通知始终在主题开头包含相关信息,以防项目标题很长

  • 确保字段Meeting.secretMeetingObservations只能由MeetingManagers编辑/查看

4.1.27.2 (2020-06-25)

  • 调整了 CheckPodTemplatesView以便在会议上生成 pod 模板时正确初始化生成助手视图,这将显示集体.eeafaceted.dashboard _get_generation_context方法中的max_objects错误

  • 在升级步骤中强制电子邮件发件人地址为 4109

4.1.27.1 (2020-06-24)

  • MeetingItem.getAdviceDataFor中,也隐藏观察结果,就像当 hide_advices_under_redaction=True并且建议当前正在编辑时,评论已经是这种情况

4.1.27 (2020-06-24)

  • 修复了DashboardCollection存储查询中的错误,而不是<dict>的列表,有时是<instance> (???) 的列表,将升级步骤添加到 4108,这是plone.restapi将DashboardCollection序列化为json所必需的

  • 修复了用于DashboardCollection搜索myitemstakenover的错误TAL 条件(将省略后缀替换为省略后缀

  • 在utils.org_id_to_uid 中添加了参数ignore_underscore =False,当存在下划线时,该值被认为类似于developers_creators,如果它实际上是包含_的组织 id (默认情况下不可能),则设置ignore_underscore=True以获得它。

  • 在项目视图上显示groupsInCharge:当使用字段MeetingItem.groupsInCharge时,当 MeetingConfig.includeGroupsInChargeDefinedOnProposingGroup=True 时来自 proposingGroup 或当 MeetingConfig.includeGroupsInChargeDefinedOnCategory=True来自类别 。对于MeetingItem.getGroupsInCharge,默认设置autoInclude=True而不是False

  • 修复迁移 4108 中的email_from_address,使其对每个客户都是唯一的,并有助于降低垃圾邮件分数。

  • 默认情况下设置MeetingItem.getGroupsInCharge(autoInclude=True)而不是autoInclude=False因此调用不带参数的访问器会返回存储在proposingGroupcategory上的groupsInCharge

  • 在MeetingConfig视图上显示DashboardCollection UID

  • 将项目克隆到另一个MeetingConfig时,默认保留copyGroupscopyGroupsconfig.EXTRA_COPIED_FIELDS_SAME_MC移动到config.DEFAULT_COPIED_FIELDS

  • 对所需数据进行分解检查,以便能够触发MeetingItemWorkflowConditions._check_required_data中项目的转换,这样我们检查category/groupsInCharge是否正确

  • 在使用ToolPloneMeeting.updateAllLocalRoles时添加了collective.fingerpointing日志消息,以便我们知道谁和多少

  • 简化的Meeting.getRawQuery只使用linkedMeetingUID索引来查询项目,从查询中删除无用的索引portal_type 因为linkedMeetingUID肯定是唯一的

  • 修改了generationlinks.pt关于collective.eeafaceted.dashboardpod_template.max_objects属性)变化的覆盖

  • 验证directory.position_types以检查是否无法删除使用的position_type(由hold_position )

4.1.26.1 (2020-06-12)

  • 重新设计了 wait_advices_from.png,使其正确显示为背景

  • 根据组织 UID 而不是标题搜索克隆组以避免不匹配。[奥德莱尔]

  • 修复Migrate_To_4105,调用upgradeAll应始终省略配置文件Products.PloneMeetingself.profile_name

  • 在MeetingConfig视图的标题旁边显示DashboardCollection id

4.1.26 (2020-06-11)

  • 使用Products.Archetypes.interfaces.IObjectInitializedEventzope.lifecycleevent.interfaces.IObjectAddedEvent 来初始化新创建的项目以使plone.restapi快乐或项目未初始化并且不添加诸如adviceIndex之类的属性。使用plone.restapi,验证在ObjectInitializedEvent之后但在ObjectAddedEvent之前完成。还实现MeetingItem.initializeArchetype,我们在其中调用events.item_added_or_initialized或者某些字段对于plone.restapi是不可写的,因为没有给出MeetingMember角色......

  • 添加了缺少的图标wait_advices_from.png

  • 使用plone.restapi创建附件时不要在vocabularies.PMCategoryVocabulary中失败,在附件完全初始化之前完成验证

  • MeetingItem.proposingGroupMeetingItem.proposingGroupWithGroupInChargeMeetingItem.groupsInChargeMeetingItem.optionalAdvisers设置enforceVocabulary=True以便在使用plone.restapi时正确完成验证

  • 使MeetingMeetingItem实现IATMeetingContent(IMeetingContent)而不是IMeetingContent以便能够仅为AT内容定义适配器

  • 优化项目复制过程,使用zope.lifecycleevent.ObjectCopiedEvent onItemCopied事件处理程序 中的_delObject(suppress_events=True)删除图像、建议和相关附件(不保留)

  • MeetingConfig.getMeetingsAcceptingItems中,将目录查询的计算提取到MeetingConfig._getMeetingsAcceptingItemsQuery

  • 当一个项目被决定时,可能会被提议组的成员接管

  • 在加载plone.restapi之前包含包plone.app.controlpanel的permissions.zcml

4.1.25.1 (2020-06-02)

  • 修复了Meeting.validate_date检查另一个会议是否尚未使用日期的问题。现在可以间隔一小时创建 2 次会议,此外,我们避免使用getDate=list of dates that breakcollective.solr进行portal_catalog搜索 (DateIndex接收日期列表)

4.1.25 (2020-05-28)

  • 重构了创建空白项的方式,以避免在创建过程中无法插入图像:

    • 每个项目,无论是否为空白,都是从项目模板创建的,这避免了使用portal_factory

    • 在MeetingConfig中添加了一个特殊的不可删除的默认项目模板,并用作创建空白项目的基础;

    • 参数MeetingConfig.itemCreatedOnlyUsingTemplate被移除,取消激活默认项目模板是等效的;

    • 向 4107 添加了升级步骤

  • 即使仍然包含项目(重复项目、项目模板),也可以删除 MeetingConfig,现在只考虑真实项目

  • 创建新项目时避免多次单击,单击后图标禁用以及正在进行编辑时

  • 确保每个MeetingItemRecurringMeetingItemTemplate portal_types都在portal_factory中注册

  • 查看 MeetingConfig (meetingconfig_view) 时忽略架构设置,以避免在使用collective.solr 时显示选项卡设置

  • 改编PMConditionAwareCollectionVocabulary关于collective.eeafaceted.collectionwidget的变化, 其中_cache_invalidation_key方法现在接收一个新参数real_context

  • 配置的 cron4plone cron 作业执行@@update-delay-aware- advices小时到01:45,因此将在02:00执行(每小时检查一次)

  • 修复了删除项目时可能会破坏仪表板的 JS 错误,只应在删除会议视图上的项目时调用updateNumberOfItems

  • Migrate_To_4105._uncatalogWrongBrains中,如果它在portal_catalog中不存在,则在获取correct_rid时不会中断

  • 是否使用imio.zamqp.pm时的简化类型 XML 文件,当 GS 配置文件顺序不正确时会导致错误配置。 imio.zamqp.pm现在是Products.PloneMeeting的直接依赖项

  • 添加utils._base_extra_expr_ctx以在我们每次使用collective.behavior.talcondition.utils._evaluateExpression时使用,它将返回TAL 表达式的基本额外上下文,包括toolcfgpm_utilsimio_history_utils

  • 在测试PMLayer时,在创建成员区域之前检查用户是否存在,因为该层被外部包使用(imio.pm.wsclient

4.1.24.1 (2020-05-14)

  • 修复了 PMUsers词汇表,以避免在使用LDAP时出现重复,其中可以在LDAPsource_users中定义相同的用户 ID

  • 重新启动步骤_moveMCParameterToWFA_addItemNonAttendeesAttributeToMeetings from Migrate_To_4104 in Migrate_To_4105 用于已部署的某些实例

  • 使用 getIconURL 在会议编辑时显示 hold_position 图标,而不是 getIcon,因为第一个返回图标的完整 absolute_url,最后一个返回图标的唯一相对 URL

  • vocabularies.ContainedAnnexesVocabulary中,只有在实际有附件时才获得collective.iconifiedcategory.categories vocab

  • 在使用keepProposingGroup=False克隆项目并使用字段MeetingItem.proposingGroupWithGroupInCharge时,确保proposingGroup/proposingGroupWithGroupInCharge/groupsInCharge的新设置数据正确且完整。将参数include_stored=True添加到MeetingItem.listProposingGroupsMeetingItem.listProposingGroupsWithGroupsInCharge

  • 编辑元素时忽略模式设置,这避免了在使用collection.solr时, MeetingItem编辑表单显示设置选项卡

4.1.24 (2020-05-08)

  • Migrate_To_4105._cleanFTWLabels中,确保保留旧值以防万一仍然是PersistentList而不是删除注释

  • Migrate_To_4105._removeBrokenAnnexes中,管理父项的修改日期以保留旧值,因为删除附件将notifyModifiedAndReindex它的容器

  • @@item_duplicate_form中,如果用户没有权限在未来创建的项目上添加附件/添加附件决定,则禁用附件

  • 在显示人员hold_positions的仪表板中使用OrgaPrettyLinkWithAdditionalInfosColumn而不是PrettyLinkColumn

  • 向 4106 添加了升级步骤

  • 添加了Migrate_To_4106._umarkCreationFlagForEveryItems以确保现有项目具有at_creation_flag=False 否则会破坏MeetingItem.setTakenOverBy/MeetingItem.setHistorizedTakenOverBy

  • 依赖collective.eeafaceted.z3ctable所需的plone.formwidget.namedfile>2.0.2也解决了PloneMeeting中的问题,不再需要在附加信息宏中为DX 内容修补url

  • 从itemTemplate创建项目时,如果在itemTemplate上定义了proposingGroup并且当前用户是此 proposingGroup的创建者,则将其保留在新创建的项目上

  • personhold_position portal_types使用plonemeeting_activity_managers_workflow而不是collective_contact_core_workflow ,因为在使用collective_contact_core_workflow时,成员无法再查看处于停用状态的元素

  • 像现在一样管理SelectableAssemblyMembersVocabularySelectableItemInitiatorsVocabulary的缺失术语,这些词汇表默认不再返回非活动的held_position对象(仅返回活动元素)

  • Products.PloneMeeting.vocabularies.selectableassociatedorganizationsvocabulary重命名为Products.PloneMeeting.vocabularies.detailedorganizationsvocabulary ,以便在其他上下文中更容易重用

  • 除了担任职位之外,还增加了选择组织作为项目发起者 ( MeetingItem.itemInitiator ) 的可能性

  • meetingitem_edit中删除字段MeetingItem.itemIsSigned ,通过meetingitem_view进行管理

  • 修复了破坏现有对象的UID索引的Migrate_To_4105._uncatalogWrongBrains

  • 增加了在会议视图上向(会议)经理以外的其他用户显示可用项目的可能性:

    • 添加了参数MeetingConfig.displayAvailableItemsTo,可以选择应用程序用户和每个Power 观察者配置文件;

    • 将自适应方法Meeting.showRemoveSelectedItemsAction重命名为Meeting.showInsertOrRemoveSelectedItemsAction

  • 修复了在meeting_view上的可用项目表中显示的链接,因此它可以在可用项目iframe之外正确打开

  • 复制项目时,如果当前用户是它的创建者,则保留原始提议组,如果不是,则使用创建者优先提议组

  • 在夜间 cron 期间更新延迟感知建议时,即使要更新 0 项也添加日志记录,否则我们无法查看是否无事可做或配置错误

  • 重构MeetingItem.isPrivacyViewable方法:

    • 而是检查当前用户是否在proposingGroupcopyGroups ……只需检查它是否具有对项目的查看访问权限;

    • 最后测试powerobservers限制 ( MeetingConfig.restrictAccessToSecretItemsTo ) 以避免项目创建者同时也是 powerobserver 无法访问它的项目。

  • 删除了MeetingItem.sendMailIfRelevant,改用utils.sendMailIfRelevant

  • 添加了电子邮件通知通知adviceEditedOwner ,除了现有的adviceEdited通知项目proposingGroup 的每个创建者之外,在添加/编辑建议时将通知项目所有者

  • 添加了电子邮件通知temPostponedNextMeeting,它将通知项目提案组创建者该项目已被推迟下一次会议

4.1.23.3 (2020-04-30)

  • PMCategoryVocabulary.__call__添加了 ram.cache ,用于附件content_category的词汇表,这对于多次调用它的@@item_duplicate_form很有用

  • 添加词汇Products.PloneMeeting.Users并将其用于person.userid字段,此词汇显示全名和用户标识

4.1.23.2 (2020-04-29)

  • MeetingItem.xml中,真正删除 id 为duplicate_and_keep_link的操作……

4.1.23.1 (2020-04-29)

  • MeetingItem.xml中,删除 ID 为duplicate_and_keep_link的操作。

4.1.23 (2020-04-29)

  • Migrator.initNewHTMLFieldsMigrate_To_4105._cleanFTWLabels中添加了 ZLogHandler ,因为这些步骤可能需要一些时间

  • 将MeetingInsertingMethodsHelpMsgView逻辑从__init__移动到__call__因为错误被__init__吞没了,而且在组标题旁边显示负责组

  • 重构了重复项功能:

    • 仅剩一个按钮复制项目复制并保留链接按钮已删除

    • 增加了在仪表板中显示重复项目操作的可能性,添加了MeetingConfig.itemActionsColumnConfig以便除了操作删除历史记录之外能够显示或不显示它

    • MeetingItem.clone中添加了参数keepAnnexIdskeepDecisionAnnexIds

    • 添加了管理Select/unselect all的自定义小部件PMCheckBoxFieldWidget,将 HTML 呈现为值标签并在字段为空时显示清晰的消息

    • 单击时,将显示一个弹出窗口,其中包含以下选项:

      • 保留指向原始项目的链接?

      • 选择要保留的附件

      • 选择要保留的决策附件

      • 由于使用 scan_id 或使用的附件类型仅限于 MeetingManager 且当前用户不是 MeetingManager 而不会保留的附件和决策附件将显示为灰色

  • vocabularies.BaseHeldPositionsVocabulary中,仅查询处于review_state active中的held_positions ,此外,在 person viewheld_position 视图上显示WorkflowState viewlet

  • 修复了@@categorized- annexes 中的showAddAnnexshowAddAnnexDecision,依赖于content_category字段词汇

  • 修复未设置性别时的 MeetingUser 迁移

4.1.22.1 (2020-04-24)

  • 如果未迁移到PersistendMapping ,则在升级到 4105 时添加了升级步骤以清理ftw.labels注释

4.1.22 (2020-04-24)

  • 优化了对collective.contact.plonegroup.utils.get_organizationscollective.contact.plonegroup.utils.get_organization的调用,尽可能使用the_objects=False,避免在我们有plone_group_id并且我们需要组织UID时调用它

  • 添加了修复portal_catalog中错误路径的迁移(路径以'/'结尾,因为添加的附件正在重新索引父级)和没有content_category的附件,在collective.quickuploadimio.annex)中发生错误的ConflictError管理

  • 修复了即使字段条件为False , MeetingItem._checkMayQuickEdit也可以访问Manager

  • 向 4105 添加了升级步骤

  • 修复了批量操作StoreItemsPodTemplateAsAnnex 中将临时二维码标签保留在存储附件中的错误

  • 使目录测试中对自己可用

  • 通过使用CKEditor AjaxSave 插件来保存数据,优化了快速编辑保存和继续功能,因此不会重新加载字段,并且编辑内容的用户会留在原来的位置

4.1.21 (2020-04-20)

  • ToolPloneMeeting.pasteItem中,使用adapt_roles('Manager')代替将本地角色Manager提供给登录的用户

  • 优化UpdateDelayAwareAdvicesView._computeQuery以仅考虑为其配置了延迟感知建议的组织,这避免了非常长的查询不请solr

  • 添加了多面过滤器复制组

    • 添加Products.PloneMeeting.vocabularies.copygroupsvocabulary (faceted) 和 Products.PloneMeeting.vocabularies.itemcopygroupsvocabulary (MeetingItem) 词汇

    • MeetingItem.copyGroup词汇表从listCopyGroups移至Products.PloneMeeting.vocabularies.itemcopygroupsvocabulary

    • 分解建议和复制组在项目视图上的显示方式(displayAdvisers/displayCopyGroups

    • 相应地调整测试

  • 在@@overview- controlpanel 中显示PloneMeeting相关包的 portal_setup 配置文件版本

  • 修复了会议项目不在会议中时失败的 view.printAssembly 方法

  • 修复了 test_pm_ItemStrikedAssembly 以在会议项目不在会议中时测试 printAssembly 方法

4.1.20.2 (2020-04-08)

  • 修复了collective.documentgenerator辅助方法print_attendeesprint_attendees_by_type

    • 去掉了无用的方法Meeting.getNonAttendees, nonAttendee 只与 item 相关,所以我们使用Meeting.getItemNonAttendees

    • 将参数escape_for_html=True添加到将转义与appy.pod不兼容的字符的两种方法中。

4.1.20.1 (2020-04-06)

  • 为项目添加了新的可选字段 (decisionSuite)

4.1.20 (2020-04-02)

  • 添加按钮以保存和继续编辑富文本字段

  • 使用collective.solr 修复高级搜索视图

  • 测试中的小修复以改进 MeetingLalouviere 测试运行

  • 修复了 tests/helpers.py 中的错误输入条件

  • 为项目参与者添加了新的出席类型(用于忽略某些项目的参与者):

    • 新会议可选属性非与会者

    • 除了出席/缺席/原谅之外,还可以使用,因为即使是缺席的与会者也可能被设置为特定项目的非与会者;

    • 将print_in_and_out_attendees上的参数模式更改为custom_patterns,以便能够仅重新定义一个模式

  • 修复了 AskedAdvicesVocabulary ram.cache cachekey 以避免用于 2 个不同 MeetingConfigs 的相同词汇表(DashboardCollection 上的indexAdvisers术语使用另一个 MeetingConfig 值),此外,在收到奇怪的上下文时使其更加健壮

  • utils.meetingExecuteActionOnLinkedItems中作为Manager执行MeetingConfig.onMeetingTransitionItemActionToExecute TAL 表达式 以避免权限问题,必须应用配置中定义的内容。这使得当当前用户是MeetingManager而不是Manager时,权力观察者只能在会议关闭时访问接受的项目,而是出现权限错误,因为MeetingItem.updateLocalRoles受到修改门户内容权限的保护

  • 在测试中,WF 助手(validateItem、decisionMeeting、backToState、...)添加了参数 as_manager,默认情况下为与会议项目相关的方法为真,为 backToStaten 和默认为与会议相关的方法为假。这样我们就尽可能的避免了隐藏的权限问题

  • 排除 IAnnex 对象的 SearchableText 索引

  • 确保 CKeditor 面板在弹出窗口中正确显示(添加/编辑建议)

  • 添加了 MeetingConfig.removeAnnexesPreviewsOnMeetingClosure参数,当为 True 时,附件预览将在会议结束时被删除,还添加了对 portal_plonemeeting 的操作,以便能够删除每个已关闭会议中每个项目的每个附件预览

  • 添加了 utils.fplog,一个添加类collective.fingerpointing日志消息的助手,修改了代码以在任何地方使用它,额外的日志记录在以下情况下可用:

    • 在会议上更改了项目位置;

    • 删除了继承的建议;

    • 一个项目被克隆(复制,发送到另一个 MeetingConfig,......);

    • 附件的属性被更改(打印、机密等);

    • RichText 字段被快速编辑;

    • 附件预览被删除(如果相关参数被启用,则在结束会议时)

  • 将参数MeetingConfig.meetingManagerMayCorrectClosedMeeting移动到工作流Adaptation meetingmanager_correct_closed_meeting

  • 除了PloneMeetingappy的版本之外,在@@overview- controlpanel 中包含插件包名称和版本

4.1.19.2 (2020-03-17)

  • 修复了在 view.printAssembly 中重新定义 'group_position_type' 参数并添加测试时的错误

4.1.19.1 (2020-03-13)

  • 修改代码以删除与collective.iconifiedcategory<0.40的兼容性(在引入可发布之前)

  • 修复了当 Plone 组存储在其他 Plone 组中时迁移到 4.1(启用recursive_groups插件时使用)

4.1.19 (2020-03-12)

  • 添加/删除附件时不再对项目执行 _versionateAdvicesOnItemEdit

  • 改编代码以使用来自collective.iconifiedcategory 的唯一IconifiedAttrChangedEvent

  • 添加了辅助方法 utils.normalize_id

  • 将 POD 模板存储为附件时,定义要使用的 id 并将其传递给 api.content.create 或重命名元素并调用 2 次 ObjectModifiedEvent

  • 修复了在调用item.setProposingGroupWithGroupInCharge(u'')时移除 MeetingItem.proposingGroup 的迁移到 4.1

  • 优化附件管理,避免在附件上添加/删除/更改 attr 值(to_print、机密等)时出现无用的过程

  • 修复了迁移到 4.1 的问题,同时迁移除了用户之外还可能包含其他组的 Plone 组

  • 修复了电子邮件通知建议,以便在对已提供建议的 review_state 中的项目再次询问建议时提供

  • 添加了依赖于 MeetingItem.completeness 字段的自适应方法 MeetingItem._is_complete

  • 定义的 CSS 规则,用于管理 RichText 字段的段落行高(仪表板、视图、CKeditor)

  • utils.cropHTML中,通过在调用BeautifulSoup之前确保我们有 unicode 来避免视觉编码问题

  • 优化可用项目查询,避免目录查询查找过去的会议

  • 在文档生成器帮助器 print_attendees_by_type 方法中添加了可用的字段 person.firstname_abbreviated

  • 向 PloneMeetingTestCase.addAnnex 添加了参数附件文件=无,以便能够使用 FILE.txt 以外的其他文件(如 pdf、损坏的 pdf ......)

  • 向角色Member授予对portal_plonemeeting的查看访问权限,以便在登录用户不是任何组的成员时应用程序不会呈现失败

  • 在添加/修改/删除建议时避免项目完全重新索引,仅重新索引相关索引(添加自适应方法MeetingItem.getAdviceRelatedIndexes来管理自定义索引以重新索引)

  • 添加/修改/删除建议时,清理Products.PloneMeeting.MeetingItem.modified缓存键 volatile 以清除 portlet_todo 的缓存

  • 调整了迟到项目的工作方式:现在,对于选定的首选会议和随后的每个会议,都有一个项目迟到。这样,会议迟到的项目也可以作为下一次会议的迟到项目呈现,而不是只能呈现给下一次非冻结会议

  • MeetingItemWorkflowConditions._groupIsNotEmpty移至ToolPloneMeeting.group_is_not_empty,因此在任何地方都更容易使用

  • 添加了新字段MeetingItem.meetingManagersNotes只能由 MeetingManagers 查看/编辑

  • 更改了可以对项目进行签名的默认条件 ( MeetingItem.isSigned ),现在可以在验证项目后立即执行此操作

  • 添加了多面过滤器项目已签名?

  • 作为词汇表collective.contact.plonegroup.sorted_selected_organization_services的改编代码被重命名为 collective.contact.plonegroup.browser.settings.SortedSelectedOrganizationsElephantVocabulary

4.1.18 (2020-02-21)

  • 从项目模板创建项目时,为 WF 历史评论使用另一个 msgid,这样旧评论仍然有效,新评论包括项目模板路径和标题

4.1.17 (2020-02-21)

  • 在实时搜索中,根据元素的 review_state 对结果进行着色

  • 在覆盖的“collective.iconifiedcategory.categories”中,包括当前存储的附件 content_category,无论它使用 only_for_meeting_managers 并且当前用户不是 MeetingManager

  • 在已经存在的 print_deliberation 和 print_public_deliberation 中添加了 ItemDocumentGenerationHelperView.print_public_deliberation_decided 方法,这将用于在决定时渲染项目的主体

  • 编辑带有 RichText 字段的元素时避免屏幕大小更改,因为 CKeditor 需要几秒钟才能加载,修复字段高度

  • 从项目模板创建项目时,在 WF 历史记录中存储项目是从哪个模板创建的

4.1.16 (2020-02-18)

  • 如果事件元素是 PloneMeeting 文件夹(