Implementation of user management and multi-tenancy for OpenWISP
@classmethod
decorator was mistakenly forgotten and hence missing from the following methods of openwisp_users.apps.OpenwispUsersConfig
:
update_organizations_dict
create_organization_owner
OrganizationInvitation
model.OrganizationOwnerInline
to use raw_id
field for organization_user
field.OrganizationUserInline
to use autocomplete
field for organization
field./api/v1/user/token/
has been changed to /api/v1/users/token/
for consistency with the rest of the API.Dependencies:
2.2.x
.3.6
.3.8
and Python 3.9
.3.2.x
and 4.0.x
.django-allauth~=0.46.0
.django-organizations~=2.0.1
django-phonenumber-field~=6.0.0
.openwisp-utils~=1.0.0
.swapper~=1.3.0
django-sesame~=2.4.0
.account/login.html
from django-allauth in order to remove the sign up link, which we do not supportN/A.
admin/base_site.html
in confirm_email.html
register_menu_items
organizations_pk
OrganizationUser
instance of an OrganizationOwner
won't be allowed to be is_admin=False
OrganizationUser
of an ownerOrganizationUser
which has is_admin=False
is only an end-user of that organization.
Instead, an OrganizationUser
which has is_admin=True
is also a
manager and only this type of user shall be allowed to manage items
of the organization through the django admin site. This is needed in
order to support users being simple end-users in one organization
but administrators in others, otherwise a staff user who is
administrator of one organization would be able to change also items
of other organizations where they are only members and not managers.django-allauth 0.42.0
, django-extensions 3.0.2
, openwisp-utils 0.5[rest]
and phonenumbers 8.12.0