From 8b7097329a9aad4b1d168e6a299155d17d5b89b9 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 14 2019 09:46:47 +0000 Subject: Fix updating the date_modified when giving the project to someone Fixes https://pagure.io/pagure/issue/4186 Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/lib/query.py b/pagure/lib/query.py index ae56119..f84d387 100644 --- a/pagure/lib/query.py +++ b/pagure/lib/query.py @@ -5319,6 +5319,7 @@ def set_project_owner(session, project, user, required_groups=None): project.users.remove(contributor) break project.user = user + project.date_modified = datetime.datetime.utcnow() session.add(project) diff --git a/tests/test_pagure_flask_api_project.py b/tests/test_pagure_flask_api_project.py index 5c6f180..7dbbb12 100644 --- a/tests/test_pagure_flask_api_project.py +++ b/tests/test_pagure_flask_api_project.py @@ -1654,6 +1654,12 @@ class PagureFlaskApiProjecttests(tests.Modeltests): tests.create_tokens_acl(self.session, 'aaabbbcccddd', 'modify_project') headers = {'Authorization': 'token aaabbbcccddd'} + # date before: + project = pagure.lib.query.get_authorized_project( + self.session, 'test') + date_before = project.date_modified + self.assertIsNotNone(date_before) + output = self.app.patch( '/api/0/test', headers=headers, data={'main_admin': 'foo'}) @@ -1705,6 +1711,12 @@ class PagureFlaskApiProjecttests(tests.Modeltests): } self.assertEqual(data, expected_output) + # date after: + self.session = pagure.lib.query.create_session(self.dbpath) + project = pagure.lib.query.get_authorized_project( + self.session, 'test') + self.assertNotEqual(date_before, project.date_modified) + def test_api_modify_project_main_admin_not_main_admin(self): """ Test the api_modify_project method of the flask api when the requester is not the main_admin of the project and requests to change