Show More
@@ -27,6 +27,7 b' from pylons.i18n.translation import lazy' | |||||
27 | from zope.interface import implementer |
|
27 | from zope.interface import implementer | |
28 |
|
28 | |||
29 | from rhodecode.admin.interfaces import IAdminNavigationRegistry |
|
29 | from rhodecode.admin.interfaces import IAdminNavigationRegistry | |
|
30 | from rhodecode.lib.utils import get_registry | |||
30 |
|
31 | |||
31 |
|
32 | |||
32 | log = logging.getLogger(__name__) |
|
33 | log = logging.getLogger(__name__) | |
@@ -35,6 +36,15 b" NavListEntry = collections.namedtuple('N" | |||||
35 |
|
36 | |||
36 |
|
37 | |||
37 | class NavEntry(object): |
|
38 | class NavEntry(object): | |
|
39 | """ | |||
|
40 | Represents an entry in the admin navigation. | |||
|
41 | ||||
|
42 | :param key: Unique identifier used to store reference in an OrderedDict. | |||
|
43 | :param name: Display name, usually a translation string. | |||
|
44 | :param view_name: Name of the view, used generate the URL. | |||
|
45 | :param pyramid: Indicator to use pyramid for URL generation. This should | |||
|
46 | be removed as soon as we are fully migrated to pyramid. | |||
|
47 | """ | |||
38 |
|
48 | |||
39 | def __init__(self, key, name, view_name, pyramid=False): |
|
49 | def __init__(self, key, name, view_name, pyramid=False): | |
40 | self.key = key |
|
50 | self.key = key | |
@@ -106,7 +116,7 b' def navigation_registry(request):' | |||||
106 | """ |
|
116 | """ | |
107 | Helper that returns the admin navigation registry. |
|
117 | Helper that returns the admin navigation registry. | |
108 | """ |
|
118 | """ | |
109 |
pyramid_registry = request |
|
119 | pyramid_registry = get_registry(request) | |
110 | nav_registry = pyramid_registry.queryUtility(IAdminNavigationRegistry) |
|
120 | nav_registry = pyramid_registry.queryUtility(IAdminNavigationRegistry) | |
111 | return nav_registry |
|
121 | return nav_registry | |
112 |
|
122 |
@@ -33,14 +33,14 b' import tempfile' | |||||
33 | import traceback |
|
33 | import traceback | |
34 | import tarfile |
|
34 | import tarfile | |
35 | import warnings |
|
35 | import warnings | |
36 |
from os.path import |
|
36 | from os.path import join as jn | |
37 | from os.path import dirname as dn, join as jn |
|
|||
38 |
|
37 | |||
39 | import paste |
|
38 | import paste | |
40 | import pkg_resources |
|
39 | import pkg_resources | |
41 | from paste.script.command import Command, BadCommand |
|
40 | from paste.script.command import Command, BadCommand | |
42 | from webhelpers.text import collapse, remove_formatting, strip_tags |
|
41 | from webhelpers.text import collapse, remove_formatting, strip_tags | |
43 | from mako import exceptions |
|
42 | from mako import exceptions | |
|
43 | from pyramid.threadlocal import get_current_registry | |||
44 |
|
44 | |||
45 | from rhodecode.lib.fakemod import create_module |
|
45 | from rhodecode.lib.fakemod import create_module | |
46 | from rhodecode.lib.vcs.backends.base import Config |
|
46 | from rhodecode.lib.vcs.backends.base import Config | |
@@ -975,3 +975,16 b' def read_opensource_licenses():' | |||||
975 | _license_cache = json.loads(licenses) |
|
975 | _license_cache = json.loads(licenses) | |
976 |
|
976 | |||
977 | return _license_cache |
|
977 | return _license_cache | |
|
978 | ||||
|
979 | ||||
|
980 | def get_registry(request): | |||
|
981 | """ | |||
|
982 | Utility to get the pyramid registry from a request. During migration to | |||
|
983 | pyramid we sometimes want to use the pyramid registry from pylons context. | |||
|
984 | Therefore this utility returns `request.registry` for pyramid requests and | |||
|
985 | uses `get_current_registry()` for pylons requests. | |||
|
986 | """ | |||
|
987 | try: | |||
|
988 | return request.registry | |||
|
989 | except AttributeError: | |||
|
990 | return get_current_registry() |
General Comments 0
You need to be logged in to leave comments.
Login now