Also added refined UI, ability to pre-validate repo names fold: repo create fold repo creation foldz feat(repo-creation): added svn bootstrap, and improved repo creation validation Also added refined UI, ability to pre-validate repo names fold: repo create fold repo creation foldz fold
1428 lines
48 KiB
Python
1428 lines
48 KiB
Python
# Copyright (C) 2016-2024 RhodeCode GmbH
|
|
#
|
|
# 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/
|
|
from rhodecode.apps._base import add_route_with_slash, ADMIN_PREFIX
|
|
|
|
|
|
def includeme(config):
|
|
from rhodecode.apps.repository.views.repo_artifacts import RepoArtifactsView
|
|
from rhodecode.apps.repository.views.repo_audit_logs import AuditLogsView
|
|
from rhodecode.apps.repository.views.repo_automation import RepoAutomationView
|
|
from rhodecode.apps.repository.views.repo_bookmarks import RepoBookmarksView
|
|
from rhodecode.apps.repository.views.repo_branch_permissions import RepoSettingsBranchPermissionsView
|
|
from rhodecode.apps.repository.views.repo_branches import RepoBranchesView
|
|
from rhodecode.apps.repository.views.repo_caches import RepoCachesView
|
|
from rhodecode.apps.repository.views.repo_changelog import RepoChangelogView
|
|
from rhodecode.apps.repository.views.repo_checks import RepoChecksView
|
|
from rhodecode.apps.repository.views.repo_commits import RepoCommitsView
|
|
from rhodecode.apps.repository.views.repo_compare import RepoCompareView
|
|
from rhodecode.apps.repository.views.repo_feed import RepoFeedView
|
|
from rhodecode.apps.repository.views.repo_files import RepoFilesView
|
|
from rhodecode.apps.repository.views.repo_forks import RepoForksView
|
|
from rhodecode.apps.repository.views.repo_maintainance import RepoMaintenanceView
|
|
from rhodecode.apps.repository.views.repo_permissions import RepoSettingsPermissionsView
|
|
from rhodecode.apps.repository.views.repo_pull_requests import RepoPullRequestsView
|
|
from rhodecode.apps.repository.views.repo_review_rules import RepoReviewRulesView
|
|
from rhodecode.apps.repository.views.repo_settings import RepoSettingsView
|
|
from rhodecode.apps.repository.views.repo_settings_advanced import RepoSettingsAdvancedView
|
|
from rhodecode.apps.repository.views.repo_settings_fields import RepoSettingsFieldsView
|
|
from rhodecode.apps.repository.views.repo_settings_issue_trackers import RepoSettingsIssueTrackersView
|
|
from rhodecode.apps.repository.views.repo_settings_remote import RepoSettingsRemoteView
|
|
from rhodecode.apps.repository.views.repo_settings_vcs import RepoSettingsVcsView
|
|
from rhodecode.apps.repository.views.repo_strip import RepoStripView
|
|
from rhodecode.apps.repository.views.repo_summary import RepoSummaryView
|
|
from rhodecode.apps.repository.views.repo_tags import RepoTagsView
|
|
|
|
config.add_route(name="repo_name_check", pattern=ADMIN_PREFIX + "/repo_name_check")
|
|
config.add_view(
|
|
RepoChecksView,
|
|
attr="repo_name_check",
|
|
route_name="repo_name_check",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
config.add_route(name="repo_group_name_check", pattern=ADMIN_PREFIX + "/repo_group_name_check")
|
|
config.add_view(
|
|
RepoChecksView,
|
|
attr="repo_group_name_check",
|
|
route_name="repo_group_name_check",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
# repo creating checks, special cases that aren't repo routes
|
|
config.add_route(name="repo_creating", pattern="/{repo_name:.*?[^/]}/repo_creating")
|
|
config.add_view(
|
|
RepoChecksView,
|
|
attr="repo_creating",
|
|
route_name="repo_creating",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_creating.mako",
|
|
)
|
|
|
|
config.add_route(name="repo_creating_check", pattern="/{repo_name:.*?[^/]}/repo_creating_check")
|
|
config.add_view(
|
|
RepoChecksView,
|
|
attr="repo_creating_check",
|
|
route_name="repo_creating_check",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
# Summary
|
|
# NOTE(marcink): one additional route is defined in very bottom, catch
|
|
# all pattern
|
|
config.add_route(name="repo_summary_explicit", pattern="/{repo_name:.*?[^/]}/summary", repo_route=True)
|
|
config.add_view(
|
|
RepoSummaryView,
|
|
attr="summary",
|
|
route_name="repo_summary_explicit",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/summary/summary.mako",
|
|
)
|
|
|
|
config.add_route(name="repo_summary_commits", pattern="/{repo_name:.*?[^/]}/summary-commits", repo_route=True)
|
|
config.add_view(
|
|
RepoSummaryView,
|
|
attr="summary_commits",
|
|
route_name="repo_summary_commits",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/summary/summary_commits.mako",
|
|
)
|
|
|
|
# Commits
|
|
config.add_route(name="repo_commit", pattern="/{repo_name:.*?[^/]}/changeset/{commit_id}", repo_route=True)
|
|
config.add_view(
|
|
RepoCommitsView, attr="repo_commit_show", route_name="repo_commit", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_children", pattern="/{repo_name:.*?[^/]}/changeset_children/{commit_id}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_children",
|
|
route_name="repo_commit_children",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_parents", pattern="/{repo_name:.*?[^/]}/changeset_parents/{commit_id}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_parents",
|
|
route_name="repo_commit_parents",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(name="repo_commit_raw", pattern="/{repo_name:.*?[^/]}/changeset-diff/{commit_id}", repo_route=True)
|
|
config.add_view(
|
|
RepoCommitsView, attr="repo_commit_raw", route_name="repo_commit_raw", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_patch", pattern="/{repo_name:.*?[^/]}/changeset-patch/{commit_id}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView, attr="repo_commit_patch", route_name="repo_commit_patch", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_download", pattern="/{repo_name:.*?[^/]}/changeset-download/{commit_id}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_download",
|
|
route_name="repo_commit_download",
|
|
request_method="GET",
|
|
renderer=None,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_data", pattern="/{repo_name:.*?[^/]}/changeset-data/{commit_id}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_data",
|
|
route_name="repo_commit_data",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_comment_create",
|
|
pattern="/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/create",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_comment_create",
|
|
route_name="repo_commit_comment_create",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_comment_preview",
|
|
pattern="/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/preview",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_comment_preview",
|
|
route_name="repo_commit_comment_preview",
|
|
request_method="POST",
|
|
renderer="string",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_comment_history_view",
|
|
pattern="/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/history_view/{comment_history_id}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_comment_history_view",
|
|
route_name="repo_commit_comment_history_view",
|
|
request_method="POST",
|
|
renderer="string",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_comment_attachment_upload",
|
|
pattern="/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/attachment_upload",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_comment_attachment_upload",
|
|
route_name="repo_commit_comment_attachment_upload",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_comment_delete",
|
|
pattern="/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/delete",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_comment_delete",
|
|
route_name="repo_commit_comment_delete",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commit_comment_edit",
|
|
pattern="/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/edit",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_comment_edit",
|
|
route_name="repo_commit_comment_edit",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
# still working url for backward compat.
|
|
config.add_route(
|
|
name="repo_commit_raw_deprecated", pattern="/{repo_name:.*?[^/]}/raw-changeset/{commit_id}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoCommitsView,
|
|
attr="repo_commit_raw",
|
|
route_name="repo_commit_raw_deprecated",
|
|
request_method="GET",
|
|
renderer=None,
|
|
)
|
|
|
|
# Files
|
|
config.add_route(name="repo_archivefile", pattern="/{repo_name:.*?[^/]}/archive/{fname:.*}", repo_route=True)
|
|
config.add_view(
|
|
RepoFilesView, attr="repo_archivefile", route_name="repo_archivefile", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route(name="repo_files_diff", pattern="/{repo_name:.*?[^/]}/diff/{f_path:.*}", repo_route=True)
|
|
config.add_view(
|
|
RepoFilesView, attr="repo_files_diff", route_name="repo_files_diff", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route( # legacy route to make old links work
|
|
name="repo_files_diff_2way_redirect", pattern="/{repo_name:.*?[^/]}/diff-2way/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_files_diff_2way_redirect",
|
|
route_name="repo_files_diff_2way_redirect",
|
|
request_method="GET",
|
|
renderer=None,
|
|
)
|
|
|
|
config.add_route(name="repo_files", pattern="/{repo_name:.*?[^/]}/files/{commit_id}/{f_path:.*}", repo_route=True)
|
|
config.add_view(RepoFilesView, attr="repo_files", route_name="repo_files", request_method="GET", renderer=None)
|
|
|
|
config.add_route(name="repo_files:default_path", pattern="/{repo_name:.*?[^/]}/files/{commit_id}/", repo_route=True)
|
|
config.add_view(
|
|
RepoFilesView, attr="repo_files", route_name="repo_files:default_path", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route(name="repo_files:default_commit", pattern="/{repo_name:.*?[^/]}/files", repo_route=True)
|
|
config.add_view(
|
|
RepoFilesView, attr="repo_files", route_name="repo_files:default_commit", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files:rendered", pattern="/{repo_name:.*?[^/]}/render/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView, attr="repo_files", route_name="repo_files:rendered", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files:annotated", pattern="/{repo_name:.*?[^/]}/annotate/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView, attr="repo_files", route_name="repo_files:annotated", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files:annotated_previous",
|
|
pattern="/{repo_name:.*?[^/]}/annotate-previous/{commit_id}/{f_path:.*}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_files_annotated_previous",
|
|
route_name="repo_files:annotated_previous",
|
|
request_method="GET",
|
|
renderer=None,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_nodetree_full", pattern="/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_nodetree_full",
|
|
route_name="repo_nodetree_full",
|
|
request_method="GET",
|
|
renderer=None,
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_nodetree_full:default_path",
|
|
pattern="/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_nodetree_full",
|
|
route_name="repo_nodetree_full:default_path",
|
|
request_method="GET",
|
|
renderer=None,
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files_nodelist", pattern="/{repo_name:.*?[^/]}/nodelist/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_nodelist",
|
|
route_name="repo_files_nodelist",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(name="repo_file_raw", pattern="/{repo_name:.*?[^/]}/raw/{commit_id}/{f_path:.*}", repo_route=True)
|
|
config.add_view(
|
|
RepoFilesView, attr="repo_file_raw", route_name="repo_file_raw", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_file_download", pattern="/{repo_name:.*?[^/]}/download/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView, attr="repo_file_download", route_name="repo_file_download", request_method="GET", renderer=None
|
|
)
|
|
|
|
config.add_route( # backward compat to keep old links working
|
|
name="repo_file_download:legacy",
|
|
pattern="/{repo_name:.*?[^/]}/rawfile/{commit_id}/{f_path:.*}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_file_download",
|
|
route_name="repo_file_download:legacy",
|
|
request_method="GET",
|
|
renderer=None,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_file_history", pattern="/{repo_name:.*?[^/]}/history/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_file_history",
|
|
route_name="repo_file_history",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_file_authors", pattern="/{repo_name:.*?[^/]}/authors/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_file_authors",
|
|
route_name="repo_file_authors",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/files/file_authors_box.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files_check_head", pattern="/{repo_name:.*?[^/]}/check_head/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_files_check_head",
|
|
route_name="repo_files_check_head",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files_remove_file",
|
|
pattern="/{repo_name:.*?[^/]}/remove_file/{commit_id}/{f_path:.*}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_files_remove_file",
|
|
route_name="repo_files_remove_file",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/files/files_delete.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files_delete_file",
|
|
pattern="/{repo_name:.*?[^/]}/delete_file/{commit_id}/{f_path:.*}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_files_delete_file",
|
|
route_name="repo_files_delete_file",
|
|
request_method="POST",
|
|
renderer=None,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files_edit_file", pattern="/{repo_name:.*?[^/]}/edit_file/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_files_edit_file",
|
|
route_name="repo_files_edit_file",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/files/files_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files_update_file",
|
|
pattern="/{repo_name:.*?[^/]}/update_file/{commit_id}/{f_path:.*}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_files_update_file",
|
|
route_name="repo_files_update_file",
|
|
request_method="POST",
|
|
renderer=None,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files_add_file", pattern="/{repo_name:.*?[^/]}/add_file/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_files_add_file",
|
|
route_name="repo_files_add_file",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/files/files_add.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files_upload_file",
|
|
pattern="/{repo_name:.*?[^/]}/upload_file/{commit_id}/{f_path:.*}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_files_add_file",
|
|
route_name="repo_files_upload_file",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/files/files_upload.mako",
|
|
)
|
|
config.add_view( # POST creates
|
|
RepoFilesView,
|
|
attr="repo_files_upload_file",
|
|
route_name="repo_files_upload_file",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files_replace_binary",
|
|
pattern="/{repo_name:.*?[^/]}/replace_binary/{commit_id}/{f_path:.*}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoFilesView,
|
|
attr="repo_files_replace_file",
|
|
route_name="repo_files_replace_binary",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_files_create_file",
|
|
pattern="/{repo_name:.*?[^/]}/create_file/{commit_id}/{f_path:.*}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view( # POST creates
|
|
RepoFilesView,
|
|
attr="repo_files_create_file",
|
|
route_name="repo_files_create_file",
|
|
request_method="POST",
|
|
renderer=None,
|
|
)
|
|
|
|
# Refs data
|
|
config.add_route(name="repo_refs_data", pattern="/{repo_name:.*?[^/]}/refs-data", repo_route=True)
|
|
config.add_view(
|
|
RepoSummaryView, attr="repo_refs_data", route_name="repo_refs_data", request_method="GET", renderer="json_ext"
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_refs_changelog_data", pattern="/{repo_name:.*?[^/]}/refs-data-changelog", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSummaryView,
|
|
attr="repo_refs_changelog_data",
|
|
route_name="repo_refs_changelog_data",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(name="repo_stats", pattern="/{repo_name:.*?[^/]}/repo_stats/{commit_id}", repo_route=True)
|
|
config.add_view(
|
|
RepoSummaryView, attr="repo_stats", route_name="repo_stats", request_method="GET", renderer="json_ext"
|
|
)
|
|
|
|
# Commits
|
|
config.add_route(name="repo_commits", pattern="/{repo_name:.*?[^/]}/commits", repo_route=True)
|
|
config.add_view(
|
|
RepoChangelogView,
|
|
attr="repo_changelog",
|
|
route_name="repo_commits",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/commits/changelog.mako",
|
|
)
|
|
# old routes for backward compat
|
|
config.add_view(
|
|
RepoChangelogView,
|
|
attr="repo_changelog",
|
|
route_name="repo_changelog",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/commits/changelog.mako",
|
|
)
|
|
|
|
config.add_route(name="repo_commits_elements", pattern="/{repo_name:.*?[^/]}/commits_elements", repo_route=True)
|
|
config.add_view(
|
|
RepoChangelogView,
|
|
attr="repo_commits_elements",
|
|
route_name="repo_commits_elements",
|
|
request_method=("GET", "POST"),
|
|
renderer="rhodecode:templates/commits/changelog_elements.mako",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commits_elements_file",
|
|
pattern="/{repo_name:.*?[^/]}/commits_elements/{commit_id}/{f_path:.*}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoChangelogView,
|
|
attr="repo_commits_elements",
|
|
route_name="repo_commits_elements_file",
|
|
request_method=("GET", "POST"),
|
|
renderer="rhodecode:templates/commits/changelog_elements.mako",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_commits_file", pattern="/{repo_name:.*?[^/]}/commits/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoChangelogView,
|
|
attr="repo_changelog",
|
|
route_name="repo_commits_file",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/commits/changelog.mako",
|
|
)
|
|
# old routes for backward compat
|
|
config.add_view(
|
|
RepoChangelogView,
|
|
attr="repo_changelog",
|
|
route_name="repo_changelog_file",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/commits/changelog.mako",
|
|
)
|
|
|
|
# Changelog (old deprecated name for commits page)
|
|
config.add_route(name="repo_changelog", pattern="/{repo_name:.*?[^/]}/changelog", repo_route=True)
|
|
config.add_route(
|
|
name="repo_changelog_file", pattern="/{repo_name:.*?[^/]}/changelog/{commit_id}/{f_path:.*}", repo_route=True
|
|
)
|
|
|
|
# Compare
|
|
config.add_route(name="repo_compare_select", pattern="/{repo_name:.*?[^/]}/compare", repo_route=True)
|
|
config.add_view(
|
|
RepoCompareView,
|
|
attr="compare_select",
|
|
route_name="repo_compare_select",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/compare/compare_diff.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_compare",
|
|
pattern="/{repo_name:.*?[^/]}/compare/{source_ref_type}@{source_ref:.*?}...{target_ref_type}@{target_ref:.*?}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(RepoCompareView, attr="compare", route_name="repo_compare", request_method="GET", renderer=None)
|
|
|
|
# Tags
|
|
config.add_route(name="tags_home", pattern="/{repo_name:.*?[^/]}/tags", repo_route=True)
|
|
config.add_view(
|
|
RepoTagsView,
|
|
attr="tags",
|
|
route_name="tags_home",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/tags/tags.mako",
|
|
)
|
|
|
|
# Branches
|
|
config.add_route(name="branches_home", pattern="/{repo_name:.*?[^/]}/branches", repo_route=True)
|
|
config.add_view(
|
|
RepoBranchesView,
|
|
attr="branches",
|
|
route_name="branches_home",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/branches/branches.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="branch_remove",
|
|
pattern="/{repo_name:.*?[^/]}/branches/{branch_name:.*?[^/]}/remove",
|
|
repo_route=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
)
|
|
config.add_view(RepoBranchesView, attr="remove_branch", route_name="branch_remove", request_method="POST")
|
|
|
|
# Bookmarks
|
|
config.add_route(name="bookmarks_home", pattern="/{repo_name:.*?[^/]}/bookmarks", repo_route=True)
|
|
config.add_view(
|
|
RepoBookmarksView,
|
|
attr="bookmarks",
|
|
route_name="bookmarks_home",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/bookmarks/bookmarks.mako",
|
|
)
|
|
|
|
# Forks
|
|
config.add_route(
|
|
name="repo_fork_new",
|
|
pattern="/{repo_name:.*?[^/]}/fork",
|
|
repo_route=True,
|
|
repo_forbid_when_archived=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
)
|
|
config.add_view(
|
|
RepoForksView,
|
|
attr="repo_fork_new",
|
|
route_name="repo_fork_new",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/forks/forks.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_fork_create",
|
|
pattern="/{repo_name:.*?[^/]}/fork/create",
|
|
repo_route=True,
|
|
repo_forbid_when_archived=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
)
|
|
config.add_view(
|
|
RepoForksView,
|
|
attr="repo_fork_create",
|
|
route_name="repo_fork_create",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/forks/fork.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_forks_show_all",
|
|
pattern="/{repo_name:.*?[^/]}/forks",
|
|
repo_route=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
)
|
|
config.add_view(
|
|
RepoForksView,
|
|
attr="repo_forks_show_all",
|
|
route_name="repo_forks_show_all",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/forks/forks.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_forks_data",
|
|
pattern="/{repo_name:.*?[^/]}/forks/data",
|
|
repo_route=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
)
|
|
config.add_view(
|
|
RepoForksView,
|
|
attr="repo_forks_data",
|
|
route_name="repo_forks_data",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
xhr=True,
|
|
)
|
|
|
|
# Pull Requests
|
|
config.add_route(
|
|
name="pullrequest_show", pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_show",
|
|
route_name="pullrequest_show",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/pullrequests/pullrequest_show.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_show_all",
|
|
pattern="/{repo_name:.*?[^/]}/pull-request",
|
|
repo_route=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_list",
|
|
route_name="pullrequest_show_all",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/pullrequests/pullrequests.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_show_all_data",
|
|
pattern="/{repo_name:.*?[^/]}/pull-request-data",
|
|
repo_route=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_list_data",
|
|
route_name="pullrequest_show_all_data",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_repo_refs",
|
|
pattern="/{repo_name:.*?[^/]}/pull-request/refs/{target_repo_name:.*?[^/]}",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_repo_refs",
|
|
route_name="pullrequest_repo_refs",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_repo_targets", pattern="/{repo_name:.*?[^/]}/pull-request/repo-targets", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pullrequest_repo_targets",
|
|
route_name="pullrequest_repo_targets",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_new",
|
|
pattern="/{repo_name:.*?[^/]}/pull-request/new",
|
|
repo_route=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
repo_forbid_when_archived=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_new",
|
|
route_name="pullrequest_new",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/pullrequests/pullrequest.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_create",
|
|
pattern="/{repo_name:.*?[^/]}/pull-request/create",
|
|
repo_route=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
repo_forbid_when_archived=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_create",
|
|
route_name="pullrequest_create",
|
|
request_method="POST",
|
|
renderer=None,
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_update",
|
|
pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/update",
|
|
repo_route=True,
|
|
repo_forbid_when_archived=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_update",
|
|
route_name="pullrequest_update",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_start_ai_code_review",
|
|
pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/ai/review",
|
|
repo_route=True,
|
|
repo_forbid_when_archived=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="add_ai_user_to_reviewers",
|
|
route_name="pullrequest_start_ai_code_review",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_merge",
|
|
pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/merge",
|
|
repo_route=True,
|
|
repo_forbid_when_archived=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_merge",
|
|
route_name="pullrequest_merge",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_delete",
|
|
pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/delete",
|
|
repo_route=True,
|
|
repo_forbid_when_archived=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_delete",
|
|
route_name="pullrequest_delete",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_comment_create",
|
|
pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_comment_create",
|
|
route_name="pullrequest_comment_create",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_comment_edit",
|
|
pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/edit",
|
|
repo_route=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_comment_edit",
|
|
route_name="pullrequest_comment_edit",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_comment_delete",
|
|
pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete",
|
|
repo_route=True,
|
|
repo_accepted_types=["hg", "git"],
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pull_request_comment_delete",
|
|
route_name="pullrequest_comment_delete",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_comments",
|
|
pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comments",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pullrequest_comments",
|
|
route_name="pullrequest_comments",
|
|
request_method="POST",
|
|
renderer="string_html",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_todos",
|
|
pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/todos",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pullrequest_todos",
|
|
route_name="pullrequest_todos",
|
|
request_method="POST",
|
|
renderer="string_html",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="pullrequest_drafts",
|
|
pattern=r"/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/drafts",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoPullRequestsView,
|
|
attr="pullrequest_drafts",
|
|
route_name="pullrequest_drafts",
|
|
request_method="POST",
|
|
renderer="string_html",
|
|
xhr=True,
|
|
)
|
|
|
|
# Artifacts, (EE feature)
|
|
config.add_route(name="repo_artifacts_list", pattern="/{repo_name:.*?[^/]}/artifacts", repo_route=True)
|
|
config.add_view(
|
|
RepoArtifactsView,
|
|
attr="repo_artifacts",
|
|
route_name="repo_artifacts_list",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/artifacts/artifact_list.mako",
|
|
)
|
|
|
|
# Settings
|
|
config.add_route(name="edit_repo", pattern="/{repo_name:.*?[^/]}/settings", repo_route=True)
|
|
config.add_view(
|
|
RepoSettingsView,
|
|
attr="edit_settings",
|
|
route_name="edit_repo",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
# update is POST on edit_repo
|
|
config.add_view(
|
|
RepoSettingsView,
|
|
attr="edit_settings_update",
|
|
route_name="edit_repo",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
# Settings advanced
|
|
config.add_route(name="edit_repo_advanced", pattern="/{repo_name:.*?[^/]}/settings/advanced", repo_route=True)
|
|
config.add_view(
|
|
RepoSettingsAdvancedView,
|
|
attr="edit_advanced",
|
|
route_name="edit_repo_advanced",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_advanced_archive", pattern="/{repo_name:.*?[^/]}/settings/advanced/archive", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsAdvancedView,
|
|
attr="edit_advanced_archive",
|
|
route_name="edit_repo_advanced_archive",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_advanced_delete", pattern="/{repo_name:.*?[^/]}/settings/advanced/delete", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsAdvancedView,
|
|
attr="edit_advanced_delete",
|
|
route_name="edit_repo_advanced_delete",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_advanced_locking", pattern="/{repo_name:.*?[^/]}/settings/advanced/locking", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsAdvancedView,
|
|
attr="edit_advanced_toggle_locking",
|
|
route_name="edit_repo_advanced_locking",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_advanced_journal", pattern="/{repo_name:.*?[^/]}/settings/advanced/journal", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsAdvancedView,
|
|
attr="edit_advanced_journal",
|
|
route_name="edit_repo_advanced_journal",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_advanced_fork", pattern="/{repo_name:.*?[^/]}/settings/advanced/fork", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsAdvancedView,
|
|
attr="edit_advanced_fork",
|
|
route_name="edit_repo_advanced_fork",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_advanced_hooks", pattern="/{repo_name:.*?[^/]}/settings/advanced/hooks", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsAdvancedView,
|
|
attr="edit_advanced_install_hooks",
|
|
route_name="edit_repo_advanced_hooks",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
# Caches
|
|
config.add_route(name="edit_repo_caches", pattern="/{repo_name:.*?[^/]}/settings/caches", repo_route=True)
|
|
config.add_view(
|
|
RepoCachesView,
|
|
attr="repo_caches",
|
|
route_name="edit_repo_caches",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
config.add_view(RepoCachesView, attr="repo_caches_purge", route_name="edit_repo_caches", request_method="POST")
|
|
|
|
# Permissions
|
|
config.add_route(name="edit_repo_perms", pattern="/{repo_name:.*?[^/]}/settings/permissions", repo_route=True)
|
|
config.add_view(
|
|
RepoSettingsPermissionsView,
|
|
attr="edit_permissions",
|
|
route_name="edit_repo_perms",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
config.add_view(
|
|
RepoSettingsPermissionsView,
|
|
attr="edit_permissions_update",
|
|
route_name="edit_repo_perms",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_perms_set_private",
|
|
pattern="/{repo_name:.*?[^/]}/settings/permissions/set_private",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoSettingsPermissionsView,
|
|
attr="edit_permissions_set_private_repo",
|
|
route_name="edit_repo_perms_set_private",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
# Permissions Branch (EE feature)
|
|
config.add_route(
|
|
name="edit_repo_perms_branch", pattern="/{repo_name:.*?[^/]}/settings/branch_permissions", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsBranchPermissionsView,
|
|
attr="branch_permissions",
|
|
route_name="edit_repo_perms_branch",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_perms_branch_delete",
|
|
pattern="/{repo_name:.*?[^/]}/settings/branch_permissions/{rule_id}/delete",
|
|
repo_route=True,
|
|
)
|
|
## Only implemented in EE
|
|
|
|
# Maintenance
|
|
config.add_route(name="edit_repo_maintenance", pattern="/{repo_name:.*?[^/]}/settings/maintenance", repo_route=True)
|
|
config.add_view(
|
|
RepoMaintenanceView,
|
|
attr="repo_maintenance",
|
|
route_name="edit_repo_maintenance",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_maintenance_execute",
|
|
pattern="/{repo_name:.*?[^/]}/settings/maintenance/execute",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoMaintenanceView,
|
|
attr="repo_maintenance_execute",
|
|
route_name="edit_repo_maintenance_execute",
|
|
request_method="GET",
|
|
renderer="json",
|
|
xhr=True,
|
|
)
|
|
|
|
# Fields
|
|
config.add_route(name="edit_repo_fields", pattern="/{repo_name:.*?[^/]}/settings/fields", repo_route=True)
|
|
config.add_view(
|
|
RepoSettingsFieldsView,
|
|
attr="repo_field_edit",
|
|
route_name="edit_repo_fields",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_fields_create", pattern="/{repo_name:.*?[^/]}/settings/fields/create", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsFieldsView,
|
|
attr="repo_field_create",
|
|
route_name="edit_repo_fields_create",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_fields_delete",
|
|
pattern="/{repo_name:.*?[^/]}/settings/fields/{field_id}/delete",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoSettingsFieldsView,
|
|
attr="repo_field_delete",
|
|
route_name="edit_repo_fields_delete",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
# quick actions: locking
|
|
config.add_route(
|
|
name="repo_settings_quick_actions", pattern="/{repo_name:.*?[^/]}/settings/quick-action", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsView,
|
|
attr="repo_settings_quick_actions",
|
|
route_name="repo_settings_quick_actions",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
# Remote
|
|
config.add_route(name="edit_repo_remote", pattern="/{repo_name:.*?[^/]}/settings/remote", repo_route=True)
|
|
config.add_view(
|
|
RepoSettingsRemoteView,
|
|
attr="repo_remote_edit_form",
|
|
route_name="edit_repo_remote",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(name="edit_repo_remote_pull", pattern="/{repo_name:.*?[^/]}/settings/remote/pull", repo_route=True)
|
|
config.add_view(
|
|
RepoSettingsRemoteView,
|
|
attr="repo_remote_pull_changes",
|
|
route_name="edit_repo_remote_pull",
|
|
request_method="POST",
|
|
renderer=None,
|
|
)
|
|
|
|
config.add_route(name="edit_repo_remote_push", pattern="/{repo_name:.*?[^/]}/settings/remote/push", repo_route=True)
|
|
|
|
# Statistics
|
|
config.add_route(name="edit_repo_statistics", pattern="/{repo_name:.*?[^/]}/settings/statistics", repo_route=True)
|
|
config.add_view(
|
|
RepoSettingsView,
|
|
attr="edit_statistics_form",
|
|
route_name="edit_repo_statistics",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_statistics_reset", pattern="/{repo_name:.*?[^/]}/settings/statistics/update", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsView,
|
|
attr="repo_statistics_reset",
|
|
route_name="edit_repo_statistics_reset",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
# Issue trackers
|
|
config.add_route(
|
|
name="edit_repo_issuetracker", pattern="/{repo_name:.*?[^/]}/settings/issue_trackers", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsIssueTrackersView,
|
|
attr="repo_issuetracker",
|
|
route_name="edit_repo_issuetracker",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_issuetracker_test", pattern="/{repo_name:.*?[^/]}/settings/issue_trackers/test", repo_route=True
|
|
)
|
|
config.add_view(
|
|
RepoSettingsIssueTrackersView,
|
|
attr="repo_issuetracker_test",
|
|
route_name="edit_repo_issuetracker_test",
|
|
request_method="POST",
|
|
renderer="string",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_issuetracker_delete",
|
|
pattern="/{repo_name:.*?[^/]}/settings/issue_trackers/delete",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoSettingsIssueTrackersView,
|
|
attr="repo_issuetracker_delete",
|
|
route_name="edit_repo_issuetracker_delete",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
xhr=True,
|
|
)
|
|
|
|
config.add_route(
|
|
name="edit_repo_issuetracker_update",
|
|
pattern="/{repo_name:.*?[^/]}/settings/issue_trackers/update",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoSettingsIssueTrackersView,
|
|
attr="repo_issuetracker_update",
|
|
route_name="edit_repo_issuetracker_update",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
# VCS Settings
|
|
config.add_route(name="edit_repo_vcs", pattern="/{repo_name:.*?[^/]}/settings/vcs", repo_route=True)
|
|
config.add_view(
|
|
RepoSettingsVcsView,
|
|
attr="repo_vcs_settings",
|
|
route_name="edit_repo_vcs",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(name="edit_repo_vcs_update", pattern="/{repo_name:.*?[^/]}/settings/vcs/update", repo_route=True)
|
|
config.add_view(
|
|
RepoSettingsVcsView,
|
|
attr="repo_settings_vcs_update",
|
|
route_name="edit_repo_vcs_update",
|
|
request_method="POST",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
# svn pattern
|
|
config.add_route(
|
|
name="edit_repo_vcs_svn_pattern_delete",
|
|
pattern="/{repo_name:.*?[^/]}/settings/vcs/svn_pattern/delete",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoSettingsVcsView,
|
|
attr="repo_settings_delete_svn_pattern",
|
|
route_name="edit_repo_vcs_svn_pattern_delete",
|
|
request_method="POST",
|
|
renderer="json_ext",
|
|
xhr=True,
|
|
)
|
|
|
|
# Repo Review Rules (EE feature)
|
|
config.add_route(name="repo_reviewers", pattern="/{repo_name:.*?[^/]}/settings/review/rules", repo_route=True)
|
|
config.add_view(
|
|
RepoReviewRulesView,
|
|
attr="repo_review_rules",
|
|
route_name="repo_reviewers",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(
|
|
name="repo_default_reviewers_data",
|
|
pattern="/{repo_name:.*?[^/]}/settings/review/default-reviewers",
|
|
repo_route=True,
|
|
)
|
|
config.add_view(
|
|
RepoReviewRulesView,
|
|
attr="repo_default_reviewers_data",
|
|
route_name="repo_default_reviewers_data",
|
|
request_method="GET",
|
|
renderer="json_ext",
|
|
)
|
|
|
|
# Repo Automation (EE feature)
|
|
config.add_route(name="repo_automation", pattern="/{repo_name:.*?[^/]}/settings/automation", repo_route=True)
|
|
config.add_view(
|
|
RepoAutomationView,
|
|
attr="repo_automation",
|
|
route_name="repo_automation",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
# Strip
|
|
config.add_route(name="edit_repo_strip", pattern="/{repo_name:.*?[^/]}/settings/strip", repo_route=True)
|
|
config.add_view(
|
|
RepoStripView,
|
|
attr="strip",
|
|
route_name="edit_repo_strip",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
config.add_route(name="strip_check", pattern="/{repo_name:.*?[^/]}/settings/strip_check", repo_route=True)
|
|
config.add_view(
|
|
RepoStripView, attr="strip_check", route_name="strip_check", request_method="POST", renderer="json", xhr=True
|
|
)
|
|
|
|
config.add_route(name="strip_execute", pattern="/{repo_name:.*?[^/]}/settings/strip_execute", repo_route=True)
|
|
config.add_view(
|
|
RepoStripView,
|
|
attr="strip_execute",
|
|
route_name="strip_execute",
|
|
request_method="POST",
|
|
renderer="json",
|
|
xhr=True,
|
|
)
|
|
|
|
# Audit logs
|
|
config.add_route(name="edit_repo_audit_logs", pattern="/{repo_name:.*?[^/]}/settings/audit_logs", repo_route=True)
|
|
config.add_view(
|
|
AuditLogsView,
|
|
attr="repo_audit_logs",
|
|
route_name="edit_repo_audit_logs",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/admin/repos/repo_edit.mako",
|
|
)
|
|
|
|
# ATOM/RSS Feed, shouldn't contain slashes for outlook compatibility
|
|
config.add_route(name="rss_feed_home", pattern="/{repo_name:.*?[^/]}/feed-rss", repo_route=True)
|
|
config.add_view(RepoFeedView, attr="rss", route_name="rss_feed_home", request_method="GET", renderer=None)
|
|
|
|
config.add_route(name="rss_feed_home_old", pattern="/{repo_name:.*?[^/]}/feed/rss", repo_route=True)
|
|
config.add_view(RepoFeedView, attr="rss", route_name="rss_feed_home_old", request_method="GET", renderer=None)
|
|
|
|
config.add_route(name="atom_feed_home", pattern="/{repo_name:.*?[^/]}/feed-atom", repo_route=True)
|
|
config.add_view(RepoFeedView, attr="atom", route_name="atom_feed_home", request_method="GET", renderer=None)
|
|
|
|
config.add_route(name="atom_feed_home_old", pattern="/{repo_name:.*?[^/]}/feed/atom", repo_route=True)
|
|
config.add_view(RepoFeedView, attr="atom", route_name="atom_feed_home_old", request_method="GET", renderer=None)
|
|
|
|
# NOTE(marcink): needs to be at the end for catch-all
|
|
add_route_with_slash(config, name="repo_summary", pattern="/{repo_name:.*?[^/]}", repo_route=True)
|
|
config.add_view(
|
|
RepoSummaryView,
|
|
attr="summary",
|
|
route_name="repo_summary",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/summary/summary.mako",
|
|
)
|
|
|
|
# TODO(marcink): there's no such route??
|
|
config.add_view(
|
|
RepoSummaryView,
|
|
attr="summary",
|
|
route_name="repo_summary_slash",
|
|
request_method="GET",
|
|
renderer="rhodecode:templates/summary/summary.mako",
|
|
)
|