Skip to main content

Seminar platform for Mezzanine CMS

Project description

Mezzanine Seminars

Workflow status PyPI version Python versions Code style: Black Code style: Black

Seminar platform for Mezzanine sites.

Features

  • Create seminars with public and private content
  • Accept payments to grant users access to seminars
  • "Subject" (category) system to group seminars by topic
  • Allows attendees to fill out "post-seminar surveys" to provide feedback
  • CSV exports of seminar registrations

Changelog / History / Release Notes

Check out GitHub Releases.

Installation

  1. Install via pip: pip install mezzanine-seminars.
  2. Add "mezzanine_seminars" to INSTALLED_APPS. Make sure "mezzanine.accounts" is also added.
  3. Add to your root urls.py:
url("^seminars/", include("mezzanine_seminars.urls", namespace="seminars"))
  1. A new Seminars section will appear in the admin. Create your first Seminar!
  2. Point your visitors to /seminars/ to see the list of available seminars.

Accepting payments

By default registering for a Seminar is completely free even if the seminar has a set price. You can enforce a payment requirement by using a custom form in settings.SEMINARS_REGISTRATION_FORM . Different payment processors require different forms:

Stripe

First, make sure you install the additional requirements with pip install mezzanine-seminars[stripe]. Then make sure you define your secret API key in settings.STRIPE_SK. In development this should be a test key.

Finally set the Stripe form to be used when users register for a seminar:

# settings.py
SEMINARS_REGISTRATION_FORM = "mezzanine_seminars.forms.stripe.StripeRegistrationForm"

This will handle the backend configuration, but you will need to override seminars/seminar_registration_create.html to configure Stripe's browser bindings stripe.js. This is explained in Stripe's official docs, but it boils down to sending a PaymentMethod ID in the hidden field named stripe_method. With that the server will be able to complete the purchase.

Contributing

Before you contribute a bugfix or add a new feature, please check the issue tracker and open a new issue to discuss the work to be done. Once you're clear you want to work on the codebase:

git clone git@github.com:unplugstudio/mezzanine-seminars
cd mezzanine-seminars

# Test suite
pip install -e .[testing]
pytest tests

# Code style
pip install flake8 black
flake8 .
black .

# ALTERNATIVE: have Tox run everything (tests and code style)
pip install tox
tox

Once you're done with your changes and ensured all tests pass, create a pull request and verify the continuos integration tests also pass.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mezzanine_seminars-1.3.0.tar.gz (16.8 kB view hashes)

Uploaded Source

Built Distribution

mezzanine_seminars-1.3.0-py2.py3-none-any.whl (27.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page