Skip to main content

An app for Django sites that supports open, by invitation, and by application teams

Project description

Pinax Teams

CircleCi Codecov

Table of Contents

About Pinax

Pinax is an open-source platform built on the Django Web Framework. It is an ecosystem of reusable Django apps, themes, and starter project templates. This collection can be found at http://pinaxproject.com.

Important Links

Where you can find what you need:

pinax-teams

Overview

pinax-teams is an app for Django sites that supports open, by invitation, and by application teams.

Dependencies

  • django-appconf
  • django-reversion
  • django-user-accounts
  • pillow
  • pinax-invitations
  • python-slugify

See setup.py for specific required versions of these packages.

Supported Django and Python Versions

Django / Python | 3.7 | 3.8 | 3.9| 3.10 --------------- | --- | --- | --- 3.2 | * | * | * | * 4.1 | - | - | - | *

Documentation

Installation

To install pinax-teams:

    $ pip install pinax-teams

Add pinax.teams and other required apps to your INSTALLED_APPS setting:

    INSTALLED_APPS = [
        # other apps
        "account",
        "pinax.invitations",
        "pinax.teams",
        "reversion",
    ]

Optionally add TeamMiddleware to your MIDDLEWARE setting:

    MIDDLEWARE = [
        # other middleware
        "pinax.teams.middleware.TeamMiddleware",
    ]

Add pinax.teams.urls to your project urlpatterns:

    urlpatterns = [
        # other urls
        url(r"^account/", include("account.urls")),
        url(r"^teams/", include("pinax.teams.urls", namespace="pinax_teams")),
    ]

Usage

Settings

PINAX_TEAMS_HOOKSET

PINAX_TEAMS_NAME_BLACKLIST

PINAX_TEAMS_PROFILE_MODEL

Models

BaseMembership

BaseTeam

Membership

SimpleMembership

SimpleTeam

Team

Middleware

TeamMiddleware

WSGITeamMiddleware

Template Tags

available_teams

Return iterable of open-membership Teams which request.user may join. If user is "staff" they may join any membership-type team. Iterable excludes teams user is already associated with.

    {% available_teams as available_teams %}

Signals

pinax_teams.accepted_membership

pinax_teams.added_member

pinax_teams.demoted_member

pinax_teams.invited_user

pinax_teams.promoted_member

pinax_teams.rejected_membership

pinax_teams.removed_membership

pinax_teams.resent_invite

Templates

signup.html

team_detail.html

team_form.html

team_list.html

team_manage.html

_invite_form.html

_membership.html

Views

Change Log

3.0.0

  • Drop Django 2 and <3.2 and Python 2.*, <3.6 support
  • Add Django 4.0, and Python 3.7, 3.8 and 3.9 support

2.0.0

  • Drop Django 1.11, 2.0, and 2.1, and Python 2,7, 3.4, and 3.5 support
  • Add Django 2.2 and 3.0, and Python 3.6, 3.7, and 3.8 support
  • Update packaging configs

1.0.6

  • Switch to using python-slugify from unicode-slugify

1.0.5

  • Replace render_to_string context_instance kwarg.
  • Add view tests

1.0.4

  • Update pinax-invitations version requirement

1.0.3

  • Fix namespacing

1.0.2

Revert on_delete=CASCADE for null=True model fields

1.0.1

  • Standardize template location to "pinax/teams/"
  • Add template list to documentation

1.0.0

  • Drop Django v1.8, v.1.9, v1.10 support
  • Add Django 2.0 support and compatibility testing
  • Standardize documentation layout
  • Convert CI and coverage to CircleCi and CodeCov
  • Add PyPi-compatible long description
  • Use "PINAX_TEAMS_" rather than "TEAMS_" prefix for settings
  • Update installation requirements

0.12.2

  • BI: Move WSGITeamMiddleware to it's own module to resolve issues with the custom app label. This BI change was made in 0.12.2 as WSGITeamMiddleware had not been documented or demonstrated.

0.12.1

  • Update context_urls.py to reference the correct views

0.12

  • Add SimpleTeam and SimpleMembership models PR #46

0.11.5

  • Add initiating user to membership signals PR #42
  • Refactor TeamManageView and TeamInviteView as CBVs PR #43
  • Remove assumptions around auth.User model PR #40
  • Fix invitee to call to_user_email method PR #41
  • Fix Membership verbose names in model meta PR #45
  • Ensure team exists in template context PR #44

Backwards Incompatible Changes

  • TEAM_NAME_BLACKLIST has been renamed to PINAX_TEAMS_NAME_BLACKLIST for consistency with other application settings

Contribute

Contributing information can be found in the Pinax community health file repo.

Code of Conduct

In order to foster a kind, inclusive, and harassment-free community, the Pinax Project has a Code of Conduct. We ask you to treat everyone as a smart human programmer that shares an interest in Python, Django, and Pinax with you.

Connect with Pinax

For updates and news regarding the Pinax Project, please follow us on Twitter @pinaxproject and check out our Pinax Project blog.

License

Copyright (c) 2012-present James Tauber and contributors under the MIT license.

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

pinax_teams-3.0.1.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pinax_teams-3.0.1-py3-none-any.whl (30.3 kB view details)

Uploaded Python 3

File details

Details for the file pinax_teams-3.0.1.tar.gz.

File metadata

  • Download URL: pinax_teams-3.0.1.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for pinax_teams-3.0.1.tar.gz
Algorithm Hash digest
SHA256 1aa41cd9dc64de1f5d9fdf130cd0e6d8b9cd2df9183afafde3a75d37f03b956e
MD5 360d7b0cfc28a4adc625530e83a5a11d
BLAKE2b-256 516a6ad854536321adb710c1406bac00082c830017efc0d7b6e4c525d5bb0d63

See more details on using hashes here.

File details

Details for the file pinax_teams-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: pinax_teams-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 30.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for pinax_teams-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 27547ea450b34e256503ae39c50661e55c9c1068179150128365183d6980409e
MD5 05950e17f446e60f1aacb2bcd75b00c7
BLAKE2b-256 c68babdde64f0a5321ea9b125d059f0bc239d1981257e1e78cbba284ccb6fb06

See more details on using hashes here.

Supported by

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