From 9888e8bbe0043561bc64e20cd6d36a1677e673c1 Mon Sep 17 00:00:00 2001 From: Vivek Anand Date: Sep 21 2017 10:26:39 +0000 Subject: read only repo: mark read only while adding/removing user/group Signed-off-by: Vivek Anand --- diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index d450eee..36a3d28 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -1003,6 +1003,8 @@ def add_user_to_project( ) project.date_modified = datetime.datetime.utcnow() session.add(project_user) + # Mark the project as read only, celery will then unmark it + update_read_only_mode(session, project, read_only=True) session.add(project) # Make sure we won't have SQLAlchemy error before we continue session.flush() @@ -1099,6 +1101,8 @@ def add_group_to_project( session.add(project_group) # Make sure we won't have SQLAlchemy error before we continue project.date_modified = datetime.datetime.utcnow() + # Mark the project read_only, celery will then unmark it + update_read_only_mode(session, project, read_only=True) session.add(project) session.flush() diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index 8dbd4ec..52b93c2 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -1606,6 +1606,8 @@ def remove_user(repo, userid, username=None, namespace=None): repo.users.remove(user) break try: + # Mark the project as read_only, celery will unmark it + pagure.lib.update_read_only_mode(session, repo, read_only=True) SESSION.commit() pagure.lib.git.generate_gitolite_acls(project=repo) flask.flash('User removed') @@ -1818,6 +1820,8 @@ def remove_group_project(repo, groupid, username=None, namespace=None): repo.groups.remove(grp) break try: + # Mark the project as read_only, celery will unmark it + pagure.lib.update_read_only_mode(session, repo, read_only=True) SESSION.commit() pagure.lib.git.generate_gitolite_acls(project=repo) flask.flash('Group removed')