diff --git a/snf-astakos-app/astakos/im/functions.py b/snf-astakos-app/astakos/im/functions.py index 513c94604ae65fe5cde98cece2d8bbe40b8e3739..5bc3f2a12cec1267bda525a4d9b7c8004515ea66 100644 --- a/snf-astakos-app/astakos/im/functions.py +++ b/snf-astakos-app/astakos/im/functions.py @@ -1110,6 +1110,9 @@ def terminate(project_id, request_user=None, reason=None): project = get_project_for_update(project_id) project_check_allowed(project, request_user, level=ADMIN_LEVEL) checkAlive(project) + if project.is_base: + m = _(astakos_messages.BASE_NO_TERMINATE) % project.uuid + raise ProjectConflict(m) project.terminate(actor=request_user, reason=reason) quotas.qh_sync_project(project) diff --git a/snf-astakos-app/astakos/im/messages.py b/snf-astakos-app/astakos/im/messages.py index 7182bcbd9ee474df7b6ade0f7e916ddb452fe52a..78ce6bbecc6ae7e57b3a0dc67f9fb948706c3ba8 100644 --- a/snf-astakos-app/astakos/im/messages.py +++ b/snf-astakos-app/astakos/im/messages.py @@ -228,6 +228,7 @@ UNIQUE_PROJECT_NAME_CONSTRAIN_ERR = ( NOT_ALIVE_PROJECT = 'Project %s is not alive.' NOT_SUSPENDED_PROJECT = 'Project %s is not suspended.' NOT_TERMINATED_PROJECT = 'Project %s is not terminated.' +BASE_NO_TERMINATE = "Cannot terminate: %s is a base project." NOT_ALLOWED = 'You do not have the permissions to perform this action.' MEMBER_NUMBER_LIMIT_REACHED = ( 'You have reached the maximum number of members for this Project.')