Sign-in via django-allauth: emailed one-time codes, GitHub, Discord, and Forgejo instances as OpenID Connect apps registered in admin. Regular users never have a password; sysadmins sign in only at /admin/ and are redirected there from the normal sign-in. Organizations at the URL root with owner and collaborator roles, a per-member project-create grant, and invites by username or email. Email invites carry a bearer token stored only as a hash. The last owner can't leave, be removed or be demoted. Permission checks live in intent/access.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 lines
481 B
Python
14 lines
481 B
Python
from django.contrib import admin
|
|
from django.urls import include, path
|
|
|
|
from intent.core import views
|
|
from intent.orgs.urls import invite_urlpatterns
|
|
|
|
urlpatterns = [
|
|
path("", views.home, name="home"),
|
|
path("admin/", admin.site.urls),
|
|
path("accounts/", include("allauth.urls")),
|
|
path("invites/", include(invite_urlpatterns)),
|
|
# Last: organizations own the rest of the URL space (see RESERVED_SLUGS).
|
|
path("<slug:org_slug>/", include("intent.orgs.urls")),
|
|
]
|