##// END OF EJS Templates
fix(branch removal trough UI): changed route path. Fixes: RCCE-75
ilin.s -
r5436:51d760b9 default
parent child Browse files
Show More
@@ -1,1244 +1,1244 b''
1 # Copyright (C) 2016-2023 RhodeCode GmbH
1 # Copyright (C) 2016-2023 RhodeCode GmbH
2 #
2 #
3 # This program is free software: you can redistribute it and/or modify
3 # This program is free software: you can redistribute it and/or modify
4 # it under the terms of the GNU Affero General Public License, version 3
4 # it under the terms of the GNU Affero General Public License, version 3
5 # (only), as published by the Free Software Foundation.
5 # (only), as published by the Free Software Foundation.
6 #
6 #
7 # This program is distributed in the hope that it will be useful,
7 # This program is distributed in the hope that it will be useful,
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 # GNU General Public License for more details.
10 # GNU General Public License for more details.
11 #
11 #
12 # You should have received a copy of the GNU Affero General Public License
12 # You should have received a copy of the GNU Affero General Public License
13 # along with this program. If not, see <http://www.gnu.org/licenses/>.
13 # along with this program. If not, see <http://www.gnu.org/licenses/>.
14 #
14 #
15 # This program is dual-licensed. If you wish to learn more about the
15 # This program is dual-licensed. If you wish to learn more about the
16 # RhodeCode Enterprise Edition, including its added features, Support services,
16 # RhodeCode Enterprise Edition, including its added features, Support services,
17 # and proprietary license terms, please see https://rhodecode.com/licenses/
17 # and proprietary license terms, please see https://rhodecode.com/licenses/
18 from rhodecode.apps._base import add_route_with_slash
18 from rhodecode.apps._base import add_route_with_slash
19
19
20
20
21 def includeme(config):
21 def includeme(config):
22 from rhodecode.apps.repository.views.repo_artifacts import RepoArtifactsView
22 from rhodecode.apps.repository.views.repo_artifacts import RepoArtifactsView
23 from rhodecode.apps.repository.views.repo_audit_logs import AuditLogsView
23 from rhodecode.apps.repository.views.repo_audit_logs import AuditLogsView
24 from rhodecode.apps.repository.views.repo_automation import RepoAutomationView
24 from rhodecode.apps.repository.views.repo_automation import RepoAutomationView
25 from rhodecode.apps.repository.views.repo_bookmarks import RepoBookmarksView
25 from rhodecode.apps.repository.views.repo_bookmarks import RepoBookmarksView
26 from rhodecode.apps.repository.views.repo_branch_permissions import RepoSettingsBranchPermissionsView
26 from rhodecode.apps.repository.views.repo_branch_permissions import RepoSettingsBranchPermissionsView
27 from rhodecode.apps.repository.views.repo_branches import RepoBranchesView
27 from rhodecode.apps.repository.views.repo_branches import RepoBranchesView
28 from rhodecode.apps.repository.views.repo_caches import RepoCachesView
28 from rhodecode.apps.repository.views.repo_caches import RepoCachesView
29 from rhodecode.apps.repository.views.repo_changelog import RepoChangelogView
29 from rhodecode.apps.repository.views.repo_changelog import RepoChangelogView
30 from rhodecode.apps.repository.views.repo_checks import RepoChecksView
30 from rhodecode.apps.repository.views.repo_checks import RepoChecksView
31 from rhodecode.apps.repository.views.repo_commits import RepoCommitsView
31 from rhodecode.apps.repository.views.repo_commits import RepoCommitsView
32 from rhodecode.apps.repository.views.repo_compare import RepoCompareView
32 from rhodecode.apps.repository.views.repo_compare import RepoCompareView
33 from rhodecode.apps.repository.views.repo_feed import RepoFeedView
33 from rhodecode.apps.repository.views.repo_feed import RepoFeedView
34 from rhodecode.apps.repository.views.repo_files import RepoFilesView
34 from rhodecode.apps.repository.views.repo_files import RepoFilesView
35 from rhodecode.apps.repository.views.repo_forks import RepoForksView
35 from rhodecode.apps.repository.views.repo_forks import RepoForksView
36 from rhodecode.apps.repository.views.repo_maintainance import RepoMaintenanceView
36 from rhodecode.apps.repository.views.repo_maintainance import RepoMaintenanceView
37 from rhodecode.apps.repository.views.repo_permissions import RepoSettingsPermissionsView
37 from rhodecode.apps.repository.views.repo_permissions import RepoSettingsPermissionsView
38 from rhodecode.apps.repository.views.repo_pull_requests import RepoPullRequestsView
38 from rhodecode.apps.repository.views.repo_pull_requests import RepoPullRequestsView
39 from rhodecode.apps.repository.views.repo_review_rules import RepoReviewRulesView
39 from rhodecode.apps.repository.views.repo_review_rules import RepoReviewRulesView
40 from rhodecode.apps.repository.views.repo_settings import RepoSettingsView
40 from rhodecode.apps.repository.views.repo_settings import RepoSettingsView
41 from rhodecode.apps.repository.views.repo_settings_advanced import RepoSettingsAdvancedView
41 from rhodecode.apps.repository.views.repo_settings_advanced import RepoSettingsAdvancedView
42 from rhodecode.apps.repository.views.repo_settings_fields import RepoSettingsFieldsView
42 from rhodecode.apps.repository.views.repo_settings_fields import RepoSettingsFieldsView
43 from rhodecode.apps.repository.views.repo_settings_issue_trackers import RepoSettingsIssueTrackersView
43 from rhodecode.apps.repository.views.repo_settings_issue_trackers import RepoSettingsIssueTrackersView
44 from rhodecode.apps.repository.views.repo_settings_remote import RepoSettingsRemoteView
44 from rhodecode.apps.repository.views.repo_settings_remote import RepoSettingsRemoteView
45 from rhodecode.apps.repository.views.repo_settings_vcs import RepoSettingsVcsView
45 from rhodecode.apps.repository.views.repo_settings_vcs import RepoSettingsVcsView
46 from rhodecode.apps.repository.views.repo_strip import RepoStripView
46 from rhodecode.apps.repository.views.repo_strip import RepoStripView
47 from rhodecode.apps.repository.views.repo_summary import RepoSummaryView
47 from rhodecode.apps.repository.views.repo_summary import RepoSummaryView
48 from rhodecode.apps.repository.views.repo_tags import RepoTagsView
48 from rhodecode.apps.repository.views.repo_tags import RepoTagsView
49
49
50 # repo creating checks, special cases that aren't repo routes
50 # repo creating checks, special cases that aren't repo routes
51 config.add_route(
51 config.add_route(
52 name='repo_creating',
52 name='repo_creating',
53 pattern='/{repo_name:.*?[^/]}/repo_creating')
53 pattern='/{repo_name:.*?[^/]}/repo_creating')
54 config.add_view(
54 config.add_view(
55 RepoChecksView,
55 RepoChecksView,
56 attr='repo_creating',
56 attr='repo_creating',
57 route_name='repo_creating', request_method='GET',
57 route_name='repo_creating', request_method='GET',
58 renderer='rhodecode:templates/admin/repos/repo_creating.mako')
58 renderer='rhodecode:templates/admin/repos/repo_creating.mako')
59
59
60 config.add_route(
60 config.add_route(
61 name='repo_creating_check',
61 name='repo_creating_check',
62 pattern='/{repo_name:.*?[^/]}/repo_creating_check')
62 pattern='/{repo_name:.*?[^/]}/repo_creating_check')
63 config.add_view(
63 config.add_view(
64 RepoChecksView,
64 RepoChecksView,
65 attr='repo_creating_check',
65 attr='repo_creating_check',
66 route_name='repo_creating_check', request_method='GET',
66 route_name='repo_creating_check', request_method='GET',
67 renderer='json_ext')
67 renderer='json_ext')
68
68
69 # Summary
69 # Summary
70 # NOTE(marcink): one additional route is defined in very bottom, catch
70 # NOTE(marcink): one additional route is defined in very bottom, catch
71 # all pattern
71 # all pattern
72 config.add_route(
72 config.add_route(
73 name='repo_summary_explicit',
73 name='repo_summary_explicit',
74 pattern='/{repo_name:.*?[^/]}/summary', repo_route=True)
74 pattern='/{repo_name:.*?[^/]}/summary', repo_route=True)
75 config.add_view(
75 config.add_view(
76 RepoSummaryView,
76 RepoSummaryView,
77 attr='summary',
77 attr='summary',
78 route_name='repo_summary_explicit', request_method='GET',
78 route_name='repo_summary_explicit', request_method='GET',
79 renderer='rhodecode:templates/summary/summary.mako')
79 renderer='rhodecode:templates/summary/summary.mako')
80
80
81 config.add_route(
81 config.add_route(
82 name='repo_summary_commits',
82 name='repo_summary_commits',
83 pattern='/{repo_name:.*?[^/]}/summary-commits', repo_route=True)
83 pattern='/{repo_name:.*?[^/]}/summary-commits', repo_route=True)
84 config.add_view(
84 config.add_view(
85 RepoSummaryView,
85 RepoSummaryView,
86 attr='summary_commits',
86 attr='summary_commits',
87 route_name='repo_summary_commits', request_method='GET',
87 route_name='repo_summary_commits', request_method='GET',
88 renderer='rhodecode:templates/summary/summary_commits.mako')
88 renderer='rhodecode:templates/summary/summary_commits.mako')
89
89
90 # Commits
90 # Commits
91 config.add_route(
91 config.add_route(
92 name='repo_commit',
92 name='repo_commit',
93 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}', repo_route=True)
93 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}', repo_route=True)
94 config.add_view(
94 config.add_view(
95 RepoCommitsView,
95 RepoCommitsView,
96 attr='repo_commit_show',
96 attr='repo_commit_show',
97 route_name='repo_commit', request_method='GET',
97 route_name='repo_commit', request_method='GET',
98 renderer=None)
98 renderer=None)
99
99
100 config.add_route(
100 config.add_route(
101 name='repo_commit_children',
101 name='repo_commit_children',
102 pattern='/{repo_name:.*?[^/]}/changeset_children/{commit_id}', repo_route=True)
102 pattern='/{repo_name:.*?[^/]}/changeset_children/{commit_id}', repo_route=True)
103 config.add_view(
103 config.add_view(
104 RepoCommitsView,
104 RepoCommitsView,
105 attr='repo_commit_children',
105 attr='repo_commit_children',
106 route_name='repo_commit_children', request_method='GET',
106 route_name='repo_commit_children', request_method='GET',
107 renderer='json_ext', xhr=True)
107 renderer='json_ext', xhr=True)
108
108
109 config.add_route(
109 config.add_route(
110 name='repo_commit_parents',
110 name='repo_commit_parents',
111 pattern='/{repo_name:.*?[^/]}/changeset_parents/{commit_id}', repo_route=True)
111 pattern='/{repo_name:.*?[^/]}/changeset_parents/{commit_id}', repo_route=True)
112 config.add_view(
112 config.add_view(
113 RepoCommitsView,
113 RepoCommitsView,
114 attr='repo_commit_parents',
114 attr='repo_commit_parents',
115 route_name='repo_commit_parents', request_method='GET',
115 route_name='repo_commit_parents', request_method='GET',
116 renderer='json_ext')
116 renderer='json_ext')
117
117
118 config.add_route(
118 config.add_route(
119 name='repo_commit_raw',
119 name='repo_commit_raw',
120 pattern='/{repo_name:.*?[^/]}/changeset-diff/{commit_id}', repo_route=True)
120 pattern='/{repo_name:.*?[^/]}/changeset-diff/{commit_id}', repo_route=True)
121 config.add_view(
121 config.add_view(
122 RepoCommitsView,
122 RepoCommitsView,
123 attr='repo_commit_raw',
123 attr='repo_commit_raw',
124 route_name='repo_commit_raw', request_method='GET',
124 route_name='repo_commit_raw', request_method='GET',
125 renderer=None)
125 renderer=None)
126
126
127 config.add_route(
127 config.add_route(
128 name='repo_commit_patch',
128 name='repo_commit_patch',
129 pattern='/{repo_name:.*?[^/]}/changeset-patch/{commit_id}', repo_route=True)
129 pattern='/{repo_name:.*?[^/]}/changeset-patch/{commit_id}', repo_route=True)
130 config.add_view(
130 config.add_view(
131 RepoCommitsView,
131 RepoCommitsView,
132 attr='repo_commit_patch',
132 attr='repo_commit_patch',
133 route_name='repo_commit_patch', request_method='GET',
133 route_name='repo_commit_patch', request_method='GET',
134 renderer=None)
134 renderer=None)
135
135
136 config.add_route(
136 config.add_route(
137 name='repo_commit_download',
137 name='repo_commit_download',
138 pattern='/{repo_name:.*?[^/]}/changeset-download/{commit_id}', repo_route=True)
138 pattern='/{repo_name:.*?[^/]}/changeset-download/{commit_id}', repo_route=True)
139 config.add_view(
139 config.add_view(
140 RepoCommitsView,
140 RepoCommitsView,
141 attr='repo_commit_download',
141 attr='repo_commit_download',
142 route_name='repo_commit_download', request_method='GET',
142 route_name='repo_commit_download', request_method='GET',
143 renderer=None)
143 renderer=None)
144
144
145 config.add_route(
145 config.add_route(
146 name='repo_commit_data',
146 name='repo_commit_data',
147 pattern='/{repo_name:.*?[^/]}/changeset-data/{commit_id}', repo_route=True)
147 pattern='/{repo_name:.*?[^/]}/changeset-data/{commit_id}', repo_route=True)
148 config.add_view(
148 config.add_view(
149 RepoCommitsView,
149 RepoCommitsView,
150 attr='repo_commit_data',
150 attr='repo_commit_data',
151 route_name='repo_commit_data', request_method='GET',
151 route_name='repo_commit_data', request_method='GET',
152 renderer='json_ext', xhr=True)
152 renderer='json_ext', xhr=True)
153
153
154 config.add_route(
154 config.add_route(
155 name='repo_commit_comment_create',
155 name='repo_commit_comment_create',
156 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/create', repo_route=True)
156 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/create', repo_route=True)
157 config.add_view(
157 config.add_view(
158 RepoCommitsView,
158 RepoCommitsView,
159 attr='repo_commit_comment_create',
159 attr='repo_commit_comment_create',
160 route_name='repo_commit_comment_create', request_method='POST',
160 route_name='repo_commit_comment_create', request_method='POST',
161 renderer='json_ext')
161 renderer='json_ext')
162
162
163 config.add_route(
163 config.add_route(
164 name='repo_commit_comment_preview',
164 name='repo_commit_comment_preview',
165 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/preview', repo_route=True)
165 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/preview', repo_route=True)
166 config.add_view(
166 config.add_view(
167 RepoCommitsView,
167 RepoCommitsView,
168 attr='repo_commit_comment_preview',
168 attr='repo_commit_comment_preview',
169 route_name='repo_commit_comment_preview', request_method='POST',
169 route_name='repo_commit_comment_preview', request_method='POST',
170 renderer='string', xhr=True)
170 renderer='string', xhr=True)
171
171
172 config.add_route(
172 config.add_route(
173 name='repo_commit_comment_history_view',
173 name='repo_commit_comment_history_view',
174 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/history_view/{comment_history_id}', repo_route=True)
174 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/history_view/{comment_history_id}', repo_route=True)
175 config.add_view(
175 config.add_view(
176 RepoCommitsView,
176 RepoCommitsView,
177 attr='repo_commit_comment_history_view',
177 attr='repo_commit_comment_history_view',
178 route_name='repo_commit_comment_history_view', request_method='POST',
178 route_name='repo_commit_comment_history_view', request_method='POST',
179 renderer='string', xhr=True)
179 renderer='string', xhr=True)
180
180
181 config.add_route(
181 config.add_route(
182 name='repo_commit_comment_attachment_upload',
182 name='repo_commit_comment_attachment_upload',
183 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/attachment_upload', repo_route=True)
183 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/attachment_upload', repo_route=True)
184 config.add_view(
184 config.add_view(
185 RepoCommitsView,
185 RepoCommitsView,
186 attr='repo_commit_comment_attachment_upload',
186 attr='repo_commit_comment_attachment_upload',
187 route_name='repo_commit_comment_attachment_upload', request_method='POST',
187 route_name='repo_commit_comment_attachment_upload', request_method='POST',
188 renderer='json_ext', xhr=True)
188 renderer='json_ext', xhr=True)
189
189
190 config.add_route(
190 config.add_route(
191 name='repo_commit_comment_delete',
191 name='repo_commit_comment_delete',
192 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/delete', repo_route=True)
192 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/delete', repo_route=True)
193 config.add_view(
193 config.add_view(
194 RepoCommitsView,
194 RepoCommitsView,
195 attr='repo_commit_comment_delete',
195 attr='repo_commit_comment_delete',
196 route_name='repo_commit_comment_delete', request_method='POST',
196 route_name='repo_commit_comment_delete', request_method='POST',
197 renderer='json_ext')
197 renderer='json_ext')
198
198
199 config.add_route(
199 config.add_route(
200 name='repo_commit_comment_edit',
200 name='repo_commit_comment_edit',
201 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/edit', repo_route=True)
201 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/edit', repo_route=True)
202 config.add_view(
202 config.add_view(
203 RepoCommitsView,
203 RepoCommitsView,
204 attr='repo_commit_comment_edit',
204 attr='repo_commit_comment_edit',
205 route_name='repo_commit_comment_edit', request_method='POST',
205 route_name='repo_commit_comment_edit', request_method='POST',
206 renderer='json_ext')
206 renderer='json_ext')
207
207
208 # still working url for backward compat.
208 # still working url for backward compat.
209 config.add_route(
209 config.add_route(
210 name='repo_commit_raw_deprecated',
210 name='repo_commit_raw_deprecated',
211 pattern='/{repo_name:.*?[^/]}/raw-changeset/{commit_id}', repo_route=True)
211 pattern='/{repo_name:.*?[^/]}/raw-changeset/{commit_id}', repo_route=True)
212 config.add_view(
212 config.add_view(
213 RepoCommitsView,
213 RepoCommitsView,
214 attr='repo_commit_raw',
214 attr='repo_commit_raw',
215 route_name='repo_commit_raw_deprecated', request_method='GET',
215 route_name='repo_commit_raw_deprecated', request_method='GET',
216 renderer=None)
216 renderer=None)
217
217
218 # Files
218 # Files
219 config.add_route(
219 config.add_route(
220 name='repo_archivefile',
220 name='repo_archivefile',
221 pattern='/{repo_name:.*?[^/]}/archive/{fname:.*}', repo_route=True)
221 pattern='/{repo_name:.*?[^/]}/archive/{fname:.*}', repo_route=True)
222 config.add_view(
222 config.add_view(
223 RepoFilesView,
223 RepoFilesView,
224 attr='repo_archivefile',
224 attr='repo_archivefile',
225 route_name='repo_archivefile', request_method='GET',
225 route_name='repo_archivefile', request_method='GET',
226 renderer=None)
226 renderer=None)
227
227
228 config.add_route(
228 config.add_route(
229 name='repo_files_diff',
229 name='repo_files_diff',
230 pattern='/{repo_name:.*?[^/]}/diff/{f_path:.*}', repo_route=True)
230 pattern='/{repo_name:.*?[^/]}/diff/{f_path:.*}', repo_route=True)
231 config.add_view(
231 config.add_view(
232 RepoFilesView,
232 RepoFilesView,
233 attr='repo_files_diff',
233 attr='repo_files_diff',
234 route_name='repo_files_diff', request_method='GET',
234 route_name='repo_files_diff', request_method='GET',
235 renderer=None)
235 renderer=None)
236
236
237 config.add_route( # legacy route to make old links work
237 config.add_route( # legacy route to make old links work
238 name='repo_files_diff_2way_redirect',
238 name='repo_files_diff_2way_redirect',
239 pattern='/{repo_name:.*?[^/]}/diff-2way/{f_path:.*}', repo_route=True)
239 pattern='/{repo_name:.*?[^/]}/diff-2way/{f_path:.*}', repo_route=True)
240 config.add_view(
240 config.add_view(
241 RepoFilesView,
241 RepoFilesView,
242 attr='repo_files_diff_2way_redirect',
242 attr='repo_files_diff_2way_redirect',
243 route_name='repo_files_diff_2way_redirect', request_method='GET',
243 route_name='repo_files_diff_2way_redirect', request_method='GET',
244 renderer=None)
244 renderer=None)
245
245
246 config.add_route(
246 config.add_route(
247 name='repo_files',
247 name='repo_files',
248 pattern='/{repo_name:.*?[^/]}/files/{commit_id}/{f_path:.*}', repo_route=True)
248 pattern='/{repo_name:.*?[^/]}/files/{commit_id}/{f_path:.*}', repo_route=True)
249 config.add_view(
249 config.add_view(
250 RepoFilesView,
250 RepoFilesView,
251 attr='repo_files',
251 attr='repo_files',
252 route_name='repo_files', request_method='GET',
252 route_name='repo_files', request_method='GET',
253 renderer=None)
253 renderer=None)
254
254
255 config.add_route(
255 config.add_route(
256 name='repo_files:default_path',
256 name='repo_files:default_path',
257 pattern='/{repo_name:.*?[^/]}/files/{commit_id}/', repo_route=True)
257 pattern='/{repo_name:.*?[^/]}/files/{commit_id}/', repo_route=True)
258 config.add_view(
258 config.add_view(
259 RepoFilesView,
259 RepoFilesView,
260 attr='repo_files',
260 attr='repo_files',
261 route_name='repo_files:default_path', request_method='GET',
261 route_name='repo_files:default_path', request_method='GET',
262 renderer=None)
262 renderer=None)
263
263
264 config.add_route(
264 config.add_route(
265 name='repo_files:default_commit',
265 name='repo_files:default_commit',
266 pattern='/{repo_name:.*?[^/]}/files', repo_route=True)
266 pattern='/{repo_name:.*?[^/]}/files', repo_route=True)
267 config.add_view(
267 config.add_view(
268 RepoFilesView,
268 RepoFilesView,
269 attr='repo_files',
269 attr='repo_files',
270 route_name='repo_files:default_commit', request_method='GET',
270 route_name='repo_files:default_commit', request_method='GET',
271 renderer=None)
271 renderer=None)
272
272
273 config.add_route(
273 config.add_route(
274 name='repo_files:rendered',
274 name='repo_files:rendered',
275 pattern='/{repo_name:.*?[^/]}/render/{commit_id}/{f_path:.*}', repo_route=True)
275 pattern='/{repo_name:.*?[^/]}/render/{commit_id}/{f_path:.*}', repo_route=True)
276 config.add_view(
276 config.add_view(
277 RepoFilesView,
277 RepoFilesView,
278 attr='repo_files',
278 attr='repo_files',
279 route_name='repo_files:rendered', request_method='GET',
279 route_name='repo_files:rendered', request_method='GET',
280 renderer=None)
280 renderer=None)
281
281
282 config.add_route(
282 config.add_route(
283 name='repo_files:annotated',
283 name='repo_files:annotated',
284 pattern='/{repo_name:.*?[^/]}/annotate/{commit_id}/{f_path:.*}', repo_route=True)
284 pattern='/{repo_name:.*?[^/]}/annotate/{commit_id}/{f_path:.*}', repo_route=True)
285 config.add_view(
285 config.add_view(
286 RepoFilesView,
286 RepoFilesView,
287 attr='repo_files',
287 attr='repo_files',
288 route_name='repo_files:annotated', request_method='GET',
288 route_name='repo_files:annotated', request_method='GET',
289 renderer=None)
289 renderer=None)
290
290
291 config.add_route(
291 config.add_route(
292 name='repo_files:annotated_previous',
292 name='repo_files:annotated_previous',
293 pattern='/{repo_name:.*?[^/]}/annotate-previous/{commit_id}/{f_path:.*}', repo_route=True)
293 pattern='/{repo_name:.*?[^/]}/annotate-previous/{commit_id}/{f_path:.*}', repo_route=True)
294 config.add_view(
294 config.add_view(
295 RepoFilesView,
295 RepoFilesView,
296 attr='repo_files_annotated_previous',
296 attr='repo_files_annotated_previous',
297 route_name='repo_files:annotated_previous', request_method='GET',
297 route_name='repo_files:annotated_previous', request_method='GET',
298 renderer=None)
298 renderer=None)
299
299
300 config.add_route(
300 config.add_route(
301 name='repo_nodetree_full',
301 name='repo_nodetree_full',
302 pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/{f_path:.*}', repo_route=True)
302 pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/{f_path:.*}', repo_route=True)
303 config.add_view(
303 config.add_view(
304 RepoFilesView,
304 RepoFilesView,
305 attr='repo_nodetree_full',
305 attr='repo_nodetree_full',
306 route_name='repo_nodetree_full', request_method='GET',
306 route_name='repo_nodetree_full', request_method='GET',
307 renderer=None, xhr=True)
307 renderer=None, xhr=True)
308
308
309 config.add_route(
309 config.add_route(
310 name='repo_nodetree_full:default_path',
310 name='repo_nodetree_full:default_path',
311 pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/', repo_route=True)
311 pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/', repo_route=True)
312 config.add_view(
312 config.add_view(
313 RepoFilesView,
313 RepoFilesView,
314 attr='repo_nodetree_full',
314 attr='repo_nodetree_full',
315 route_name='repo_nodetree_full:default_path', request_method='GET',
315 route_name='repo_nodetree_full:default_path', request_method='GET',
316 renderer=None, xhr=True)
316 renderer=None, xhr=True)
317
317
318 config.add_route(
318 config.add_route(
319 name='repo_files_nodelist',
319 name='repo_files_nodelist',
320 pattern='/{repo_name:.*?[^/]}/nodelist/{commit_id}/{f_path:.*}', repo_route=True)
320 pattern='/{repo_name:.*?[^/]}/nodelist/{commit_id}/{f_path:.*}', repo_route=True)
321 config.add_view(
321 config.add_view(
322 RepoFilesView,
322 RepoFilesView,
323 attr='repo_nodelist',
323 attr='repo_nodelist',
324 route_name='repo_files_nodelist', request_method='GET',
324 route_name='repo_files_nodelist', request_method='GET',
325 renderer='json_ext', xhr=True)
325 renderer='json_ext', xhr=True)
326
326
327 config.add_route(
327 config.add_route(
328 name='repo_file_raw',
328 name='repo_file_raw',
329 pattern='/{repo_name:.*?[^/]}/raw/{commit_id}/{f_path:.*}', repo_route=True)
329 pattern='/{repo_name:.*?[^/]}/raw/{commit_id}/{f_path:.*}', repo_route=True)
330 config.add_view(
330 config.add_view(
331 RepoFilesView,
331 RepoFilesView,
332 attr='repo_file_raw',
332 attr='repo_file_raw',
333 route_name='repo_file_raw', request_method='GET',
333 route_name='repo_file_raw', request_method='GET',
334 renderer=None)
334 renderer=None)
335
335
336 config.add_route(
336 config.add_route(
337 name='repo_file_download',
337 name='repo_file_download',
338 pattern='/{repo_name:.*?[^/]}/download/{commit_id}/{f_path:.*}', repo_route=True)
338 pattern='/{repo_name:.*?[^/]}/download/{commit_id}/{f_path:.*}', repo_route=True)
339 config.add_view(
339 config.add_view(
340 RepoFilesView,
340 RepoFilesView,
341 attr='repo_file_download',
341 attr='repo_file_download',
342 route_name='repo_file_download', request_method='GET',
342 route_name='repo_file_download', request_method='GET',
343 renderer=None)
343 renderer=None)
344
344
345 config.add_route( # backward compat to keep old links working
345 config.add_route( # backward compat to keep old links working
346 name='repo_file_download:legacy',
346 name='repo_file_download:legacy',
347 pattern='/{repo_name:.*?[^/]}/rawfile/{commit_id}/{f_path:.*}',
347 pattern='/{repo_name:.*?[^/]}/rawfile/{commit_id}/{f_path:.*}',
348 repo_route=True)
348 repo_route=True)
349 config.add_view(
349 config.add_view(
350 RepoFilesView,
350 RepoFilesView,
351 attr='repo_file_download',
351 attr='repo_file_download',
352 route_name='repo_file_download:legacy', request_method='GET',
352 route_name='repo_file_download:legacy', request_method='GET',
353 renderer=None)
353 renderer=None)
354
354
355 config.add_route(
355 config.add_route(
356 name='repo_file_history',
356 name='repo_file_history',
357 pattern='/{repo_name:.*?[^/]}/history/{commit_id}/{f_path:.*}', repo_route=True)
357 pattern='/{repo_name:.*?[^/]}/history/{commit_id}/{f_path:.*}', repo_route=True)
358 config.add_view(
358 config.add_view(
359 RepoFilesView,
359 RepoFilesView,
360 attr='repo_file_history',
360 attr='repo_file_history',
361 route_name='repo_file_history', request_method='GET',
361 route_name='repo_file_history', request_method='GET',
362 renderer='json_ext')
362 renderer='json_ext')
363
363
364 config.add_route(
364 config.add_route(
365 name='repo_file_authors',
365 name='repo_file_authors',
366 pattern='/{repo_name:.*?[^/]}/authors/{commit_id}/{f_path:.*}', repo_route=True)
366 pattern='/{repo_name:.*?[^/]}/authors/{commit_id}/{f_path:.*}', repo_route=True)
367 config.add_view(
367 config.add_view(
368 RepoFilesView,
368 RepoFilesView,
369 attr='repo_file_authors',
369 attr='repo_file_authors',
370 route_name='repo_file_authors', request_method='GET',
370 route_name='repo_file_authors', request_method='GET',
371 renderer='rhodecode:templates/files/file_authors_box.mako')
371 renderer='rhodecode:templates/files/file_authors_box.mako')
372
372
373 config.add_route(
373 config.add_route(
374 name='repo_files_check_head',
374 name='repo_files_check_head',
375 pattern='/{repo_name:.*?[^/]}/check_head/{commit_id}/{f_path:.*}',
375 pattern='/{repo_name:.*?[^/]}/check_head/{commit_id}/{f_path:.*}',
376 repo_route=True)
376 repo_route=True)
377 config.add_view(
377 config.add_view(
378 RepoFilesView,
378 RepoFilesView,
379 attr='repo_files_check_head',
379 attr='repo_files_check_head',
380 route_name='repo_files_check_head', request_method='POST',
380 route_name='repo_files_check_head', request_method='POST',
381 renderer='json_ext', xhr=True)
381 renderer='json_ext', xhr=True)
382
382
383 config.add_route(
383 config.add_route(
384 name='repo_files_remove_file',
384 name='repo_files_remove_file',
385 pattern='/{repo_name:.*?[^/]}/remove_file/{commit_id}/{f_path:.*}',
385 pattern='/{repo_name:.*?[^/]}/remove_file/{commit_id}/{f_path:.*}',
386 repo_route=True)
386 repo_route=True)
387 config.add_view(
387 config.add_view(
388 RepoFilesView,
388 RepoFilesView,
389 attr='repo_files_remove_file',
389 attr='repo_files_remove_file',
390 route_name='repo_files_remove_file', request_method='GET',
390 route_name='repo_files_remove_file', request_method='GET',
391 renderer='rhodecode:templates/files/files_delete.mako')
391 renderer='rhodecode:templates/files/files_delete.mako')
392
392
393 config.add_route(
393 config.add_route(
394 name='repo_files_delete_file',
394 name='repo_files_delete_file',
395 pattern='/{repo_name:.*?[^/]}/delete_file/{commit_id}/{f_path:.*}',
395 pattern='/{repo_name:.*?[^/]}/delete_file/{commit_id}/{f_path:.*}',
396 repo_route=True)
396 repo_route=True)
397 config.add_view(
397 config.add_view(
398 RepoFilesView,
398 RepoFilesView,
399 attr='repo_files_delete_file',
399 attr='repo_files_delete_file',
400 route_name='repo_files_delete_file', request_method='POST',
400 route_name='repo_files_delete_file', request_method='POST',
401 renderer=None)
401 renderer=None)
402
402
403 config.add_route(
403 config.add_route(
404 name='repo_files_edit_file',
404 name='repo_files_edit_file',
405 pattern='/{repo_name:.*?[^/]}/edit_file/{commit_id}/{f_path:.*}',
405 pattern='/{repo_name:.*?[^/]}/edit_file/{commit_id}/{f_path:.*}',
406 repo_route=True)
406 repo_route=True)
407 config.add_view(
407 config.add_view(
408 RepoFilesView,
408 RepoFilesView,
409 attr='repo_files_edit_file',
409 attr='repo_files_edit_file',
410 route_name='repo_files_edit_file', request_method='GET',
410 route_name='repo_files_edit_file', request_method='GET',
411 renderer='rhodecode:templates/files/files_edit.mako')
411 renderer='rhodecode:templates/files/files_edit.mako')
412
412
413 config.add_route(
413 config.add_route(
414 name='repo_files_update_file',
414 name='repo_files_update_file',
415 pattern='/{repo_name:.*?[^/]}/update_file/{commit_id}/{f_path:.*}',
415 pattern='/{repo_name:.*?[^/]}/update_file/{commit_id}/{f_path:.*}',
416 repo_route=True)
416 repo_route=True)
417 config.add_view(
417 config.add_view(
418 RepoFilesView,
418 RepoFilesView,
419 attr='repo_files_update_file',
419 attr='repo_files_update_file',
420 route_name='repo_files_update_file', request_method='POST',
420 route_name='repo_files_update_file', request_method='POST',
421 renderer=None)
421 renderer=None)
422
422
423 config.add_route(
423 config.add_route(
424 name='repo_files_add_file',
424 name='repo_files_add_file',
425 pattern='/{repo_name:.*?[^/]}/add_file/{commit_id}/{f_path:.*}',
425 pattern='/{repo_name:.*?[^/]}/add_file/{commit_id}/{f_path:.*}',
426 repo_route=True)
426 repo_route=True)
427 config.add_view(
427 config.add_view(
428 RepoFilesView,
428 RepoFilesView,
429 attr='repo_files_add_file',
429 attr='repo_files_add_file',
430 route_name='repo_files_add_file', request_method='GET',
430 route_name='repo_files_add_file', request_method='GET',
431 renderer='rhodecode:templates/files/files_add.mako')
431 renderer='rhodecode:templates/files/files_add.mako')
432
432
433 config.add_route(
433 config.add_route(
434 name='repo_files_upload_file',
434 name='repo_files_upload_file',
435 pattern='/{repo_name:.*?[^/]}/upload_file/{commit_id}/{f_path:.*}',
435 pattern='/{repo_name:.*?[^/]}/upload_file/{commit_id}/{f_path:.*}',
436 repo_route=True)
436 repo_route=True)
437 config.add_view(
437 config.add_view(
438 RepoFilesView,
438 RepoFilesView,
439 attr='repo_files_add_file',
439 attr='repo_files_add_file',
440 route_name='repo_files_upload_file', request_method='GET',
440 route_name='repo_files_upload_file', request_method='GET',
441 renderer='rhodecode:templates/files/files_upload.mako')
441 renderer='rhodecode:templates/files/files_upload.mako')
442 config.add_view( # POST creates
442 config.add_view( # POST creates
443 RepoFilesView,
443 RepoFilesView,
444 attr='repo_files_upload_file',
444 attr='repo_files_upload_file',
445 route_name='repo_files_upload_file', request_method='POST',
445 route_name='repo_files_upload_file', request_method='POST',
446 renderer='json_ext')
446 renderer='json_ext')
447
447
448 config.add_route(
448 config.add_route(
449 name='repo_files_replace_binary',
449 name='repo_files_replace_binary',
450 pattern='/{repo_name:.*?[^/]}/replace_binary/{commit_id}/{f_path:.*}',
450 pattern='/{repo_name:.*?[^/]}/replace_binary/{commit_id}/{f_path:.*}',
451 repo_route=True)
451 repo_route=True)
452 config.add_view(
452 config.add_view(
453 RepoFilesView,
453 RepoFilesView,
454 attr='repo_files_replace_file',
454 attr='repo_files_replace_file',
455 route_name='repo_files_replace_binary', request_method='POST',
455 route_name='repo_files_replace_binary', request_method='POST',
456 renderer='json_ext')
456 renderer='json_ext')
457
457
458 config.add_route(
458 config.add_route(
459 name='repo_files_create_file',
459 name='repo_files_create_file',
460 pattern='/{repo_name:.*?[^/]}/create_file/{commit_id}/{f_path:.*}',
460 pattern='/{repo_name:.*?[^/]}/create_file/{commit_id}/{f_path:.*}',
461 repo_route=True)
461 repo_route=True)
462 config.add_view( # POST creates
462 config.add_view( # POST creates
463 RepoFilesView,
463 RepoFilesView,
464 attr='repo_files_create_file',
464 attr='repo_files_create_file',
465 route_name='repo_files_create_file', request_method='POST',
465 route_name='repo_files_create_file', request_method='POST',
466 renderer=None)
466 renderer=None)
467
467
468 # Refs data
468 # Refs data
469 config.add_route(
469 config.add_route(
470 name='repo_refs_data',
470 name='repo_refs_data',
471 pattern='/{repo_name:.*?[^/]}/refs-data', repo_route=True)
471 pattern='/{repo_name:.*?[^/]}/refs-data', repo_route=True)
472 config.add_view(
472 config.add_view(
473 RepoSummaryView,
473 RepoSummaryView,
474 attr='repo_refs_data',
474 attr='repo_refs_data',
475 route_name='repo_refs_data', request_method='GET',
475 route_name='repo_refs_data', request_method='GET',
476 renderer='json_ext')
476 renderer='json_ext')
477
477
478 config.add_route(
478 config.add_route(
479 name='repo_refs_changelog_data',
479 name='repo_refs_changelog_data',
480 pattern='/{repo_name:.*?[^/]}/refs-data-changelog', repo_route=True)
480 pattern='/{repo_name:.*?[^/]}/refs-data-changelog', repo_route=True)
481 config.add_view(
481 config.add_view(
482 RepoSummaryView,
482 RepoSummaryView,
483 attr='repo_refs_changelog_data',
483 attr='repo_refs_changelog_data',
484 route_name='repo_refs_changelog_data', request_method='GET',
484 route_name='repo_refs_changelog_data', request_method='GET',
485 renderer='json_ext')
485 renderer='json_ext')
486
486
487 config.add_route(
487 config.add_route(
488 name='repo_stats',
488 name='repo_stats',
489 pattern='/{repo_name:.*?[^/]}/repo_stats/{commit_id}', repo_route=True)
489 pattern='/{repo_name:.*?[^/]}/repo_stats/{commit_id}', repo_route=True)
490 config.add_view(
490 config.add_view(
491 RepoSummaryView,
491 RepoSummaryView,
492 attr='repo_stats',
492 attr='repo_stats',
493 route_name='repo_stats', request_method='GET',
493 route_name='repo_stats', request_method='GET',
494 renderer='json_ext')
494 renderer='json_ext')
495
495
496 # Commits
496 # Commits
497 config.add_route(
497 config.add_route(
498 name='repo_commits',
498 name='repo_commits',
499 pattern='/{repo_name:.*?[^/]}/commits', repo_route=True)
499 pattern='/{repo_name:.*?[^/]}/commits', repo_route=True)
500 config.add_view(
500 config.add_view(
501 RepoChangelogView,
501 RepoChangelogView,
502 attr='repo_changelog',
502 attr='repo_changelog',
503 route_name='repo_commits', request_method='GET',
503 route_name='repo_commits', request_method='GET',
504 renderer='rhodecode:templates/commits/changelog.mako')
504 renderer='rhodecode:templates/commits/changelog.mako')
505 # old routes for backward compat
505 # old routes for backward compat
506 config.add_view(
506 config.add_view(
507 RepoChangelogView,
507 RepoChangelogView,
508 attr='repo_changelog',
508 attr='repo_changelog',
509 route_name='repo_changelog', request_method='GET',
509 route_name='repo_changelog', request_method='GET',
510 renderer='rhodecode:templates/commits/changelog.mako')
510 renderer='rhodecode:templates/commits/changelog.mako')
511
511
512 config.add_route(
512 config.add_route(
513 name='repo_commits_elements',
513 name='repo_commits_elements',
514 pattern='/{repo_name:.*?[^/]}/commits_elements', repo_route=True)
514 pattern='/{repo_name:.*?[^/]}/commits_elements', repo_route=True)
515 config.add_view(
515 config.add_view(
516 RepoChangelogView,
516 RepoChangelogView,
517 attr='repo_commits_elements',
517 attr='repo_commits_elements',
518 route_name='repo_commits_elements', request_method=('GET', 'POST'),
518 route_name='repo_commits_elements', request_method=('GET', 'POST'),
519 renderer='rhodecode:templates/commits/changelog_elements.mako',
519 renderer='rhodecode:templates/commits/changelog_elements.mako',
520 xhr=True)
520 xhr=True)
521
521
522 config.add_route(
522 config.add_route(
523 name='repo_commits_elements_file',
523 name='repo_commits_elements_file',
524 pattern='/{repo_name:.*?[^/]}/commits_elements/{commit_id}/{f_path:.*}', repo_route=True)
524 pattern='/{repo_name:.*?[^/]}/commits_elements/{commit_id}/{f_path:.*}', repo_route=True)
525 config.add_view(
525 config.add_view(
526 RepoChangelogView,
526 RepoChangelogView,
527 attr='repo_commits_elements',
527 attr='repo_commits_elements',
528 route_name='repo_commits_elements_file', request_method=('GET', 'POST'),
528 route_name='repo_commits_elements_file', request_method=('GET', 'POST'),
529 renderer='rhodecode:templates/commits/changelog_elements.mako',
529 renderer='rhodecode:templates/commits/changelog_elements.mako',
530 xhr=True)
530 xhr=True)
531
531
532 config.add_route(
532 config.add_route(
533 name='repo_commits_file',
533 name='repo_commits_file',
534 pattern='/{repo_name:.*?[^/]}/commits/{commit_id}/{f_path:.*}', repo_route=True)
534 pattern='/{repo_name:.*?[^/]}/commits/{commit_id}/{f_path:.*}', repo_route=True)
535 config.add_view(
535 config.add_view(
536 RepoChangelogView,
536 RepoChangelogView,
537 attr='repo_changelog',
537 attr='repo_changelog',
538 route_name='repo_commits_file', request_method='GET',
538 route_name='repo_commits_file', request_method='GET',
539 renderer='rhodecode:templates/commits/changelog.mako')
539 renderer='rhodecode:templates/commits/changelog.mako')
540 # old routes for backward compat
540 # old routes for backward compat
541 config.add_view(
541 config.add_view(
542 RepoChangelogView,
542 RepoChangelogView,
543 attr='repo_changelog',
543 attr='repo_changelog',
544 route_name='repo_changelog_file', request_method='GET',
544 route_name='repo_changelog_file', request_method='GET',
545 renderer='rhodecode:templates/commits/changelog.mako')
545 renderer='rhodecode:templates/commits/changelog.mako')
546
546
547 # Changelog (old deprecated name for commits page)
547 # Changelog (old deprecated name for commits page)
548 config.add_route(
548 config.add_route(
549 name='repo_changelog',
549 name='repo_changelog',
550 pattern='/{repo_name:.*?[^/]}/changelog', repo_route=True)
550 pattern='/{repo_name:.*?[^/]}/changelog', repo_route=True)
551 config.add_route(
551 config.add_route(
552 name='repo_changelog_file',
552 name='repo_changelog_file',
553 pattern='/{repo_name:.*?[^/]}/changelog/{commit_id}/{f_path:.*}', repo_route=True)
553 pattern='/{repo_name:.*?[^/]}/changelog/{commit_id}/{f_path:.*}', repo_route=True)
554
554
555 # Compare
555 # Compare
556 config.add_route(
556 config.add_route(
557 name='repo_compare_select',
557 name='repo_compare_select',
558 pattern='/{repo_name:.*?[^/]}/compare', repo_route=True)
558 pattern='/{repo_name:.*?[^/]}/compare', repo_route=True)
559 config.add_view(
559 config.add_view(
560 RepoCompareView,
560 RepoCompareView,
561 attr='compare_select',
561 attr='compare_select',
562 route_name='repo_compare_select', request_method='GET',
562 route_name='repo_compare_select', request_method='GET',
563 renderer='rhodecode:templates/compare/compare_diff.mako')
563 renderer='rhodecode:templates/compare/compare_diff.mako')
564
564
565 config.add_route(
565 config.add_route(
566 name='repo_compare',
566 name='repo_compare',
567 pattern='/{repo_name:.*?[^/]}/compare/{source_ref_type}@{source_ref:.*?}...{target_ref_type}@{target_ref:.*?}', repo_route=True)
567 pattern='/{repo_name:.*?[^/]}/compare/{source_ref_type}@{source_ref:.*?}...{target_ref_type}@{target_ref:.*?}', repo_route=True)
568 config.add_view(
568 config.add_view(
569 RepoCompareView,
569 RepoCompareView,
570 attr='compare',
570 attr='compare',
571 route_name='repo_compare', request_method='GET',
571 route_name='repo_compare', request_method='GET',
572 renderer=None)
572 renderer=None)
573
573
574 # Tags
574 # Tags
575 config.add_route(
575 config.add_route(
576 name='tags_home',
576 name='tags_home',
577 pattern='/{repo_name:.*?[^/]}/tags', repo_route=True)
577 pattern='/{repo_name:.*?[^/]}/tags', repo_route=True)
578 config.add_view(
578 config.add_view(
579 RepoTagsView,
579 RepoTagsView,
580 attr='tags',
580 attr='tags',
581 route_name='tags_home', request_method='GET',
581 route_name='tags_home', request_method='GET',
582 renderer='rhodecode:templates/tags/tags.mako')
582 renderer='rhodecode:templates/tags/tags.mako')
583
583
584 # Branches
584 # Branches
585 config.add_route(
585 config.add_route(
586 name='branches_home',
586 name='branches_home',
587 pattern='/{repo_name:.*?[^/]}/branches', repo_route=True)
587 pattern='/{repo_name:.*?[^/]}/branches', repo_route=True)
588 config.add_view(
588 config.add_view(
589 RepoBranchesView,
589 RepoBranchesView,
590 attr='branches',
590 attr='branches',
591 route_name='branches_home', request_method='GET',
591 route_name='branches_home', request_method='GET',
592 renderer='rhodecode:templates/branches/branches.mako')
592 renderer='rhodecode:templates/branches/branches.mako')
593
593
594 config.add_route(
594 config.add_route(
595 name='branch_remove',
595 name='branch_remove',
596 pattern='/{repo_name:.*?[^/]}/{branch_name:.*?[^/]}/remove', repo_route=True, repo_accepted_types=['hg', 'git'])
596 pattern='/{repo_name:.*?[^/]}/branches/{branch_name:.*?[^/]}/remove', repo_route=True, repo_accepted_types=['hg', 'git'])
597 config.add_view(
597 config.add_view(
598 RepoBranchesView,
598 RepoBranchesView,
599 attr='remove_branch',
599 attr='remove_branch',
600 route_name='branch_remove', request_method='POST'
600 route_name='branch_remove', request_method='POST'
601 )
601 )
602
602
603 # Bookmarks
603 # Bookmarks
604 config.add_route(
604 config.add_route(
605 name='bookmarks_home',
605 name='bookmarks_home',
606 pattern='/{repo_name:.*?[^/]}/bookmarks', repo_route=True)
606 pattern='/{repo_name:.*?[^/]}/bookmarks', repo_route=True)
607 config.add_view(
607 config.add_view(
608 RepoBookmarksView,
608 RepoBookmarksView,
609 attr='bookmarks',
609 attr='bookmarks',
610 route_name='bookmarks_home', request_method='GET',
610 route_name='bookmarks_home', request_method='GET',
611 renderer='rhodecode:templates/bookmarks/bookmarks.mako')
611 renderer='rhodecode:templates/bookmarks/bookmarks.mako')
612
612
613 # Forks
613 # Forks
614 config.add_route(
614 config.add_route(
615 name='repo_fork_new',
615 name='repo_fork_new',
616 pattern='/{repo_name:.*?[^/]}/fork', repo_route=True,
616 pattern='/{repo_name:.*?[^/]}/fork', repo_route=True,
617 repo_forbid_when_archived=True,
617 repo_forbid_when_archived=True,
618 repo_accepted_types=['hg', 'git'])
618 repo_accepted_types=['hg', 'git'])
619 config.add_view(
619 config.add_view(
620 RepoForksView,
620 RepoForksView,
621 attr='repo_fork_new',
621 attr='repo_fork_new',
622 route_name='repo_fork_new', request_method='GET',
622 route_name='repo_fork_new', request_method='GET',
623 renderer='rhodecode:templates/forks/forks.mako')
623 renderer='rhodecode:templates/forks/forks.mako')
624
624
625 config.add_route(
625 config.add_route(
626 name='repo_fork_create',
626 name='repo_fork_create',
627 pattern='/{repo_name:.*?[^/]}/fork/create', repo_route=True,
627 pattern='/{repo_name:.*?[^/]}/fork/create', repo_route=True,
628 repo_forbid_when_archived=True,
628 repo_forbid_when_archived=True,
629 repo_accepted_types=['hg', 'git'])
629 repo_accepted_types=['hg', 'git'])
630 config.add_view(
630 config.add_view(
631 RepoForksView,
631 RepoForksView,
632 attr='repo_fork_create',
632 attr='repo_fork_create',
633 route_name='repo_fork_create', request_method='POST',
633 route_name='repo_fork_create', request_method='POST',
634 renderer='rhodecode:templates/forks/fork.mako')
634 renderer='rhodecode:templates/forks/fork.mako')
635
635
636 config.add_route(
636 config.add_route(
637 name='repo_forks_show_all',
637 name='repo_forks_show_all',
638 pattern='/{repo_name:.*?[^/]}/forks', repo_route=True,
638 pattern='/{repo_name:.*?[^/]}/forks', repo_route=True,
639 repo_accepted_types=['hg', 'git'])
639 repo_accepted_types=['hg', 'git'])
640 config.add_view(
640 config.add_view(
641 RepoForksView,
641 RepoForksView,
642 attr='repo_forks_show_all',
642 attr='repo_forks_show_all',
643 route_name='repo_forks_show_all', request_method='GET',
643 route_name='repo_forks_show_all', request_method='GET',
644 renderer='rhodecode:templates/forks/forks.mako')
644 renderer='rhodecode:templates/forks/forks.mako')
645
645
646 config.add_route(
646 config.add_route(
647 name='repo_forks_data',
647 name='repo_forks_data',
648 pattern='/{repo_name:.*?[^/]}/forks/data', repo_route=True,
648 pattern='/{repo_name:.*?[^/]}/forks/data', repo_route=True,
649 repo_accepted_types=['hg', 'git'])
649 repo_accepted_types=['hg', 'git'])
650 config.add_view(
650 config.add_view(
651 RepoForksView,
651 RepoForksView,
652 attr='repo_forks_data',
652 attr='repo_forks_data',
653 route_name='repo_forks_data', request_method='GET',
653 route_name='repo_forks_data', request_method='GET',
654 renderer='json_ext', xhr=True)
654 renderer='json_ext', xhr=True)
655
655
656 # Pull Requests
656 # Pull Requests
657 config.add_route(
657 config.add_route(
658 name='pullrequest_show',
658 name='pullrequest_show',
659 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}',
659 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}',
660 repo_route=True)
660 repo_route=True)
661 config.add_view(
661 config.add_view(
662 RepoPullRequestsView,
662 RepoPullRequestsView,
663 attr='pull_request_show',
663 attr='pull_request_show',
664 route_name='pullrequest_show', request_method='GET',
664 route_name='pullrequest_show', request_method='GET',
665 renderer='rhodecode:templates/pullrequests/pullrequest_show.mako')
665 renderer='rhodecode:templates/pullrequests/pullrequest_show.mako')
666
666
667 config.add_route(
667 config.add_route(
668 name='pullrequest_show_all',
668 name='pullrequest_show_all',
669 pattern='/{repo_name:.*?[^/]}/pull-request',
669 pattern='/{repo_name:.*?[^/]}/pull-request',
670 repo_route=True, repo_accepted_types=['hg', 'git'])
670 repo_route=True, repo_accepted_types=['hg', 'git'])
671 config.add_view(
671 config.add_view(
672 RepoPullRequestsView,
672 RepoPullRequestsView,
673 attr='pull_request_list',
673 attr='pull_request_list',
674 route_name='pullrequest_show_all', request_method='GET',
674 route_name='pullrequest_show_all', request_method='GET',
675 renderer='rhodecode:templates/pullrequests/pullrequests.mako')
675 renderer='rhodecode:templates/pullrequests/pullrequests.mako')
676
676
677 config.add_route(
677 config.add_route(
678 name='pullrequest_show_all_data',
678 name='pullrequest_show_all_data',
679 pattern='/{repo_name:.*?[^/]}/pull-request-data',
679 pattern='/{repo_name:.*?[^/]}/pull-request-data',
680 repo_route=True, repo_accepted_types=['hg', 'git'])
680 repo_route=True, repo_accepted_types=['hg', 'git'])
681 config.add_view(
681 config.add_view(
682 RepoPullRequestsView,
682 RepoPullRequestsView,
683 attr='pull_request_list_data',
683 attr='pull_request_list_data',
684 route_name='pullrequest_show_all_data', request_method='GET',
684 route_name='pullrequest_show_all_data', request_method='GET',
685 renderer='json_ext', xhr=True)
685 renderer='json_ext', xhr=True)
686
686
687 config.add_route(
687 config.add_route(
688 name='pullrequest_repo_refs',
688 name='pullrequest_repo_refs',
689 pattern='/{repo_name:.*?[^/]}/pull-request/refs/{target_repo_name:.*?[^/]}',
689 pattern='/{repo_name:.*?[^/]}/pull-request/refs/{target_repo_name:.*?[^/]}',
690 repo_route=True)
690 repo_route=True)
691 config.add_view(
691 config.add_view(
692 RepoPullRequestsView,
692 RepoPullRequestsView,
693 attr='pull_request_repo_refs',
693 attr='pull_request_repo_refs',
694 route_name='pullrequest_repo_refs', request_method='GET',
694 route_name='pullrequest_repo_refs', request_method='GET',
695 renderer='json_ext', xhr=True)
695 renderer='json_ext', xhr=True)
696
696
697 config.add_route(
697 config.add_route(
698 name='pullrequest_repo_targets',
698 name='pullrequest_repo_targets',
699 pattern='/{repo_name:.*?[^/]}/pull-request/repo-targets',
699 pattern='/{repo_name:.*?[^/]}/pull-request/repo-targets',
700 repo_route=True)
700 repo_route=True)
701 config.add_view(
701 config.add_view(
702 RepoPullRequestsView,
702 RepoPullRequestsView,
703 attr='pullrequest_repo_targets',
703 attr='pullrequest_repo_targets',
704 route_name='pullrequest_repo_targets', request_method='GET',
704 route_name='pullrequest_repo_targets', request_method='GET',
705 renderer='json_ext', xhr=True)
705 renderer='json_ext', xhr=True)
706
706
707 config.add_route(
707 config.add_route(
708 name='pullrequest_new',
708 name='pullrequest_new',
709 pattern='/{repo_name:.*?[^/]}/pull-request/new',
709 pattern='/{repo_name:.*?[^/]}/pull-request/new',
710 repo_route=True, repo_accepted_types=['hg', 'git'],
710 repo_route=True, repo_accepted_types=['hg', 'git'],
711 repo_forbid_when_archived=True)
711 repo_forbid_when_archived=True)
712 config.add_view(
712 config.add_view(
713 RepoPullRequestsView,
713 RepoPullRequestsView,
714 attr='pull_request_new',
714 attr='pull_request_new',
715 route_name='pullrequest_new', request_method='GET',
715 route_name='pullrequest_new', request_method='GET',
716 renderer='rhodecode:templates/pullrequests/pullrequest.mako')
716 renderer='rhodecode:templates/pullrequests/pullrequest.mako')
717
717
718 config.add_route(
718 config.add_route(
719 name='pullrequest_create',
719 name='pullrequest_create',
720 pattern='/{repo_name:.*?[^/]}/pull-request/create',
720 pattern='/{repo_name:.*?[^/]}/pull-request/create',
721 repo_route=True, repo_accepted_types=['hg', 'git'],
721 repo_route=True, repo_accepted_types=['hg', 'git'],
722 repo_forbid_when_archived=True)
722 repo_forbid_when_archived=True)
723 config.add_view(
723 config.add_view(
724 RepoPullRequestsView,
724 RepoPullRequestsView,
725 attr='pull_request_create',
725 attr='pull_request_create',
726 route_name='pullrequest_create', request_method='POST',
726 route_name='pullrequest_create', request_method='POST',
727 renderer=None)
727 renderer=None)
728
728
729 config.add_route(
729 config.add_route(
730 name='pullrequest_update',
730 name='pullrequest_update',
731 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/update',
731 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/update',
732 repo_route=True, repo_forbid_when_archived=True)
732 repo_route=True, repo_forbid_when_archived=True)
733 config.add_view(
733 config.add_view(
734 RepoPullRequestsView,
734 RepoPullRequestsView,
735 attr='pull_request_update',
735 attr='pull_request_update',
736 route_name='pullrequest_update', request_method='POST',
736 route_name='pullrequest_update', request_method='POST',
737 renderer='json_ext')
737 renderer='json_ext')
738
738
739 config.add_route(
739 config.add_route(
740 name='pullrequest_merge',
740 name='pullrequest_merge',
741 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/merge',
741 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/merge',
742 repo_route=True, repo_forbid_when_archived=True)
742 repo_route=True, repo_forbid_when_archived=True)
743 config.add_view(
743 config.add_view(
744 RepoPullRequestsView,
744 RepoPullRequestsView,
745 attr='pull_request_merge',
745 attr='pull_request_merge',
746 route_name='pullrequest_merge', request_method='POST',
746 route_name='pullrequest_merge', request_method='POST',
747 renderer='json_ext')
747 renderer='json_ext')
748
748
749 config.add_route(
749 config.add_route(
750 name='pullrequest_delete',
750 name='pullrequest_delete',
751 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/delete',
751 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/delete',
752 repo_route=True, repo_forbid_when_archived=True)
752 repo_route=True, repo_forbid_when_archived=True)
753 config.add_view(
753 config.add_view(
754 RepoPullRequestsView,
754 RepoPullRequestsView,
755 attr='pull_request_delete',
755 attr='pull_request_delete',
756 route_name='pullrequest_delete', request_method='POST',
756 route_name='pullrequest_delete', request_method='POST',
757 renderer='json_ext')
757 renderer='json_ext')
758
758
759 config.add_route(
759 config.add_route(
760 name='pullrequest_comment_create',
760 name='pullrequest_comment_create',
761 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment',
761 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment',
762 repo_route=True)
762 repo_route=True)
763 config.add_view(
763 config.add_view(
764 RepoPullRequestsView,
764 RepoPullRequestsView,
765 attr='pull_request_comment_create',
765 attr='pull_request_comment_create',
766 route_name='pullrequest_comment_create', request_method='POST',
766 route_name='pullrequest_comment_create', request_method='POST',
767 renderer='json_ext')
767 renderer='json_ext')
768
768
769 config.add_route(
769 config.add_route(
770 name='pullrequest_comment_edit',
770 name='pullrequest_comment_edit',
771 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/edit',
771 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/edit',
772 repo_route=True, repo_accepted_types=['hg', 'git'])
772 repo_route=True, repo_accepted_types=['hg', 'git'])
773 config.add_view(
773 config.add_view(
774 RepoPullRequestsView,
774 RepoPullRequestsView,
775 attr='pull_request_comment_edit',
775 attr='pull_request_comment_edit',
776 route_name='pullrequest_comment_edit', request_method='POST',
776 route_name='pullrequest_comment_edit', request_method='POST',
777 renderer='json_ext')
777 renderer='json_ext')
778
778
779 config.add_route(
779 config.add_route(
780 name='pullrequest_comment_delete',
780 name='pullrequest_comment_delete',
781 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete',
781 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete',
782 repo_route=True, repo_accepted_types=['hg', 'git'])
782 repo_route=True, repo_accepted_types=['hg', 'git'])
783 config.add_view(
783 config.add_view(
784 RepoPullRequestsView,
784 RepoPullRequestsView,
785 attr='pull_request_comment_delete',
785 attr='pull_request_comment_delete',
786 route_name='pullrequest_comment_delete', request_method='POST',
786 route_name='pullrequest_comment_delete', request_method='POST',
787 renderer='json_ext')
787 renderer='json_ext')
788
788
789 config.add_route(
789 config.add_route(
790 name='pullrequest_comments',
790 name='pullrequest_comments',
791 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comments',
791 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comments',
792 repo_route=True)
792 repo_route=True)
793 config.add_view(
793 config.add_view(
794 RepoPullRequestsView,
794 RepoPullRequestsView,
795 attr='pullrequest_comments',
795 attr='pullrequest_comments',
796 route_name='pullrequest_comments', request_method='POST',
796 route_name='pullrequest_comments', request_method='POST',
797 renderer='string_html', xhr=True)
797 renderer='string_html', xhr=True)
798
798
799 config.add_route(
799 config.add_route(
800 name='pullrequest_todos',
800 name='pullrequest_todos',
801 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/todos',
801 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/todos',
802 repo_route=True)
802 repo_route=True)
803 config.add_view(
803 config.add_view(
804 RepoPullRequestsView,
804 RepoPullRequestsView,
805 attr='pullrequest_todos',
805 attr='pullrequest_todos',
806 route_name='pullrequest_todos', request_method='POST',
806 route_name='pullrequest_todos', request_method='POST',
807 renderer='string_html', xhr=True)
807 renderer='string_html', xhr=True)
808
808
809 config.add_route(
809 config.add_route(
810 name='pullrequest_drafts',
810 name='pullrequest_drafts',
811 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/drafts',
811 pattern=r'/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/drafts',
812 repo_route=True)
812 repo_route=True)
813 config.add_view(
813 config.add_view(
814 RepoPullRequestsView,
814 RepoPullRequestsView,
815 attr='pullrequest_drafts',
815 attr='pullrequest_drafts',
816 route_name='pullrequest_drafts', request_method='POST',
816 route_name='pullrequest_drafts', request_method='POST',
817 renderer='string_html', xhr=True)
817 renderer='string_html', xhr=True)
818
818
819 # Artifacts, (EE feature)
819 # Artifacts, (EE feature)
820 config.add_route(
820 config.add_route(
821 name='repo_artifacts_list',
821 name='repo_artifacts_list',
822 pattern='/{repo_name:.*?[^/]}/artifacts', repo_route=True)
822 pattern='/{repo_name:.*?[^/]}/artifacts', repo_route=True)
823 config.add_view(
823 config.add_view(
824 RepoArtifactsView,
824 RepoArtifactsView,
825 attr='repo_artifacts',
825 attr='repo_artifacts',
826 route_name='repo_artifacts_list', request_method='GET',
826 route_name='repo_artifacts_list', request_method='GET',
827 renderer='rhodecode:templates/artifacts/artifact_list.mako')
827 renderer='rhodecode:templates/artifacts/artifact_list.mako')
828
828
829 # Settings
829 # Settings
830 config.add_route(
830 config.add_route(
831 name='edit_repo',
831 name='edit_repo',
832 pattern='/{repo_name:.*?[^/]}/settings', repo_route=True)
832 pattern='/{repo_name:.*?[^/]}/settings', repo_route=True)
833 config.add_view(
833 config.add_view(
834 RepoSettingsView,
834 RepoSettingsView,
835 attr='edit_settings',
835 attr='edit_settings',
836 route_name='edit_repo', request_method='GET',
836 route_name='edit_repo', request_method='GET',
837 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
837 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
838 # update is POST on edit_repo
838 # update is POST on edit_repo
839 config.add_view(
839 config.add_view(
840 RepoSettingsView,
840 RepoSettingsView,
841 attr='edit_settings_update',
841 attr='edit_settings_update',
842 route_name='edit_repo', request_method='POST',
842 route_name='edit_repo', request_method='POST',
843 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
843 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
844
844
845 # Settings advanced
845 # Settings advanced
846 config.add_route(
846 config.add_route(
847 name='edit_repo_advanced',
847 name='edit_repo_advanced',
848 pattern='/{repo_name:.*?[^/]}/settings/advanced', repo_route=True)
848 pattern='/{repo_name:.*?[^/]}/settings/advanced', repo_route=True)
849 config.add_view(
849 config.add_view(
850 RepoSettingsAdvancedView,
850 RepoSettingsAdvancedView,
851 attr='edit_advanced',
851 attr='edit_advanced',
852 route_name='edit_repo_advanced', request_method='GET',
852 route_name='edit_repo_advanced', request_method='GET',
853 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
853 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
854
854
855 config.add_route(
855 config.add_route(
856 name='edit_repo_advanced_archive',
856 name='edit_repo_advanced_archive',
857 pattern='/{repo_name:.*?[^/]}/settings/advanced/archive', repo_route=True)
857 pattern='/{repo_name:.*?[^/]}/settings/advanced/archive', repo_route=True)
858 config.add_view(
858 config.add_view(
859 RepoSettingsAdvancedView,
859 RepoSettingsAdvancedView,
860 attr='edit_advanced_archive',
860 attr='edit_advanced_archive',
861 route_name='edit_repo_advanced_archive', request_method='POST',
861 route_name='edit_repo_advanced_archive', request_method='POST',
862 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
862 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
863
863
864 config.add_route(
864 config.add_route(
865 name='edit_repo_advanced_delete',
865 name='edit_repo_advanced_delete',
866 pattern='/{repo_name:.*?[^/]}/settings/advanced/delete', repo_route=True)
866 pattern='/{repo_name:.*?[^/]}/settings/advanced/delete', repo_route=True)
867 config.add_view(
867 config.add_view(
868 RepoSettingsAdvancedView,
868 RepoSettingsAdvancedView,
869 attr='edit_advanced_delete',
869 attr='edit_advanced_delete',
870 route_name='edit_repo_advanced_delete', request_method='POST',
870 route_name='edit_repo_advanced_delete', request_method='POST',
871 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
871 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
872
872
873 config.add_route(
873 config.add_route(
874 name='edit_repo_advanced_locking',
874 name='edit_repo_advanced_locking',
875 pattern='/{repo_name:.*?[^/]}/settings/advanced/locking', repo_route=True)
875 pattern='/{repo_name:.*?[^/]}/settings/advanced/locking', repo_route=True)
876 config.add_view(
876 config.add_view(
877 RepoSettingsAdvancedView,
877 RepoSettingsAdvancedView,
878 attr='edit_advanced_toggle_locking',
878 attr='edit_advanced_toggle_locking',
879 route_name='edit_repo_advanced_locking', request_method='POST',
879 route_name='edit_repo_advanced_locking', request_method='POST',
880 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
880 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
881
881
882 config.add_route(
882 config.add_route(
883 name='edit_repo_advanced_journal',
883 name='edit_repo_advanced_journal',
884 pattern='/{repo_name:.*?[^/]}/settings/advanced/journal', repo_route=True)
884 pattern='/{repo_name:.*?[^/]}/settings/advanced/journal', repo_route=True)
885 config.add_view(
885 config.add_view(
886 RepoSettingsAdvancedView,
886 RepoSettingsAdvancedView,
887 attr='edit_advanced_journal',
887 attr='edit_advanced_journal',
888 route_name='edit_repo_advanced_journal', request_method='POST',
888 route_name='edit_repo_advanced_journal', request_method='POST',
889 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
889 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
890
890
891 config.add_route(
891 config.add_route(
892 name='edit_repo_advanced_fork',
892 name='edit_repo_advanced_fork',
893 pattern='/{repo_name:.*?[^/]}/settings/advanced/fork', repo_route=True)
893 pattern='/{repo_name:.*?[^/]}/settings/advanced/fork', repo_route=True)
894 config.add_view(
894 config.add_view(
895 RepoSettingsAdvancedView,
895 RepoSettingsAdvancedView,
896 attr='edit_advanced_fork',
896 attr='edit_advanced_fork',
897 route_name='edit_repo_advanced_fork', request_method='POST',
897 route_name='edit_repo_advanced_fork', request_method='POST',
898 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
898 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
899
899
900 config.add_route(
900 config.add_route(
901 name='edit_repo_advanced_hooks',
901 name='edit_repo_advanced_hooks',
902 pattern='/{repo_name:.*?[^/]}/settings/advanced/hooks', repo_route=True)
902 pattern='/{repo_name:.*?[^/]}/settings/advanced/hooks', repo_route=True)
903 config.add_view(
903 config.add_view(
904 RepoSettingsAdvancedView,
904 RepoSettingsAdvancedView,
905 attr='edit_advanced_install_hooks',
905 attr='edit_advanced_install_hooks',
906 route_name='edit_repo_advanced_hooks', request_method='GET',
906 route_name='edit_repo_advanced_hooks', request_method='GET',
907 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
907 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
908
908
909 # Caches
909 # Caches
910 config.add_route(
910 config.add_route(
911 name='edit_repo_caches',
911 name='edit_repo_caches',
912 pattern='/{repo_name:.*?[^/]}/settings/caches', repo_route=True)
912 pattern='/{repo_name:.*?[^/]}/settings/caches', repo_route=True)
913 config.add_view(
913 config.add_view(
914 RepoCachesView,
914 RepoCachesView,
915 attr='repo_caches',
915 attr='repo_caches',
916 route_name='edit_repo_caches', request_method='GET',
916 route_name='edit_repo_caches', request_method='GET',
917 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
917 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
918 config.add_view(
918 config.add_view(
919 RepoCachesView,
919 RepoCachesView,
920 attr='repo_caches_purge',
920 attr='repo_caches_purge',
921 route_name='edit_repo_caches', request_method='POST')
921 route_name='edit_repo_caches', request_method='POST')
922
922
923 # Permissions
923 # Permissions
924 config.add_route(
924 config.add_route(
925 name='edit_repo_perms',
925 name='edit_repo_perms',
926 pattern='/{repo_name:.*?[^/]}/settings/permissions', repo_route=True)
926 pattern='/{repo_name:.*?[^/]}/settings/permissions', repo_route=True)
927 config.add_view(
927 config.add_view(
928 RepoSettingsPermissionsView,
928 RepoSettingsPermissionsView,
929 attr='edit_permissions',
929 attr='edit_permissions',
930 route_name='edit_repo_perms', request_method='GET',
930 route_name='edit_repo_perms', request_method='GET',
931 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
931 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
932 config.add_view(
932 config.add_view(
933 RepoSettingsPermissionsView,
933 RepoSettingsPermissionsView,
934 attr='edit_permissions_update',
934 attr='edit_permissions_update',
935 route_name='edit_repo_perms', request_method='POST',
935 route_name='edit_repo_perms', request_method='POST',
936 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
936 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
937
937
938 config.add_route(
938 config.add_route(
939 name='edit_repo_perms_set_private',
939 name='edit_repo_perms_set_private',
940 pattern='/{repo_name:.*?[^/]}/settings/permissions/set_private', repo_route=True)
940 pattern='/{repo_name:.*?[^/]}/settings/permissions/set_private', repo_route=True)
941 config.add_view(
941 config.add_view(
942 RepoSettingsPermissionsView,
942 RepoSettingsPermissionsView,
943 attr='edit_permissions_set_private_repo',
943 attr='edit_permissions_set_private_repo',
944 route_name='edit_repo_perms_set_private', request_method='POST',
944 route_name='edit_repo_perms_set_private', request_method='POST',
945 renderer='json_ext')
945 renderer='json_ext')
946
946
947 # Permissions Branch (EE feature)
947 # Permissions Branch (EE feature)
948 config.add_route(
948 config.add_route(
949 name='edit_repo_perms_branch',
949 name='edit_repo_perms_branch',
950 pattern='/{repo_name:.*?[^/]}/settings/branch_permissions', repo_route=True)
950 pattern='/{repo_name:.*?[^/]}/settings/branch_permissions', repo_route=True)
951 config.add_view(
951 config.add_view(
952 RepoSettingsBranchPermissionsView,
952 RepoSettingsBranchPermissionsView,
953 attr='branch_permissions',
953 attr='branch_permissions',
954 route_name='edit_repo_perms_branch', request_method='GET',
954 route_name='edit_repo_perms_branch', request_method='GET',
955 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
955 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
956
956
957 config.add_route(
957 config.add_route(
958 name='edit_repo_perms_branch_delete',
958 name='edit_repo_perms_branch_delete',
959 pattern='/{repo_name:.*?[^/]}/settings/branch_permissions/{rule_id}/delete',
959 pattern='/{repo_name:.*?[^/]}/settings/branch_permissions/{rule_id}/delete',
960 repo_route=True)
960 repo_route=True)
961 ## Only implemented in EE
961 ## Only implemented in EE
962
962
963 # Maintenance
963 # Maintenance
964 config.add_route(
964 config.add_route(
965 name='edit_repo_maintenance',
965 name='edit_repo_maintenance',
966 pattern='/{repo_name:.*?[^/]}/settings/maintenance', repo_route=True)
966 pattern='/{repo_name:.*?[^/]}/settings/maintenance', repo_route=True)
967 config.add_view(
967 config.add_view(
968 RepoMaintenanceView,
968 RepoMaintenanceView,
969 attr='repo_maintenance',
969 attr='repo_maintenance',
970 route_name='edit_repo_maintenance', request_method='GET',
970 route_name='edit_repo_maintenance', request_method='GET',
971 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
971 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
972
972
973 config.add_route(
973 config.add_route(
974 name='edit_repo_maintenance_execute',
974 name='edit_repo_maintenance_execute',
975 pattern='/{repo_name:.*?[^/]}/settings/maintenance/execute', repo_route=True)
975 pattern='/{repo_name:.*?[^/]}/settings/maintenance/execute', repo_route=True)
976 config.add_view(
976 config.add_view(
977 RepoMaintenanceView,
977 RepoMaintenanceView,
978 attr='repo_maintenance_execute',
978 attr='repo_maintenance_execute',
979 route_name='edit_repo_maintenance_execute', request_method='GET',
979 route_name='edit_repo_maintenance_execute', request_method='GET',
980 renderer='json', xhr=True)
980 renderer='json', xhr=True)
981
981
982 # Fields
982 # Fields
983 config.add_route(
983 config.add_route(
984 name='edit_repo_fields',
984 name='edit_repo_fields',
985 pattern='/{repo_name:.*?[^/]}/settings/fields', repo_route=True)
985 pattern='/{repo_name:.*?[^/]}/settings/fields', repo_route=True)
986 config.add_view(
986 config.add_view(
987 RepoSettingsFieldsView,
987 RepoSettingsFieldsView,
988 attr='repo_field_edit',
988 attr='repo_field_edit',
989 route_name='edit_repo_fields', request_method='GET',
989 route_name='edit_repo_fields', request_method='GET',
990 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
990 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
991
991
992 config.add_route(
992 config.add_route(
993 name='edit_repo_fields_create',
993 name='edit_repo_fields_create',
994 pattern='/{repo_name:.*?[^/]}/settings/fields/create', repo_route=True)
994 pattern='/{repo_name:.*?[^/]}/settings/fields/create', repo_route=True)
995 config.add_view(
995 config.add_view(
996 RepoSettingsFieldsView,
996 RepoSettingsFieldsView,
997 attr='repo_field_create',
997 attr='repo_field_create',
998 route_name='edit_repo_fields_create', request_method='POST',
998 route_name='edit_repo_fields_create', request_method='POST',
999 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
999 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1000
1000
1001 config.add_route(
1001 config.add_route(
1002 name='edit_repo_fields_delete',
1002 name='edit_repo_fields_delete',
1003 pattern='/{repo_name:.*?[^/]}/settings/fields/{field_id}/delete', repo_route=True)
1003 pattern='/{repo_name:.*?[^/]}/settings/fields/{field_id}/delete', repo_route=True)
1004 config.add_view(
1004 config.add_view(
1005 RepoSettingsFieldsView,
1005 RepoSettingsFieldsView,
1006 attr='repo_field_delete',
1006 attr='repo_field_delete',
1007 route_name='edit_repo_fields_delete', request_method='POST',
1007 route_name='edit_repo_fields_delete', request_method='POST',
1008 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1008 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1009
1009
1010 # quick actions: locking
1010 # quick actions: locking
1011 config.add_route(
1011 config.add_route(
1012 name='repo_settings_quick_actions',
1012 name='repo_settings_quick_actions',
1013 pattern='/{repo_name:.*?[^/]}/settings/quick-action', repo_route=True)
1013 pattern='/{repo_name:.*?[^/]}/settings/quick-action', repo_route=True)
1014 config.add_view(
1014 config.add_view(
1015 RepoSettingsView,
1015 RepoSettingsView,
1016 attr='repo_settings_quick_actions',
1016 attr='repo_settings_quick_actions',
1017 route_name='repo_settings_quick_actions', request_method='GET',
1017 route_name='repo_settings_quick_actions', request_method='GET',
1018 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1018 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1019
1019
1020 # Remote
1020 # Remote
1021 config.add_route(
1021 config.add_route(
1022 name='edit_repo_remote',
1022 name='edit_repo_remote',
1023 pattern='/{repo_name:.*?[^/]}/settings/remote', repo_route=True)
1023 pattern='/{repo_name:.*?[^/]}/settings/remote', repo_route=True)
1024 config.add_view(
1024 config.add_view(
1025 RepoSettingsRemoteView,
1025 RepoSettingsRemoteView,
1026 attr='repo_remote_edit_form',
1026 attr='repo_remote_edit_form',
1027 route_name='edit_repo_remote', request_method='GET',
1027 route_name='edit_repo_remote', request_method='GET',
1028 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1028 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1029
1029
1030 config.add_route(
1030 config.add_route(
1031 name='edit_repo_remote_pull',
1031 name='edit_repo_remote_pull',
1032 pattern='/{repo_name:.*?[^/]}/settings/remote/pull', repo_route=True)
1032 pattern='/{repo_name:.*?[^/]}/settings/remote/pull', repo_route=True)
1033 config.add_view(
1033 config.add_view(
1034 RepoSettingsRemoteView,
1034 RepoSettingsRemoteView,
1035 attr='repo_remote_pull_changes',
1035 attr='repo_remote_pull_changes',
1036 route_name='edit_repo_remote_pull', request_method='POST',
1036 route_name='edit_repo_remote_pull', request_method='POST',
1037 renderer=None)
1037 renderer=None)
1038
1038
1039 config.add_route(
1039 config.add_route(
1040 name='edit_repo_remote_push',
1040 name='edit_repo_remote_push',
1041 pattern='/{repo_name:.*?[^/]}/settings/remote/push', repo_route=True)
1041 pattern='/{repo_name:.*?[^/]}/settings/remote/push', repo_route=True)
1042
1042
1043 # Statistics
1043 # Statistics
1044 config.add_route(
1044 config.add_route(
1045 name='edit_repo_statistics',
1045 name='edit_repo_statistics',
1046 pattern='/{repo_name:.*?[^/]}/settings/statistics', repo_route=True)
1046 pattern='/{repo_name:.*?[^/]}/settings/statistics', repo_route=True)
1047 config.add_view(
1047 config.add_view(
1048 RepoSettingsView,
1048 RepoSettingsView,
1049 attr='edit_statistics_form',
1049 attr='edit_statistics_form',
1050 route_name='edit_repo_statistics', request_method='GET',
1050 route_name='edit_repo_statistics', request_method='GET',
1051 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1051 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1052
1052
1053 config.add_route(
1053 config.add_route(
1054 name='edit_repo_statistics_reset',
1054 name='edit_repo_statistics_reset',
1055 pattern='/{repo_name:.*?[^/]}/settings/statistics/update', repo_route=True)
1055 pattern='/{repo_name:.*?[^/]}/settings/statistics/update', repo_route=True)
1056 config.add_view(
1056 config.add_view(
1057 RepoSettingsView,
1057 RepoSettingsView,
1058 attr='repo_statistics_reset',
1058 attr='repo_statistics_reset',
1059 route_name='edit_repo_statistics_reset', request_method='POST',
1059 route_name='edit_repo_statistics_reset', request_method='POST',
1060 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1060 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1061
1061
1062 # Issue trackers
1062 # Issue trackers
1063 config.add_route(
1063 config.add_route(
1064 name='edit_repo_issuetracker',
1064 name='edit_repo_issuetracker',
1065 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers', repo_route=True)
1065 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers', repo_route=True)
1066 config.add_view(
1066 config.add_view(
1067 RepoSettingsIssueTrackersView,
1067 RepoSettingsIssueTrackersView,
1068 attr='repo_issuetracker',
1068 attr='repo_issuetracker',
1069 route_name='edit_repo_issuetracker', request_method='GET',
1069 route_name='edit_repo_issuetracker', request_method='GET',
1070 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1070 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1071
1071
1072 config.add_route(
1072 config.add_route(
1073 name='edit_repo_issuetracker_test',
1073 name='edit_repo_issuetracker_test',
1074 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/test', repo_route=True)
1074 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/test', repo_route=True)
1075 config.add_view(
1075 config.add_view(
1076 RepoSettingsIssueTrackersView,
1076 RepoSettingsIssueTrackersView,
1077 attr='repo_issuetracker_test',
1077 attr='repo_issuetracker_test',
1078 route_name='edit_repo_issuetracker_test', request_method='POST',
1078 route_name='edit_repo_issuetracker_test', request_method='POST',
1079 renderer='string', xhr=True)
1079 renderer='string', xhr=True)
1080
1080
1081 config.add_route(
1081 config.add_route(
1082 name='edit_repo_issuetracker_delete',
1082 name='edit_repo_issuetracker_delete',
1083 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/delete', repo_route=True)
1083 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/delete', repo_route=True)
1084 config.add_view(
1084 config.add_view(
1085 RepoSettingsIssueTrackersView,
1085 RepoSettingsIssueTrackersView,
1086 attr='repo_issuetracker_delete',
1086 attr='repo_issuetracker_delete',
1087 route_name='edit_repo_issuetracker_delete', request_method='POST',
1087 route_name='edit_repo_issuetracker_delete', request_method='POST',
1088 renderer='json_ext', xhr=True)
1088 renderer='json_ext', xhr=True)
1089
1089
1090 config.add_route(
1090 config.add_route(
1091 name='edit_repo_issuetracker_update',
1091 name='edit_repo_issuetracker_update',
1092 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/update', repo_route=True)
1092 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/update', repo_route=True)
1093 config.add_view(
1093 config.add_view(
1094 RepoSettingsIssueTrackersView,
1094 RepoSettingsIssueTrackersView,
1095 attr='repo_issuetracker_update',
1095 attr='repo_issuetracker_update',
1096 route_name='edit_repo_issuetracker_update', request_method='POST',
1096 route_name='edit_repo_issuetracker_update', request_method='POST',
1097 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1097 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1098
1098
1099 # VCS Settings
1099 # VCS Settings
1100 config.add_route(
1100 config.add_route(
1101 name='edit_repo_vcs',
1101 name='edit_repo_vcs',
1102 pattern='/{repo_name:.*?[^/]}/settings/vcs', repo_route=True)
1102 pattern='/{repo_name:.*?[^/]}/settings/vcs', repo_route=True)
1103 config.add_view(
1103 config.add_view(
1104 RepoSettingsVcsView,
1104 RepoSettingsVcsView,
1105 attr='repo_vcs_settings',
1105 attr='repo_vcs_settings',
1106 route_name='edit_repo_vcs', request_method='GET',
1106 route_name='edit_repo_vcs', request_method='GET',
1107 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1107 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1108
1108
1109 config.add_route(
1109 config.add_route(
1110 name='edit_repo_vcs_update',
1110 name='edit_repo_vcs_update',
1111 pattern='/{repo_name:.*?[^/]}/settings/vcs/update', repo_route=True)
1111 pattern='/{repo_name:.*?[^/]}/settings/vcs/update', repo_route=True)
1112 config.add_view(
1112 config.add_view(
1113 RepoSettingsVcsView,
1113 RepoSettingsVcsView,
1114 attr='repo_settings_vcs_update',
1114 attr='repo_settings_vcs_update',
1115 route_name='edit_repo_vcs_update', request_method='POST',
1115 route_name='edit_repo_vcs_update', request_method='POST',
1116 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1116 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1117
1117
1118 # svn pattern
1118 # svn pattern
1119 config.add_route(
1119 config.add_route(
1120 name='edit_repo_vcs_svn_pattern_delete',
1120 name='edit_repo_vcs_svn_pattern_delete',
1121 pattern='/{repo_name:.*?[^/]}/settings/vcs/svn_pattern/delete', repo_route=True)
1121 pattern='/{repo_name:.*?[^/]}/settings/vcs/svn_pattern/delete', repo_route=True)
1122 config.add_view(
1122 config.add_view(
1123 RepoSettingsVcsView,
1123 RepoSettingsVcsView,
1124 attr='repo_settings_delete_svn_pattern',
1124 attr='repo_settings_delete_svn_pattern',
1125 route_name='edit_repo_vcs_svn_pattern_delete', request_method='POST',
1125 route_name='edit_repo_vcs_svn_pattern_delete', request_method='POST',
1126 renderer='json_ext', xhr=True)
1126 renderer='json_ext', xhr=True)
1127
1127
1128 # Repo Review Rules (EE feature)
1128 # Repo Review Rules (EE feature)
1129 config.add_route(
1129 config.add_route(
1130 name='repo_reviewers',
1130 name='repo_reviewers',
1131 pattern='/{repo_name:.*?[^/]}/settings/review/rules', repo_route=True)
1131 pattern='/{repo_name:.*?[^/]}/settings/review/rules', repo_route=True)
1132 config.add_view(
1132 config.add_view(
1133 RepoReviewRulesView,
1133 RepoReviewRulesView,
1134 attr='repo_review_rules',
1134 attr='repo_review_rules',
1135 route_name='repo_reviewers', request_method='GET',
1135 route_name='repo_reviewers', request_method='GET',
1136 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1136 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1137
1137
1138 config.add_route(
1138 config.add_route(
1139 name='repo_default_reviewers_data',
1139 name='repo_default_reviewers_data',
1140 pattern='/{repo_name:.*?[^/]}/settings/review/default-reviewers', repo_route=True)
1140 pattern='/{repo_name:.*?[^/]}/settings/review/default-reviewers', repo_route=True)
1141 config.add_view(
1141 config.add_view(
1142 RepoReviewRulesView,
1142 RepoReviewRulesView,
1143 attr='repo_default_reviewers_data',
1143 attr='repo_default_reviewers_data',
1144 route_name='repo_default_reviewers_data', request_method='GET',
1144 route_name='repo_default_reviewers_data', request_method='GET',
1145 renderer='json_ext')
1145 renderer='json_ext')
1146
1146
1147 # Repo Automation (EE feature)
1147 # Repo Automation (EE feature)
1148 config.add_route(
1148 config.add_route(
1149 name='repo_automation',
1149 name='repo_automation',
1150 pattern='/{repo_name:.*?[^/]}/settings/automation', repo_route=True)
1150 pattern='/{repo_name:.*?[^/]}/settings/automation', repo_route=True)
1151 config.add_view(
1151 config.add_view(
1152 RepoAutomationView,
1152 RepoAutomationView,
1153 attr='repo_automation',
1153 attr='repo_automation',
1154 route_name='repo_automation', request_method='GET',
1154 route_name='repo_automation', request_method='GET',
1155 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1155 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1156
1156
1157 # Strip
1157 # Strip
1158 config.add_route(
1158 config.add_route(
1159 name='edit_repo_strip',
1159 name='edit_repo_strip',
1160 pattern='/{repo_name:.*?[^/]}/settings/strip', repo_route=True)
1160 pattern='/{repo_name:.*?[^/]}/settings/strip', repo_route=True)
1161 config.add_view(
1161 config.add_view(
1162 RepoStripView,
1162 RepoStripView,
1163 attr='strip',
1163 attr='strip',
1164 route_name='edit_repo_strip', request_method='GET',
1164 route_name='edit_repo_strip', request_method='GET',
1165 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1165 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1166
1166
1167 config.add_route(
1167 config.add_route(
1168 name='strip_check',
1168 name='strip_check',
1169 pattern='/{repo_name:.*?[^/]}/settings/strip_check', repo_route=True)
1169 pattern='/{repo_name:.*?[^/]}/settings/strip_check', repo_route=True)
1170 config.add_view(
1170 config.add_view(
1171 RepoStripView,
1171 RepoStripView,
1172 attr='strip_check',
1172 attr='strip_check',
1173 route_name='strip_check', request_method='POST',
1173 route_name='strip_check', request_method='POST',
1174 renderer='json', xhr=True)
1174 renderer='json', xhr=True)
1175
1175
1176 config.add_route(
1176 config.add_route(
1177 name='strip_execute',
1177 name='strip_execute',
1178 pattern='/{repo_name:.*?[^/]}/settings/strip_execute', repo_route=True)
1178 pattern='/{repo_name:.*?[^/]}/settings/strip_execute', repo_route=True)
1179 config.add_view(
1179 config.add_view(
1180 RepoStripView,
1180 RepoStripView,
1181 attr='strip_execute',
1181 attr='strip_execute',
1182 route_name='strip_execute', request_method='POST',
1182 route_name='strip_execute', request_method='POST',
1183 renderer='json', xhr=True)
1183 renderer='json', xhr=True)
1184
1184
1185 # Audit logs
1185 # Audit logs
1186 config.add_route(
1186 config.add_route(
1187 name='edit_repo_audit_logs',
1187 name='edit_repo_audit_logs',
1188 pattern='/{repo_name:.*?[^/]}/settings/audit_logs', repo_route=True)
1188 pattern='/{repo_name:.*?[^/]}/settings/audit_logs', repo_route=True)
1189 config.add_view(
1189 config.add_view(
1190 AuditLogsView,
1190 AuditLogsView,
1191 attr='repo_audit_logs',
1191 attr='repo_audit_logs',
1192 route_name='edit_repo_audit_logs', request_method='GET',
1192 route_name='edit_repo_audit_logs', request_method='GET',
1193 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1193 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
1194
1194
1195 # ATOM/RSS Feed, shouldn't contain slashes for outlook compatibility
1195 # ATOM/RSS Feed, shouldn't contain slashes for outlook compatibility
1196 config.add_route(
1196 config.add_route(
1197 name='rss_feed_home',
1197 name='rss_feed_home',
1198 pattern='/{repo_name:.*?[^/]}/feed-rss', repo_route=True)
1198 pattern='/{repo_name:.*?[^/]}/feed-rss', repo_route=True)
1199 config.add_view(
1199 config.add_view(
1200 RepoFeedView,
1200 RepoFeedView,
1201 attr='rss',
1201 attr='rss',
1202 route_name='rss_feed_home', request_method='GET', renderer=None)
1202 route_name='rss_feed_home', request_method='GET', renderer=None)
1203
1203
1204 config.add_route(
1204 config.add_route(
1205 name='rss_feed_home_old',
1205 name='rss_feed_home_old',
1206 pattern='/{repo_name:.*?[^/]}/feed/rss', repo_route=True)
1206 pattern='/{repo_name:.*?[^/]}/feed/rss', repo_route=True)
1207 config.add_view(
1207 config.add_view(
1208 RepoFeedView,
1208 RepoFeedView,
1209 attr='rss',
1209 attr='rss',
1210 route_name='rss_feed_home_old', request_method='GET', renderer=None)
1210 route_name='rss_feed_home_old', request_method='GET', renderer=None)
1211
1211
1212 config.add_route(
1212 config.add_route(
1213 name='atom_feed_home',
1213 name='atom_feed_home',
1214 pattern='/{repo_name:.*?[^/]}/feed-atom', repo_route=True)
1214 pattern='/{repo_name:.*?[^/]}/feed-atom', repo_route=True)
1215 config.add_view(
1215 config.add_view(
1216 RepoFeedView,
1216 RepoFeedView,
1217 attr='atom',
1217 attr='atom',
1218 route_name='atom_feed_home', request_method='GET', renderer=None)
1218 route_name='atom_feed_home', request_method='GET', renderer=None)
1219
1219
1220 config.add_route(
1220 config.add_route(
1221 name='atom_feed_home_old',
1221 name='atom_feed_home_old',
1222 pattern='/{repo_name:.*?[^/]}/feed/atom', repo_route=True)
1222 pattern='/{repo_name:.*?[^/]}/feed/atom', repo_route=True)
1223 config.add_view(
1223 config.add_view(
1224 RepoFeedView,
1224 RepoFeedView,
1225 attr='atom',
1225 attr='atom',
1226 route_name='atom_feed_home_old', request_method='GET', renderer=None)
1226 route_name='atom_feed_home_old', request_method='GET', renderer=None)
1227
1227
1228 # NOTE(marcink): needs to be at the end for catch-all
1228 # NOTE(marcink): needs to be at the end for catch-all
1229 add_route_with_slash(
1229 add_route_with_slash(
1230 config,
1230 config,
1231 name='repo_summary',
1231 name='repo_summary',
1232 pattern='/{repo_name:.*?[^/]}', repo_route=True)
1232 pattern='/{repo_name:.*?[^/]}', repo_route=True)
1233 config.add_view(
1233 config.add_view(
1234 RepoSummaryView,
1234 RepoSummaryView,
1235 attr='summary',
1235 attr='summary',
1236 route_name='repo_summary', request_method='GET',
1236 route_name='repo_summary', request_method='GET',
1237 renderer='rhodecode:templates/summary/summary.mako')
1237 renderer='rhodecode:templates/summary/summary.mako')
1238
1238
1239 # TODO(marcink): there's no such route??
1239 # TODO(marcink): there's no such route??
1240 config.add_view(
1240 config.add_view(
1241 RepoSummaryView,
1241 RepoSummaryView,
1242 attr='summary',
1242 attr='summary',
1243 route_name='repo_summary_slash', request_method='GET',
1243 route_name='repo_summary_slash', request_method='GET',
1244 renderer='rhodecode:templates/summary/summary.mako') No newline at end of file
1244 renderer='rhodecode:templates/summary/summary.mako')
@@ -1,420 +1,420 b''
1
1
2 /******************************************************************************
2 /******************************************************************************
3 * *
3 * *
4 * DO NOT CHANGE THIS FILE MANUALLY *
4 * DO NOT CHANGE THIS FILE MANUALLY *
5 * *
5 * *
6 * *
6 * *
7 * This file is automatically generated when the app starts up with *
7 * This file is automatically generated when the app starts up with *
8 * generate_js_files = true *
8 * generate_js_files = true *
9 * *
9 * *
10 * To add a route here pass jsroute=True to the route definition in the app *
10 * To add a route here pass jsroute=True to the route definition in the app *
11 * *
11 * *
12 ******************************************************************************/
12 ******************************************************************************/
13 function registerRCRoutes() {
13 function registerRCRoutes() {
14 // routes registration
14 // routes registration
15 pyroutes.register('admin_artifacts', '/_admin/artifacts', []);
15 pyroutes.register('admin_artifacts', '/_admin/artifacts', []);
16 pyroutes.register('admin_artifacts_data', '/_admin/artifacts-data', []);
16 pyroutes.register('admin_artifacts_data', '/_admin/artifacts-data', []);
17 pyroutes.register('admin_artifacts_delete', '/_admin/artifacts/%(uid)s/delete', ['uid']);
17 pyroutes.register('admin_artifacts_delete', '/_admin/artifacts/%(uid)s/delete', ['uid']);
18 pyroutes.register('admin_artifacts_show_all', '/_admin/artifacts', []);
18 pyroutes.register('admin_artifacts_show_all', '/_admin/artifacts', []);
19 pyroutes.register('admin_artifacts_show_info', '/_admin/artifacts/%(uid)s', ['uid']);
19 pyroutes.register('admin_artifacts_show_info', '/_admin/artifacts/%(uid)s', ['uid']);
20 pyroutes.register('admin_artifacts_update', '/_admin/artifacts/%(uid)s/update', ['uid']);
20 pyroutes.register('admin_artifacts_update', '/_admin/artifacts/%(uid)s/update', ['uid']);
21 pyroutes.register('admin_audit_log_entry', '/_admin/audit_logs/%(audit_log_id)s', ['audit_log_id']);
21 pyroutes.register('admin_audit_log_entry', '/_admin/audit_logs/%(audit_log_id)s', ['audit_log_id']);
22 pyroutes.register('admin_audit_logs', '/_admin/audit_logs', []);
22 pyroutes.register('admin_audit_logs', '/_admin/audit_logs', []);
23 pyroutes.register('admin_automation', '/_admin/automation', []);
23 pyroutes.register('admin_automation', '/_admin/automation', []);
24 pyroutes.register('admin_automation_update', '/_admin/automation/%(entry_id)s/update', ['entry_id']);
24 pyroutes.register('admin_automation_update', '/_admin/automation/%(entry_id)s/update', ['entry_id']);
25 pyroutes.register('admin_defaults_repositories', '/_admin/defaults/repositories', []);
25 pyroutes.register('admin_defaults_repositories', '/_admin/defaults/repositories', []);
26 pyroutes.register('admin_defaults_repositories_update', '/_admin/defaults/repositories/update', []);
26 pyroutes.register('admin_defaults_repositories_update', '/_admin/defaults/repositories/update', []);
27 pyroutes.register('admin_home', '/_admin', []);
27 pyroutes.register('admin_home', '/_admin', []);
28 pyroutes.register('admin_permissions_application', '/_admin/permissions/application', []);
28 pyroutes.register('admin_permissions_application', '/_admin/permissions/application', []);
29 pyroutes.register('admin_permissions_application_update', '/_admin/permissions/application/update', []);
29 pyroutes.register('admin_permissions_application_update', '/_admin/permissions/application/update', []);
30 pyroutes.register('admin_permissions_auth_token_access', '/_admin/permissions/auth_token_access', []);
30 pyroutes.register('admin_permissions_auth_token_access', '/_admin/permissions/auth_token_access', []);
31 pyroutes.register('admin_permissions_branch', '/_admin/permissions/branch', []);
31 pyroutes.register('admin_permissions_branch', '/_admin/permissions/branch', []);
32 pyroutes.register('admin_permissions_branch_update', '/_admin/permissions/branch/update', []);
32 pyroutes.register('admin_permissions_branch_update', '/_admin/permissions/branch/update', []);
33 pyroutes.register('admin_permissions_global', '/_admin/permissions/global', []);
33 pyroutes.register('admin_permissions_global', '/_admin/permissions/global', []);
34 pyroutes.register('admin_permissions_global_update', '/_admin/permissions/global/update', []);
34 pyroutes.register('admin_permissions_global_update', '/_admin/permissions/global/update', []);
35 pyroutes.register('admin_permissions_ips', '/_admin/permissions/ips', []);
35 pyroutes.register('admin_permissions_ips', '/_admin/permissions/ips', []);
36 pyroutes.register('admin_permissions_object', '/_admin/permissions/object', []);
36 pyroutes.register('admin_permissions_object', '/_admin/permissions/object', []);
37 pyroutes.register('admin_permissions_object_update', '/_admin/permissions/object/update', []);
37 pyroutes.register('admin_permissions_object_update', '/_admin/permissions/object/update', []);
38 pyroutes.register('admin_permissions_overview', '/_admin/permissions/overview', []);
38 pyroutes.register('admin_permissions_overview', '/_admin/permissions/overview', []);
39 pyroutes.register('admin_permissions_ssh_keys', '/_admin/permissions/ssh_keys', []);
39 pyroutes.register('admin_permissions_ssh_keys', '/_admin/permissions/ssh_keys', []);
40 pyroutes.register('admin_permissions_ssh_keys_data', '/_admin/permissions/ssh_keys/data', []);
40 pyroutes.register('admin_permissions_ssh_keys_data', '/_admin/permissions/ssh_keys/data', []);
41 pyroutes.register('admin_permissions_ssh_keys_update', '/_admin/permissions/ssh_keys/update', []);
41 pyroutes.register('admin_permissions_ssh_keys_update', '/_admin/permissions/ssh_keys/update', []);
42 pyroutes.register('admin_scheduler', '/_admin/scheduler', []);
42 pyroutes.register('admin_scheduler', '/_admin/scheduler', []);
43 pyroutes.register('admin_scheduler_show_tasks', '/_admin/scheduler/_tasks', []);
43 pyroutes.register('admin_scheduler_show_tasks', '/_admin/scheduler/_tasks', []);
44 pyroutes.register('admin_settings', '/_admin/settings', []);
44 pyroutes.register('admin_settings', '/_admin/settings', []);
45 pyroutes.register('admin_settings_email', '/_admin/settings/email', []);
45 pyroutes.register('admin_settings_email', '/_admin/settings/email', []);
46 pyroutes.register('admin_settings_email_update', '/_admin/settings/email/update', []);
46 pyroutes.register('admin_settings_email_update', '/_admin/settings/email/update', []);
47 pyroutes.register('admin_settings_exception_tracker', '/_admin/settings/exceptions', []);
47 pyroutes.register('admin_settings_exception_tracker', '/_admin/settings/exceptions', []);
48 pyroutes.register('admin_settings_exception_tracker_delete', '/_admin/settings/exceptions/%(exception_id)s/delete', ['exception_id']);
48 pyroutes.register('admin_settings_exception_tracker_delete', '/_admin/settings/exceptions/%(exception_id)s/delete', ['exception_id']);
49 pyroutes.register('admin_settings_exception_tracker_delete_all', '/_admin/settings/exceptions_delete_all', []);
49 pyroutes.register('admin_settings_exception_tracker_delete_all', '/_admin/settings/exceptions_delete_all', []);
50 pyroutes.register('admin_settings_exception_tracker_show', '/_admin/settings/exceptions/%(exception_id)s', ['exception_id']);
50 pyroutes.register('admin_settings_exception_tracker_show', '/_admin/settings/exceptions/%(exception_id)s', ['exception_id']);
51 pyroutes.register('admin_settings_global', '/_admin/settings/global', []);
51 pyroutes.register('admin_settings_global', '/_admin/settings/global', []);
52 pyroutes.register('admin_settings_global_update', '/_admin/settings/global/update', []);
52 pyroutes.register('admin_settings_global_update', '/_admin/settings/global/update', []);
53 pyroutes.register('admin_settings_hooks', '/_admin/settings/hooks', []);
53 pyroutes.register('admin_settings_hooks', '/_admin/settings/hooks', []);
54 pyroutes.register('admin_settings_hooks_delete', '/_admin/settings/hooks/delete', []);
54 pyroutes.register('admin_settings_hooks_delete', '/_admin/settings/hooks/delete', []);
55 pyroutes.register('admin_settings_hooks_update', '/_admin/settings/hooks/update', []);
55 pyroutes.register('admin_settings_hooks_update', '/_admin/settings/hooks/update', []);
56 pyroutes.register('admin_settings_issuetracker', '/_admin/settings/issue-tracker', []);
56 pyroutes.register('admin_settings_issuetracker', '/_admin/settings/issue-tracker', []);
57 pyroutes.register('admin_settings_issuetracker_delete', '/_admin/settings/issue-tracker/delete', []);
57 pyroutes.register('admin_settings_issuetracker_delete', '/_admin/settings/issue-tracker/delete', []);
58 pyroutes.register('admin_settings_issuetracker_test', '/_admin/settings/issue-tracker/test', []);
58 pyroutes.register('admin_settings_issuetracker_test', '/_admin/settings/issue-tracker/test', []);
59 pyroutes.register('admin_settings_issuetracker_update', '/_admin/settings/issue-tracker/update', []);
59 pyroutes.register('admin_settings_issuetracker_update', '/_admin/settings/issue-tracker/update', []);
60 pyroutes.register('admin_settings_labs', '/_admin/settings/labs', []);
60 pyroutes.register('admin_settings_labs', '/_admin/settings/labs', []);
61 pyroutes.register('admin_settings_labs_update', '/_admin/settings/labs/update', []);
61 pyroutes.register('admin_settings_labs_update', '/_admin/settings/labs/update', []);
62 pyroutes.register('admin_settings_license', '/_admin/settings/license', []);
62 pyroutes.register('admin_settings_license', '/_admin/settings/license', []);
63 pyroutes.register('admin_settings_license_unlock', '/_admin/settings/license_unlock', []);
63 pyroutes.register('admin_settings_license_unlock', '/_admin/settings/license_unlock', []);
64 pyroutes.register('admin_settings_mapping', '/_admin/settings/mapping', []);
64 pyroutes.register('admin_settings_mapping', '/_admin/settings/mapping', []);
65 pyroutes.register('admin_settings_mapping_update', '/_admin/settings/mapping/update', []);
65 pyroutes.register('admin_settings_mapping_update', '/_admin/settings/mapping/update', []);
66 pyroutes.register('admin_settings_open_source', '/_admin/settings/open_source', []);
66 pyroutes.register('admin_settings_open_source', '/_admin/settings/open_source', []);
67 pyroutes.register('admin_settings_process_management', '/_admin/settings/process_management', []);
67 pyroutes.register('admin_settings_process_management', '/_admin/settings/process_management', []);
68 pyroutes.register('admin_settings_process_management_data', '/_admin/settings/process_management/data', []);
68 pyroutes.register('admin_settings_process_management_data', '/_admin/settings/process_management/data', []);
69 pyroutes.register('admin_settings_process_management_master_signal', '/_admin/settings/process_management/master_signal', []);
69 pyroutes.register('admin_settings_process_management_master_signal', '/_admin/settings/process_management/master_signal', []);
70 pyroutes.register('admin_settings_process_management_signal', '/_admin/settings/process_management/signal', []);
70 pyroutes.register('admin_settings_process_management_signal', '/_admin/settings/process_management/signal', []);
71 pyroutes.register('admin_settings_scheduler_create', '/_admin/scheduler/create', []);
71 pyroutes.register('admin_settings_scheduler_create', '/_admin/scheduler/create', []);
72 pyroutes.register('admin_settings_scheduler_delete', '/_admin/scheduler/%(schedule_id)s/delete', ['schedule_id']);
72 pyroutes.register('admin_settings_scheduler_delete', '/_admin/scheduler/%(schedule_id)s/delete', ['schedule_id']);
73 pyroutes.register('admin_settings_scheduler_edit', '/_admin/scheduler/%(schedule_id)s', ['schedule_id']);
73 pyroutes.register('admin_settings_scheduler_edit', '/_admin/scheduler/%(schedule_id)s', ['schedule_id']);
74 pyroutes.register('admin_settings_scheduler_execute', '/_admin/scheduler/%(schedule_id)s/execute', ['schedule_id']);
74 pyroutes.register('admin_settings_scheduler_execute', '/_admin/scheduler/%(schedule_id)s/execute', ['schedule_id']);
75 pyroutes.register('admin_settings_scheduler_new', '/_admin/scheduler/new', []);
75 pyroutes.register('admin_settings_scheduler_new', '/_admin/scheduler/new', []);
76 pyroutes.register('admin_settings_scheduler_update', '/_admin/scheduler/%(schedule_id)s/update', ['schedule_id']);
76 pyroutes.register('admin_settings_scheduler_update', '/_admin/scheduler/%(schedule_id)s/update', ['schedule_id']);
77 pyroutes.register('admin_settings_search', '/_admin/settings/search', []);
77 pyroutes.register('admin_settings_search', '/_admin/settings/search', []);
78 pyroutes.register('admin_settings_sessions', '/_admin/settings/sessions', []);
78 pyroutes.register('admin_settings_sessions', '/_admin/settings/sessions', []);
79 pyroutes.register('admin_settings_sessions_cleanup', '/_admin/settings/sessions/cleanup', []);
79 pyroutes.register('admin_settings_sessions_cleanup', '/_admin/settings/sessions/cleanup', []);
80 pyroutes.register('admin_settings_system', '/_admin/settings/system', []);
80 pyroutes.register('admin_settings_system', '/_admin/settings/system', []);
81 pyroutes.register('admin_settings_system_update', '/_admin/settings/system/updates', []);
81 pyroutes.register('admin_settings_system_update', '/_admin/settings/system/updates', []);
82 pyroutes.register('admin_settings_update', '/_admin/settings/update', []);
82 pyroutes.register('admin_settings_update', '/_admin/settings/update', []);
83 pyroutes.register('admin_settings_vcs', '/_admin/settings/vcs', []);
83 pyroutes.register('admin_settings_vcs', '/_admin/settings/vcs', []);
84 pyroutes.register('admin_settings_vcs_svn_generate_cfg', '/_admin/settings/vcs/svn_generate_cfg', []);
84 pyroutes.register('admin_settings_vcs_svn_generate_cfg', '/_admin/settings/vcs/svn_generate_cfg', []);
85 pyroutes.register('admin_settings_vcs_svn_pattern_delete', '/_admin/settings/vcs/svn_pattern_delete', []);
85 pyroutes.register('admin_settings_vcs_svn_pattern_delete', '/_admin/settings/vcs/svn_pattern_delete', []);
86 pyroutes.register('admin_settings_vcs_update', '/_admin/settings/vcs/update', []);
86 pyroutes.register('admin_settings_vcs_update', '/_admin/settings/vcs/update', []);
87 pyroutes.register('admin_settings_visual', '/_admin/settings/visual', []);
87 pyroutes.register('admin_settings_visual', '/_admin/settings/visual', []);
88 pyroutes.register('admin_settings_visual_update', '/_admin/settings/visual/update', []);
88 pyroutes.register('admin_settings_visual_update', '/_admin/settings/visual/update', []);
89 pyroutes.register('apiv2', '/_admin/api', []);
89 pyroutes.register('apiv2', '/_admin/api', []);
90 pyroutes.register('atom_feed_home', '/%(repo_name)s/feed-atom', ['repo_name']);
90 pyroutes.register('atom_feed_home', '/%(repo_name)s/feed-atom', ['repo_name']);
91 pyroutes.register('atom_feed_home_old', '/%(repo_name)s/feed/atom', ['repo_name']);
91 pyroutes.register('atom_feed_home_old', '/%(repo_name)s/feed/atom', ['repo_name']);
92 pyroutes.register('auth_home', '/_admin/auth*traverse', []);
92 pyroutes.register('auth_home', '/_admin/auth*traverse', []);
93 pyroutes.register('bookmarks_home', '/%(repo_name)s/bookmarks', ['repo_name']);
93 pyroutes.register('bookmarks_home', '/%(repo_name)s/bookmarks', ['repo_name']);
94 pyroutes.register('branches_home', '/%(repo_name)s/branches', ['repo_name']);
94 pyroutes.register('branches_home', '/%(repo_name)s/branches', ['repo_name']);
95 pyroutes.register('branch_remove', '/%(repo_name)s/%(branch_name)s/remove', ['repo_name', 'branch_name']);
95 pyroutes.register('branch_remove', '/%(repo_name)s/branches/%(branch_name)s/remove', ['repo_name', 'branch_name']);
96 pyroutes.register('channelstream_connect', '/_admin/channelstream/connect', []);
96 pyroutes.register('channelstream_connect', '/_admin/channelstream/connect', []);
97 pyroutes.register('channelstream_proxy', '/_channelstream', []);
97 pyroutes.register('channelstream_proxy', '/_channelstream', []);
98 pyroutes.register('channelstream_subscribe', '/_admin/channelstream/subscribe', []);
98 pyroutes.register('channelstream_subscribe', '/_admin/channelstream/subscribe', []);
99 pyroutes.register('check_2fa', '/_admin/check_2fa', []);
99 pyroutes.register('check_2fa', '/_admin/check_2fa', []);
100 pyroutes.register('commit_draft_comments_submit', '/%(repo_name)s/changeset/%(commit_id)s/draft_comments_submit', ['repo_name', 'commit_id']);
100 pyroutes.register('commit_draft_comments_submit', '/%(repo_name)s/changeset/%(commit_id)s/draft_comments_submit', ['repo_name', 'commit_id']);
101 pyroutes.register('debug_style_email', '/_admin/debug_style/email/%(email_id)s', ['email_id']);
101 pyroutes.register('debug_style_email', '/_admin/debug_style/email/%(email_id)s', ['email_id']);
102 pyroutes.register('debug_style_email_plain_rendered', '/_admin/debug_style/email-rendered/%(email_id)s', ['email_id']);
102 pyroutes.register('debug_style_email_plain_rendered', '/_admin/debug_style/email-rendered/%(email_id)s', ['email_id']);
103 pyroutes.register('debug_style_home', '/_admin/debug_style', []);
103 pyroutes.register('debug_style_home', '/_admin/debug_style', []);
104 pyroutes.register('debug_style_template', '/_admin/debug_style/t/%(t_path)s', ['t_path']);
104 pyroutes.register('debug_style_template', '/_admin/debug_style/t/%(t_path)s', ['t_path']);
105 pyroutes.register('download_file', '/_file_store/download/%(fid)s', ['fid']);
105 pyroutes.register('download_file', '/_file_store/download/%(fid)s', ['fid']);
106 pyroutes.register('download_file_by_token', '/_file_store/token-download/%(_auth_token)s/%(fid)s', ['_auth_token', 'fid']);
106 pyroutes.register('download_file_by_token', '/_file_store/token-download/%(_auth_token)s/%(fid)s', ['_auth_token', 'fid']);
107 pyroutes.register('edit_repo', '/%(repo_name)s/settings', ['repo_name']);
107 pyroutes.register('edit_repo', '/%(repo_name)s/settings', ['repo_name']);
108 pyroutes.register('edit_repo_advanced', '/%(repo_name)s/settings/advanced', ['repo_name']);
108 pyroutes.register('edit_repo_advanced', '/%(repo_name)s/settings/advanced', ['repo_name']);
109 pyroutes.register('edit_repo_advanced_archive', '/%(repo_name)s/settings/advanced/archive', ['repo_name']);
109 pyroutes.register('edit_repo_advanced_archive', '/%(repo_name)s/settings/advanced/archive', ['repo_name']);
110 pyroutes.register('edit_repo_advanced_delete', '/%(repo_name)s/settings/advanced/delete', ['repo_name']);
110 pyroutes.register('edit_repo_advanced_delete', '/%(repo_name)s/settings/advanced/delete', ['repo_name']);
111 pyroutes.register('edit_repo_advanced_fork', '/%(repo_name)s/settings/advanced/fork', ['repo_name']);
111 pyroutes.register('edit_repo_advanced_fork', '/%(repo_name)s/settings/advanced/fork', ['repo_name']);
112 pyroutes.register('edit_repo_advanced_hooks', '/%(repo_name)s/settings/advanced/hooks', ['repo_name']);
112 pyroutes.register('edit_repo_advanced_hooks', '/%(repo_name)s/settings/advanced/hooks', ['repo_name']);
113 pyroutes.register('edit_repo_advanced_journal', '/%(repo_name)s/settings/advanced/journal', ['repo_name']);
113 pyroutes.register('edit_repo_advanced_journal', '/%(repo_name)s/settings/advanced/journal', ['repo_name']);
114 pyroutes.register('edit_repo_advanced_locking', '/%(repo_name)s/settings/advanced/locking', ['repo_name']);
114 pyroutes.register('edit_repo_advanced_locking', '/%(repo_name)s/settings/advanced/locking', ['repo_name']);
115 pyroutes.register('edit_repo_audit_logs', '/%(repo_name)s/settings/audit_logs', ['repo_name']);
115 pyroutes.register('edit_repo_audit_logs', '/%(repo_name)s/settings/audit_logs', ['repo_name']);
116 pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']);
116 pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']);
117 pyroutes.register('edit_repo_fields', '/%(repo_name)s/settings/fields', ['repo_name']);
117 pyroutes.register('edit_repo_fields', '/%(repo_name)s/settings/fields', ['repo_name']);
118 pyroutes.register('edit_repo_fields_create', '/%(repo_name)s/settings/fields/create', ['repo_name']);
118 pyroutes.register('edit_repo_fields_create', '/%(repo_name)s/settings/fields/create', ['repo_name']);
119 pyroutes.register('edit_repo_fields_delete', '/%(repo_name)s/settings/fields/%(field_id)s/delete', ['repo_name', 'field_id']);
119 pyroutes.register('edit_repo_fields_delete', '/%(repo_name)s/settings/fields/%(field_id)s/delete', ['repo_name', 'field_id']);
120 pyroutes.register('edit_repo_group', '/%(repo_group_name)s/_edit', ['repo_group_name']);
120 pyroutes.register('edit_repo_group', '/%(repo_group_name)s/_edit', ['repo_group_name']);
121 pyroutes.register('edit_repo_group_advanced', '/%(repo_group_name)s/_settings/advanced', ['repo_group_name']);
121 pyroutes.register('edit_repo_group_advanced', '/%(repo_group_name)s/_settings/advanced', ['repo_group_name']);
122 pyroutes.register('edit_repo_group_advanced_delete', '/%(repo_group_name)s/_settings/advanced/delete', ['repo_group_name']);
122 pyroutes.register('edit_repo_group_advanced_delete', '/%(repo_group_name)s/_settings/advanced/delete', ['repo_group_name']);
123 pyroutes.register('edit_repo_group_perms', '/%(repo_group_name)s/_settings/permissions', ['repo_group_name']);
123 pyroutes.register('edit_repo_group_perms', '/%(repo_group_name)s/_settings/permissions', ['repo_group_name']);
124 pyroutes.register('edit_repo_group_perms_update', '/%(repo_group_name)s/_settings/permissions/update', ['repo_group_name']);
124 pyroutes.register('edit_repo_group_perms_update', '/%(repo_group_name)s/_settings/permissions/update', ['repo_group_name']);
125 pyroutes.register('edit_repo_issuetracker', '/%(repo_name)s/settings/issue_trackers', ['repo_name']);
125 pyroutes.register('edit_repo_issuetracker', '/%(repo_name)s/settings/issue_trackers', ['repo_name']);
126 pyroutes.register('edit_repo_issuetracker_delete', '/%(repo_name)s/settings/issue_trackers/delete', ['repo_name']);
126 pyroutes.register('edit_repo_issuetracker_delete', '/%(repo_name)s/settings/issue_trackers/delete', ['repo_name']);
127 pyroutes.register('edit_repo_issuetracker_test', '/%(repo_name)s/settings/issue_trackers/test', ['repo_name']);
127 pyroutes.register('edit_repo_issuetracker_test', '/%(repo_name)s/settings/issue_trackers/test', ['repo_name']);
128 pyroutes.register('edit_repo_issuetracker_update', '/%(repo_name)s/settings/issue_trackers/update', ['repo_name']);
128 pyroutes.register('edit_repo_issuetracker_update', '/%(repo_name)s/settings/issue_trackers/update', ['repo_name']);
129 pyroutes.register('edit_repo_maintenance', '/%(repo_name)s/settings/maintenance', ['repo_name']);
129 pyroutes.register('edit_repo_maintenance', '/%(repo_name)s/settings/maintenance', ['repo_name']);
130 pyroutes.register('edit_repo_maintenance_execute', '/%(repo_name)s/settings/maintenance/execute', ['repo_name']);
130 pyroutes.register('edit_repo_maintenance_execute', '/%(repo_name)s/settings/maintenance/execute', ['repo_name']);
131 pyroutes.register('edit_repo_perms', '/%(repo_name)s/settings/permissions', ['repo_name']);
131 pyroutes.register('edit_repo_perms', '/%(repo_name)s/settings/permissions', ['repo_name']);
132 pyroutes.register('edit_repo_perms_branch', '/%(repo_name)s/settings/branch_permissions', ['repo_name']);
132 pyroutes.register('edit_repo_perms_branch', '/%(repo_name)s/settings/branch_permissions', ['repo_name']);
133 pyroutes.register('edit_repo_perms_branch_delete', '/%(repo_name)s/settings/branch_permissions/%(rule_id)s/delete', ['repo_name', 'rule_id']);
133 pyroutes.register('edit_repo_perms_branch_delete', '/%(repo_name)s/settings/branch_permissions/%(rule_id)s/delete', ['repo_name', 'rule_id']);
134 pyroutes.register('edit_repo_perms_set_private', '/%(repo_name)s/settings/permissions/set_private', ['repo_name']);
134 pyroutes.register('edit_repo_perms_set_private', '/%(repo_name)s/settings/permissions/set_private', ['repo_name']);
135 pyroutes.register('edit_repo_remote', '/%(repo_name)s/settings/remote', ['repo_name']);
135 pyroutes.register('edit_repo_remote', '/%(repo_name)s/settings/remote', ['repo_name']);
136 pyroutes.register('edit_repo_remote_pull', '/%(repo_name)s/settings/remote/pull', ['repo_name']);
136 pyroutes.register('edit_repo_remote_pull', '/%(repo_name)s/settings/remote/pull', ['repo_name']);
137 pyroutes.register('edit_repo_remote_push', '/%(repo_name)s/settings/remote/push', ['repo_name']);
137 pyroutes.register('edit_repo_remote_push', '/%(repo_name)s/settings/remote/push', ['repo_name']);
138 pyroutes.register('edit_repo_statistics', '/%(repo_name)s/settings/statistics', ['repo_name']);
138 pyroutes.register('edit_repo_statistics', '/%(repo_name)s/settings/statistics', ['repo_name']);
139 pyroutes.register('edit_repo_statistics_reset', '/%(repo_name)s/settings/statistics/update', ['repo_name']);
139 pyroutes.register('edit_repo_statistics_reset', '/%(repo_name)s/settings/statistics/update', ['repo_name']);
140 pyroutes.register('edit_repo_strip', '/%(repo_name)s/settings/strip', ['repo_name']);
140 pyroutes.register('edit_repo_strip', '/%(repo_name)s/settings/strip', ['repo_name']);
141 pyroutes.register('edit_repo_vcs', '/%(repo_name)s/settings/vcs', ['repo_name']);
141 pyroutes.register('edit_repo_vcs', '/%(repo_name)s/settings/vcs', ['repo_name']);
142 pyroutes.register('edit_repo_vcs_svn_pattern_delete', '/%(repo_name)s/settings/vcs/svn_pattern/delete', ['repo_name']);
142 pyroutes.register('edit_repo_vcs_svn_pattern_delete', '/%(repo_name)s/settings/vcs/svn_pattern/delete', ['repo_name']);
143 pyroutes.register('edit_repo_vcs_update', '/%(repo_name)s/settings/vcs/update', ['repo_name']);
143 pyroutes.register('edit_repo_vcs_update', '/%(repo_name)s/settings/vcs/update', ['repo_name']);
144 pyroutes.register('edit_user_audit_logs', '/_admin/users/%(user_id)s/edit/audit', ['user_id']);
144 pyroutes.register('edit_user_audit_logs', '/_admin/users/%(user_id)s/edit/audit', ['user_id']);
145 pyroutes.register('edit_user_audit_logs_download', '/_admin/users/%(user_id)s/edit/audit/download', ['user_id']);
145 pyroutes.register('edit_user_audit_logs_download', '/_admin/users/%(user_id)s/edit/audit/download', ['user_id']);
146 pyroutes.register('edit_user_auth_tokens', '/_admin/users/%(user_id)s/edit/auth_tokens', ['user_id']);
146 pyroutes.register('edit_user_auth_tokens', '/_admin/users/%(user_id)s/edit/auth_tokens', ['user_id']);
147 pyroutes.register('edit_user_auth_tokens_add', '/_admin/users/%(user_id)s/edit/auth_tokens/new', ['user_id']);
147 pyroutes.register('edit_user_auth_tokens_add', '/_admin/users/%(user_id)s/edit/auth_tokens/new', ['user_id']);
148 pyroutes.register('edit_user_auth_tokens_delete', '/_admin/users/%(user_id)s/edit/auth_tokens/delete', ['user_id']);
148 pyroutes.register('edit_user_auth_tokens_delete', '/_admin/users/%(user_id)s/edit/auth_tokens/delete', ['user_id']);
149 pyroutes.register('edit_user_auth_tokens_view', '/_admin/users/%(user_id)s/edit/auth_tokens/view', ['user_id']);
149 pyroutes.register('edit_user_auth_tokens_view', '/_admin/users/%(user_id)s/edit/auth_tokens/view', ['user_id']);
150 pyroutes.register('edit_user_caches', '/_admin/users/%(user_id)s/edit/caches', ['user_id']);
150 pyroutes.register('edit_user_caches', '/_admin/users/%(user_id)s/edit/caches', ['user_id']);
151 pyroutes.register('edit_user_caches_update', '/_admin/users/%(user_id)s/edit/caches/update', ['user_id']);
151 pyroutes.register('edit_user_caches_update', '/_admin/users/%(user_id)s/edit/caches/update', ['user_id']);
152 pyroutes.register('edit_user_emails', '/_admin/users/%(user_id)s/edit/emails', ['user_id']);
152 pyroutes.register('edit_user_emails', '/_admin/users/%(user_id)s/edit/emails', ['user_id']);
153 pyroutes.register('edit_user_emails_add', '/_admin/users/%(user_id)s/edit/emails/new', ['user_id']);
153 pyroutes.register('edit_user_emails_add', '/_admin/users/%(user_id)s/edit/emails/new', ['user_id']);
154 pyroutes.register('edit_user_emails_delete', '/_admin/users/%(user_id)s/edit/emails/delete', ['user_id']);
154 pyroutes.register('edit_user_emails_delete', '/_admin/users/%(user_id)s/edit/emails/delete', ['user_id']);
155 pyroutes.register('edit_user_group', '/_admin/user_groups/%(user_group_id)s/edit', ['user_group_id']);
155 pyroutes.register('edit_user_group', '/_admin/user_groups/%(user_group_id)s/edit', ['user_group_id']);
156 pyroutes.register('edit_user_group_advanced', '/_admin/user_groups/%(user_group_id)s/edit/advanced', ['user_group_id']);
156 pyroutes.register('edit_user_group_advanced', '/_admin/user_groups/%(user_group_id)s/edit/advanced', ['user_group_id']);
157 pyroutes.register('edit_user_group_advanced_sync', '/_admin/user_groups/%(user_group_id)s/edit/advanced/sync', ['user_group_id']);
157 pyroutes.register('edit_user_group_advanced_sync', '/_admin/user_groups/%(user_group_id)s/edit/advanced/sync', ['user_group_id']);
158 pyroutes.register('edit_user_group_global_perms', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions', ['user_group_id']);
158 pyroutes.register('edit_user_group_global_perms', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions', ['user_group_id']);
159 pyroutes.register('edit_user_group_global_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions/update', ['user_group_id']);
159 pyroutes.register('edit_user_group_global_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions/update', ['user_group_id']);
160 pyroutes.register('edit_user_group_perms', '/_admin/user_groups/%(user_group_id)s/edit/permissions', ['user_group_id']);
160 pyroutes.register('edit_user_group_perms', '/_admin/user_groups/%(user_group_id)s/edit/permissions', ['user_group_id']);
161 pyroutes.register('edit_user_group_perms_summary', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary', ['user_group_id']);
161 pyroutes.register('edit_user_group_perms_summary', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary', ['user_group_id']);
162 pyroutes.register('edit_user_group_perms_summary_json', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary/json', ['user_group_id']);
162 pyroutes.register('edit_user_group_perms_summary_json', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary/json', ['user_group_id']);
163 pyroutes.register('edit_user_group_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/permissions/update', ['user_group_id']);
163 pyroutes.register('edit_user_group_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/permissions/update', ['user_group_id']);
164 pyroutes.register('edit_user_groups_management', '/_admin/users/%(user_id)s/edit/groups_management', ['user_id']);
164 pyroutes.register('edit_user_groups_management', '/_admin/users/%(user_id)s/edit/groups_management', ['user_id']);
165 pyroutes.register('edit_user_groups_management_updates', '/_admin/users/%(user_id)s/edit/edit_user_groups_management/updates', ['user_id']);
165 pyroutes.register('edit_user_groups_management_updates', '/_admin/users/%(user_id)s/edit/edit_user_groups_management/updates', ['user_id']);
166 pyroutes.register('edit_user_ips', '/_admin/users/%(user_id)s/edit/ips', ['user_id']);
166 pyroutes.register('edit_user_ips', '/_admin/users/%(user_id)s/edit/ips', ['user_id']);
167 pyroutes.register('edit_user_ips_add', '/_admin/users/%(user_id)s/edit/ips/new', ['user_id']);
167 pyroutes.register('edit_user_ips_add', '/_admin/users/%(user_id)s/edit/ips/new', ['user_id']);
168 pyroutes.register('edit_user_ips_delete', '/_admin/users/%(user_id)s/edit/ips/delete', ['user_id']);
168 pyroutes.register('edit_user_ips_delete', '/_admin/users/%(user_id)s/edit/ips/delete', ['user_id']);
169 pyroutes.register('edit_user_perms_summary', '/_admin/users/%(user_id)s/edit/permissions_summary', ['user_id']);
169 pyroutes.register('edit_user_perms_summary', '/_admin/users/%(user_id)s/edit/permissions_summary', ['user_id']);
170 pyroutes.register('edit_user_perms_summary_json', '/_admin/users/%(user_id)s/edit/permissions_summary/json', ['user_id']);
170 pyroutes.register('edit_user_perms_summary_json', '/_admin/users/%(user_id)s/edit/permissions_summary/json', ['user_id']);
171 pyroutes.register('edit_user_ssh_keys', '/_admin/users/%(user_id)s/edit/ssh_keys', ['user_id']);
171 pyroutes.register('edit_user_ssh_keys', '/_admin/users/%(user_id)s/edit/ssh_keys', ['user_id']);
172 pyroutes.register('edit_user_ssh_keys_add', '/_admin/users/%(user_id)s/edit/ssh_keys/new', ['user_id']);
172 pyroutes.register('edit_user_ssh_keys_add', '/_admin/users/%(user_id)s/edit/ssh_keys/new', ['user_id']);
173 pyroutes.register('edit_user_ssh_keys_delete', '/_admin/users/%(user_id)s/edit/ssh_keys/delete', ['user_id']);
173 pyroutes.register('edit_user_ssh_keys_delete', '/_admin/users/%(user_id)s/edit/ssh_keys/delete', ['user_id']);
174 pyroutes.register('edit_user_ssh_keys_generate_keypair', '/_admin/users/%(user_id)s/edit/ssh_keys/generate', ['user_id']);
174 pyroutes.register('edit_user_ssh_keys_generate_keypair', '/_admin/users/%(user_id)s/edit/ssh_keys/generate', ['user_id']);
175 pyroutes.register('favicon', '/favicon.ico', []);
175 pyroutes.register('favicon', '/favicon.ico', []);
176 pyroutes.register('file_preview', '/_file_preview', []);
176 pyroutes.register('file_preview', '/_file_preview', []);
177 pyroutes.register('gist_delete', '/_admin/gists/%(gist_id)s/delete', ['gist_id']);
177 pyroutes.register('gist_delete', '/_admin/gists/%(gist_id)s/delete', ['gist_id']);
178 pyroutes.register('gist_edit', '/_admin/gists/%(gist_id)s/edit', ['gist_id']);
178 pyroutes.register('gist_edit', '/_admin/gists/%(gist_id)s/edit', ['gist_id']);
179 pyroutes.register('gist_edit_check_revision', '/_admin/gists/%(gist_id)s/edit/check_revision', ['gist_id']);
179 pyroutes.register('gist_edit_check_revision', '/_admin/gists/%(gist_id)s/edit/check_revision', ['gist_id']);
180 pyroutes.register('gist_show', '/_admin/gists/%(gist_id)s', ['gist_id']);
180 pyroutes.register('gist_show', '/_admin/gists/%(gist_id)s', ['gist_id']);
181 pyroutes.register('gist_show_formatted', '/_admin/gists/%(gist_id)s/rev/%(revision)s/%(format)s', ['gist_id', 'revision', 'format']);
181 pyroutes.register('gist_show_formatted', '/_admin/gists/%(gist_id)s/rev/%(revision)s/%(format)s', ['gist_id', 'revision', 'format']);
182 pyroutes.register('gist_show_formatted_path', '/_admin/gists/%(gist_id)s/rev/%(revision)s/%(format)s/%(f_path)s', ['gist_id', 'revision', 'format', 'f_path']);
182 pyroutes.register('gist_show_formatted_path', '/_admin/gists/%(gist_id)s/rev/%(revision)s/%(format)s/%(f_path)s', ['gist_id', 'revision', 'format', 'f_path']);
183 pyroutes.register('gist_show_rev', '/_admin/gists/%(gist_id)s/rev/%(revision)s', ['gist_id', 'revision']);
183 pyroutes.register('gist_show_rev', '/_admin/gists/%(gist_id)s/rev/%(revision)s', ['gist_id', 'revision']);
184 pyroutes.register('gist_update', '/_admin/gists/%(gist_id)s/update', ['gist_id']);
184 pyroutes.register('gist_update', '/_admin/gists/%(gist_id)s/update', ['gist_id']);
185 pyroutes.register('gists_create', '/_admin/gists/create', []);
185 pyroutes.register('gists_create', '/_admin/gists/create', []);
186 pyroutes.register('gists_new', '/_admin/gists/new', []);
186 pyroutes.register('gists_new', '/_admin/gists/new', []);
187 pyroutes.register('gists_show', '/_admin/gists', []);
187 pyroutes.register('gists_show', '/_admin/gists', []);
188 pyroutes.register('global_integrations_create', '/_admin/integrations/%(integration)s/new', ['integration']);
188 pyroutes.register('global_integrations_create', '/_admin/integrations/%(integration)s/new', ['integration']);
189 pyroutes.register('global_integrations_edit', '/_admin/integrations/%(integration)s/%(integration_id)s', ['integration', 'integration_id']);
189 pyroutes.register('global_integrations_edit', '/_admin/integrations/%(integration)s/%(integration_id)s', ['integration', 'integration_id']);
190 pyroutes.register('global_integrations_home', '/_admin/integrations', []);
190 pyroutes.register('global_integrations_home', '/_admin/integrations', []);
191 pyroutes.register('global_integrations_list', '/_admin/integrations/%(integration)s', ['integration']);
191 pyroutes.register('global_integrations_list', '/_admin/integrations/%(integration)s', ['integration']);
192 pyroutes.register('global_integrations_new', '/_admin/integrations/new', []);
192 pyroutes.register('global_integrations_new', '/_admin/integrations/new', []);
193 pyroutes.register('goto_switcher_data', '/_goto_data', []);
193 pyroutes.register('goto_switcher_data', '/_goto_data', []);
194 pyroutes.register('home', '/', []);
194 pyroutes.register('home', '/', []);
195 pyroutes.register('hovercard_pull_request', '/_hovercard/pull_request/%(pull_request_id)s', ['pull_request_id']);
195 pyroutes.register('hovercard_pull_request', '/_hovercard/pull_request/%(pull_request_id)s', ['pull_request_id']);
196 pyroutes.register('hovercard_repo_commit', '/_hovercard/commit/%(repo_name)s/%(commit_id)s', ['repo_name', 'commit_id']);
196 pyroutes.register('hovercard_repo_commit', '/_hovercard/commit/%(repo_name)s/%(commit_id)s', ['repo_name', 'commit_id']);
197 pyroutes.register('hovercard_user', '/_hovercard/user/%(user_id)s', ['user_id']);
197 pyroutes.register('hovercard_user', '/_hovercard/user/%(user_id)s', ['user_id']);
198 pyroutes.register('hovercard_user_group', '/_hovercard/user_group/%(user_group_id)s', ['user_group_id']);
198 pyroutes.register('hovercard_user_group', '/_hovercard/user_group/%(user_group_id)s', ['user_group_id']);
199 pyroutes.register('hovercard_username', '/_hovercard/username/%(username)s', ['username']);
199 pyroutes.register('hovercard_username', '/_hovercard/username/%(username)s', ['username']);
200 pyroutes.register('journal', '/_admin/journal', []);
200 pyroutes.register('journal', '/_admin/journal', []);
201 pyroutes.register('journal_atom', '/_admin/journal/atom', []);
201 pyroutes.register('journal_atom', '/_admin/journal/atom', []);
202 pyroutes.register('journal_public', '/_admin/public_journal', []);
202 pyroutes.register('journal_public', '/_admin/public_journal', []);
203 pyroutes.register('journal_public_atom', '/_admin/public_journal/atom', []);
203 pyroutes.register('journal_public_atom', '/_admin/public_journal/atom', []);
204 pyroutes.register('journal_public_atom_old', '/_admin/public_journal_atom', []);
204 pyroutes.register('journal_public_atom_old', '/_admin/public_journal_atom', []);
205 pyroutes.register('journal_public_rss', '/_admin/public_journal/rss', []);
205 pyroutes.register('journal_public_rss', '/_admin/public_journal/rss', []);
206 pyroutes.register('journal_public_rss_old', '/_admin/public_journal_rss', []);
206 pyroutes.register('journal_public_rss_old', '/_admin/public_journal_rss', []);
207 pyroutes.register('journal_rss', '/_admin/journal/rss', []);
207 pyroutes.register('journal_rss', '/_admin/journal/rss', []);
208 pyroutes.register('login', '/_admin/login', []);
208 pyroutes.register('login', '/_admin/login', []);
209 pyroutes.register('logout', '/_admin/logout', []);
209 pyroutes.register('logout', '/_admin/logout', []);
210 pyroutes.register('main_page_repo_groups_data', '/_home_repo_groups', []);
210 pyroutes.register('main_page_repo_groups_data', '/_home_repo_groups', []);
211 pyroutes.register('main_page_repos_data', '/_home_repos', []);
211 pyroutes.register('main_page_repos_data', '/_home_repos', []);
212 pyroutes.register('markup_preview', '/_markup_preview', []);
212 pyroutes.register('markup_preview', '/_markup_preview', []);
213 pyroutes.register('my_account_auth_tokens', '/_admin/my_account/auth_tokens', []);
213 pyroutes.register('my_account_auth_tokens', '/_admin/my_account/auth_tokens', []);
214 pyroutes.register('my_account_auth_tokens_add', '/_admin/my_account/auth_tokens/new', []);
214 pyroutes.register('my_account_auth_tokens_add', '/_admin/my_account/auth_tokens/new', []);
215 pyroutes.register('my_account_auth_tokens_delete', '/_admin/my_account/auth_tokens/delete', []);
215 pyroutes.register('my_account_auth_tokens_delete', '/_admin/my_account/auth_tokens/delete', []);
216 pyroutes.register('my_account_auth_tokens_view', '/_admin/my_account/auth_tokens/view', []);
216 pyroutes.register('my_account_auth_tokens_view', '/_admin/my_account/auth_tokens/view', []);
217 pyroutes.register('my_account_bookmarks', '/_admin/my_account/bookmarks', []);
217 pyroutes.register('my_account_bookmarks', '/_admin/my_account/bookmarks', []);
218 pyroutes.register('my_account_bookmarks_update', '/_admin/my_account/bookmarks/update', []);
218 pyroutes.register('my_account_bookmarks_update', '/_admin/my_account/bookmarks/update', []);
219 pyroutes.register('my_account_configure_2fa', '/_admin/my_account/configure_2fa', []);
219 pyroutes.register('my_account_configure_2fa', '/_admin/my_account/configure_2fa', []);
220 pyroutes.register('my_account_configure_2fa_update', '/_admin/my_account/configure_2fa_update', []);
220 pyroutes.register('my_account_configure_2fa_update', '/_admin/my_account/configure_2fa_update', []);
221 pyroutes.register('my_account_edit', '/_admin/my_account/edit', []);
221 pyroutes.register('my_account_edit', '/_admin/my_account/edit', []);
222 pyroutes.register('my_account_emails', '/_admin/my_account/emails', []);
222 pyroutes.register('my_account_emails', '/_admin/my_account/emails', []);
223 pyroutes.register('my_account_emails_add', '/_admin/my_account/emails/new', []);
223 pyroutes.register('my_account_emails_add', '/_admin/my_account/emails/new', []);
224 pyroutes.register('my_account_emails_delete', '/_admin/my_account/emails/delete', []);
224 pyroutes.register('my_account_emails_delete', '/_admin/my_account/emails/delete', []);
225 pyroutes.register('my_account_external_identity', '/_admin/my_account/external-identity', []);
225 pyroutes.register('my_account_external_identity', '/_admin/my_account/external-identity', []);
226 pyroutes.register('my_account_external_identity_delete', '/_admin/my_account/external-identity/delete', []);
226 pyroutes.register('my_account_external_identity_delete', '/_admin/my_account/external-identity/delete', []);
227 pyroutes.register('my_account_goto_bookmark', '/_admin/my_account/bookmark/%(bookmark_id)s', ['bookmark_id']);
227 pyroutes.register('my_account_goto_bookmark', '/_admin/my_account/bookmark/%(bookmark_id)s', ['bookmark_id']);
228 pyroutes.register('my_account_notifications', '/_admin/my_account/notifications', []);
228 pyroutes.register('my_account_notifications', '/_admin/my_account/notifications', []);
229 pyroutes.register('my_account_notifications_test_channelstream', '/_admin/my_account/test_channelstream', []);
229 pyroutes.register('my_account_notifications_test_channelstream', '/_admin/my_account/test_channelstream', []);
230 pyroutes.register('my_account_notifications_toggle_visibility', '/_admin/my_account/toggle_visibility', []);
230 pyroutes.register('my_account_notifications_toggle_visibility', '/_admin/my_account/toggle_visibility', []);
231 pyroutes.register('my_account_password', '/_admin/my_account/password', []);
231 pyroutes.register('my_account_password', '/_admin/my_account/password', []);
232 pyroutes.register('my_account_password_update', '/_admin/my_account/password/update', []);
232 pyroutes.register('my_account_password_update', '/_admin/my_account/password/update', []);
233 pyroutes.register('my_account_perms', '/_admin/my_account/perms', []);
233 pyroutes.register('my_account_perms', '/_admin/my_account/perms', []);
234 pyroutes.register('my_account_profile', '/_admin/my_account/profile', []);
234 pyroutes.register('my_account_profile', '/_admin/my_account/profile', []);
235 pyroutes.register('my_account_pullrequests', '/_admin/my_account/pull_requests', []);
235 pyroutes.register('my_account_pullrequests', '/_admin/my_account/pull_requests', []);
236 pyroutes.register('my_account_pullrequests_data', '/_admin/my_account/pull_requests/data', []);
236 pyroutes.register('my_account_pullrequests_data', '/_admin/my_account/pull_requests/data', []);
237 pyroutes.register('my_account_regenerate_2fa_recovery_codes', '/_admin/my_account/regenerate_recovery_codes', []);
237 pyroutes.register('my_account_regenerate_2fa_recovery_codes', '/_admin/my_account/regenerate_recovery_codes', []);
238 pyroutes.register('my_account_repos', '/_admin/my_account/repos', []);
238 pyroutes.register('my_account_repos', '/_admin/my_account/repos', []);
239 pyroutes.register('my_account_show_2fa_recovery_codes', '/_admin/my_account/recovery_codes', []);
239 pyroutes.register('my_account_show_2fa_recovery_codes', '/_admin/my_account/recovery_codes', []);
240 pyroutes.register('my_account_ssh_keys', '/_admin/my_account/ssh_keys', []);
240 pyroutes.register('my_account_ssh_keys', '/_admin/my_account/ssh_keys', []);
241 pyroutes.register('my_account_ssh_keys_add', '/_admin/my_account/ssh_keys/new', []);
241 pyroutes.register('my_account_ssh_keys_add', '/_admin/my_account/ssh_keys/new', []);
242 pyroutes.register('my_account_ssh_keys_delete', '/_admin/my_account/ssh_keys/delete', []);
242 pyroutes.register('my_account_ssh_keys_delete', '/_admin/my_account/ssh_keys/delete', []);
243 pyroutes.register('my_account_ssh_keys_generate', '/_admin/my_account/ssh_keys/generate', []);
243 pyroutes.register('my_account_ssh_keys_generate', '/_admin/my_account/ssh_keys/generate', []);
244 pyroutes.register('my_account_update', '/_admin/my_account/update', []);
244 pyroutes.register('my_account_update', '/_admin/my_account/update', []);
245 pyroutes.register('my_account_user_group_membership', '/_admin/my_account/user_group_membership', []);
245 pyroutes.register('my_account_user_group_membership', '/_admin/my_account/user_group_membership', []);
246 pyroutes.register('my_account_watched', '/_admin/my_account/watched', []);
246 pyroutes.register('my_account_watched', '/_admin/my_account/watched', []);
247 pyroutes.register('notifications_delete', '/_admin/notifications/%(notification_id)s/delete', ['notification_id']);
247 pyroutes.register('notifications_delete', '/_admin/notifications/%(notification_id)s/delete', ['notification_id']);
248 pyroutes.register('notifications_mark_all_read', '/_admin/notifications_mark_all_read', []);
248 pyroutes.register('notifications_mark_all_read', '/_admin/notifications_mark_all_read', []);
249 pyroutes.register('notifications_show', '/_admin/notifications/%(notification_id)s', ['notification_id']);
249 pyroutes.register('notifications_show', '/_admin/notifications/%(notification_id)s', ['notification_id']);
250 pyroutes.register('notifications_show_all', '/_admin/notifications', []);
250 pyroutes.register('notifications_show_all', '/_admin/notifications', []);
251 pyroutes.register('notifications_update', '/_admin/notifications/%(notification_id)s/update', ['notification_id']);
251 pyroutes.register('notifications_update', '/_admin/notifications/%(notification_id)s/update', ['notification_id']);
252 pyroutes.register('ops_error_test', '/_admin/ops/error', []);
252 pyroutes.register('ops_error_test', '/_admin/ops/error', []);
253 pyroutes.register('ops_healthcheck', '/_admin/ops/status', []);
253 pyroutes.register('ops_healthcheck', '/_admin/ops/status', []);
254 pyroutes.register('ops_ping', '/_admin/ops/ping', []);
254 pyroutes.register('ops_ping', '/_admin/ops/ping', []);
255 pyroutes.register('ops_redirect_test', '/_admin/ops/redirect', []);
255 pyroutes.register('ops_redirect_test', '/_admin/ops/redirect', []);
256 pyroutes.register('plugin_admin_chat', '/_admin/plugin_admin_chat/%(action)s', ['action']);
256 pyroutes.register('plugin_admin_chat', '/_admin/plugin_admin_chat/%(action)s', ['action']);
257 pyroutes.register('pull_requests_global', '/_admin/pull-request/%(pull_request_id)s', ['pull_request_id']);
257 pyroutes.register('pull_requests_global', '/_admin/pull-request/%(pull_request_id)s', ['pull_request_id']);
258 pyroutes.register('pull_requests_global_0', '/_admin/pull_requests/%(pull_request_id)s', ['pull_request_id']);
258 pyroutes.register('pull_requests_global_0', '/_admin/pull_requests/%(pull_request_id)s', ['pull_request_id']);
259 pyroutes.register('pull_requests_global_1', '/_admin/pull-requests/%(pull_request_id)s', ['pull_request_id']);
259 pyroutes.register('pull_requests_global_1', '/_admin/pull-requests/%(pull_request_id)s', ['pull_request_id']);
260 pyroutes.register('pullrequest_comment_create', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment', ['repo_name', 'pull_request_id']);
260 pyroutes.register('pullrequest_comment_create', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment', ['repo_name', 'pull_request_id']);
261 pyroutes.register('pullrequest_comment_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/delete', ['repo_name', 'pull_request_id', 'comment_id']);
261 pyroutes.register('pullrequest_comment_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/delete', ['repo_name', 'pull_request_id', 'comment_id']);
262 pyroutes.register('pullrequest_comment_edit', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/edit', ['repo_name', 'pull_request_id', 'comment_id']);
262 pyroutes.register('pullrequest_comment_edit', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/edit', ['repo_name', 'pull_request_id', 'comment_id']);
263 pyroutes.register('pullrequest_comments', '/%(repo_name)s/pull-request/%(pull_request_id)s/comments', ['repo_name', 'pull_request_id']);
263 pyroutes.register('pullrequest_comments', '/%(repo_name)s/pull-request/%(pull_request_id)s/comments', ['repo_name', 'pull_request_id']);
264 pyroutes.register('pullrequest_create', '/%(repo_name)s/pull-request/create', ['repo_name']);
264 pyroutes.register('pullrequest_create', '/%(repo_name)s/pull-request/create', ['repo_name']);
265 pyroutes.register('pullrequest_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/delete', ['repo_name', 'pull_request_id']);
265 pyroutes.register('pullrequest_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/delete', ['repo_name', 'pull_request_id']);
266 pyroutes.register('pullrequest_draft_comments_submit', '/%(repo_name)s/pull-request/%(pull_request_id)s/draft_comments_submit', ['repo_name', 'pull_request_id']);
266 pyroutes.register('pullrequest_draft_comments_submit', '/%(repo_name)s/pull-request/%(pull_request_id)s/draft_comments_submit', ['repo_name', 'pull_request_id']);
267 pyroutes.register('pullrequest_drafts', '/%(repo_name)s/pull-request/%(pull_request_id)s/drafts', ['repo_name', 'pull_request_id']);
267 pyroutes.register('pullrequest_drafts', '/%(repo_name)s/pull-request/%(pull_request_id)s/drafts', ['repo_name', 'pull_request_id']);
268 pyroutes.register('pullrequest_merge', '/%(repo_name)s/pull-request/%(pull_request_id)s/merge', ['repo_name', 'pull_request_id']);
268 pyroutes.register('pullrequest_merge', '/%(repo_name)s/pull-request/%(pull_request_id)s/merge', ['repo_name', 'pull_request_id']);
269 pyroutes.register('pullrequest_new', '/%(repo_name)s/pull-request/new', ['repo_name']);
269 pyroutes.register('pullrequest_new', '/%(repo_name)s/pull-request/new', ['repo_name']);
270 pyroutes.register('pullrequest_repo_refs', '/%(repo_name)s/pull-request/refs/%(target_repo_name)s', ['repo_name', 'target_repo_name']);
270 pyroutes.register('pullrequest_repo_refs', '/%(repo_name)s/pull-request/refs/%(target_repo_name)s', ['repo_name', 'target_repo_name']);
271 pyroutes.register('pullrequest_repo_targets', '/%(repo_name)s/pull-request/repo-targets', ['repo_name']);
271 pyroutes.register('pullrequest_repo_targets', '/%(repo_name)s/pull-request/repo-targets', ['repo_name']);
272 pyroutes.register('pullrequest_show', '/%(repo_name)s/pull-request/%(pull_request_id)s', ['repo_name', 'pull_request_id']);
272 pyroutes.register('pullrequest_show', '/%(repo_name)s/pull-request/%(pull_request_id)s', ['repo_name', 'pull_request_id']);
273 pyroutes.register('pullrequest_show_all', '/%(repo_name)s/pull-request', ['repo_name']);
273 pyroutes.register('pullrequest_show_all', '/%(repo_name)s/pull-request', ['repo_name']);
274 pyroutes.register('pullrequest_show_all_data', '/%(repo_name)s/pull-request-data', ['repo_name']);
274 pyroutes.register('pullrequest_show_all_data', '/%(repo_name)s/pull-request-data', ['repo_name']);
275 pyroutes.register('pullrequest_todos', '/%(repo_name)s/pull-request/%(pull_request_id)s/todos', ['repo_name', 'pull_request_id']);
275 pyroutes.register('pullrequest_todos', '/%(repo_name)s/pull-request/%(pull_request_id)s/todos', ['repo_name', 'pull_request_id']);
276 pyroutes.register('pullrequest_update', '/%(repo_name)s/pull-request/%(pull_request_id)s/update', ['repo_name', 'pull_request_id']);
276 pyroutes.register('pullrequest_update', '/%(repo_name)s/pull-request/%(pull_request_id)s/update', ['repo_name', 'pull_request_id']);
277 pyroutes.register('register', '/_admin/register', []);
277 pyroutes.register('register', '/_admin/register', []);
278 pyroutes.register('repo_archivefile', '/%(repo_name)s/archive/%(fname)s', ['repo_name', 'fname']);
278 pyroutes.register('repo_archivefile', '/%(repo_name)s/archive/%(fname)s', ['repo_name', 'fname']);
279 pyroutes.register('repo_artifacts_data', '/%(repo_name)s/artifacts_data', ['repo_name']);
279 pyroutes.register('repo_artifacts_data', '/%(repo_name)s/artifacts_data', ['repo_name']);
280 pyroutes.register('repo_artifacts_delete', '/%(repo_name)s/artifacts/delete/%(uid)s', ['repo_name', 'uid']);
280 pyroutes.register('repo_artifacts_delete', '/%(repo_name)s/artifacts/delete/%(uid)s', ['repo_name', 'uid']);
281 pyroutes.register('repo_artifacts_get', '/%(repo_name)s/artifacts/download/%(uid)s', ['repo_name', 'uid']);
281 pyroutes.register('repo_artifacts_get', '/%(repo_name)s/artifacts/download/%(uid)s', ['repo_name', 'uid']);
282 pyroutes.register('repo_artifacts_info', '/%(repo_name)s/artifacts/info/%(uid)s', ['repo_name', 'uid']);
282 pyroutes.register('repo_artifacts_info', '/%(repo_name)s/artifacts/info/%(uid)s', ['repo_name', 'uid']);
283 pyroutes.register('repo_artifacts_list', '/%(repo_name)s/artifacts', ['repo_name']);
283 pyroutes.register('repo_artifacts_list', '/%(repo_name)s/artifacts', ['repo_name']);
284 pyroutes.register('repo_artifacts_new', '/%(repo_name)s/artifacts/new', ['repo_name']);
284 pyroutes.register('repo_artifacts_new', '/%(repo_name)s/artifacts/new', ['repo_name']);
285 pyroutes.register('repo_artifacts_store', '/%(repo_name)s/artifacts/store', ['repo_name']);
285 pyroutes.register('repo_artifacts_store', '/%(repo_name)s/artifacts/store', ['repo_name']);
286 pyroutes.register('repo_artifacts_stream_script', '/_file_store/stream-upload-script', []);
286 pyroutes.register('repo_artifacts_stream_script', '/_file_store/stream-upload-script', []);
287 pyroutes.register('repo_artifacts_stream_store', '/_file_store/stream-upload', []);
287 pyroutes.register('repo_artifacts_stream_store', '/_file_store/stream-upload', []);
288 pyroutes.register('repo_artifacts_update', '/%(repo_name)s/artifacts/update/%(uid)s', ['repo_name', 'uid']);
288 pyroutes.register('repo_artifacts_update', '/%(repo_name)s/artifacts/update/%(uid)s', ['repo_name', 'uid']);
289 pyroutes.register('repo_automation', '/%(repo_name)s/settings/automation', ['repo_name']);
289 pyroutes.register('repo_automation', '/%(repo_name)s/settings/automation', ['repo_name']);
290 pyroutes.register('repo_automation_update', '/%(repo_name)s/settings/automation/%(entry_id)s/update', ['repo_name', 'entry_id']);
290 pyroutes.register('repo_automation_update', '/%(repo_name)s/settings/automation/%(entry_id)s/update', ['repo_name', 'entry_id']);
291 pyroutes.register('repo_changelog', '/%(repo_name)s/changelog', ['repo_name']);
291 pyroutes.register('repo_changelog', '/%(repo_name)s/changelog', ['repo_name']);
292 pyroutes.register('repo_changelog_file', '/%(repo_name)s/changelog/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
292 pyroutes.register('repo_changelog_file', '/%(repo_name)s/changelog/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
293 pyroutes.register('repo_commit', '/%(repo_name)s/changeset/%(commit_id)s', ['repo_name', 'commit_id']);
293 pyroutes.register('repo_commit', '/%(repo_name)s/changeset/%(commit_id)s', ['repo_name', 'commit_id']);
294 pyroutes.register('repo_commit_children', '/%(repo_name)s/changeset_children/%(commit_id)s', ['repo_name', 'commit_id']);
294 pyroutes.register('repo_commit_children', '/%(repo_name)s/changeset_children/%(commit_id)s', ['repo_name', 'commit_id']);
295 pyroutes.register('repo_commit_comment_attachment_upload', '/%(repo_name)s/changeset/%(commit_id)s/comment/attachment_upload', ['repo_name', 'commit_id']);
295 pyroutes.register('repo_commit_comment_attachment_upload', '/%(repo_name)s/changeset/%(commit_id)s/comment/attachment_upload', ['repo_name', 'commit_id']);
296 pyroutes.register('repo_commit_comment_create', '/%(repo_name)s/changeset/%(commit_id)s/comment/create', ['repo_name', 'commit_id']);
296 pyroutes.register('repo_commit_comment_create', '/%(repo_name)s/changeset/%(commit_id)s/comment/create', ['repo_name', 'commit_id']);
297 pyroutes.register('repo_commit_comment_delete', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/delete', ['repo_name', 'commit_id', 'comment_id']);
297 pyroutes.register('repo_commit_comment_delete', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/delete', ['repo_name', 'commit_id', 'comment_id']);
298 pyroutes.register('repo_commit_comment_edit', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/edit', ['repo_name', 'commit_id', 'comment_id']);
298 pyroutes.register('repo_commit_comment_edit', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/edit', ['repo_name', 'commit_id', 'comment_id']);
299 pyroutes.register('repo_commit_comment_history_view', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/history_view/%(comment_history_id)s', ['repo_name', 'commit_id', 'comment_id', 'comment_history_id']);
299 pyroutes.register('repo_commit_comment_history_view', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/history_view/%(comment_history_id)s', ['repo_name', 'commit_id', 'comment_id', 'comment_history_id']);
300 pyroutes.register('repo_commit_comment_preview', '/%(repo_name)s/changeset/%(commit_id)s/comment/preview', ['repo_name', 'commit_id']);
300 pyroutes.register('repo_commit_comment_preview', '/%(repo_name)s/changeset/%(commit_id)s/comment/preview', ['repo_name', 'commit_id']);
301 pyroutes.register('repo_commit_data', '/%(repo_name)s/changeset-data/%(commit_id)s', ['repo_name', 'commit_id']);
301 pyroutes.register('repo_commit_data', '/%(repo_name)s/changeset-data/%(commit_id)s', ['repo_name', 'commit_id']);
302 pyroutes.register('repo_commit_download', '/%(repo_name)s/changeset-download/%(commit_id)s', ['repo_name', 'commit_id']);
302 pyroutes.register('repo_commit_download', '/%(repo_name)s/changeset-download/%(commit_id)s', ['repo_name', 'commit_id']);
303 pyroutes.register('repo_commit_parents', '/%(repo_name)s/changeset_parents/%(commit_id)s', ['repo_name', 'commit_id']);
303 pyroutes.register('repo_commit_parents', '/%(repo_name)s/changeset_parents/%(commit_id)s', ['repo_name', 'commit_id']);
304 pyroutes.register('repo_commit_patch', '/%(repo_name)s/changeset-patch/%(commit_id)s', ['repo_name', 'commit_id']);
304 pyroutes.register('repo_commit_patch', '/%(repo_name)s/changeset-patch/%(commit_id)s', ['repo_name', 'commit_id']);
305 pyroutes.register('repo_commit_raw', '/%(repo_name)s/changeset-diff/%(commit_id)s', ['repo_name', 'commit_id']);
305 pyroutes.register('repo_commit_raw', '/%(repo_name)s/changeset-diff/%(commit_id)s', ['repo_name', 'commit_id']);
306 pyroutes.register('repo_commit_raw_deprecated', '/%(repo_name)s/raw-changeset/%(commit_id)s', ['repo_name', 'commit_id']);
306 pyroutes.register('repo_commit_raw_deprecated', '/%(repo_name)s/raw-changeset/%(commit_id)s', ['repo_name', 'commit_id']);
307 pyroutes.register('repo_commits', '/%(repo_name)s/commits', ['repo_name']);
307 pyroutes.register('repo_commits', '/%(repo_name)s/commits', ['repo_name']);
308 pyroutes.register('repo_commits_elements', '/%(repo_name)s/commits_elements', ['repo_name']);
308 pyroutes.register('repo_commits_elements', '/%(repo_name)s/commits_elements', ['repo_name']);
309 pyroutes.register('repo_commits_elements_file', '/%(repo_name)s/commits_elements/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
309 pyroutes.register('repo_commits_elements_file', '/%(repo_name)s/commits_elements/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
310 pyroutes.register('repo_commits_file', '/%(repo_name)s/commits/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
310 pyroutes.register('repo_commits_file', '/%(repo_name)s/commits/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
311 pyroutes.register('repo_compare', '/%(repo_name)s/compare/%(source_ref_type)s@%(source_ref)s...%(target_ref_type)s@%(target_ref)s', ['repo_name', 'source_ref_type', 'source_ref', 'target_ref_type', 'target_ref']);
311 pyroutes.register('repo_compare', '/%(repo_name)s/compare/%(source_ref_type)s@%(source_ref)s...%(target_ref_type)s@%(target_ref)s', ['repo_name', 'source_ref_type', 'source_ref', 'target_ref_type', 'target_ref']);
312 pyroutes.register('repo_compare_select', '/%(repo_name)s/compare', ['repo_name']);
312 pyroutes.register('repo_compare_select', '/%(repo_name)s/compare', ['repo_name']);
313 pyroutes.register('repo_create', '/_admin/repos/create', []);
313 pyroutes.register('repo_create', '/_admin/repos/create', []);
314 pyroutes.register('repo_creating', '/%(repo_name)s/repo_creating', ['repo_name']);
314 pyroutes.register('repo_creating', '/%(repo_name)s/repo_creating', ['repo_name']);
315 pyroutes.register('repo_creating_check', '/%(repo_name)s/repo_creating_check', ['repo_name']);
315 pyroutes.register('repo_creating_check', '/%(repo_name)s/repo_creating_check', ['repo_name']);
316 pyroutes.register('repo_default_reviewers_data', '/%(repo_name)s/settings/review/default-reviewers', ['repo_name']);
316 pyroutes.register('repo_default_reviewers_data', '/%(repo_name)s/settings/review/default-reviewers', ['repo_name']);
317 pyroutes.register('repo_file_authors', '/%(repo_name)s/authors/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
317 pyroutes.register('repo_file_authors', '/%(repo_name)s/authors/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
318 pyroutes.register('repo_file_download', '/%(repo_name)s/download/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
318 pyroutes.register('repo_file_download', '/%(repo_name)s/download/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
319 pyroutes.register('repo_file_download:legacy', '/%(repo_name)s/rawfile/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
319 pyroutes.register('repo_file_download:legacy', '/%(repo_name)s/rawfile/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
320 pyroutes.register('repo_file_history', '/%(repo_name)s/history/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
320 pyroutes.register('repo_file_history', '/%(repo_name)s/history/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
321 pyroutes.register('repo_file_raw', '/%(repo_name)s/raw/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
321 pyroutes.register('repo_file_raw', '/%(repo_name)s/raw/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
322 pyroutes.register('repo_files', '/%(repo_name)s/files/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
322 pyroutes.register('repo_files', '/%(repo_name)s/files/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
323 pyroutes.register('repo_files:annotated', '/%(repo_name)s/annotate/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
323 pyroutes.register('repo_files:annotated', '/%(repo_name)s/annotate/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
324 pyroutes.register('repo_files:annotated_previous', '/%(repo_name)s/annotate-previous/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
324 pyroutes.register('repo_files:annotated_previous', '/%(repo_name)s/annotate-previous/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
325 pyroutes.register('repo_files:default_commit', '/%(repo_name)s/files', ['repo_name']);
325 pyroutes.register('repo_files:default_commit', '/%(repo_name)s/files', ['repo_name']);
326 pyroutes.register('repo_files:default_path', '/%(repo_name)s/files/%(commit_id)s/', ['repo_name', 'commit_id']);
326 pyroutes.register('repo_files:default_path', '/%(repo_name)s/files/%(commit_id)s/', ['repo_name', 'commit_id']);
327 pyroutes.register('repo_files:rendered', '/%(repo_name)s/render/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
327 pyroutes.register('repo_files:rendered', '/%(repo_name)s/render/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
328 pyroutes.register('repo_files_add_file', '/%(repo_name)s/add_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
328 pyroutes.register('repo_files_add_file', '/%(repo_name)s/add_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
329 pyroutes.register('repo_files_check_head', '/%(repo_name)s/check_head/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
329 pyroutes.register('repo_files_check_head', '/%(repo_name)s/check_head/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
330 pyroutes.register('repo_files_create_file', '/%(repo_name)s/create_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
330 pyroutes.register('repo_files_create_file', '/%(repo_name)s/create_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
331 pyroutes.register('repo_files_delete_file', '/%(repo_name)s/delete_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
331 pyroutes.register('repo_files_delete_file', '/%(repo_name)s/delete_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
332 pyroutes.register('repo_files_diff', '/%(repo_name)s/diff/%(f_path)s', ['repo_name', 'f_path']);
332 pyroutes.register('repo_files_diff', '/%(repo_name)s/diff/%(f_path)s', ['repo_name', 'f_path']);
333 pyroutes.register('repo_files_diff_2way_redirect', '/%(repo_name)s/diff-2way/%(f_path)s', ['repo_name', 'f_path']);
333 pyroutes.register('repo_files_diff_2way_redirect', '/%(repo_name)s/diff-2way/%(f_path)s', ['repo_name', 'f_path']);
334 pyroutes.register('repo_files_edit_file', '/%(repo_name)s/edit_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
334 pyroutes.register('repo_files_edit_file', '/%(repo_name)s/edit_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
335 pyroutes.register('repo_files_nodelist', '/%(repo_name)s/nodelist/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
335 pyroutes.register('repo_files_nodelist', '/%(repo_name)s/nodelist/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
336 pyroutes.register('repo_files_remove_file', '/%(repo_name)s/remove_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
336 pyroutes.register('repo_files_remove_file', '/%(repo_name)s/remove_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
337 pyroutes.register('repo_files_replace_binary', '/%(repo_name)s/replace_binary/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
337 pyroutes.register('repo_files_replace_binary', '/%(repo_name)s/replace_binary/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
338 pyroutes.register('repo_files_update_file', '/%(repo_name)s/update_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
338 pyroutes.register('repo_files_update_file', '/%(repo_name)s/update_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
339 pyroutes.register('repo_files_upload_file', '/%(repo_name)s/upload_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
339 pyroutes.register('repo_files_upload_file', '/%(repo_name)s/upload_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
340 pyroutes.register('repo_fork_create', '/%(repo_name)s/fork/create', ['repo_name']);
340 pyroutes.register('repo_fork_create', '/%(repo_name)s/fork/create', ['repo_name']);
341 pyroutes.register('repo_fork_new', '/%(repo_name)s/fork', ['repo_name']);
341 pyroutes.register('repo_fork_new', '/%(repo_name)s/fork', ['repo_name']);
342 pyroutes.register('repo_forks_data', '/%(repo_name)s/forks/data', ['repo_name']);
342 pyroutes.register('repo_forks_data', '/%(repo_name)s/forks/data', ['repo_name']);
343 pyroutes.register('repo_forks_show_all', '/%(repo_name)s/forks', ['repo_name']);
343 pyroutes.register('repo_forks_show_all', '/%(repo_name)s/forks', ['repo_name']);
344 pyroutes.register('repo_group_create', '/_admin/repo_group/create', []);
344 pyroutes.register('repo_group_create', '/_admin/repo_group/create', []);
345 pyroutes.register('repo_group_home', '/%(repo_group_name)s', ['repo_group_name']);
345 pyroutes.register('repo_group_home', '/%(repo_group_name)s', ['repo_group_name']);
346 pyroutes.register('repo_group_home_slash', '/%(repo_group_name)s/', ['repo_group_name']);
346 pyroutes.register('repo_group_home_slash', '/%(repo_group_name)s/', ['repo_group_name']);
347 pyroutes.register('repo_group_integrations_create', '/%(repo_group_name)s/_settings/integrations/%(integration)s/new', ['repo_group_name', 'integration']);
347 pyroutes.register('repo_group_integrations_create', '/%(repo_group_name)s/_settings/integrations/%(integration)s/new', ['repo_group_name', 'integration']);
348 pyroutes.register('repo_group_integrations_edit', '/%(repo_group_name)s/_settings/integrations/%(integration)s/%(integration_id)s', ['repo_group_name', 'integration', 'integration_id']);
348 pyroutes.register('repo_group_integrations_edit', '/%(repo_group_name)s/_settings/integrations/%(integration)s/%(integration_id)s', ['repo_group_name', 'integration', 'integration_id']);
349 pyroutes.register('repo_group_integrations_home', '/%(repo_group_name)s/_settings/integrations', ['repo_group_name']);
349 pyroutes.register('repo_group_integrations_home', '/%(repo_group_name)s/_settings/integrations', ['repo_group_name']);
350 pyroutes.register('repo_group_integrations_list', '/%(repo_group_name)s/_settings/integrations/%(integration)s', ['repo_group_name', 'integration']);
350 pyroutes.register('repo_group_integrations_list', '/%(repo_group_name)s/_settings/integrations/%(integration)s', ['repo_group_name', 'integration']);
351 pyroutes.register('repo_group_integrations_new', '/%(repo_group_name)s/_settings/integrations/new', ['repo_group_name']);
351 pyroutes.register('repo_group_integrations_new', '/%(repo_group_name)s/_settings/integrations/new', ['repo_group_name']);
352 pyroutes.register('repo_group_list_data', '/_repo_groups', []);
352 pyroutes.register('repo_group_list_data', '/_repo_groups', []);
353 pyroutes.register('repo_group_new', '/_admin/repo_group/new', []);
353 pyroutes.register('repo_group_new', '/_admin/repo_group/new', []);
354 pyroutes.register('repo_groups', '/_admin/repo_groups', []);
354 pyroutes.register('repo_groups', '/_admin/repo_groups', []);
355 pyroutes.register('repo_groups_data', '/_admin/repo_groups_data', []);
355 pyroutes.register('repo_groups_data', '/_admin/repo_groups_data', []);
356 pyroutes.register('repo_integrations_create', '/%(repo_name)s/settings/integrations/%(integration)s/new', ['repo_name', 'integration']);
356 pyroutes.register('repo_integrations_create', '/%(repo_name)s/settings/integrations/%(integration)s/new', ['repo_name', 'integration']);
357 pyroutes.register('repo_integrations_edit', '/%(repo_name)s/settings/integrations/%(integration)s/%(integration_id)s', ['repo_name', 'integration', 'integration_id']);
357 pyroutes.register('repo_integrations_edit', '/%(repo_name)s/settings/integrations/%(integration)s/%(integration_id)s', ['repo_name', 'integration', 'integration_id']);
358 pyroutes.register('repo_integrations_home', '/%(repo_name)s/settings/integrations', ['repo_name']);
358 pyroutes.register('repo_integrations_home', '/%(repo_name)s/settings/integrations', ['repo_name']);
359 pyroutes.register('repo_integrations_list', '/%(repo_name)s/settings/integrations/%(integration)s', ['repo_name', 'integration']);
359 pyroutes.register('repo_integrations_list', '/%(repo_name)s/settings/integrations/%(integration)s', ['repo_name', 'integration']);
360 pyroutes.register('repo_integrations_new', '/%(repo_name)s/settings/integrations/new', ['repo_name']);
360 pyroutes.register('repo_integrations_new', '/%(repo_name)s/settings/integrations/new', ['repo_name']);
361 pyroutes.register('repo_list_data', '/_repos', []);
361 pyroutes.register('repo_list_data', '/_repos', []);
362 pyroutes.register('repo_new', '/_admin/repos/new', []);
362 pyroutes.register('repo_new', '/_admin/repos/new', []);
363 pyroutes.register('repo_nodetree_full', '/%(repo_name)s/nodetree_full/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
363 pyroutes.register('repo_nodetree_full', '/%(repo_name)s/nodetree_full/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
364 pyroutes.register('repo_nodetree_full:default_path', '/%(repo_name)s/nodetree_full/%(commit_id)s/', ['repo_name', 'commit_id']);
364 pyroutes.register('repo_nodetree_full:default_path', '/%(repo_name)s/nodetree_full/%(commit_id)s/', ['repo_name', 'commit_id']);
365 pyroutes.register('repo_refs_changelog_data', '/%(repo_name)s/refs-data-changelog', ['repo_name']);
365 pyroutes.register('repo_refs_changelog_data', '/%(repo_name)s/refs-data-changelog', ['repo_name']);
366 pyroutes.register('repo_refs_data', '/%(repo_name)s/refs-data', ['repo_name']);
366 pyroutes.register('repo_refs_data', '/%(repo_name)s/refs-data', ['repo_name']);
367 pyroutes.register('repo_reviewers', '/%(repo_name)s/settings/review/rules', ['repo_name']);
367 pyroutes.register('repo_reviewers', '/%(repo_name)s/settings/review/rules', ['repo_name']);
368 pyroutes.register('repo_reviewers_review_rule_delete', '/%(repo_name)s/settings/review/rules/%(rule_id)s/delete', ['repo_name', 'rule_id']);
368 pyroutes.register('repo_reviewers_review_rule_delete', '/%(repo_name)s/settings/review/rules/%(rule_id)s/delete', ['repo_name', 'rule_id']);
369 pyroutes.register('repo_reviewers_review_rule_edit', '/%(repo_name)s/settings/review/rules/%(rule_id)s', ['repo_name', 'rule_id']);
369 pyroutes.register('repo_reviewers_review_rule_edit', '/%(repo_name)s/settings/review/rules/%(rule_id)s', ['repo_name', 'rule_id']);
370 pyroutes.register('repo_reviewers_review_rule_new', '/%(repo_name)s/settings/review/rules/new', ['repo_name']);
370 pyroutes.register('repo_reviewers_review_rule_new', '/%(repo_name)s/settings/review/rules/new', ['repo_name']);
371 pyroutes.register('repo_settings_quick_actions', '/%(repo_name)s/settings/quick-action', ['repo_name']);
371 pyroutes.register('repo_settings_quick_actions', '/%(repo_name)s/settings/quick-action', ['repo_name']);
372 pyroutes.register('repo_stats', '/%(repo_name)s/repo_stats/%(commit_id)s', ['repo_name', 'commit_id']);
372 pyroutes.register('repo_stats', '/%(repo_name)s/repo_stats/%(commit_id)s', ['repo_name', 'commit_id']);
373 pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']);
373 pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']);
374 pyroutes.register('repo_summary_commits', '/%(repo_name)s/summary-commits', ['repo_name']);
374 pyroutes.register('repo_summary_commits', '/%(repo_name)s/summary-commits', ['repo_name']);
375 pyroutes.register('repo_summary_explicit', '/%(repo_name)s/summary', ['repo_name']);
375 pyroutes.register('repo_summary_explicit', '/%(repo_name)s/summary', ['repo_name']);
376 pyroutes.register('repo_summary_slash', '/%(repo_name)s/', ['repo_name']);
376 pyroutes.register('repo_summary_slash', '/%(repo_name)s/', ['repo_name']);
377 pyroutes.register('repos', '/_admin/repos', []);
377 pyroutes.register('repos', '/_admin/repos', []);
378 pyroutes.register('repos_data', '/_admin/repos_data', []);
378 pyroutes.register('repos_data', '/_admin/repos_data', []);
379 pyroutes.register('reset_password', '/_admin/password_reset', []);
379 pyroutes.register('reset_password', '/_admin/password_reset', []);
380 pyroutes.register('reset_password_confirmation', '/_admin/password_reset_confirmation', []);
380 pyroutes.register('reset_password_confirmation', '/_admin/password_reset_confirmation', []);
381 pyroutes.register('robots', '/robots.txt', []);
381 pyroutes.register('robots', '/robots.txt', []);
382 pyroutes.register('rss_feed_home', '/%(repo_name)s/feed-rss', ['repo_name']);
382 pyroutes.register('rss_feed_home', '/%(repo_name)s/feed-rss', ['repo_name']);
383 pyroutes.register('rss_feed_home_old', '/%(repo_name)s/feed/rss', ['repo_name']);
383 pyroutes.register('rss_feed_home_old', '/%(repo_name)s/feed/rss', ['repo_name']);
384 pyroutes.register('search', '/_admin/search', []);
384 pyroutes.register('search', '/_admin/search', []);
385 pyroutes.register('search_repo', '/%(repo_name)s/_search', ['repo_name']);
385 pyroutes.register('search_repo', '/%(repo_name)s/_search', ['repo_name']);
386 pyroutes.register('search_repo_alt', '/%(repo_name)s/search', ['repo_name']);
386 pyroutes.register('search_repo_alt', '/%(repo_name)s/search', ['repo_name']);
387 pyroutes.register('search_repo_group', '/%(repo_group_name)s/_search', ['repo_group_name']);
387 pyroutes.register('search_repo_group', '/%(repo_group_name)s/_search', ['repo_group_name']);
388 pyroutes.register('setup_2fa', '/_admin/setup_2fa', []);
388 pyroutes.register('setup_2fa', '/_admin/setup_2fa', []);
389 pyroutes.register('store_user_session_value', '/_store_session_attr', []);
389 pyroutes.register('store_user_session_value', '/_store_session_attr', []);
390 pyroutes.register('strip_check', '/%(repo_name)s/settings/strip_check', ['repo_name']);
390 pyroutes.register('strip_check', '/%(repo_name)s/settings/strip_check', ['repo_name']);
391 pyroutes.register('strip_execute', '/%(repo_name)s/settings/strip_execute', ['repo_name']);
391 pyroutes.register('strip_execute', '/%(repo_name)s/settings/strip_execute', ['repo_name']);
392 pyroutes.register('tags_home', '/%(repo_name)s/tags', ['repo_name']);
392 pyroutes.register('tags_home', '/%(repo_name)s/tags', ['repo_name']);
393 pyroutes.register('toggle_following', '/_admin/toggle_following', []);
393 pyroutes.register('toggle_following', '/_admin/toggle_following', []);
394 pyroutes.register('upload_file', '/_file_store/upload', []);
394 pyroutes.register('upload_file', '/_file_store/upload', []);
395 pyroutes.register('user_autocomplete_data', '/_users', []);
395 pyroutes.register('user_autocomplete_data', '/_users', []);
396 pyroutes.register('user_create_personal_repo_group', '/_admin/users/%(user_id)s/create_repo_group', ['user_id']);
396 pyroutes.register('user_create_personal_repo_group', '/_admin/users/%(user_id)s/create_repo_group', ['user_id']);
397 pyroutes.register('user_delete', '/_admin/users/%(user_id)s/delete', ['user_id']);
397 pyroutes.register('user_delete', '/_admin/users/%(user_id)s/delete', ['user_id']);
398 pyroutes.register('user_disable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_disable', ['user_id']);
398 pyroutes.register('user_disable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_disable', ['user_id']);
399 pyroutes.register('user_edit', '/_admin/users/%(user_id)s/edit', ['user_id']);
399 pyroutes.register('user_edit', '/_admin/users/%(user_id)s/edit', ['user_id']);
400 pyroutes.register('user_edit_advanced', '/_admin/users/%(user_id)s/edit/advanced', ['user_id']);
400 pyroutes.register('user_edit_advanced', '/_admin/users/%(user_id)s/edit/advanced', ['user_id']);
401 pyroutes.register('user_edit_global_perms', '/_admin/users/%(user_id)s/edit/global_permissions', ['user_id']);
401 pyroutes.register('user_edit_global_perms', '/_admin/users/%(user_id)s/edit/global_permissions', ['user_id']);
402 pyroutes.register('user_edit_global_perms_update', '/_admin/users/%(user_id)s/edit/global_permissions/update', ['user_id']);
402 pyroutes.register('user_edit_global_perms_update', '/_admin/users/%(user_id)s/edit/global_permissions/update', ['user_id']);
403 pyroutes.register('user_enable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_enable', ['user_id']);
403 pyroutes.register('user_enable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_enable', ['user_id']);
404 pyroutes.register('user_group_autocomplete_data', '/_user_groups', []);
404 pyroutes.register('user_group_autocomplete_data', '/_user_groups', []);
405 pyroutes.register('user_group_members_data', '/_admin/user_groups/%(user_group_id)s/members', ['user_group_id']);
405 pyroutes.register('user_group_members_data', '/_admin/user_groups/%(user_group_id)s/members', ['user_group_id']);
406 pyroutes.register('user_group_profile', '/_profile_user_group/%(user_group_name)s', ['user_group_name']);
406 pyroutes.register('user_group_profile', '/_profile_user_group/%(user_group_name)s', ['user_group_name']);
407 pyroutes.register('user_groups', '/_admin/user_groups', []);
407 pyroutes.register('user_groups', '/_admin/user_groups', []);
408 pyroutes.register('user_groups_create', '/_admin/user_groups/create', []);
408 pyroutes.register('user_groups_create', '/_admin/user_groups/create', []);
409 pyroutes.register('user_groups_data', '/_admin/user_groups_data', []);
409 pyroutes.register('user_groups_data', '/_admin/user_groups_data', []);
410 pyroutes.register('user_groups_delete', '/_admin/user_groups/%(user_group_id)s/delete', ['user_group_id']);
410 pyroutes.register('user_groups_delete', '/_admin/user_groups/%(user_group_id)s/delete', ['user_group_id']);
411 pyroutes.register('user_groups_new', '/_admin/user_groups/new', []);
411 pyroutes.register('user_groups_new', '/_admin/user_groups/new', []);
412 pyroutes.register('user_groups_update', '/_admin/user_groups/%(user_group_id)s/update', ['user_group_id']);
412 pyroutes.register('user_groups_update', '/_admin/user_groups/%(user_group_id)s/update', ['user_group_id']);
413 pyroutes.register('user_notice_dismiss', '/_admin/users/%(user_id)s/notice_dismiss', ['user_id']);
413 pyroutes.register('user_notice_dismiss', '/_admin/users/%(user_id)s/notice_dismiss', ['user_id']);
414 pyroutes.register('user_profile', '/_profiles/%(username)s', ['username']);
414 pyroutes.register('user_profile', '/_profiles/%(username)s', ['username']);
415 pyroutes.register('user_update', '/_admin/users/%(user_id)s/update', ['user_id']);
415 pyroutes.register('user_update', '/_admin/users/%(user_id)s/update', ['user_id']);
416 pyroutes.register('users', '/_admin/users', []);
416 pyroutes.register('users', '/_admin/users', []);
417 pyroutes.register('users_create', '/_admin/users/create', []);
417 pyroutes.register('users_create', '/_admin/users/create', []);
418 pyroutes.register('users_data', '/_admin/users_data', []);
418 pyroutes.register('users_data', '/_admin/users_data', []);
419 pyroutes.register('users_new', '/_admin/users/new', []);
419 pyroutes.register('users_new', '/_admin/users/new', []);
420 }
420 }
@@ -1,323 +1,323 b''
1 # Copyright (C) 2010-2023 RhodeCode GmbH
1 # Copyright (C) 2010-2023 RhodeCode GmbH
2 #
2 #
3 # This program is free software: you can redistribute it and/or modify
3 # This program is free software: you can redistribute it and/or modify
4 # it under the terms of the GNU Affero General Public License, version 3
4 # it under the terms of the GNU Affero General Public License, version 3
5 # (only), as published by the Free Software Foundation.
5 # (only), as published by the Free Software Foundation.
6 #
6 #
7 # This program is distributed in the hope that it will be useful,
7 # This program is distributed in the hope that it will be useful,
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 # GNU General Public License for more details.
10 # GNU General Public License for more details.
11 #
11 #
12 # You should have received a copy of the GNU Affero General Public License
12 # You should have received a copy of the GNU Affero General Public License
13 # along with this program. If not, see <http://www.gnu.org/licenses/>.
13 # along with this program. If not, see <http://www.gnu.org/licenses/>.
14 #
14 #
15 # This program is dual-licensed. If you wish to learn more about the
15 # This program is dual-licensed. If you wish to learn more about the
16 # RhodeCode Enterprise Edition, including its added features, Support services,
16 # RhodeCode Enterprise Edition, including its added features, Support services,
17 # and proprietary license terms, please see https://rhodecode.com/licenses/
17 # and proprietary license terms, please see https://rhodecode.com/licenses/
18
18
19
19
20 def get_url_defs():
20 def get_url_defs():
21 from rhodecode.apps._base import ADMIN_PREFIX
21 from rhodecode.apps._base import ADMIN_PREFIX
22
22
23 return {
23 return {
24 "home": "/",
24 "home": "/",
25 "main_page_repos_data": "/_home_repos",
25 "main_page_repos_data": "/_home_repos",
26 "main_page_repo_groups_data": "/_home_repo_groups",
26 "main_page_repo_groups_data": "/_home_repo_groups",
27 "repo_group_home": "/{repo_group_name}",
27 "repo_group_home": "/{repo_group_name}",
28 "user_autocomplete_data": "/_users",
28 "user_autocomplete_data": "/_users",
29 "user_group_autocomplete_data": "/_user_groups",
29 "user_group_autocomplete_data": "/_user_groups",
30 "repo_list_data": "/_repos",
30 "repo_list_data": "/_repos",
31 "goto_switcher_data": "/_goto_data",
31 "goto_switcher_data": "/_goto_data",
32 "admin_home": ADMIN_PREFIX + "",
32 "admin_home": ADMIN_PREFIX + "",
33 "admin_audit_logs": ADMIN_PREFIX + "/audit_logs",
33 "admin_audit_logs": ADMIN_PREFIX + "/audit_logs",
34 "admin_defaults_repositories": ADMIN_PREFIX + "/defaults/repositories",
34 "admin_defaults_repositories": ADMIN_PREFIX + "/defaults/repositories",
35 "admin_defaults_repositories_update": ADMIN_PREFIX
35 "admin_defaults_repositories_update": ADMIN_PREFIX
36 + "/defaults/repositories/update",
36 + "/defaults/repositories/update",
37 "search": ADMIN_PREFIX + "/search",
37 "search": ADMIN_PREFIX + "/search",
38 "search_repo": "/{repo_name}/search",
38 "search_repo": "/{repo_name}/search",
39 "my_account_auth_tokens": ADMIN_PREFIX + "/my_account/auth_tokens",
39 "my_account_auth_tokens": ADMIN_PREFIX + "/my_account/auth_tokens",
40 "my_account_auth_tokens_add": ADMIN_PREFIX + "/my_account/auth_tokens/new",
40 "my_account_auth_tokens_add": ADMIN_PREFIX + "/my_account/auth_tokens/new",
41 "my_account_auth_tokens_delete": ADMIN_PREFIX
41 "my_account_auth_tokens_delete": ADMIN_PREFIX
42 + "/my_account/auth_tokens/delete",
42 + "/my_account/auth_tokens/delete",
43 "repos": ADMIN_PREFIX + "/repos",
43 "repos": ADMIN_PREFIX + "/repos",
44 "repos_data": ADMIN_PREFIX + "/repos_data",
44 "repos_data": ADMIN_PREFIX + "/repos_data",
45 "repo_groups": ADMIN_PREFIX + "/repo_groups",
45 "repo_groups": ADMIN_PREFIX + "/repo_groups",
46 "repo_groups_data": ADMIN_PREFIX + "/repo_groups_data",
46 "repo_groups_data": ADMIN_PREFIX + "/repo_groups_data",
47 "user_groups": ADMIN_PREFIX + "/user_groups",
47 "user_groups": ADMIN_PREFIX + "/user_groups",
48 "user_groups_data": ADMIN_PREFIX + "/user_groups_data",
48 "user_groups_data": ADMIN_PREFIX + "/user_groups_data",
49 "user_profile": "/_profiles/{username}",
49 "user_profile": "/_profiles/{username}",
50 "profile_user_group": "/_profile_user_group/{user_group_name}",
50 "profile_user_group": "/_profile_user_group/{user_group_name}",
51 "repo_summary": "/{repo_name}",
51 "repo_summary": "/{repo_name}",
52 "repo_creating_check": "/{repo_name}/repo_creating_check",
52 "repo_creating_check": "/{repo_name}/repo_creating_check",
53 "edit_repo": "/{repo_name}/settings",
53 "edit_repo": "/{repo_name}/settings",
54 "edit_repo_vcs": "/{repo_name}/settings/vcs",
54 "edit_repo_vcs": "/{repo_name}/settings/vcs",
55 "edit_repo_vcs_update": "/{repo_name}/settings/vcs/update",
55 "edit_repo_vcs_update": "/{repo_name}/settings/vcs/update",
56 "edit_repo_vcs_svn_pattern_delete": "/{repo_name}/settings/vcs/svn_pattern/delete",
56 "edit_repo_vcs_svn_pattern_delete": "/{repo_name}/settings/vcs/svn_pattern/delete",
57 "repo_archivefile": "/{repo_name}/archive/{fname}",
57 "repo_archivefile": "/{repo_name}/archive/{fname}",
58 "repo_files_diff": "/{repo_name}/diff/{f_path}",
58 "repo_files_diff": "/{repo_name}/diff/{f_path}",
59 "repo_files_diff_2way_redirect": "/{repo_name}/diff-2way/{f_path}",
59 "repo_files_diff_2way_redirect": "/{repo_name}/diff-2way/{f_path}",
60 "repo_files": "/{repo_name}/files/{commit_id}/{f_path}",
60 "repo_files": "/{repo_name}/files/{commit_id}/{f_path}",
61 "repo_files:default_path": "/{repo_name}/files/{commit_id}/",
61 "repo_files:default_path": "/{repo_name}/files/{commit_id}/",
62 "repo_files:default_commit": "/{repo_name}/files",
62 "repo_files:default_commit": "/{repo_name}/files",
63 "repo_files:rendered": "/{repo_name}/render/{commit_id}/{f_path}",
63 "repo_files:rendered": "/{repo_name}/render/{commit_id}/{f_path}",
64 "repo_files:annotated": "/{repo_name}/annotate/{commit_id}/{f_path}",
64 "repo_files:annotated": "/{repo_name}/annotate/{commit_id}/{f_path}",
65 "repo_files:annotated_previous": "/{repo_name}/annotate-previous/{commit_id}/{f_path}",
65 "repo_files:annotated_previous": "/{repo_name}/annotate-previous/{commit_id}/{f_path}",
66 "repo_files_nodelist": "/{repo_name}/nodelist/{commit_id}/{f_path}",
66 "repo_files_nodelist": "/{repo_name}/nodelist/{commit_id}/{f_path}",
67 "repo_file_raw": "/{repo_name}/raw/{commit_id}/{f_path}",
67 "repo_file_raw": "/{repo_name}/raw/{commit_id}/{f_path}",
68 "repo_file_download": "/{repo_name}/download/{commit_id}/{f_path}",
68 "repo_file_download": "/{repo_name}/download/{commit_id}/{f_path}",
69 "repo_file_history": "/{repo_name}/history/{commit_id}/{f_path}",
69 "repo_file_history": "/{repo_name}/history/{commit_id}/{f_path}",
70 "repo_file_authors": "/{repo_name}/authors/{commit_id}/{f_path}",
70 "repo_file_authors": "/{repo_name}/authors/{commit_id}/{f_path}",
71 "repo_files_remove_file": "/{repo_name}/remove_file/{commit_id}/{f_path}",
71 "repo_files_remove_file": "/{repo_name}/remove_file/{commit_id}/{f_path}",
72 "repo_files_delete_file": "/{repo_name}/delete_file/{commit_id}/{f_path}",
72 "repo_files_delete_file": "/{repo_name}/delete_file/{commit_id}/{f_path}",
73 "repo_files_edit_file": "/{repo_name}/edit_file/{commit_id}/{f_path}",
73 "repo_files_edit_file": "/{repo_name}/edit_file/{commit_id}/{f_path}",
74 "repo_files_update_file": "/{repo_name}/update_file/{commit_id}/{f_path}",
74 "repo_files_update_file": "/{repo_name}/update_file/{commit_id}/{f_path}",
75 "repo_files_add_file": "/{repo_name}/add_file/{commit_id}/{f_path}",
75 "repo_files_add_file": "/{repo_name}/add_file/{commit_id}/{f_path}",
76 "repo_files_upload_file": "/{repo_name}/upload_file/{commit_id}/{f_path}",
76 "repo_files_upload_file": "/{repo_name}/upload_file/{commit_id}/{f_path}",
77 "repo_files_create_file": "/{repo_name}/create_file/{commit_id}/{f_path}",
77 "repo_files_create_file": "/{repo_name}/create_file/{commit_id}/{f_path}",
78 "repo_files_replace_binary": "/{repo_name}/replace_binary/{commit_id}/{f_path}",
78 "repo_files_replace_binary": "/{repo_name}/replace_binary/{commit_id}/{f_path}",
79 "repo_nodetree_full": "/{repo_name}/nodetree_full/{commit_id}/{f_path}",
79 "repo_nodetree_full": "/{repo_name}/nodetree_full/{commit_id}/{f_path}",
80 "repo_nodetree_full:default_path": "/{repo_name}/nodetree_full/{commit_id}/",
80 "repo_nodetree_full:default_path": "/{repo_name}/nodetree_full/{commit_id}/",
81 "journal": ADMIN_PREFIX + "/journal",
81 "journal": ADMIN_PREFIX + "/journal",
82 "journal_rss": ADMIN_PREFIX + "/journal/rss",
82 "journal_rss": ADMIN_PREFIX + "/journal/rss",
83 "journal_atom": ADMIN_PREFIX + "/journal/atom",
83 "journal_atom": ADMIN_PREFIX + "/journal/atom",
84 "journal_public": ADMIN_PREFIX + "/public_journal",
84 "journal_public": ADMIN_PREFIX + "/public_journal",
85 "journal_public_atom": ADMIN_PREFIX + "/public_journal/atom",
85 "journal_public_atom": ADMIN_PREFIX + "/public_journal/atom",
86 "journal_public_atom_old": ADMIN_PREFIX + "/public_journal_atom",
86 "journal_public_atom_old": ADMIN_PREFIX + "/public_journal_atom",
87 "journal_public_rss": ADMIN_PREFIX + "/public_journal/rss",
87 "journal_public_rss": ADMIN_PREFIX + "/public_journal/rss",
88 "journal_public_rss_old": ADMIN_PREFIX + "/public_journal_rss",
88 "journal_public_rss_old": ADMIN_PREFIX + "/public_journal_rss",
89 "toggle_following": ADMIN_PREFIX + "/toggle_following",
89 "toggle_following": ADMIN_PREFIX + "/toggle_following",
90 "upload_file": "/_file_store/upload",
90 "upload_file": "/_file_store/upload",
91 "download_file": "/_file_store/download/{fid}",
91 "download_file": "/_file_store/download/{fid}",
92 "download_file_by_token": "/_file_store/token-download/{_auth_token}/{fid}",
92 "download_file_by_token": "/_file_store/token-download/{_auth_token}/{fid}",
93 "gists_show": ADMIN_PREFIX + "/gists",
93 "gists_show": ADMIN_PREFIX + "/gists",
94 "gists_new": ADMIN_PREFIX + "/gists/new",
94 "gists_new": ADMIN_PREFIX + "/gists/new",
95 "gists_create": ADMIN_PREFIX + "/gists/create",
95 "gists_create": ADMIN_PREFIX + "/gists/create",
96 "gist_show": ADMIN_PREFIX + "/gists/{gist_id}",
96 "gist_show": ADMIN_PREFIX + "/gists/{gist_id}",
97 "gist_delete": ADMIN_PREFIX + "/gists/{gist_id}/delete",
97 "gist_delete": ADMIN_PREFIX + "/gists/{gist_id}/delete",
98 "gist_edit": ADMIN_PREFIX + "/gists/{gist_id}/edit",
98 "gist_edit": ADMIN_PREFIX + "/gists/{gist_id}/edit",
99 "gist_edit_check_revision": ADMIN_PREFIX
99 "gist_edit_check_revision": ADMIN_PREFIX
100 + "/gists/{gist_id}/edit/check_revision",
100 + "/gists/{gist_id}/edit/check_revision",
101 "gist_update": ADMIN_PREFIX + "/gists/{gist_id}/update",
101 "gist_update": ADMIN_PREFIX + "/gists/{gist_id}/update",
102 "gist_show_rev": ADMIN_PREFIX + "/gists/{gist_id}/rev/{revision}",
102 "gist_show_rev": ADMIN_PREFIX + "/gists/{gist_id}/rev/{revision}",
103 "gist_show_formatted": ADMIN_PREFIX
103 "gist_show_formatted": ADMIN_PREFIX
104 + "/gists/{gist_id}/rev/{revision}/{format}",
104 + "/gists/{gist_id}/rev/{revision}/{format}",
105 "gist_show_formatted_path": ADMIN_PREFIX
105 "gist_show_formatted_path": ADMIN_PREFIX
106 + "/gists/{gist_id}/rev/{revision}/{format}/{f_path}",
106 + "/gists/{gist_id}/rev/{revision}/{format}/{f_path}",
107 "login": ADMIN_PREFIX + "/login",
107 "login": ADMIN_PREFIX + "/login",
108 "logout": ADMIN_PREFIX + "/logout",
108 "logout": ADMIN_PREFIX + "/logout",
109 "setup_2fa": ADMIN_PREFIX + "/setup_2fa",
109 "setup_2fa": ADMIN_PREFIX + "/setup_2fa",
110 "check_2fa": ADMIN_PREFIX + "/check_2fa",
110 "check_2fa": ADMIN_PREFIX + "/check_2fa",
111 "register": ADMIN_PREFIX + "/register",
111 "register": ADMIN_PREFIX + "/register",
112 "reset_password": ADMIN_PREFIX + "/password_reset",
112 "reset_password": ADMIN_PREFIX + "/password_reset",
113 "reset_password_confirmation": ADMIN_PREFIX + "/password_reset_confirmation",
113 "reset_password_confirmation": ADMIN_PREFIX + "/password_reset_confirmation",
114 "admin_permissions_application": ADMIN_PREFIX + "/permissions/application",
114 "admin_permissions_application": ADMIN_PREFIX + "/permissions/application",
115 "admin_permissions_application_update": ADMIN_PREFIX
115 "admin_permissions_application_update": ADMIN_PREFIX
116 + "/permissions/application/update",
116 + "/permissions/application/update",
117 "repo_commit_raw": "/{repo_name}/changeset-diff/{commit_id}",
117 "repo_commit_raw": "/{repo_name}/changeset-diff/{commit_id}",
118 "user_group_members_data": ADMIN_PREFIX
118 "user_group_members_data": ADMIN_PREFIX
119 + "/user_groups/{user_group_id}/members",
119 + "/user_groups/{user_group_id}/members",
120 "user_groups_new": ADMIN_PREFIX + "/user_groups/new",
120 "user_groups_new": ADMIN_PREFIX + "/user_groups/new",
121 "user_groups_create": ADMIN_PREFIX + "/user_groups/create",
121 "user_groups_create": ADMIN_PREFIX + "/user_groups/create",
122 "edit_user_group": ADMIN_PREFIX + "/user_groups/{user_group_id}/edit",
122 "edit_user_group": ADMIN_PREFIX + "/user_groups/{user_group_id}/edit",
123 "edit_user_group_advanced_sync": ADMIN_PREFIX
123 "edit_user_group_advanced_sync": ADMIN_PREFIX
124 + "/user_groups/{user_group_id}/edit/advanced/sync",
124 + "/user_groups/{user_group_id}/edit/advanced/sync",
125 "edit_user_group_global_perms_update": ADMIN_PREFIX
125 "edit_user_group_global_perms_update": ADMIN_PREFIX
126 + "/user_groups/{user_group_id}/edit/global_permissions/update",
126 + "/user_groups/{user_group_id}/edit/global_permissions/update",
127 "user_groups_update": ADMIN_PREFIX + "/user_groups/{user_group_id}/update",
127 "user_groups_update": ADMIN_PREFIX + "/user_groups/{user_group_id}/update",
128 "user_groups_delete": ADMIN_PREFIX + "/user_groups/{user_group_id}/delete",
128 "user_groups_delete": ADMIN_PREFIX + "/user_groups/{user_group_id}/delete",
129 "edit_user_group_perms": ADMIN_PREFIX
129 "edit_user_group_perms": ADMIN_PREFIX
130 + "/user_groups/{user_group_id}/edit/permissions",
130 + "/user_groups/{user_group_id}/edit/permissions",
131 "edit_user_group_perms_update": ADMIN_PREFIX
131 "edit_user_group_perms_update": ADMIN_PREFIX
132 + "/user_groups/{user_group_id}/edit/permissions/update",
132 + "/user_groups/{user_group_id}/edit/permissions/update",
133 "edit_repo_group": "/{repo_group_name}/_edit",
133 "edit_repo_group": "/{repo_group_name}/_edit",
134 "edit_repo_group_perms": "/{repo_group_name:}/_settings/permissions",
134 "edit_repo_group_perms": "/{repo_group_name:}/_settings/permissions",
135 "edit_repo_group_perms_update": "/{repo_group_name}/_settings/permissions/update",
135 "edit_repo_group_perms_update": "/{repo_group_name}/_settings/permissions/update",
136 "edit_repo_group_advanced": "/{repo_group_name}/_settings/advanced",
136 "edit_repo_group_advanced": "/{repo_group_name}/_settings/advanced",
137 "edit_repo_group_advanced_delete": "/{repo_group_name}/_settings/advanced/delete",
137 "edit_repo_group_advanced_delete": "/{repo_group_name}/_settings/advanced/delete",
138 "edit_user_ssh_keys": ADMIN_PREFIX + "/users/{user_id}/edit/ssh_keys",
138 "edit_user_ssh_keys": ADMIN_PREFIX + "/users/{user_id}/edit/ssh_keys",
139 "edit_user_ssh_keys_generate_keypair": ADMIN_PREFIX
139 "edit_user_ssh_keys_generate_keypair": ADMIN_PREFIX
140 + "/users/{user_id}/edit/ssh_keys/generate",
140 + "/users/{user_id}/edit/ssh_keys/generate",
141 "edit_user_ssh_keys_add": ADMIN_PREFIX + "/users/{user_id}/edit/ssh_keys/new",
141 "edit_user_ssh_keys_add": ADMIN_PREFIX + "/users/{user_id}/edit/ssh_keys/new",
142 "edit_user_ssh_keys_delete": ADMIN_PREFIX
142 "edit_user_ssh_keys_delete": ADMIN_PREFIX
143 + "/users/{user_id}/edit/ssh_keys/delete",
143 + "/users/{user_id}/edit/ssh_keys/delete",
144 "users": ADMIN_PREFIX + "/users",
144 "users": ADMIN_PREFIX + "/users",
145 "users_data": ADMIN_PREFIX + "/users_data",
145 "users_data": ADMIN_PREFIX + "/users_data",
146 "users_create": ADMIN_PREFIX + "/users/create",
146 "users_create": ADMIN_PREFIX + "/users/create",
147 "users_new": ADMIN_PREFIX + "/users/new",
147 "users_new": ADMIN_PREFIX + "/users/new",
148 "user_edit": ADMIN_PREFIX + "/users/{user_id}/edit",
148 "user_edit": ADMIN_PREFIX + "/users/{user_id}/edit",
149 "user_edit_advanced": ADMIN_PREFIX + "/users/{user_id}/edit/advanced",
149 "user_edit_advanced": ADMIN_PREFIX + "/users/{user_id}/edit/advanced",
150 "user_edit_global_perms": ADMIN_PREFIX
150 "user_edit_global_perms": ADMIN_PREFIX
151 + "/users/{user_id}/edit/global_permissions",
151 + "/users/{user_id}/edit/global_permissions",
152 "user_edit_global_perms_update": ADMIN_PREFIX
152 "user_edit_global_perms_update": ADMIN_PREFIX
153 + "/users/{user_id}/edit/global_permissions/update",
153 + "/users/{user_id}/edit/global_permissions/update",
154 "user_update": ADMIN_PREFIX + "/users/{user_id}/update",
154 "user_update": ADMIN_PREFIX + "/users/{user_id}/update",
155 "user_delete": ADMIN_PREFIX + "/users/{user_id}/delete",
155 "user_delete": ADMIN_PREFIX + "/users/{user_id}/delete",
156 "user_create_personal_repo_group": ADMIN_PREFIX
156 "user_create_personal_repo_group": ADMIN_PREFIX
157 + "/users/{user_id}/create_repo_group",
157 + "/users/{user_id}/create_repo_group",
158 "edit_user_auth_tokens": ADMIN_PREFIX + "/users/{user_id}/edit/auth_tokens",
158 "edit_user_auth_tokens": ADMIN_PREFIX + "/users/{user_id}/edit/auth_tokens",
159 "edit_user_auth_tokens_add": ADMIN_PREFIX
159 "edit_user_auth_tokens_add": ADMIN_PREFIX
160 + "/users/{user_id}/edit/auth_tokens/new",
160 + "/users/{user_id}/edit/auth_tokens/new",
161 "edit_user_auth_tokens_delete": ADMIN_PREFIX
161 "edit_user_auth_tokens_delete": ADMIN_PREFIX
162 + "/users/{user_id}/edit/auth_tokens/delete",
162 + "/users/{user_id}/edit/auth_tokens/delete",
163 "edit_user_emails": ADMIN_PREFIX + "/users/{user_id}/edit/emails",
163 "edit_user_emails": ADMIN_PREFIX + "/users/{user_id}/edit/emails",
164 "edit_user_emails_add": ADMIN_PREFIX + "/users/{user_id}/edit/emails/new",
164 "edit_user_emails_add": ADMIN_PREFIX + "/users/{user_id}/edit/emails/new",
165 "edit_user_emails_delete": ADMIN_PREFIX + "/users/{user_id}/edit/emails/delete",
165 "edit_user_emails_delete": ADMIN_PREFIX + "/users/{user_id}/edit/emails/delete",
166 "edit_user_ips": ADMIN_PREFIX + "/users/{user_id}/edit/ips",
166 "edit_user_ips": ADMIN_PREFIX + "/users/{user_id}/edit/ips",
167 "edit_user_ips_add": ADMIN_PREFIX + "/users/{user_id}/edit/ips/new",
167 "edit_user_ips_add": ADMIN_PREFIX + "/users/{user_id}/edit/ips/new",
168 "edit_user_ips_delete": ADMIN_PREFIX + "/users/{user_id}/edit/ips/delete",
168 "edit_user_ips_delete": ADMIN_PREFIX + "/users/{user_id}/edit/ips/delete",
169 "edit_user_perms_summary": ADMIN_PREFIX
169 "edit_user_perms_summary": ADMIN_PREFIX
170 + "/users/{user_id}/edit/permissions_summary",
170 + "/users/{user_id}/edit/permissions_summary",
171 "edit_user_perms_summary_json": ADMIN_PREFIX
171 "edit_user_perms_summary_json": ADMIN_PREFIX
172 + "/users/{user_id}/edit/permissions_summary/json",
172 + "/users/{user_id}/edit/permissions_summary/json",
173 "edit_user_audit_logs": ADMIN_PREFIX + "/users/{user_id}/edit/audit",
173 "edit_user_audit_logs": ADMIN_PREFIX + "/users/{user_id}/edit/audit",
174 "edit_user_audit_logs_download": ADMIN_PREFIX
174 "edit_user_audit_logs_download": ADMIN_PREFIX
175 + "/users/{user_id}/edit/audit/download",
175 + "/users/{user_id}/edit/audit/download",
176 "admin_settings": ADMIN_PREFIX + "/settings",
176 "admin_settings": ADMIN_PREFIX + "/settings",
177 "admin_settings_update": ADMIN_PREFIX + "/settings/update",
177 "admin_settings_update": ADMIN_PREFIX + "/settings/update",
178 "admin_settings_global": ADMIN_PREFIX + "/settings/global",
178 "admin_settings_global": ADMIN_PREFIX + "/settings/global",
179 "admin_settings_global_update": ADMIN_PREFIX + "/settings/global/update",
179 "admin_settings_global_update": ADMIN_PREFIX + "/settings/global/update",
180 "admin_settings_vcs": ADMIN_PREFIX + "/settings/vcs",
180 "admin_settings_vcs": ADMIN_PREFIX + "/settings/vcs",
181 "admin_settings_vcs_update": ADMIN_PREFIX + "/settings/vcs/update",
181 "admin_settings_vcs_update": ADMIN_PREFIX + "/settings/vcs/update",
182 "admin_settings_vcs_svn_pattern_delete": ADMIN_PREFIX
182 "admin_settings_vcs_svn_pattern_delete": ADMIN_PREFIX
183 + "/settings/vcs/svn_pattern_delete",
183 + "/settings/vcs/svn_pattern_delete",
184 "admin_settings_mapping": ADMIN_PREFIX + "/settings/mapping",
184 "admin_settings_mapping": ADMIN_PREFIX + "/settings/mapping",
185 "admin_settings_mapping_update": ADMIN_PREFIX + "/settings/mapping/update",
185 "admin_settings_mapping_update": ADMIN_PREFIX + "/settings/mapping/update",
186 "admin_settings_visual": ADMIN_PREFIX + "/settings/visual",
186 "admin_settings_visual": ADMIN_PREFIX + "/settings/visual",
187 "admin_settings_visual_update": ADMIN_PREFIX + "/settings/visual/update",
187 "admin_settings_visual_update": ADMIN_PREFIX + "/settings/visual/update",
188 "admin_settings_issuetracker": ADMIN_PREFIX + "/settings/issue-tracker",
188 "admin_settings_issuetracker": ADMIN_PREFIX + "/settings/issue-tracker",
189 "admin_settings_issuetracker_update": ADMIN_PREFIX
189 "admin_settings_issuetracker_update": ADMIN_PREFIX
190 + "/settings/issue-tracker/update",
190 + "/settings/issue-tracker/update",
191 "admin_settings_issuetracker_test": ADMIN_PREFIX
191 "admin_settings_issuetracker_test": ADMIN_PREFIX
192 + "/settings/issue-tracker/test",
192 + "/settings/issue-tracker/test",
193 "admin_settings_issuetracker_delete": ADMIN_PREFIX
193 "admin_settings_issuetracker_delete": ADMIN_PREFIX
194 + "/settings/issue-tracker/delete",
194 + "/settings/issue-tracker/delete",
195 "admin_settings_email": ADMIN_PREFIX + "/settings/email",
195 "admin_settings_email": ADMIN_PREFIX + "/settings/email",
196 "admin_settings_email_update": ADMIN_PREFIX + "/settings/email/update",
196 "admin_settings_email_update": ADMIN_PREFIX + "/settings/email/update",
197 "admin_settings_hooks": ADMIN_PREFIX + "/settings/hooks",
197 "admin_settings_hooks": ADMIN_PREFIX + "/settings/hooks",
198 "admin_settings_hooks_update": ADMIN_PREFIX + "/settings/hooks/update",
198 "admin_settings_hooks_update": ADMIN_PREFIX + "/settings/hooks/update",
199 "admin_settings_hooks_delete": ADMIN_PREFIX + "/settings/hooks/delete",
199 "admin_settings_hooks_delete": ADMIN_PREFIX + "/settings/hooks/delete",
200 "admin_settings_search": ADMIN_PREFIX + "/settings/search",
200 "admin_settings_search": ADMIN_PREFIX + "/settings/search",
201 "admin_settings_labs": ADMIN_PREFIX + "/settings/labs",
201 "admin_settings_labs": ADMIN_PREFIX + "/settings/labs",
202 "admin_settings_labs_update": ADMIN_PREFIX + "/settings/labs/update",
202 "admin_settings_labs_update": ADMIN_PREFIX + "/settings/labs/update",
203 "admin_settings_sessions": ADMIN_PREFIX + "/settings/sessions",
203 "admin_settings_sessions": ADMIN_PREFIX + "/settings/sessions",
204 "admin_settings_sessions_cleanup": ADMIN_PREFIX + "/settings/sessions/cleanup",
204 "admin_settings_sessions_cleanup": ADMIN_PREFIX + "/settings/sessions/cleanup",
205 "admin_settings_system": ADMIN_PREFIX + "/settings/system",
205 "admin_settings_system": ADMIN_PREFIX + "/settings/system",
206 "admin_settings_system_update": ADMIN_PREFIX + "/settings/system/updates",
206 "admin_settings_system_update": ADMIN_PREFIX + "/settings/system/updates",
207 "admin_settings_open_source": ADMIN_PREFIX + "/settings/open_source",
207 "admin_settings_open_source": ADMIN_PREFIX + "/settings/open_source",
208 "repo_group_new": ADMIN_PREFIX + "/repo_group/new",
208 "repo_group_new": ADMIN_PREFIX + "/repo_group/new",
209 "repo_group_create": ADMIN_PREFIX + "/repo_group/create",
209 "repo_group_create": ADMIN_PREFIX + "/repo_group/create",
210 "repo_new": ADMIN_PREFIX + "/repos/new",
210 "repo_new": ADMIN_PREFIX + "/repos/new",
211 "repo_create": ADMIN_PREFIX + "/repos/create",
211 "repo_create": ADMIN_PREFIX + "/repos/create",
212 "admin_permissions_global": ADMIN_PREFIX + "/permissions/global",
212 "admin_permissions_global": ADMIN_PREFIX + "/permissions/global",
213 "admin_permissions_global_update": ADMIN_PREFIX + "/permissions/global/update",
213 "admin_permissions_global_update": ADMIN_PREFIX + "/permissions/global/update",
214 "admin_permissions_object": ADMIN_PREFIX + "/permissions/object",
214 "admin_permissions_object": ADMIN_PREFIX + "/permissions/object",
215 "admin_permissions_object_update": ADMIN_PREFIX + "/permissions/object/update",
215 "admin_permissions_object_update": ADMIN_PREFIX + "/permissions/object/update",
216 "admin_permissions_ips": ADMIN_PREFIX + "/permissions/ips",
216 "admin_permissions_ips": ADMIN_PREFIX + "/permissions/ips",
217 "admin_permissions_overview": ADMIN_PREFIX + "/permissions/overview",
217 "admin_permissions_overview": ADMIN_PREFIX + "/permissions/overview",
218 "admin_permissions_ssh_keys": ADMIN_PREFIX + "/permissions/ssh_keys",
218 "admin_permissions_ssh_keys": ADMIN_PREFIX + "/permissions/ssh_keys",
219 "admin_permissions_ssh_keys_data": ADMIN_PREFIX + "/permissions/ssh_keys/data",
219 "admin_permissions_ssh_keys_data": ADMIN_PREFIX + "/permissions/ssh_keys/data",
220 "admin_permissions_ssh_keys_update": ADMIN_PREFIX
220 "admin_permissions_ssh_keys_update": ADMIN_PREFIX
221 + "/permissions/ssh_keys/update",
221 + "/permissions/ssh_keys/update",
222 "pullrequest_show": "/{repo_name}/pull-request/{pull_request_id}",
222 "pullrequest_show": "/{repo_name}/pull-request/{pull_request_id}",
223 "pull_requests_global": ADMIN_PREFIX + "/pull-request/{pull_request_id}",
223 "pull_requests_global": ADMIN_PREFIX + "/pull-request/{pull_request_id}",
224 "pull_requests_global_0": ADMIN_PREFIX + "/pull_requests/{pull_request_id}",
224 "pull_requests_global_0": ADMIN_PREFIX + "/pull_requests/{pull_request_id}",
225 "pull_requests_global_1": ADMIN_PREFIX + "/pull-requests/{pull_request_id}",
225 "pull_requests_global_1": ADMIN_PREFIX + "/pull-requests/{pull_request_id}",
226 "notifications_show_all": ADMIN_PREFIX + "/notifications",
226 "notifications_show_all": ADMIN_PREFIX + "/notifications",
227 "notifications_mark_all_read": ADMIN_PREFIX + "/notifications_mark_all_read",
227 "notifications_mark_all_read": ADMIN_PREFIX + "/notifications_mark_all_read",
228 "notifications_show": ADMIN_PREFIX + "/notifications/{notification_id}",
228 "notifications_show": ADMIN_PREFIX + "/notifications/{notification_id}",
229 "notifications_update": ADMIN_PREFIX
229 "notifications_update": ADMIN_PREFIX
230 + "/notifications/{notification_id}/update",
230 + "/notifications/{notification_id}/update",
231 "notifications_delete": ADMIN_PREFIX
231 "notifications_delete": ADMIN_PREFIX
232 + "/notifications/{notification_id}/delete",
232 + "/notifications/{notification_id}/delete",
233 "my_account": ADMIN_PREFIX + "/my_account/profile",
233 "my_account": ADMIN_PREFIX + "/my_account/profile",
234 "my_account_edit": ADMIN_PREFIX + "/my_account/edit",
234 "my_account_edit": ADMIN_PREFIX + "/my_account/edit",
235 "my_account_update": ADMIN_PREFIX + "/my_account/update",
235 "my_account_update": ADMIN_PREFIX + "/my_account/update",
236 "my_account_pullrequests": ADMIN_PREFIX + "/my_account/pull_requests",
236 "my_account_pullrequests": ADMIN_PREFIX + "/my_account/pull_requests",
237 "my_account_pullrequests_data": ADMIN_PREFIX + "/my_account/pull_requests/data",
237 "my_account_pullrequests_data": ADMIN_PREFIX + "/my_account/pull_requests/data",
238 "my_account_emails": ADMIN_PREFIX + "/my_account/emails",
238 "my_account_emails": ADMIN_PREFIX + "/my_account/emails",
239 "my_account_emails_add": ADMIN_PREFIX + "/my_account/emails/new",
239 "my_account_emails_add": ADMIN_PREFIX + "/my_account/emails/new",
240 "my_account_emails_delete": ADMIN_PREFIX + "/my_account/emails/delete",
240 "my_account_emails_delete": ADMIN_PREFIX + "/my_account/emails/delete",
241 "my_account_password": ADMIN_PREFIX + "/my_account/password",
241 "my_account_password": ADMIN_PREFIX + "/my_account/password",
242 "my_account_password_update": ADMIN_PREFIX + "/my_account/password/update",
242 "my_account_password_update": ADMIN_PREFIX + "/my_account/password/update",
243 "my_account_repos": ADMIN_PREFIX + "/my_account/repos",
243 "my_account_repos": ADMIN_PREFIX + "/my_account/repos",
244 "my_account_watched": ADMIN_PREFIX + "/my_account/watched",
244 "my_account_watched": ADMIN_PREFIX + "/my_account/watched",
245 "my_account_perms": ADMIN_PREFIX + "/my_account/perms",
245 "my_account_perms": ADMIN_PREFIX + "/my_account/perms",
246 "my_account_notifications": ADMIN_PREFIX + "/my_account/notifications",
246 "my_account_notifications": ADMIN_PREFIX + "/my_account/notifications",
247 "my_account_ssh_keys": ADMIN_PREFIX + "/my_account/ssh_keys",
247 "my_account_ssh_keys": ADMIN_PREFIX + "/my_account/ssh_keys",
248 "my_account_ssh_keys_generate": ADMIN_PREFIX + "/my_account/ssh_keys/generate",
248 "my_account_ssh_keys_generate": ADMIN_PREFIX + "/my_account/ssh_keys/generate",
249 "my_account_ssh_keys_add": ADMIN_PREFIX + "/my_account/ssh_keys/new",
249 "my_account_ssh_keys_add": ADMIN_PREFIX + "/my_account/ssh_keys/new",
250 "my_account_ssh_keys_delete": ADMIN_PREFIX + "/my_account/ssh_keys/delete",
250 "my_account_ssh_keys_delete": ADMIN_PREFIX + "/my_account/ssh_keys/delete",
251 "pullrequest_show_all": "/{repo_name}/pull-request",
251 "pullrequest_show_all": "/{repo_name}/pull-request",
252 "pullrequest_show_all_data": "/{repo_name}/pull-request-data",
252 "pullrequest_show_all_data": "/{repo_name}/pull-request-data",
253 "bookmarks_home": "/{repo_name}/bookmarks",
253 "bookmarks_home": "/{repo_name}/bookmarks",
254 "branches_home": "/{repo_name}/branches",
254 "branches_home": "/{repo_name}/branches",
255 "branch_remove": "/{repo_name}/{branch_name}/remove",
255 "branch_remove": "/{repo_name}/branches/{branch_name}/remove",
256 "tags_home": "/{repo_name}/tags",
256 "tags_home": "/{repo_name}/tags",
257 "repo_changelog": "/{repo_name}/changelog",
257 "repo_changelog": "/{repo_name}/changelog",
258 "repo_commits": "/{repo_name}/commits",
258 "repo_commits": "/{repo_name}/commits",
259 "repo_commits_file": "/{repo_name}/commits/{commit_id}/{f_path}",
259 "repo_commits_file": "/{repo_name}/commits/{commit_id}/{f_path}",
260 "repo_commits_elements": "/{repo_name}/commits_elements",
260 "repo_commits_elements": "/{repo_name}/commits_elements",
261 "repo_commit": "/{repo_name}/changeset/{commit_id}",
261 "repo_commit": "/{repo_name}/changeset/{commit_id}",
262 "repo_commit_comment_create": "/{repo_name}/changeset/{commit_id}/comment/create",
262 "repo_commit_comment_create": "/{repo_name}/changeset/{commit_id}/comment/create",
263 "repo_commit_comment_preview": "/{repo_name}/changeset/{commit_id}/comment/preview",
263 "repo_commit_comment_preview": "/{repo_name}/changeset/{commit_id}/comment/preview",
264 "repo_commit_comment_delete": "/{repo_name}/changeset/{commit_id}/comment/{comment_id}/delete",
264 "repo_commit_comment_delete": "/{repo_name}/changeset/{commit_id}/comment/{comment_id}/delete",
265 "repo_commit_comment_edit": "/{repo_name}/changeset/{commit_id}/comment/{comment_id}/edit",
265 "repo_commit_comment_edit": "/{repo_name}/changeset/{commit_id}/comment/{comment_id}/edit",
266 "repo_commit_children": "/{repo_name}/changeset_children/{commit_id}",
266 "repo_commit_children": "/{repo_name}/changeset_children/{commit_id}",
267 "repo_commit_parents": "/{repo_name}/changeset_parents/{commit_id}",
267 "repo_commit_parents": "/{repo_name}/changeset_parents/{commit_id}",
268 "repo_commit_patch": "/{repo_name}/changeset-patch/{commit_id}",
268 "repo_commit_patch": "/{repo_name}/changeset-patch/{commit_id}",
269 "repo_commit_download": "/{repo_name}/changeset-download/{commit_id}",
269 "repo_commit_download": "/{repo_name}/changeset-download/{commit_id}",
270 "repo_commit_data": "/{repo_name}/changeset-data/{commit_id}",
270 "repo_commit_data": "/{repo_name}/changeset-data/{commit_id}",
271 "repo_compare": "/{repo_name}/compare/{source_ref_type}@{source_ref}...{target_ref_type}@{target_ref}",
271 "repo_compare": "/{repo_name}/compare/{source_ref_type}@{source_ref}...{target_ref_type}@{target_ref}",
272 "repo_compare_select": "/{repo_name}/compare",
272 "repo_compare_select": "/{repo_name}/compare",
273 "rss_feed_home": "/{repo_name}/feed-rss",
273 "rss_feed_home": "/{repo_name}/feed-rss",
274 "atom_feed_home": "/{repo_name}/feed-atom",
274 "atom_feed_home": "/{repo_name}/feed-atom",
275 "rss_feed_home_old": "/{repo_name}/feed/rss",
275 "rss_feed_home_old": "/{repo_name}/feed/rss",
276 "atom_feed_home_old": "/{repo_name}/feed/atom",
276 "atom_feed_home_old": "/{repo_name}/feed/atom",
277 "repo_fork_new": "/{repo_name}/fork",
277 "repo_fork_new": "/{repo_name}/fork",
278 "repo_fork_create": "/{repo_name}/fork/create",
278 "repo_fork_create": "/{repo_name}/fork/create",
279 "repo_forks_show_all": "/{repo_name}/forks",
279 "repo_forks_show_all": "/{repo_name}/forks",
280 "repo_forks_data": "/{repo_name}/forks/data",
280 "repo_forks_data": "/{repo_name}/forks/data",
281 "edit_repo_issuetracker": "/{repo_name}/settings/issue_trackers",
281 "edit_repo_issuetracker": "/{repo_name}/settings/issue_trackers",
282 "edit_repo_issuetracker_test": "/{repo_name}/settings/issue_trackers/test",
282 "edit_repo_issuetracker_test": "/{repo_name}/settings/issue_trackers/test",
283 "edit_repo_issuetracker_delete": "/{repo_name}/settings/issue_trackers/delete",
283 "edit_repo_issuetracker_delete": "/{repo_name}/settings/issue_trackers/delete",
284 "edit_repo_issuetracker_update": "/{repo_name}/settings/issue_trackers/update",
284 "edit_repo_issuetracker_update": "/{repo_name}/settings/issue_trackers/update",
285 "edit_repo_maintenance": "/{repo_name}/settings/maintenance",
285 "edit_repo_maintenance": "/{repo_name}/settings/maintenance",
286 "edit_repo_maintenance_execute": "/{repo_name}/settings/maintenance/execute",
286 "edit_repo_maintenance_execute": "/{repo_name}/settings/maintenance/execute",
287 "repo_changelog_file": "/{repo_name}/changelog/{commit_id}/{f_path}",
287 "repo_changelog_file": "/{repo_name}/changelog/{commit_id}/{f_path}",
288 "pullrequest_repo_refs": "/{repo_name}/pull-request/refs/{target_repo_name:.*?[^/]}",
288 "pullrequest_repo_refs": "/{repo_name}/pull-request/refs/{target_repo_name:.*?[^/]}",
289 "pullrequest_repo_targets": "/{repo_name}/pull-request/repo-destinations",
289 "pullrequest_repo_targets": "/{repo_name}/pull-request/repo-destinations",
290 "pullrequest_new": "/{repo_name}/pull-request/new",
290 "pullrequest_new": "/{repo_name}/pull-request/new",
291 "pullrequest_create": "/{repo_name}/pull-request/create",
291 "pullrequest_create": "/{repo_name}/pull-request/create",
292 "pullrequest_update": "/{repo_name}/pull-request/{pull_request_id}/update",
292 "pullrequest_update": "/{repo_name}/pull-request/{pull_request_id}/update",
293 "pullrequest_merge": "/{repo_name}/pull-request/{pull_request_id}/merge",
293 "pullrequest_merge": "/{repo_name}/pull-request/{pull_request_id}/merge",
294 "pullrequest_delete": "/{repo_name}/pull-request/{pull_request_id}/delete",
294 "pullrequest_delete": "/{repo_name}/pull-request/{pull_request_id}/delete",
295 "pullrequest_comment_create": "/{repo_name}/pull-request/{pull_request_id}/comment",
295 "pullrequest_comment_create": "/{repo_name}/pull-request/{pull_request_id}/comment",
296 "pullrequest_comment_delete": "/{repo_name}/pull-request/{pull_request_id}/comment/{comment_id}/delete",
296 "pullrequest_comment_delete": "/{repo_name}/pull-request/{pull_request_id}/comment/{comment_id}/delete",
297 "pullrequest_comment_edit": "/{repo_name}/pull-request/{pull_request_id}/comment/{comment_id}/edit",
297 "pullrequest_comment_edit": "/{repo_name}/pull-request/{pull_request_id}/comment/{comment_id}/edit",
298 "edit_repo_caches": "/{repo_name}/settings/caches",
298 "edit_repo_caches": "/{repo_name}/settings/caches",
299 "edit_repo_perms": "/{repo_name}/settings/permissions",
299 "edit_repo_perms": "/{repo_name}/settings/permissions",
300 "edit_repo_fields": "/{repo_name}/settings/fields",
300 "edit_repo_fields": "/{repo_name}/settings/fields",
301 "edit_repo_remote": "/{repo_name}/settings/remote",
301 "edit_repo_remote": "/{repo_name}/settings/remote",
302 "edit_repo_statistics": "/{repo_name}/settings/statistics",
302 "edit_repo_statistics": "/{repo_name}/settings/statistics",
303 "edit_repo_advanced": "/{repo_name}/settings/advanced",
303 "edit_repo_advanced": "/{repo_name}/settings/advanced",
304 "edit_repo_advanced_delete": "/{repo_name}/settings/advanced/delete",
304 "edit_repo_advanced_delete": "/{repo_name}/settings/advanced/delete",
305 "edit_repo_advanced_archive": "/{repo_name}/settings/advanced/archive",
305 "edit_repo_advanced_archive": "/{repo_name}/settings/advanced/archive",
306 "edit_repo_advanced_fork": "/{repo_name}/settings/advanced/fork",
306 "edit_repo_advanced_fork": "/{repo_name}/settings/advanced/fork",
307 "edit_repo_advanced_locking": "/{repo_name}/settings/advanced/locking",
307 "edit_repo_advanced_locking": "/{repo_name}/settings/advanced/locking",
308 "edit_repo_advanced_journal": "/{repo_name}/settings/advanced/journal",
308 "edit_repo_advanced_journal": "/{repo_name}/settings/advanced/journal",
309 "repo_stats": "/{repo_name}/repo_stats/{commit_id}",
309 "repo_stats": "/{repo_name}/repo_stats/{commit_id}",
310 "repo_refs_data": "/{repo_name}/refs-data",
310 "repo_refs_data": "/{repo_name}/refs-data",
311 "repo_refs_changelog_data": "/{repo_name}/refs-data-changelog",
311 "repo_refs_changelog_data": "/{repo_name}/refs-data-changelog",
312 "repo_artifacts_stream_store": "/_file_store/stream-upload",
312 "repo_artifacts_stream_store": "/_file_store/stream-upload",
313 }
313 }
314
314
315
315
316 def route_path(name, params=None, **kwargs):
316 def route_path(name, params=None, **kwargs):
317 import urllib.parse
317 import urllib.parse
318
318
319 base_url = get_url_defs()[name].format(**kwargs)
319 base_url = get_url_defs()[name].format(**kwargs)
320
320
321 if params:
321 if params:
322 base_url = f"{base_url}?{urllib.parse.urlencode(params)}"
322 base_url = f"{base_url}?{urllib.parse.urlencode(params)}"
323 return base_url
323 return base_url
General Comments 0
You need to be logged in to leave comments. Login now