Switch to side-by-side view

--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -277,9 +277,9 @@
         method = config.get('registration.method', 'local')
         return app_globals.Globals().entry_points['registration'][method]()
 
-    def name_taken(self, project_name):
-        from allura import model as M
-        p = M.Project.query.get(shortname=project_name)
+    def name_taken(self, project_name, neighborhood):
+        from allura import model as M
+        p = M.Project.query.get(shortname=project_name, neighborhood_id=neighborhood._id)
         if p:
             return 'This project name is taken.'
         for check in self.extra_name_checks():
@@ -337,8 +337,9 @@
         if not h.re_path_portion.match(shortname.replace('/', '')):
             raise ValueError('Invalid project shortname: %s' % shortname)
         try:
-            p = M.Project.query.get(shortname=shortname)
-            if p: raise forge_exc.ProjectConflict()
+            p = M.Project.query.get(shortname=shortname, neighborhood_id=neighborhood._id)
+            if p:
+                raise forge_exc.ProjectConflict()
             p = M.Project(neighborhood_id=neighborhood._id,
                         shortname=shortname,
                         name=project_name,
@@ -447,7 +448,7 @@
         manager.register_directory(
             'theme/%s' % name,
             pkg_resources.resource_filename(
-                'allura', 
+                'allura',
                 os.path.join('nf', name)))
 
     @LazyProperty