You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2016/01/08 20:30:44 UTC

[39/50] [abbrv] allura git commit: [#8034] send project_menu_updated events

[#8034] send project_menu_updated events


Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/a3a344ce
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/a3a344ce
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/a3a344ce

Branch: refs/heads/master
Commit: a3a344cee105e3bc7dcd972b8fef0533c357e9db
Parents: 2a78e69
Author: Dave Brondsema <da...@brondsema.net>
Authored: Thu Dec 17 14:21:31 2015 -0500
Committer: Dave Brondsema <da...@brondsema.net>
Committed: Fri Jan 8 14:06:18 2016 -0500

----------------------------------------------------------------------
 Allura/allura/app.py                              |  1 +
 Allura/allura/ext/admin/admin_main.py             | 12 +++++++++---
 Allura/allura/tests/functional/test_admin.py      |  7 +++++++
 ForgeWiki/forgewiki/tests/functional/test_root.py |  4 ++++
 4 files changed, 21 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/allura/blob/a3a344ce/Allura/allura/app.py
----------------------------------------------------------------------
diff --git a/Allura/allura/app.py b/Allura/allura/app.py
index 5ae34e1..fbe44be 100644
--- a/Allura/allura/app.py
+++ b/Allura/allura/app.py
@@ -880,6 +880,7 @@ class DefaultAdminController(BaseController, AdminControllerMixin):
         """
         require_access(self.app, 'configure')
         self.app.config.options['mount_label'] = mount_label
+        g.post_event('project_menu_updated')
         redirect(request.referer)
 
     @expose('jinja:allura:templates/app_admin_options.html')

http://git-wip-us.apache.org/repos/asf/allura/blob/a3a344ce/Allura/allura/ext/admin/admin_main.py
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/admin/admin_main.py b/Allura/allura/ext/admin/admin_main.py
index 68863ab..32513b6 100644
--- a/Allura/allura/ext/admin/admin_main.py
+++ b/Allura/allura/ext/admin/admin_main.py
@@ -291,6 +291,7 @@ class ProjectAdminController(BaseController):
                 raise ValueError('Invalid threshold')
             c.project.set_tool_data(
                 'allura', grouping_threshold=grouping_threshold)
+            g.post_event('project_menu_updated')
         except ValueError:
             flash('Invalid threshold', 'error')
         redirect('tools?limit=%s&page=%s' % (limit, page))
@@ -648,8 +649,8 @@ class ProjectAdminController(BaseController):
                 p.ordinal = int(sp['ordinal'])
         if tools:
             for p in tools:
-                c.project.app_config(
-                    p['mount_point']).options.ordinal = int(p['ordinal'])
+                c.project.app_config(p['mount_point']).options.ordinal = int(p['ordinal'])
+        g.post_event('project_menu_updated')
         redirect('tools')
 
     def _update_mounts(self, subproject=None, tool=None, new=None, **kw):
@@ -657,6 +658,7 @@ class ProjectAdminController(BaseController):
             subproject = []
         if tool is None:
             tool = []
+        new_app = None
         for sp in subproject:
             p = M.Project.query.get(shortname=sp['shortname'],
                                     neighborhood_id=c.project.neighborhood_id)
@@ -718,13 +720,15 @@ class ProjectAdminController(BaseController):
                     k: v for (k, v) in kw.iteritems()
                     if k in [o.name for o in App.options_on_install()]
                 }
-                return c.project.install_app(
+                new_app = c.project.install_app(
                     ep_name,
                     mount_point,
                     mount_label=new['mount_label'],
                     ordinal=int(new['ordinal']) if 'ordinal' in new else None,
                     **config_on_install)
         g.post_event('project_updated')
+        g.post_event('project_menu_updated')
+        return new_app
 
     @h.vardec
     @expose()
@@ -791,6 +795,7 @@ class ProjectAdminRestController(BaseController):
                 if p:
                     p.ordinal = int(ordinal)
         M.AuditLog.log('Updated tool order')
+        g.post_event('project_menu_updated')
         return {'status': 'ok'}
 
     @expose('json:')
@@ -806,6 +811,7 @@ class ProjectAdminRestController(BaseController):
             raise exc.HTTPBadRequest('Invalid threshold. Expected a value between 1 and 10')
 
         M.AuditLog.log('Updated tool grouping threshold')
+        g.post_event('project_menu_updated')
         return {'status': 'ok'}
 
     @expose('json:')

http://git-wip-us.apache.org/repos/asf/allura/blob/a3a344ce/Allura/allura/tests/functional/test_admin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_admin.py b/Allura/allura/tests/functional/test_admin.py
index 1592f0b..4604c8c 100644
--- a/Allura/allura/tests/functional/test_admin.py
+++ b/Allura/allura/tests/functional/test_admin.py
@@ -161,6 +161,13 @@ class TestProjectAdmin(TestController):
         r = self.app.get('/admin/audit/')
         assert "uninstall tool test-tool" in r.body, r.body
 
+        # Make sure several 'project_menu_updated' events got sent
+        menu_updated_events = M.MonQTask.query.find({
+            'task_name': 'allura.tasks.event_tasks.event',
+            'args': 'project_menu_updated'
+        }).all()
+        assert_equals(len(menu_updated_events), 7)
+
     def test_features(self):
         proj = M.Project.query.get(shortname='test')
         assert_equals(proj.features, [])

http://git-wip-us.apache.org/repos/asf/allura/blob/a3a344ce/ForgeWiki/forgewiki/tests/functional/test_root.py
----------------------------------------------------------------------
diff --git a/ForgeWiki/forgewiki/tests/functional/test_root.py b/ForgeWiki/forgewiki/tests/functional/test_root.py
index 1afcfd3..ffda744 100644
--- a/ForgeWiki/forgewiki/tests/functional/test_root.py
+++ b/ForgeWiki/forgewiki/tests/functional/test_root.py
@@ -608,6 +608,10 @@ class TestRootController(TestController):
         assert r.form['mount_label'].value == 'Wiki'
         r = self.app.post('/admin/wiki/update_label', params=dict(
             mount_label='Tricky Wiki'))
+        assert M.MonQTask.query.find({
+            'task_name': 'allura.tasks.event_tasks.event',
+            'args': 'project_menu_updated'
+        }).all()
         r = self.app.get('/admin/wiki/edit_label', validate_chunk=True)
         assert r.form['mount_label'].value == 'Tricky Wiki'