组织和职能组合以创建plone组
项目描述
collective.contact.plonegroup
简介
A Plone插件,用于管理组织和职能,进而创建相应的plone组。此产品将
collective.contact.core : 包含您的组织服务定义的组织(多级)
dexterity.localrolesfield : 展示可以赋予本地角色的服务列表的字段
如何使用
首先,在您的网站中创建一个目录(来自collective.contact.core的对象)。这个目录将包含与您的联系相关的所有信息。
然后,您可以在其中添加您的组织(具有特定id等于‘plonegroup-organization’)。一个组织可以包含组织(如服务、部门或部门)。
在collective.contact.plonegroup配置面板中,您必须
选择一些组织的服务以在localroles字段中使用
定义一些将在每个选定的组织中使用的功能标签
提交时,为每个组织-功能组合,创建一个具有id“organization-uid”_”function-id”和名称“organizations-name”(“function-name”)的plone组。
生成的plone组将用于localroles字段,其中可以为每个选定的服务的某些功能分配一些本地角色。
安装
将collective.contact.plonegroup添加到您的eggs中。
重新运行buildout。
在您的plone网站上安装产品。
致谢
有想法吗?发现了错误?请通过打开一个工单告诉我们。
贡献者
Gauthier Bastien,IMIO
Stéphan Geulette,IMIO
Vincent Fretin,Ecreall
Cédric Messiant,Ecreall
Frédéric Peters,Entr’ouvert
更改日志
1.51 (2024-10-02)
添加了辅助函数utils.enable_function和utils.disable_function,以便轻松启用/禁用功能。[gbastien]
1.50 (2024-05-27)
修复了当DisplayGroupUsersView.short=True且组标题包含多个括号时DisplayGroupUsersView.group_title的显示问题。[gbastien]
1.49 (2024-04-10)
修正了zcml定义的行为,以避免Plone启动时的消息。[sgeulette]
从imio.pyutils而不是imio.helpers导入safe_encode。[gbastien]
1.48 (2024-02-19)
添加了具有userid和primary_organization字段的behaviors.IPlonegroupUserLink。[sgeulette]
添加了utils.get_person_from_userid和utils.get_persons_from_userid。[sgeulette]
1.47 (2023-10-19)
在法语翻译中修复了拼写错误。[gbastien]
1.46 (2023-07-07)
将参数omitted_suffixes=[]添加到utils.get_all_suffixes。[gbastien]
1.45 (2023-02-27)
在utils.get_plone_group中避免无用的变量初始化,一行完成所有操作。[gbastien]
1.44 (2022-08-19)
注意,更改了utils.get_organization的行为,添加了参数only_in_own_org=True,以确保给定的org_uid是自己的组织内的组织。[gbastien ]
添加了只与组和用户id一起工作的get_selected_org_suffix_principal_ids和voc_selected_org_suffix_userids。[sgeulette]
使用来自imio.helpers的缓存方法get_users_in_plone_groups。[sgeulette]
1.43 (2022-07-01)
添加了utils.get_suffixed_groups。[sgeulette]
如果组不为空,则不要删除组(在删除功能之后)[sgeulette]
1.42 (2022-06-14)
在DisplayGroupUsersView中转义用户和组标题。此外,修复了无法排序的列。[gbastien]
添加了仅包含安全工具的safe_utils.py。[gbastien]
在搜索中修复了错误:不要传递空的portal_type标准。[sgeulette]
在voc_selected_org_suffix_users函数中添加了参数escaped=True。[sgeulette]
当在plonegroup中没有选择组织时,修复了@@display-group-users,因为没有链接的Plone组,添加了针对它的测试和@@suborganizations视图(z3ctable显示包含在其他组织中的组织)。[gbastien]
1.41 (2022-05-06)
添加了具有检查PloneGroupContact删除和转换方法的适配器。[sgeulette]
1.40 (2022-04-22)
调整了PloneGroupUsersGroupsColumn,以便在未在plonegroup中选择组织时也能显示链接的组,这允许显示在之后取消选择的组织的链接Plone组。[gbastien]
1.39 (2022-02-03)
在词汇表中区分了缓存调用。[sgeulette]
1.38 (2021-11-26)
在utils.get_organization和utils.get_organizations中,对目录查询不受限制。[gbastien]
从 settings.py 中移除了从 plone.app.uuid 导入的 uuidToObject,我们使用来自 imio.helpers 的 uuidToObject。[gbastien]
1.37 (2021-10-20)
修正了缓存失效问题,以前在重新激活之前已停用的组织被重新激活时未执行。现在更广泛地失效。[sgeulette]
1.36 (2021-08-27)
在添加或删除用户时,在 @@manage-own-groups-users 视图中使用 collective.fingerpointing 添加日志。[gbastien]
将 available_expr 添加到显示“管理自己的组”的动作中,如果配置中的 groups_management 字段至少选中了一个值,则该动作将显示。[gbastien]
在 @@manage-own-groups-users 视图中使用 imio.helpers.SortedUsers 词汇。[gbastien]
1.35 (2021-05-05)
修复了当修改组织时调用 addOrModifyOrganizationGroups 的问题,这会导致为每个后缀创建 Plone 组,而不考虑 enabled 或 fct_orgs。在 v8 中添加了升级步骤,将删除错误创建的 Plone 组。[gbastien]
1.34 (2021-04-20)
修复了 settings.detectContactPlonegroupChange 的问题,有时当值从不同的测试层多次设置时,event.oldValue 为 None。[gbastien]
1.33 (2021-01-06)
不再分析该包。[gbastien]
当 context 不在目录中时,覆盖 collective.contact.core 中的词汇 PositionTypes,从 DEFAULT_DIRECTORY_ID 获取 position_types。[gbastien]
1.32 (2020-10-26)
修复了当 DisplayGroupUsersView.short=True 时 DisplayGroupUsersView.group_title 的问题,仅适用于格式为 My config (My suffix) 或它移除最后一个字母的情况。[gbastien]
添加了参数 PloneGroupUsersGroupsColumn.short=True,以便 @@display-group-users 默认为简短显示。[gbastien]
1.31 (2020-10-11)
由于从 v5 返回失败,因此合并了 v6 和 v7 的升级。[sgeulette]
更正了表格的类名。[sgeulette]
1.30 (2020-10-02)
添加了 manage-own-groups-users 视图和函数/组选择配置。用户可以管理其组的人员分配。[sgeulette]
避免在 get_selected_org_suffix_users 函数中获取组(仅用户)。[sgeulette]
避免在 get_selected_org_suffix_users 中出现 GroupNotFoundError,如果后缀限制为某些组织。[sgeulette]
添加了 BaseOrganizationServicesVocabulary._term_value 和 BaseOrganizationServicesVocabulary._term_token 以便于覆盖渲染的术语值和令牌。[gbastien]
让 SelectedOrganizationsElephantVocabulary 继承自 OwnOrganizationServicesVocabulary,以便方法 _term_value 和 _term_token 可用。[gbastien]
在 @@display-group-users 中,对于普通用户,显示包含组的成员,对于管理员,显示包含组和包含的成员。[gbastien]
在测试和配置文件应用多次时,修复了设置 registry[FUNCTIONS_REGISTRY] 时的 ConnectionStateError。[gbastien]
1.29.1 (2020-08-26)
修复了当当前用户不是管理员且没有链接到前缀图标(用户/组)时的 @@display-group-users 视图的 CSS。[gbastien]
1.29 (2020-08-18)
添加了 PloneGroupUsersGroupsColumn,一个显示后缀组和用户的列,可以在显示组织的仪表板上调用。组和用户由 @@display-group-users 视图渲染,也可能在其它地方使用。默认情况下,由于组和用户可能非常长,因此它被隐藏在一个可折叠的 <div> 中,并异步显示。[gbastien]
添加了禁用 function 的可能性(默认为 enabled=True),这有助于避免删除 function 并重新添加它,有时是错误的。将 utils.get_all_suffixes(only_enabled=True) 适配为仅获取启用功能。在 6 版本中添加了升级步骤,以管理存储在 regsitry 中的 functions 中的新值 enabled=True。[gbastien]
从 OrgaPrettyLinkWithAdditionalInfosColumn 中的链接中移除项目 UID,因为它现在默认显示为附加信息。[gbastien]
1.28 (2020-05-26)
在《utils.get_organizations》中,不要使用《list comprehension》将《get_registry_organizations》的结果转换为列表,因为结果已经是一个列表了(以前不是这种情况),《get_registry_organizations》返回一个新的列表,默认情况下将不再更改注册表中的值。[gbastien]
1.27 (2020-05-08)
使《OrgaPrettyLinkWithAdditionalInfosColumn》也适用于《person》和《held_position》。[gbastien]
1.26 (2020-03-12)
由于词汇《ram.cache》缓存key是根据模块/类名称生成的,因此将词汇《collective.contact.plonegroup.selected_organization_services》重命名为《collective.contact.plonegroup.browser.settings.SelectedOrganizationsElephantVocabulary》,将《collective.contact.plonegroup.sorted_selected_organization_services》重命名为《collective.contact.plonegroup.browser.settings.SortedSelectedOrganizationsElephantVocabulary》。添加了测试,以显示当选择组织更改时,缓存会正确地失效。[gbastien]
1.25 (2020-02-06)
在《settings.IFunctionSchema.fct_orgs》中使用《collective.contact.plonegroup.sorted_selected_organization_services》(用于限制后缀的一些组织)[gbastien]
在《validateSettings》中使用《getGroupMembers》检查Plone组是否为空,而不是使用《getMemberIds》,因为《getGroupMembers》会忽略《
》用户。[gbastien]
1.24 (2019-11-25)
在《organizations_with_suffixes》函数中添加了group_as_str参数。[sgeulette]
1.23 (2019-11-04)
在《utils.get_organization》中添加了参数《caching=True》,这将存储组织对象在REQUEST中,以避免过多的目录查询。[gbastien]
1.22 (2019-09-26)
当将《kept_org_uids》传递给《utils.get_organizations》时,确保顺序保持不变。[gbastien]
1.21 (2019-09-13)
添加了《BaseOrganizationServicesVocabulary._term_title》以简化渲染术语标题的重写。[gbastien]
1.20 (2019-09-12)
添加了《collective.contact.plonegroup.every_organizations》词汇,为此需要编写《BaseOrganizationServicesVocabulary》,它是《OwnOrganizationServicesVocabulary》和《EveryOrganizationsVocabulary》的基类。[gbastien]
删除了《collective.contact.plonegroup.selected_organization_services》的术语标题排序,术语在plonegroup组织中按选择顺序显示,就像以前一样。添加了新的按术语标题排序的词汇,并作为《collective.contact.plonegroup.sorted_selected_organization_services》提供。[gbastien]
1.19 (2019-08-23)
优化了《OwnOrganizationServicesVocabulary.listSubOrganizations》,仅在当前组织包含内容时执行目录查询。[gbastien]
1.18 (2019-08-02)
在《OrgaPrettyLinkWithAdditionalInfosColumn》中,将《showContentIcon》设置为True并启用《link-tooltip》。[gbastien]
在《SelectedInPlonegroupColumn》中,以粗体显示《Not》。[gbastien]
添加了《collective.contact.plonegroup.functions》词汇,列出在plonegroup控制面板中定义的所有功能。[gbastien]
1.17 (2019-07-15)
更正了不正确的完整标题缩短。[sgeulette]
1.16 (2019-06-30)
修复了《OrgaPrettyLinkWithAdditionalInfosColumn》中显示《PLONEGROUP_ORG》之外的组织的错误。[gbastien]
修复了当《caching=True》时《utils.get_organizations》的错误,以在缓存中存储新的组织列表而不是返回值或缓存中的值可能被修改,如果我们修改子方法中的返回值……[gbastien]
尽可能多地使用《get_registry_organizations/set_registry_organizations》和《get_registry_functions/set_registry_functions》。[gbastien]
1.15 (2019-06-07)
修复了问题,当后缀标题更改并且定义了某些《fct_orgs》时,链接的Plone组标题未更新。[gbastien]
在《settings.detectContactPlonegroupChange》中,仅在相关时设置《changes = True》,由于错误的缩进,它被系统地执行。[gbastien]
1.14 (2019-05-16)
使《OrgaPrettyLinkWithAdditionalInfosColumn》在显示《plonegroup-organization》时正常工作,在《SelectedInPlonegroupColumn》标题中包含到plonegroup配置面板的链接。[gbastien]
将《utils.get_plone_group》和《utils.get_plone_group_id》的第一个参数名称从《org_uid》更改为《prefix》,因为可以在其他情况下使用它。[gbastien]
添加了辅助方法《utils.select_org_for_function》,以便能够将组织uid添加到在《function》上定义的《fct_orgs》中。[gbastien]
删除了对《unittest2》的依赖。[gbastien]
调用 config.get_registry_organizations 和 config.get_registry_functions 时,默认返回存储数据的副本以避免修改。[gbastien]
向 utils.get_own_organization 添加参数 default=True,在这种情况下,使用目录查询而不是默认的根目录和自身组织 ID,应该会更快。[gbastien]
1.13 (2019-01-11)
使用 unrestrictedSearchResults 检查链接完整性。[sgeulette]
添加了帮助函数 config.get_registry_organizations、config.get_registry_functions、config.set_registry_organizations 和 config.set_registry_functions,以便轻松获取和设置组织/功能注册记录。[gbastien]
1.12 (2018-12-11)
向 utils.get_organizations 添加参数 kept_org_uids,仅保留具有定义 UID 的组织。[gbastien]
按值标题对 collective.contact.plonegroup.selected_organization_services 词汇表进行排序。[gbastien]
在 子组织 视图中,在标题旁边显示组织 UID。[gbastien]
1.11 (2018-11-20)
在 utils.get_organizations 中,调用 uuidsToObjects 时设置 ordered=True,以获取正确顺序的组织,因为目录查询没有排序。[gbastien]
修复了添加“fct_orgs”到功能的迁移。[gbastien]
1.10 (2018-10-12)
删除了 OwnOrganizationServicesVocabulary 的 grok。[gbastien]
添加了 utils.get_organization 以获取与给定 plone_group_id 对应的组织。[gbastien]
添加了 utils.get_organizations 以获取所有 plonegroup 组织。可以获取所有可选或已选组织,作为对象或不作为对象,以及对于特定链接的 Plone 组(后缀)不为空的组织。[gbastien]
添加了 utils.get_all_suffixes,它返回所有定义的功能 ID。[gbastien]
添加了限制后缀以仅限于一些选定组织的可能性。只为选定组织创建 Plone 组。在选择或取消选择组织时,相应的链接 Plone 组将被创建/删除。[gbastien]
将 setting.getOwnOrganizationPath 移动到 utils.get_own_organization/utils.get_own_organization_path。[gbastien]
添加了 utils.get_plone_groups 方法,它返回给定组织的所有 Plone 组。[gbastien]
添加了 utils.get_plone_group 方法,它返回给定组织 UID 和后缀的 Plone 组。[gbastien]
禁用了 IContactPlonegroupConfig.functions DataGridField 的 auto_append。[gbastien]
当创建链接到组织的 Plone 组时,通知 PlonegroupGroupCreatedEvent 事件。[gbastien]
当显示子组织时,z3c.table 分批处理不起作用,因此将 batchSize 和 startBatchingAt 设置为 999 而不是 200,以确保它永远不会显示。[gbastien]
在显示“@@suborganizations”时,如果没有子组织,显示特定的消息“没有子组织”而不是不显示任何内容。[gbastien]
添加了可从 collective.contact.plonegroup 导入的默认日志记录器。[gbastien]
添加了 utils.select_organization,以便能够从组织注册中选择或取消选择组织。[gbastien]
在创建 Plone 组时,翻译标题中显示的后缀。[gbastien]
1.9 (2018-09-04)
添加了 utils.get_plone_group_id 以获取给定组织和后缀的 Plone 组 ID。[gbastien]
覆盖了“@@suborganizations”视图,以显示包含的组织和子组织的整个层次结构以及更多信息。[gbastien]
当 plonegroup-organization 在工具提示中显示时,使用原始方式显示子组织,因为使用表格的新渲染方式在工具提示中占用的空间太大。[gbastien]
1.8.1 (2018-07-30)
按全名对用户词汇表进行排序。[sgeulette]
在 travis 上添加了缓存。[sgeulette]
1.8 (2017-09-18)
纠正了删除站点时的错误。[sgeulette]
纠正了组修改。添加了迁移步骤。[sgeulette]
1.7 (2017-07-25)
检查事件中是否启用了 linkintegrity。[sgeulette]
1.6 (2017-05-30)
仅当必要时使用管理角色,以避免在重新编目时出现“SystemError: Excessive recursion”错误。[sgeulette]
防止删除组。[sgeulette]
纠正了对象粘贴时的订阅者。[sgeulette]
1.5 (2016-12-13)
由于 plone.formwidget.masterselect 将 ++widget++ 作为匿名用户调用,因此仅获取具有管理角色的选定组织。[sgeulette]
1.4 (2016-12-07)
仅调用一次订阅者。[sgeulette]
改进了 util 方法并添加了测试。[sgeulette]
添加了获取具有自定义标题的选定组织的方法。[sgeulette]
添加了获取 orgs 用户和词汇表的方法。[sgeulette]
1.3 (2016-04-15)
使用存储的缓存键在所有 zeo 客户端上无效化缓存。[sgeulette]
1.2 (2016-01-13)
进行无限制搜索以列出自己的组织,空列表的可能原因[sgeulette]
将OrderedSelectWidget的大小增加到15行。[sgeulette]
使用相同的权限来保护配置视图和配置集。[sgeulette]
1.1 (2015-12-11)
在词汇中将标题设置为Unicode。[sgeulette]
1.0 (2015-11-24)
在删除plonegroup组织时添加链接完整性检查[sgeulette]
添加标记接口以区分plonegroup组织[sgeulette]
添加选定的组织词汇作为elephantvocabulary:正确显示不再选定的术语。[sgeulette]
不要停用正在使用的plonegroup组织[sgeulette]
检查状态以构建OwnOrganizationServicesVocabulary。[cedricmessiant]
在OwnOrganizationServicesVocabulary中将令牌设置为UID。[sgeulette]
允许网站管理员访问配置集[sgeulette]
Flake8纠正[sgeulette]
0.2 (2014-03-18)
修正清单以包含所有文件。
0.1 (2014-02-13)
初始发布。[sgeulette]
项目详情
collective.contact.plonegroup-1.51.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 419e4df93579207455bac98a31d3be2dc1238b6e20d772711fd549bd71a095cb |
|
MD5 | bbab03c0846ade741482e7d695890efc |
|
BLAKE2b-256 | 7ca55b0d764c8d490be23f47c33a125b05d945c8b293938351b54074ee7bc385 |