From 0235f1a812cd879c3f540807afb6a462f3ccecf3 Mon Sep 17 00:00:00 2001 From: Sean Hammond Date: Wed, 21 Nov 2012 18:34:39 +0100 Subject: [PATCH] Add activities from followed groups to dashboard activity stream Add activities from groups that a user is following (e.g. when someone updates a group) to the user's dashboard activity stream. There are still some test_dashboard.py tests failing because activities from datasets belonging to followed groups dob't appear in the dashboard yet. --- ckan/model/activity.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ckan/model/activity.py b/ckan/model/activity.py index 9181acaa20d..f0f706a8df3 100644 --- a/ckan/model/activity.py +++ b/ckan/model/activity.py @@ -151,9 +151,19 @@ def _activities_from_datasets_followed_by_user_query(user_id): return q +def _activities_from_groups_followed_by_user_query(user_id): + import ckan.model as model + q = model.Session.query(model.Activity) + q = q.join(model.UserFollowingGroup, + model.UserFollowingGroup.object_id == model.Activity.object_id) + q = q.filter(model.UserFollowingGroup.follower_id == user_id) + return q + + def _activities_from_everything_followed_by_user_query(user_id): q = _activites_from_users_followed_by_user_query(user_id) q = q.union(_activities_from_datasets_followed_by_user_query(user_id)) + q = q.union(_activities_from_groups_followed_by_user_query(user_id)) return q