58 lines
2.0 KiB
Python
58 lines
2.0 KiB
Python
import config
|
|
from django.conf import settings
|
|
from django.utils.translation import gettext as _
|
|
import importlib
|
|
|
|
USERS_SELF_REGISTRATION = "USERS_SELF_REGISTRATION"
|
|
USERS_PASSWORD_RECOVERY = 'USERS_PASSWORD_RECOVERY'
|
|
|
|
USERS_MAIL_VALIDATION = "USERS_MAIL_VALIDATION"
|
|
USERS_ADMIN_ACTIVATION = "USERS_ADMIN_ACTIVATION"
|
|
|
|
USERS_PROFILE_ADDITIONS = "USERS_PROFILE_ADDITIONS"
|
|
|
|
|
|
DEFAULTS = {
|
|
USERS_SELF_REGISTRATION: False,
|
|
USERS_PASSWORD_RECOVERY: False,
|
|
USERS_MAIL_VALIDATION: True,
|
|
USERS_ADMIN_ACTIVATION: True,
|
|
USERS_PROFILE_ADDITIONS: {},
|
|
}
|
|
|
|
|
|
def __get_object_by_name__(object_name):
|
|
class_data = object_name.split(".")
|
|
module_path = ".".join(class_data[:-1])
|
|
class_str = class_data[-1]
|
|
#
|
|
module = importlib.import_module(module_path)
|
|
return getattr(module, class_str)
|
|
|
|
|
|
def get(key):
|
|
# take data from config, settings or defaults
|
|
try:
|
|
data = getattr(config, key)
|
|
except AttributeError:
|
|
try:
|
|
data = getattr(settings, key)
|
|
except AttributeError:
|
|
data = DEFAULTS.get(key)
|
|
if key in [USERS_PROFILE_ADDITIONS, ]:
|
|
# Change given string to object
|
|
return {key: __get_object_by_name__(data[key]) for key in data}
|
|
#
|
|
return data
|
|
|
|
|
|
def registration_flow_description(username):
|
|
if not get(USERS_MAIL_VALIDATION) and not get(USERS_ADMIN_ACTIVATION):
|
|
return _("Your account has been created. You are now able to Login as %s.") % username
|
|
elif get(USERS_MAIL_VALIDATION) and get(USERS_ADMIN_ACTIVATION):
|
|
return _("Your account has been created. You'll get an email to validate your account. Then you have to wait for the activation by an administrator.")
|
|
elif get(USERS_MAIL_VALIDATION):
|
|
return _("Your account has been created. You'll get an email to validate your account. After validation you are able to Login as %s.") % username
|
|
else:
|
|
return _("Your account has been created. You have to wait for the activation by an administrator.")
|