feat: Allow underscores and hyphens in account name

This commit is contained in:
Jérôme BECOT 2021-11-19 00:34:16 +01:00
parent beed738d02
commit a3c50828a6
No known key found for this signature in database
GPG Key ID: 6667C39A7C2DBD6F
3 changed files with 9 additions and 9 deletions

View File

@ -35,7 +35,7 @@ class Account(db.Model):
if self.name is not None:
self.name = ''.join(c for c in self.name.lower()
if c in "abcdefghijklmnopqrstuvwxyz0123456789")
if c in "abcdefghijklmnopqrstuvwxyz0123456789_-")
def __repr__(self):
return '<Account {0}r>'.format(self.name)

View File

@ -331,7 +331,7 @@ def login():
# check if user has permissions
account_users = account.get_user()
current_app.logger.info('Group: {} Users: {}'.format(
group_name,
group_name,
account_users))
if user.id in account_users:
current_app.logger.info('User id {} is already in account {}'.format(
@ -351,7 +351,7 @@ def login():
account.mail = ''
account.create_account()
history = History(msg='Create account {0}'.format(
account.name),
account.name),
created_by='System')
history.add()
@ -485,13 +485,13 @@ def login():
saml_enabled=SAML_ENABLED,
error='Token required')
if Setting().get('autoprovisioning') and auth_method!='LOCAL':
if Setting().get('autoprovisioning') and auth_method!='LOCAL':
urn_value=Setting().get('urn_value')
Entitlements=user.read_entitlements(Setting().get('autoprovisioning_attribute'))
if len(Entitlements)==0 and Setting().get('purge'):
user.set_role("User")
user.revoke_privilege(True)
elif len(Entitlements)!=0:
if checkForPDAEntries(Entitlements, urn_value):
user.updateUser(Entitlements)
@ -1093,7 +1093,7 @@ def create_group_to_account_mapping():
def handle_account(account_name, account_description=""):
clean_name = ''.join(c for c in account_name.lower()
if c in "abcdefghijklmnopqrstuvwxyz0123456789")
if c in "abcdefghijklmnopqrstuvwxyz0123456789_-")
if len(clean_name) > Account.name.type.length:
current_app.logger.error(
"Account name {0} too long. Truncated.".format(clean_name))

View File

@ -49,7 +49,7 @@
<span class="fa fa-cog form-control-feedback"></span>
{% if invalid_accountname %}
<span class="help-block">Cannot be blank and must only contain alphanumeric
characters.</span>
characters, hyphens or underscores.</span>
{% elif duplicate_accountname %}
<span class="help-block">Account name already in use.</span>
{% endif %}
@ -112,8 +112,8 @@
</p>
<p>Fill in all the fields to the in the form to the left.</p>
<p>
<strong>Name</strong> is an account identifier. It will be stored as all lowercase letters (no
spaces, special characters etc).<br />
<strong>Name</strong> is an account identifier. It will be lowercased and can contain alphanumeric
characters, hyphens and underscores (no space or other special character is allowed).<br />
<strong>Description</strong> is a user friendly name for this account.<br />
<strong>Contact person</strong> is the name of a contact person at the account.<br />
<strong>Mail Address</strong> is an e-mail address for the contact person.