Switch to side-by-side view

--- a/Allura/allura/websetup/bootstrap.py
+++ b/Allura/allura/websetup/bootstrap.py
@@ -81,22 +81,13 @@
                        display_name='Anonymous Coward')
     root = create_user('Root')
 
-    n_projects = M.Neighborhood(name='Projects',
-                             url_prefix='/p/',
-                             acl=dict(read=[None], create=[],
-                                      moderate=[root._id], admin=[root._id]))
-    n_users = M.Neighborhood(name='Users',
-                             url_prefix='/u/',
-                             shortname_prefix='u/',
-                             acl=dict(read=[None], create=[],
-                                      moderate=[root._id], admin=[root._id]))
-    n_adobe = M.Neighborhood(name='Adobe',
-                             url_prefix='/adobe/',
-                             acl=dict(read=[None], create=[],
-                                      moderate=[root._id], admin=[root._id]))
+    n_projects = M.Neighborhood(name='Projects', url_prefix='/p/')
+    n_users = M.Neighborhood(name='Users', url_prefix='/u/',
+                             shortname_prefix='u/')
+    n_adobe = M.Neighborhood(name='Adobe', url_prefix='/adobe/')
     assert tg.config['auth.method'] == 'local'
     project_reg = plugin.ProjectRegistrationProvider.get()
-    p_projects = project_reg.register_neighborhood_project(n_projects, [root])
+    p_projects = project_reg.register_neighborhood_project(n_projects, [root], allow_register=True)
     p_users = project_reg.register_neighborhood_project(n_users, [root])
     p_adobe = project_reg.register_neighborhood_project(n_adobe, [root])
     ThreadLocalORMSession.flush_all()
@@ -138,15 +129,18 @@
                                    display_name='Adobe Admin'))
         u_admin_adobe.set_password('foo')
         # Admin1 is almost root, with admin access for Users and Projects neighborhoods
-        n_projects.acl['admin'].append(u_admin._id)
-        n_users.acl['admin'].append(u_admin._id)
+        p_projects.acl.append(
+            M.ACE.allow(u_admin.project_role(project=p_projects), 'admin'))
+        p_users.acl.append(
+            M.ACE.allow(u_admin.project_role(project=p_projects), 'admin'))
 
         p_allura = n_projects.register_project('allura', u_admin)
     u1 = M.User.register(dict(username='test-user',
                               display_name='Test User'))
     u1.set_password('foo')
     p_adobe1 = n_adobe.register_project('adobe-1', u_admin_adobe)
-    n_adobe.acl['admin'].append(u_admin_adobe._id)
+    p_adobe.acl.append(
+        M.ACE.allow(u_admin_adobe.project_role(p_adobe)._id, 'admin'))
     p0 = n_projects.register_project('test', u_admin)
     p0._extra_tool_status = [ 'alpha', 'beta' ]
     # Ming doesn't detect substructural changes in newly created objects (vs loaded from DB)