Add support for reduced initial build count for new possible abusing users
If configured, we now check the IP address of the user signing up and, if they are a possible threat, we further reduce their number of allowed maximum builds to the configured value.
This commit is contained in:
parent
8d5e8fc685
commit
3309daa32e
7 changed files with 81 additions and 28 deletions
|
@ -5,22 +5,24 @@ from data.model import (user, team, DataModelException, InvalidOrganizationExcep
|
|||
InvalidUsernameException, db_transaction, _basequery)
|
||||
|
||||
|
||||
def create_organization(name, email, creating_user, email_required=True):
|
||||
try:
|
||||
# Create the org
|
||||
new_org = user.create_user_noverify(name, email, email_required=email_required)
|
||||
new_org.organization = True
|
||||
new_org.save()
|
||||
def create_organization(name, email, creating_user, email_required=True, is_possible_abuser=False):
|
||||
with db_transaction():
|
||||
try:
|
||||
# Create the org
|
||||
new_org = user.create_user_noverify(name, email, email_required=email_required,
|
||||
is_possible_abuser=is_possible_abuser)
|
||||
new_org.organization = True
|
||||
new_org.save()
|
||||
|
||||
# Create a team for the owners
|
||||
owners_team = team.create_team('owners', new_org, 'admin')
|
||||
# Create a team for the owners
|
||||
owners_team = team.create_team('owners', new_org, 'admin')
|
||||
|
||||
# Add the user who created the org to the owners team
|
||||
team.add_user_to_team(creating_user, owners_team)
|
||||
# Add the user who created the org to the owners team
|
||||
team.add_user_to_team(creating_user, owners_team)
|
||||
|
||||
return new_org
|
||||
except InvalidUsernameException as iue:
|
||||
raise InvalidOrganizationException(iue.message)
|
||||
return new_org
|
||||
except InvalidUsernameException as iue:
|
||||
raise InvalidOrganizationException(iue.message)
|
||||
|
||||
|
||||
def get_organization(name):
|
||||
|
|
Reference in a new issue