跳转到主要内容

为Kiwi TCMS提供的GitHub Marketplace集成

项目描述

Code coverage badge Python updates Tidelift Become a sponsor Kiwi TCMS on Twitter

介绍

此包为Kiwi TCMS多租户SaaS提供市场/支付集成。我们所有的事情都是开放的,这也是为什么这段代码也是开源的。您不需要此附加组件来运行Kiwi TCMS!

安装

pip安装kiwitcms-github-marketplace

配置

所需设置

  • KIWI_GITHUB_PAT_FOR_CHECKING_ORGS_AND_USERNAMES - 字符串

  • KIWI_GITHUB_MARKETPLACE_SECRET - 二进制字符串

  • KIWI_FASTSPRING_SECRET - 二进制字符串

  • QUAY_IO_TOKEN - 字符串

  • MAILCHIMP_USERNAME - 字符串

  • MAILCHIMP_SECRET - 字符串

产品配置

  • 在FastSpring上的订阅使用SKU字段来定义对私有docker仓库的访问。格式为repo_name1+repo_name2,其中https://quay.io/kiwitcms/<repo_name>存在

  • 以“x-”开头的FastSpring SKU被视为特殊,我们不将其视为docker仓库名称

  • GitHub Marketplace上的计划使用它们的列表项之一来定义对私有docker仓库的访问。格式为Docker仓库: quay.io/kiwitcms/<repo1>, quay.io/kiwitcms/<repo2>

变更日志

v3.0.0 (07 Jun 2024)

  • 将此软件包重新许可为GNU Affero通用公共许可证v3或更高版本

  • 之前的版本仍受GNU通用公共许可证v3许可

v2.6.0(2024年5月16日)

  • 需要新的设置 KIWI_GITHUB_PAT_FOR_CHECKING_ORGS_AND_USERNAMES

  • 通过新的数据库迁移添加 Purchase.gitops_prefix 字段

  • 在从GitHub接收传入的账单事件时记录 Purchase.gitops_prefix

  • 允许订阅页面编辑新的 gitops_prefix 字段

  • kiwitcms/gitops 中的使用添加 GitOps.allow() API 方法

  • 用CSS类替换内联样式属性

v2.5.1(2024年5月6日)

  • 调整 revoke_oauth_token() 设置的名称以匹配生产环境

  • 调整适用于PyGithub新版本的参数

v2.5.0(2024年5月3日)

  • 通过覆盖HTML模板允许编辑 Tenant.extra_emails 字段,以便在UI中公开此字段。在创建新租户或编辑现有租户时显示此新字段

  • FastSpring网络请求处理程序在更新到期期限之前也将尝试匹配 Tenant.extra_emails 字段。这将处理 Tenant.owner 已不再是支付订阅费用的人的情况

  • 固定传递依赖关系以减少安装易受攻击软件包的可能性

  • 修复可能未初始化的局部变量

  • 开始使用psycopg 3进行测试

v2.4.0(2024年1月13日)

  • 使用Python 3.11构建和测试,并修复一个导入错误

  • 更新Quay.io错误响应的关键名称

  • 开始使用上游Postgres容器镜像进行测试,目前为v16。请注意,在 tcms_github_marketplace/migrations/0001_initial.py 中已将安装 btree_gin 扩展的注释删除

v2.3.8(2023年8月24日)

  • 修复了订阅页面中的潜在崩溃

v2.3.7(2023年6月23日)

  • 将mailchimp3从3.0.18更新到3.0.21

v2.3.6(2023年5月23日)

  • 在处理FastSpring的非重复事件时尝试更不容易崩溃

  • 强制将SKU的None值评估为空字符串

v2.3.3(2023年5月21日)

  • 处理附加服务的未付款请求的到期

  • 取消对requests库的版本锁定,以避免与其他附加组件发生潜在冲突

v2.3.2(2023年4月28日)

  • 将requests从2.28.2更新到2.29.0

  • 在取消订阅后尝试删除用户时不要失败

v2.3.1(2023年4月17日)

  • 从FastSpring订阅数据中发现账单周期信息

  • 将mailchimp3从3.0.17更新到3.0.18

v2.3.0(2023年4月14日)

  • 添加管理界面,以便我们可以“批准”手动购买

  • 在管理面板中显示每月和年度价格列

  • 通过使用通用的购买通知处理工作流类进行重构

  • 通过删除硬编码的值,为FastSpring添加对年度订阅的初步支持

  • 添加更多测试

v2.2.0(2023年4月7日)

  • 修复FastSpring SKU的回退类型错误

  • 调整FastSpring上Kiwi TCMS Enterprise的回退匹配字符串

  • 将requests从2.28.1更新到2.28.2

  • 调整针对新版本的PyGithub的回调

  • 使用Black重新格式化文件

  • 不要引发通用异常

v2.1.0(2022年8月15日)

  • 在取消订阅后发送退出调查

  • 在购买管理页面添加过滤器

  • 对于GitHub钩子也匹配用户名与电子邮件地址

  • 添加Purchase.subscription字段

  • 记录订阅ID并在所有可能的账单电子邮件中搜索FastSpring租户

v2.0.5(2022年8月4日)

  • 修复了由于缺少prism.js导致的500错误

  • 将请求从2.27.1更新到2.28.1

  • 更新其他eslint插件的版本

  • 由于新版本,调整pylint选项

  • 将测试结果报告给Kiwi TCMS

v2.0.4(2022年4月19日)

  • 添加更多与租户组相关的测试

  • 要求kiwitcms-tenants>=2.0

  • 更新GitHub动作和pre-commit钩子版本

v2.0.3(2022年3月2日)

  • 由于SKU字段对现有订阅者不可靠,FastSpring将回退到按名称搜索,而不是按SKU搜索

v2.0.2(2022年2月24日)

  • 在Docker凭据卡的底部添加指向私有容器说明的帮助块

v2.0.1(2022年2月23日)

  • 在数据库中的“购买”模型中添加2个新字段,用于存储有关启用产品功能的信息

  • 通过FastSpring SKU或GitHub Marketplace项目符号自动配置产品访问

  • 妥善处理已取消和停用的订阅,在需要时删除用户帐户

  • 当订阅时自动处理Quay.io上的Docker帐户,并在订阅页面上显示它们

  • 在购买管理中显示2个新字段

  • 要求订阅者选择加入时事通讯

  • 添加更多自动化测试和CI工具

v1.7.0(2021年9月30日)

  • 通过所有者电子邮件或用户名搜索租户。修复了某些租户所有者使用计费电子邮件作为用户名的问题,同时更改Kiwi TCMS数据库中的联系电子邮件

  • 针对PyGithub 1.55中的向后不兼容更改进行调整

  • 使用f字符串

v1.6.0(2021年8月29日)

  • 修复了一个允许用户创建多个租户的漏洞

  • 修复了Sentry #KIWI-TCMS-H2的问题

  • 修复了由最新的pylint发现的问题

  • 如果用户刷新页面(例如在504响应后),则不允许用户创建多个租户。相反,将他们重定向到之前存在的租户

  • 从Travis CI迁移到GitHub Actions

  • 测试和CI的改进

v1.5.0(2021年7月11日)

  • 使用Kiwi TCMS v10.1或更高版本进行测试

  • 要求kiwitcms-tenants>=1.5以支持公共只读租户

  • 迁移到Python 3.8

  • 内部重构

v1.4.0(2021年3月3日)

  • 通过GitHub取消时不要删除用户

v1.3.4(2021年2月18日)

  • 在购买管理中显示新列

  • 停止宣传GitHub Marketplace订阅

v1.3.3(2021年1月25日)

  • 允许没有CSRF令牌的POST请求(Web钩子)

v1.3.2(2020年12月26日)

  • 当取消GitHub免费订阅的发送者不存在时不要失败

v1.3.1(2020年12月9日)

  • 修复了尝试创建租户但用户未登录时的traceback

v1.3(2020年9月13日)

  • 与Kiwi TCMS > 8.6进行了测试

  • 重构与Django 3.1相关的弃用警告

  • 开始使用新的标准模型.JSONField()

  • 删除tcms_settings_dir/marketplace.py,因为settings.PUBLIC_VIEWS已被删除

v1.2(2020年8月6日)

  • 要求kiwitcms-tenants>=1.1

  • 订阅按钮现在是一个下拉列表,列出提供私有租户订阅的所有平台

v1.1(2020年4月24日)

  • 错误修复:在创建新租户时显示表单错误

  • 更新模板字符串

v1.0(2020年3月17日)

  • 成为合适的Kiwi TCMS插件,并在tcms_settings_dir/下安装设置覆盖(与Kiwi TCMS v8.2或更高版本兼容)

    • 不再需要MENU_ITEMSPUBLIC_VIEWS覆盖

    • 不需要在INSTALLED_APPS中手动加载tcms_github_marketplace

  • 跳过tcms_tenants.views.NewTenantView,因为它需要tcms_tenants.add_tenant权限,而这里我们不需要它

  • 排除公共租户从重复购买钩子中

  • 当超级用户取消他们的租户购买时不要尝试删除

v0.8.1 (2020年1月15日)

  • ugettext_lazy 替换为 gettext_lazy 以适配 Django 3.0

v0.8 (2020年1月7日)

  • 兼容 PyGithub v1.45+,将在即将推出的 Kiwi TCMS v7.3 中使用

v0.7.4 (2019年12月8日)

  • 从 Kiwi TCMS v7.2 开始,将 utils.verify_signature() 移动到 tcms.utils.github

  • flake8 和 pylint 修复

v0.7.3 (2019年11月2日)

  • 修复通过 FastSpring 续订订阅时读取定价信息的问题

v0.7.2 (2019年5月29日)

  • 显示特定供应商的取消 URL

  • 在吊销 GitHub 令牌时不会崩溃

  • 通过 FastSpring 更新订阅链接

v0.7.1 (2019年5月25日)

  • 处理 FastSpring 的购买

  • Purchase.sender 现在是 EmailField

v0.6.0 (2019年5月16日)

  • 处理组织的购买

  • 在计算 paid_until 时,不使用 next_billing_date 而使用 effective_date

v0.5.1 (2019年5月16日)

  • 在取消订阅时使用新的 delete_user() 函数

  • 将订阅页面上的 UI 卡片扩展到 6 列,因为 URL 较长

v0.5.0 (2019年5月15日)

  • 处理周期性购买

  • 如果没有购买,访问创建租户时不会崩溃

  • 显示用户可以访问的租户以及他们拥有的租户

  • 显示购买历史记录,并带有购买/取消按钮

  • 使用 prism.js 进行语法高亮

  • 添加翻译文件

v0.4.1 (2019年5月8日)

  • 如果没有购买,访问安装 URL 不会崩溃

  • 添加仅超级用户可访问的购买管理界面

  • [db] 将 marketplace_purchase 字段重命名为 payload 并将 vendor 字段添加到 Purchase 模型中

  • 添加一个视图,该视图覆盖租户创建,并使用最新购买的信息。这是用户创建私有租户时将看到的内容

  • 在创建私有租户时,尝试根据 GitHub 发送给我们的负载中的 next_billing_datebilling_cycle 字段正确设置 paid_until 日期

v0.3.1 (2019年5月3日)

  • 修复模型中的索引名称与迁移中的名称相同

v0.3.0 (2019年4月27日)

  • 处理市场计划取消

v0.2.1 (2019年4月27日)

  • 重构处理挂钩和安装的方式。现在购买信息存储在数据库中,我们在安装时搜索它

  • 引入数据库迁移

  • 来自市场的免费计划购买仍然重定向到公共租户

v0.1.1 (2019年4月25日)

  • 处理 GitHub 钩子 ping

v0.1.0 (2019年4月24日) - 首次发布

  • 来自市场的免费计划购买重定向到公共租户

项目详情


下载文件

下载适用于您平台的应用程序文件。如果您不确定要选择哪个,请了解更多关于 安装软件包 的信息。

源代码分发

kiwitcms-github-marketplace-3.0.1.tar.gz (45.5 kB 查看哈希值)

上传时间

构建分发

kiwitcms_github_marketplace-3.0.1-py3-none-any.whl (59.5 kB 查看散列值)

上传时间 Python 3

支持者