"""
Since all users use the same :class:`apps.account.models.User` model,
this module provides a baseclass for adding new users.
:subtitle:`Function definitions:`
"""
from core.views import FormView
from core.encryption.random import randompassword
from django.contrib.sites.requests import RequestSite
from apps.account.models import EncryptionKey
[docs]class BaseAddView(FormView):
"""
Baseclass for adding user, used for adding users
of all 3 different role types. (managers cannot be added)
"""
@property
def url_prefix(self):
"""
Returns:
The url prefix to be included in the e-mail
"""
# Sent password set e-mail
rq = RequestSite(self.request)
url_prefix = 'http'
if self.request.is_secure(): # pragma: no cover
url_prefix += 's'
url_prefix += '://' + rq.domain
return url_prefix