Switch to side-by-side view

--- a/Allura/allura/ext/admin/admin_main.py
+++ b/Allura/allura/ext/admin/admin_main.py
@@ -4,10 +4,12 @@
 from collections import defaultdict
 import Image
 from bson import ObjectId
+from datetime import datetime
 
 import pkg_resources
 from pylons import c, g, request
-from tg import expose, redirect, flash, validate
+from paste.deploy.converters import asbool
+from tg import expose, redirect, flash, validate, config
 from tg.decorators import with_trailing_slash, without_trailing_slash
 from webob import exc
 from bson import ObjectId
@@ -121,7 +123,7 @@
         if len(links):
             links.append(SitemapEntry('Project'))
         links += [
-            SitemapEntry('Summary', admin_url+'overview', className='nav_child'),
+            SitemapEntry('Metadata', admin_url+'overview', className='nav_child'),
             SitemapEntry('Homepage', admin_url+'homepage', className='nav_child'),
             SitemapEntry('Screenshots', admin_url+'screenshots', className='nav_child')
             ]
@@ -168,7 +170,8 @@
         c.markdown_editor = W.markdown_editor
         c.label_edit = W.label_edit
         categories = M.ProjectCategory.query.find(dict(parent_id=None)).sort('label').all()
-        return dict(categories=categories)
+        show_export_control = asbool(config.get('show_export_control', False))
+        return dict(categories=categories,show_export_control=show_export_control)
 
     @without_trailing_slash
     @expose('jinja:allura.ext.admin:templates/project_homepage.html')
@@ -254,22 +257,32 @@
                short_description=None,
                icon=None,
                category=None,
+               external_homepage='',
+               support_page='',
+               support_page_url='',
+               removal='',
+               moved_to_url='',
+               export_controlled=False,
                **kw):
         require_access(c.project, 'update')
 
+        if removal != c.project.removal:
+            h.log_action(log, 'change project removal status').info('')
+            c.project.removal = removal
+            c.project.removal_changed_date = datetime.utcnow()
         if 'delete_icon' in kw:
             M.ProjectFile.query.remove(dict(project_id=c.project._id, category='icon'))
             h.log_action(log, 'remove project icon').info('')
             g.post_event('project_updated')
-            redirect('.')
+            redirect('overview')
         elif 'delete' in kw:
             h.log_action(log, 'delete project').info('')
             plugin.ProjectRegistrationProvider.get().delete_project(c.project, c.user)
-            redirect('.')
+            redirect('overview')
         elif 'undelete' in kw:
             h.log_action(log, 'undelete project').info('')
             plugin.ProjectRegistrationProvider.get().undelete_project(c.project, c.user)
-            redirect('.')
+            redirect('overview')
         if name != c.project.name:
             h.log_action(log, 'change project name').info('')
             c.project.name = name
@@ -280,12 +293,21 @@
         if category != c.project.category_id:
             h.log_action(log, 'change project category').info('')
             c.project.category_id = category
-        labels = kw.pop('labels', None)
-        if labels is not None:
-            labels = labels.split(',')
-            if labels != c.project.labels:
-                h.log_action(log, 'update project labels').info('')
-                c.project.labels = labels
+        if external_homepage != c.project.external_homepage:
+            h.log_action(log, 'change external home page').info('')
+            c.project.external_homepage = external_homepage
+        if support_page != c.project.support_page:
+            h.log_action(log, 'change project support page').info('')
+            c.project.support_page = support_page
+        if support_page_url != c.project.support_page_url:
+            h.log_action(log, 'change project support page url').info('')
+            c.project.support_page_url = support_page_url
+        if moved_to_url != c.project.moved_to_url:
+            h.log_action(log, 'change project moved to url').info('')
+            c.project.moved_to_url = moved_to_url
+        if export_controlled != c.project.export_controlled:
+            h.log_action(log, 'change project export controlled status').info('')
+            c.project.export_controlled = not not export_controlled
 
         if icon is not None and icon != '':
             if c.project.icon: