Skip to main content

A Django app to manage a private beta phase.

Project description

https://secure.travis-ci.org/joshuakarjala/django-hunger.png?branch=master

Django app to manage a private beta phase for a website.

  • This app provides users with the change to sign up for a private beta - by providing their email address.

  • The administrators of the website can manually invite people to join the beta from the Django admin panel.

  • The signup view of the app is only accessible by providing the correct invitation code in the url.

Installation

  • Install django-hunger using pip or easy_install.

  • Add hunger to INSTALLED_APPS in settings.py.

  • Add hunger.middleware.BetaMiddleware to MIDDLEWARE_CLASSES.

  • Create templates beta/request_invite.html, beta/confirmation.html, and beta/used.html. The request_invite.html template receives a Context instance with a Django form for the email signup form. The confirmation.html and used.html templates are flatpages for confirming signup and used invites.

Settings

BETA_INVITE_CODE_LENGTH

String length of the invitation_code

BETA_ENABLE_BETA

Enable hunger middleware

BETA_NEVER_ALLOW_VIEWS

Never allow access to these views

BETA_ALWAYS_ALLOW_VIEWS

Always let unregistered user see these view

BETA_ALWAYS_ALLOW_MODULES

Convenience settings - allow all views and a given module

BETA_ALLOW_FLATPAGES

If using flatpages app

BETA_SIGNUP_VIEWS

Which views are used for signing up

BETA_SIGNUP_CONFIRMATION_VIEW

The view which comes directly after a user has signed up

BETA_REDIRECT_URL

If user is not logged in and trying to access a hidden view - where should he/she be redirected

BETA_SIGNUP_URL

What is the url for the signup page

BETA_EMAIL_TEMPLATES_DIR

Directory containing email templates

BETA_EMAIL_MODULE

Module where the email functions are

BETA_EMAIL_CONFIRM_FUNCTION

Function for sending out confirmation that user is on waiting list

BETA_EMAIL_INVITE_FUNCTION

Function for sending out the invitation code

Integration with django_templated_email

If django_templated_email - https://github.com/bradwhittington/django-templated-email is installed, you can use customized *.email templates with an example setting such as:

BETA_EMAIL_TEMPLATES_DIR = 'beta'

And create the following templates:

<project_dir>/templates/beta/beta_confirm.email
<project_dir>/templates/beta/beta_invite.email

Integration with django_social_auth

Modify SOCIAL_AUTH_PIPELINE in settings to replace social_auth.backends.pipeline.user.create_user with create_beta_user (using default pipeline):

SOCIAL_AUTH_PIPELINE = (
    'social_auth.backends.pipeline.social.social_auth_user',
    'social_auth.backends.pipeline.associate.associate_by_email',
    'social_auth.backends.pipeline.user.get_username',
    'hunger.contrib.social_auth_pipeline.create_beta_user',
    'social_auth.backends.pipeline.social.associate_user',
    'social_auth.backends.pipeline.social.load_extra_data',
    'social_auth.backends.pipeline.user.update_user_details'
)

BETA_ALWAYS_ALLOW_VIEWS must at bare minimum include the relevant social_auth views:

BETA_ALWAYS_ALLOW_VIEWS = (
    'social_auth.views.auth',
    'social_auth.views.complete',
)

Credit

Hunger is partially based on: - https://github.com/pragmaticbadger/django-privatebeta

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

django-hunger-1.0.8.tar.gz (10.4 kB view hashes)

Uploaded source

Built Distribution

django_hunger-1.0.8-py2-none-any.whl (126.3 kB view hashes)

Uploaded 2 7

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page