I have a repo where a user is showing up in the permissions list twice (I dont know what the user was doing when he did this). One has read access the other has no options selected. If I try to revoke either of them, I get a 500 error and the user was not removed. I see the following message in the logs when trying to revoke:
2024-04-24 18:36:10.279 [72595] ERROR [rhodecode.config.middleware] error occurred handling this request for path: <<redacted repo path>>
Traceback (most recent call last):
File "/opt/rhodecode/store/lnzg7yaxbpy59hpvax55s8s3w2kzyka8-python2.7-pyramid-1.9.1/lib/python2.7/site-packages/pyramid/tweens.py", line 39, in excview_tween
response = handler(request)
File "/opt/rhodecode/store/lnzg7yaxbpy59hpvax55s8s3w2kzyka8-python2.7-pyramid-1.9.1/lib/python2.7/site-packages/pyramid/router.py", line 156, in handle_request
view_name
File "/opt/rhodecode/store/lnzg7yaxbpy59hpvax55s8s3w2kzyka8-python2.7-pyramid-1.9.1/lib/python2.7/site-packages/pyramid/view.py", line 642, in _call_view
response = view_callable(context, request)
File "/opt/rhodecode/store/lnzg7yaxbpy59hpvax55s8s3w2kzyka8-python2.7-pyramid-1.9.1/lib/python2.7/site-packages/pyramid/viewderivers.py", line 390, in attr_view
return view(context, request)
File "/opt/rhodecode/store/lnzg7yaxbpy59hpvax55s8s3w2kzyka8-python2.7-pyramid-1.9.1/lib/python2.7/site-packages/pyramid/viewderivers.py", line 368, in predicate_wrapper
return view(context, request)
File "/opt/rhodecode/store/lnzg7yaxbpy59hpvax55s8s3w2kzyka8-python2.7-pyramid-1.9.1/lib/python2.7/site-packages/pyramid/viewderivers.py", line 439, in rendered_view
result = view(context, request)
File "/opt/rhodecode/store/lnzg7yaxbpy59hpvax55s8s3w2kzyka8-python2.7-pyramid-1.9.1/lib/python2.7/site-packages/pyramid/viewderivers.py", line 138, in _class_view
response = getattr(inst, attr)()
File "/opt/rhodecode/store/p9vr3b65srfrkr4gbag23mpcdkk0xy6w-python2.7-rhodecode-enterprise-ce-4.12.4/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 2186, in local_wrapper
return wrapper(func, *args, **kwds)
File "/opt/rhodecode/store/p9vr3b65srfrkr4gbag23mpcdkk0xy6w-python2.7-rhodecode-enterprise-ce-4.12.4/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 1492, in __wrapper
return func(*fargs, **fkwargs)
File "/opt/rhodecode/store/p9vr3b65srfrkr4gbag23mpcdkk0xy6w-python2.7-rhodecode-enterprise-ce-4.12.4/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 2186, in local_wrapper
return wrapper(func, *args, **kwds)
File "/opt/rhodecode/store/p9vr3b65srfrkr4gbag23mpcdkk0xy6w-python2.7-rhodecode-enterprise-ce-4.12.4/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 1567, in __wrapper
return func(*fargs, **fkwargs)
File "/opt/rhodecode/store/p9vr3b65srfrkr4gbag23mpcdkk0xy6w-python2.7-rhodecode-enterprise-ce-4.12.4/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 2186, in local_wrapper
return wrapper(func, *args, **kwds)
File "/opt/rhodecode/store/p9vr3b65srfrkr4gbag23mpcdkk0xy6w-python2.7-rhodecode-enterprise-ce-4.12.4/lib/python2.7/site-packages/rhodecode/lib/auth.py", line 1393, in __wrapper
return func(*fargs, **fkwargs)
File "/opt/rhodecode/store/p9vr3b65srfrkr4gbag23mpcdkk0xy6w-python2.7-rhodecode-enterprise-ce-4.12.4/lib/python2.7/site-packages/rhodecode/apps/repo_group/views/repo_group_permissions.py", line 85, in edit_repo_groups_permissions_update
form['recursive'])
File "/opt/rhodecode/store/p9vr3b65srfrkr4gbag23mpcdkk0xy6w-python2.7-rhodecode-enterprise-ce-4.12.4/lib/python2.7/site-packages/rhodecode/model/repo_group.py", line 427, in update_permissions
_set_perm_user(obj, user=member_id, perm=perm)
File "/opt/rhodecode/store/p9vr3b65srfrkr4gbag23mpcdkk0xy6w-python2.7-rhodecode-enterprise-ce-4.12.4/lib/python2.7/site-packages/rhodecode/model/repo_group.py", line 355, in _set_perm_user
repo_group=obj, user=user, perm=perm)
File "/opt/rhodecode/store/p9vr3b65srfrkr4gbag23mpcdkk0xy6w-python2.7-rhodecode-enterprise-ce-4.12.4/lib/python2.7/site-packages/rhodecode/model/repo_group.py", line 582, in grant_user_permission
.filter(UserRepoGroupToPerm.group == repo_group)\
File "/opt/rhodecode/store/knphb4bx7g4ps5qnnb68cnsflphqb488-python2.7-SQLAlchemy-1.1.15/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2843, in scalar
ret = self.one()
File "/opt/rhodecode/store/knphb4bx7g4ps5qnnb68cnsflphqb488-python2.7-SQLAlchemy-1.1.15/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2817, in one
"Multiple rows were found for one()")
MultipleResultsFound: Multiple rows were found for one()