Marketplace integrations for Kiwi TCMS
======================================
.. image:: https://codecov.io/gh/kiwitcms/github-marketplace/branch/master/graph/badge.svg?token=NQKAQMJ8N8
:target: https://codecov.io/gh/kiwitcms/github-marketplace
:alt: Code coverage badge
.. image:: https://pyup.io/repos/github/kiwitcms/github-marketplace/shield.svg
:target: https://pyup.io/repos/github/kiwitcms/github-marketplace/
:alt: Python updates
.. image:: https://tidelift.com/badges/package/pypi/kiwitcms-github-marketplace
:target: https://tidelift.com/subscription/pkg/pypi-kiwitcms-github-marketplace?utm_source=pypi-kiwitcms-github-marketplace&utm_medium=github&utm_campaign=readme
:alt: Tidelift
.. image:: https://opencollective.com/kiwitcms/tiers/sponsor/badge.svg?label=sponsors&color=brightgreen
:target: https://opencollective.com/kiwitcms#contributors
:alt: Become a sponsor
.. image:: https://img.shields.io/twitter/follow/KiwiTCMS.svg
:target: https://twitter.com/KiwiTCMS
:alt: Kiwi TCMS on Twitter
Introduction
------------
This package provides the marketplace/payment integration for the
`Kiwi TCMS multi-tenant SaaS <https://kiwitcms.org/#subscriptions>`_.
Everyting that we do is open and that's why this piece of code is
open source as well. You don't need this add-on in order to run Kiwi TCMS!
Installation
------------
pip install kiwitcms-github-marketplace
Configuration
-------------
Required settings:
- ``KIWI_GITHUB_PAT_FOR_CHECKING_ORGS_AND_USERNAMES`` - string
- ``KIWI_GITHUB_MARKETPLACE_SECRET`` - binary string
- ``KIWI_FASTSPRING_SECRET`` - binary string
- ``QUAY_IO_TOKEN`` - string
- ``MAILCHIMP_USERNAME`` - string
- ``MAILCHIMP_SECRET`` - string
Product configuration
---------------------
- Subscriptions on FastSpring use the SKU field to define access to private
docker repositories. The format is ``repo_name1+repo_name2``, where
``https://quay.io/kiwitcms/<repo_name>`` exists
- FastSpring SKUs starting with "x-" are considered special and we don't
treat them as docker repository names
- Plans on GitHub Marketplace use one of their bullet items to define access
to private docker repositories. Format is
``Docker repositories: quay.io/kiwitcms/<repo1>, quay.io/kiwitcms/<repo2>``
Changelog
---------
v3.0.0 (07 Jun 2024)
~~~~~~~~~~~~~~~~~~~~
- Relicense this package under GNU Affero General Public License v3 or later
- Prior versions are still licensed under GNU General Public License v3
v2.6.0 (16 May 2024)
~~~~~~~~~~~~~~~~~~~~
- Require a new setting ``KIWI_GITHUB_PAT_FOR_CHECKING_ORGS_AND_USERNAMES``
- Add ``Purchase.gitops_prefix`` field with a new DB migration
- Record ``Purchase.gitops_prefix`` upon receiving incoming billing events
from GitHub
- Allow the Subscription page to edit the new ``gitops_prefix`` field
- Add the ``GitOps.allow()`` API method for usage in ``kiwitcms/gitops``
- Replace inline style attributes with CSS classes
v2.5.1 (06 May 2024)
~~~~~~~~~~~~~~~~~~~~
- Adjust name of settings for ``revoke_oauth_token()`` to match production
environment
- Adjust arguments for newer versions of PyGithub
v2.5.0 (03 May 2024)
~~~~~~~~~~~~~~~~~~~~
- Allow edits to ``Tenant.extra_emails`` field by overriding the HTML templates
so we can expose this inside the UI. This new field is shown when creating
a new tenant or editing an existing one
- FastSpring webhooks handler will also try matching the
``Tenant.extra_emails`` field before updating the expiration period.
This will handle the situation where ``Tenant.owner`` is no longer the one
who pays for the subscription
- Pin transitive dependencies to reduce the possibility of installing
vulnerable packages
- Fix potentially uninitilized local variable
- Start using psycopg 3 for testing
v2.4.0 (13 Jan 2024)
~~~~~~~~~~~~~~~~~~~~
- Build and test with Python 3.11 & fix an import error
- Update key name for error responses from Quay.io
- Start testing with upstream Postgres container image, v16 currently.
Note that installing ``btree_gin`` extension is commented out inside
``tcms_github_marketplace/migrations/0001_initial.py``
v2.3.8 (24 Aug 2023)
~~~~~~~~~~~~~~~~~~~~
- Fix a potential crash inside the Subscriptions page
v2.3.7 (23 Jun 2023)
~~~~~~~~~~~~~~~~~~~~
- Update mailchimp3 from 3.0.18 to 3.0.21
v2.3.6 (23 May 2023)
~~~~~~~~~~~~~~~~~~~~
- Try harder not to crash when handling non-recurring events from FastSpring
- Force ``None`` value for SKU to be evaluated as empty string
v2.3.3 (21 May 2023)
~~~~~~~~~~~~~~~~~~~~
- Handle expiration of unpaid requests for add-on services
- Unpin version for requests library to avoid potential conflicts
with other add-ons
v2.3.2 (28 Apr 2023)
~~~~~~~~~~~~~~~~~~~~
- Update requests from 2.28.2 to 2.29.0
- Don't fail when trying to delete user after subscription has been cancelled
v2.3.1 (17 Apr 2023)
~~~~~~~~~~~~~~~~~~~~
- Discover billing cycle info from FastSpring subscription data
- Update mailchimp3 from 3.0.17 to 3.0.18
v2.3.0 (14 Apr 2023)
~~~~~~~~~~~~~~~~~~~~
- Add Admin interface so we can 'Approve' manual purchases
- Display both monthly & yearly price columns in admin panel
- Refactor by using a generic purchase notification handling workflow class
- Add preliminary support for yearly subscriptions on FastSpring by removing
hard-coded values
- Add more tests
v2.2.0 (07 Apr 2023)
~~~~~~~~~~~~~~~~~~~~
- Fix fallback typo for FastSpring SKUs
- Adjust the fallback match string for Kiwi TCMS Enterprise on FastSpring
- Update requests from 2.28.1 to 2.28.2
- Adjust callbacks for newer PyGithub
- Reformat files with Black
- Don't raise general exceptions
v2.1.0 (15 Aug 2022)
~~~~~~~~~~~~~~~~~~~~
- Send an exit poll after a subscription has been cancelled
- Add filters to Purchase admin page
- Match username with email address for GitHub hooks too
- Add Purchase.subscription field
- Record subscription ID and search FastSpring tenants across
all possible billing emails
v2.0.5 (04 Aug 2022)
~~~~~~~~~~~~~~~~~~~~
- Fix a 500 error because of missing prism.js
- Update requests from 2.27.1 to 2.28.1
- Bump versions for the rest of eslint plugins
- Adjust pylint options b/c of newer version
- Report test results to Kiwi TCMS
v2.0.4 (19 Apr 2022)
~~~~~~~~~~~~~~~~~~~~
- Add more tests related to tenant groups
- Require kiwitcms-tenants>=2.0
- Update GitHub actions & pre-commit hook versions
v2.0.3 (02 Mar 2022)
~~~~~~~~~~~~~~~~~~~~
- Fallback to searching by name instead of SKU for FastSpring because
the SKU field isn't reliably sent for existing subscribers.
v2.0.2 (24 Feb 2022)
~~~~~~~~~~~~~~~~~~~~
- Add help block pointing to instructions for private containers
at the bottom of the Docker credentials card
v2.0.1 (23 Feb 2022)
~~~~~~~~~~~~~~~~~~~~
- Add 2 new fields to ``Purchase`` model in database to hold information
about enabled product features
- Automatically configure product access via FastSpring SKUs or GitHub
Marketplace bullet items
- Properly handle cancelled and deactivated subscriptions, removing user
accounts when needed
- Automatically handle docker accounts on Quay.io when a subscriotion is made
and display them on the subscription page
- Display the 2 new fields in Purchase admin
- Ask subscribers to opt-in for newsletter
- Add more automated tests & CI tools
v1.7.0 (30 Sep 2021)
~~~~~~~~~~~~~~~~~~~~
- Search tenants either by owner email or username. Fixes an issue where
some tenant owners use the billing email as their username, while
changing the contact email in the Kiwi TCMS database
- Adjust for backwards incompatible changes in PyGithub 1.55
- Use f-strings
v1.6.0 (29 Aug 2021)
~~~~~~~~~~~~~~~~~~~~
- Fix a bug which allowed users to create multiple tenants
- Fix `Sentry #KIWI-TCMS-H2 <https://sentry.io/organizations/kiwitcms/issues/2584184445>`_
- Fix issues discovered by newest pylint
- Don't allow user to create multiple tenants if they refresh the page, e.g.
after a 504 response. Instead redirect them to previously existing tenant
- Migrate from Travis CI to GitHub Actions
- Improvements of tests & CI
v1.5.0 (11 Jul 2021)
~~~~~~~~~~~~~~~~~~~~
- Test with Kiwi TCMS v10.1 or later
- Require kiwitcms-tenants>=1.5 in order to support public read-only tenants
- Migrate to Python 3.8
- Internal refactoring
v1.4.0 (03 Mar 2021)
~~~~~~~~~~~~~~~~~~~~
- Don't delete users upon cancellation via GitHub
v1.3.4 (18 Feb 2021)
~~~~~~~~~~~~~~~~~~~~
- Show new column in purchase admin
- Stop advertising GitHub Marketplace subscriptions
v1.3.3 (25 Jan 2021)
~~~~~~~~~~~~~~~~~~~~
- Allow POST request (web hooks) without CSRF token
v1.3.2 (26 Dec 2020)
~~~~~~~~~~~~~~~~~~~~
- Don't fail when cancelling GitHub FREE subscriptions for senders which
don't exist
v1.3.1 (09 Dec 2020)
~~~~~~~~~~~~~~~~~~~~
- Fix traceback when trying to create tenant and user is not logged in
v1.3 (13 Sep 2020)
~~~~~~~~~~~~~~~~~~
- Tested with Kiwi TCMS > 8.6
- Refactor deprecation warnings with Django 3.1
- Start using the new standard models.JSONField()
- Remove ``tcms_settings_dir/marketplace.py`` b/c ``settings.PUBLIC_VIEWS``
has been removed
v1.2 (06 Aug 2020)
~~~~~~~~~~~~~~~~~~
- Require kiwitcms-tenants>=1.1
- Subscribe button is now a drop-down listing all platforms oferring a
Private Tenant subscription
v1.1 (24 Apr 2020)
~~~~~~~~~~~~~~~~~~
- Bug fix: display form errors when creating new tenant
- Update template strings
v1.0 (17 Mar 2020)
~~~~~~~~~~~~~~~~~~
- Turn into proper Kiwi TCMS plugin and install settings overrides under
``tcms_settings_dir/`` (compatible with Kiwi TCMS v8.2 or later):
- does not need ``MENU_ITEMS`` and ``PUBLIC_VIEWS`` override anymore
- does not need to load ``tcms_github_marketplace`` in ``INSTALLED_APPS``
manually
- Jump over ``tcms_tenants.views.NewTenantView`` b/c it requires
``tcms_tenants.add_tenant`` permission and here we don't need that
- Exclude public tenant from recurring purchase hooks
- Do not attempt delete for superuser cancelling their tenant purchases
v0.8.1 (15 Jan 2020)
~~~~~~~~~~~~~~~~~~~~
- Replace ``ugettext_lazy`` with ``gettext_lazy`` for Django 3.0
v0.8 (07 Jan 2020)
~~~~~~~~~~~~~~~~~~
- Compatible with PyGithub v1.45+ which will be used in the upcoming
Kiwi TCMS v7.3
v0.7.4 (08 Dec 2019)
~~~~~~~~~~~~~~~~~~~~
- ``utils.verify_signature()`` moved to ``tcms.utils.github`` as of
Kiwi TCMS v7.2
- flake8 & pylint fixes
v0.7.3 (02 Nov 2019)
~~~~~~~~~~~~~~~~~~~~
- Fix a bug in reading pricing info when renewing subscriptions
via FastSpring
v0.7.2 (29 May 2019)
~~~~~~~~~~~~~~~~~~~~
- Show vendor specific cancel URL
- Don't crash when revoking GitHub tokens
- Update subscription link via FastSpring
v0.7.1 (25 May 2019)
~~~~~~~~~~~~~~~~~~~~
- Handle purchases from FastSpring
- ``Purchase.sender`` is now an ``EmailField``
v0.6.0 (16 May 2019)
~~~~~~~~~~~~~~~~~~~~
- Handle purchases for organizations
- Do no use ``next_billing_date`` and use ``effective_date``
when calculating ``paid_until``
v0.5.1 (16 May 2019)
~~~~~~~~~~~~~~~~~~~~
- Use the new ``delete_user()`` function when cancelling subscriptions
- Extend UI card in subscription page to 6 columns b/c long URL
v0.5.0 (15 May 2019)
~~~~~~~~~~~~~~~~~~~~
- Handle recurring purchases
- Don't crash if visiting Create Tenant without a purchase
- Show tenants which user can access and which they own
- Show purchase history with Buy/Cancel buttons
- Use ``prism.js`` for syntax highlighting
- Add translation files
v0.4.1 (08 May 2019)
~~~~~~~~~~~~~~~~~~~~
- Don't crash if install URL is visited without purchase
- Add Purchase admin, accessible only to superuser
- [db] Rename ``marketplace_purchase`` field to ``payload`` and
add ``vendor`` field to ``Purchase`` model
- Add a view which overrides tenant creation with information
from the latest purchase. This is what users will see when creating
their private tenants
- When creating Private Tenant try to correctly set ``paid_until`` date
based on ``next_billing_date`` or ``billing_cycle`` fields in the payload
sent to us by GitHub
v0.3.1 (03 May 2019)
~~~~~~~~~~~~~~~~~~~~
- Fix index name in models to be the same as in migrations
v0.3.0 (27 April 2019)
~~~~~~~~~~~~~~~~~~~~~~
- Handle Marketplace plan cancellations
v0.2.1 (27 April 2019)
~~~~~~~~~~~~~~~~~~~~~~
- Refactor how hooks and installation is handled. Now purchase info
is stored in database and we search for it during installation
- Introduces database migrations
- Free plan purchases from Marketplace still redirect to Public Tenant
v0.1.1 (25 April 2019)
~~~~~~~~~~~~~~~~~~~~~~
- Handle GitHub hook pings
v0.1.0 (24 April 2019) - initial release
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Free plan purchases from Marketplace redirect to Public Tenant
Raw data
{
"_id": null,
"home_page": "https://github.com/kiwitcms/github-marketplace/",
"name": "kiwitcms-github-marketplace",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Kiwi TCMS",
"author_email": "info@kiwitcms.org",
"download_url": "https://files.pythonhosted.org/packages/1e/d2/4546bef916494e9e542c385538c3464dbd8e61a5260287fc6efa97b12472/kiwitcms-github-marketplace-3.0.1.tar.gz",
"platform": null,
"description": "Marketplace integrations for Kiwi TCMS\n======================================\n\n.. image:: https://codecov.io/gh/kiwitcms/github-marketplace/branch/master/graph/badge.svg?token=NQKAQMJ8N8\n :target: https://codecov.io/gh/kiwitcms/github-marketplace\n :alt: Code coverage badge\n\n.. image:: https://pyup.io/repos/github/kiwitcms/github-marketplace/shield.svg\n :target: https://pyup.io/repos/github/kiwitcms/github-marketplace/\n :alt: Python updates\n\n.. image:: https://tidelift.com/badges/package/pypi/kiwitcms-github-marketplace\n :target: https://tidelift.com/subscription/pkg/pypi-kiwitcms-github-marketplace?utm_source=pypi-kiwitcms-github-marketplace&utm_medium=github&utm_campaign=readme\n :alt: Tidelift\n\n.. image:: https://opencollective.com/kiwitcms/tiers/sponsor/badge.svg?label=sponsors&color=brightgreen\n :target: https://opencollective.com/kiwitcms#contributors\n :alt: Become a sponsor\n\n.. image:: https://img.shields.io/twitter/follow/KiwiTCMS.svg\n :target: https://twitter.com/KiwiTCMS\n :alt: Kiwi TCMS on Twitter\n\nIntroduction\n------------\n\nThis package provides the marketplace/payment integration for the\n`Kiwi TCMS multi-tenant SaaS <https://kiwitcms.org/#subscriptions>`_.\nEveryting that we do is open and that's why this piece of code is\nopen source as well. You don't need this add-on in order to run Kiwi TCMS!\n\n\nInstallation\n------------\n\n pip install kiwitcms-github-marketplace\n\n\nConfiguration\n-------------\n\nRequired settings:\n\n- ``KIWI_GITHUB_PAT_FOR_CHECKING_ORGS_AND_USERNAMES`` - string\n- ``KIWI_GITHUB_MARKETPLACE_SECRET`` - binary string\n- ``KIWI_FASTSPRING_SECRET`` - binary string\n- ``QUAY_IO_TOKEN`` - string\n- ``MAILCHIMP_USERNAME`` - string\n- ``MAILCHIMP_SECRET`` - string\n\nProduct configuration\n---------------------\n\n- Subscriptions on FastSpring use the SKU field to define access to private\n docker repositories. The format is ``repo_name1+repo_name2``, where\n ``https://quay.io/kiwitcms/<repo_name>`` exists\n- FastSpring SKUs starting with \"x-\" are considered special and we don't\n treat them as docker repository names\n- Plans on GitHub Marketplace use one of their bullet items to define access\n to private docker repositories. Format is\n ``Docker repositories: quay.io/kiwitcms/<repo1>, quay.io/kiwitcms/<repo2>``\n\n\nChangelog\n---------\n\nv3.0.0 (07 Jun 2024)\n~~~~~~~~~~~~~~~~~~~~\n\n- Relicense this package under GNU Affero General Public License v3 or later\n- Prior versions are still licensed under GNU General Public License v3\n\n\nv2.6.0 (16 May 2024)\n~~~~~~~~~~~~~~~~~~~~\n\n- Require a new setting ``KIWI_GITHUB_PAT_FOR_CHECKING_ORGS_AND_USERNAMES``\n- Add ``Purchase.gitops_prefix`` field with a new DB migration\n- Record ``Purchase.gitops_prefix`` upon receiving incoming billing events\n from GitHub\n- Allow the Subscription page to edit the new ``gitops_prefix`` field\n- Add the ``GitOps.allow()`` API method for usage in ``kiwitcms/gitops``\n- Replace inline style attributes with CSS classes\n\n\nv2.5.1 (06 May 2024)\n~~~~~~~~~~~~~~~~~~~~\n\n- Adjust name of settings for ``revoke_oauth_token()`` to match production\n environment\n- Adjust arguments for newer versions of PyGithub\n\n\nv2.5.0 (03 May 2024)\n~~~~~~~~~~~~~~~~~~~~\n\n- Allow edits to ``Tenant.extra_emails`` field by overriding the HTML templates\n so we can expose this inside the UI. This new field is shown when creating\n a new tenant or editing an existing one\n- FastSpring webhooks handler will also try matching the\n ``Tenant.extra_emails`` field before updating the expiration period.\n This will handle the situation where ``Tenant.owner`` is no longer the one\n who pays for the subscription\n- Pin transitive dependencies to reduce the possibility of installing\n vulnerable packages\n- Fix potentially uninitilized local variable\n- Start using psycopg 3 for testing\n\n\nv2.4.0 (13 Jan 2024)\n~~~~~~~~~~~~~~~~~~~~\n\n- Build and test with Python 3.11 & fix an import error\n- Update key name for error responses from Quay.io\n- Start testing with upstream Postgres container image, v16 currently.\n Note that installing ``btree_gin`` extension is commented out inside\n ``tcms_github_marketplace/migrations/0001_initial.py``\n\n\nv2.3.8 (24 Aug 2023)\n~~~~~~~~~~~~~~~~~~~~\n\n- Fix a potential crash inside the Subscriptions page\n\n\nv2.3.7 (23 Jun 2023)\n~~~~~~~~~~~~~~~~~~~~\n\n- Update mailchimp3 from 3.0.18 to 3.0.21\n\n\nv2.3.6 (23 May 2023)\n~~~~~~~~~~~~~~~~~~~~\n\n- Try harder not to crash when handling non-recurring events from FastSpring\n- Force ``None`` value for SKU to be evaluated as empty string\n\n\nv2.3.3 (21 May 2023)\n~~~~~~~~~~~~~~~~~~~~\n\n- Handle expiration of unpaid requests for add-on services\n- Unpin version for requests library to avoid potential conflicts\n with other add-ons\n\n\nv2.3.2 (28 Apr 2023)\n~~~~~~~~~~~~~~~~~~~~\n\n- Update requests from 2.28.2 to 2.29.0\n- Don't fail when trying to delete user after subscription has been cancelled\n\n\nv2.3.1 (17 Apr 2023)\n~~~~~~~~~~~~~~~~~~~~\n\n- Discover billing cycle info from FastSpring subscription data\n- Update mailchimp3 from 3.0.17 to 3.0.18\n\n\nv2.3.0 (14 Apr 2023)\n~~~~~~~~~~~~~~~~~~~~\n\n- Add Admin interface so we can 'Approve' manual purchases\n- Display both monthly & yearly price columns in admin panel\n- Refactor by using a generic purchase notification handling workflow class\n- Add preliminary support for yearly subscriptions on FastSpring by removing\n hard-coded values\n- Add more tests\n\n\nv2.2.0 (07 Apr 2023)\n~~~~~~~~~~~~~~~~~~~~\n\n- Fix fallback typo for FastSpring SKUs\n- Adjust the fallback match string for Kiwi TCMS Enterprise on FastSpring\n- Update requests from 2.28.1 to 2.28.2\n- Adjust callbacks for newer PyGithub\n- Reformat files with Black\n- Don't raise general exceptions\n\n\nv2.1.0 (15 Aug 2022)\n~~~~~~~~~~~~~~~~~~~~\n\n- Send an exit poll after a subscription has been cancelled\n- Add filters to Purchase admin page\n- Match username with email address for GitHub hooks too\n- Add Purchase.subscription field\n- Record subscription ID and search FastSpring tenants across\n all possible billing emails\n\n\nv2.0.5 (04 Aug 2022)\n~~~~~~~~~~~~~~~~~~~~\n\n- Fix a 500 error because of missing prism.js\n- Update requests from 2.27.1 to 2.28.1\n- Bump versions for the rest of eslint plugins\n- Adjust pylint options b/c of newer version\n- Report test results to Kiwi TCMS\n\n\nv2.0.4 (19 Apr 2022)\n~~~~~~~~~~~~~~~~~~~~\n\n- Add more tests related to tenant groups\n- Require kiwitcms-tenants>=2.0\n- Update GitHub actions & pre-commit hook versions\n\n\nv2.0.3 (02 Mar 2022)\n~~~~~~~~~~~~~~~~~~~~\n\n- Fallback to searching by name instead of SKU for FastSpring because\n the SKU field isn't reliably sent for existing subscribers.\n\n\nv2.0.2 (24 Feb 2022)\n~~~~~~~~~~~~~~~~~~~~\n\n- Add help block pointing to instructions for private containers\n at the bottom of the Docker credentials card\n\n\nv2.0.1 (23 Feb 2022)\n~~~~~~~~~~~~~~~~~~~~\n\n- Add 2 new fields to ``Purchase`` model in database to hold information\n about enabled product features\n- Automatically configure product access via FastSpring SKUs or GitHub\n Marketplace bullet items\n- Properly handle cancelled and deactivated subscriptions, removing user\n accounts when needed\n- Automatically handle docker accounts on Quay.io when a subscriotion is made\n and display them on the subscription page\n- Display the 2 new fields in Purchase admin\n- Ask subscribers to opt-in for newsletter\n- Add more automated tests & CI tools\n\n\nv1.7.0 (30 Sep 2021)\n~~~~~~~~~~~~~~~~~~~~\n\n- Search tenants either by owner email or username. Fixes an issue where\n some tenant owners use the billing email as their username, while\n changing the contact email in the Kiwi TCMS database\n- Adjust for backwards incompatible changes in PyGithub 1.55\n- Use f-strings\n\n\nv1.6.0 (29 Aug 2021)\n~~~~~~~~~~~~~~~~~~~~\n\n- Fix a bug which allowed users to create multiple tenants\n- Fix `Sentry #KIWI-TCMS-H2 <https://sentry.io/organizations/kiwitcms/issues/2584184445>`_\n- Fix issues discovered by newest pylint\n- Don't allow user to create multiple tenants if they refresh the page, e.g.\n after a 504 response. Instead redirect them to previously existing tenant\n- Migrate from Travis CI to GitHub Actions\n- Improvements of tests & CI\n\n\nv1.5.0 (11 Jul 2021)\n~~~~~~~~~~~~~~~~~~~~\n\n- Test with Kiwi TCMS v10.1 or later\n- Require kiwitcms-tenants>=1.5 in order to support public read-only tenants\n- Migrate to Python 3.8\n- Internal refactoring\n\n\nv1.4.0 (03 Mar 2021)\n~~~~~~~~~~~~~~~~~~~~\n\n- Don't delete users upon cancellation via GitHub\n\n\nv1.3.4 (18 Feb 2021)\n~~~~~~~~~~~~~~~~~~~~\n\n- Show new column in purchase admin\n- Stop advertising GitHub Marketplace subscriptions\n\n\nv1.3.3 (25 Jan 2021)\n~~~~~~~~~~~~~~~~~~~~\n\n- Allow POST request (web hooks) without CSRF token\n\n\nv1.3.2 (26 Dec 2020)\n~~~~~~~~~~~~~~~~~~~~\n\n- Don't fail when cancelling GitHub FREE subscriptions for senders which\n don't exist\n\n\nv1.3.1 (09 Dec 2020)\n~~~~~~~~~~~~~~~~~~~~\n\n- Fix traceback when trying to create tenant and user is not logged in\n\n\nv1.3 (13 Sep 2020)\n~~~~~~~~~~~~~~~~~~\n\n- Tested with Kiwi TCMS > 8.6\n- Refactor deprecation warnings with Django 3.1\n- Start using the new standard models.JSONField()\n- Remove ``tcms_settings_dir/marketplace.py`` b/c ``settings.PUBLIC_VIEWS``\n has been removed\n\n\nv1.2 (06 Aug 2020)\n~~~~~~~~~~~~~~~~~~\n\n- Require kiwitcms-tenants>=1.1\n- Subscribe button is now a drop-down listing all platforms oferring a\n Private Tenant subscription\n\n\nv1.1 (24 Apr 2020)\n~~~~~~~~~~~~~~~~~~\n\n- Bug fix: display form errors when creating new tenant\n- Update template strings\n\n\nv1.0 (17 Mar 2020)\n~~~~~~~~~~~~~~~~~~\n\n- Turn into proper Kiwi TCMS plugin and install settings overrides under\n ``tcms_settings_dir/`` (compatible with Kiwi TCMS v8.2 or later):\n\n - does not need ``MENU_ITEMS`` and ``PUBLIC_VIEWS`` override anymore\n - does not need to load ``tcms_github_marketplace`` in ``INSTALLED_APPS``\n manually\n- Jump over ``tcms_tenants.views.NewTenantView`` b/c it requires\n ``tcms_tenants.add_tenant`` permission and here we don't need that\n- Exclude public tenant from recurring purchase hooks\n- Do not attempt delete for superuser cancelling their tenant purchases\n\n\nv0.8.1 (15 Jan 2020)\n~~~~~~~~~~~~~~~~~~~~\n\n- Replace ``ugettext_lazy`` with ``gettext_lazy`` for Django 3.0\n\n\nv0.8 (07 Jan 2020)\n~~~~~~~~~~~~~~~~~~\n\n- Compatible with PyGithub v1.45+ which will be used in the upcoming\n Kiwi TCMS v7.3\n\n\nv0.7.4 (08 Dec 2019)\n~~~~~~~~~~~~~~~~~~~~\n\n- ``utils.verify_signature()`` moved to ``tcms.utils.github`` as of\n Kiwi TCMS v7.2\n- flake8 & pylint fixes\n\n\nv0.7.3 (02 Nov 2019)\n~~~~~~~~~~~~~~~~~~~~\n\n- Fix a bug in reading pricing info when renewing subscriptions\n via FastSpring\n\nv0.7.2 (29 May 2019)\n~~~~~~~~~~~~~~~~~~~~\n\n- Show vendor specific cancel URL\n- Don't crash when revoking GitHub tokens\n- Update subscription link via FastSpring\n\n\nv0.7.1 (25 May 2019)\n~~~~~~~~~~~~~~~~~~~~\n\n- Handle purchases from FastSpring\n- ``Purchase.sender`` is now an ``EmailField``\n\n\nv0.6.0 (16 May 2019)\n~~~~~~~~~~~~~~~~~~~~\n\n- Handle purchases for organizations\n- Do no use ``next_billing_date`` and use ``effective_date``\n when calculating ``paid_until``\n\n\nv0.5.1 (16 May 2019)\n~~~~~~~~~~~~~~~~~~~~\n\n- Use the new ``delete_user()`` function when cancelling subscriptions\n- Extend UI card in subscription page to 6 columns b/c long URL\n\n\nv0.5.0 (15 May 2019)\n~~~~~~~~~~~~~~~~~~~~\n\n- Handle recurring purchases\n- Don't crash if visiting Create Tenant without a purchase\n- Show tenants which user can access and which they own\n- Show purchase history with Buy/Cancel buttons\n- Use ``prism.js`` for syntax highlighting\n- Add translation files\n\n\nv0.4.1 (08 May 2019)\n~~~~~~~~~~~~~~~~~~~~\n\n- Don't crash if install URL is visited without purchase\n- Add Purchase admin, accessible only to superuser\n- [db] Rename ``marketplace_purchase`` field to ``payload`` and\n add ``vendor`` field to ``Purchase`` model\n- Add a view which overrides tenant creation with information\n from the latest purchase. This is what users will see when creating\n their private tenants\n- When creating Private Tenant try to correctly set ``paid_until`` date\n based on ``next_billing_date`` or ``billing_cycle`` fields in the payload\n sent to us by GitHub\n\n\nv0.3.1 (03 May 2019)\n~~~~~~~~~~~~~~~~~~~~\n\n- Fix index name in models to be the same as in migrations\n\n\nv0.3.0 (27 April 2019)\n~~~~~~~~~~~~~~~~~~~~~~\n\n- Handle Marketplace plan cancellations\n\n\nv0.2.1 (27 April 2019)\n~~~~~~~~~~~~~~~~~~~~~~\n\n- Refactor how hooks and installation is handled. Now purchase info\n is stored in database and we search for it during installation\n- Introduces database migrations\n- Free plan purchases from Marketplace still redirect to Public Tenant\n\n\nv0.1.1 (25 April 2019)\n~~~~~~~~~~~~~~~~~~~~~~\n\n- Handle GitHub hook pings\n\n\nv0.1.0 (24 April 2019) - initial release\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n- Free plan purchases from Marketplace redirect to Public Tenant\n",
"bugtrack_url": null,
"license": "AGPLv3+",
"summary": "GitHub Marketplace integration for Kiwi TCMS",
"version": "3.0.1",
"project_urls": {
"Homepage": "https://github.com/kiwitcms/github-marketplace/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "155866370c8ff4cce0f372466ff4bb31e0e0bb365c516dec7f4d08d616655083",
"md5": "a145d1b61050a18efb08582c7500927d",
"sha256": "aef65f92706e425836150580d28248acdeee3d1383498373607f7f8acf5f1987"
},
"downloads": -1,
"filename": "kiwitcms_github_marketplace-3.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a145d1b61050a18efb08582c7500927d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 59466,
"upload_time": "2024-06-07T11:04:25",
"upload_time_iso_8601": "2024-06-07T11:04:25.914340Z",
"url": "https://files.pythonhosted.org/packages/15/58/66370c8ff4cce0f372466ff4bb31e0e0bb365c516dec7f4d08d616655083/kiwitcms_github_marketplace-3.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1ed24546bef916494e9e542c385538c3464dbd8e61a5260287fc6efa97b12472",
"md5": "4c041b0207c3d7560c53cd90c7f30984",
"sha256": "0f9f3d2ca6aa215efaf5a304c9f1b1a156faf3bb64093b405d393038f980b973"
},
"downloads": -1,
"filename": "kiwitcms-github-marketplace-3.0.1.tar.gz",
"has_sig": false,
"md5_digest": "4c041b0207c3d7560c53cd90c7f30984",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 45478,
"upload_time": "2024-06-07T11:04:28",
"upload_time_iso_8601": "2024-06-07T11:04:28.051718Z",
"url": "https://files.pythonhosted.org/packages/1e/d2/4546bef916494e9e542c385538c3464dbd8e61a5260287fc6efa97b12472/kiwitcms-github-marketplace-3.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-07 11:04:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kiwitcms",
"github_project": "github-marketplace",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "kiwitcms-github-marketplace"
}