diff --git a/pillar/application/modules/projects.py b/pillar/application/modules/projects.py index fdc75679..4b3cb2ec 100644 --- a/pillar/application/modules/projects.py +++ b/pillar/application/modules/projects.py @@ -98,11 +98,13 @@ def protect_sensitive_fields(document, original): return document[name] = original[name] - revert('url') revert('status') revert('category') revert('user') + if 'url' in original: + revert('url') + def after_inserting_projects(projects): """After inserting a project in the collection we do some processing such as: diff --git a/tests/test_bcloud_home_project.py b/tests/test_bcloud_home_project.py index 7bc4d9ee..4b8607f3 100644 --- a/tests/test_bcloud_home_project.py +++ b/tests/test_bcloud_home_project.py @@ -75,6 +75,7 @@ class HomeProjectTest(AbstractPillarTest): json_proj = json.loads(resp.data) self.assertEqual('home', json_proj['category']) + self.assertEqual('home', json_proj['url']) # Check that a Blender Sync node was created automatically. with self.app.test_request_context(headers={'Authorization': self.make_header('token')}): @@ -124,6 +125,7 @@ class HomeProjectTest(AbstractPillarTest): json_proj = json.loads(resp.data) self.assertEqual('home', json_proj['category']) + self.assertEqual('home', json_proj['url']) # Check that a Blender Sync node was created automatically. with self.app.test_request_context(headers={'Authorization': self.make_header('token')}): @@ -153,6 +155,7 @@ class HomeProjectTest(AbstractPillarTest): self.assertEqual(200, resp.status_code) json_proj = json.loads(resp.data) self.assertEqual('home', json_proj['category']) + self.assertEqual('home', json_proj['url']) # Check that the admin group of the project only has GET permissions. self.assertEqual({'GET'}, set(json_proj['permissions']['groups'][0]['methods']))