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.7.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

django_hunger-1.0.7-py2-none-any.whl (126.5 kB view details)

Uploaded Python 2

File details

Details for the file django-hunger-1.0.7.tar.gz.

File metadata

File hashes

Hashes for django-hunger-1.0.7.tar.gz
Algorithm Hash digest
SHA256 fed04f3215ae84289e121fd3dd285a28aa6e2202fbd706d5ead5ef0374465a63
MD5 a9a42a49868fa9dee1f51768d08f3135
BLAKE2b-256 202b965df1bb05f40b8f720c1126b7da0092108f8eff8ae5b509bb1922dae740

See more details on using hashes here.

File details

Details for the file django_hunger-1.0.7-py2-none-any.whl.

File metadata

File hashes

Hashes for django_hunger-1.0.7-py2-none-any.whl
Algorithm Hash digest
SHA256 984d8617a2f1aa60cb4f56648b856233a8fbfe8e8a1d5a9682268ce37441d57a
MD5 cc0dd630cee6915f4c1247d67cf72877
BLAKE2b-256 014b13b0638896053c4e09ef696f15253ad2b206697f9bb536d100dfb9b6e3f4

See more details on using hashes here.

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