repo_group.py
83 lines
| 2.9 KiB
| text/x-python
|
PythonLexer
r5608 | # Copyright (C) 2016-2024 RhodeCode GmbH | |||
Martin Bornhold
|
r556 | # | ||
# This program is free software: you can redistribute it and/or modify | ||||
# it under the terms of the GNU Affero General Public License, version 3 | ||||
# (only), as published by the Free Software Foundation. | ||||
# | ||||
# This program is distributed in the hope that it will be useful, | ||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
# GNU General Public License for more details. | ||||
# | ||||
# You should have received a copy of the GNU Affero General Public License | ||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||
# | ||||
# This program is dual-licensed. If you wish to learn more about the | ||||
# RhodeCode Enterprise Edition, including its added features, Support services, | ||||
# and proprietary license terms, please see https://rhodecode.com/licenses/ | ||||
import logging | ||||
from rhodecode.translation import lazy_ugettext | ||||
r2921 | from rhodecode.events.base import RhodeCodeIntegrationEvent | |||
Martin Bornhold
|
r556 | |||
Martin Bornhold
|
r565 | |||
Martin Bornhold
|
r566 | log = logging.getLogger(__name__) | ||
Martin Bornhold
|
r556 | |||
r2921 | class RepoGroupEvent(RhodeCodeIntegrationEvent): | |||
Martin Bornhold
|
r556 | """ | ||
Base class for events acting on a repository group. | ||||
:param repo: a :class:`RepositoryGroup` instance | ||||
""" | ||||
def __init__(self, repo_group): | ||||
r5095 | super().__init__() | |||
Martin Bornhold
|
r556 | self.repo_group = repo_group | ||
Martin Bornhold
|
r565 | def as_dict(self): | ||
r5095 | data = super().as_dict() | |||
Martin Bornhold
|
r565 | data.update({ | ||
'repo_group': { | ||||
'group_id': self.repo_group.group_id, | ||||
'group_name': self.repo_group.group_name, | ||||
'group_parent_id': self.repo_group.group_parent_id, | ||||
'group_description': self.repo_group.group_description, | ||||
'user_id': self.repo_group.user_id, | ||||
'created_by': self.repo_group.user.username, | ||||
'created_on': self.repo_group.created_on, | ||||
'enable_locking': self.repo_group.enable_locking, | ||||
} | ||||
}) | ||||
return data | ||||
Martin Bornhold
|
r556 | |||
class RepoGroupCreateEvent(RepoGroupEvent): | ||||
""" | ||||
An instance of this class is emitted as an :term:`event` whenever a | ||||
repository group is created. | ||||
""" | ||||
name = 'repo-group-create' | ||||
display_name = lazy_ugettext('repository group created') | ||||
r4314 | description = lazy_ugettext('Event triggered after a repository group was created') | |||
Martin Bornhold
|
r556 | |||
class RepoGroupDeleteEvent(RepoGroupEvent): | ||||
""" | ||||
An instance of this class is emitted as an :term:`event` whenever a | ||||
repository group is deleted. | ||||
""" | ||||
name = 'repo-group-delete' | ||||
display_name = lazy_ugettext('repository group deleted') | ||||
r4314 | description = lazy_ugettext('Event triggered after a repository group was deleted') | |||
Martin Bornhold
|
r556 | |||
class RepoGroupUpdateEvent(RepoGroupEvent): | ||||
""" | ||||
An instance of this class is emitted as an :term:`event` whenever a | ||||
repository group is updated. | ||||
""" | ||||
name = 'repo-group-update' | ||||
display_name = lazy_ugettext('repository group update') | ||||
r4314 | description = lazy_ugettext('Event triggered after a repository group was updated') | |||