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