Show More
@@ -262,3 +262,39 b' ishell interface should be used.' | |||||
262 | In [1]: repo = Repository.get_by_repo_name('SOME_REPO_NAME') |
|
262 | In [1]: repo = Repository.get_by_repo_name('SOME_REPO_NAME') | |
263 | In [2]: repo.archived = False |
|
263 | In [2]: repo.archived = False | |
264 | In [3]: Session().add(repo);Session().commit() |
|
264 | In [3]: Session().add(repo);Session().commit() | |
|
265 | ||||
|
266 | ||||
|
267 | ||||
|
268 | ||||
|
269 | Bulk change repository owner | |||
|
270 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
|
271 | ||||
|
272 | Here's how one can change an owner of repository for an user who has been de activated. | |||
|
273 | Settings a new owner can be done via ishell for all repositories that past owner had. | |||
|
274 | ||||
|
275 | do run this script the interactive ishell interface should be used. | |||
|
276 | ||||
|
277 | .. code-block:: bash | |||
|
278 | ||||
|
279 | # Open iShell from the terminal | |||
|
280 | $ rccontrol ishell enterprise-1/community-1 | |||
|
281 | ||||
|
282 | ||||
|
283 | .. code-block:: python | |||
|
284 | ||||
|
285 | from rhodecode.model.db import User, Repository, Session | |||
|
286 | from rhodecode.model.permission import PermissionModel | |||
|
287 | ||||
|
288 | # replace old-owner and new-owner with your exact users | |||
|
289 | old_owner = User.get_by_username('old-owner') | |||
|
290 | new_owner = User.get_by_username('new-owner') | |||
|
291 | ||||
|
292 | # list of users we need to "flush" permissions | |||
|
293 | affected_user_ids = [new_owner.user_id, old_owner.user_id] | |||
|
294 | ||||
|
295 | for repo in Repository.get_all_repos(user_id=old_owner.user_id): | |||
|
296 | repo.user = new_owner | |||
|
297 | Session().add(repo) | |||
|
298 | Session().commit() | |||
|
299 | ||||
|
300 | PermissionModel().trigger_permission_flush(affected_user_ids) |
General Comments 0
You need to be logged in to leave comments.
Login now