##// END OF EJS Templates
exception_tracker: store request info if available.
exception_tracker: store request info if available.

File last commit:

r4300:8f93504d default
r4301:9712e26b default
Show More
routes.js
394 lines | 38.5 KiB | application/javascript | JavascriptLexer
dan
cleanup: move jsroutes generator function and only generate in...
r95
dan
refactor: made javascript routes autogenerate based on python routes
r94 /******************************************************************************
* *
* DO NOT CHANGE THIS FILE MANUALLY *
* *
* *
file-browser: refactor how we load metadata for file trees....
r423 * This file is automatically generated when the app starts up with *
* generate_js_files = true *
dan
refactor: made javascript routes autogenerate based on python routes
r94 * *
* To add a route here pass jsroute=True to the route definition in the app *
* *
******************************************************************************/
function registerRCRoutes() {
// routes registration
routes: updated JS routes.
r1590 pyroutes.register('favicon', '/favicon.ico', []);
pyroutes.register('robots', '/robots.txt', []);
packages: bumped attrs to 19.1.0
r3914 pyroutes.register('auth_home', '/_admin/auth*traverse', []);
routes: updated JS routes.
r1590 pyroutes.register('global_integrations_new', '/_admin/integrations/new', []);
pyroutes.register('global_integrations_home', '/_admin/integrations', []);
pyroutes.register('global_integrations_list', '/_admin/integrations/%(integration)s', ['integration']);
pyroutes.register('global_integrations_create', '/_admin/integrations/%(integration)s/new', ['integration']);
pyroutes.register('global_integrations_edit', '/_admin/integrations/%(integration)s/%(integration_id)s', ['integration', 'integration_id']);
repo-groups: moved to pyramid
r2175 pyroutes.register('repo_group_integrations_home', '/%(repo_group_name)s/_settings/integrations', ['repo_group_name']);
pyroutes.register('repo_group_integrations_new', '/%(repo_group_name)s/_settings/integrations/new', ['repo_group_name']);
pyroutes.register('repo_group_integrations_list', '/%(repo_group_name)s/_settings/integrations/%(integration)s', ['repo_group_name', 'integration']);
pyroutes.register('repo_group_integrations_create', '/%(repo_group_name)s/_settings/integrations/%(integration)s/new', ['repo_group_name', 'integration']);
pyroutes.register('repo_group_integrations_edit', '/%(repo_group_name)s/_settings/integrations/%(integration)s/%(integration_id)s', ['repo_group_name', 'integration', 'integration_id']);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('repo_integrations_home', '/%(repo_name)s/settings/integrations', ['repo_name']);
integrations: rewrote usage of pylons components inside integrations....
r1990 pyroutes.register('repo_integrations_new', '/%(repo_name)s/settings/integrations/new', ['repo_name']);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('repo_integrations_list', '/%(repo_name)s/settings/integrations/%(integration)s', ['repo_name', 'integration']);
pyroutes.register('repo_integrations_create', '/%(repo_name)s/settings/integrations/%(integration)s/new', ['repo_name', 'integration']);
pyroutes.register('repo_integrations_edit', '/%(repo_name)s/settings/integrations/%(integration)s/%(integration_id)s', ['repo_name', 'integration', 'integration_id']);
hovercacrds: added new tooltips and hovercards to expose certain information for objects shown in UI
r4026 pyroutes.register('hovercard_user', '/_hovercard/user/%(user_id)s', ['user_id']);
mentions: markdown renderer now wraps username in hovercard logic allowing checking the mentioned user....
r4221 pyroutes.register('hovercard_username', '/_hovercard/username/%(username)s', ['username']);
hovercacrds: added new tooltips and hovercards to expose certain information for objects shown in UI
r4026 pyroutes.register('hovercard_user_group', '/_hovercard/user_group/%(user_group_id)s', ['user_group_id']);
dan
hovercards: allow hovercards on parsed !PR patterns....
r4046 pyroutes.register('hovercard_pull_request', '/_hovercard/pull_request/%(pull_request_id)s', ['pull_request_id']);
hovercards: added commit hovercard for files, and dashboard views.
r4032 pyroutes.register('hovercard_repo_commit', '/_hovercard/commit/%(repo_name)s/%(commit_id)s', ['repo_name', 'commit_id']);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('ops_ping', '/_admin/ops/ping', []);
ops: added redirect and exception ops view for testing.
r1913 pyroutes.register('ops_error_test', '/_admin/ops/error', []);
pyroutes.register('ops_redirect_test', '/_admin/ops/redirect', []);
routing: removed more usage of pylons url() objects.
r2103 pyroutes.register('ops_ping_legacy', '/_admin/ping', []);
pyroutes.register('ops_error_test_legacy', '/_admin/error_test', []);
audit-logs: introduced new view to replace admin journal....
r1758 pyroutes.register('admin_home', '/_admin', []);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('admin_audit_logs', '/_admin/audit_logs', []);
audit-logs: allow showing individual entries for audit log.
r2110 pyroutes.register('admin_audit_log_entry', '/_admin/audit_logs/%(audit_log_id)s', ['audit_log_id']);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('pull_requests_global_0', '/_admin/pull_requests/%(pull_request_id)s', ['pull_request_id']);
pyroutes.register('pull_requests_global_1', '/_admin/pull-requests/%(pull_request_id)s', ['pull_request_id']);
pyroutes.register('pull_requests_global', '/_admin/pull-request/%(pull_request_id)s', ['pull_request_id']);
pyroutes.register('admin_settings_open_source', '/_admin/settings/open_source', []);
pyroutes.register('admin_settings_vcs_svn_generate_cfg', '/_admin/settings/vcs/svn_generate_cfg', []);
pyroutes.register('admin_settings_system', '/_admin/settings/system', []);
pyroutes.register('admin_settings_system_update', '/_admin/settings/system/updates', []);
routes: update JS routes for exception tracking
r2923 pyroutes.register('admin_settings_exception_tracker', '/_admin/settings/exceptions', []);
pyroutes.register('admin_settings_exception_tracker_delete_all', '/_admin/settings/exceptions/delete', []);
pyroutes.register('admin_settings_exception_tracker_show', '/_admin/settings/exceptions/%(exception_id)s', ['exception_id']);
pyroutes.register('admin_settings_exception_tracker_delete', '/_admin/settings/exceptions/%(exception_id)s/delete', ['exception_id']);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('admin_settings_sessions', '/_admin/settings/sessions', []);
pyroutes.register('admin_settings_sessions_cleanup', '/_admin/settings/sessions/cleanup', []);
process-managemet: added simple page to monitor worker processes of RhodeCode.
r1885 pyroutes.register('admin_settings_process_management', '/_admin/settings/process_management', []);
process-management: enable auto-refresh to track usage live.
r2500 pyroutes.register('admin_settings_process_management_data', '/_admin/settings/process_management/data', []);
process-managemet: added simple page to monitor worker processes of RhodeCode.
r1885 pyroutes.register('admin_settings_process_management_signal', '/_admin/settings/process_management/signal', []);
processes: add a way to control processes via gunicorn control....
r2503 pyroutes.register('admin_settings_process_management_master_signal', '/_admin/settings/process_management/master_signal', []);
admin-defaults: ported views to pyramid.
r2076 pyroutes.register('admin_defaults_repositories', '/_admin/defaults/repositories', []);
pyroutes.register('admin_defaults_repositories_update', '/_admin/defaults/repositories/update', []);
admin: ported settings controller to pyramid....
r2333 pyroutes.register('admin_settings', '/_admin/settings', []);
pyroutes.register('admin_settings_update', '/_admin/settings/update', []);
pyroutes.register('admin_settings_global', '/_admin/settings/global', []);
pyroutes.register('admin_settings_global_update', '/_admin/settings/global/update', []);
pyroutes.register('admin_settings_vcs', '/_admin/settings/vcs', []);
pyroutes.register('admin_settings_vcs_update', '/_admin/settings/vcs/update', []);
pyroutes.register('admin_settings_vcs_svn_pattern_delete', '/_admin/settings/vcs/svn_pattern_delete', []);
pyroutes.register('admin_settings_mapping', '/_admin/settings/mapping', []);
pyroutes.register('admin_settings_mapping_update', '/_admin/settings/mapping/update', []);
pyroutes.register('admin_settings_visual', '/_admin/settings/visual', []);
pyroutes.register('admin_settings_visual_update', '/_admin/settings/visual/update', []);
pyroutes.register('admin_settings_issuetracker', '/_admin/settings/issue-tracker', []);
pyroutes.register('admin_settings_issuetracker_update', '/_admin/settings/issue-tracker/update', []);
pyroutes.register('admin_settings_issuetracker_test', '/_admin/settings/issue-tracker/test', []);
pyroutes.register('admin_settings_issuetracker_delete', '/_admin/settings/issue-tracker/delete', []);
pyroutes.register('admin_settings_email', '/_admin/settings/email', []);
pyroutes.register('admin_settings_email_update', '/_admin/settings/email/update', []);
pyroutes.register('admin_settings_hooks', '/_admin/settings/hooks', []);
pyroutes.register('admin_settings_hooks_update', '/_admin/settings/hooks/update', []);
pyroutes.register('admin_settings_hooks_delete', '/_admin/settings/hooks/delete', []);
pyroutes.register('admin_settings_search', '/_admin/settings/search', []);
pyroutes.register('admin_settings_labs', '/_admin/settings/labs', []);
pyroutes.register('admin_settings_labs_update', '/_admin/settings/labs/update', []);
global-permissions: ported controller to pyramid view....
r1941 pyroutes.register('admin_permissions_application', '/_admin/permissions/application', []);
pyroutes.register('admin_permissions_application_update', '/_admin/permissions/application/update', []);
pyroutes.register('admin_permissions_global', '/_admin/permissions/global', []);
pyroutes.register('admin_permissions_global_update', '/_admin/permissions/global/update', []);
pyroutes.register('admin_permissions_object', '/_admin/permissions/object', []);
pyroutes.register('admin_permissions_object_update', '/_admin/permissions/object/update', []);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('admin_permissions_ips', '/_admin/permissions/ips', []);
global-permissions: ported controller to pyramid view....
r1941 pyroutes.register('admin_permissions_overview', '/_admin/permissions/overview', []);
permissions: expose new view that lists all available views for usage in whitelist access.
r1943 pyroutes.register('admin_permissions_auth_token_access', '/_admin/permissions/auth_token_access', []);
ssh-keys: added admin panel for managing globally all SSH Keys....
r2042 pyroutes.register('admin_permissions_ssh_keys', '/_admin/permissions/ssh_keys', []);
pyroutes.register('admin_permissions_ssh_keys_data', '/_admin/permissions/ssh_keys/data', []);
pyroutes.register('admin_permissions_ssh_keys_update', '/_admin/permissions/ssh_keys/update', []);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('users', '/_admin/users', []);
pyroutes.register('users_data', '/_admin/users_data', []);
users: ported controllers from pylons into pyramid views.
r2114 pyroutes.register('users_create', '/_admin/users/create', []);
pyroutes.register('users_new', '/_admin/users/new', []);
pyroutes.register('user_edit', '/_admin/users/%(user_id)s/edit', ['user_id']);
pyroutes.register('user_edit_advanced', '/_admin/users/%(user_id)s/edit/advanced', ['user_id']);
pyroutes.register('user_edit_global_perms', '/_admin/users/%(user_id)s/edit/global_permissions', ['user_id']);
pyroutes.register('user_edit_global_perms_update', '/_admin/users/%(user_id)s/edit/global_permissions/update', ['user_id']);
pyroutes.register('user_update', '/_admin/users/%(user_id)s/update', ['user_id']);
pyroutes.register('user_delete', '/_admin/users/%(user_id)s/delete', ['user_id']);
users: use two distinct actions for user password reset....
r3378 pyroutes.register('user_enable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_enable', ['user_id']);
pyroutes.register('user_disable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_disable', ['user_id']);
users: ported controllers from pylons into pyramid views.
r2114 pyroutes.register('user_create_personal_repo_group', '/_admin/users/%(user_id)s/create_repo_group', ['user_id']);
core: added user-notice logic to push notice messages....
r4300 pyroutes.register('user_notice_dismiss', '/_admin/users/%(user_id)s/notice_dismiss', ['user_id']);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('edit_user_auth_tokens_delete', '/_admin/users/%(user_id)s/edit/auth_tokens/delete', ['user_id']);
users: added SSH key management for user admin pages
r1993 pyroutes.register('edit_user_ssh_keys', '/_admin/users/%(user_id)s/edit/ssh_keys', ['user_id']);
pyroutes.register('edit_user_ssh_keys_generate_keypair', '/_admin/users/%(user_id)s/edit/ssh_keys/generate', ['user_id']);
pyroutes.register('edit_user_ssh_keys_add', '/_admin/users/%(user_id)s/edit/ssh_keys/new', ['user_id']);
pyroutes.register('edit_user_ssh_keys_delete', '/_admin/users/%(user_id)s/edit/ssh_keys/delete', ['user_id']);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('edit_user_emails', '/_admin/users/%(user_id)s/edit/emails', ['user_id']);
pyroutes.register('edit_user_emails_add', '/_admin/users/%(user_id)s/edit/emails/new', ['user_id']);
pyroutes.register('edit_user_emails_delete', '/_admin/users/%(user_id)s/edit/emails/delete', ['user_id']);
pyroutes.register('edit_user_ips', '/_admin/users/%(user_id)s/edit/ips', ['user_id']);
pyroutes.register('edit_user_ips_add', '/_admin/users/%(user_id)s/edit/ips/new', ['user_id']);
pyroutes.register('edit_user_ips_delete', '/_admin/users/%(user_id)s/edit/ips/delete', ['user_id']);
users/user_groups: ported permission summary pages into pyramid....
r1998 pyroutes.register('edit_user_perms_summary', '/_admin/users/%(user_id)s/edit/permissions_summary', ['user_id']);
pyroutes.register('edit_user_perms_summary_json', '/_admin/users/%(user_id)s/edit/permissions_summary/json', ['user_id']);
routing: fixed pyramid routing generation....
r1884 pyroutes.register('edit_user_groups_management', '/_admin/users/%(user_id)s/edit/groups_management', ['user_id']);
pyroutes.register('edit_user_groups_management_updates', '/_admin/users/%(user_id)s/edit/edit_user_groups_management/updates', ['user_id']);
pyroutes.register('edit_user_audit_logs', '/_admin/users/%(user_id)s/edit/audit', ['user_id']);
audit-logs: expose download user audit logs as JSON file....
r3970 pyroutes.register('edit_user_audit_logs_download', '/_admin/users/%(user_id)s/edit/audit/download', ['user_id']);
caches: rewrite of auth/permission caches to dogpile.
r2845 pyroutes.register('edit_user_caches', '/_admin/users/%(user_id)s/edit/caches', ['user_id']);
pyroutes.register('edit_user_caches_update', '/_admin/users/%(user_id)s/edit/caches/update', ['user_id']);
user-groups: moved the display of user group into a pyramid view
r1980 pyroutes.register('user_groups', '/_admin/user_groups', []);
pyroutes.register('user_groups_data', '/_admin/user_groups_data', []);
user-groups: rewrote the app to pyramid...
r2068 pyroutes.register('user_groups_new', '/_admin/user_groups/new', []);
pyroutes.register('user_groups_create', '/_admin/user_groups/create', []);
repositories: rewrote whole admin section to pyramid....
r2014 pyroutes.register('repos', '/_admin/repos', []);
admin: made all grids use same partial loading logic...
r4146 pyroutes.register('repos_data', '/_admin/repos_data', []);
repositories: rewrote whole admin section to pyramid....
r2014 pyroutes.register('repo_new', '/_admin/repos/new', []);
pyroutes.register('repo_create', '/_admin/repos/create', []);
repo-groups: moved to pyramid
r2175 pyroutes.register('repo_groups', '/_admin/repo_groups', []);
artifacts: updated CE code for this EE feature.
r3675 pyroutes.register('repo_groups_data', '/_admin/repo_groups_data', []);
repo-groups: moved to pyramid
r2175 pyroutes.register('repo_group_new', '/_admin/repo_group/new', []);
pyroutes.register('repo_group_create', '/_admin/repo_group/create', []);
routes: updated JS routes.
r1590 pyroutes.register('channelstream_connect', '/_admin/channelstream/connect', []);
pyroutes.register('channelstream_subscribe', '/_admin/channelstream/subscribe', []);
pyroutes.register('channelstream_proxy', '/_channelstream', []);
file-uploads: created simple upload capabilities....
r3432 pyroutes.register('upload_file', '/_file_store/upload', []);
pyroutes.register('download_file', '/_file_store/download/%(fid)s', ['fid']);
artifacts: expose a special auth-token based artifacts download urls....
r4003 pyroutes.register('download_file_by_token', '/_file_store/token-download/%(_auth_token)s/%(fid)s', ['_auth_token', 'fid']);
routes: updated JS routes.
r1590 pyroutes.register('logout', '/_admin/logout', []);
pyroutes.register('reset_password', '/_admin/password_reset', []);
pyroutes.register('reset_password_confirmation', '/_admin/password_reset_confirmation', []);
audit-logger: unify calls to repo.delete and also store source of call, api/web.
r1752 pyroutes.register('home', '/', []);
dashboard: main page grids async load....
r4148 pyroutes.register('main_page_repos_data', '/_home_repos', []);
pyroutes.register('main_page_repo_groups_data', '/_home_repo_groups', []);
core: moved repo_list data to pyramid.
r1667 pyroutes.register('user_autocomplete_data', '/_users', []);
pyroutes.register('user_group_autocomplete_data', '/_user_groups', []);
pyroutes.register('repo_list_data', '/_repos', []);
dan
ui: introduce user-bookmarks for creation of quick shortcuts
r3424 pyroutes.register('repo_group_list_data', '/_repo_groups', []);
core: moved goto_switcher views into pyramid.
r1668 pyroutes.register('goto_switcher_data', '/_goto_data', []);
pull-requests: allow markup rendered description.
r2816 pyroutes.register('markup_preview', '/_markup_preview', []);
dan
file: new file editors...
r3754 pyroutes.register('file_preview', '/_file_preview', []);
users: use new session store for temporary settings for users....
r3088 pyroutes.register('store_user_session_value', '/_store_session_attr', []);
journal: ported controller to pyramid code
r1933 pyroutes.register('journal', '/_admin/journal', []);
pyroutes.register('journal_rss', '/_admin/journal/rss', []);
pyroutes.register('journal_atom', '/_admin/journal/atom', []);
pyroutes.register('journal_public', '/_admin/public_journal', []);
pyroutes.register('journal_public_atom', '/_admin/public_journal/atom', []);
pyroutes.register('journal_public_atom_old', '/_admin/public_journal_atom', []);
pyroutes.register('journal_public_rss', '/_admin/public_journal/rss', []);
pyroutes.register('journal_public_rss_old', '/_admin/public_journal_rss', []);
pyroutes.register('toggle_following', '/_admin/toggle_following', []);
repositories: ported repo_creating checks to pyramid....
r1985 pyroutes.register('repo_creating', '/%(repo_name)s/repo_creating', ['repo_name']);
pyroutes.register('repo_creating_check', '/%(repo_name)s/repo_creating_check', ['repo_name']);
repo-settings: moved advanced setion into pyramid views....
r1751 pyroutes.register('repo_summary_explicit', '/%(repo_name)s/summary', ['repo_name']);
repo-summary: re-implemented summary view as pyramid....
r1785 pyroutes.register('repo_summary_commits', '/%(repo_name)s/summary-commits', ['repo_name']);
pull-request-api: updated logic of closing a PR via API call....
r1792 pyroutes.register('repo_commit', '/%(repo_name)s/changeset/%(commit_id)s', ['repo_name', 'commit_id']);
repo-commits: ported changeset code into pyramid views....
r1951 pyroutes.register('repo_commit_children', '/%(repo_name)s/changeset_children/%(commit_id)s', ['repo_name', 'commit_id']);
pyroutes.register('repo_commit_parents', '/%(repo_name)s/changeset_parents/%(commit_id)s', ['repo_name', 'commit_id']);
pyroutes.register('repo_commit_raw', '/%(repo_name)s/changeset-diff/%(commit_id)s', ['repo_name', 'commit_id']);
pyroutes.register('repo_commit_patch', '/%(repo_name)s/changeset-patch/%(commit_id)s', ['repo_name', 'commit_id']);
pyroutes.register('repo_commit_download', '/%(repo_name)s/changeset-download/%(commit_id)s', ['repo_name', 'commit_id']);
pyroutes.register('repo_commit_data', '/%(repo_name)s/changeset-data/%(commit_id)s', ['repo_name', 'commit_id']);
pyroutes.register('repo_commit_comment_create', '/%(repo_name)s/changeset/%(commit_id)s/comment/create', ['repo_name', 'commit_id']);
pyroutes.register('repo_commit_comment_preview', '/%(repo_name)s/changeset/%(commit_id)s/comment/preview', ['repo_name', 'commit_id']);
comments: added support for adding comment attachments using the artifacts logic....
r3973 pyroutes.register('repo_commit_comment_attachment_upload', '/%(repo_name)s/changeset/%(commit_id)s/comment/attachment_upload', ['repo_name', 'commit_id']);
repo-commits: ported changeset code into pyramid views....
r1951 pyroutes.register('repo_commit_comment_delete', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/delete', ['repo_name', 'commit_id', 'comment_id']);
compare: migrated code from pylons to pyramid views.
r1957 pyroutes.register('repo_commit_raw_deprecated', '/%(repo_name)s/raw-changeset/%(commit_id)s', ['repo_name', 'commit_id']);
files: ported repository files controllers to pyramid views.
r1927 pyroutes.register('repo_archivefile', '/%(repo_name)s/archive/%(fname)s', ['repo_name', 'fname']);
pyroutes.register('repo_files_diff', '/%(repo_name)s/diff/%(f_path)s', ['repo_name', 'f_path']);
pyroutes.register('repo_files_diff_2way_redirect', '/%(repo_name)s/diff-2way/%(f_path)s', ['repo_name', 'f_path']);
pyroutes.register('repo_files', '/%(repo_name)s/files/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_files:default_path', '/%(repo_name)s/files/%(commit_id)s/', ['repo_name', 'commit_id']);
pyroutes.register('repo_files:default_commit', '/%(repo_name)s/files', ['repo_name']);
pyroutes.register('repo_files:rendered', '/%(repo_name)s/render/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_files:annotated', '/%(repo_name)s/annotate/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_files:annotated_previous', '/%(repo_name)s/annotate-previous/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_nodetree_full', '/%(repo_name)s/nodetree_full/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_nodetree_full:default_path', '/%(repo_name)s/nodetree_full/%(commit_id)s/', ['repo_name', 'commit_id']);
pyroutes.register('repo_files_nodelist', '/%(repo_name)s/nodelist/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_file_raw', '/%(repo_name)s/raw/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_file_download', '/%(repo_name)s/download/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_file_download:legacy', '/%(repo_name)s/rawfile/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_file_history', '/%(repo_name)s/history/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_file_authors', '/%(repo_name)s/authors/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_files_remove_file', '/%(repo_name)s/remove_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_files_delete_file', '/%(repo_name)s/delete_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_files_edit_file', '/%(repo_name)s/edit_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_files_update_file', '/%(repo_name)s/update_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_files_add_file', '/%(repo_name)s/add_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
changelog: rename changelog to commits pages
r3742 pyroutes.register('repo_files_upload_file', '/%(repo_name)s/upload_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
files: ported repository files controllers to pyramid views.
r1927 pyroutes.register('repo_files_create_file', '/%(repo_name)s/create_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
repo-summary: re-implemented summary view as pyramid....
r1785 pyroutes.register('repo_refs_data', '/%(repo_name)s/refs-data', ['repo_name']);
pyroutes.register('repo_refs_changelog_data', '/%(repo_name)s/refs-data-changelog', ['repo_name']);
pyroutes.register('repo_stats', '/%(repo_name)s/repo_stats/%(commit_id)s', ['repo_name', 'commit_id']);
changelog: rename changelog to commits pages
r3742 pyroutes.register('repo_commits', '/%(repo_name)s/commits', ['repo_name']);
pyroutes.register('repo_commits_file', '/%(repo_name)s/commits/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
pyroutes.register('repo_commits_elements', '/%(repo_name)s/commits_elements', ['repo_name']);
pyroutes.register('repo_commits_elements_file', '/%(repo_name)s/commits_elements/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
changelog: ported to pyramid views.
r1931 pyroutes.register('repo_changelog', '/%(repo_name)s/changelog', ['repo_name']);
pyroutes.register('repo_changelog_file', '/%(repo_name)s/changelog/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
compare: migrated code from pylons to pyramid views.
r1957 pyroutes.register('repo_compare_select', '/%(repo_name)s/compare', ['repo_name']);
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']);
tags/branches/bookmarks: moved views into pyramid.
r1746 pyroutes.register('tags_home', '/%(repo_name)s/tags', ['repo_name']);
pyroutes.register('branches_home', '/%(repo_name)s/branches', ['repo_name']);
pyroutes.register('bookmarks_home', '/%(repo_name)s/bookmarks', ['repo_name']);
forks: moved pylons code into pyramid.
r1988 pyroutes.register('repo_fork_new', '/%(repo_name)s/fork', ['repo_name']);
pyroutes.register('repo_fork_create', '/%(repo_name)s/fork/create', ['repo_name']);
pyroutes.register('repo_forks_show_all', '/%(repo_name)s/forks', ['repo_name']);
pyroutes.register('repo_forks_data', '/%(repo_name)s/forks/data', ['repo_name']);
audit-logs: introduced new view to replace admin journal....
r1758 pyroutes.register('pullrequest_show', '/%(repo_name)s/pull-request/%(pull_request_id)s', ['repo_name', 'pull_request_id']);
pull-requests: moved the listing of pull requests for repo into pyramid....
r1766 pyroutes.register('pullrequest_show_all', '/%(repo_name)s/pull-request', ['repo_name']);
pyroutes.register('pullrequest_show_all_data', '/%(repo_name)s/pull-request-data', ['repo_name']);
pull-requests: migrated code from pylons to pyramid
r1974 pyroutes.register('pullrequest_repo_refs', '/%(repo_name)s/pull-request/refs/%(target_repo_name)s', ['repo_name', 'target_repo_name']);
pull-requests: allow having repo targets all forks and parent forks of target....
r3330 pyroutes.register('pullrequest_repo_targets', '/%(repo_name)s/pull-request/repo-targets', ['repo_name']);
pull-requests: migrated code from pylons to pyramid
r1974 pyroutes.register('pullrequest_new', '/%(repo_name)s/pull-request/new', ['repo_name']);
pyroutes.register('pullrequest_create', '/%(repo_name)s/pull-request/create', ['repo_name']);
pyroutes.register('pullrequest_update', '/%(repo_name)s/pull-request/%(pull_request_id)s/update', ['repo_name', 'pull_request_id']);
pyroutes.register('pullrequest_merge', '/%(repo_name)s/pull-request/%(pull_request_id)s/merge', ['repo_name', 'pull_request_id']);
pyroutes.register('pullrequest_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/delete', ['repo_name', 'pull_request_id']);
pyroutes.register('pullrequest_comment_create', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment', ['repo_name', 'pull_request_id']);
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']);
repo-settings: converted repo settings to pyramid...
r1716 pyroutes.register('edit_repo', '/%(repo_name)s/settings', ['repo_name']);
repo-settings: moved advanced setion into pyramid views....
r1751 pyroutes.register('edit_repo_advanced', '/%(repo_name)s/settings/advanced', ['repo_name']);
repositories: added option to archive repositories instead of deleting them....
r3090 pyroutes.register('edit_repo_advanced_archive', '/%(repo_name)s/settings/advanced/archive', ['repo_name']);
repo-settings: moved advanced setion into pyramid views....
r1751 pyroutes.register('edit_repo_advanced_delete', '/%(repo_name)s/settings/advanced/delete', ['repo_name']);
pyroutes.register('edit_repo_advanced_locking', '/%(repo_name)s/settings/advanced/locking', ['repo_name']);
pyroutes.register('edit_repo_advanced_journal', '/%(repo_name)s/settings/advanced/journal', ['repo_name']);
pyroutes.register('edit_repo_advanced_fork', '/%(repo_name)s/settings/advanced/fork', ['repo_name']);
pull-requests: allow markup rendered description.
r2816 pyroutes.register('edit_repo_advanced_hooks', '/%(repo_name)s/settings/advanced/hooks', ['repo_name']);
repo-caches: moved view into pyramid.
r1722 pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']);
repo-permissions: moved permissions into pyramid....
r1734 pyroutes.register('edit_repo_perms', '/%(repo_name)s/settings/permissions', ['repo_name']);
repository-permissions: enable shortcut to set private mode in permission page.
r3809 pyroutes.register('edit_repo_perms_set_private', '/%(repo_name)s/settings/permissions/set_private', ['repo_name']);
repositories: rewrote whole admin section to pyramid....
r2014 pyroutes.register('edit_repo_maintenance', '/%(repo_name)s/settings/maintenance', ['repo_name']);
pyroutes.register('edit_repo_maintenance_execute', '/%(repo_name)s/settings/maintenance/execute', ['repo_name']);
pyroutes.register('edit_repo_fields', '/%(repo_name)s/settings/fields', ['repo_name']);
pyroutes.register('edit_repo_fields_create', '/%(repo_name)s/settings/fields/create', ['repo_name']);
pyroutes.register('edit_repo_fields_delete', '/%(repo_name)s/settings/fields/%(field_id)s/delete', ['repo_name', 'field_id']);
pyroutes.register('repo_edit_toggle_locking', '/%(repo_name)s/settings/toggle_locking', ['repo_name']);
pyroutes.register('edit_repo_remote', '/%(repo_name)s/settings/remote', ['repo_name']);
pyroutes.register('edit_repo_remote_pull', '/%(repo_name)s/settings/remote/pull', ['repo_name']);
pyroutes.register('edit_repo_statistics', '/%(repo_name)s/settings/statistics', ['repo_name']);
pyroutes.register('edit_repo_statistics_reset', '/%(repo_name)s/settings/statistics/update', ['repo_name']);
pyroutes.register('edit_repo_issuetracker', '/%(repo_name)s/settings/issue_trackers', ['repo_name']);
pyroutes.register('edit_repo_issuetracker_test', '/%(repo_name)s/settings/issue_trackers/test', ['repo_name']);
pyroutes.register('edit_repo_issuetracker_delete', '/%(repo_name)s/settings/issue_trackers/delete', ['repo_name']);
pyroutes.register('edit_repo_issuetracker_update', '/%(repo_name)s/settings/issue_trackers/update', ['repo_name']);
pyroutes.register('edit_repo_vcs', '/%(repo_name)s/settings/vcs', ['repo_name']);
pyroutes.register('edit_repo_vcs_update', '/%(repo_name)s/settings/vcs/update', ['repo_name']);
pyroutes.register('edit_repo_vcs_svn_pattern_delete', '/%(repo_name)s/settings/vcs/svn_pattern/delete', ['repo_name']);
repo-reviewers: expose a default placeholder on CE edition....
r1725 pyroutes.register('repo_reviewers', '/%(repo_name)s/settings/review/rules', ['repo_name']);
reviewers: moved the new v1 api of default reviewers into pyramid view....
r1767 pyroutes.register('repo_default_reviewers_data', '/%(repo_name)s/settings/review/default-reviewers', ['repo_name']);
repositories: rewrote whole admin section to pyramid....
r2014 pyroutes.register('edit_repo_strip', '/%(repo_name)s/settings/strip', ['repo_name']);
repo-settings: unify the URL schemas and always use settings/ for repo based...
r1745 pyroutes.register('strip_check', '/%(repo_name)s/settings/strip_check', ['repo_name']);
pyroutes.register('strip_execute', '/%(repo_name)s/settings/strip_execute', ['repo_name']);
repo-forks: security, check for access to fork_id parameter to prevent...
r2173 pyroutes.register('edit_repo_audit_logs', '/%(repo_name)s/settings/audit_logs', ['repo_name']);
rss: use permalinks without slashes for feeds. Fixes #5557
r3810 pyroutes.register('rss_feed_home', '/%(repo_name)s/feed-rss', ['repo_name']);
pyroutes.register('atom_feed_home', '/%(repo_name)s/feed-atom', ['repo_name']);
pyroutes.register('rss_feed_home_old', '/%(repo_name)s/feed/rss', ['repo_name']);
pyroutes.register('atom_feed_home_old', '/%(repo_name)s/feed/atom', ['repo_name']);
repo-summary: re-implemented summary view as pyramid....
r1785 pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']);
pyroutes.register('repo_summary_slash', '/%(repo_name)s/', ['repo_name']);
repo-groups: moved to pyramid
r2175 pyroutes.register('edit_repo_group', '/%(repo_group_name)s/_edit', ['repo_group_name']);
pyroutes.register('edit_repo_group_advanced', '/%(repo_group_name)s/_settings/advanced', ['repo_group_name']);
pyroutes.register('edit_repo_group_advanced_delete', '/%(repo_group_name)s/_settings/advanced/delete', ['repo_group_name']);
pyroutes.register('edit_repo_group_perms', '/%(repo_group_name)s/_settings/permissions', ['repo_group_name']);
pyroutes.register('edit_repo_group_perms_update', '/%(repo_group_name)s/_settings/permissions/update', ['repo_group_name']);
home: moved home and repo group views into pyramid....
r1774 pyroutes.register('repo_group_home', '/%(repo_group_name)s', ['repo_group_name']);
pyroutes.register('repo_group_home_slash', '/%(repo_group_name)s/', ['repo_group_name']);
user-groups: rewrote the app to pyramid...
r2068 pyroutes.register('user_group_members_data', '/_admin/user_groups/%(user_group_id)s/members', ['user_group_id']);
pyroutes.register('edit_user_group_perms_summary', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary', ['user_group_id']);
pyroutes.register('edit_user_group_perms_summary_json', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary/json', ['user_group_id']);
pyroutes.register('edit_user_group', '/_admin/user_groups/%(user_group_id)s/edit', ['user_group_id']);
pyroutes.register('user_groups_update', '/_admin/user_groups/%(user_group_id)s/update', ['user_group_id']);
pyroutes.register('edit_user_group_global_perms', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions', ['user_group_id']);
pyroutes.register('edit_user_group_global_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions/update', ['user_group_id']);
pyroutes.register('edit_user_group_perms', '/_admin/user_groups/%(user_group_id)s/edit/permissions', ['user_group_id']);
pyroutes.register('edit_user_group_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/permissions/update', ['user_group_id']);
pyroutes.register('edit_user_group_advanced', '/_admin/user_groups/%(user_group_id)s/edit/advanced', ['user_group_id']);
pyroutes.register('edit_user_group_advanced_sync', '/_admin/user_groups/%(user_group_id)s/edit/advanced/sync', ['user_group_id']);
pyroutes.register('user_groups_delete', '/_admin/user_groups/%(user_group_id)s/delete', ['user_group_id']);
routes: updated JS routes after moving search into pyramid.
r1689 pyroutes.register('search', '/_admin/search', []);
dan
search: new UI for search, and repo group context search...
r3442 pyroutes.register('search_repo', '/%(repo_name)s/_search', ['repo_name']);
pyroutes.register('search_repo_alt', '/%(repo_name)s/search', ['repo_name']);
pyroutes.register('search_repo_group', '/%(repo_group_name)s/_search', ['repo_group_name']);
routes: updated JS routes.
r1590 pyroutes.register('user_profile', '/_profiles/%(username)s', ['username']);
pull-requests: allow markup rendered description.
r2816 pyroutes.register('user_group_profile', '/_profile_user_group/%(user_group_name)s', ['user_group_name']);
routes: updated JS routes.
r1590 pyroutes.register('my_account_profile', '/_admin/my_account/profile', []);
dan
my-account: migrated left over controller functions into pyramid views....
r1892 pyroutes.register('my_account_edit', '/_admin/my_account/edit', []);
pyroutes.register('my_account_update', '/_admin/my_account/update', []);
routes: updated JS routes.
r1590 pyroutes.register('my_account_password', '/_admin/my_account/password', []);
permissions: expose new view that lists all available views for usage in whitelist access.
r1943 pyroutes.register('my_account_password_update', '/_admin/my_account/password/update', []);
routes: updated JS routes.
r1590 pyroutes.register('my_account_auth_tokens_delete', '/_admin/my_account/auth_tokens/delete', []);
ssh: added ssh key management into my account.
r2044 pyroutes.register('my_account_ssh_keys', '/_admin/my_account/ssh_keys', []);
pyroutes.register('my_account_ssh_keys_generate', '/_admin/my_account/ssh_keys/generate', []);
pyroutes.register('my_account_ssh_keys_add', '/_admin/my_account/ssh_keys/new', []);
pyroutes.register('my_account_ssh_keys_delete', '/_admin/my_account/ssh_keys/delete', []);
process-management: enable auto-refresh to track usage live.
r2500 pyroutes.register('my_account_user_group_membership', '/_admin/my_account/user_group_membership', []);
my-account: moved few my account views into pyramid.
r1819 pyroutes.register('my_account_emails', '/_admin/my_account/emails', []);
pyroutes.register('my_account_emails_add', '/_admin/my_account/emails/new', []);
pyroutes.register('my_account_emails_delete', '/_admin/my_account/emails/delete', []);
pyroutes.register('my_account_repos', '/_admin/my_account/repos', []);
pyroutes.register('my_account_watched', '/_admin/my_account/watched', []);
dan
ui: introduce user-bookmarks for creation of quick shortcuts
r3424 pyroutes.register('my_account_bookmarks', '/_admin/my_account/bookmarks', []);
pyroutes.register('my_account_bookmarks_update', '/_admin/my_account/bookmarks/update', []);
pyroutes.register('my_account_goto_bookmark', '/_admin/my_account/bookmark/%(bookmark_id)s', ['bookmark_id']);
my-account: moved few my account views into pyramid.
r1819 pyroutes.register('my_account_perms', '/_admin/my_account/perms', []);
pyroutes.register('my_account_notifications', '/_admin/my_account/notifications', []);
pyroutes.register('my_account_notifications_toggle_visibility', '/_admin/my_account/toggle_visibility', []);
dan
my-account: migrated left over controller functions into pyramid views....
r1892 pyroutes.register('my_account_pullrequests', '/_admin/my_account/pull_requests', []);
pyroutes.register('my_account_pullrequests_data', '/_admin/my_account/pull_requests/data', []);
notifications: ported views to pyramid
r1920 pyroutes.register('notifications_show_all', '/_admin/notifications', []);
pyroutes.register('notifications_mark_all_read', '/_admin/notifications/mark_all_read', []);
pyroutes.register('notifications_show', '/_admin/notifications/%(notification_id)s', ['notification_id']);
pyroutes.register('notifications_update', '/_admin/notifications/%(notification_id)s/update', ['notification_id']);
pyroutes.register('notifications_delete', '/_admin/notifications/%(notification_id)s/delete', ['notification_id']);
core: moved channelstream test into pyramid.
r1756 pyroutes.register('my_account_notifications_test_channelstream', '/_admin/my_account/test_channelstream', []);
dan
gists: migrated gists controller to pyramid view.
r1891 pyroutes.register('gists_show', '/_admin/gists', []);
pyroutes.register('gists_new', '/_admin/gists/new', []);
pyroutes.register('gists_create', '/_admin/gists/create', []);
pyroutes.register('gist_show', '/_admin/gists/%(gist_id)s', ['gist_id']);
pyroutes.register('gist_delete', '/_admin/gists/%(gist_id)s/delete', ['gist_id']);
pyroutes.register('gist_edit', '/_admin/gists/%(gist_id)s/edit', ['gist_id']);
pyroutes.register('gist_edit_check_revision', '/_admin/gists/%(gist_id)s/edit/check_revision', ['gist_id']);
pyroutes.register('gist_update', '/_admin/gists/%(gist_id)s/update', ['gist_id']);
pyroutes.register('gist_show_rev', '/_admin/gists/%(gist_id)s/%(revision)s', ['gist_id', 'revision']);
pyroutes.register('gist_show_formatted', '/_admin/gists/%(gist_id)s/%(revision)s/%(format)s', ['gist_id', 'revision', 'format']);
pyroutes.register('gist_show_formatted_path', '/_admin/gists/%(gist_id)s/%(revision)s/%(format)s/%(f_path)s', ['gist_id', 'revision', 'format', 'f_path']);
dan
debug-style: moved from pylons controller to pyramid view.
r1900 pyroutes.register('debug_style_home', '/_admin/debug_style', []);
dan
emails: updated emails design and data structure they provide....
r4038 pyroutes.register('debug_style_email', '/_admin/debug_style/email/%(email_id)s', ['email_id']);
pyroutes.register('debug_style_email_plain_rendered', '/_admin/debug_style/email-rendered/%(email_id)s', ['email_id']);
dan
debug-style: moved from pylons controller to pyramid view.
r1900 pyroutes.register('debug_style_template', '/_admin/debug_style/t/%(t_path)s', ['t_path']);
routes: updated JS routes.
r1590 pyroutes.register('apiv2', '/_admin/api', []);
routes: updated routes to include EE entries.
r3336 pyroutes.register('admin_settings_license', '/_admin/settings/license', []);
pyroutes.register('admin_settings_license_unlock', '/_admin/settings/license_unlock', []);
pyroutes.register('login', '/_admin/login', []);
pyroutes.register('register', '/_admin/register', []);
pyroutes.register('repo_reviewers_review_rule_new', '/%(repo_name)s/settings/review/rules/new', ['repo_name']);
pyroutes.register('repo_reviewers_review_rule_edit', '/%(repo_name)s/settings/review/rules/%(rule_id)s', ['repo_name', 'rule_id']);
pyroutes.register('repo_reviewers_review_rule_delete', '/%(repo_name)s/settings/review/rules/%(rule_id)s/delete', ['repo_name', 'rule_id']);
pyroutes.register('plugin_admin_chat', '/_admin/plugin_admin_chat/%(action)s', ['action']);
pyroutes.register('edit_user_auth_tokens', '/_admin/users/%(user_id)s/edit/auth_tokens', ['user_id']);
pyroutes.register('edit_user_auth_tokens_add', '/_admin/users/%(user_id)s/edit/auth_tokens/new', ['user_id']);
pyroutes.register('admin_settings_scheduler_show_tasks', '/_admin/settings/scheduler/_tasks', []);
pyroutes.register('admin_settings_scheduler_show_all', '/_admin/settings/scheduler', []);
pyroutes.register('admin_settings_scheduler_new', '/_admin/settings/scheduler/new', []);
pyroutes.register('admin_settings_scheduler_create', '/_admin/settings/scheduler/create', []);
pyroutes.register('admin_settings_scheduler_edit', '/_admin/settings/scheduler/%(schedule_id)s', ['schedule_id']);
pyroutes.register('admin_settings_scheduler_update', '/_admin/settings/scheduler/%(schedule_id)s/update', ['schedule_id']);
pyroutes.register('admin_settings_scheduler_delete', '/_admin/settings/scheduler/%(schedule_id)s/delete', ['schedule_id']);
pyroutes.register('admin_settings_scheduler_execute', '/_admin/settings/scheduler/%(schedule_id)s/execute', ['schedule_id']);
pyroutes.register('admin_settings_automation', '/_admin/settings/automation', []);
pyroutes.register('admin_settings_automation_update', '/_admin/settings/automation/%(entry_id)s/update', ['entry_id']);
pyroutes.register('admin_permissions_branch', '/_admin/permissions/branch', []);
pyroutes.register('admin_permissions_branch_update', '/_admin/permissions/branch/update', []);
pyroutes.register('my_account_auth_tokens', '/_admin/my_account/auth_tokens', []);
pyroutes.register('my_account_auth_tokens_add', '/_admin/my_account/auth_tokens/new', []);
pyroutes.register('my_account_external_identity', '/_admin/my_account/external-identity', []);
pyroutes.register('my_account_external_identity_delete', '/_admin/my_account/external-identity/delete', []);
artifacts: updated CE code for this EE feature.
r3675 pyroutes.register('repo_artifacts_list', '/%(repo_name)s/artifacts', ['repo_name']);
pyroutes.register('repo_artifacts_data', '/%(repo_name)s/artifacts_data', ['repo_name']);
pyroutes.register('repo_artifacts_new', '/%(repo_name)s/artifacts/new', ['repo_name']);
artifacts: expose new repo specific URLs
r3729 pyroutes.register('repo_artifacts_get', '/%(repo_name)s/artifacts/download/%(uid)s', ['repo_name', 'uid']);
artifacts: updated CE code for this EE feature.
r3675 pyroutes.register('repo_artifacts_store', '/%(repo_name)s/artifacts/store', ['repo_name']);
dan
artifacts: expose info link page.
r3966 pyroutes.register('repo_artifacts_info', '/%(repo_name)s/artifacts/info/%(uid)s', ['repo_name', 'uid']);
artifacts: updated CE code for this EE feature.
r3675 pyroutes.register('repo_artifacts_delete', '/%(repo_name)s/artifacts/delete/%(uid)s', ['repo_name', 'uid']);
artifacts: update display to not show elements for copy. The info page is now for this.
r4089 pyroutes.register('repo_artifacts_update', '/%(repo_name)s/artifacts/update/%(uid)s', ['repo_name', 'uid']);
routes: updated routes to include EE entries.
r3336 pyroutes.register('repo_automation', '/%(repo_name)s/settings/automation', ['repo_name']);
pyroutes.register('repo_automation_update', '/%(repo_name)s/settings/automation/%(entry_id)s/update', ['repo_name', 'entry_id']);
pyroutes.register('edit_repo_remote_push', '/%(repo_name)s/settings/remote/push', ['repo_name']);
pyroutes.register('edit_repo_perms_branch', '/%(repo_name)s/settings/branch_permissions', ['repo_name']);
pyroutes.register('edit_repo_perms_branch_delete', '/%(repo_name)s/settings/branch_permissions/%(rule_id)s/delete', ['repo_name', 'rule_id']);
dan
cleanup: move jsroutes generator function and only generate in...
r95 }