Switch to unified view

a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
...
...
317
        try:
317
        try:
318
            p.configure_project(
318
            p.configure_project(
319
                users=users,
319
                users=users,
320
                is_user_project=False,
320
                is_user_project=False,
321
                apps=[
321
                apps=[
322
                    ('Wiki', 'home', 'Home'),
322
                    ('Wiki', 'wiki', 'Wiki'),
323
                    ('admin', 'admin', 'Admin')])
323
                    ('admin', 'admin', 'Admin')])
324
        except:
324
        except:
325
            ThreadLocalORMSession.close_all()
325
            ThreadLocalORMSession.close_all()
326
            log.exception('Error registering project %s' % p)
326
            log.exception('Error registering project %s' % p)
327
            raise
327
            raise
...
...
378
            if 'trove_cats' in project_template:
378
            if 'trove_cats' in project_template:
379
                for trove_type in project_template['trove_cats'].keys():
379
                for trove_type in project_template['trove_cats'].keys():
380
                    troves = getattr(p, 'trove_%s' % trove_type)
380
                    troves = getattr(p, 'trove_%s' % trove_type)
381
                    for trove_id in project_template['trove_cats'][trove_type]:
381
                    for trove_id in project_template['trove_cats'][trove_type]:
382
                        troves.append(M.TroveCategory.query.get(trove_cat_id=trove_id)._id)
382
                        troves.append(M.TroveCategory.query.get(trove_cat_id=trove_id)._id)
383
            if 'home_options' in project_template and p.app_config('home'):
383
            if 'home_options' in project_template and p.app_config('Wiki'):
384
                options = p.app_config('home').options
384
                options = p.app_config('Wiki').options
385
                for option in project_template['home_options'].keys():
385
                for option in project_template['home_options'].keys():
386
                    options[option] = project_template['home_options'][option]
386
                    options[option] = project_template['home_options'][option]
387
            if 'icon' in project_template:
387
            if 'icon' in project_template:
388
                icon_file = StringIO(urlopen(project_template['icon']['url']).read())
388
                icon_file = StringIO(urlopen(project_template['icon']['url']).read())
389
                M.ProjectFile.save_image(
389
                M.ProjectFile.save_image(
390
                    project_template['icon']['filename'], icon_file,
390
                    project_template['icon']['filename'], icon_file,
391
                    square=True, thumbnail_size=(48, 48),
391
                    square=True, thumbnail_size=(48, 48),
392
                    thumbnail_meta=dict(project_id=p._id, category='icon'))
392
                    thumbnail_meta=dict(project_id=p._id, category='icon'))
393
            home_app = p.app_instance('home')
393
            wiki_app = p.app_instance('wiki')
394
            if home_app:
394
            if wiki_app:
395
                from forgewiki import model as WM
395
                from forgewiki import model as WM
396
                text = project_template.get('home_text',
396
                text = project_template.get('home_text',
397
                        '[[project_admins]]\n[[download_button]]')
397
                        '[[project_admins]]\n[[download_button]]')
398
                WM.Page.query.get(app_config_id=home_app.config._id).text = text
398
                WM.Page.query.get(app_config_id=wiki_app.config._id).text = text
399
        except forge_exc.ProjectConflict:
399
        except forge_exc.ProjectConflict:
400
            raise
400
            raise
401
        except:
401
        except:
402
            ThreadLocalORMSession.close_all()
402
            ThreadLocalORMSession.close_all()
403
            log.exception('Error registering project %s' % p)
403
            log.exception('Error registering project %s' % p)
...
...
422
            last_updated = datetime.utcnow(),
422
            last_updated = datetime.utcnow(),
423
            is_root=False)
423
            is_root=False)
424
        with h.push_config(c, project=sp):
424
        with h.push_config(c, project=sp):
425
            M.AppConfig.query.remove(dict(project_id=c.project._id))
425
            M.AppConfig.query.remove(dict(project_id=c.project._id))
426
            if install_apps:
426
            if install_apps:
427
                home_app = sp.install_app('Wiki', 'home', 'Home', ordinal=0)
428
                if home_app:
429
                    home_app.show_discussion = False
430
                    home_app.show_left_bar = False
431
                sp.install_app('admin', 'admin', ordinal=1)
427
                sp.install_app('admin', 'admin', ordinal=1)
432
                sp.install_app('search', 'search', ordinal=2)
428
                sp.install_app('search', 'search', ordinal=2)
433
            g.post_event('project_created')
429
            g.post_event('project_created')
434
        return sp
430
        return sp
435
431