From b117907d3bdcf34709bc90ef1f347e950b19d5d5 Mon Sep 17 00:00:00 2001 From: Shaily Date: Nov 26 2017 05:34:14 +0000 Subject: Emit project.deleted message --- diff --git a/pagure/lib/tasks.py b/pagure/lib/tasks.py index 204ced9..20ae2a5 100644 --- a/pagure/lib/tasks.py +++ b/pagure/lib/tasks.py @@ -123,7 +123,7 @@ def generate_gitolite_acls(namespace=None, name=None, user=None, group=None): @conn.task(queue=APP.config.get('GITOLITE_CELERY_QUEUE', None)) -def delete_project(namespace=None, name=None, user=None): +def delete_project(namespace=None, name=None, user=None, action_user=None): """ Delete a project in pagure. This is achieved in three steps: @@ -137,6 +137,8 @@ def delete_project(namespace=None, name=None, user=None): :type name: None or str :kwarg user: the user of the project, only set if the project is a fork :type user: None or str + :kwarg action_user: the user deleting the project + :type action_user: None or str """ session = pagure.lib.create_session() @@ -185,6 +187,14 @@ def delete_project(namespace=None, name=None, user=None): try: session.delete(project) session.commit() + pagure.lib.notify.log( + project, + topic='project.deleted', + msg=dict( + project=project.to_json(public=True), + agent=action_user, + ), + ) except SQLAlchemyError: session.rollback() _log.exception( diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index 3cb2844..9ec5704 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -1492,7 +1492,7 @@ def delete_repo(repo, username=None, namespace=None): namespace=namespace)) task = pagure.lib.tasks.delete_project.delay( - repo.namespace, repo.name, repo.user.user if repo.is_fork else None) + repo.namespace, repo.name, repo.user.user if repo.is_fork else None, flask.g.fas_user.username) return pagure.wait_for_task(task.id)