Show More
@@ -46,6 +46,7 b' from rhodecode.model.db import (' | |||
|
46 | 46 | Session, Repository, UserRepoToPerm, UserGroupRepoToPerm, |
|
47 | 47 | UserRepoGroupToPerm, UserGroupRepoGroupToPerm, User, Permission, |
|
48 | 48 | Statistics, UserGroup, RepoGroup, RepositoryField, UserLog) |
|
49 | from rhodecode.model.permission import PermissionModel | |
|
49 | 50 | from rhodecode.model.settings import VcsSettingsModel |
|
50 | 51 | |
|
51 | 52 | log = logging.getLogger(__name__) |
@@ -422,8 +423,15 b' class RepoModel(BaseModel):' | |||
|
422 | 423 | try: |
|
423 | 424 | cur_repo = self._get_repo(repo) |
|
424 | 425 | source_repo_name = cur_repo.repo_name |
|
426 | ||
|
427 | affected_user_ids = [] | |
|
425 | 428 | if 'user' in kwargs: |
|
426 | cur_repo.user = User.get_by_username(kwargs['user']) | |
|
429 | old_owner_id = cur_repo.user.user_id | |
|
430 | new_owner = User.get_by_username(kwargs['user']) | |
|
431 | cur_repo.user = new_owner | |
|
432 | ||
|
433 | if old_owner_id != new_owner.user_id: | |
|
434 | affected_user_ids = [new_owner.user_id, old_owner_id] | |
|
427 | 435 | |
|
428 | 436 | if 'repo_group' in kwargs: |
|
429 | 437 | cur_repo.group = RepoGroup.get(kwargs['repo_group']) |
@@ -474,6 +482,9 b' class RepoModel(BaseModel):' | |||
|
474 | 482 | self._rename_filesystem_repo( |
|
475 | 483 | old=source_repo_name, new=new_name) |
|
476 | 484 | |
|
485 | if affected_user_ids: | |
|
486 | PermissionModel().trigger_permission_flush(affected_user_ids) | |
|
487 | ||
|
477 | 488 | return cur_repo |
|
478 | 489 | except Exception: |
|
479 | 490 | log.error(traceback.format_exc()) |
@@ -39,6 +39,7 b' from rhodecode.model import BaseModel' | |||
|
39 | 39 | from rhodecode.model.db import (_hash_key, func, or_, in_filter_generator, |
|
40 | 40 | Session, RepoGroup, UserRepoGroupToPerm, User, Permission, UserGroupRepoGroupToPerm, |
|
41 | 41 | UserGroup, Repository) |
|
42 | from rhodecode.model.permission import PermissionModel | |
|
42 | 43 | from rhodecode.model.settings import VcsSettingsModel, SettingsModel |
|
43 | 44 | from rhodecode.lib.caching_query import FromCache |
|
44 | 45 | from rhodecode.lib.utils2 import action_logger_generic |
@@ -531,8 +532,14 b' class RepoGroupModel(BaseModel):' | |||
|
531 | 532 | |
|
532 | 533 | new_path = repo_group.full_path |
|
533 | 534 | |
|
535 | affected_user_ids = [] | |
|
534 | 536 | if 'user' in form_data: |
|
535 | repo_group.user = User.get_by_username(form_data['user']) | |
|
537 | old_owner_id = repo_group.user.user_id | |
|
538 | new_owner = User.get_by_username(form_data['user']) | |
|
539 | repo_group.user = new_owner | |
|
540 | ||
|
541 | if old_owner_id != new_owner.user_id: | |
|
542 | affected_user_ids = [new_owner.user_id, old_owner_id] | |
|
536 | 543 | |
|
537 | 544 | self.sa.add(repo_group) |
|
538 | 545 | |
@@ -566,6 +573,9 b' class RepoGroupModel(BaseModel):' | |||
|
566 | 573 | # Trigger update event. |
|
567 | 574 | events.trigger(events.RepoGroupUpdateEvent(repo_group)) |
|
568 | 575 | |
|
576 | if affected_user_ids: | |
|
577 | PermissionModel().trigger_permission_flush(affected_user_ids) | |
|
578 | ||
|
569 | 579 | return repo_group |
|
570 | 580 | except Exception: |
|
571 | 581 | log.error(traceback.format_exc()) |
General Comments 0
You need to be logged in to leave comments.
Login now