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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2

File details

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

File metadata

File hashes

Hashes for django-hunger-1.0.8.tar.gz
Algorithm Hash digest
SHA256 d6addc61353d8f704453f9368d80a75e2cfe87093ad39f495aeb3484a49392f1
MD5 7b2ce7a6862f61986d789aac6e1b3591
BLAKE2b-256 2135e0e784439c5c5a50d6f62bd1525e289eace9cce7436d82c3b098cadcc472

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_hunger-1.0.8-py2-none-any.whl
Algorithm Hash digest
SHA256 03c3c372c80207f90056a3b0b8e39325a11d38b278c8a86dcca6ff2e50a05076
MD5 e3e826fadc82a565fa63d924e469cfdd
BLAKE2b-256 e6105826af4c4aa0a287d081bcdb41645ee478bbb461629c523e16ab2129790e

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