From e117432f3d3d073f7c3349d747fb0832c972e6ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Wed, 2 Nov 2016 18:15:23 +0100 Subject: [PATCH] CLI replace_pillar_node_type_schemas: allow setting license types on public project nodes. --- pillar/cli.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pillar/cli.py b/pillar/cli.py index d92e5151..7f324a6c 100644 --- a/pillar/cli.py +++ b/pillar/cli.py @@ -534,6 +534,7 @@ def replace_pillar_node_type_schemas(proj_url=None, all_projects=False): def handle_project(project): log.info('Handling project %s', project['url']) + is_public_proj = not project.get('is_private', True) for proj_nt in project['node_types']: nt_name = proj_nt['name'] @@ -549,6 +550,11 @@ def replace_pillar_node_type_schemas(proj_url=None, all_projects=False): # such as permissions. proj_nt.update(copy.deepcopy(pillar_nt)) + # On our own public projects we want to be able to set license stuff. + if is_public_proj: + proj_nt['form_schema'].pop('license_type', None) + proj_nt['form_schema'].pop('license_notes', None) + # Use Eve to PUT, so we have schema checking. db_proj = remove_private_keys(project) r, _, _, status = put_internal('projects', db_proj, _id=project['_id'])