##// END OF EJS Templates
added link for detailed overview in pull-request form
added link for detailed overview in pull-request form

File last commit:

r2391:91fae60b merge codereview
r2396:51e3d60f codereview
Show More
routing.py
530 lines | 25.6 KiB | text/x-python | PythonLexer
fixed @repo into :repo for docs...
r604 """
Routes configuration
renamed project to rhodecode
r547
The more specific and detailed routes should be defined first so they
may take precedent over the more generic routes. For more information
refer to the routes manual at http://routes.groovie.org/docs/
"""
from __future__ import with_statement
from routes import Mapper
Fixed methods for checking if path in routes is a repo...
r1505
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 # prefix for non repository related links needs to be prefixed with `/`
ADMIN_PREFIX = '/_admin'
added __license__ into main of rhodecode, PEP8ify
r1205
renamed project to rhodecode
r547 def make_map(config):
"""Create, configure and return the routes Mapper"""
pep8ify
r1211 rmap = Mapper(directory=config['pylons.paths']['controllers'],
renamed project to rhodecode
r547 always_scan=config['debug'])
pep8ify
r1211 rmap.minimization = False
rmap.explicit = False
implements #226 repo groups available by path...
r1538
changed check_... functions from their stupid names to something less retarded :)
r1507 from rhodecode.lib.utils import is_valid_repo
from rhodecode.lib.utils import is_valid_repos_group
implements #226 repo groups available by path...
r1538
fixed @repo into :repo for docs...
r604 def check_repo(environ, match_dict):
"""
check for valid repository for proper 404 handling
mark all read button for notifications
r1791
fixed @repo into :repo for docs...
r604 :param environ:
:param match_dict:
"""
implements #285: Implemented non changeable urls for clone url, and web views
r1813 from rhodecode.model.db import Repository
repo_name = match_dict.get('repo_name')
implements #226 repo groups available by path...
r1538
implements #285: Implemented non changeable urls for clone url, and web views
r1813 try:
by_id = repo_name.split('_')
if len(by_id) == 2 and by_id[1].isdigit():
repo_name = Repository.get(by_id[1]).repo_name
match_dict['repo_name'] = repo_name
except:
pass
changed check_... functions from their stupid names to something less retarded :)
r1507 return is_valid_repo(repo_name, config['base_path'])
Fixed methods for checking if path in routes is a repo...
r1505
def check_group(environ, match_dict):
"""
check for valid repositories group for proper 404 handling
mark all read button for notifications
r1791
Fixed methods for checking if path in routes is a repo...
r1505 :param environ:
:param match_dict:
"""
repos_group_name = match_dict.get('group_name')
implements #226 repo groups available by path...
r1538
changed check_... functions from their stupid names to something less retarded :)
r1507 return is_valid_repos_group(repos_group_name, config['base_path'])
fixed @repo into :repo for docs...
r604
translated resource map into full routes map, added validation for repos_group id
r1348 def check_int(environ, match_dict):
return match_dict.get('id').isdigit()
renamed project to rhodecode
r547 # The ErrorController route (handles 404/500 error pages); it should
# likely stay at the top, ensuring it can always be resolved
pep8ify
r1211 rmap.connect('/error/{action}', controller='error')
rmap.connect('/error/{action}/{id}', controller='error')
renamed project to rhodecode
r547
fixed @repo into :repo for docs...
r604 #==========================================================================
renamed project to rhodecode
r547 # CUSTOM ROUTES HERE
fixed @repo into :repo for docs...
r604 #==========================================================================
#MAIN PAGE
pep8ify
r1211 rmap.connect('home', '/', controller='home', action='index')
fixed removed route during pep8ify
r1214 rmap.connect('repo_switcher', '/repos', controller='home',
action='repo_switcher')
Notification system improvements...
r1712 rmap.connect('branch_tag_switcher', '/branches-tags/{repo_name:.*}',
controller='home', action='branch_tag_switcher')
pep8ify
r1211 rmap.connect('bugtracker',
"http://bitbucket.org/marcinkuzminski/rhodecode/issues",
_static=True)
added rst help link
r1680 rmap.connect('rst_help',
"http://docutils.sourceforge.net/docs/user/rst/quickref.html",
_static=True)
pep8ify
r1211 rmap.connect('rhodecode_official', "http://rhodecode.org", _static=True)
added changes made in production branch back into beta
r1143
fixed @repo into :repo for docs...
r604 #ADMIN REPOSITORY REST ROUTES
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 with rmap.submapper(path_prefix=ADMIN_PREFIX,
controller='admin/repos') as m:
renamed project to rhodecode
r547 m.connect("repos", "/repos",
action="create", conditions=dict(method=["POST"]))
m.connect("repos", "/repos",
action="index", conditions=dict(method=["GET"]))
m.connect("formatted_repos", "/repos.{format}",
action="index",
conditions=dict(method=["GET"]))
m.connect("new_repo", "/repos/new",
action="new", conditions=dict(method=["GET"]))
m.connect("formatted_new_repo", "/repos/new.{format}",
action="new", conditions=dict(method=["GET"]))
m.connect("/repos/{repo_name:.*}",
action="update", conditions=dict(method=["PUT"],
function=check_repo))
m.connect("/repos/{repo_name:.*}",
action="delete", conditions=dict(method=["DELETE"],
function=check_repo))
m.connect("edit_repo", "/repos/{repo_name:.*}/edit",
action="edit", conditions=dict(method=["GET"],
function=check_repo))
m.connect("formatted_edit_repo", "/repos/{repo_name:.*}.{format}/edit",
action="edit", conditions=dict(method=["GET"],
function=check_repo))
m.connect("repo", "/repos/{repo_name:.*}",
action="show", conditions=dict(method=["GET"],
function=check_repo))
m.connect("formatted_repo", "/repos/{repo_name:.*}.{format}",
action="show", conditions=dict(method=["GET"],
function=check_repo))
#ajax delete repo perm user
m.connect('delete_repo_user', "/repos_delete_user/{repo_name:.*}",
#227 Initial version of repository groups permissions system...
r1982 action="delete_perm_user",
conditions=dict(method=["DELETE"], function=check_repo))
#56 added ajax removal of users groups,...
r1015 #ajax delete repo perm users_group
pep8ify
r1211 m.connect('delete_repo_users_group',
"/repos_delete_users_group/{repo_name:.*}",
action="delete_perm_users_group",
conditions=dict(method=["DELETE"], function=check_repo))
#56 added ajax removal of users groups,...
r1015
added cache reset, stats reset, and delete into repository settings in admin....
r708 #settings actions
m.connect('repo_stats', "/repos_stats/{repo_name:.*}",
implements #239 manual marking of repos as forks for admins
r1755 action="repo_stats", conditions=dict(method=["DELETE"],
function=check_repo))
added cache reset, stats reset, and delete into repository settings in admin....
r708 m.connect('repo_cache', "/repos_cache/{repo_name:.*}",
implements #239 manual marking of repos as forks for admins
r1755 action="repo_cache", conditions=dict(method=["DELETE"],
function=check_repo))
#227 Initial version of repository groups permissions system...
r1982 m.connect('repo_public_journal', "/repos_public_journal/{repo_name:.*}",
implements #239 manual marking of repos as forks for admins
r1755 action="repo_public_journal", conditions=dict(method=["PUT"],
added cache reset, stats reset, and delete into repository settings in admin....
r708 function=check_repo))
#109, added manual pull of changes for repositories that have remote location filled in....
r1114 m.connect('repo_pull', "/repo_pull/{repo_name:.*}",
implements #239 manual marking of repos as forks for admins
r1755 action="repo_pull", conditions=dict(method=["PUT"],
function=check_repo))
m.connect('repo_as_fork', "/repo_as_fork/{repo_name:.*}",
action="repo_as_fork", conditions=dict(method=["PUT"],
function=check_repo))
auto white-space removal
r1818
translated resource map into full routes map, added validation for repos_group id
r1348 with rmap.submapper(path_prefix=ADMIN_PREFIX,
controller='admin/repos_groups') as m:
m.connect("repos_groups", "/repos_groups",
action="create", conditions=dict(method=["POST"]))
m.connect("repos_groups", "/repos_groups",
action="index", conditions=dict(method=["GET"]))
m.connect("formatted_repos_groups", "/repos_groups.{format}",
action="index", conditions=dict(method=["GET"]))
m.connect("new_repos_group", "/repos_groups/new",
action="new", conditions=dict(method=["GET"]))
m.connect("formatted_new_repos_group", "/repos_groups/new.{format}",
action="new", conditions=dict(method=["GET"]))
m.connect("update_repos_group", "/repos_groups/{id}",
action="update", conditions=dict(method=["PUT"],
function=check_int))
m.connect("delete_repos_group", "/repos_groups/{id}",
action="delete", conditions=dict(method=["DELETE"],
function=check_int))
m.connect("edit_repos_group", "/repos_groups/{id}/edit",
action="edit", conditions=dict(method=["GET"],
function=check_int))
m.connect("formatted_edit_repos_group",
"/repos_groups/{id}.{format}/edit",
action="edit", conditions=dict(method=["GET"],
function=check_int))
m.connect("repos_group", "/repos_groups/{id}",
action="show", conditions=dict(method=["GET"],
function=check_int))
m.connect("formatted_repos_group", "/repos_groups/{id}.{format}",
action="show", conditions=dict(method=["GET"],
function=check_int))
#227 Initial version of repository groups permissions system...
r1982 # ajax delete repos group perm user
m.connect('delete_repos_group_user_perm',
"/delete_repos_group_user_perm/{group_name:.*}",
action="delete_repos_group_user_perm",
conditions=dict(method=["DELETE"], function=check_group))
# ajax delete repos group perm users_group
m.connect('delete_repos_group_users_group_perm',
"/delete_repos_group_users_group_perm/{group_name:.*}",
action="delete_repos_group_users_group_perm",
conditions=dict(method=["DELETE"], function=check_group))
#56 fixed found bugs, implemented adding of new group + forms+validators...
r959
#ADMIN USER REST ROUTES
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 with rmap.submapper(path_prefix=ADMIN_PREFIX,
controller='admin/users') as m:
Fixed #161 form saves the create repository permission....
r1266 m.connect("users", "/users",
action="create", conditions=dict(method=["POST"]))
m.connect("users", "/users",
action="index", conditions=dict(method=["GET"]))
m.connect("formatted_users", "/users.{format}",
action="index", conditions=dict(method=["GET"]))
m.connect("new_user", "/users/new",
action="new", conditions=dict(method=["GET"]))
m.connect("formatted_new_user", "/users/new.{format}",
action="new", conditions=dict(method=["GET"]))
m.connect("update_user", "/users/{id}",
action="update", conditions=dict(method=["PUT"]))
m.connect("delete_user", "/users/{id}",
action="delete", conditions=dict(method=["DELETE"]))
m.connect("edit_user", "/users/{id}/edit",
action="edit", conditions=dict(method=["GET"]))
m.connect("formatted_edit_user",
"/users/{id}.{format}/edit",
action="edit", conditions=dict(method=["GET"]))
m.connect("user", "/users/{id}",
action="show", conditions=dict(method=["GET"]))
m.connect("formatted_user", "/users/{id}.{format}",
action="show", conditions=dict(method=["GET"]))
#EXTRAS USER ROUTES
m.connect("user_perm", "/users_perm/{id}",
action="update_perm", conditions=dict(method=["PUT"]))
Added simple UI for admin to manage emails map
r2330 m.connect("user_emails", "/users_emails/{id}",
action="add_email", conditions=dict(method=["PUT"]))
m.connect("user_emails_delete", "/users_emails/{id}",
action="delete_email", conditions=dict(method=["DELETE"]))
#56 fixed found bugs, implemented adding of new group + forms+validators...
r959
implemented #464 users groups links inside permission box (only for admins)
r2370 #ADMIN USERS GROUPS REST ROUTES
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 with rmap.submapper(path_prefix=ADMIN_PREFIX,
Fixed permissions for users groups, group can have create repo permission now....
r1271 controller='admin/users_groups') as m:
m.connect("users_groups", "/users_groups",
action="create", conditions=dict(method=["POST"]))
m.connect("users_groups", "/users_groups",
action="index", conditions=dict(method=["GET"]))
m.connect("formatted_users_groups", "/users_groups.{format}",
action="index", conditions=dict(method=["GET"]))
m.connect("new_users_group", "/users_groups/new",
action="new", conditions=dict(method=["GET"]))
m.connect("formatted_new_users_group", "/users_groups/new.{format}",
action="new", conditions=dict(method=["GET"]))
m.connect("update_users_group", "/users_groups/{id}",
action="update", conditions=dict(method=["PUT"]))
m.connect("delete_users_group", "/users_groups/{id}",
action="delete", conditions=dict(method=["DELETE"]))
m.connect("edit_users_group", "/users_groups/{id}/edit",
action="edit", conditions=dict(method=["GET"]))
m.connect("formatted_edit_users_group",
"/users_groups/{id}.{format}/edit",
action="edit", conditions=dict(method=["GET"]))
m.connect("users_group", "/users_groups/{id}",
action="show", conditions=dict(method=["GET"]))
m.connect("formatted_users_group", "/users_groups/{id}.{format}",
action="show", conditions=dict(method=["GET"]))
#EXTRAS USER ROUTES
m.connect("users_group_perm", "/users_groups_perm/{id}",
action="update_perm", conditions=dict(method=["PUT"]))
started working on issue #56
r956
#ADMIN GROUP REST ROUTES
Fixed #161 form saves the create repository permission....
r1266 rmap.resource('group', 'groups',
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 controller='admin/groups', path_prefix=ADMIN_PREFIX)
fixed @repo into :repo for docs...
r604
#ADMIN PERMISSIONS REST ROUTES
pep8ify
r1211 rmap.resource('permission', 'permissions',
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 controller='admin/permissions', path_prefix=ADMIN_PREFIX)
fixes #77 moved out ldap config to it's own section
r769
##ADMIN LDAP SETTINGS
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 rmap.connect('ldap_settings', '%s/ldap' % ADMIN_PREFIX,
pep8ify
r1211 controller='admin/ldap_settings', action='ldap_settings',
conditions=dict(method=["POST"]))
Fixed #161 form saves the create repository permission....
r1266
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 rmap.connect('ldap_home', '%s/ldap' % ADMIN_PREFIX,
pep8ify
r1211 controller='admin/ldap_settings')
implements #60, ldap configuration and authentication....
r705
fixed @repo into :repo for docs...
r604 #ADMIN SETTINGS REST ROUTES
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 with rmap.submapper(path_prefix=ADMIN_PREFIX,
pep8ify
r1211 controller='admin/settings') as m:
renamed project to rhodecode
r547 m.connect("admin_settings", "/settings",
pep8ify
r1211 action="create", conditions=dict(method=["POST"]))
renamed project to rhodecode
r547 m.connect("admin_settings", "/settings",
pep8ify
r1211 action="index", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("formatted_admin_settings", "/settings.{format}",
pep8ify
r1211 action="index", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("admin_new_setting", "/settings/new",
pep8ify
r1211 action="new", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("formatted_admin_new_setting", "/settings/new.{format}",
pep8ify
r1211 action="new", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("/settings/{setting_id}",
pep8ify
r1211 action="update", conditions=dict(method=["PUT"]))
renamed project to rhodecode
r547 m.connect("/settings/{setting_id}",
pep8ify
r1211 action="delete", conditions=dict(method=["DELETE"]))
renamed project to rhodecode
r547 m.connect("admin_edit_setting", "/settings/{setting_id}/edit",
pep8ify
r1211 action="edit", conditions=dict(method=["GET"]))
m.connect("formatted_admin_edit_setting",
"/settings/{setting_id}.{format}/edit",
action="edit", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("admin_setting", "/settings/{setting_id}",
pep8ify
r1211 action="show", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("formatted_admin_setting", "/settings/{setting_id}.{format}",
pep8ify
r1211 action="show", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("admin_settings_my_account", "/my_account",
pep8ify
r1211 action="my_account", conditions=dict(method=["GET"]))
renamed project to rhodecode
r547 m.connect("admin_settings_my_account_update", "/my_account_update",
pep8ify
r1211 action="my_account_update", conditions=dict(method=["PUT"]))
renamed project to rhodecode
r547 m.connect("admin_settings_create_repository", "/create_repository",
pep8ify
r1211 action="create_repository", conditions=dict(method=["GET"]))
fixed @repo into :repo for docs...
r604
Notification system improvements...
r1712 #NOTIFICATION REST ROUTES
with rmap.submapper(path_prefix=ADMIN_PREFIX,
controller='admin/notifications') as m:
m.connect("notifications", "/notifications",
action="create", conditions=dict(method=["POST"]))
m.connect("notifications", "/notifications",
action="index", conditions=dict(method=["GET"]))
mark all read button for notifications
r1791 m.connect("notifications_mark_all_read", "/notifications/mark_all_read",
action="mark_all_read", conditions=dict(method=["GET"]))
Notification system improvements...
r1712 m.connect("formatted_notifications", "/notifications.{format}",
action="index", conditions=dict(method=["GET"]))
m.connect("new_notification", "/notifications/new",
action="new", conditions=dict(method=["GET"]))
m.connect("formatted_new_notification", "/notifications/new.{format}",
action="new", conditions=dict(method=["GET"]))
m.connect("/notification/{notification_id}",
action="update", conditions=dict(method=["PUT"]))
m.connect("/notification/{notification_id}",
action="delete", conditions=dict(method=["DELETE"]))
m.connect("edit_notification", "/notification/{notification_id}/edit",
action="edit", conditions=dict(method=["GET"]))
m.connect("formatted_edit_notification",
"/notification/{notification_id}.{format}/edit",
action="edit", conditions=dict(method=["GET"]))
m.connect("notification", "/notification/{notification_id}",
action="show", conditions=dict(method=["GET"]))
m.connect("formatted_notification", "/notifications/{notification_id}.{format}",
action="show", conditions=dict(method=["GET"]))
fixed @repo into :repo for docs...
r604 #ADMIN MAIN PAGES
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 with rmap.submapper(path_prefix=ADMIN_PREFIX,
controller='admin/admin') as m:
pep8ify
r1211 m.connect('admin_home', '', action='index')
renamed project to rhodecode
r547 m.connect('admin_add_repo', '/add_repo/{new_repo:[a-z0-9\. _-]*}',
action='add_repo')
implemented user dashboards, and following system.
r734
Beginning of API implementation for rhodecode
r1445 #==========================================================================
#227 Initial version of repository groups permissions system...
r1982 # API V2
Beginning of API implementation for rhodecode
r1445 #==========================================================================
with rmap.submapper(path_prefix=ADMIN_PREFIX,
controller='api/api') as m:
m.connect('api', '/api')
pep8ify
r1211 #USER JOURNAL
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 rmap.connect('journal', '%s/journal' % ADMIN_PREFIX, controller='journal')
implemented user dashboards, and following system.
r734
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 rmap.connect('public_journal', '%s/public_journal' % ADMIN_PREFIX,
pep8ify
r1211 controller='journal', action="public_journal")
public journal feed updates. fixes errors...
r2390 rmap.connect('public_journal_rss', '%s/public_journal/rss' % ADMIN_PREFIX,
controller='journal', action="public_journal_rss")
rmap.connect('public_journal_rss_old', '%s/public_journal_rss' % ADMIN_PREFIX,
pep8ify
r1211 controller='journal', action="public_journal_rss")
made simple global rss and atom feed
r1088
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 rmap.connect('public_journal_atom',
public journal feed updates. fixes errors...
r2390 '%s/public_journal/atom' % ADMIN_PREFIX, controller='journal',
action="public_journal_atom")
rmap.connect('public_journal_atom_old',
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 '%s/public_journal_atom' % ADMIN_PREFIX, controller='journal',
action="public_journal_atom")
implemented user dashboards, and following system.
r734
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 rmap.connect('toggle_following', '%s/toggle_following' % ADMIN_PREFIX,
pep8ify
r1211 controller='journal', action='toggle_following',
conditions=dict(method=["POST"]))
implemented user dashboards, and following system.
r734
renamed project to rhodecode
r547 #SEARCH
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 rmap.connect('search', '%s/search' % ADMIN_PREFIX, controller='search',)
rmap.connect('search_repo', '%s/search/{search_repo:.*}' % ADMIN_PREFIX,
pep8ify
r1211 controller='search')
fixed @repo into :repo for docs...
r604
renamed project to rhodecode
r547 #LOGIN/LOGOUT/REGISTER/SIGN IN
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 rmap.connect('login_home', '%s/login' % ADMIN_PREFIX, controller='login')
rmap.connect('logout_home', '%s/logout' % ADMIN_PREFIX, controller='login',
pep8ify
r1211 action='logout')
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 rmap.connect('register', '%s/register' % ADMIN_PREFIX, controller='login',
pep8ify
r1211 action='register')
refactor of routing to use one common prefix for admin, this way it's easier to change
r1333 rmap.connect('reset_password', '%s/password_reset' % ADMIN_PREFIX,
pep8ify
r1211 controller='login', action='password_reset')
fixed @repo into :repo for docs...
r604
fixes #223 improve password reset form
r1417 rmap.connect('reset_password_confirmation',
'%s/password_reset_confirmation' % ADMIN_PREFIX,
controller='login', action='password_reset_confirmation')
renamed project to rhodecode
r547 #FEEDS
pep8ify
r1211 rmap.connect('rss_feed_home', '/{repo_name:.*}/feed/rss',
renamed project to rhodecode
r547 controller='feed', action='rss',
conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('atom_feed_home', '/{repo_name:.*}/feed/atom',
renamed project to rhodecode
r547 controller='feed', action='atom',
conditions=dict(function=check_repo))
fixed @repo into :repo for docs...
r604
#179 Added followers page
r1279 #==========================================================================
# REPOSITORY ROUTES
#==========================================================================
Fixed methods for checking if path in routes is a repo...
r1505 rmap.connect('summary_home', '/{repo_name:.*}',
implements #226 repo groups available by path...
r1538 controller='summary',
Fixed methods for checking if path in routes is a repo...
r1505 conditions=dict(function=check_repo))
implements #226 repo groups available by path...
r1538
rmap.connect('repos_group_home', '/{group_name:.*}',
controller='admin/repos_groups', action="show_by_name",
conditions=dict(function=check_group))
pep8ify
r1211 rmap.connect('changeset_home', '/{repo_name:.*}/changeset/{revision}',
renamed project to rhodecode
r547 controller='changeset', revision='tip',
conditions=dict(function=check_repo))
pep8ify
r1211
#227 Initial version of repository groups permissions system...
r1982 rmap.connect('changeset_comment',
'/{repo_name:.*}/changeset/{revision}/comment',
#77 code review...
r1670 controller='changeset', revision='tip', action='comment',
conditions=dict(function=check_repo))
#227 Initial version of repository groups permissions system...
r1982 rmap.connect('changeset_comment_delete',
'/{repo_name:.*}/changeset/comment/{comment_id}/delete',
#77 code review...
r1670 controller='changeset', action='delete_comment',
Notification system improvements...
r1712 conditions=dict(function=check_repo, method=["DELETE"]))
#77 code review...
r1670
pep8ify
r1211 rmap.connect('raw_changeset_home',
'/{repo_name:.*}/raw-changeset/{revision}',
controller='changeset', action='raw_changeset',
revision='tip', conditions=dict(function=check_repo))
Rewrote url routes to make all validations and parsing for compare view + added compare fork button into forked repos
r2363 rmap.connect('compare_url',
'/{repo_name:.*}/compare/{org_ref_type}@{org_ref}...{other_ref_type}@{other_ref}',
Basic compare-view controller with ref parsing
r2241 controller='compare', action='index',
Rewrote url routes to make all validations and parsing for compare view + added compare fork button into forked repos
r2363 conditions=dict(function=check_repo),
requirements=dict(org_ref_type='(branch|book|tag)',
other_ref_type='(branch|book|tag)'))
Basic compare-view controller with ref parsing
r2241
pull requests draft UI
r2244 rmap.connect('pullrequest_home',
'/{repo_name:.*}/pull-request/new',
controller='pullrequests', action='index',
conditions=dict(function=check_repo))
pep8ify
r1211 rmap.connect('summary_home', '/{repo_name:.*}/summary',
renamed project to rhodecode
r547 controller='summary', conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('shortlog_home', '/{repo_name:.*}/shortlog',
renamed project to rhodecode
r547 controller='shortlog', conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('branches_home', '/{repo_name:.*}/branches',
renamed project to rhodecode
r547 controller='branches', conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('tags_home', '/{repo_name:.*}/tags',
renamed project to rhodecode
r547 controller='tags', conditions=dict(function=check_repo))
pep8ify
r1211
implements #135 bookmark support for UI
r1748 rmap.connect('bookmarks_home', '/{repo_name:.*}/bookmarks',
controller='bookmarks', conditions=dict(function=check_repo))
pep8ify
r1211 rmap.connect('changelog_home', '/{repo_name:.*}/changelog',
fixed @repo into :repo for docs...
r604 controller='changelog', conditions=dict(function=check_repo))
pep8ify
r1211
changelog uses lazy loading of affected files details, in some scenarios this can improve speed...
r1431 rmap.connect('changelog_details', '/{repo_name:.*}/changelog_details/{cs}',
controller='changelog', action='changelog_details',
conditions=dict(function=check_repo))
pep8ify
r1211 rmap.connect('files_home', '/{repo_name:.*}/files/{revision}/{f_path:.*}',
renamed project to rhodecode
r547 controller='files', revision='tip', f_path='',
conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('files_diff_home', '/{repo_name:.*}/diff/{f_path:.*}',
renamed project to rhodecode
r547 controller='files', action='diff', revision='tip', f_path='',
conditions=dict(function=check_repo))
pep8ify
r1211
rmap.connect('files_rawfile_home',
'/{repo_name:.*}/rawfile/{revision}/{f_path:.*}',
controller='files', action='rawfile', revision='tip',
f_path='', conditions=dict(function=check_repo))
rmap.connect('files_raw_home',
'/{repo_name:.*}/raw/{revision}/{f_path:.*}',
controller='files', action='raw', revision='tip', f_path='',
conditions=dict(function=check_repo))
rmap.connect('files_annotate_home',
'/{repo_name:.*}/annotate/{revision}/{f_path:.*}',
unified annotation view with file source view
r2177 controller='files', action='index', revision='tip',
f_path='', annotate=True, conditions=dict(function=check_repo))
pep8ify
r1211
Added server side file editing with commit
r1305 rmap.connect('files_edit_home',
'/{repo_name:.*}/edit/{revision}/{f_path:.*}',
controller='files', action='edit', revision='tip',
f_path='', conditions=dict(function=check_repo))
Added initial support for creating new nodes in repos
r1483 rmap.connect('files_add_home',
'/{repo_name:.*}/add/{revision}/{f_path:.*}',
controller='files', action='add', revision='tip',
f_path='', conditions=dict(function=check_repo))
pep8ify
r1211 rmap.connect('files_archive_home', '/{repo_name:.*}/archive/{fname}',
implemented #91,...
r872 controller='files', action='archivefile',
fixed @repo into :repo for docs...
r604 conditions=dict(function=check_repo))
pep8ify
r1211
Implemented #111 copy github node finder solution
r1452 rmap.connect('files_nodelist_home',
'/{repo_name:.*}/nodelist/{revision}/{f_path:.*}',
controller='files', action='nodelist',
conditions=dict(function=check_repo))
pep8ify
r1211 rmap.connect('repo_settings_delete', '/{repo_name:.*}/settings',
renamed project to rhodecode
r547 controller='settings', action="delete",
conditions=dict(method=["DELETE"], function=check_repo))
pep8ify
r1211
rmap.connect('repo_settings_update', '/{repo_name:.*}/settings',
renamed project to rhodecode
r547 controller='settings', action="update",
conditions=dict(method=["PUT"], function=check_repo))
pep8ify
r1211
rmap.connect('repo_settings_home', '/{repo_name:.*}/settings',
renamed project to rhodecode
r547 controller='settings', action='index',
conditions=dict(function=check_repo))
pep8ify
r1211 rmap.connect('repo_fork_create_home', '/{repo_name:.*}/fork',
#235 forking page repo group selection...
r1722 controller='forks', action='fork_create',
renamed project to rhodecode
r547 conditions=dict(function=check_repo, method=["POST"]))
pep8ify
r1211
rmap.connect('repo_fork_home', '/{repo_name:.*}/fork',
#235 forking page repo group selection...
r1722 controller='forks', action='fork',
renamed project to rhodecode
r547 conditions=dict(function=check_repo))
fixed @repo into :repo for docs...
r604
#235 forking page repo group selection...
r1722 rmap.connect('repo_forks_home', '/{repo_name:.*}/forks',
controller='forks', action='forks',
conditions=dict(function=check_repo))
#179 Added followers page
r1279 rmap.connect('repo_followers_home', '/{repo_name:.*}/followers',
controller='followers', action='followers',
conditions=dict(function=check_repo))
Added simple forks page, resolves issue #179
r1301
pep8ify
r1211 return rmap