From 097cb915fc73a937b7f0fe809755a16983b736ba Mon Sep 17 00:00:00 2001 From: Sean Hammond Date: Sun, 25 Nov 2012 19:38:23 +0100 Subject: [PATCH] [#1635] Rename dashboard_mark_activities_old Change long name dashboard_mark_all_new_activities_as_old -> dashboard_mark_activities_old, also move it from get.py to update.py where it belongs. --- ckan/controllers/user.py | 2 +- ckan/logic/action/get.py | 13 ------------- ckan/logic/action/update.py | 15 +++++++++++++++ ckan/logic/auth/get.py | 7 ------- ckan/logic/auth/publisher/get.py | 2 +- ckan/logic/auth/update.py | 9 +++++++++ ckan/tests/functional/api/test_dashboard.py | 10 +++++----- 7 files changed, 31 insertions(+), 27 deletions(-) diff --git a/ckan/controllers/user.py b/ckan/controllers/user.py index e32d32587cc..1050f80b1c1 100644 --- a/ckan/controllers/user.py +++ b/ckan/controllers/user.py @@ -505,7 +505,7 @@ def dashboard(self, id=None): # Mark the user's new activities as old whenever they view their # dashboard page. - get_action('dashboard_mark_all_new_activities_as_old')(context, {}) + get_action('dashboard_mark_activities_old')(context, {}) return render('user/dashboard.html') diff --git a/ckan/logic/action/get.py b/ckan/logic/action/get.py index dd3f73cd509..e9d797b566c 100644 --- a/ckan/logic/action/get.py +++ b/ckan/logic/action/get.py @@ -2269,19 +2269,6 @@ def dashboard_new_activities_count(context, data_dict): return len([activity for activity in activities if activity['is_new']]) -def dashboard_mark_all_new_activities_as_old(context, data_dict): - '''Mark all the authorized user's new dashboard activities as old. - - This will reset dashboard_new_activities_count to 0. - - ''' - _check_access('dashboard_mark_all_new_activities_as_old', context, - data_dict) - model = context['model'] - user_id = model.User.get(context['user']).id - model.Dashboard.update_activity_stream_last_viewed(user_id) - - def dashboard_email_notification_last_sent(context, data_dict): model = context['model'] user = model.User.get(context['user']) # The authorized user. diff --git a/ckan/logic/action/update.py b/ckan/logic/action/update.py index ea23b910190..7508a4a297c 100644 --- a/ckan/logic/action/update.py +++ b/ckan/logic/action/update.py @@ -943,3 +943,18 @@ def dashboard_update_email_notification_last_sent(context, data_dict): model = context['model'] user = model.User.get(context['user']) # The authorized user. model.Dashboard.update_activity_stream_last_viewed(user.id) + + +def dashboard_mark_activities_old(context, data_dict): + '''Mark all the authorized user's new dashboard activities as old. + + This will reset dashboard_new_activities_count to 0. + + ''' + _check_access('dashboard_mark_activities_old', context, + data_dict) + model = context['model'] + user_id = model.User.get(context['user']).id + model.Dashboard.update_activity_stream_last_viewed(user_id) + + diff --git a/ckan/logic/auth/get.py b/ckan/logic/auth/get.py index 7db9082f89f..dcc360768f3 100644 --- a/ckan/logic/auth/get.py +++ b/ckan/logic/auth/get.py @@ -206,10 +206,3 @@ def dashboard_new_activities_count(context, data_dict): # directly, but wait until 2939-orgs is merged before fixing this. return ckan.new_authz.is_authorized('dashboard_activity_list', context, data_dict) - - -def dashboard_mark_all_new_activities_as_old(context, data_dict): - # FIXME: This should go through check_access() not call is_authorized() - # directly, but wait until 2939-orgs is merged before fixing this. - return ckan.new_authz.is_authorized('dashboard_activity_list', - context, data_dict) diff --git a/ckan/logic/auth/publisher/get.py b/ckan/logic/auth/publisher/get.py index 41383de6a41..98a81b22014 100644 --- a/ckan/logic/auth/publisher/get.py +++ b/ckan/logic/auth/publisher/get.py @@ -8,7 +8,7 @@ from ckan.logic.auth.get import ( dashboard_new_activities_count, dashboard_activity_list, - dashboard_mark_all_new_activities_as_old, + dashboard_mark_activities_old, ) def site_read(context, data_dict): diff --git a/ckan/logic/auth/update.py b/ckan/logic/auth/update.py index 7e5a9cc135d..69ee974777c 100644 --- a/ckan/logic/auth/update.py +++ b/ckan/logic/auth/update.py @@ -5,6 +5,7 @@ from ckan.logic.auth.create import _check_group_auth, package_relationship_create from ckan.authz import Authorizer from ckan.lib.base import _ +import ckan.new_authz def make_latest_pending_package_active(context, data_dict): return package_update(context, data_dict) @@ -179,6 +180,14 @@ def term_translation_update(context, data_dict): else: return {'success': True} + +def dashboard_mark_activities_old(context, data_dict): + # FIXME: This should go through check_access() not call is_authorized() + # directly, but wait until 2939-orgs is merged before fixing this. + return ckan.new_authz.is_authorized('dashboard_activity_list', + context, data_dict) + + ## Modifications for rest api def package_update_rest(context, data_dict): diff --git a/ckan/tests/functional/api/test_dashboard.py b/ckan/tests/functional/api/test_dashboard.py index 1d7c291c200..b8221c982bd 100644 --- a/ckan/tests/functional/api/test_dashboard.py +++ b/ckan/tests/functional/api/test_dashboard.py @@ -79,8 +79,8 @@ def dashboard_new_activities(self, user): activity_list = self.dashboard_activity_list(user) return [activity for activity in activity_list if activity['is_new']] - def dashboard_mark_all_new_activities_as_old(self, user): - self.post('dashboard_mark_all_new_activities_as_old', + def dashboard_mark_activities_old(self, user): + self.post('dashboard_mark_activities_old', apikey=user['apikey']) def test_00_dashboard_activity_list_not_logged_in(self): @@ -90,7 +90,7 @@ def test_00_dashboard_new_activities_count_not_logged_in(self): self.post('dashboard_new_activities_count', status=403) def test_00_dashboard_mark_new_activities_not_logged_in(self): - self.post('dashboard_mark_all_new_activities_as_old', status=403) + self.post('dashboard_mark_activities_old', status=403) def test_01_new_activities_count_for_new_user(self): '''Test that a newly registered user's new activities count is 0.''' @@ -114,7 +114,7 @@ def test_02_own_activities_do_not_count_as_new(self): # We would have to do this if, when you follow something, you only get # the activities from that object since you started following it, and # not all its past activities as well. - self.dashboard_mark_all_new_activities_as_old(self.new_user) + self.dashboard_mark_activities_old(self.new_user) # Create a new dataset. params = json.dumps({ @@ -199,7 +199,7 @@ def test_06_mark_new_activities_as_read(self): her dashboard activity stream.''' assert self.dashboard_new_activities_count(self.new_user) > 0 assert len(self.dashboard_new_activities(self.new_user)) > 0 - self.dashboard_mark_all_new_activities_as_old(self.new_user) + self.dashboard_mark_activities_old(self.new_user) assert self.dashboard_new_activities_count(self.new_user) == 0 assert len(self.dashboard_new_activities(self.new_user)) == 0