为Kiwi TCMS提供的GitHub Marketplace集成
项目描述
介绍
此包为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_ITEMS和PUBLIC_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_date 或 billing_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 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0f9f3d2ca6aa215efaf5a304c9f1b1a156faf3bb64093b405d393038f980b973 |
|
MD5 | 4c041b0207c3d7560c53cd90c7f30984 |
|
BLAKE2b-256 | 1ed24546bef916494e9e542c385538c3464dbd8e61a5260287fc6efa97b12472 |
kiwitcms_github_marketplace-3.0.1-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | aef65f92706e425836150580d28248acdeee3d1383498373607f7f8acf5f1987 |
|
MD5 | a145d1b61050a18efb08582c7500927d |
|
BLAKE2b-256 | 155866370c8ff4cce0f372466ff4bb31e0e0bb365c516dec7f4d08d616655083 |