Provides basic multi-tenancy features for OpenWISP 2 (using the Django web-framework)
Python HTML Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
openwisp_users
tests
.coveragerc
.gitignore
.travis.yml
CHANGES.rst
CONTRIBUTING.rst
LICENSE
MANIFEST.in
README.rst
requirements-test.txt
requirements.txt
runflake8
runisort
runtests.py
setup.cfg
setup.py

README.rst

openwisp-users

Requirements Status

Provides basic multi-tenancy features for OpenWISP 2 (using the Django web-framework).



Deploy it in production

An automated installer is available at ansible-openwisp2.

Install stable version from pypi

Install from pypi:

pip install openwisp-users

Install development version

Install tarball:

pip install https://github.com/openwisp/openwisp-users/tarball/master

Alternatively you can install via pip using git:

pip install -e git+git://github.com/openwisp/openwisp-users#egg=openwisp_users

If you want to contribute, install your cloned fork:

git clone git@github.com:<your_fork>/openwisp-users.git
cd openwisp-users
python setup.py develop

Setup (integrate in an existing django project)

INSTALLED_APPS in settings.py should look like the following:

INSTALLED_APPS = [
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'django.contrib.sites',
    'django_extensions',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'openwisp_users',
]

also add AUTH_USER_MODEL and SITE_ID to your settings.py:

AUTH_USER_MODEL = 'openwisp_users.User'
SITE_ID = 1

urls.py:

from django.conf.urls import include, url
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^accounts/', include('allauth.urls')),
]

urlpatterns += staticfiles_urlpatterns()

For additional steps to properly configure allauth in your project, please refer to their documentation: allauth documentation installation section.

Installing for development

Install sqlite:

sudo apt-get install sqlite3 libsqlite3-dev openssl libssl-dev

Install your forked repo:

git clone git://github.com/<your_fork>/openwisp-users
cd openwisp-users/
python setup.py develop

Install test requirements:

pip install -r requirements-test.txt

Create database:

cd tests/
./manage.py migrate
./manage.py createsuperuser

Set EMAIL_PORT in settings.py to a port number (eg: 1025):

EMAIL_PORT = '1025'

Launch development server and SMTP debugging server:

./manage.py runserver
# open another terminal and run
python -m smtpd -n -c DebuggingServer localhost:1025

You can access the admin interface at http://127.0.0.1:8000/admin/.

Run tests with:

./runtests.py

Contributing

  1. Announce your intentions in the OpenWISP Mailing List
  2. Fork this repo and install it
  3. Follow PEP8, Style Guide for Python Code
  4. Write code
  5. Write tests for your code
  6. Ensure all tests pass
  7. Ensure test coverage does not decrease
  8. Document your changes
  9. Send pull request

Changelog

See CHANGES.

License

See LICENSE.

Support

See OpenWISP Support Channels.