annotate rhodecode/config/routing.py @ 1171:2ab211e0aecd beta

changes for #56
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 23 Mar 2011 20:38:51 +0100
parents f63cc1cbce27
children 6832ef664673
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
1 """
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
2 Routes configuration
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
3
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
4 The more specific and detailed routes should be defined first so they
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
5 may take precedent over the more generic routes. For more information
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
6 refer to the routes manual at http://routes.groovie.org/docs/
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
7 """
371
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
8 from __future__ import with_statement
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
9 from routes import Mapper
547
1e757ac98988 renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents: 530
diff changeset
10 from rhodecode.lib.utils import check_repo_fast as cr
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
11
43
2e1247e62c5b changed for pylons 0.1 / 1.0
marcink
parents: 8
diff changeset
12 def make_map(config):
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
13 """Create, configure and return the routes Mapper"""
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
14 routes_map = Mapper(directory=config['pylons.paths']['controllers'],
43
2e1247e62c5b changed for pylons 0.1 / 1.0
marcink
parents: 8
diff changeset
15 always_scan=config['debug'])
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
16 routes_map.minimization = False
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
17 routes_map.explicit = False
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
18
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
19 def check_repo(environ, match_dict):
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
20 """
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
21 check for valid repository for proper 404 handling
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
22
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
23 :param environ:
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
24 :param match_dict:
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
25 """
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
26 repo_name = match_dict.get('repo_name')
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
27 return not cr(repo_name, config['base_path'])
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
28
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
29 # The ErrorController route (handles 404/500 error pages); it should
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
30 # likely stay at the top, ensuring it can always be resolved
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
31 routes_map.connect('/error/{action}', controller='error')
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
32 routes_map.connect('/error/{action}/{id}', controller='error')
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
33
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
34 #==========================================================================
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
35 # CUSTOM ROUTES HERE
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
36 #==========================================================================
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
37
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
38 #MAIN PAGE
1148
6f87e177f057 fixed routing from previos merge
Marcin Kuzminski <marcin@python-works.com>
parents: 1143
diff changeset
39 routes_map.connect('home', '/', controller='home', action='index')
1158
f63cc1cbce27 implemented repo switcher list as dynamically loaded by xhr requestt.
Marcin Kuzminski <marcin@python-works.com>
parents: 1148
diff changeset
40 routes_map.connect('repo_switcher', '/repos', controller='home', action='repo_switcher')
1148
6f87e177f057 fixed routing from previos merge
Marcin Kuzminski <marcin@python-works.com>
parents: 1143
diff changeset
41 routes_map.connect('bugtracker', "http://bitbucket.org/marcinkuzminski/rhodecode/issues", _static=True)
6f87e177f057 fixed routing from previos merge
Marcin Kuzminski <marcin@python-works.com>
parents: 1143
diff changeset
42 routes_map.connect('gpl_license', "http://www.gnu.org/licenses/gpl.html", _static=True)
6f87e177f057 fixed routing from previos merge
Marcin Kuzminski <marcin@python-works.com>
parents: 1143
diff changeset
43 routes_map.connect('rhodecode_official', "http://rhodecode.org", _static=True)
1143
0e6035a85980 added changes made in production branch back into beta
Marcin Kuzminski <marcin@python-works.com>
parents: 1114
diff changeset
44
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
45 #ADMIN REPOSITORY REST ROUTES
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
46 with routes_map.submapper(path_prefix='/_admin', controller='admin/repos') as m:
248
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
47 m.connect("repos", "/repos",
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
48 action="create", conditions=dict(method=["POST"]))
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
49 m.connect("repos", "/repos",
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
50 action="index", conditions=dict(method=["GET"]))
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
51 m.connect("formatted_repos", "/repos.{format}",
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
52 action="index",
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
53 conditions=dict(method=["GET"]))
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
54 m.connect("new_repo", "/repos/new",
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
55 action="new", conditions=dict(method=["GET"]))
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
56 m.connect("formatted_new_repo", "/repos/new.{format}",
fb7f066126cc Added support for repository located in subdirectories.
Marcin Kuzminski <marcin@python-works.com>
parents: 230
diff changeset
57 action="new", conditions=dict(method=["GET"]))
299
d303aacb3349 repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes.
Marcin Kuzminski <marcin@python-works.com>
parents: 248
diff changeset
58 m.connect("/repos/{repo_name:.*}",
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
59 action="update", conditions=dict(method=["PUT"],
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
60 function=check_repo))
299
d303aacb3349 repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes.
Marcin Kuzminski <marcin@python-works.com>
parents: 248
diff changeset
61 m.connect("/repos/{repo_name:.*}",
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
62 action="delete", conditions=dict(method=["DELETE"],
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
63 function=check_repo))
299
d303aacb3349 repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes.
Marcin Kuzminski <marcin@python-works.com>
parents: 248
diff changeset
64 m.connect("edit_repo", "/repos/{repo_name:.*}/edit",
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
65 action="edit", conditions=dict(method=["GET"],
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
66 function=check_repo))
299
d303aacb3349 repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes.
Marcin Kuzminski <marcin@python-works.com>
parents: 248
diff changeset
67 m.connect("formatted_edit_repo", "/repos/{repo_name:.*}.{format}/edit",
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
68 action="edit", conditions=dict(method=["GET"],
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
69 function=check_repo))
299
d303aacb3349 repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes.
Marcin Kuzminski <marcin@python-works.com>
parents: 248
diff changeset
70 m.connect("repo", "/repos/{repo_name:.*}",
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
71 action="show", conditions=dict(method=["GET"],
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
72 function=check_repo))
299
d303aacb3349 repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes.
Marcin Kuzminski <marcin@python-works.com>
parents: 248
diff changeset
73 m.connect("formatted_repo", "/repos/{repo_name:.*}.{format}",
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
74 action="show", conditions=dict(method=["GET"],
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
75 function=check_repo))
299
d303aacb3349 repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes.
Marcin Kuzminski <marcin@python-works.com>
parents: 248
diff changeset
76 #ajax delete repo perm user
d303aacb3349 repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes.
Marcin Kuzminski <marcin@python-works.com>
parents: 248
diff changeset
77 m.connect('delete_repo_user', "/repos_delete_user/{repo_name:.*}",
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
78 action="delete_perm_user", conditions=dict(method=["DELETE"],
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
79 function=check_repo))
1015
65129c332d37 #56 added ajax removal of users groups,
Marcin Kuzminski <marcin@python-works.com>
parents: 976
diff changeset
80 #ajax delete repo perm users_group
65129c332d37 #56 added ajax removal of users groups,
Marcin Kuzminski <marcin@python-works.com>
parents: 976
diff changeset
81 m.connect('delete_repo_users_group', "/repos_delete_users_group/{repo_name:.*}",
65129c332d37 #56 added ajax removal of users groups,
Marcin Kuzminski <marcin@python-works.com>
parents: 976
diff changeset
82 action="delete_perm_users_group", conditions=dict(method=["DELETE"],
65129c332d37 #56 added ajax removal of users groups,
Marcin Kuzminski <marcin@python-works.com>
parents: 976
diff changeset
83 function=check_repo))
65129c332d37 #56 added ajax removal of users groups,
Marcin Kuzminski <marcin@python-works.com>
parents: 976
diff changeset
84
708
b9bbc0d6e9f3 added cache reset, stats reset, and delete into repository settings in admin.
Marcin Kuzminski <marcin@python-works.com>
parents: 705
diff changeset
85 #settings actions
b9bbc0d6e9f3 added cache reset, stats reset, and delete into repository settings in admin.
Marcin Kuzminski <marcin@python-works.com>
parents: 705
diff changeset
86 m.connect('repo_stats', "/repos_stats/{repo_name:.*}",
b9bbc0d6e9f3 added cache reset, stats reset, and delete into repository settings in admin.
Marcin Kuzminski <marcin@python-works.com>
parents: 705
diff changeset
87 action="repo_stats", conditions=dict(method=["DELETE"],
b9bbc0d6e9f3 added cache reset, stats reset, and delete into repository settings in admin.
Marcin Kuzminski <marcin@python-works.com>
parents: 705
diff changeset
88 function=check_repo))
b9bbc0d6e9f3 added cache reset, stats reset, and delete into repository settings in admin.
Marcin Kuzminski <marcin@python-works.com>
parents: 705
diff changeset
89 m.connect('repo_cache', "/repos_cache/{repo_name:.*}",
b9bbc0d6e9f3 added cache reset, stats reset, and delete into repository settings in admin.
Marcin Kuzminski <marcin@python-works.com>
parents: 705
diff changeset
90 action="repo_cache", conditions=dict(method=["DELETE"],
b9bbc0d6e9f3 added cache reset, stats reset, and delete into repository settings in admin.
Marcin Kuzminski <marcin@python-works.com>
parents: 705
diff changeset
91 function=check_repo))
1085
3fe3285868d1 implemented public journal for anonymous users, admin can control which repositories
Marcin Kuzminski <marcin@python-works.com>
parents: 1018
diff changeset
92 m.connect('repo_public_journal', "/repos_public_journal/{repo_name:.*}",
3fe3285868d1 implemented public journal for anonymous users, admin can control which repositories
Marcin Kuzminski <marcin@python-works.com>
parents: 1018
diff changeset
93 action="repo_public_journal", conditions=dict(method=["PUT"],
3fe3285868d1 implemented public journal for anonymous users, admin can control which repositories
Marcin Kuzminski <marcin@python-works.com>
parents: 1018
diff changeset
94 function=check_repo))
1114
4de3fa6290a7 #109, added manual pull of changes for repositories that have remote location filled in.
Marcin Kuzminski <marcin@python-works.com>
parents: 1088
diff changeset
95 m.connect('repo_pull', "/repo_pull/{repo_name:.*}",
4de3fa6290a7 #109, added manual pull of changes for repositories that have remote location filled in.
Marcin Kuzminski <marcin@python-works.com>
parents: 1088
diff changeset
96 action="repo_pull", conditions=dict(method=["PUT"],
4de3fa6290a7 #109, added manual pull of changes for repositories that have remote location filled in.
Marcin Kuzminski <marcin@python-works.com>
parents: 1088
diff changeset
97 function=check_repo))
4de3fa6290a7 #109, added manual pull of changes for repositories that have remote location filled in.
Marcin Kuzminski <marcin@python-works.com>
parents: 1088
diff changeset
98
1171
2ab211e0aecd changes for #56
Marcin Kuzminski <marcin@python-works.com>
parents: 1158
diff changeset
99 #ADMIN REPOS GROUP REST ROUTES
2ab211e0aecd changes for #56
Marcin Kuzminski <marcin@python-works.com>
parents: 1158
diff changeset
100 routes_map.resource('repos_group', 'repos_groups', controller='admin/repos_groups', path_prefix='/_admin')
959
fff21c9b075c #56 fixed found bugs, implemented adding of new group + forms+validators
Marcin Kuzminski <marcin@python-works.com>
parents: 956
diff changeset
101
fff21c9b075c #56 fixed found bugs, implemented adding of new group + forms+validators
Marcin Kuzminski <marcin@python-works.com>
parents: 956
diff changeset
102 #ADMIN USER REST ROUTES
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
103 routes_map.resource('user', 'users', controller='admin/users', path_prefix='/_admin')
959
fff21c9b075c #56 fixed found bugs, implemented adding of new group + forms+validators
Marcin Kuzminski <marcin@python-works.com>
parents: 956
diff changeset
104
1171
2ab211e0aecd changes for #56
Marcin Kuzminski <marcin@python-works.com>
parents: 1158
diff changeset
105 #ADMIN USERS REST ROUTES
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
106 routes_map.resource('users_group', 'users_groups', controller='admin/users_groups', path_prefix='/_admin')
956
83d35d716a02 started working on issue #56
Marcin Kuzminski <marcin@python-works.com>
parents: 872
diff changeset
107
83d35d716a02 started working on issue #56
Marcin Kuzminski <marcin@python-works.com>
parents: 872
diff changeset
108 #ADMIN GROUP REST ROUTES
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
109 routes_map.resource('group', 'groups', controller='admin/groups', path_prefix='/_admin')
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
110
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
111 #ADMIN PERMISSIONS REST ROUTES
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
112 routes_map.resource('permission', 'permissions', controller='admin/permissions', path_prefix='/_admin')
769
4bdcc08b04c4 fixes #77 moved out ldap config to it's own section
Marcin Kuzminski <marcin@python-works.com>
parents: 734
diff changeset
113
4bdcc08b04c4 fixes #77 moved out ldap config to it's own section
Marcin Kuzminski <marcin@python-works.com>
parents: 734
diff changeset
114 ##ADMIN LDAP SETTINGS
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
115 routes_map.connect('ldap_settings', '/_admin/ldap', controller='admin/ldap_settings',
769
4bdcc08b04c4 fixes #77 moved out ldap config to it's own section
Marcin Kuzminski <marcin@python-works.com>
parents: 734
diff changeset
116 action='ldap_settings', conditions=dict(method=["POST"]))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
117 routes_map.connect('ldap_home', '/_admin/ldap', controller='admin/ldap_settings',)
769
4bdcc08b04c4 fixes #77 moved out ldap config to it's own section
Marcin Kuzminski <marcin@python-works.com>
parents: 734
diff changeset
118
705
9e9f1b919c0c implements #60, ldap configuration and authentication.
Marcin Kuzminski <marcin@python-works.com>
parents: 636
diff changeset
119
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
120 #ADMIN SETTINGS REST ROUTES
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
121 with routes_map.submapper(path_prefix='/_admin', controller='admin/settings') as m:
371
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
122 m.connect("admin_settings", "/settings",
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
123 action="create", conditions=dict(method=["POST"]))
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
124 m.connect("admin_settings", "/settings",
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
125 action="index", conditions=dict(method=["GET"]))
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 406
diff changeset
126 m.connect("formatted_admin_settings", "/settings.{format}",
371
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
127 action="index", conditions=dict(method=["GET"]))
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
128 m.connect("admin_new_setting", "/settings/new",
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
129 action="new", conditions=dict(method=["GET"]))
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 406
diff changeset
130 m.connect("formatted_admin_new_setting", "/settings/new.{format}",
371
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
131 action="new", conditions=dict(method=["GET"]))
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
132 m.connect("/settings/{setting_id}",
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
133 action="update", conditions=dict(method=["PUT"]))
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
134 m.connect("/settings/{setting_id}",
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
135 action="delete", conditions=dict(method=["DELETE"]))
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
136 m.connect("admin_edit_setting", "/settings/{setting_id}/edit",
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
137 action="edit", conditions=dict(method=["GET"]))
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 406
diff changeset
138 m.connect("formatted_admin_edit_setting", "/settings/{setting_id}.{format}/edit",
371
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
139 action="edit", conditions=dict(method=["GET"]))
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
140 m.connect("admin_setting", "/settings/{setting_id}",
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
141 action="show", conditions=dict(method=["GET"]))
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 406
diff changeset
142 m.connect("formatted_admin_setting", "/settings/{setting_id}.{format}",
371
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
143 action="show", conditions=dict(method=["GET"]))
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
144 m.connect("admin_settings_my_account", "/my_account",
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
145 action="my_account", conditions=dict(method=["GET"]))
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
146 m.connect("admin_settings_my_account_update", "/my_account_update",
5cd6616b8673 routes python 2.5 compatible
Marcin Kuzminski <marcin@python-works.com>
parents: 363
diff changeset
147 action="my_account_update", conditions=dict(method=["PUT"]))
380
ca54622e39a1 Added separate create repository views for non administrative users.
Marcin Kuzminski <marcin@python-works.com>
parents: 371
diff changeset
148 m.connect("admin_settings_create_repository", "/create_repository",
ca54622e39a1 Added separate create repository views for non administrative users.
Marcin Kuzminski <marcin@python-works.com>
parents: 371
diff changeset
149 action="create_repository", conditions=dict(method=["GET"]))
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
150
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
151 #ADMIN MAIN PAGES
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
152 with routes_map.submapper(path_prefix='/_admin', controller='admin/admin') as m:
306
43b229a8d782 admin path fix
Marcin Kuzminski <marcin@python-works.com>
parents: 301
diff changeset
153 m.connect('admin_home', '', action='index')#main page
149
b3c93efd1c97 Updated template for summary (archives links)
Marcin Kuzminski <marcin@python-works.com>
parents: 148
diff changeset
154 m.connect('admin_add_repo', '/add_repo/{new_repo:[a-z0-9\. _-]*}',
b3c93efd1c97 Updated template for summary (archives links)
Marcin Kuzminski <marcin@python-works.com>
parents: 148
diff changeset
155 action='add_repo')
734
49eb69d78988 implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents: 708
diff changeset
156
49eb69d78988 implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents: 708
diff changeset
157
49eb69d78988 implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents: 708
diff changeset
158 #USER JOURNAL
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
159 routes_map.connect('journal', '/_admin/journal', controller='journal',)
1088
fee472613dfa made simple global rss and atom feed
Marcin Kuzminski <marcin@python-works.com>
parents: 1085
diff changeset
160 routes_map.connect('public_journal', '/_admin/public_journal', controller='journal', action="public_journal")
fee472613dfa made simple global rss and atom feed
Marcin Kuzminski <marcin@python-works.com>
parents: 1085
diff changeset
161 routes_map.connect('public_journal_rss', '/_admin/public_journal_rss', controller='journal', action="public_journal_rss")
fee472613dfa made simple global rss and atom feed
Marcin Kuzminski <marcin@python-works.com>
parents: 1085
diff changeset
162 routes_map.connect('public_journal_atom', '/_admin/public_journal_atom', controller='journal', action="public_journal_atom")
fee472613dfa made simple global rss and atom feed
Marcin Kuzminski <marcin@python-works.com>
parents: 1085
diff changeset
163
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
164 routes_map.connect('toggle_following', '/_admin/toggle_following', controller='journal',
734
49eb69d78988 implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents: 708
diff changeset
165 action='toggle_following', conditions=dict(method=["POST"]))
49eb69d78988 implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents: 708
diff changeset
166
49eb69d78988 implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents: 708
diff changeset
167
406
b153a51b1d3b Implemented search using whoosh. Still as experimental option.
Marcin Kuzminski <marcin@python-works.com>
parents: 380
diff changeset
168 #SEARCH
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
169 routes_map.connect('search', '/_admin/search', controller='search',)
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
170 routes_map.connect('search_repo', '/_admin/search/{search_repo:.*}', controller='search')
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
171
474
a3d9d24acbec Implemented password reset(forms/models/ tasks) and mailing tasks.
Marcin Kuzminski <marcin@python-works.com>
parents: 466
diff changeset
172 #LOGIN/LOGOUT/REGISTER/SIGN IN
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
173 routes_map.connect('login_home', '/_admin/login', controller='login')
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
174 routes_map.connect('logout_home', '/_admin/logout', controller='login', action='logout')
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
175 routes_map.connect('register', '/_admin/register', controller='login', action='register')
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
176 routes_map.connect('reset_password', '/_admin/password_reset', controller='login', action='password_reset')
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
177
205
66b20f525750 Added feed controllers, urls,and changed index page to use them.
Marcin Kuzminski <marcin@python-works.com>
parents: 181
diff changeset
178 #FEEDS
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
179 routes_map.connect('rss_feed_home', '/{repo_name:.*}/feed/rss',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
180 controller='feed', action='rss',
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
181 conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
182 routes_map.connect('atom_feed_home', '/{repo_name:.*}/feed/atom',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
183 controller='feed', action='atom',
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
184 conditions=dict(function=check_repo))
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
185
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
186
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
187 #REPOSITORY ROUTES
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
188 routes_map.connect('changeset_home', '/{repo_name:.*}/changeset/{revision}',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
189 controller='changeset', revision='tip',
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
190 conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
191 routes_map.connect('raw_changeset_home', '/{repo_name:.*}/raw-changeset/{revision}',
485
9836541b0509 added limit for showing pygemntized source codes larger than 250kb.
Marcin Kuzminski <marcin@python-works.com>
parents: 474
diff changeset
192 controller='changeset', action='raw_changeset', revision='tip',
466
183cee110578 first implementation of #34 changeset raw diff based on udiff from python
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
193 conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
194 routes_map.connect('summary_home', '/{repo_name:.*}',
976
de535f8b1e8b Fixed links for repository, it's optional now to pass a link without a summary
Marcin Kuzminski <marcin@python-works.com>
parents: 959
diff changeset
195 controller='summary', conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
196 routes_map.connect('summary_home', '/{repo_name:.*}/summary',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
197 controller='summary', conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
198 routes_map.connect('shortlog_home', '/{repo_name:.*}/shortlog',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
199 controller='shortlog', conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
200 routes_map.connect('branches_home', '/{repo_name:.*}/branches',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
201 controller='branches', conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
202 routes_map.connect('tags_home', '/{repo_name:.*}/tags',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
203 controller='tags', conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
204 routes_map.connect('changelog_home', '/{repo_name:.*}/changelog',
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
205 controller='changelog', conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
206 routes_map.connect('files_home', '/{repo_name:.*}/files/{revision}/{f_path:.*}',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
207 controller='files', revision='tip', f_path='',
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
208 conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
209 routes_map.connect('files_diff_home', '/{repo_name:.*}/diff/{f_path:.*}',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
210 controller='files', action='diff', revision='tip', f_path='',
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
211 conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
212 routes_map.connect('files_rawfile_home', '/{repo_name:.*}/rawfile/{revision}/{f_path:.*}',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
213 controller='files', action='rawfile', revision='tip', f_path='',
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
214 conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
215 routes_map.connect('files_raw_home', '/{repo_name:.*}/raw/{revision}/{f_path:.*}',
485
9836541b0509 added limit for showing pygemntized source codes larger than 250kb.
Marcin Kuzminski <marcin@python-works.com>
parents: 474
diff changeset
216 controller='files', action='raw', revision='tip', f_path='',
9836541b0509 added limit for showing pygemntized source codes larger than 250kb.
Marcin Kuzminski <marcin@python-works.com>
parents: 474
diff changeset
217 conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
218 routes_map.connect('files_annotate_home', '/{repo_name:.*}/annotate/{revision}/{f_path:.*}',
300
8f7b8e965fe4 fixed 404s added extra validator for magic repo_name path in routes
Marcin Kuzminski <marcin@python-works.com>
parents: 299
diff changeset
219 controller='files', action='annotate', revision='tip', f_path='',
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
220 conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
221 routes_map.connect('files_archive_home', '/{repo_name:.*}/archive/{fname}',
872
b956e6f415a2 implemented #91,
Marcin Kuzminski <marcin@python-works.com>
parents: 769
diff changeset
222 controller='files', action='archivefile',
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
223 conditions=dict(function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
224 routes_map.connect('repo_settings_delete', '/{repo_name:.*}/settings',
525
87d80c84df09 added search in specific repository
Marcin Kuzminski <marcin@python-works.com>
parents: 485
diff changeset
225 controller='settings', action="delete",
87d80c84df09 added search in specific repository
Marcin Kuzminski <marcin@python-works.com>
parents: 485
diff changeset
226 conditions=dict(method=["DELETE"], function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
227 routes_map.connect('repo_settings_update', '/{repo_name:.*}/settings',
320
05b212954275 Implemented owner settings, as separete posibility to edit repositry by non administrative owner of repository
Marcin Kuzminski <marcin@python-works.com>
parents: 306
diff changeset
228 controller='settings', action="update",
05b212954275 Implemented owner settings, as separete posibility to edit repositry by non administrative owner of repository
Marcin Kuzminski <marcin@python-works.com>
parents: 306
diff changeset
229 conditions=dict(method=["PUT"], function=check_repo))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
230 routes_map.connect('repo_settings_home', '/{repo_name:.*}/settings',
320
05b212954275 Implemented owner settings, as separete posibility to edit repositry by non administrative owner of repository
Marcin Kuzminski <marcin@python-works.com>
parents: 306
diff changeset
231 controller='settings', action='index',
05b212954275 Implemented owner settings, as separete posibility to edit repositry by non administrative owner of repository
Marcin Kuzminski <marcin@python-works.com>
parents: 306
diff changeset
232 conditions=dict(function=check_repo))
05b212954275 Implemented owner settings, as separete posibility to edit repositry by non administrative owner of repository
Marcin Kuzminski <marcin@python-works.com>
parents: 306
diff changeset
233
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
234 routes_map.connect('repo_fork_create_home', '/{repo_name:.*}/fork',
530
a08f610e545e Implemented server side forks
Marcin Kuzminski <marcin@python-works.com>
parents: 525
diff changeset
235 controller='settings', action='fork_create',
a08f610e545e Implemented server side forks
Marcin Kuzminski <marcin@python-works.com>
parents: 525
diff changeset
236 conditions=dict(function=check_repo, method=["POST"]))
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
237 routes_map.connect('repo_fork_home', '/{repo_name:.*}/fork',
525
87d80c84df09 added search in specific repository
Marcin Kuzminski <marcin@python-works.com>
parents: 485
diff changeset
238 controller='settings', action='fork',
530
a08f610e545e Implemented server side forks
Marcin Kuzminski <marcin@python-works.com>
parents: 525
diff changeset
239 conditions=dict(function=check_repo))
604
5cc96df705b9 fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
240
1018
da5075ce681c rhodecode config module refactoring
Marcin Kuzminski <marcin@python-works.com>
parents: 1015
diff changeset
241 return routes_map