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 2022/11/30 20:21:56 UTC
[allura] branch master updated: [#8481] added target attributes to repository activity
This is an automated email from the ASF dual-hosted git repository.
brondsem pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git
The following commit(s) were added to refs/heads/master by this push:
new eea5822eb [#8481] added target attributes to repository activity
eea5822eb is described below
commit eea5822ebbe85fbf33527e91c3ce34bc57e39a83
Author: Guillermo Cruz <gu...@slashdotmedia.com>
AuthorDate: Mon Nov 28 14:30:29 2022 -0600
[#8481] added target attributes to repository activity
---
Allura/allura/app.py | 15 ++++++++++++++-
Allura/allura/controllers/repository.py | 2 +-
Allura/allura/lib/helpers.py | 2 +-
Allura/allura/model/repo_refresh.py | 2 +-
Allura/allura/tasks/repo_tasks.py | 2 +-
Allura/allura/tests/model/test_repo.py | 3 ++-
Allura/allura/tests/test_tasks.py | 4 ++--
7 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/Allura/allura/app.py b/Allura/allura/app.py
index 81ccd13e5..b278720f4 100644
--- a/Allura/allura/app.py
+++ b/Allura/allura/app.py
@@ -49,6 +49,7 @@ from allura import model as M
from allura.tasks import index_tasks
import six
from io import BytesIO
+from allura.model.timeline import ActivityObject
log = logging.getLogger(__name__)
@@ -218,7 +219,7 @@ class SitemapEntry:
)
-class Application:
+class Application(ActivityObject):
"""
The base Allura pluggable application
@@ -820,6 +821,18 @@ class Application:
"""
return None
+ @property
+ def activity_name(self):
+ return self.config.options.mount_label
+
+ @property
+ def activity_url(self):
+ return self.url
+
+ @property
+ def activity_extras(self):
+ return {}
+
class AdminControllerMixin:
"""Provides common functionality admin controllers need"""
diff --git a/Allura/allura/controllers/repository.py b/Allura/allura/controllers/repository.py
index cb9cad866..96f77d0e9 100644
--- a/Allura/allura/controllers/repository.py
+++ b/Allura/allura/controllers/repository.py
@@ -219,7 +219,7 @@ class RepoRootController(BaseController, FeedController):
)
session(t).flush()
allura.tasks.notification_tasks.send_usermentions_notification.post(mr.index_id(), kw['description'])
- g.director.create_activity(c.user, 'created', mr,
+ g.director.create_activity(c.user, 'created', mr, target=mr.app,
related_nodes=[c.project], tags=['merge-request'])
redirect(mr.url())
diff --git a/Allura/allura/lib/helpers.py b/Allura/allura/lib/helpers.py
index 51d867ebc..6aefc5627 100644
--- a/Allura/allura/lib/helpers.py
+++ b/Allura/allura/lib/helpers.py
@@ -814,7 +814,7 @@ def get_tool_packages(tool_name):
app = g.entry_points['tool'].get(tool_name.lower())
if not app:
return []
- classes = [c for c in app.mro() if c not in (Application, object)]
+ classes = [c for c in app.mro() if c not in Application.mro()]
return [cls.__module__.split('.')[0] for cls in classes]
diff --git a/Allura/allura/model/repo_refresh.py b/Allura/allura/model/repo_refresh.py
index da7d81651..f352a17c0 100644
--- a/Allura/allura/model/repo_refresh.py
+++ b/Allura/allura/model/repo_refresh.py
@@ -93,7 +93,7 @@ def refresh_repo(repo, all_commits=False, notify=True, new_clone=False, commits_
g.statsUpdater.newCommit(new, repo.app_config.project, user)
actor = user or TransientActor(
activity_name=new.committed.name or new.committed.email)
- g.director.create_activity(actor, 'committed', new,
+ g.director.create_activity(actor, 'committed', new, target=repo.app,
related_nodes=[repo.app_config.project],
tags=['commit', repo.tool.lower()])
diff --git a/Allura/allura/tasks/repo_tasks.py b/Allura/allura/tasks/repo_tasks.py
index 17f26788c..42eb6b914 100644
--- a/Allura/allura/tasks/repo_tasks.py
+++ b/Allura/allura/tasks/repo_tasks.py
@@ -160,7 +160,7 @@ def merge(merge_request_id):
mr.app.repo.merge(mr)
mr.add_meta_post(changes={'Status': [mr.status, 'merged']})
mr.status = 'merged'
- g.director.create_activity(c.user, 'merged', mr,
+ g.director.create_activity(c.user, 'merged', mr, target=mr.app,
related_nodes=[c.project], tags=['merge-request'])
session(mr).flush(mr)
diff --git a/Allura/allura/tests/model/test_repo.py b/Allura/allura/tests/model/test_repo.py
index 85fa9b9fb..b1fab59d6 100644
--- a/Allura/allura/tests/model/test_repo.py
+++ b/Allura/allura/tests/model/test_repo.py
@@ -686,11 +686,12 @@ class TestMergeRequest:
app_config=mock.Mock(_id=ObjectId()),
downstream={'commit_id': '12345'},
request_number=1,
+
)
self._set_mr_mock_attrs(self.mr)
def _set_mr_mock_attrs(self, mr):
- mr.app = mock.Mock(forkable=True, url='/mock-app-url/')
+ mr.app = mock.Mock(forkable=True, url='/mock-app-url/', activity_name='code merge', activity_url='/fake/url', activity_extras={}, node_id=None)
mr.app.repo.commit.return_value = mock.Mock(_id='09876')
mr.merge_allowed = mock.Mock(return_value=True)
mr.discussion_thread = mock.Mock()
diff --git a/Allura/allura/tests/test_tasks.py b/Allura/allura/tests/test_tasks.py
index bb61cb95a..275c36455 100644
--- a/Allura/allura/tests/test_tasks.py
+++ b/Allura/allura/tests/test_tasks.py
@@ -72,8 +72,8 @@ class TestRepoTasks(unittest.TestCase):
@mock.patch('allura.tasks.repo_tasks.session', autospec=True)
@mock.patch.object(M, 'MergeRequest')
def test_merge(self, MR, session):
- mr = mock.Mock(_id='_id',
- activity_name='merge req', activity_url='/fake/url', activity_extras={}, node_id=None)
+ mr = mock.Mock(_id='_id', activity_name='merge req', activity_url='/fake/url', activity_extras={}, node_id=None,
+ app=mock.Mock(activity_name='code merge', activity_url='/fake/url', activity_extras={}, node_id=None))
MR.query.get.return_value = mr
repo_tasks.merge(mr._id)
mr.app.repo.merge.assert_called_once_with(mr)