Show More
The requested changes are too big and content was truncated. Show full diff
@@ -0,0 +1,43 b'' | |||||
|
1 | |RCE| 4.23.1 |RNS| | |||
|
2 | ------------------ | |||
|
3 | ||||
|
4 | Release Date | |||
|
5 | ^^^^^^^^^^^^ | |||
|
6 | ||||
|
7 | - 2020-11-25 | |||
|
8 | ||||
|
9 | ||||
|
10 | New Features | |||
|
11 | ^^^^^^^^^^^^ | |||
|
12 | ||||
|
13 | ||||
|
14 | ||||
|
15 | General | |||
|
16 | ^^^^^^^ | |||
|
17 | ||||
|
18 | ||||
|
19 | ||||
|
20 | Security | |||
|
21 | ^^^^^^^^ | |||
|
22 | ||||
|
23 | ||||
|
24 | ||||
|
25 | Performance | |||
|
26 | ^^^^^^^^^^^ | |||
|
27 | ||||
|
28 | - | |||
|
29 | ||||
|
30 | ||||
|
31 | Fixes | |||
|
32 | ^^^^^ | |||
|
33 | ||||
|
34 | - Comments: fixed inline comments TODO resolution | |||
|
35 | - Comments: fixed some styling for TODO resolution. | |||
|
36 | - Comments: fixed general comments live push. | |||
|
37 | - Comments: fixed reply-to links from emails. | |||
|
38 | - Reviewers: fixed some UI issues on larger screen when editing reviewers. | |||
|
39 | ||||
|
40 | Upgrade notes | |||
|
41 | ^^^^^^^^^^^^^ | |||
|
42 | ||||
|
43 | - Un-scheduled release addressing problems in 4.23.X releases. |
@@ -0,0 +1,48 b'' | |||||
|
1 | |RCE| 4.23.2 |RNS| | |||
|
2 | ------------------ | |||
|
3 | ||||
|
4 | Release Date | |||
|
5 | ^^^^^^^^^^^^ | |||
|
6 | ||||
|
7 | - 2020-12-06 | |||
|
8 | ||||
|
9 | ||||
|
10 | New Features | |||
|
11 | ^^^^^^^^^^^^ | |||
|
12 | ||||
|
13 | ||||
|
14 | ||||
|
15 | General | |||
|
16 | ^^^^^^^ | |||
|
17 | ||||
|
18 | - Repo extra keys: fixed some texts to improve UI. | |||
|
19 | ||||
|
20 | ||||
|
21 | Security | |||
|
22 | ^^^^^^^^ | |||
|
23 | ||||
|
24 | ||||
|
25 | ||||
|
26 | Performance | |||
|
27 | ^^^^^^^^^^^ | |||
|
28 | ||||
|
29 | - Core: speed up cache loading on application startup. | |||
|
30 | ||||
|
31 | ||||
|
32 | Fixes | |||
|
33 | ^^^^^ | |||
|
34 | ||||
|
35 | - Diffs: added scroll down/scroll up helper. Fixes #5643 | |||
|
36 | - Diffs: fixed diff rendering when a common ancestor was a different commit than the source of changes. | |||
|
37 | - Commits / changelog: small fixes from found problems. | |||
|
38 | - Comments: side-bar comments hover also shows an ID of comment now. | |||
|
39 | - Comments: make dismiss less prominent, and text only to not mix icons/text together. | |||
|
40 | - Comments: UX improvements for comment buttons. | |||
|
41 | - Reviewers: small ui fixes for display of review rules, and added new reviewer entries. | |||
|
42 | - Pull-requests: fixed source/target in PR creation, affecting how we load default reviewers based on branches. | |||
|
43 | ||||
|
44 | ||||
|
45 | Upgrade notes | |||
|
46 | ^^^^^^^^^^^^^ | |||
|
47 | ||||
|
48 | - Un-scheduled release addressing problems in 4.23.X releases. |
@@ -70,3 +70,6 b' 3e635489bb7961df93b01e42454ad1a8730ae968' | |||||
70 | 7e2eb896a02ca7cd2cd9f0f853ef3dac3f0039e3 v4.20.1 |
|
70 | 7e2eb896a02ca7cd2cd9f0f853ef3dac3f0039e3 v4.20.1 | |
71 | 8bb5fece08ab65986225b184e46f53d2a71729cb v4.21.0 |
|
71 | 8bb5fece08ab65986225b184e46f53d2a71729cb v4.21.0 | |
72 | 90734aac31ee4563bbe665a43ff73190cc762275 v4.22.0 |
|
72 | 90734aac31ee4563bbe665a43ff73190cc762275 v4.22.0 | |
|
73 | a9655707f7cf4146affc51c12fe5ed8e02898a57 v4.23.0 | |||
|
74 | 56310d93b33b97535908ef9c7b0985b89bb7fad2 v4.23.1 | |||
|
75 | 7637c38528fa38c1eabc1fde6a869c20995a0da7 v4.23.2 |
@@ -36,6 +36,8 b' timeout during large pushes.' | |||||
36 | proxy_set_header X-Host $http_host; |
|
36 | proxy_set_header X-Host $http_host; | |
37 | proxy_set_header X-Real-IP $remote_addr; |
|
37 | proxy_set_header X-Real-IP $remote_addr; | |
38 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
|
38 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
|
39 | proxy_set_header X-Forwarded-Proto $proto; | |||
|
40 | proxy_set_header X-Url-Scheme $scheme; | |||
39 | proxy_set_header Proxy-host $proxy_host; |
|
41 | proxy_set_header Proxy-host $proxy_host; | |
40 |
|
42 | |||
41 | proxy_connect_timeout 7200; |
|
43 | proxy_connect_timeout 7200; |
@@ -9,6 +9,8 b' Release Notes' | |||||
9 | .. toctree:: |
|
9 | .. toctree:: | |
10 | :maxdepth: 1 |
|
10 | :maxdepth: 1 | |
11 |
|
11 | |||
|
12 | release-notes-4.23.2.rst | |||
|
13 | release-notes-4.23.1.rst | |||
12 | release-notes-4.23.0.rst |
|
14 | release-notes-4.23.0.rst | |
13 | release-notes-4.22.0.rst |
|
15 | release-notes-4.22.0.rst | |
14 | release-notes-4.21.0.rst |
|
16 | release-notes-4.21.0.rst |
@@ -1883,7 +1883,7 b' self: super: {' | |||||
1883 | }; |
|
1883 | }; | |
1884 | }; |
|
1884 | }; | |
1885 | "rhodecode-enterprise-ce" = super.buildPythonPackage { |
|
1885 | "rhodecode-enterprise-ce" = super.buildPythonPackage { | |
1886 |
name = "rhodecode-enterprise-ce-4.23. |
|
1886 | name = "rhodecode-enterprise-ce-4.23.2"; | |
1887 | buildInputs = [ |
|
1887 | buildInputs = [ | |
1888 | self."pytest" |
|
1888 | self."pytest" | |
1889 | self."py" |
|
1889 | self."py" |
@@ -527,6 +527,14 b' class jsonrpc_deprecated_method(object):' | |||||
527 | return result |
|
527 | return result | |
528 |
|
528 | |||
529 |
|
529 | |||
|
530 | def add_api_methods(config): | |||
|
531 | from rhodecode.api.views import ( | |||
|
532 | deprecated_api, gist_api, pull_request_api, repo_api, repo_group_api, | |||
|
533 | server_api, search_api, testing_api, user_api, user_group_api) | |||
|
534 | ||||
|
535 | config.scan('rhodecode.api.views') | |||
|
536 | ||||
|
537 | ||||
530 | def includeme(config): |
|
538 | def includeme(config): | |
531 | plugin_module = 'rhodecode.api' |
|
539 | plugin_module = 'rhodecode.api' | |
532 | plugin_settings = get_plugin_settings( |
|
540 | plugin_settings = get_plugin_settings( | |
@@ -549,7 +557,8 b' def includeme(config):' | |||||
549 | config.add_route( |
|
557 | config.add_route( | |
550 | 'apiv2', plugin_settings.get('url', DEFAULT_URL), jsonrpc_call=True) |
|
558 | 'apiv2', plugin_settings.get('url', DEFAULT_URL), jsonrpc_call=True) | |
551 |
|
559 | |||
552 | config.scan(plugin_module, ignore='rhodecode.api.tests') |
|
|||
553 | # register some exception handling view |
|
560 | # register some exception handling view | |
554 | config.add_view(exception_view, context=JSONRPCBaseError) |
|
561 | config.add_view(exception_view, context=JSONRPCBaseError) | |
555 | config.add_notfound_view(exception_view, jsonrpc_method_not_found=True) |
|
562 | config.add_notfound_view(exception_view, jsonrpc_method_not_found=True) | |
|
563 | ||||
|
564 | add_api_methods(config) |
@@ -144,3 +144,5 b' def includeme(config):' | |||||
144 | labs_active = str2bool(settings.get('labs_settings_active', False)) |
|
144 | labs_active = str2bool(settings.get('labs_settings_active', False)) | |
145 | navigation_registry_instance = NavigationRegistry(labs_active=labs_active) |
|
145 | navigation_registry_instance = NavigationRegistry(labs_active=labs_active) | |
146 | config.registry.registerUtility(navigation_registry_instance) |
|
146 | config.registry.registerUtility(navigation_registry_instance) | |
|
147 | log.debug('Created new nabigation instance, %s', navigation_registry_instance) | |||
|
148 |
This diff has been collapsed as it changes many lines, (619 lines changed) Show them Hide them | |||||
@@ -26,441 +26,1030 b' def admin_routes(config):' | |||||
26 | """ |
|
26 | """ | |
27 | Admin prefixed routes |
|
27 | Admin prefixed routes | |
28 | """ |
|
28 | """ | |
|
29 | from rhodecode.apps.admin.views.audit_logs import AdminAuditLogsView | |||
|
30 | from rhodecode.apps.admin.views.defaults import AdminDefaultSettingsView | |||
|
31 | from rhodecode.apps.admin.views.exception_tracker import ExceptionsTrackerView | |||
|
32 | from rhodecode.apps.admin.views.main_views import AdminMainView | |||
|
33 | from rhodecode.apps.admin.views.open_source_licenses import OpenSourceLicensesAdminSettingsView | |||
|
34 | from rhodecode.apps.admin.views.permissions import AdminPermissionsView | |||
|
35 | from rhodecode.apps.admin.views.process_management import AdminProcessManagementView | |||
|
36 | from rhodecode.apps.admin.views.repo_groups import AdminRepoGroupsView | |||
|
37 | from rhodecode.apps.admin.views.repositories import AdminReposView | |||
|
38 | from rhodecode.apps.admin.views.sessions import AdminSessionSettingsView | |||
|
39 | from rhodecode.apps.admin.views.settings import AdminSettingsView | |||
|
40 | from rhodecode.apps.admin.views.svn_config import AdminSvnConfigView | |||
|
41 | from rhodecode.apps.admin.views.system_info import AdminSystemInfoSettingsView | |||
|
42 | from rhodecode.apps.admin.views.user_groups import AdminUserGroupsView | |||
|
43 | from rhodecode.apps.admin.views.users import AdminUsersView, UsersView | |||
|
44 | ||||
29 | config.add_route( |
|
45 | config.add_route( | |
30 | name='admin_audit_logs', |
|
46 | name='admin_audit_logs', | |
31 | pattern='/audit_logs') |
|
47 | pattern='/audit_logs') | |
|
48 | config.add_view( | |||
|
49 | AdminAuditLogsView, | |||
|
50 | attr='admin_audit_logs', | |||
|
51 | route_name='admin_audit_logs', request_method='GET', | |||
|
52 | renderer='rhodecode:templates/admin/admin_audit_logs.mako') | |||
32 |
|
53 | |||
33 | config.add_route( |
|
54 | config.add_route( | |
34 | name='admin_audit_log_entry', |
|
55 | name='admin_audit_log_entry', | |
35 | pattern='/audit_logs/{audit_log_id}') |
|
56 | pattern='/audit_logs/{audit_log_id}') | |
36 |
|
57 | config.add_view( | ||
37 | config.add_route( |
|
58 | AdminAuditLogsView, | |
38 | name='pull_requests_global_0', # backward compat |
|
59 | attr='admin_audit_log_entry', | |
39 | pattern='/pull_requests/{pull_request_id:\d+}') |
|
60 | route_name='admin_audit_log_entry', request_method='GET', | |
40 | config.add_route( |
|
61 | renderer='rhodecode:templates/admin/admin_audit_log_entry.mako') | |
41 | name='pull_requests_global_1', # backward compat |
|
|||
42 | pattern='/pull-requests/{pull_request_id:\d+}') |
|
|||
43 | config.add_route( |
|
|||
44 | name='pull_requests_global', |
|
|||
45 | pattern='/pull-request/{pull_request_id:\d+}') |
|
|||
46 |
|
62 | |||
47 | config.add_route( |
|
63 | config.add_route( | |
48 | name='admin_settings_open_source', |
|
64 | name='admin_settings_open_source', | |
49 | pattern='/settings/open_source') |
|
65 | pattern='/settings/open_source') | |
|
66 | config.add_view( | |||
|
67 | OpenSourceLicensesAdminSettingsView, | |||
|
68 | attr='open_source_licenses', | |||
|
69 | route_name='admin_settings_open_source', request_method='GET', | |||
|
70 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
71 | ||||
50 | config.add_route( |
|
72 | config.add_route( | |
51 | name='admin_settings_vcs_svn_generate_cfg', |
|
73 | name='admin_settings_vcs_svn_generate_cfg', | |
52 | pattern='/settings/vcs/svn_generate_cfg') |
|
74 | pattern='/settings/vcs/svn_generate_cfg') | |
|
75 | config.add_view( | |||
|
76 | AdminSvnConfigView, | |||
|
77 | attr='vcs_svn_generate_config', | |||
|
78 | route_name='admin_settings_vcs_svn_generate_cfg', | |||
|
79 | request_method='POST', renderer='json') | |||
53 |
|
80 | |||
54 | config.add_route( |
|
81 | config.add_route( | |
55 | name='admin_settings_system', |
|
82 | name='admin_settings_system', | |
56 | pattern='/settings/system') |
|
83 | pattern='/settings/system') | |
|
84 | config.add_view( | |||
|
85 | AdminSystemInfoSettingsView, | |||
|
86 | attr='settings_system_info', | |||
|
87 | route_name='admin_settings_system', request_method='GET', | |||
|
88 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
89 | ||||
57 | config.add_route( |
|
90 | config.add_route( | |
58 | name='admin_settings_system_update', |
|
91 | name='admin_settings_system_update', | |
59 | pattern='/settings/system/updates') |
|
92 | pattern='/settings/system/updates') | |
|
93 | config.add_view( | |||
|
94 | AdminSystemInfoSettingsView, | |||
|
95 | attr='settings_system_info_check_update', | |||
|
96 | route_name='admin_settings_system_update', request_method='GET', | |||
|
97 | renderer='rhodecode:templates/admin/settings/settings_system_update.mako') | |||
60 |
|
98 | |||
61 | config.add_route( |
|
99 | config.add_route( | |
62 | name='admin_settings_exception_tracker', |
|
100 | name='admin_settings_exception_tracker', | |
63 | pattern='/settings/exceptions') |
|
101 | pattern='/settings/exceptions') | |
|
102 | config.add_view( | |||
|
103 | ExceptionsTrackerView, | |||
|
104 | attr='browse_exceptions', | |||
|
105 | route_name='admin_settings_exception_tracker', request_method='GET', | |||
|
106 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
107 | ||||
64 | config.add_route( |
|
108 | config.add_route( | |
65 | name='admin_settings_exception_tracker_delete_all', |
|
109 | name='admin_settings_exception_tracker_delete_all', | |
66 |
pattern='/settings/exceptions |
|
110 | pattern='/settings/exceptions_delete_all') | |
|
111 | config.add_view( | |||
|
112 | ExceptionsTrackerView, | |||
|
113 | attr='exception_delete_all', | |||
|
114 | route_name='admin_settings_exception_tracker_delete_all', request_method='POST', | |||
|
115 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
116 | ||||
67 | config.add_route( |
|
117 | config.add_route( | |
68 | name='admin_settings_exception_tracker_show', |
|
118 | name='admin_settings_exception_tracker_show', | |
69 | pattern='/settings/exceptions/{exception_id}') |
|
119 | pattern='/settings/exceptions/{exception_id}') | |
|
120 | config.add_view( | |||
|
121 | ExceptionsTrackerView, | |||
|
122 | attr='exception_show', | |||
|
123 | route_name='admin_settings_exception_tracker_show', request_method='GET', | |||
|
124 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
125 | ||||
70 | config.add_route( |
|
126 | config.add_route( | |
71 | name='admin_settings_exception_tracker_delete', |
|
127 | name='admin_settings_exception_tracker_delete', | |
72 | pattern='/settings/exceptions/{exception_id}/delete') |
|
128 | pattern='/settings/exceptions/{exception_id}/delete') | |
|
129 | config.add_view( | |||
|
130 | ExceptionsTrackerView, | |||
|
131 | attr='exception_delete', | |||
|
132 | route_name='admin_settings_exception_tracker_delete', request_method='POST', | |||
|
133 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
73 |
|
134 | |||
74 | config.add_route( |
|
135 | config.add_route( | |
75 | name='admin_settings_sessions', |
|
136 | name='admin_settings_sessions', | |
76 | pattern='/settings/sessions') |
|
137 | pattern='/settings/sessions') | |
|
138 | config.add_view( | |||
|
139 | AdminSessionSettingsView, | |||
|
140 | attr='settings_sessions', | |||
|
141 | route_name='admin_settings_sessions', request_method='GET', | |||
|
142 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
143 | ||||
77 | config.add_route( |
|
144 | config.add_route( | |
78 | name='admin_settings_sessions_cleanup', |
|
145 | name='admin_settings_sessions_cleanup', | |
79 | pattern='/settings/sessions/cleanup') |
|
146 | pattern='/settings/sessions/cleanup') | |
|
147 | config.add_view( | |||
|
148 | AdminSessionSettingsView, | |||
|
149 | attr='settings_sessions_cleanup', | |||
|
150 | route_name='admin_settings_sessions_cleanup', request_method='POST') | |||
80 |
|
151 | |||
81 | config.add_route( |
|
152 | config.add_route( | |
82 | name='admin_settings_process_management', |
|
153 | name='admin_settings_process_management', | |
83 | pattern='/settings/process_management') |
|
154 | pattern='/settings/process_management') | |
|
155 | config.add_view( | |||
|
156 | AdminProcessManagementView, | |||
|
157 | attr='process_management', | |||
|
158 | route_name='admin_settings_process_management', request_method='GET', | |||
|
159 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
160 | ||||
84 | config.add_route( |
|
161 | config.add_route( | |
85 | name='admin_settings_process_management_data', |
|
162 | name='admin_settings_process_management_data', | |
86 | pattern='/settings/process_management/data') |
|
163 | pattern='/settings/process_management/data') | |
|
164 | config.add_view( | |||
|
165 | AdminProcessManagementView, | |||
|
166 | attr='process_management_data', | |||
|
167 | route_name='admin_settings_process_management_data', request_method='GET', | |||
|
168 | renderer='rhodecode:templates/admin/settings/settings_process_management_data.mako') | |||
|
169 | ||||
87 | config.add_route( |
|
170 | config.add_route( | |
88 | name='admin_settings_process_management_signal', |
|
171 | name='admin_settings_process_management_signal', | |
89 | pattern='/settings/process_management/signal') |
|
172 | pattern='/settings/process_management/signal') | |
|
173 | config.add_view( | |||
|
174 | AdminProcessManagementView, | |||
|
175 | attr='process_management_signal', | |||
|
176 | route_name='admin_settings_process_management_signal', | |||
|
177 | request_method='POST', renderer='json_ext') | |||
|
178 | ||||
90 | config.add_route( |
|
179 | config.add_route( | |
91 | name='admin_settings_process_management_master_signal', |
|
180 | name='admin_settings_process_management_master_signal', | |
92 | pattern='/settings/process_management/master_signal') |
|
181 | pattern='/settings/process_management/master_signal') | |
|
182 | config.add_view( | |||
|
183 | AdminProcessManagementView, | |||
|
184 | attr='process_management_master_signal', | |||
|
185 | route_name='admin_settings_process_management_master_signal', | |||
|
186 | request_method='POST', renderer='json_ext') | |||
93 |
|
187 | |||
94 | # default settings |
|
188 | # default settings | |
95 | config.add_route( |
|
189 | config.add_route( | |
96 | name='admin_defaults_repositories', |
|
190 | name='admin_defaults_repositories', | |
97 | pattern='/defaults/repositories') |
|
191 | pattern='/defaults/repositories') | |
|
192 | config.add_view( | |||
|
193 | AdminDefaultSettingsView, | |||
|
194 | attr='defaults_repository_show', | |||
|
195 | route_name='admin_defaults_repositories', request_method='GET', | |||
|
196 | renderer='rhodecode:templates/admin/defaults/defaults.mako') | |||
|
197 | ||||
98 | config.add_route( |
|
198 | config.add_route( | |
99 | name='admin_defaults_repositories_update', |
|
199 | name='admin_defaults_repositories_update', | |
100 | pattern='/defaults/repositories/update') |
|
200 | pattern='/defaults/repositories/update') | |
|
201 | config.add_view( | |||
|
202 | AdminDefaultSettingsView, | |||
|
203 | attr='defaults_repository_update', | |||
|
204 | route_name='admin_defaults_repositories_update', request_method='POST', | |||
|
205 | renderer='rhodecode:templates/admin/defaults/defaults.mako') | |||
101 |
|
206 | |||
102 | # admin settings |
|
207 | # admin settings | |
103 |
|
208 | |||
104 | config.add_route( |
|
209 | config.add_route( | |
105 | name='admin_settings', |
|
210 | name='admin_settings', | |
106 | pattern='/settings') |
|
211 | pattern='/settings') | |
|
212 | config.add_view( | |||
|
213 | AdminSettingsView, | |||
|
214 | attr='settings_global', | |||
|
215 | route_name='admin_settings', request_method='GET', | |||
|
216 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
217 | ||||
107 | config.add_route( |
|
218 | config.add_route( | |
108 | name='admin_settings_update', |
|
219 | name='admin_settings_update', | |
109 | pattern='/settings/update') |
|
220 | pattern='/settings/update') | |
|
221 | config.add_view( | |||
|
222 | AdminSettingsView, | |||
|
223 | attr='settings_global_update', | |||
|
224 | route_name='admin_settings_update', request_method='POST', | |||
|
225 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
110 |
|
226 | |||
111 | config.add_route( |
|
227 | config.add_route( | |
112 | name='admin_settings_global', |
|
228 | name='admin_settings_global', | |
113 | pattern='/settings/global') |
|
229 | pattern='/settings/global') | |
|
230 | config.add_view( | |||
|
231 | AdminSettingsView, | |||
|
232 | attr='settings_global', | |||
|
233 | route_name='admin_settings_global', request_method='GET', | |||
|
234 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
235 | ||||
114 | config.add_route( |
|
236 | config.add_route( | |
115 | name='admin_settings_global_update', |
|
237 | name='admin_settings_global_update', | |
116 | pattern='/settings/global/update') |
|
238 | pattern='/settings/global/update') | |
|
239 | config.add_view( | |||
|
240 | AdminSettingsView, | |||
|
241 | attr='settings_global_update', | |||
|
242 | route_name='admin_settings_global_update', request_method='POST', | |||
|
243 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
117 |
|
244 | |||
118 | config.add_route( |
|
245 | config.add_route( | |
119 | name='admin_settings_vcs', |
|
246 | name='admin_settings_vcs', | |
120 | pattern='/settings/vcs') |
|
247 | pattern='/settings/vcs') | |
|
248 | config.add_view( | |||
|
249 | AdminSettingsView, | |||
|
250 | attr='settings_vcs', | |||
|
251 | route_name='admin_settings_vcs', request_method='GET', | |||
|
252 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
253 | ||||
121 | config.add_route( |
|
254 | config.add_route( | |
122 | name='admin_settings_vcs_update', |
|
255 | name='admin_settings_vcs_update', | |
123 | pattern='/settings/vcs/update') |
|
256 | pattern='/settings/vcs/update') | |
|
257 | config.add_view( | |||
|
258 | AdminSettingsView, | |||
|
259 | attr='settings_vcs_update', | |||
|
260 | route_name='admin_settings_vcs_update', request_method='POST', | |||
|
261 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
262 | ||||
124 | config.add_route( |
|
263 | config.add_route( | |
125 | name='admin_settings_vcs_svn_pattern_delete', |
|
264 | name='admin_settings_vcs_svn_pattern_delete', | |
126 | pattern='/settings/vcs/svn_pattern_delete') |
|
265 | pattern='/settings/vcs/svn_pattern_delete') | |
|
266 | config.add_view( | |||
|
267 | AdminSettingsView, | |||
|
268 | attr='settings_vcs_delete_svn_pattern', | |||
|
269 | route_name='admin_settings_vcs_svn_pattern_delete', request_method='POST', | |||
|
270 | renderer='json_ext', xhr=True) | |||
127 |
|
271 | |||
128 | config.add_route( |
|
272 | config.add_route( | |
129 | name='admin_settings_mapping', |
|
273 | name='admin_settings_mapping', | |
130 | pattern='/settings/mapping') |
|
274 | pattern='/settings/mapping') | |
|
275 | config.add_view( | |||
|
276 | AdminSettingsView, | |||
|
277 | attr='settings_mapping', | |||
|
278 | route_name='admin_settings_mapping', request_method='GET', | |||
|
279 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
280 | ||||
131 | config.add_route( |
|
281 | config.add_route( | |
132 | name='admin_settings_mapping_update', |
|
282 | name='admin_settings_mapping_update', | |
133 | pattern='/settings/mapping/update') |
|
283 | pattern='/settings/mapping/update') | |
|
284 | config.add_view( | |||
|
285 | AdminSettingsView, | |||
|
286 | attr='settings_mapping_update', | |||
|
287 | route_name='admin_settings_mapping_update', request_method='POST', | |||
|
288 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
134 |
|
289 | |||
135 | config.add_route( |
|
290 | config.add_route( | |
136 | name='admin_settings_visual', |
|
291 | name='admin_settings_visual', | |
137 | pattern='/settings/visual') |
|
292 | pattern='/settings/visual') | |
|
293 | config.add_view( | |||
|
294 | AdminSettingsView, | |||
|
295 | attr='settings_visual', | |||
|
296 | route_name='admin_settings_visual', request_method='GET', | |||
|
297 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
298 | ||||
138 | config.add_route( |
|
299 | config.add_route( | |
139 | name='admin_settings_visual_update', |
|
300 | name='admin_settings_visual_update', | |
140 | pattern='/settings/visual/update') |
|
301 | pattern='/settings/visual/update') | |
|
302 | config.add_view( | |||
|
303 | AdminSettingsView, | |||
|
304 | attr='settings_visual_update', | |||
|
305 | route_name='admin_settings_visual_update', request_method='POST', | |||
|
306 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
141 |
|
307 | |||
142 | config.add_route( |
|
308 | config.add_route( | |
143 | name='admin_settings_issuetracker', |
|
309 | name='admin_settings_issuetracker', | |
144 | pattern='/settings/issue-tracker') |
|
310 | pattern='/settings/issue-tracker') | |
|
311 | config.add_view( | |||
|
312 | AdminSettingsView, | |||
|
313 | attr='settings_issuetracker', | |||
|
314 | route_name='admin_settings_issuetracker', request_method='GET', | |||
|
315 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
316 | ||||
145 | config.add_route( |
|
317 | config.add_route( | |
146 | name='admin_settings_issuetracker_update', |
|
318 | name='admin_settings_issuetracker_update', | |
147 | pattern='/settings/issue-tracker/update') |
|
319 | pattern='/settings/issue-tracker/update') | |
|
320 | config.add_view( | |||
|
321 | AdminSettingsView, | |||
|
322 | attr='settings_issuetracker_update', | |||
|
323 | route_name='admin_settings_issuetracker_update', request_method='POST', | |||
|
324 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
325 | ||||
148 | config.add_route( |
|
326 | config.add_route( | |
149 | name='admin_settings_issuetracker_test', |
|
327 | name='admin_settings_issuetracker_test', | |
150 | pattern='/settings/issue-tracker/test') |
|
328 | pattern='/settings/issue-tracker/test') | |
|
329 | config.add_view( | |||
|
330 | AdminSettingsView, | |||
|
331 | attr='settings_issuetracker_test', | |||
|
332 | route_name='admin_settings_issuetracker_test', request_method='POST', | |||
|
333 | renderer='string', xhr=True) | |||
|
334 | ||||
151 | config.add_route( |
|
335 | config.add_route( | |
152 | name='admin_settings_issuetracker_delete', |
|
336 | name='admin_settings_issuetracker_delete', | |
153 | pattern='/settings/issue-tracker/delete') |
|
337 | pattern='/settings/issue-tracker/delete') | |
|
338 | config.add_view( | |||
|
339 | AdminSettingsView, | |||
|
340 | attr='settings_issuetracker_delete', | |||
|
341 | route_name='admin_settings_issuetracker_delete', request_method='POST', | |||
|
342 | renderer='json_ext', xhr=True) | |||
154 |
|
343 | |||
155 | config.add_route( |
|
344 | config.add_route( | |
156 | name='admin_settings_email', |
|
345 | name='admin_settings_email', | |
157 | pattern='/settings/email') |
|
346 | pattern='/settings/email') | |
|
347 | config.add_view( | |||
|
348 | AdminSettingsView, | |||
|
349 | attr='settings_email', | |||
|
350 | route_name='admin_settings_email', request_method='GET', | |||
|
351 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
352 | ||||
158 | config.add_route( |
|
353 | config.add_route( | |
159 | name='admin_settings_email_update', |
|
354 | name='admin_settings_email_update', | |
160 | pattern='/settings/email/update') |
|
355 | pattern='/settings/email/update') | |
|
356 | config.add_view( | |||
|
357 | AdminSettingsView, | |||
|
358 | attr='settings_email_update', | |||
|
359 | route_name='admin_settings_email_update', request_method='POST', | |||
|
360 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
161 |
|
361 | |||
162 | config.add_route( |
|
362 | config.add_route( | |
163 | name='admin_settings_hooks', |
|
363 | name='admin_settings_hooks', | |
164 | pattern='/settings/hooks') |
|
364 | pattern='/settings/hooks') | |
|
365 | config.add_view( | |||
|
366 | AdminSettingsView, | |||
|
367 | attr='settings_hooks', | |||
|
368 | route_name='admin_settings_hooks', request_method='GET', | |||
|
369 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
370 | ||||
165 | config.add_route( |
|
371 | config.add_route( | |
166 | name='admin_settings_hooks_update', |
|
372 | name='admin_settings_hooks_update', | |
167 | pattern='/settings/hooks/update') |
|
373 | pattern='/settings/hooks/update') | |
|
374 | config.add_view( | |||
|
375 | AdminSettingsView, | |||
|
376 | attr='settings_hooks_update', | |||
|
377 | route_name='admin_settings_hooks_update', request_method='POST', | |||
|
378 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
379 | ||||
168 | config.add_route( |
|
380 | config.add_route( | |
169 | name='admin_settings_hooks_delete', |
|
381 | name='admin_settings_hooks_delete', | |
170 | pattern='/settings/hooks/delete') |
|
382 | pattern='/settings/hooks/delete') | |
|
383 | config.add_view( | |||
|
384 | AdminSettingsView, | |||
|
385 | attr='settings_hooks_update', | |||
|
386 | route_name='admin_settings_hooks_delete', request_method='POST', | |||
|
387 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
171 |
|
388 | |||
172 | config.add_route( |
|
389 | config.add_route( | |
173 | name='admin_settings_search', |
|
390 | name='admin_settings_search', | |
174 | pattern='/settings/search') |
|
391 | pattern='/settings/search') | |
|
392 | config.add_view( | |||
|
393 | AdminSettingsView, | |||
|
394 | attr='settings_search', | |||
|
395 | route_name='admin_settings_search', request_method='GET', | |||
|
396 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
175 |
|
397 | |||
176 | config.add_route( |
|
398 | config.add_route( | |
177 | name='admin_settings_labs', |
|
399 | name='admin_settings_labs', | |
178 | pattern='/settings/labs') |
|
400 | pattern='/settings/labs') | |
|
401 | config.add_view( | |||
|
402 | AdminSettingsView, | |||
|
403 | attr='settings_labs', | |||
|
404 | route_name='admin_settings_labs', request_method='GET', | |||
|
405 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
|
406 | ||||
179 | config.add_route( |
|
407 | config.add_route( | |
180 | name='admin_settings_labs_update', |
|
408 | name='admin_settings_labs_update', | |
181 | pattern='/settings/labs/update') |
|
409 | pattern='/settings/labs/update') | |
|
410 | config.add_view( | |||
|
411 | AdminSettingsView, | |||
|
412 | attr='settings_labs_update', | |||
|
413 | route_name='admin_settings_labs_update', request_method='POST', | |||
|
414 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
182 |
|
415 | |||
183 | # Automation EE feature |
|
416 | # Automation EE feature | |
184 | config.add_route( |
|
417 | config.add_route( | |
185 | 'admin_settings_automation', |
|
418 | 'admin_settings_automation', | |
186 | pattern=ADMIN_PREFIX + '/settings/automation') |
|
419 | pattern=ADMIN_PREFIX + '/settings/automation') | |
|
420 | config.add_view( | |||
|
421 | AdminSettingsView, | |||
|
422 | attr='settings_automation', | |||
|
423 | route_name='admin_settings_automation', request_method='GET', | |||
|
424 | renderer='rhodecode:templates/admin/settings/settings.mako') | |||
187 |
|
425 | |||
188 | # global permissions |
|
426 | # global permissions | |
189 |
|
427 | |||
190 | config.add_route( |
|
428 | config.add_route( | |
191 | name='admin_permissions_application', |
|
429 | name='admin_permissions_application', | |
192 | pattern='/permissions/application') |
|
430 | pattern='/permissions/application') | |
|
431 | config.add_view( | |||
|
432 | AdminPermissionsView, | |||
|
433 | attr='permissions_application', | |||
|
434 | route_name='admin_permissions_application', request_method='GET', | |||
|
435 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
|
436 | ||||
193 | config.add_route( |
|
437 | config.add_route( | |
194 | name='admin_permissions_application_update', |
|
438 | name='admin_permissions_application_update', | |
195 | pattern='/permissions/application/update') |
|
439 | pattern='/permissions/application/update') | |
|
440 | config.add_view( | |||
|
441 | AdminPermissionsView, | |||
|
442 | attr='permissions_application_update', | |||
|
443 | route_name='admin_permissions_application_update', request_method='POST', | |||
|
444 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
196 |
|
445 | |||
197 | config.add_route( |
|
446 | config.add_route( | |
198 | name='admin_permissions_global', |
|
447 | name='admin_permissions_global', | |
199 | pattern='/permissions/global') |
|
448 | pattern='/permissions/global') | |
|
449 | config.add_view( | |||
|
450 | AdminPermissionsView, | |||
|
451 | attr='permissions_global', | |||
|
452 | route_name='admin_permissions_global', request_method='GET', | |||
|
453 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
|
454 | ||||
200 | config.add_route( |
|
455 | config.add_route( | |
201 | name='admin_permissions_global_update', |
|
456 | name='admin_permissions_global_update', | |
202 | pattern='/permissions/global/update') |
|
457 | pattern='/permissions/global/update') | |
|
458 | config.add_view( | |||
|
459 | AdminPermissionsView, | |||
|
460 | attr='permissions_global_update', | |||
|
461 | route_name='admin_permissions_global_update', request_method='POST', | |||
|
462 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
203 |
|
463 | |||
204 | config.add_route( |
|
464 | config.add_route( | |
205 | name='admin_permissions_object', |
|
465 | name='admin_permissions_object', | |
206 | pattern='/permissions/object') |
|
466 | pattern='/permissions/object') | |
|
467 | config.add_view( | |||
|
468 | AdminPermissionsView, | |||
|
469 | attr='permissions_objects', | |||
|
470 | route_name='admin_permissions_object', request_method='GET', | |||
|
471 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
|
472 | ||||
207 | config.add_route( |
|
473 | config.add_route( | |
208 | name='admin_permissions_object_update', |
|
474 | name='admin_permissions_object_update', | |
209 | pattern='/permissions/object/update') |
|
475 | pattern='/permissions/object/update') | |
|
476 | config.add_view( | |||
|
477 | AdminPermissionsView, | |||
|
478 | attr='permissions_objects_update', | |||
|
479 | route_name='admin_permissions_object_update', request_method='POST', | |||
|
480 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
210 |
|
481 | |||
211 | # Branch perms EE feature |
|
482 | # Branch perms EE feature | |
212 | config.add_route( |
|
483 | config.add_route( | |
213 | name='admin_permissions_branch', |
|
484 | name='admin_permissions_branch', | |
214 | pattern='/permissions/branch') |
|
485 | pattern='/permissions/branch') | |
|
486 | config.add_view( | |||
|
487 | AdminPermissionsView, | |||
|
488 | attr='permissions_branch', | |||
|
489 | route_name='admin_permissions_branch', request_method='GET', | |||
|
490 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
215 |
|
491 | |||
216 | config.add_route( |
|
492 | config.add_route( | |
217 | name='admin_permissions_ips', |
|
493 | name='admin_permissions_ips', | |
218 | pattern='/permissions/ips') |
|
494 | pattern='/permissions/ips') | |
|
495 | config.add_view( | |||
|
496 | AdminPermissionsView, | |||
|
497 | attr='permissions_ips', | |||
|
498 | route_name='admin_permissions_ips', request_method='GET', | |||
|
499 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
219 |
|
500 | |||
220 | config.add_route( |
|
501 | config.add_route( | |
221 | name='admin_permissions_overview', |
|
502 | name='admin_permissions_overview', | |
222 | pattern='/permissions/overview') |
|
503 | pattern='/permissions/overview') | |
|
504 | config.add_view( | |||
|
505 | AdminPermissionsView, | |||
|
506 | attr='permissions_overview', | |||
|
507 | route_name='admin_permissions_overview', request_method='GET', | |||
|
508 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
223 |
|
509 | |||
224 | config.add_route( |
|
510 | config.add_route( | |
225 | name='admin_permissions_auth_token_access', |
|
511 | name='admin_permissions_auth_token_access', | |
226 | pattern='/permissions/auth_token_access') |
|
512 | pattern='/permissions/auth_token_access') | |
|
513 | config.add_view( | |||
|
514 | AdminPermissionsView, | |||
|
515 | attr='auth_token_access', | |||
|
516 | route_name='admin_permissions_auth_token_access', request_method='GET', | |||
|
517 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
227 |
|
518 | |||
228 | config.add_route( |
|
519 | config.add_route( | |
229 | name='admin_permissions_ssh_keys', |
|
520 | name='admin_permissions_ssh_keys', | |
230 | pattern='/permissions/ssh_keys') |
|
521 | pattern='/permissions/ssh_keys') | |
|
522 | config.add_view( | |||
|
523 | AdminPermissionsView, | |||
|
524 | attr='ssh_keys', | |||
|
525 | route_name='admin_permissions_ssh_keys', request_method='GET', | |||
|
526 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
|
527 | ||||
231 | config.add_route( |
|
528 | config.add_route( | |
232 | name='admin_permissions_ssh_keys_data', |
|
529 | name='admin_permissions_ssh_keys_data', | |
233 | pattern='/permissions/ssh_keys/data') |
|
530 | pattern='/permissions/ssh_keys/data') | |
|
531 | config.add_view( | |||
|
532 | AdminPermissionsView, | |||
|
533 | attr='ssh_keys_data', | |||
|
534 | route_name='admin_permissions_ssh_keys_data', request_method='GET', | |||
|
535 | renderer='json_ext', xhr=True) | |||
|
536 | ||||
234 | config.add_route( |
|
537 | config.add_route( | |
235 | name='admin_permissions_ssh_keys_update', |
|
538 | name='admin_permissions_ssh_keys_update', | |
236 | pattern='/permissions/ssh_keys/update') |
|
539 | pattern='/permissions/ssh_keys/update') | |
|
540 | config.add_view( | |||
|
541 | AdminPermissionsView, | |||
|
542 | attr='ssh_keys_update', | |||
|
543 | route_name='admin_permissions_ssh_keys_update', request_method='POST', | |||
|
544 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |||
237 |
|
545 | |||
238 | # users admin |
|
546 | # users admin | |
239 | config.add_route( |
|
547 | config.add_route( | |
240 | name='users', |
|
548 | name='users', | |
241 | pattern='/users') |
|
549 | pattern='/users') | |
|
550 | config.add_view( | |||
|
551 | AdminUsersView, | |||
|
552 | attr='users_list', | |||
|
553 | route_name='users', request_method='GET', | |||
|
554 | renderer='rhodecode:templates/admin/users/users.mako') | |||
242 |
|
555 | |||
243 | config.add_route( |
|
556 | config.add_route( | |
244 | name='users_data', |
|
557 | name='users_data', | |
245 | pattern='/users_data') |
|
558 | pattern='/users_data') | |
|
559 | config.add_view( | |||
|
560 | AdminUsersView, | |||
|
561 | attr='users_list_data', | |||
|
562 | # renderer defined below | |||
|
563 | route_name='users_data', request_method='GET', | |||
|
564 | renderer='json_ext', xhr=True) | |||
246 |
|
565 | |||
247 | config.add_route( |
|
566 | config.add_route( | |
248 | name='users_create', |
|
567 | name='users_create', | |
249 | pattern='/users/create') |
|
568 | pattern='/users/create') | |
|
569 | config.add_view( | |||
|
570 | AdminUsersView, | |||
|
571 | attr='users_create', | |||
|
572 | route_name='users_create', request_method='POST', | |||
|
573 | renderer='rhodecode:templates/admin/users/user_add.mako') | |||
250 |
|
574 | |||
251 | config.add_route( |
|
575 | config.add_route( | |
252 | name='users_new', |
|
576 | name='users_new', | |
253 | pattern='/users/new') |
|
577 | pattern='/users/new') | |
|
578 | config.add_view( | |||
|
579 | AdminUsersView, | |||
|
580 | attr='users_new', | |||
|
581 | route_name='users_new', request_method='GET', | |||
|
582 | renderer='rhodecode:templates/admin/users/user_add.mako') | |||
254 |
|
583 | |||
255 | # user management |
|
584 | # user management | |
256 | config.add_route( |
|
585 | config.add_route( | |
257 | name='user_edit', |
|
586 | name='user_edit', | |
258 | pattern='/users/{user_id:\d+}/edit', |
|
587 | pattern='/users/{user_id:\d+}/edit', | |
259 | user_route=True) |
|
588 | user_route=True) | |
|
589 | config.add_view( | |||
|
590 | UsersView, | |||
|
591 | attr='user_edit', | |||
|
592 | route_name='user_edit', request_method='GET', | |||
|
593 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
594 | ||||
260 | config.add_route( |
|
595 | config.add_route( | |
261 | name='user_edit_advanced', |
|
596 | name='user_edit_advanced', | |
262 | pattern='/users/{user_id:\d+}/edit/advanced', |
|
597 | pattern='/users/{user_id:\d+}/edit/advanced', | |
263 | user_route=True) |
|
598 | user_route=True) | |
|
599 | config.add_view( | |||
|
600 | UsersView, | |||
|
601 | attr='user_edit_advanced', | |||
|
602 | route_name='user_edit_advanced', request_method='GET', | |||
|
603 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
604 | ||||
264 | config.add_route( |
|
605 | config.add_route( | |
265 | name='user_edit_global_perms', |
|
606 | name='user_edit_global_perms', | |
266 | pattern='/users/{user_id:\d+}/edit/global_permissions', |
|
607 | pattern='/users/{user_id:\d+}/edit/global_permissions', | |
267 | user_route=True) |
|
608 | user_route=True) | |
|
609 | config.add_view( | |||
|
610 | UsersView, | |||
|
611 | attr='user_edit_global_perms', | |||
|
612 | route_name='user_edit_global_perms', request_method='GET', | |||
|
613 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
614 | ||||
268 | config.add_route( |
|
615 | config.add_route( | |
269 | name='user_edit_global_perms_update', |
|
616 | name='user_edit_global_perms_update', | |
270 | pattern='/users/{user_id:\d+}/edit/global_permissions/update', |
|
617 | pattern='/users/{user_id:\d+}/edit/global_permissions/update', | |
271 | user_route=True) |
|
618 | user_route=True) | |
|
619 | config.add_view( | |||
|
620 | UsersView, | |||
|
621 | attr='user_edit_global_perms_update', | |||
|
622 | route_name='user_edit_global_perms_update', request_method='POST', | |||
|
623 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
624 | ||||
272 | config.add_route( |
|
625 | config.add_route( | |
273 | name='user_update', |
|
626 | name='user_update', | |
274 | pattern='/users/{user_id:\d+}/update', |
|
627 | pattern='/users/{user_id:\d+}/update', | |
275 | user_route=True) |
|
628 | user_route=True) | |
|
629 | config.add_view( | |||
|
630 | UsersView, | |||
|
631 | attr='user_update', | |||
|
632 | route_name='user_update', request_method='POST', | |||
|
633 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
634 | ||||
276 | config.add_route( |
|
635 | config.add_route( | |
277 | name='user_delete', |
|
636 | name='user_delete', | |
278 | pattern='/users/{user_id:\d+}/delete', |
|
637 | pattern='/users/{user_id:\d+}/delete', | |
279 | user_route=True) |
|
638 | user_route=True) | |
|
639 | config.add_view( | |||
|
640 | UsersView, | |||
|
641 | attr='user_delete', | |||
|
642 | route_name='user_delete', request_method='POST', | |||
|
643 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
644 | ||||
280 | config.add_route( |
|
645 | config.add_route( | |
281 | name='user_enable_force_password_reset', |
|
646 | name='user_enable_force_password_reset', | |
282 | pattern='/users/{user_id:\d+}/password_reset_enable', |
|
647 | pattern='/users/{user_id:\d+}/password_reset_enable', | |
283 | user_route=True) |
|
648 | user_route=True) | |
|
649 | config.add_view( | |||
|
650 | UsersView, | |||
|
651 | attr='user_enable_force_password_reset', | |||
|
652 | route_name='user_enable_force_password_reset', request_method='POST', | |||
|
653 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
654 | ||||
284 | config.add_route( |
|
655 | config.add_route( | |
285 | name='user_disable_force_password_reset', |
|
656 | name='user_disable_force_password_reset', | |
286 | pattern='/users/{user_id:\d+}/password_reset_disable', |
|
657 | pattern='/users/{user_id:\d+}/password_reset_disable', | |
287 | user_route=True) |
|
658 | user_route=True) | |
|
659 | config.add_view( | |||
|
660 | UsersView, | |||
|
661 | attr='user_disable_force_password_reset', | |||
|
662 | route_name='user_disable_force_password_reset', request_method='POST', | |||
|
663 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
664 | ||||
288 | config.add_route( |
|
665 | config.add_route( | |
289 | name='user_create_personal_repo_group', |
|
666 | name='user_create_personal_repo_group', | |
290 | pattern='/users/{user_id:\d+}/create_repo_group', |
|
667 | pattern='/users/{user_id:\d+}/create_repo_group', | |
291 | user_route=True) |
|
668 | user_route=True) | |
|
669 | config.add_view( | |||
|
670 | UsersView, | |||
|
671 | attr='user_create_personal_repo_group', | |||
|
672 | route_name='user_create_personal_repo_group', request_method='POST', | |||
|
673 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
292 |
|
674 | |||
293 | # user notice |
|
675 | # user notice | |
294 | config.add_route( |
|
676 | config.add_route( | |
295 | name='user_notice_dismiss', |
|
677 | name='user_notice_dismiss', | |
296 | pattern='/users/{user_id:\d+}/notice_dismiss', |
|
678 | pattern='/users/{user_id:\d+}/notice_dismiss', | |
297 | user_route=True) |
|
679 | user_route=True) | |
|
680 | config.add_view( | |||
|
681 | UsersView, | |||
|
682 | attr='user_notice_dismiss', | |||
|
683 | route_name='user_notice_dismiss', request_method='POST', | |||
|
684 | renderer='json_ext', xhr=True) | |||
298 |
|
685 | |||
299 | # user auth tokens |
|
686 | # user auth tokens | |
300 | config.add_route( |
|
687 | config.add_route( | |
301 | name='edit_user_auth_tokens', |
|
688 | name='edit_user_auth_tokens', | |
302 | pattern='/users/{user_id:\d+}/edit/auth_tokens', |
|
689 | pattern='/users/{user_id:\d+}/edit/auth_tokens', | |
303 | user_route=True) |
|
690 | user_route=True) | |
|
691 | config.add_view( | |||
|
692 | UsersView, | |||
|
693 | attr='auth_tokens', | |||
|
694 | route_name='edit_user_auth_tokens', request_method='GET', | |||
|
695 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
696 | ||||
304 | config.add_route( |
|
697 | config.add_route( | |
305 | name='edit_user_auth_tokens_view', |
|
698 | name='edit_user_auth_tokens_view', | |
306 | pattern='/users/{user_id:\d+}/edit/auth_tokens/view', |
|
699 | pattern='/users/{user_id:\d+}/edit/auth_tokens/view', | |
307 | user_route=True) |
|
700 | user_route=True) | |
|
701 | config.add_view( | |||
|
702 | UsersView, | |||
|
703 | attr='auth_tokens_view', | |||
|
704 | route_name='edit_user_auth_tokens_view', request_method='POST', | |||
|
705 | renderer='json_ext', xhr=True) | |||
|
706 | ||||
308 | config.add_route( |
|
707 | config.add_route( | |
309 | name='edit_user_auth_tokens_add', |
|
708 | name='edit_user_auth_tokens_add', | |
310 | pattern='/users/{user_id:\d+}/edit/auth_tokens/new', |
|
709 | pattern='/users/{user_id:\d+}/edit/auth_tokens/new', | |
311 | user_route=True) |
|
710 | user_route=True) | |
|
711 | config.add_view( | |||
|
712 | UsersView, | |||
|
713 | attr='auth_tokens_add', | |||
|
714 | route_name='edit_user_auth_tokens_add', request_method='POST') | |||
|
715 | ||||
312 | config.add_route( |
|
716 | config.add_route( | |
313 | name='edit_user_auth_tokens_delete', |
|
717 | name='edit_user_auth_tokens_delete', | |
314 | pattern='/users/{user_id:\d+}/edit/auth_tokens/delete', |
|
718 | pattern='/users/{user_id:\d+}/edit/auth_tokens/delete', | |
315 | user_route=True) |
|
719 | user_route=True) | |
|
720 | config.add_view( | |||
|
721 | UsersView, | |||
|
722 | attr='auth_tokens_delete', | |||
|
723 | route_name='edit_user_auth_tokens_delete', request_method='POST') | |||
316 |
|
724 | |||
317 | # user ssh keys |
|
725 | # user ssh keys | |
318 | config.add_route( |
|
726 | config.add_route( | |
319 | name='edit_user_ssh_keys', |
|
727 | name='edit_user_ssh_keys', | |
320 | pattern='/users/{user_id:\d+}/edit/ssh_keys', |
|
728 | pattern='/users/{user_id:\d+}/edit/ssh_keys', | |
321 | user_route=True) |
|
729 | user_route=True) | |
|
730 | config.add_view( | |||
|
731 | UsersView, | |||
|
732 | attr='ssh_keys', | |||
|
733 | route_name='edit_user_ssh_keys', request_method='GET', | |||
|
734 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
735 | ||||
322 | config.add_route( |
|
736 | config.add_route( | |
323 | name='edit_user_ssh_keys_generate_keypair', |
|
737 | name='edit_user_ssh_keys_generate_keypair', | |
324 | pattern='/users/{user_id:\d+}/edit/ssh_keys/generate', |
|
738 | pattern='/users/{user_id:\d+}/edit/ssh_keys/generate', | |
325 | user_route=True) |
|
739 | user_route=True) | |
|
740 | config.add_view( | |||
|
741 | UsersView, | |||
|
742 | attr='ssh_keys_generate_keypair', | |||
|
743 | route_name='edit_user_ssh_keys_generate_keypair', request_method='GET', | |||
|
744 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
745 | ||||
326 | config.add_route( |
|
746 | config.add_route( | |
327 | name='edit_user_ssh_keys_add', |
|
747 | name='edit_user_ssh_keys_add', | |
328 | pattern='/users/{user_id:\d+}/edit/ssh_keys/new', |
|
748 | pattern='/users/{user_id:\d+}/edit/ssh_keys/new', | |
329 | user_route=True) |
|
749 | user_route=True) | |
|
750 | config.add_view( | |||
|
751 | UsersView, | |||
|
752 | attr='ssh_keys_add', | |||
|
753 | route_name='edit_user_ssh_keys_add', request_method='POST') | |||
|
754 | ||||
330 | config.add_route( |
|
755 | config.add_route( | |
331 | name='edit_user_ssh_keys_delete', |
|
756 | name='edit_user_ssh_keys_delete', | |
332 | pattern='/users/{user_id:\d+}/edit/ssh_keys/delete', |
|
757 | pattern='/users/{user_id:\d+}/edit/ssh_keys/delete', | |
333 | user_route=True) |
|
758 | user_route=True) | |
|
759 | config.add_view( | |||
|
760 | UsersView, | |||
|
761 | attr='ssh_keys_delete', | |||
|
762 | route_name='edit_user_ssh_keys_delete', request_method='POST') | |||
334 |
|
763 | |||
335 | # user emails |
|
764 | # user emails | |
336 | config.add_route( |
|
765 | config.add_route( | |
337 | name='edit_user_emails', |
|
766 | name='edit_user_emails', | |
338 | pattern='/users/{user_id:\d+}/edit/emails', |
|
767 | pattern='/users/{user_id:\d+}/edit/emails', | |
339 | user_route=True) |
|
768 | user_route=True) | |
|
769 | config.add_view( | |||
|
770 | UsersView, | |||
|
771 | attr='emails', | |||
|
772 | route_name='edit_user_emails', request_method='GET', | |||
|
773 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
774 | ||||
340 | config.add_route( |
|
775 | config.add_route( | |
341 | name='edit_user_emails_add', |
|
776 | name='edit_user_emails_add', | |
342 | pattern='/users/{user_id:\d+}/edit/emails/new', |
|
777 | pattern='/users/{user_id:\d+}/edit/emails/new', | |
343 | user_route=True) |
|
778 | user_route=True) | |
|
779 | config.add_view( | |||
|
780 | UsersView, | |||
|
781 | attr='emails_add', | |||
|
782 | route_name='edit_user_emails_add', request_method='POST') | |||
|
783 | ||||
344 | config.add_route( |
|
784 | config.add_route( | |
345 | name='edit_user_emails_delete', |
|
785 | name='edit_user_emails_delete', | |
346 | pattern='/users/{user_id:\d+}/edit/emails/delete', |
|
786 | pattern='/users/{user_id:\d+}/edit/emails/delete', | |
347 | user_route=True) |
|
787 | user_route=True) | |
|
788 | config.add_view( | |||
|
789 | UsersView, | |||
|
790 | attr='emails_delete', | |||
|
791 | route_name='edit_user_emails_delete', request_method='POST') | |||
348 |
|
792 | |||
349 | # user IPs |
|
793 | # user IPs | |
350 | config.add_route( |
|
794 | config.add_route( | |
351 | name='edit_user_ips', |
|
795 | name='edit_user_ips', | |
352 | pattern='/users/{user_id:\d+}/edit/ips', |
|
796 | pattern='/users/{user_id:\d+}/edit/ips', | |
353 | user_route=True) |
|
797 | user_route=True) | |
|
798 | config.add_view( | |||
|
799 | UsersView, | |||
|
800 | attr='ips', | |||
|
801 | route_name='edit_user_ips', request_method='GET', | |||
|
802 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
803 | ||||
354 | config.add_route( |
|
804 | config.add_route( | |
355 | name='edit_user_ips_add', |
|
805 | name='edit_user_ips_add', | |
356 | pattern='/users/{user_id:\d+}/edit/ips/new', |
|
806 | pattern='/users/{user_id:\d+}/edit/ips/new', | |
357 | user_route_with_default=True) # enabled for default user too |
|
807 | user_route_with_default=True) # enabled for default user too | |
|
808 | config.add_view( | |||
|
809 | UsersView, | |||
|
810 | attr='ips_add', | |||
|
811 | route_name='edit_user_ips_add', request_method='POST') | |||
|
812 | ||||
358 | config.add_route( |
|
813 | config.add_route( | |
359 | name='edit_user_ips_delete', |
|
814 | name='edit_user_ips_delete', | |
360 | pattern='/users/{user_id:\d+}/edit/ips/delete', |
|
815 | pattern='/users/{user_id:\d+}/edit/ips/delete', | |
361 | user_route_with_default=True) # enabled for default user too |
|
816 | user_route_with_default=True) # enabled for default user too | |
|
817 | config.add_view( | |||
|
818 | UsersView, | |||
|
819 | attr='ips_delete', | |||
|
820 | route_name='edit_user_ips_delete', request_method='POST') | |||
362 |
|
821 | |||
363 | # user perms |
|
822 | # user perms | |
364 | config.add_route( |
|
823 | config.add_route( | |
365 | name='edit_user_perms_summary', |
|
824 | name='edit_user_perms_summary', | |
366 | pattern='/users/{user_id:\d+}/edit/permissions_summary', |
|
825 | pattern='/users/{user_id:\d+}/edit/permissions_summary', | |
367 | user_route=True) |
|
826 | user_route=True) | |
|
827 | config.add_view( | |||
|
828 | UsersView, | |||
|
829 | attr='user_perms_summary', | |||
|
830 | route_name='edit_user_perms_summary', request_method='GET', | |||
|
831 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
832 | ||||
368 | config.add_route( |
|
833 | config.add_route( | |
369 | name='edit_user_perms_summary_json', |
|
834 | name='edit_user_perms_summary_json', | |
370 | pattern='/users/{user_id:\d+}/edit/permissions_summary/json', |
|
835 | pattern='/users/{user_id:\d+}/edit/permissions_summary/json', | |
371 | user_route=True) |
|
836 | user_route=True) | |
|
837 | config.add_view( | |||
|
838 | UsersView, | |||
|
839 | attr='user_perms_summary_json', | |||
|
840 | route_name='edit_user_perms_summary_json', request_method='GET', | |||
|
841 | renderer='json_ext') | |||
372 |
|
842 | |||
373 | # user user groups management |
|
843 | # user user groups management | |
374 | config.add_route( |
|
844 | config.add_route( | |
375 | name='edit_user_groups_management', |
|
845 | name='edit_user_groups_management', | |
376 | pattern='/users/{user_id:\d+}/edit/groups_management', |
|
846 | pattern='/users/{user_id:\d+}/edit/groups_management', | |
377 | user_route=True) |
|
847 | user_route=True) | |
|
848 | config.add_view( | |||
|
849 | UsersView, | |||
|
850 | attr='groups_management', | |||
|
851 | route_name='edit_user_groups_management', request_method='GET', | |||
|
852 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
378 |
|
853 | |||
379 | config.add_route( |
|
854 | config.add_route( | |
380 | name='edit_user_groups_management_updates', |
|
855 | name='edit_user_groups_management_updates', | |
381 | pattern='/users/{user_id:\d+}/edit/edit_user_groups_management/updates', |
|
856 | pattern='/users/{user_id:\d+}/edit/edit_user_groups_management/updates', | |
382 | user_route=True) |
|
857 | user_route=True) | |
|
858 | config.add_view( | |||
|
859 | UsersView, | |||
|
860 | attr='groups_management_updates', | |||
|
861 | route_name='edit_user_groups_management_updates', request_method='POST') | |||
383 |
|
862 | |||
384 | # user audit logs |
|
863 | # user audit logs | |
385 | config.add_route( |
|
864 | config.add_route( | |
386 | name='edit_user_audit_logs', |
|
865 | name='edit_user_audit_logs', | |
387 | pattern='/users/{user_id:\d+}/edit/audit', user_route=True) |
|
866 | pattern='/users/{user_id:\d+}/edit/audit', user_route=True) | |
|
867 | config.add_view( | |||
|
868 | UsersView, | |||
|
869 | attr='user_audit_logs', | |||
|
870 | route_name='edit_user_audit_logs', request_method='GET', | |||
|
871 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
388 |
|
872 | |||
389 | config.add_route( |
|
873 | config.add_route( | |
390 | name='edit_user_audit_logs_download', |
|
874 | name='edit_user_audit_logs_download', | |
391 | pattern='/users/{user_id:\d+}/edit/audit/download', user_route=True) |
|
875 | pattern='/users/{user_id:\d+}/edit/audit/download', user_route=True) | |
|
876 | config.add_view( | |||
|
877 | UsersView, | |||
|
878 | attr='user_audit_logs_download', | |||
|
879 | route_name='edit_user_audit_logs_download', request_method='GET', | |||
|
880 | renderer='string') | |||
392 |
|
881 | |||
393 | # user caches |
|
882 | # user caches | |
394 | config.add_route( |
|
883 | config.add_route( | |
395 | name='edit_user_caches', |
|
884 | name='edit_user_caches', | |
396 | pattern='/users/{user_id:\d+}/edit/caches', |
|
885 | pattern='/users/{user_id:\d+}/edit/caches', | |
397 | user_route=True) |
|
886 | user_route=True) | |
|
887 | config.add_view( | |||
|
888 | UsersView, | |||
|
889 | attr='user_caches', | |||
|
890 | route_name='edit_user_caches', request_method='GET', | |||
|
891 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |||
|
892 | ||||
398 | config.add_route( |
|
893 | config.add_route( | |
399 | name='edit_user_caches_update', |
|
894 | name='edit_user_caches_update', | |
400 | pattern='/users/{user_id:\d+}/edit/caches/update', |
|
895 | pattern='/users/{user_id:\d+}/edit/caches/update', | |
401 | user_route=True) |
|
896 | user_route=True) | |
|
897 | config.add_view( | |||
|
898 | UsersView, | |||
|
899 | attr='user_caches_update', | |||
|
900 | route_name='edit_user_caches_update', request_method='POST') | |||
402 |
|
901 | |||
403 | # user-groups admin |
|
902 | # user-groups admin | |
404 | config.add_route( |
|
903 | config.add_route( | |
405 | name='user_groups', |
|
904 | name='user_groups', | |
406 | pattern='/user_groups') |
|
905 | pattern='/user_groups') | |
|
906 | config.add_view( | |||
|
907 | AdminUserGroupsView, | |||
|
908 | attr='user_groups_list', | |||
|
909 | route_name='user_groups', request_method='GET', | |||
|
910 | renderer='rhodecode:templates/admin/user_groups/user_groups.mako') | |||
407 |
|
911 | |||
408 | config.add_route( |
|
912 | config.add_route( | |
409 | name='user_groups_data', |
|
913 | name='user_groups_data', | |
410 | pattern='/user_groups_data') |
|
914 | pattern='/user_groups_data') | |
|
915 | config.add_view( | |||
|
916 | AdminUserGroupsView, | |||
|
917 | attr='user_groups_list_data', | |||
|
918 | route_name='user_groups_data', request_method='GET', | |||
|
919 | renderer='json_ext', xhr=True) | |||
411 |
|
920 | |||
412 | config.add_route( |
|
921 | config.add_route( | |
413 | name='user_groups_new', |
|
922 | name='user_groups_new', | |
414 | pattern='/user_groups/new') |
|
923 | pattern='/user_groups/new') | |
|
924 | config.add_view( | |||
|
925 | AdminUserGroupsView, | |||
|
926 | attr='user_groups_new', | |||
|
927 | route_name='user_groups_new', request_method='GET', | |||
|
928 | renderer='rhodecode:templates/admin/user_groups/user_group_add.mako') | |||
415 |
|
929 | |||
416 | config.add_route( |
|
930 | config.add_route( | |
417 | name='user_groups_create', |
|
931 | name='user_groups_create', | |
418 | pattern='/user_groups/create') |
|
932 | pattern='/user_groups/create') | |
|
933 | config.add_view( | |||
|
934 | AdminUserGroupsView, | |||
|
935 | attr='user_groups_create', | |||
|
936 | route_name='user_groups_create', request_method='POST', | |||
|
937 | renderer='rhodecode:templates/admin/user_groups/user_group_add.mako') | |||
419 |
|
938 | |||
420 | # repos admin |
|
939 | # repos admin | |
421 | config.add_route( |
|
940 | config.add_route( | |
422 | name='repos', |
|
941 | name='repos', | |
423 | pattern='/repos') |
|
942 | pattern='/repos') | |
|
943 | config.add_view( | |||
|
944 | AdminReposView, | |||
|
945 | attr='repository_list', | |||
|
946 | route_name='repos', request_method='GET', | |||
|
947 | renderer='rhodecode:templates/admin/repos/repos.mako') | |||
424 |
|
948 | |||
425 | config.add_route( |
|
949 | config.add_route( | |
426 | name='repos_data', |
|
950 | name='repos_data', | |
427 | pattern='/repos_data') |
|
951 | pattern='/repos_data') | |
|
952 | config.add_view( | |||
|
953 | AdminReposView, | |||
|
954 | attr='repository_list_data', | |||
|
955 | route_name='repos_data', request_method='GET', | |||
|
956 | renderer='json_ext', xhr=True) | |||
428 |
|
957 | |||
429 | config.add_route( |
|
958 | config.add_route( | |
430 | name='repo_new', |
|
959 | name='repo_new', | |
431 | pattern='/repos/new') |
|
960 | pattern='/repos/new') | |
|
961 | config.add_view( | |||
|
962 | AdminReposView, | |||
|
963 | attr='repository_new', | |||
|
964 | route_name='repo_new', request_method='GET', | |||
|
965 | renderer='rhodecode:templates/admin/repos/repo_add.mako') | |||
432 |
|
966 | |||
433 | config.add_route( |
|
967 | config.add_route( | |
434 | name='repo_create', |
|
968 | name='repo_create', | |
435 | pattern='/repos/create') |
|
969 | pattern='/repos/create') | |
|
970 | config.add_view( | |||
|
971 | AdminReposView, | |||
|
972 | attr='repository_create', | |||
|
973 | route_name='repo_create', request_method='POST', | |||
|
974 | renderer='rhodecode:templates/admin/repos/repos.mako') | |||
436 |
|
975 | |||
437 | # repo groups admin |
|
976 | # repo groups admin | |
438 | config.add_route( |
|
977 | config.add_route( | |
439 | name='repo_groups', |
|
978 | name='repo_groups', | |
440 | pattern='/repo_groups') |
|
979 | pattern='/repo_groups') | |
|
980 | config.add_view( | |||
|
981 | AdminRepoGroupsView, | |||
|
982 | attr='repo_group_list', | |||
|
983 | route_name='repo_groups', request_method='GET', | |||
|
984 | renderer='rhodecode:templates/admin/repo_groups/repo_groups.mako') | |||
441 |
|
985 | |||
442 | config.add_route( |
|
986 | config.add_route( | |
443 | name='repo_groups_data', |
|
987 | name='repo_groups_data', | |
444 | pattern='/repo_groups_data') |
|
988 | pattern='/repo_groups_data') | |
|
989 | config.add_view( | |||
|
990 | AdminRepoGroupsView, | |||
|
991 | attr='repo_group_list_data', | |||
|
992 | route_name='repo_groups_data', request_method='GET', | |||
|
993 | renderer='json_ext', xhr=True) | |||
445 |
|
994 | |||
446 | config.add_route( |
|
995 | config.add_route( | |
447 | name='repo_group_new', |
|
996 | name='repo_group_new', | |
448 | pattern='/repo_group/new') |
|
997 | pattern='/repo_group/new') | |
|
998 | config.add_view( | |||
|
999 | AdminRepoGroupsView, | |||
|
1000 | attr='repo_group_new', | |||
|
1001 | route_name='repo_group_new', request_method='GET', | |||
|
1002 | renderer='rhodecode:templates/admin/repo_groups/repo_group_add.mako') | |||
449 |
|
1003 | |||
450 | config.add_route( |
|
1004 | config.add_route( | |
451 | name='repo_group_create', |
|
1005 | name='repo_group_create', | |
452 | pattern='/repo_group/create') |
|
1006 | pattern='/repo_group/create') | |
|
1007 | config.add_view( | |||
|
1008 | AdminRepoGroupsView, | |||
|
1009 | attr='repo_group_create', | |||
|
1010 | route_name='repo_group_create', request_method='POST', | |||
|
1011 | renderer='rhodecode:templates/admin/repo_groups/repo_group_add.mako') | |||
453 |
|
1012 | |||
454 |
|
1013 | |||
455 | def includeme(config): |
|
1014 | def includeme(config): | |
456 | from rhodecode.apps._base.navigation import includeme as nav_includeme |
|
1015 | from rhodecode.apps._base.navigation import includeme as nav_includeme | |
|
1016 | from rhodecode.apps.admin.views.main_views import AdminMainView | |||
457 |
|
1017 | |||
458 | # Create admin navigation registry and add it to the pyramid registry. |
|
1018 | # Create admin navigation registry and add it to the pyramid registry. | |
459 | nav_includeme(config) |
|
1019 | nav_includeme(config) | |
460 |
|
1020 | |||
461 | # main admin routes |
|
1021 | # main admin routes | |
462 | config.add_route(name='admin_home', pattern=ADMIN_PREFIX) |
|
1022 | config.add_route( | |
463 | config.include(admin_routes, route_prefix=ADMIN_PREFIX) |
|
1023 | name='admin_home', pattern=ADMIN_PREFIX) | |
|
1024 | config.add_view( | |||
|
1025 | AdminMainView, | |||
|
1026 | attr='admin_main', | |||
|
1027 | route_name='admin_home', request_method='GET', | |||
|
1028 | renderer='rhodecode:templates/admin/main.mako') | |||
|
1029 | ||||
|
1030 | # pr global redirect | |||
|
1031 | config.add_route( | |||
|
1032 | name='pull_requests_global_0', # backward compat | |||
|
1033 | pattern=ADMIN_PREFIX + '/pull_requests/{pull_request_id:\d+}') | |||
|
1034 | config.add_view( | |||
|
1035 | AdminMainView, | |||
|
1036 | attr='pull_requests', | |||
|
1037 | route_name='pull_requests_global_0', request_method='GET') | |||
464 |
|
1038 | |||
465 | # Scan module for configuration decorators. |
|
1039 | config.add_route( | |
466 | config.scan('.views', ignore='.tests') |
|
1040 | name='pull_requests_global_1', # backward compat | |
|
1041 | pattern=ADMIN_PREFIX + '/pull-requests/{pull_request_id:\d+}') | |||
|
1042 | config.add_view( | |||
|
1043 | AdminMainView, | |||
|
1044 | attr='pull_requests', | |||
|
1045 | route_name='pull_requests_global_1', request_method='GET') | |||
|
1046 | ||||
|
1047 | config.add_route( | |||
|
1048 | name='pull_requests_global', | |||
|
1049 | pattern=ADMIN_PREFIX + '/pull-request/{pull_request_id:\d+}') | |||
|
1050 | config.add_view( | |||
|
1051 | AdminMainView, | |||
|
1052 | attr='pull_requests', | |||
|
1053 | route_name='pull_requests_global', request_method='GET') | |||
|
1054 | ||||
|
1055 | config.include(admin_routes, route_prefix=ADMIN_PREFIX) |
@@ -21,7 +21,6 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.httpexceptions import HTTPNotFound |
|
23 | from pyramid.httpexceptions import HTTPNotFound | |
24 | from pyramid.view import view_config |
|
|||
25 |
|
24 | |||
26 | from rhodecode.apps._base import BaseAppView |
|
25 | from rhodecode.apps._base import BaseAppView | |
27 | from rhodecode.model.db import joinedload, UserLog |
|
26 | from rhodecode.model.db import joinedload, UserLog | |
@@ -34,15 +33,13 b' log = logging.getLogger(__name__)' | |||||
34 |
|
33 | |||
35 |
|
34 | |||
36 | class AdminAuditLogsView(BaseAppView): |
|
35 | class AdminAuditLogsView(BaseAppView): | |
|
36 | ||||
37 | def load_default_context(self): |
|
37 | def load_default_context(self): | |
38 | c = self._get_local_tmpl_context() |
|
38 | c = self._get_local_tmpl_context() | |
39 | return c |
|
39 | return c | |
40 |
|
40 | |||
41 | @LoginRequired() |
|
41 | @LoginRequired() | |
42 | @HasPermissionAllDecorator('hg.admin') |
|
42 | @HasPermissionAllDecorator('hg.admin') | |
43 | @view_config( |
|
|||
44 | route_name='admin_audit_logs', request_method='GET', |
|
|||
45 | renderer='rhodecode:templates/admin/admin_audit_logs.mako') |
|
|||
46 | def admin_audit_logs(self): |
|
43 | def admin_audit_logs(self): | |
47 | c = self.load_default_context() |
|
44 | c = self.load_default_context() | |
48 |
|
45 | |||
@@ -76,9 +73,6 b' class AdminAuditLogsView(BaseAppView):' | |||||
76 |
|
73 | |||
77 | @LoginRequired() |
|
74 | @LoginRequired() | |
78 | @HasPermissionAllDecorator('hg.admin') |
|
75 | @HasPermissionAllDecorator('hg.admin') | |
79 | @view_config( |
|
|||
80 | route_name='admin_audit_log_entry', request_method='GET', |
|
|||
81 | renderer='rhodecode:templates/admin/admin_audit_log_entry.mako') |
|
|||
82 | def admin_audit_log_entry(self): |
|
76 | def admin_audit_log_entry(self): | |
83 | c = self.load_default_context() |
|
77 | c = self.load_default_context() | |
84 | audit_log_id = self.request.matchdict['audit_log_id'] |
|
78 | audit_log_id = self.request.matchdict['audit_log_id'] |
@@ -23,7 +23,6 b' import logging' | |||||
23 | import formencode |
|
23 | import formencode | |
24 | import formencode.htmlfill |
|
24 | import formencode.htmlfill | |
25 |
|
25 | |||
26 | from pyramid.view import view_config |
|
|||
27 | from pyramid.httpexceptions import HTTPFound |
|
26 | from pyramid.httpexceptions import HTTPFound | |
28 | from pyramid.renderers import render |
|
27 | from pyramid.renderers import render | |
29 | from pyramid.response import Response |
|
28 | from pyramid.response import Response | |
@@ -41,17 +40,13 b' log = logging.getLogger(__name__)' | |||||
41 |
|
40 | |||
42 |
|
41 | |||
43 | class AdminDefaultSettingsView(BaseAppView): |
|
42 | class AdminDefaultSettingsView(BaseAppView): | |
|
43 | ||||
44 | def load_default_context(self): |
|
44 | def load_default_context(self): | |
45 | c = self._get_local_tmpl_context() |
|
45 | c = self._get_local_tmpl_context() | |
46 |
|
||||
47 |
|
||||
48 | return c |
|
46 | return c | |
49 |
|
47 | |||
50 | @LoginRequired() |
|
48 | @LoginRequired() | |
51 | @HasPermissionAllDecorator('hg.admin') |
|
49 | @HasPermissionAllDecorator('hg.admin') | |
52 | @view_config( |
|
|||
53 | route_name='admin_defaults_repositories', request_method='GET', |
|
|||
54 | renderer='rhodecode:templates/admin/defaults/defaults.mako') |
|
|||
55 | def defaults_repository_show(self): |
|
50 | def defaults_repository_show(self): | |
56 | c = self.load_default_context() |
|
51 | c = self.load_default_context() | |
57 | c.backends = BACKENDS.keys() |
|
52 | c.backends = BACKENDS.keys() | |
@@ -72,9 +67,6 b' class AdminDefaultSettingsView(BaseAppVi' | |||||
72 | @LoginRequired() |
|
67 | @LoginRequired() | |
73 | @HasPermissionAllDecorator('hg.admin') |
|
68 | @HasPermissionAllDecorator('hg.admin') | |
74 | @CSRFRequired() |
|
69 | @CSRFRequired() | |
75 | @view_config( |
|
|||
76 | route_name='admin_defaults_repositories_update', request_method='POST', |
|
|||
77 | renderer='rhodecode:templates/admin/defaults/defaults.mako') |
|
|||
78 | def defaults_repository_update(self): |
|
70 | def defaults_repository_update(self): | |
79 | _ = self.request.translate |
|
71 | _ = self.request.translate | |
80 | c = self.load_default_context() |
|
72 | c = self.load_default_context() |
@@ -21,7 +21,6 b' import os' | |||||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.httpexceptions import HTTPFound |
|
23 | from pyramid.httpexceptions import HTTPFound | |
24 | from pyramid.view import view_config |
|
|||
25 |
|
24 | |||
26 | from rhodecode.apps._base import BaseAppView |
|
25 | from rhodecode.apps._base import BaseAppView | |
27 | from rhodecode.apps._base.navigation import navigation_list |
|
26 | from rhodecode.apps._base.navigation import navigation_list | |
@@ -99,9 +98,6 b' class ExceptionsTrackerView(BaseAppView)' | |||||
99 |
|
98 | |||
100 | @LoginRequired() |
|
99 | @LoginRequired() | |
101 | @HasPermissionAllDecorator('hg.admin') |
|
100 | @HasPermissionAllDecorator('hg.admin') | |
102 | @view_config( |
|
|||
103 | route_name='admin_settings_exception_tracker', request_method='GET', |
|
|||
104 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
105 | def browse_exceptions(self): |
|
101 | def browse_exceptions(self): | |
106 | _ = self.request.translate |
|
102 | _ = self.request.translate | |
107 | c = self.load_default_context() |
|
103 | c = self.load_default_context() | |
@@ -117,9 +113,6 b' class ExceptionsTrackerView(BaseAppView)' | |||||
117 |
|
113 | |||
118 | @LoginRequired() |
|
114 | @LoginRequired() | |
119 | @HasPermissionAllDecorator('hg.admin') |
|
115 | @HasPermissionAllDecorator('hg.admin') | |
120 | @view_config( |
|
|||
121 | route_name='admin_settings_exception_tracker_show', request_method='GET', |
|
|||
122 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
123 | def exception_show(self): |
|
116 | def exception_show(self): | |
124 | _ = self.request.translate |
|
117 | _ = self.request.translate | |
125 | c = self.load_default_context() |
|
118 | c = self.load_default_context() | |
@@ -132,9 +125,6 b' class ExceptionsTrackerView(BaseAppView)' | |||||
132 | @LoginRequired() |
|
125 | @LoginRequired() | |
133 | @HasPermissionAllDecorator('hg.admin') |
|
126 | @HasPermissionAllDecorator('hg.admin') | |
134 | @CSRFRequired() |
|
127 | @CSRFRequired() | |
135 | @view_config( |
|
|||
136 | route_name='admin_settings_exception_tracker_delete_all', request_method='POST', |
|
|||
137 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
138 | def exception_delete_all(self): |
|
128 | def exception_delete_all(self): | |
139 | _ = self.request.translate |
|
129 | _ = self.request.translate | |
140 | c = self.load_default_context() |
|
130 | c = self.load_default_context() | |
@@ -159,9 +149,6 b' class ExceptionsTrackerView(BaseAppView)' | |||||
159 | @LoginRequired() |
|
149 | @LoginRequired() | |
160 | @HasPermissionAllDecorator('hg.admin') |
|
150 | @HasPermissionAllDecorator('hg.admin') | |
161 | @CSRFRequired() |
|
151 | @CSRFRequired() | |
162 | @view_config( |
|
|||
163 | route_name='admin_settings_exception_tracker_delete', request_method='POST', |
|
|||
164 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
165 | def exception_delete(self): |
|
152 | def exception_delete(self): | |
166 | _ = self.request.translate |
|
153 | _ = self.request.translate | |
167 | c = self.load_default_context() |
|
154 | c = self.load_default_context() |
@@ -21,7 +21,6 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
23 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound | |
24 | from pyramid.view import view_config |
|
|||
25 |
|
24 | |||
26 | from rhodecode.apps._base import BaseAppView |
|
25 | from rhodecode.apps._base import BaseAppView | |
27 | from rhodecode.lib import helpers as h |
|
26 | from rhodecode.lib import helpers as h | |
@@ -39,9 +38,6 b' class AdminMainView(BaseAppView):' | |||||
39 |
|
38 | |||
40 | @LoginRequired() |
|
39 | @LoginRequired() | |
41 | @NotAnonymous() |
|
40 | @NotAnonymous() | |
42 | @view_config( |
|
|||
43 | route_name='admin_home', request_method='GET', |
|
|||
44 | renderer='rhodecode:templates/admin/main.mako') |
|
|||
45 | def admin_main(self): |
|
41 | def admin_main(self): | |
46 | c = self.load_default_context() |
|
42 | c = self.load_default_context() | |
47 | c.active = 'admin' |
|
43 | c.active = 'admin' | |
@@ -52,9 +48,6 b' class AdminMainView(BaseAppView):' | |||||
52 | return self._get_template_context(c) |
|
48 | return self._get_template_context(c) | |
53 |
|
49 | |||
54 | @LoginRequired() |
|
50 | @LoginRequired() | |
55 | @view_config(route_name='pull_requests_global_0', request_method='GET') |
|
|||
56 | @view_config(route_name='pull_requests_global_1', request_method='GET') |
|
|||
57 | @view_config(route_name='pull_requests_global', request_method='GET') |
|
|||
58 | def pull_requests(self): |
|
51 | def pull_requests(self): | |
59 | """ |
|
52 | """ | |
60 | Global redirect for Pull Requests |
|
53 | Global redirect for Pull Requests |
@@ -21,8 +21,6 b'' | |||||
21 | import collections |
|
21 | import collections | |
22 | import logging |
|
22 | import logging | |
23 |
|
23 | |||
24 | from pyramid.view import view_config |
|
|||
25 |
|
||||
26 | from rhodecode.apps._base import BaseAppView |
|
24 | from rhodecode.apps._base import BaseAppView | |
27 | from rhodecode.apps._base.navigation import navigation_list |
|
25 | from rhodecode.apps._base.navigation import navigation_list | |
28 | from rhodecode.lib.auth import (LoginRequired, HasPermissionAllDecorator) |
|
26 | from rhodecode.lib.auth import (LoginRequired, HasPermissionAllDecorator) | |
@@ -39,9 +37,6 b' class OpenSourceLicensesAdminSettingsVie' | |||||
39 |
|
37 | |||
40 | @LoginRequired() |
|
38 | @LoginRequired() | |
41 | @HasPermissionAllDecorator('hg.admin') |
|
39 | @HasPermissionAllDecorator('hg.admin') | |
42 | @view_config( |
|
|||
43 | route_name='admin_settings_open_source', request_method='GET', |
|
|||
44 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
45 | def open_source_licenses(self): |
|
40 | def open_source_licenses(self): | |
46 | c = self.load_default_context() |
|
41 | c = self.load_default_context() | |
47 | c.active = 'open_source' |
|
42 | c.active = 'open_source' |
@@ -25,7 +25,6 b' import formencode.htmlfill' | |||||
25 | import datetime |
|
25 | import datetime | |
26 | from pyramid.interfaces import IRoutesMapper |
|
26 | from pyramid.interfaces import IRoutesMapper | |
27 |
|
27 | |||
28 | from pyramid.view import view_config |
|
|||
29 | from pyramid.httpexceptions import HTTPFound |
|
28 | from pyramid.httpexceptions import HTTPFound | |
30 | from pyramid.renderers import render |
|
29 | from pyramid.renderers import render | |
31 | from pyramid.response import Response |
|
30 | from pyramid.response import Response | |
@@ -59,9 +58,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
59 |
|
58 | |||
60 | @LoginRequired() |
|
59 | @LoginRequired() | |
61 | @HasPermissionAllDecorator('hg.admin') |
|
60 | @HasPermissionAllDecorator('hg.admin') | |
62 | @view_config( |
|
|||
63 | route_name='admin_permissions_application', request_method='GET', |
|
|||
64 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
65 | def permissions_application(self): |
|
61 | def permissions_application(self): | |
66 | c = self.load_default_context() |
|
62 | c = self.load_default_context() | |
67 | c.active = 'application' |
|
63 | c.active = 'application' | |
@@ -90,9 +86,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
90 | @LoginRequired() |
|
86 | @LoginRequired() | |
91 | @HasPermissionAllDecorator('hg.admin') |
|
87 | @HasPermissionAllDecorator('hg.admin') | |
92 | @CSRFRequired() |
|
88 | @CSRFRequired() | |
93 | @view_config( |
|
|||
94 | route_name='admin_permissions_application_update', request_method='POST', |
|
|||
95 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
96 | def permissions_application_update(self): |
|
89 | def permissions_application_update(self): | |
97 | _ = self.request.translate |
|
90 | _ = self.request.translate | |
98 | c = self.load_default_context() |
|
91 | c = self.load_default_context() | |
@@ -149,9 +142,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
149 |
|
142 | |||
150 | @LoginRequired() |
|
143 | @LoginRequired() | |
151 | @HasPermissionAllDecorator('hg.admin') |
|
144 | @HasPermissionAllDecorator('hg.admin') | |
152 | @view_config( |
|
|||
153 | route_name='admin_permissions_object', request_method='GET', |
|
|||
154 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
155 | def permissions_objects(self): |
|
145 | def permissions_objects(self): | |
156 | c = self.load_default_context() |
|
146 | c = self.load_default_context() | |
157 | c.active = 'objects' |
|
147 | c.active = 'objects' | |
@@ -174,9 +164,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
174 | @LoginRequired() |
|
164 | @LoginRequired() | |
175 | @HasPermissionAllDecorator('hg.admin') |
|
165 | @HasPermissionAllDecorator('hg.admin') | |
176 | @CSRFRequired() |
|
166 | @CSRFRequired() | |
177 | @view_config( |
|
|||
178 | route_name='admin_permissions_object_update', request_method='POST', |
|
|||
179 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
180 | def permissions_objects_update(self): |
|
167 | def permissions_objects_update(self): | |
181 | _ = self.request.translate |
|
168 | _ = self.request.translate | |
182 | c = self.load_default_context() |
|
169 | c = self.load_default_context() | |
@@ -225,9 +212,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
225 |
|
212 | |||
226 | @LoginRequired() |
|
213 | @LoginRequired() | |
227 | @HasPermissionAllDecorator('hg.admin') |
|
214 | @HasPermissionAllDecorator('hg.admin') | |
228 | @view_config( |
|
|||
229 | route_name='admin_permissions_branch', request_method='GET', |
|
|||
230 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
231 | def permissions_branch(self): |
|
215 | def permissions_branch(self): | |
232 | c = self.load_default_context() |
|
216 | c = self.load_default_context() | |
233 | c.active = 'branch' |
|
217 | c.active = 'branch' | |
@@ -249,9 +233,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
249 |
|
233 | |||
250 | @LoginRequired() |
|
234 | @LoginRequired() | |
251 | @HasPermissionAllDecorator('hg.admin') |
|
235 | @HasPermissionAllDecorator('hg.admin') | |
252 | @view_config( |
|
|||
253 | route_name='admin_permissions_global', request_method='GET', |
|
|||
254 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
255 | def permissions_global(self): |
|
236 | def permissions_global(self): | |
256 | c = self.load_default_context() |
|
237 | c = self.load_default_context() | |
257 | c.active = 'global' |
|
238 | c.active = 'global' | |
@@ -274,9 +255,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
274 | @LoginRequired() |
|
255 | @LoginRequired() | |
275 | @HasPermissionAllDecorator('hg.admin') |
|
256 | @HasPermissionAllDecorator('hg.admin') | |
276 | @CSRFRequired() |
|
257 | @CSRFRequired() | |
277 | @view_config( |
|
|||
278 | route_name='admin_permissions_global_update', request_method='POST', |
|
|||
279 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
280 | def permissions_global_update(self): |
|
258 | def permissions_global_update(self): | |
281 | _ = self.request.translate |
|
259 | _ = self.request.translate | |
282 | c = self.load_default_context() |
|
260 | c = self.load_default_context() | |
@@ -327,9 +305,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
327 |
|
305 | |||
328 | @LoginRequired() |
|
306 | @LoginRequired() | |
329 | @HasPermissionAllDecorator('hg.admin') |
|
307 | @HasPermissionAllDecorator('hg.admin') | |
330 | @view_config( |
|
|||
331 | route_name='admin_permissions_ips', request_method='GET', |
|
|||
332 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
333 | def permissions_ips(self): |
|
308 | def permissions_ips(self): | |
334 | c = self.load_default_context() |
|
309 | c = self.load_default_context() | |
335 | c.active = 'ips' |
|
310 | c.active = 'ips' | |
@@ -342,9 +317,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
342 |
|
317 | |||
343 | @LoginRequired() |
|
318 | @LoginRequired() | |
344 | @HasPermissionAllDecorator('hg.admin') |
|
319 | @HasPermissionAllDecorator('hg.admin') | |
345 | @view_config( |
|
|||
346 | route_name='admin_permissions_overview', request_method='GET', |
|
|||
347 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
348 | def permissions_overview(self): |
|
320 | def permissions_overview(self): | |
349 | c = self.load_default_context() |
|
321 | c = self.load_default_context() | |
350 | c.active = 'perms' |
|
322 | c.active = 'perms' | |
@@ -355,9 +327,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
355 |
|
327 | |||
356 | @LoginRequired() |
|
328 | @LoginRequired() | |
357 | @HasPermissionAllDecorator('hg.admin') |
|
329 | @HasPermissionAllDecorator('hg.admin') | |
358 | @view_config( |
|
|||
359 | route_name='admin_permissions_auth_token_access', request_method='GET', |
|
|||
360 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
361 | def auth_token_access(self): |
|
330 | def auth_token_access(self): | |
362 | from rhodecode import CONFIG |
|
331 | from rhodecode import CONFIG | |
363 |
|
332 | |||
@@ -415,9 +384,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
415 |
|
384 | |||
416 | @LoginRequired() |
|
385 | @LoginRequired() | |
417 | @HasPermissionAllDecorator('hg.admin') |
|
386 | @HasPermissionAllDecorator('hg.admin') | |
418 | @view_config( |
|
|||
419 | route_name='admin_permissions_ssh_keys', request_method='GET', |
|
|||
420 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
421 | def ssh_keys(self): |
|
387 | def ssh_keys(self): | |
422 | c = self.load_default_context() |
|
388 | c = self.load_default_context() | |
423 | c.active = 'ssh_keys' |
|
389 | c.active = 'ssh_keys' | |
@@ -426,9 +392,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
426 |
|
392 | |||
427 | @LoginRequired() |
|
393 | @LoginRequired() | |
428 | @HasPermissionAllDecorator('hg.admin') |
|
394 | @HasPermissionAllDecorator('hg.admin') | |
429 | @view_config( |
|
|||
430 | route_name='admin_permissions_ssh_keys_data', request_method='GET', |
|
|||
431 | renderer='json_ext', xhr=True) |
|
|||
432 | def ssh_keys_data(self): |
|
395 | def ssh_keys_data(self): | |
433 | _ = self.request.translate |
|
396 | _ = self.request.translate | |
434 | self.load_default_context() |
|
397 | self.load_default_context() | |
@@ -498,9 +461,6 b' class AdminPermissionsView(BaseAppView, ' | |||||
498 | @LoginRequired() |
|
461 | @LoginRequired() | |
499 | @HasPermissionAllDecorator('hg.admin') |
|
462 | @HasPermissionAllDecorator('hg.admin') | |
500 | @CSRFRequired() |
|
463 | @CSRFRequired() | |
501 | @view_config( |
|
|||
502 | route_name='admin_permissions_ssh_keys_update', request_method='POST', |
|
|||
503 | renderer='rhodecode:templates/admin/permissions/permissions.mako') |
|
|||
504 | def ssh_keys_update(self): |
|
464 | def ssh_keys_update(self): | |
505 | _ = self.request.translate |
|
465 | _ = self.request.translate | |
506 | self.load_default_context() |
|
466 | self.load_default_context() |
@@ -22,7 +22,7 b' import logging' | |||||
22 |
|
22 | |||
23 | import psutil |
|
23 | import psutil | |
24 | import signal |
|
24 | import signal | |
25 | from pyramid.view import view_config |
|
25 | ||
26 |
|
26 | |||
27 | from rhodecode.apps._base import BaseAppView |
|
27 | from rhodecode.apps._base import BaseAppView | |
28 | from rhodecode.apps._base.navigation import navigation_list |
|
28 | from rhodecode.apps._base.navigation import navigation_list | |
@@ -84,9 +84,6 b' class AdminProcessManagementView(BaseApp' | |||||
84 |
|
84 | |||
85 | @LoginRequired() |
|
85 | @LoginRequired() | |
86 | @HasPermissionAllDecorator('hg.admin') |
|
86 | @HasPermissionAllDecorator('hg.admin') | |
87 | @view_config( |
|
|||
88 | route_name='admin_settings_process_management', request_method='GET', |
|
|||
89 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
90 | def process_management(self): |
|
87 | def process_management(self): | |
91 | _ = self.request.translate |
|
88 | _ = self.request.translate | |
92 | c = self.load_default_context() |
|
89 | c = self.load_default_context() | |
@@ -99,9 +96,6 b' class AdminProcessManagementView(BaseApp' | |||||
99 |
|
96 | |||
100 | @LoginRequired() |
|
97 | @LoginRequired() | |
101 | @HasPermissionAllDecorator('hg.admin') |
|
98 | @HasPermissionAllDecorator('hg.admin') | |
102 | @view_config( |
|
|||
103 | route_name='admin_settings_process_management_data', request_method='GET', |
|
|||
104 | renderer='rhodecode:templates/admin/settings/settings_process_management_data.mako') |
|
|||
105 | def process_management_data(self): |
|
99 | def process_management_data(self): | |
106 | _ = self.request.translate |
|
100 | _ = self.request.translate | |
107 | c = self.load_default_context() |
|
101 | c = self.load_default_context() | |
@@ -111,9 +105,6 b' class AdminProcessManagementView(BaseApp' | |||||
111 | @LoginRequired() |
|
105 | @LoginRequired() | |
112 | @HasPermissionAllDecorator('hg.admin') |
|
106 | @HasPermissionAllDecorator('hg.admin') | |
113 | @CSRFRequired() |
|
107 | @CSRFRequired() | |
114 | @view_config( |
|
|||
115 | route_name='admin_settings_process_management_signal', |
|
|||
116 | request_method='POST', renderer='json_ext') |
|
|||
117 | def process_management_signal(self): |
|
108 | def process_management_signal(self): | |
118 | pids = self.request.json.get('pids', []) |
|
109 | pids = self.request.json.get('pids', []) | |
119 | result = [] |
|
110 | result = [] | |
@@ -155,9 +146,6 b' class AdminProcessManagementView(BaseApp' | |||||
155 | @LoginRequired() |
|
146 | @LoginRequired() | |
156 | @HasPermissionAllDecorator('hg.admin') |
|
147 | @HasPermissionAllDecorator('hg.admin') | |
157 | @CSRFRequired() |
|
148 | @CSRFRequired() | |
158 | @view_config( |
|
|||
159 | route_name='admin_settings_process_management_master_signal', |
|
|||
160 | request_method='POST', renderer='json_ext') |
|
|||
161 | def process_management_master_signal(self): |
|
149 | def process_management_master_signal(self): | |
162 | pid_data = self.request.json.get('pid_data', {}) |
|
150 | pid_data = self.request.json.get('pid_data', {}) | |
163 | pid = safe_int(pid_data['pid']) |
|
151 | pid = safe_int(pid_data['pid']) |
@@ -25,7 +25,7 b' import formencode' | |||||
25 | import formencode.htmlfill |
|
25 | import formencode.htmlfill | |
26 |
|
26 | |||
27 | from pyramid.httpexceptions import HTTPFound, HTTPForbidden |
|
27 | from pyramid.httpexceptions import HTTPFound, HTTPForbidden | |
28 | from pyramid.view import view_config |
|
28 | ||
29 | from pyramid.renderers import render |
|
29 | from pyramid.renderers import render | |
30 | from pyramid.response import Response |
|
30 | from pyramid.response import Response | |
31 |
|
31 | |||
@@ -96,9 +96,6 b' class AdminRepoGroupsView(BaseAppView, D' | |||||
96 | # `repo_group_list_data` via RepoGroupList |
|
96 | # `repo_group_list_data` via RepoGroupList | |
97 | @LoginRequired() |
|
97 | @LoginRequired() | |
98 | @NotAnonymous() |
|
98 | @NotAnonymous() | |
99 | @view_config( |
|
|||
100 | route_name='repo_groups', request_method='GET', |
|
|||
101 | renderer='rhodecode:templates/admin/repo_groups/repo_groups.mako') |
|
|||
102 | def repo_group_list(self): |
|
99 | def repo_group_list(self): | |
103 | c = self.load_default_context() |
|
100 | c = self.load_default_context() | |
104 | return self._get_template_context(c) |
|
101 | return self._get_template_context(c) | |
@@ -106,9 +103,6 b' class AdminRepoGroupsView(BaseAppView, D' | |||||
106 | # permission check inside |
|
103 | # permission check inside | |
107 | @LoginRequired() |
|
104 | @LoginRequired() | |
108 | @NotAnonymous() |
|
105 | @NotAnonymous() | |
109 | @view_config( |
|
|||
110 | route_name='repo_groups_data', request_method='GET', |
|
|||
111 | renderer='json_ext', xhr=True) |
|
|||
112 | def repo_group_list_data(self): |
|
106 | def repo_group_list_data(self): | |
113 | self.load_default_context() |
|
107 | self.load_default_context() | |
114 | column_map = { |
|
108 | column_map = { | |
@@ -254,9 +248,6 b' class AdminRepoGroupsView(BaseAppView, D' | |||||
254 | @LoginRequired() |
|
248 | @LoginRequired() | |
255 | @NotAnonymous() |
|
249 | @NotAnonymous() | |
256 | # perm checks inside |
|
250 | # perm checks inside | |
257 | @view_config( |
|
|||
258 | route_name='repo_group_new', request_method='GET', |
|
|||
259 | renderer='rhodecode:templates/admin/repo_groups/repo_group_add.mako') |
|
|||
260 | def repo_group_new(self): |
|
251 | def repo_group_new(self): | |
261 | c = self.load_default_context() |
|
252 | c = self.load_default_context() | |
262 |
|
253 | |||
@@ -296,9 +287,6 b' class AdminRepoGroupsView(BaseAppView, D' | |||||
296 | @NotAnonymous() |
|
287 | @NotAnonymous() | |
297 | @CSRFRequired() |
|
288 | @CSRFRequired() | |
298 | # perm checks inside |
|
289 | # perm checks inside | |
299 | @view_config( |
|
|||
300 | route_name='repo_group_create', request_method='POST', |
|
|||
301 | renderer='rhodecode:templates/admin/repo_groups/repo_group_add.mako') |
|
|||
302 | def repo_group_create(self): |
|
290 | def repo_group_create(self): | |
303 | c = self.load_default_context() |
|
291 | c = self.load_default_context() | |
304 | _ = self.request.translate |
|
292 | _ = self.request.translate |
@@ -23,7 +23,7 b' import formencode' | |||||
23 | import formencode.htmlfill |
|
23 | import formencode.htmlfill | |
24 |
|
24 | |||
25 | from pyramid.httpexceptions import HTTPFound, HTTPForbidden |
|
25 | from pyramid.httpexceptions import HTTPFound, HTTPForbidden | |
26 | from pyramid.view import view_config |
|
26 | ||
27 | from pyramid.renderers import render |
|
27 | from pyramid.renderers import render | |
28 | from pyramid.response import Response |
|
28 | from pyramid.response import Response | |
29 |
|
29 | |||
@@ -52,7 +52,6 b' class AdminReposView(BaseAppView, DataGr' | |||||
52 |
|
52 | |||
53 | def load_default_context(self): |
|
53 | def load_default_context(self): | |
54 | c = self._get_local_tmpl_context() |
|
54 | c = self._get_local_tmpl_context() | |
55 |
|
||||
56 | return c |
|
55 | return c | |
57 |
|
56 | |||
58 | def _load_form_data(self, c): |
|
57 | def _load_form_data(self, c): | |
@@ -65,9 +64,6 b' class AdminReposView(BaseAppView, DataGr' | |||||
65 | @LoginRequired() |
|
64 | @LoginRequired() | |
66 | @NotAnonymous() |
|
65 | @NotAnonymous() | |
67 | # perms check inside |
|
66 | # perms check inside | |
68 | @view_config( |
|
|||
69 | route_name='repos', request_method='GET', |
|
|||
70 | renderer='rhodecode:templates/admin/repos/repos.mako') |
|
|||
71 | def repository_list(self): |
|
67 | def repository_list(self): | |
72 | c = self.load_default_context() |
|
68 | c = self.load_default_context() | |
73 | return self._get_template_context(c) |
|
69 | return self._get_template_context(c) | |
@@ -75,9 +71,6 b' class AdminReposView(BaseAppView, DataGr' | |||||
75 | @LoginRequired() |
|
71 | @LoginRequired() | |
76 | @NotAnonymous() |
|
72 | @NotAnonymous() | |
77 | # perms check inside |
|
73 | # perms check inside | |
78 | @view_config( |
|
|||
79 | route_name='repos_data', request_method='GET', |
|
|||
80 | renderer='json_ext', xhr=True) |
|
|||
81 | def repository_list_data(self): |
|
74 | def repository_list_data(self): | |
82 | self.load_default_context() |
|
75 | self.load_default_context() | |
83 | column_map = { |
|
76 | column_map = { | |
@@ -162,9 +155,6 b' class AdminReposView(BaseAppView, DataGr' | |||||
162 | @LoginRequired() |
|
155 | @LoginRequired() | |
163 | @NotAnonymous() |
|
156 | @NotAnonymous() | |
164 | # perms check inside |
|
157 | # perms check inside | |
165 | @view_config( |
|
|||
166 | route_name='repo_new', request_method='GET', |
|
|||
167 | renderer='rhodecode:templates/admin/repos/repo_add.mako') |
|
|||
168 | def repository_new(self): |
|
158 | def repository_new(self): | |
169 | c = self.load_default_context() |
|
159 | c = self.load_default_context() | |
170 |
|
160 | |||
@@ -216,9 +206,6 b' class AdminReposView(BaseAppView, DataGr' | |||||
216 | @NotAnonymous() |
|
206 | @NotAnonymous() | |
217 | @CSRFRequired() |
|
207 | @CSRFRequired() | |
218 | # perms check inside |
|
208 | # perms check inside | |
219 | @view_config( |
|
|||
220 | route_name='repo_create', request_method='POST', |
|
|||
221 | renderer='rhodecode:templates/admin/repos/repos.mako') |
|
|||
222 | def repository_create(self): |
|
209 | def repository_create(self): | |
223 | c = self.load_default_context() |
|
210 | c = self.load_default_context() | |
224 |
|
211 |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
23 | ||
24 | from pyramid.httpexceptions import HTTPFound |
|
24 | from pyramid.httpexceptions import HTTPFound | |
25 |
|
25 | |||
26 | from rhodecode.apps._base import BaseAppView |
|
26 | from rhodecode.apps._base import BaseAppView | |
@@ -37,17 +37,13 b' log = logging.getLogger(__name__)' | |||||
37 |
|
37 | |||
38 |
|
38 | |||
39 | class AdminSessionSettingsView(BaseAppView): |
|
39 | class AdminSessionSettingsView(BaseAppView): | |
|
40 | ||||
40 | def load_default_context(self): |
|
41 | def load_default_context(self): | |
41 | c = self._get_local_tmpl_context() |
|
42 | c = self._get_local_tmpl_context() | |
42 |
|
||||
43 |
|
||||
44 | return c |
|
43 | return c | |
45 |
|
44 | |||
46 | @LoginRequired() |
|
45 | @LoginRequired() | |
47 | @HasPermissionAllDecorator('hg.admin') |
|
46 | @HasPermissionAllDecorator('hg.admin') | |
48 | @view_config( |
|
|||
49 | route_name='admin_settings_sessions', request_method='GET', |
|
|||
50 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
51 | def settings_sessions(self): |
|
47 | def settings_sessions(self): | |
52 | c = self.load_default_context() |
|
48 | c = self.load_default_context() | |
53 |
|
49 | |||
@@ -71,8 +67,6 b' class AdminSessionSettingsView(BaseAppVi' | |||||
71 | @LoginRequired() |
|
67 | @LoginRequired() | |
72 | @HasPermissionAllDecorator('hg.admin') |
|
68 | @HasPermissionAllDecorator('hg.admin') | |
73 | @CSRFRequired() |
|
69 | @CSRFRequired() | |
74 | @view_config( |
|
|||
75 | route_name='admin_settings_sessions_cleanup', request_method='POST') |
|
|||
76 | def settings_sessions_cleanup(self): |
|
70 | def settings_sessions_cleanup(self): | |
77 | _ = self.request.translate |
|
71 | _ = self.request.translate | |
78 | expire_days = safe_int(self.request.params.get('expire_days')) |
|
72 | expire_days = safe_int(self.request.params.get('expire_days')) |
@@ -27,7 +27,7 b' import formencode' | |||||
27 | import formencode.htmlfill |
|
27 | import formencode.htmlfill | |
28 |
|
28 | |||
29 | import rhodecode |
|
29 | import rhodecode | |
30 | from pyramid.view import view_config |
|
30 | ||
31 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
31 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound | |
32 | from pyramid.renderers import render |
|
32 | from pyramid.renderers import render | |
33 | from pyramid.response import Response |
|
33 | from pyramid.response import Response | |
@@ -68,7 +68,6 b' class AdminSettingsView(BaseAppView):' | |||||
68 | c.labs_active = str2bool( |
|
68 | c.labs_active = str2bool( | |
69 | rhodecode.CONFIG.get('labs_settings_active', 'true')) |
|
69 | rhodecode.CONFIG.get('labs_settings_active', 'true')) | |
70 | c.navlist = navigation_list(self.request) |
|
70 | c.navlist = navigation_list(self.request) | |
71 |
|
||||
72 | return c |
|
71 | return c | |
73 |
|
72 | |||
74 | @classmethod |
|
73 | @classmethod | |
@@ -109,9 +108,6 b' class AdminSettingsView(BaseAppView):' | |||||
109 |
|
108 | |||
110 | @LoginRequired() |
|
109 | @LoginRequired() | |
111 | @HasPermissionAllDecorator('hg.admin') |
|
110 | @HasPermissionAllDecorator('hg.admin') | |
112 | @view_config( |
|
|||
113 | route_name='admin_settings_vcs', request_method='GET', |
|
|||
114 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
115 | def settings_vcs(self): |
|
111 | def settings_vcs(self): | |
116 | c = self.load_default_context() |
|
112 | c = self.load_default_context() | |
117 | c.active = 'vcs' |
|
113 | c.active = 'vcs' | |
@@ -139,9 +135,6 b' class AdminSettingsView(BaseAppView):' | |||||
139 | @LoginRequired() |
|
135 | @LoginRequired() | |
140 | @HasPermissionAllDecorator('hg.admin') |
|
136 | @HasPermissionAllDecorator('hg.admin') | |
141 | @CSRFRequired() |
|
137 | @CSRFRequired() | |
142 | @view_config( |
|
|||
143 | route_name='admin_settings_vcs_update', request_method='POST', |
|
|||
144 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
145 | def settings_vcs_update(self): |
|
138 | def settings_vcs_update(self): | |
146 | _ = self.request.translate |
|
139 | _ = self.request.translate | |
147 | c = self.load_default_context() |
|
140 | c = self.load_default_context() | |
@@ -207,9 +200,6 b' class AdminSettingsView(BaseAppView):' | |||||
207 | @LoginRequired() |
|
200 | @LoginRequired() | |
208 | @HasPermissionAllDecorator('hg.admin') |
|
201 | @HasPermissionAllDecorator('hg.admin') | |
209 | @CSRFRequired() |
|
202 | @CSRFRequired() | |
210 | @view_config( |
|
|||
211 | route_name='admin_settings_vcs_svn_pattern_delete', request_method='POST', |
|
|||
212 | renderer='json_ext', xhr=True) |
|
|||
213 | def settings_vcs_delete_svn_pattern(self): |
|
203 | def settings_vcs_delete_svn_pattern(self): | |
214 | delete_pattern_id = self.request.POST.get('delete_svn_pattern') |
|
204 | delete_pattern_id = self.request.POST.get('delete_svn_pattern') | |
215 | model = VcsSettingsModel() |
|
205 | model = VcsSettingsModel() | |
@@ -225,9 +215,6 b' class AdminSettingsView(BaseAppView):' | |||||
225 |
|
215 | |||
226 | @LoginRequired() |
|
216 | @LoginRequired() | |
227 | @HasPermissionAllDecorator('hg.admin') |
|
217 | @HasPermissionAllDecorator('hg.admin') | |
228 | @view_config( |
|
|||
229 | route_name='admin_settings_mapping', request_method='GET', |
|
|||
230 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
231 | def settings_mapping(self): |
|
218 | def settings_mapping(self): | |
232 | c = self.load_default_context() |
|
219 | c = self.load_default_context() | |
233 | c.active = 'mapping' |
|
220 | c.active = 'mapping' | |
@@ -245,9 +232,6 b' class AdminSettingsView(BaseAppView):' | |||||
245 | @LoginRequired() |
|
232 | @LoginRequired() | |
246 | @HasPermissionAllDecorator('hg.admin') |
|
233 | @HasPermissionAllDecorator('hg.admin') | |
247 | @CSRFRequired() |
|
234 | @CSRFRequired() | |
248 | @view_config( |
|
|||
249 | route_name='admin_settings_mapping_update', request_method='POST', |
|
|||
250 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
251 | def settings_mapping_update(self): |
|
235 | def settings_mapping_update(self): | |
252 | _ = self.request.translate |
|
236 | _ = self.request.translate | |
253 | c = self.load_default_context() |
|
237 | c = self.load_default_context() | |
@@ -274,12 +258,6 b' class AdminSettingsView(BaseAppView):' | |||||
274 |
|
258 | |||
275 | @LoginRequired() |
|
259 | @LoginRequired() | |
276 | @HasPermissionAllDecorator('hg.admin') |
|
260 | @HasPermissionAllDecorator('hg.admin') | |
277 | @view_config( |
|
|||
278 | route_name='admin_settings', request_method='GET', |
|
|||
279 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
280 | @view_config( |
|
|||
281 | route_name='admin_settings_global', request_method='GET', |
|
|||
282 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
283 | def settings_global(self): |
|
261 | def settings_global(self): | |
284 | c = self.load_default_context() |
|
262 | c = self.load_default_context() | |
285 | c.active = 'global' |
|
263 | c.active = 'global' | |
@@ -299,12 +277,6 b' class AdminSettingsView(BaseAppView):' | |||||
299 | @LoginRequired() |
|
277 | @LoginRequired() | |
300 | @HasPermissionAllDecorator('hg.admin') |
|
278 | @HasPermissionAllDecorator('hg.admin') | |
301 | @CSRFRequired() |
|
279 | @CSRFRequired() | |
302 | @view_config( |
|
|||
303 | route_name='admin_settings_update', request_method='POST', |
|
|||
304 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
305 | @view_config( |
|
|||
306 | route_name='admin_settings_global_update', request_method='POST', |
|
|||
307 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
308 | def settings_global_update(self): |
|
280 | def settings_global_update(self): | |
309 | _ = self.request.translate |
|
281 | _ = self.request.translate | |
310 | c = self.load_default_context() |
|
282 | c = self.load_default_context() | |
@@ -359,9 +331,6 b' class AdminSettingsView(BaseAppView):' | |||||
359 |
|
331 | |||
360 | @LoginRequired() |
|
332 | @LoginRequired() | |
361 | @HasPermissionAllDecorator('hg.admin') |
|
333 | @HasPermissionAllDecorator('hg.admin') | |
362 | @view_config( |
|
|||
363 | route_name='admin_settings_visual', request_method='GET', |
|
|||
364 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
365 | def settings_visual(self): |
|
334 | def settings_visual(self): | |
366 | c = self.load_default_context() |
|
335 | c = self.load_default_context() | |
367 | c.active = 'visual' |
|
336 | c.active = 'visual' | |
@@ -379,9 +348,6 b' class AdminSettingsView(BaseAppView):' | |||||
379 | @LoginRequired() |
|
348 | @LoginRequired() | |
380 | @HasPermissionAllDecorator('hg.admin') |
|
349 | @HasPermissionAllDecorator('hg.admin') | |
381 | @CSRFRequired() |
|
350 | @CSRFRequired() | |
382 | @view_config( |
|
|||
383 | route_name='admin_settings_visual_update', request_method='POST', |
|
|||
384 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
385 | def settings_visual_update(self): |
|
351 | def settings_visual_update(self): | |
386 | _ = self.request.translate |
|
352 | _ = self.request.translate | |
387 | c = self.load_default_context() |
|
353 | c = self.load_default_context() | |
@@ -441,9 +407,6 b' class AdminSettingsView(BaseAppView):' | |||||
441 |
|
407 | |||
442 | @LoginRequired() |
|
408 | @LoginRequired() | |
443 | @HasPermissionAllDecorator('hg.admin') |
|
409 | @HasPermissionAllDecorator('hg.admin') | |
444 | @view_config( |
|
|||
445 | route_name='admin_settings_issuetracker', request_method='GET', |
|
|||
446 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
447 | def settings_issuetracker(self): |
|
410 | def settings_issuetracker(self): | |
448 | c = self.load_default_context() |
|
411 | c = self.load_default_context() | |
449 | c.active = 'issuetracker' |
|
412 | c.active = 'issuetracker' | |
@@ -470,9 +433,6 b' class AdminSettingsView(BaseAppView):' | |||||
470 | @LoginRequired() |
|
433 | @LoginRequired() | |
471 | @HasPermissionAllDecorator('hg.admin') |
|
434 | @HasPermissionAllDecorator('hg.admin') | |
472 | @CSRFRequired() |
|
435 | @CSRFRequired() | |
473 | @view_config( |
|
|||
474 | route_name='admin_settings_issuetracker_test', request_method='POST', |
|
|||
475 | renderer='string', xhr=True) |
|
|||
476 | def settings_issuetracker_test(self): |
|
436 | def settings_issuetracker_test(self): | |
477 | error_container = [] |
|
437 | error_container = [] | |
478 |
|
438 | |||
@@ -490,9 +450,6 b' class AdminSettingsView(BaseAppView):' | |||||
490 | @LoginRequired() |
|
450 | @LoginRequired() | |
491 | @HasPermissionAllDecorator('hg.admin') |
|
451 | @HasPermissionAllDecorator('hg.admin') | |
492 | @CSRFRequired() |
|
452 | @CSRFRequired() | |
493 | @view_config( |
|
|||
494 | route_name='admin_settings_issuetracker_update', request_method='POST', |
|
|||
495 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
496 | def settings_issuetracker_update(self): |
|
453 | def settings_issuetracker_update(self): | |
497 | _ = self.request.translate |
|
454 | _ = self.request.translate | |
498 | self.load_default_context() |
|
455 | self.load_default_context() | |
@@ -527,9 +484,6 b' class AdminSettingsView(BaseAppView):' | |||||
527 | @LoginRequired() |
|
484 | @LoginRequired() | |
528 | @HasPermissionAllDecorator('hg.admin') |
|
485 | @HasPermissionAllDecorator('hg.admin') | |
529 | @CSRFRequired() |
|
486 | @CSRFRequired() | |
530 | @view_config( |
|
|||
531 | route_name='admin_settings_issuetracker_delete', request_method='POST', |
|
|||
532 | renderer='json_ext', xhr=True) |
|
|||
533 | def settings_issuetracker_delete(self): |
|
487 | def settings_issuetracker_delete(self): | |
534 | _ = self.request.translate |
|
488 | _ = self.request.translate | |
535 | self.load_default_context() |
|
489 | self.load_default_context() | |
@@ -547,9 +501,6 b' class AdminSettingsView(BaseAppView):' | |||||
547 |
|
501 | |||
548 | @LoginRequired() |
|
502 | @LoginRequired() | |
549 | @HasPermissionAllDecorator('hg.admin') |
|
503 | @HasPermissionAllDecorator('hg.admin') | |
550 | @view_config( |
|
|||
551 | route_name='admin_settings_email', request_method='GET', |
|
|||
552 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
553 | def settings_email(self): |
|
504 | def settings_email(self): | |
554 | c = self.load_default_context() |
|
505 | c = self.load_default_context() | |
555 | c.active = 'email' |
|
506 | c.active = 'email' | |
@@ -568,9 +519,6 b' class AdminSettingsView(BaseAppView):' | |||||
568 | @LoginRequired() |
|
519 | @LoginRequired() | |
569 | @HasPermissionAllDecorator('hg.admin') |
|
520 | @HasPermissionAllDecorator('hg.admin') | |
570 | @CSRFRequired() |
|
521 | @CSRFRequired() | |
571 | @view_config( |
|
|||
572 | route_name='admin_settings_email_update', request_method='POST', |
|
|||
573 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
574 | def settings_email_update(self): |
|
522 | def settings_email_update(self): | |
575 | _ = self.request.translate |
|
523 | _ = self.request.translate | |
576 | c = self.load_default_context() |
|
524 | c = self.load_default_context() | |
@@ -600,9 +548,6 b' class AdminSettingsView(BaseAppView):' | |||||
600 |
|
548 | |||
601 | @LoginRequired() |
|
549 | @LoginRequired() | |
602 | @HasPermissionAllDecorator('hg.admin') |
|
550 | @HasPermissionAllDecorator('hg.admin') | |
603 | @view_config( |
|
|||
604 | route_name='admin_settings_hooks', request_method='GET', |
|
|||
605 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
606 | def settings_hooks(self): |
|
551 | def settings_hooks(self): | |
607 | c = self.load_default_context() |
|
552 | c = self.load_default_context() | |
608 | c.active = 'hooks' |
|
553 | c.active = 'hooks' | |
@@ -624,12 +569,6 b' class AdminSettingsView(BaseAppView):' | |||||
624 | @LoginRequired() |
|
569 | @LoginRequired() | |
625 | @HasPermissionAllDecorator('hg.admin') |
|
570 | @HasPermissionAllDecorator('hg.admin') | |
626 | @CSRFRequired() |
|
571 | @CSRFRequired() | |
627 | @view_config( |
|
|||
628 | route_name='admin_settings_hooks_update', request_method='POST', |
|
|||
629 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
630 | @view_config( |
|
|||
631 | route_name='admin_settings_hooks_delete', request_method='POST', |
|
|||
632 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
633 | def settings_hooks_update(self): |
|
572 | def settings_hooks_update(self): | |
634 | _ = self.request.translate |
|
573 | _ = self.request.translate | |
635 | c = self.load_default_context() |
|
574 | c = self.load_default_context() | |
@@ -671,9 +610,6 b' class AdminSettingsView(BaseAppView):' | |||||
671 |
|
610 | |||
672 | @LoginRequired() |
|
611 | @LoginRequired() | |
673 | @HasPermissionAllDecorator('hg.admin') |
|
612 | @HasPermissionAllDecorator('hg.admin') | |
674 | @view_config( |
|
|||
675 | route_name='admin_settings_search', request_method='GET', |
|
|||
676 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
677 | def settings_search(self): |
|
613 | def settings_search(self): | |
678 | c = self.load_default_context() |
|
614 | c = self.load_default_context() | |
679 | c.active = 'search' |
|
615 | c.active = 'search' | |
@@ -685,9 +621,6 b' class AdminSettingsView(BaseAppView):' | |||||
685 |
|
621 | |||
686 | @LoginRequired() |
|
622 | @LoginRequired() | |
687 | @HasPermissionAllDecorator('hg.admin') |
|
623 | @HasPermissionAllDecorator('hg.admin') | |
688 | @view_config( |
|
|||
689 | route_name='admin_settings_automation', request_method='GET', |
|
|||
690 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
691 | def settings_automation(self): |
|
624 | def settings_automation(self): | |
692 | c = self.load_default_context() |
|
625 | c = self.load_default_context() | |
693 | c.active = 'automation' |
|
626 | c.active = 'automation' | |
@@ -696,9 +629,6 b' class AdminSettingsView(BaseAppView):' | |||||
696 |
|
629 | |||
697 | @LoginRequired() |
|
630 | @LoginRequired() | |
698 | @HasPermissionAllDecorator('hg.admin') |
|
631 | @HasPermissionAllDecorator('hg.admin') | |
699 | @view_config( |
|
|||
700 | route_name='admin_settings_labs', request_method='GET', |
|
|||
701 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
702 | def settings_labs(self): |
|
632 | def settings_labs(self): | |
703 | c = self.load_default_context() |
|
633 | c = self.load_default_context() | |
704 | if not c.labs_active: |
|
634 | if not c.labs_active: | |
@@ -720,9 +650,6 b' class AdminSettingsView(BaseAppView):' | |||||
720 | @LoginRequired() |
|
650 | @LoginRequired() | |
721 | @HasPermissionAllDecorator('hg.admin') |
|
651 | @HasPermissionAllDecorator('hg.admin') | |
722 | @CSRFRequired() |
|
652 | @CSRFRequired() | |
723 | @view_config( |
|
|||
724 | route_name='admin_settings_labs_update', request_method='POST', |
|
|||
725 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
726 | def settings_labs_update(self): |
|
653 | def settings_labs_update(self): | |
727 | _ = self.request.translate |
|
654 | _ = self.request.translate | |
728 | c = self.load_default_context() |
|
655 | c = self.load_default_context() |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
23 | ||
24 |
|
24 | |||
25 | from rhodecode.apps._base import BaseAppView |
|
25 | from rhodecode.apps._base import BaseAppView | |
26 | from rhodecode.apps.svn_support.utils import generate_mod_dav_svn_config |
|
26 | from rhodecode.apps.svn_support.utils import generate_mod_dav_svn_config | |
@@ -30,14 +30,11 b' from rhodecode.lib.auth import (' | |||||
30 | log = logging.getLogger(__name__) |
|
30 | log = logging.getLogger(__name__) | |
31 |
|
31 | |||
32 |
|
32 | |||
33 |
class SvnConfig |
|
33 | class AdminSvnConfigView(BaseAppView): | |
34 |
|
34 | |||
35 | @LoginRequired() |
|
35 | @LoginRequired() | |
36 | @HasPermissionAllDecorator('hg.admin') |
|
36 | @HasPermissionAllDecorator('hg.admin') | |
37 | @CSRFRequired() |
|
37 | @CSRFRequired() | |
38 | @view_config( |
|
|||
39 | route_name='admin_settings_vcs_svn_generate_cfg', |
|
|||
40 | request_method='POST', renderer='json') |
|
|||
41 | def vcs_svn_generate_config(self): |
|
38 | def vcs_svn_generate_config(self): | |
42 | _ = self.request.translate |
|
39 | _ = self.request.translate | |
43 | try: |
|
40 | try: |
@@ -21,7 +21,7 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 | import urllib2 |
|
22 | import urllib2 | |
23 |
|
23 | |||
24 | from pyramid.view import view_config |
|
24 | ||
25 |
|
25 | |||
26 | import rhodecode |
|
26 | import rhodecode | |
27 | from rhodecode.apps._base import BaseAppView |
|
27 | from rhodecode.apps._base import BaseAppView | |
@@ -42,9 +42,6 b' class AdminSystemInfoSettingsView(BaseAp' | |||||
42 |
|
42 | |||
43 | @LoginRequired() |
|
43 | @LoginRequired() | |
44 | @HasPermissionAllDecorator('hg.admin') |
|
44 | @HasPermissionAllDecorator('hg.admin') | |
45 | @view_config( |
|
|||
46 | route_name='admin_settings_system', request_method='GET', |
|
|||
47 | renderer='rhodecode:templates/admin/settings/settings.mako') |
|
|||
48 | def settings_system_info(self): |
|
45 | def settings_system_info(self): | |
49 | _ = self.request.translate |
|
46 | _ = self.request.translate | |
50 | c = self.load_default_context() |
|
47 | c = self.load_default_context() | |
@@ -169,9 +166,6 b' class AdminSystemInfoSettingsView(BaseAp' | |||||
169 |
|
166 | |||
170 | @LoginRequired() |
|
167 | @LoginRequired() | |
171 | @HasPermissionAllDecorator('hg.admin') |
|
168 | @HasPermissionAllDecorator('hg.admin') | |
172 | @view_config( |
|
|||
173 | route_name='admin_settings_system_update', request_method='GET', |
|
|||
174 | renderer='rhodecode:templates/admin/settings/settings_system_update.mako') |
|
|||
175 | def settings_system_info_check_update(self): |
|
169 | def settings_system_info_check_update(self): | |
176 | _ = self.request.translate |
|
170 | _ = self.request.translate | |
177 | c = self.load_default_context() |
|
171 | c = self.load_default_context() |
@@ -24,7 +24,7 b' import formencode' | |||||
24 | import formencode.htmlfill |
|
24 | import formencode.htmlfill | |
25 |
|
25 | |||
26 | from pyramid.httpexceptions import HTTPFound |
|
26 | from pyramid.httpexceptions import HTTPFound | |
27 | from pyramid.view import view_config |
|
27 | ||
28 | from pyramid.response import Response |
|
28 | from pyramid.response import Response | |
29 | from pyramid.renderers import render |
|
29 | from pyramid.renderers import render | |
30 |
|
30 | |||
@@ -51,19 +51,14 b' class AdminUserGroupsView(BaseAppView, D' | |||||
51 |
|
51 | |||
52 | def load_default_context(self): |
|
52 | def load_default_context(self): | |
53 | c = self._get_local_tmpl_context() |
|
53 | c = self._get_local_tmpl_context() | |
54 |
|
||||
55 | PermissionModel().set_global_permission_choices( |
|
54 | PermissionModel().set_global_permission_choices( | |
56 | c, gettext_translator=self.request.translate) |
|
55 | c, gettext_translator=self.request.translate) | |
57 |
|
||||
58 | return c |
|
56 | return c | |
59 |
|
57 | |||
60 | # permission check in data loading of |
|
58 | # permission check in data loading of | |
61 | # `user_groups_list_data` via UserGroupList |
|
59 | # `user_groups_list_data` via UserGroupList | |
62 | @LoginRequired() |
|
60 | @LoginRequired() | |
63 | @NotAnonymous() |
|
61 | @NotAnonymous() | |
64 | @view_config( |
|
|||
65 | route_name='user_groups', request_method='GET', |
|
|||
66 | renderer='rhodecode:templates/admin/user_groups/user_groups.mako') |
|
|||
67 | def user_groups_list(self): |
|
62 | def user_groups_list(self): | |
68 | c = self.load_default_context() |
|
63 | c = self.load_default_context() | |
69 | return self._get_template_context(c) |
|
64 | return self._get_template_context(c) | |
@@ -71,9 +66,6 b' class AdminUserGroupsView(BaseAppView, D' | |||||
71 | # permission check inside |
|
66 | # permission check inside | |
72 | @LoginRequired() |
|
67 | @LoginRequired() | |
73 | @NotAnonymous() |
|
68 | @NotAnonymous() | |
74 | @view_config( |
|
|||
75 | route_name='user_groups_data', request_method='GET', |
|
|||
76 | renderer='json_ext', xhr=True) |
|
|||
77 | def user_groups_list_data(self): |
|
69 | def user_groups_list_data(self): | |
78 | self.load_default_context() |
|
70 | self.load_default_context() | |
79 | column_map = { |
|
71 | column_map = { | |
@@ -197,9 +189,6 b' class AdminUserGroupsView(BaseAppView, D' | |||||
197 |
|
189 | |||
198 | @LoginRequired() |
|
190 | @LoginRequired() | |
199 | @HasPermissionAnyDecorator('hg.admin', 'hg.usergroup.create.true') |
|
191 | @HasPermissionAnyDecorator('hg.admin', 'hg.usergroup.create.true') | |
200 | @view_config( |
|
|||
201 | route_name='user_groups_new', request_method='GET', |
|
|||
202 | renderer='rhodecode:templates/admin/user_groups/user_group_add.mako') |
|
|||
203 | def user_groups_new(self): |
|
192 | def user_groups_new(self): | |
204 | c = self.load_default_context() |
|
193 | c = self.load_default_context() | |
205 | return self._get_template_context(c) |
|
194 | return self._get_template_context(c) | |
@@ -207,9 +196,6 b' class AdminUserGroupsView(BaseAppView, D' | |||||
207 | @LoginRequired() |
|
196 | @LoginRequired() | |
208 | @HasPermissionAnyDecorator('hg.admin', 'hg.usergroup.create.true') |
|
197 | @HasPermissionAnyDecorator('hg.admin', 'hg.usergroup.create.true') | |
209 | @CSRFRequired() |
|
198 | @CSRFRequired() | |
210 | @view_config( |
|
|||
211 | route_name='user_groups_create', request_method='POST', |
|
|||
212 | renderer='rhodecode:templates/admin/user_groups/user_group_add.mako') |
|
|||
213 | def user_groups_create(self): |
|
199 | def user_groups_create(self): | |
214 | _ = self.request.translate |
|
200 | _ = self.request.translate | |
215 | c = self.load_default_context() |
|
201 | c = self.load_default_context() |
@@ -24,7 +24,6 b' import formencode' | |||||
24 | import formencode.htmlfill |
|
24 | import formencode.htmlfill | |
25 |
|
25 | |||
26 | from pyramid.httpexceptions import HTTPFound |
|
26 | from pyramid.httpexceptions import HTTPFound | |
27 | from pyramid.view import view_config |
|
|||
28 | from pyramid.renderers import render |
|
27 | from pyramid.renderers import render | |
29 | from pyramid.response import Response |
|
28 | from pyramid.response import Response | |
30 |
|
29 | |||
@@ -72,19 +71,12 b' class AdminUsersView(BaseAppView, DataGr' | |||||
72 |
|
71 | |||
73 | @LoginRequired() |
|
72 | @LoginRequired() | |
74 | @HasPermissionAllDecorator('hg.admin') |
|
73 | @HasPermissionAllDecorator('hg.admin') | |
75 | @view_config( |
|
|||
76 | route_name='users', request_method='GET', |
|
|||
77 | renderer='rhodecode:templates/admin/users/users.mako') |
|
|||
78 | def users_list(self): |
|
74 | def users_list(self): | |
79 | c = self.load_default_context() |
|
75 | c = self.load_default_context() | |
80 | return self._get_template_context(c) |
|
76 | return self._get_template_context(c) | |
81 |
|
77 | |||
82 | @LoginRequired() |
|
78 | @LoginRequired() | |
83 | @HasPermissionAllDecorator('hg.admin') |
|
79 | @HasPermissionAllDecorator('hg.admin') | |
84 | @view_config( |
|
|||
85 | # renderer defined below |
|
|||
86 | route_name='users_data', request_method='GET', |
|
|||
87 | renderer='json_ext', xhr=True) |
|
|||
88 | def users_list_data(self): |
|
80 | def users_list_data(self): | |
89 | self.load_default_context() |
|
81 | self.load_default_context() | |
90 | column_map = { |
|
82 | column_map = { | |
@@ -183,9 +175,6 b' class AdminUsersView(BaseAppView, DataGr' | |||||
183 |
|
175 | |||
184 | @LoginRequired() |
|
176 | @LoginRequired() | |
185 | @HasPermissionAllDecorator('hg.admin') |
|
177 | @HasPermissionAllDecorator('hg.admin') | |
186 | @view_config( |
|
|||
187 | route_name='users_new', request_method='GET', |
|
|||
188 | renderer='rhodecode:templates/admin/users/user_add.mako') |
|
|||
189 | def users_new(self): |
|
178 | def users_new(self): | |
190 | _ = self.request.translate |
|
179 | _ = self.request.translate | |
191 | c = self.load_default_context() |
|
180 | c = self.load_default_context() | |
@@ -196,9 +185,6 b' class AdminUsersView(BaseAppView, DataGr' | |||||
196 | @LoginRequired() |
|
185 | @LoginRequired() | |
197 | @HasPermissionAllDecorator('hg.admin') |
|
186 | @HasPermissionAllDecorator('hg.admin') | |
198 | @CSRFRequired() |
|
187 | @CSRFRequired() | |
199 | @view_config( |
|
|||
200 | route_name='users_create', request_method='POST', |
|
|||
201 | renderer='rhodecode:templates/admin/users/user_add.mako') |
|
|||
202 | def users_create(self): |
|
188 | def users_create(self): | |
203 | _ = self.request.translate |
|
189 | _ = self.request.translate | |
204 | c = self.load_default_context() |
|
190 | c = self.load_default_context() | |
@@ -309,9 +295,6 b' class UsersView(UserAppView):' | |||||
309 | @LoginRequired() |
|
295 | @LoginRequired() | |
310 | @HasPermissionAllDecorator('hg.admin') |
|
296 | @HasPermissionAllDecorator('hg.admin') | |
311 | @CSRFRequired() |
|
297 | @CSRFRequired() | |
312 | @view_config( |
|
|||
313 | route_name='user_update', request_method='POST', |
|
|||
314 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
315 | def user_update(self): |
|
298 | def user_update(self): | |
316 | _ = self.request.translate |
|
299 | _ = self.request.translate | |
317 | c = self.load_default_context() |
|
300 | c = self.load_default_context() | |
@@ -371,9 +354,6 b' class UsersView(UserAppView):' | |||||
371 | @LoginRequired() |
|
354 | @LoginRequired() | |
372 | @HasPermissionAllDecorator('hg.admin') |
|
355 | @HasPermissionAllDecorator('hg.admin') | |
373 | @CSRFRequired() |
|
356 | @CSRFRequired() | |
374 | @view_config( |
|
|||
375 | route_name='user_delete', request_method='POST', |
|
|||
376 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
377 | def user_delete(self): |
|
357 | def user_delete(self): | |
378 | _ = self.request.translate |
|
358 | _ = self.request.translate | |
379 | c = self.load_default_context() |
|
359 | c = self.load_default_context() | |
@@ -496,9 +476,6 b' class UsersView(UserAppView):' | |||||
496 |
|
476 | |||
497 | @LoginRequired() |
|
477 | @LoginRequired() | |
498 | @HasPermissionAllDecorator('hg.admin') |
|
478 | @HasPermissionAllDecorator('hg.admin') | |
499 | @view_config( |
|
|||
500 | route_name='user_edit', request_method='GET', |
|
|||
501 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
502 | def user_edit(self): |
|
479 | def user_edit(self): | |
503 | _ = self.request.translate |
|
480 | _ = self.request.translate | |
504 | c = self.load_default_context() |
|
481 | c = self.load_default_context() | |
@@ -525,9 +502,6 b' class UsersView(UserAppView):' | |||||
525 |
|
502 | |||
526 | @LoginRequired() |
|
503 | @LoginRequired() | |
527 | @HasPermissionAllDecorator('hg.admin') |
|
504 | @HasPermissionAllDecorator('hg.admin') | |
528 | @view_config( |
|
|||
529 | route_name='user_edit_advanced', request_method='GET', |
|
|||
530 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
531 | def user_edit_advanced(self): |
|
505 | def user_edit_advanced(self): | |
532 | _ = self.request.translate |
|
506 | _ = self.request.translate | |
533 | c = self.load_default_context() |
|
507 | c = self.load_default_context() | |
@@ -584,9 +558,6 b' class UsersView(UserAppView):' | |||||
584 |
|
558 | |||
585 | @LoginRequired() |
|
559 | @LoginRequired() | |
586 | @HasPermissionAllDecorator('hg.admin') |
|
560 | @HasPermissionAllDecorator('hg.admin') | |
587 | @view_config( |
|
|||
588 | route_name='user_edit_global_perms', request_method='GET', |
|
|||
589 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
590 | def user_edit_global_perms(self): |
|
561 | def user_edit_global_perms(self): | |
591 | _ = self.request.translate |
|
562 | _ = self.request.translate | |
592 | c = self.load_default_context() |
|
563 | c = self.load_default_context() | |
@@ -614,9 +585,6 b' class UsersView(UserAppView):' | |||||
614 | @LoginRequired() |
|
585 | @LoginRequired() | |
615 | @HasPermissionAllDecorator('hg.admin') |
|
586 | @HasPermissionAllDecorator('hg.admin') | |
616 | @CSRFRequired() |
|
587 | @CSRFRequired() | |
617 | @view_config( |
|
|||
618 | route_name='user_edit_global_perms_update', request_method='POST', |
|
|||
619 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
620 | def user_edit_global_perms_update(self): |
|
588 | def user_edit_global_perms_update(self): | |
621 | _ = self.request.translate |
|
589 | _ = self.request.translate | |
622 | c = self.load_default_context() |
|
590 | c = self.load_default_context() | |
@@ -682,9 +650,6 b' class UsersView(UserAppView):' | |||||
682 | @LoginRequired() |
|
650 | @LoginRequired() | |
683 | @HasPermissionAllDecorator('hg.admin') |
|
651 | @HasPermissionAllDecorator('hg.admin') | |
684 | @CSRFRequired() |
|
652 | @CSRFRequired() | |
685 | @view_config( |
|
|||
686 | route_name='user_enable_force_password_reset', request_method='POST', |
|
|||
687 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
688 | def user_enable_force_password_reset(self): |
|
653 | def user_enable_force_password_reset(self): | |
689 | _ = self.request.translate |
|
654 | _ = self.request.translate | |
690 | c = self.load_default_context() |
|
655 | c = self.load_default_context() | |
@@ -711,9 +676,6 b' class UsersView(UserAppView):' | |||||
711 | @LoginRequired() |
|
676 | @LoginRequired() | |
712 | @HasPermissionAllDecorator('hg.admin') |
|
677 | @HasPermissionAllDecorator('hg.admin') | |
713 | @CSRFRequired() |
|
678 | @CSRFRequired() | |
714 | @view_config( |
|
|||
715 | route_name='user_disable_force_password_reset', request_method='POST', |
|
|||
716 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
717 | def user_disable_force_password_reset(self): |
|
679 | def user_disable_force_password_reset(self): | |
718 | _ = self.request.translate |
|
680 | _ = self.request.translate | |
719 | c = self.load_default_context() |
|
681 | c = self.load_default_context() | |
@@ -741,9 +703,6 b' class UsersView(UserAppView):' | |||||
741 | @LoginRequired() |
|
703 | @LoginRequired() | |
742 | @HasPermissionAllDecorator('hg.admin') |
|
704 | @HasPermissionAllDecorator('hg.admin') | |
743 | @CSRFRequired() |
|
705 | @CSRFRequired() | |
744 | @view_config( |
|
|||
745 | route_name='user_notice_dismiss', request_method='POST', |
|
|||
746 | renderer='json_ext', xhr=True) |
|
|||
747 | def user_notice_dismiss(self): |
|
706 | def user_notice_dismiss(self): | |
748 | _ = self.request.translate |
|
707 | _ = self.request.translate | |
749 | c = self.load_default_context() |
|
708 | c = self.load_default_context() | |
@@ -767,9 +726,6 b' class UsersView(UserAppView):' | |||||
767 | @LoginRequired() |
|
726 | @LoginRequired() | |
768 | @HasPermissionAllDecorator('hg.admin') |
|
727 | @HasPermissionAllDecorator('hg.admin') | |
769 | @CSRFRequired() |
|
728 | @CSRFRequired() | |
770 | @view_config( |
|
|||
771 | route_name='user_create_personal_repo_group', request_method='POST', |
|
|||
772 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
773 | def user_create_personal_repo_group(self): |
|
729 | def user_create_personal_repo_group(self): | |
774 | """ |
|
730 | """ | |
775 | Create personal repository group for this user |
|
731 | Create personal repository group for this user | |
@@ -821,9 +777,6 b' class UsersView(UserAppView):' | |||||
821 |
|
777 | |||
822 | @LoginRequired() |
|
778 | @LoginRequired() | |
823 | @HasPermissionAllDecorator('hg.admin') |
|
779 | @HasPermissionAllDecorator('hg.admin') | |
824 | @view_config( |
|
|||
825 | route_name='edit_user_auth_tokens', request_method='GET', |
|
|||
826 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
827 | def auth_tokens(self): |
|
780 | def auth_tokens(self): | |
828 | _ = self.request.translate |
|
781 | _ = self.request.translate | |
829 | c = self.load_default_context() |
|
782 | c = self.load_default_context() | |
@@ -843,9 +796,6 b' class UsersView(UserAppView):' | |||||
843 |
|
796 | |||
844 | @LoginRequired() |
|
797 | @LoginRequired() | |
845 | @HasPermissionAllDecorator('hg.admin') |
|
798 | @HasPermissionAllDecorator('hg.admin') | |
846 | @view_config( |
|
|||
847 | route_name='edit_user_auth_tokens_view', request_method='POST', |
|
|||
848 | renderer='json_ext', xhr=True) |
|
|||
849 | def auth_tokens_view(self): |
|
799 | def auth_tokens_view(self): | |
850 | _ = self.request.translate |
|
800 | _ = self.request.translate | |
851 | c = self.load_default_context() |
|
801 | c = self.load_default_context() | |
@@ -867,8 +817,6 b' class UsersView(UserAppView):' | |||||
867 | @LoginRequired() |
|
817 | @LoginRequired() | |
868 | @HasPermissionAllDecorator('hg.admin') |
|
818 | @HasPermissionAllDecorator('hg.admin') | |
869 | @CSRFRequired() |
|
819 | @CSRFRequired() | |
870 | @view_config( |
|
|||
871 | route_name='edit_user_auth_tokens_add', request_method='POST') |
|
|||
872 | def auth_tokens_add(self): |
|
820 | def auth_tokens_add(self): | |
873 | _ = self.request.translate |
|
821 | _ = self.request.translate | |
874 | c = self.load_default_context() |
|
822 | c = self.load_default_context() | |
@@ -899,8 +847,6 b' class UsersView(UserAppView):' | |||||
899 | @LoginRequired() |
|
847 | @LoginRequired() | |
900 | @HasPermissionAllDecorator('hg.admin') |
|
848 | @HasPermissionAllDecorator('hg.admin') | |
901 | @CSRFRequired() |
|
849 | @CSRFRequired() | |
902 | @view_config( |
|
|||
903 | route_name='edit_user_auth_tokens_delete', request_method='POST') |
|
|||
904 | def auth_tokens_delete(self): |
|
850 | def auth_tokens_delete(self): | |
905 | _ = self.request.translate |
|
851 | _ = self.request.translate | |
906 | c = self.load_default_context() |
|
852 | c = self.load_default_context() | |
@@ -928,9 +874,6 b' class UsersView(UserAppView):' | |||||
928 |
|
874 | |||
929 | @LoginRequired() |
|
875 | @LoginRequired() | |
930 | @HasPermissionAllDecorator('hg.admin') |
|
876 | @HasPermissionAllDecorator('hg.admin') | |
931 | @view_config( |
|
|||
932 | route_name='edit_user_ssh_keys', request_method='GET', |
|
|||
933 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
934 | def ssh_keys(self): |
|
877 | def ssh_keys(self): | |
935 | _ = self.request.translate |
|
878 | _ = self.request.translate | |
936 | c = self.load_default_context() |
|
879 | c = self.load_default_context() | |
@@ -943,9 +886,6 b' class UsersView(UserAppView):' | |||||
943 |
|
886 | |||
944 | @LoginRequired() |
|
887 | @LoginRequired() | |
945 | @HasPermissionAllDecorator('hg.admin') |
|
888 | @HasPermissionAllDecorator('hg.admin') | |
946 | @view_config( |
|
|||
947 | route_name='edit_user_ssh_keys_generate_keypair', request_method='GET', |
|
|||
948 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
949 | def ssh_keys_generate_keypair(self): |
|
889 | def ssh_keys_generate_keypair(self): | |
950 | _ = self.request.translate |
|
890 | _ = self.request.translate | |
951 | c = self.load_default_context() |
|
891 | c = self.load_default_context() | |
@@ -964,8 +904,6 b' class UsersView(UserAppView):' | |||||
964 | @LoginRequired() |
|
904 | @LoginRequired() | |
965 | @HasPermissionAllDecorator('hg.admin') |
|
905 | @HasPermissionAllDecorator('hg.admin') | |
966 | @CSRFRequired() |
|
906 | @CSRFRequired() | |
967 | @view_config( |
|
|||
968 | route_name='edit_user_ssh_keys_add', request_method='POST') |
|
|||
969 | def ssh_keys_add(self): |
|
907 | def ssh_keys_add(self): | |
970 | _ = self.request.translate |
|
908 | _ = self.request.translate | |
971 | c = self.load_default_context() |
|
909 | c = self.load_default_context() | |
@@ -1017,8 +955,6 b' class UsersView(UserAppView):' | |||||
1017 | @LoginRequired() |
|
955 | @LoginRequired() | |
1018 | @HasPermissionAllDecorator('hg.admin') |
|
956 | @HasPermissionAllDecorator('hg.admin') | |
1019 | @CSRFRequired() |
|
957 | @CSRFRequired() | |
1020 | @view_config( |
|
|||
1021 | route_name='edit_user_ssh_keys_delete', request_method='POST') |
|
|||
1022 | def ssh_keys_delete(self): |
|
958 | def ssh_keys_delete(self): | |
1023 | _ = self.request.translate |
|
959 | _ = self.request.translate | |
1024 | c = self.load_default_context() |
|
960 | c = self.load_default_context() | |
@@ -1048,9 +984,6 b' class UsersView(UserAppView):' | |||||
1048 |
|
984 | |||
1049 | @LoginRequired() |
|
985 | @LoginRequired() | |
1050 | @HasPermissionAllDecorator('hg.admin') |
|
986 | @HasPermissionAllDecorator('hg.admin') | |
1051 | @view_config( |
|
|||
1052 | route_name='edit_user_emails', request_method='GET', |
|
|||
1053 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
1054 | def emails(self): |
|
987 | def emails(self): | |
1055 | _ = self.request.translate |
|
988 | _ = self.request.translate | |
1056 | c = self.load_default_context() |
|
989 | c = self.load_default_context() | |
@@ -1065,8 +998,6 b' class UsersView(UserAppView):' | |||||
1065 | @LoginRequired() |
|
998 | @LoginRequired() | |
1066 | @HasPermissionAllDecorator('hg.admin') |
|
999 | @HasPermissionAllDecorator('hg.admin') | |
1067 | @CSRFRequired() |
|
1000 | @CSRFRequired() | |
1068 | @view_config( |
|
|||
1069 | route_name='edit_user_emails_add', request_method='POST') |
|
|||
1070 | def emails_add(self): |
|
1001 | def emails_add(self): | |
1071 | _ = self.request.translate |
|
1002 | _ = self.request.translate | |
1072 | c = self.load_default_context() |
|
1003 | c = self.load_default_context() | |
@@ -1105,8 +1036,6 b' class UsersView(UserAppView):' | |||||
1105 | @LoginRequired() |
|
1036 | @LoginRequired() | |
1106 | @HasPermissionAllDecorator('hg.admin') |
|
1037 | @HasPermissionAllDecorator('hg.admin') | |
1107 | @CSRFRequired() |
|
1038 | @CSRFRequired() | |
1108 | @view_config( |
|
|||
1109 | route_name='edit_user_emails_delete', request_method='POST') |
|
|||
1110 | def emails_delete(self): |
|
1039 | def emails_delete(self): | |
1111 | _ = self.request.translate |
|
1040 | _ = self.request.translate | |
1112 | c = self.load_default_context() |
|
1041 | c = self.load_default_context() | |
@@ -1131,9 +1060,6 b' class UsersView(UserAppView):' | |||||
1131 |
|
1060 | |||
1132 | @LoginRequired() |
|
1061 | @LoginRequired() | |
1133 | @HasPermissionAllDecorator('hg.admin') |
|
1062 | @HasPermissionAllDecorator('hg.admin') | |
1134 | @view_config( |
|
|||
1135 | route_name='edit_user_ips', request_method='GET', |
|
|||
1136 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
1137 | def ips(self): |
|
1063 | def ips(self): | |
1138 | _ = self.request.translate |
|
1064 | _ = self.request.translate | |
1139 | c = self.load_default_context() |
|
1065 | c = self.load_default_context() | |
@@ -1152,8 +1078,6 b' class UsersView(UserAppView):' | |||||
1152 | @LoginRequired() |
|
1078 | @LoginRequired() | |
1153 | @HasPermissionAllDecorator('hg.admin') |
|
1079 | @HasPermissionAllDecorator('hg.admin') | |
1154 | @CSRFRequired() |
|
1080 | @CSRFRequired() | |
1155 | @view_config( |
|
|||
1156 | route_name='edit_user_ips_add', request_method='POST') |
|
|||
1157 | # NOTE(marcink): this view is allowed for default users, as we can |
|
1081 | # NOTE(marcink): this view is allowed for default users, as we can | |
1158 | # edit their IP white list |
|
1082 | # edit their IP white list | |
1159 | def ips_add(self): |
|
1083 | def ips_add(self): | |
@@ -1207,8 +1131,6 b' class UsersView(UserAppView):' | |||||
1207 | @LoginRequired() |
|
1131 | @LoginRequired() | |
1208 | @HasPermissionAllDecorator('hg.admin') |
|
1132 | @HasPermissionAllDecorator('hg.admin') | |
1209 | @CSRFRequired() |
|
1133 | @CSRFRequired() | |
1210 | @view_config( |
|
|||
1211 | route_name='edit_user_ips_delete', request_method='POST') |
|
|||
1212 | # NOTE(marcink): this view is allowed for default users, as we can |
|
1134 | # NOTE(marcink): this view is allowed for default users, as we can | |
1213 | # edit their IP white list |
|
1135 | # edit their IP white list | |
1214 | def ips_delete(self): |
|
1136 | def ips_delete(self): | |
@@ -1236,9 +1158,6 b' class UsersView(UserAppView):' | |||||
1236 |
|
1158 | |||
1237 | @LoginRequired() |
|
1159 | @LoginRequired() | |
1238 | @HasPermissionAllDecorator('hg.admin') |
|
1160 | @HasPermissionAllDecorator('hg.admin') | |
1239 | @view_config( |
|
|||
1240 | route_name='edit_user_groups_management', request_method='GET', |
|
|||
1241 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
1242 | def groups_management(self): |
|
1161 | def groups_management(self): | |
1243 | c = self.load_default_context() |
|
1162 | c = self.load_default_context() | |
1244 | c.user = self.db_user |
|
1163 | c.user = self.db_user | |
@@ -1254,8 +1173,6 b' class UsersView(UserAppView):' | |||||
1254 | @LoginRequired() |
|
1173 | @LoginRequired() | |
1255 | @HasPermissionAllDecorator('hg.admin') |
|
1174 | @HasPermissionAllDecorator('hg.admin') | |
1256 | @CSRFRequired() |
|
1175 | @CSRFRequired() | |
1257 | @view_config( |
|
|||
1258 | route_name='edit_user_groups_management_updates', request_method='POST') |
|
|||
1259 | def groups_management_updates(self): |
|
1176 | def groups_management_updates(self): | |
1260 | _ = self.request.translate |
|
1177 | _ = self.request.translate | |
1261 | c = self.load_default_context() |
|
1178 | c = self.load_default_context() | |
@@ -1299,9 +1216,6 b' class UsersView(UserAppView):' | |||||
1299 |
|
1216 | |||
1300 | @LoginRequired() |
|
1217 | @LoginRequired() | |
1301 | @HasPermissionAllDecorator('hg.admin') |
|
1218 | @HasPermissionAllDecorator('hg.admin') | |
1302 | @view_config( |
|
|||
1303 | route_name='edit_user_audit_logs', request_method='GET', |
|
|||
1304 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
1305 | def user_audit_logs(self): |
|
1219 | def user_audit_logs(self): | |
1306 | _ = self.request.translate |
|
1220 | _ = self.request.translate | |
1307 | c = self.load_default_context() |
|
1221 | c = self.load_default_context() | |
@@ -1329,9 +1243,6 b' class UsersView(UserAppView):' | |||||
1329 |
|
1243 | |||
1330 | @LoginRequired() |
|
1244 | @LoginRequired() | |
1331 | @HasPermissionAllDecorator('hg.admin') |
|
1245 | @HasPermissionAllDecorator('hg.admin') | |
1332 | @view_config( |
|
|||
1333 | route_name='edit_user_audit_logs_download', request_method='GET', |
|
|||
1334 | renderer='string') |
|
|||
1335 | def user_audit_logs_download(self): |
|
1246 | def user_audit_logs_download(self): | |
1336 | _ = self.request.translate |
|
1247 | _ = self.request.translate | |
1337 | c = self.load_default_context() |
|
1248 | c = self.load_default_context() | |
@@ -1352,9 +1263,6 b' class UsersView(UserAppView):' | |||||
1352 |
|
1263 | |||
1353 | @LoginRequired() |
|
1264 | @LoginRequired() | |
1354 | @HasPermissionAllDecorator('hg.admin') |
|
1265 | @HasPermissionAllDecorator('hg.admin') | |
1355 | @view_config( |
|
|||
1356 | route_name='edit_user_perms_summary', request_method='GET', |
|
|||
1357 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
1358 | def user_perms_summary(self): |
|
1266 | def user_perms_summary(self): | |
1359 | _ = self.request.translate |
|
1267 | _ = self.request.translate | |
1360 | c = self.load_default_context() |
|
1268 | c = self.load_default_context() | |
@@ -1367,9 +1275,6 b' class UsersView(UserAppView):' | |||||
1367 |
|
1275 | |||
1368 | @LoginRequired() |
|
1276 | @LoginRequired() | |
1369 | @HasPermissionAllDecorator('hg.admin') |
|
1277 | @HasPermissionAllDecorator('hg.admin') | |
1370 | @view_config( |
|
|||
1371 | route_name='edit_user_perms_summary_json', request_method='GET', |
|
|||
1372 | renderer='json_ext') |
|
|||
1373 | def user_perms_summary_json(self): |
|
1278 | def user_perms_summary_json(self): | |
1374 | self.load_default_context() |
|
1279 | self.load_default_context() | |
1375 | perm_user = self.db_user.AuthUser(ip_addr=self.request.remote_addr) |
|
1280 | perm_user = self.db_user.AuthUser(ip_addr=self.request.remote_addr) | |
@@ -1378,9 +1283,6 b' class UsersView(UserAppView):' | |||||
1378 |
|
1283 | |||
1379 | @LoginRequired() |
|
1284 | @LoginRequired() | |
1380 | @HasPermissionAllDecorator('hg.admin') |
|
1285 | @HasPermissionAllDecorator('hg.admin') | |
1381 | @view_config( |
|
|||
1382 | route_name='edit_user_caches', request_method='GET', |
|
|||
1383 | renderer='rhodecode:templates/admin/users/user_edit.mako') |
|
|||
1384 | def user_caches(self): |
|
1286 | def user_caches(self): | |
1385 | _ = self.request.translate |
|
1287 | _ = self.request.translate | |
1386 | c = self.load_default_context() |
|
1288 | c = self.load_default_context() | |
@@ -1399,8 +1301,6 b' class UsersView(UserAppView):' | |||||
1399 | @LoginRequired() |
|
1301 | @LoginRequired() | |
1400 | @HasPermissionAllDecorator('hg.admin') |
|
1302 | @HasPermissionAllDecorator('hg.admin') | |
1401 | @CSRFRequired() |
|
1303 | @CSRFRequired() | |
1402 | @view_config( |
|
|||
1403 | route_name='edit_user_caches_update', request_method='POST') |
|
|||
1404 | def user_caches_update(self): |
|
1304 | def user_caches_update(self): | |
1405 | _ = self.request.translate |
|
1305 | _ = self.request.translate | |
1406 | c = self.load_default_context() |
|
1306 | c = self.load_default_context() |
@@ -67,6 +67,8 b' def maybe_create_history_store(event):' | |||||
67 |
|
67 | |||
68 |
|
68 | |||
69 | def includeme(config): |
|
69 | def includeme(config): | |
|
70 | from rhodecode.apps.channelstream.views import ChannelstreamView | |||
|
71 | ||||
70 | settings = config.registry.settings |
|
72 | settings = config.registry.settings | |
71 | PLUGIN_DEFINITION['config']['enabled'] = asbool( |
|
73 | PLUGIN_DEFINITION['config']['enabled'] = asbool( | |
72 | settings.get('channelstream.enabled')) |
|
74 | settings.get('channelstream.enabled')) | |
@@ -85,12 +87,20 b' def includeme(config):' | |||||
85 | config.add_route( |
|
87 | config.add_route( | |
86 | name='channelstream_connect', |
|
88 | name='channelstream_connect', | |
87 | pattern=ADMIN_PREFIX + '/channelstream/connect') |
|
89 | pattern=ADMIN_PREFIX + '/channelstream/connect') | |
|
90 | config.add_view( | |||
|
91 | ChannelstreamView, | |||
|
92 | attr='channelstream_connect', | |||
|
93 | route_name='channelstream_connect', renderer='json_ext') | |||
|
94 | ||||
88 | config.add_route( |
|
95 | config.add_route( | |
89 | name='channelstream_subscribe', |
|
96 | name='channelstream_subscribe', | |
90 | pattern=ADMIN_PREFIX + '/channelstream/subscribe') |
|
97 | pattern=ADMIN_PREFIX + '/channelstream/subscribe') | |
|
98 | config.add_view( | |||
|
99 | ChannelstreamView, | |||
|
100 | attr='channelstream_subscribe', | |||
|
101 | route_name='channelstream_subscribe', renderer='json_ext') | |||
|
102 | ||||
91 | config.add_route( |
|
103 | config.add_route( | |
92 | name='channelstream_proxy', |
|
104 | name='channelstream_proxy', | |
93 | pattern=settings.get('channelstream.proxy_path') or '/_channelstream') |
|
105 | pattern=settings.get('channelstream.proxy_path') or '/_channelstream') | |
94 |
|
106 | |||
95 | # Scan module for configuration decorators. |
|
|||
96 | config.scan('.views', ignore='.tests') |
|
@@ -21,7 +21,7 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 | import uuid |
|
22 | import uuid | |
23 |
|
23 | |||
24 | from pyramid.view import view_config |
|
24 | ||
25 | from pyramid.httpexceptions import HTTPBadRequest, HTTPForbidden, HTTPBadGateway |
|
25 | from pyramid.httpexceptions import HTTPBadRequest, HTTPForbidden, HTTPBadGateway | |
26 |
|
26 | |||
27 | from rhodecode.apps._base import BaseAppView |
|
27 | from rhodecode.apps._base import BaseAppView | |
@@ -54,8 +54,7 b' class ChannelstreamView(BaseAppView):' | |||||
54 | return c |
|
54 | return c | |
55 |
|
55 | |||
56 | @NotAnonymous() |
|
56 | @NotAnonymous() | |
57 | @view_config(route_name='channelstream_connect', renderer='json_ext') |
|
57 | def channelstream_connect(self): | |
58 | def connect(self): |
|
|||
59 | """ handle authorization of users trying to connect """ |
|
58 | """ handle authorization of users trying to connect """ | |
60 |
|
59 | |||
61 | self.load_default_context() |
|
60 | self.load_default_context() | |
@@ -132,8 +131,7 b' class ChannelstreamView(BaseAppView):' | |||||
132 | return connect_result |
|
131 | return connect_result | |
133 |
|
132 | |||
134 | @NotAnonymous() |
|
133 | @NotAnonymous() | |
135 | @view_config(route_name='channelstream_subscribe', renderer='json_ext') |
|
134 | def channelstream_subscribe(self): | |
136 | def subscribe(self): |
|
|||
137 | """ can be used to subscribe specific connection to other channels """ |
|
135 | """ can be used to subscribe specific connection to other channels """ | |
138 | self.load_default_context() |
|
136 | self.load_default_context() | |
139 | try: |
|
137 | try: |
@@ -35,6 +35,8 b' class DebugStylePredicate(object):' | |||||
35 |
|
35 | |||
36 |
|
36 | |||
37 | def includeme(config): |
|
37 | def includeme(config): | |
|
38 | from rhodecode.apps.debug_style.views import DebugStyleView | |||
|
39 | ||||
38 | config.add_route_predicate( |
|
40 | config.add_route_predicate( | |
39 | 'debug_style', DebugStylePredicate) |
|
41 | 'debug_style', DebugStylePredicate) | |
40 |
|
42 | |||
@@ -42,18 +44,38 b' def includeme(config):' | |||||
42 | name='debug_style_home', |
|
44 | name='debug_style_home', | |
43 | pattern=ADMIN_PREFIX + '/debug_style', |
|
45 | pattern=ADMIN_PREFIX + '/debug_style', | |
44 | debug_style=True) |
|
46 | debug_style=True) | |
|
47 | config.add_view( | |||
|
48 | DebugStyleView, | |||
|
49 | attr='index', | |||
|
50 | route_name='debug_style_home', request_method='GET', | |||
|
51 | renderer=None) | |||
|
52 | ||||
45 | config.add_route( |
|
53 | config.add_route( | |
46 | name='debug_style_email', |
|
54 | name='debug_style_email', | |
47 | pattern=ADMIN_PREFIX + '/debug_style/email/{email_id}', |
|
55 | pattern=ADMIN_PREFIX + '/debug_style/email/{email_id}', | |
48 | debug_style=True) |
|
56 | debug_style=True) | |
|
57 | config.add_view( | |||
|
58 | DebugStyleView, | |||
|
59 | attr='render_email', | |||
|
60 | route_name='debug_style_email', request_method='GET', | |||
|
61 | renderer=None) | |||
|
62 | ||||
49 | config.add_route( |
|
63 | config.add_route( | |
50 | name='debug_style_email_plain_rendered', |
|
64 | name='debug_style_email_plain_rendered', | |
51 | pattern=ADMIN_PREFIX + '/debug_style/email-rendered/{email_id}', |
|
65 | pattern=ADMIN_PREFIX + '/debug_style/email-rendered/{email_id}', | |
52 | debug_style=True) |
|
66 | debug_style=True) | |
|
67 | config.add_view( | |||
|
68 | DebugStyleView, | |||
|
69 | attr='render_email', | |||
|
70 | route_name='debug_style_email_plain_rendered', request_method='GET', | |||
|
71 | renderer=None) | |||
|
72 | ||||
53 | config.add_route( |
|
73 | config.add_route( | |
54 | name='debug_style_template', |
|
74 | name='debug_style_template', | |
55 | pattern=ADMIN_PREFIX + '/debug_style/t/{t_path}', |
|
75 | pattern=ADMIN_PREFIX + '/debug_style/t/{t_path}', | |
56 | debug_style=True) |
|
76 | debug_style=True) | |
57 |
|
77 | config.add_view( | ||
58 | # Scan module for configuration decorators. |
|
78 | DebugStyleView, | |
59 | config.scan('.views', ignore='.tests') |
|
79 | attr='template', | |
|
80 | route_name='debug_style_template', request_method='GET', | |||
|
81 | renderer=None) |
@@ -22,7 +22,6 b' import os' | |||||
22 | import logging |
|
22 | import logging | |
23 | import datetime |
|
23 | import datetime | |
24 |
|
24 | |||
25 | from pyramid.view import view_config |
|
|||
26 | from pyramid.renderers import render_to_response |
|
25 | from pyramid.renderers import render_to_response | |
27 | from rhodecode.apps._base import BaseAppView |
|
26 | from rhodecode.apps._base import BaseAppView | |
28 | from rhodecode.lib.celerylib import run_task, tasks |
|
27 | from rhodecode.lib.celerylib import run_task, tasks | |
@@ -37,12 +36,8 b' class DebugStyleView(BaseAppView):' | |||||
37 |
|
36 | |||
38 | def load_default_context(self): |
|
37 | def load_default_context(self): | |
39 | c = self._get_local_tmpl_context() |
|
38 | c = self._get_local_tmpl_context() | |
40 |
|
||||
41 | return c |
|
39 | return c | |
42 |
|
40 | |||
43 | @view_config( |
|
|||
44 | route_name='debug_style_home', request_method='GET', |
|
|||
45 | renderer=None) |
|
|||
46 | def index(self): |
|
41 | def index(self): | |
47 | c = self.load_default_context() |
|
42 | c = self.load_default_context() | |
48 | c.active = 'index' |
|
43 | c.active = 'index' | |
@@ -51,12 +46,6 b' class DebugStyleView(BaseAppView):' | |||||
51 | 'debug_style/index.html', self._get_template_context(c), |
|
46 | 'debug_style/index.html', self._get_template_context(c), | |
52 | request=self.request) |
|
47 | request=self.request) | |
53 |
|
48 | |||
54 | @view_config( |
|
|||
55 | route_name='debug_style_email', request_method='GET', |
|
|||
56 | renderer=None) |
|
|||
57 | @view_config( |
|
|||
58 | route_name='debug_style_email_plain_rendered', request_method='GET', |
|
|||
59 | renderer=None) |
|
|||
60 | def render_email(self): |
|
49 | def render_email(self): | |
61 | c = self.load_default_context() |
|
50 | c = self.load_default_context() | |
62 | email_id = self.request.matchdict['email_id'] |
|
51 | email_id = self.request.matchdict['email_id'] | |
@@ -457,9 +446,6 b' users: description edit fixes' | |||||
457 | template, self._get_template_context(c), |
|
446 | template, self._get_template_context(c), | |
458 | request=self.request) |
|
447 | request=self.request) | |
459 |
|
448 | |||
460 | @view_config( |
|
|||
461 | route_name='debug_style_template', request_method='GET', |
|
|||
462 | renderer=None) |
|
|||
463 | def template(self): |
|
449 | def template(self): | |
464 | t_path = self.request.matchdict['t_path'] |
|
450 | t_path = self.request.matchdict['t_path'] | |
465 | c = self.load_default_context() |
|
451 | c = self.load_default_context() | |
@@ -483,4 +469,3 b' users: description edit fixes' | |||||
483 | return render_to_response( |
|
469 | return render_to_response( | |
484 | 'debug_style/' + t_path, self._get_template_context(c), |
|
470 | 'debug_style/' + t_path, self._get_template_context(c), | |
485 | request=self.request) |
|
471 | request=self.request) | |
486 |
|
@@ -35,18 +35,31 b' def _sanitize_settings_and_apply_default' | |||||
35 |
|
35 | |||
36 |
|
36 | |||
37 | def includeme(config): |
|
37 | def includeme(config): | |
|
38 | from rhodecode.apps.file_store.views import FileStoreView | |||
|
39 | ||||
38 | settings = config.registry.settings |
|
40 | settings = config.registry.settings | |
39 | _sanitize_settings_and_apply_defaults(settings) |
|
41 | _sanitize_settings_and_apply_defaults(settings) | |
40 |
|
42 | |||
41 | config.add_route( |
|
43 | config.add_route( | |
42 | name='upload_file', |
|
44 | name='upload_file', | |
43 | pattern='/_file_store/upload') |
|
45 | pattern='/_file_store/upload') | |
|
46 | config.add_view( | |||
|
47 | FileStoreView, | |||
|
48 | attr='upload_file', | |||
|
49 | route_name='upload_file', request_method='POST', renderer='json_ext') | |||
|
50 | ||||
44 | config.add_route( |
|
51 | config.add_route( | |
45 | name='download_file', |
|
52 | name='download_file', | |
46 | pattern='/_file_store/download/{fid:.*}') |
|
53 | pattern='/_file_store/download/{fid:.*}') | |
|
54 | config.add_view( | |||
|
55 | FileStoreView, | |||
|
56 | attr='download_file', | |||
|
57 | route_name='download_file') | |||
|
58 | ||||
47 | config.add_route( |
|
59 | config.add_route( | |
48 | name='download_file_by_token', |
|
60 | name='download_file_by_token', | |
49 | pattern='/_file_store/token-download/{_auth_token}/{fid:.*}') |
|
61 | pattern='/_file_store/token-download/{_auth_token}/{fid:.*}') | |
50 |
|
62 | config.add_view( | ||
51 | # Scan module for configuration decorators. |
|
63 | FileStoreView, | |
52 | config.scan('.views', ignore='.tests') |
|
64 | attr='download_file_by_token', | |
|
65 | route_name='download_file_by_token') |
@@ -21,7 +21,6 b'' | |||||
21 | import os |
|
21 | import os | |
22 | import time |
|
22 | import time | |
23 | import errno |
|
23 | import errno | |
24 | import shutil |
|
|||
25 | import hashlib |
|
24 | import hashlib | |
26 |
|
25 | |||
27 | from rhodecode.lib.ext_json import json |
|
26 | from rhodecode.lib.ext_json import json | |
@@ -212,10 +211,19 b' class LocalFileStorage(object):' | |||||
212 | filename, path = self.resolve_name(uid_filename, dest_directory) |
|
211 | filename, path = self.resolve_name(uid_filename, dest_directory) | |
213 | stored_file_dir = os.path.dirname(path) |
|
212 | stored_file_dir = os.path.dirname(path) | |
214 |
|
213 | |||
215 | file_obj.seek(0) |
|
214 | no_body_seek = kwargs.pop('no_body_seek', False) | |
|
215 | if no_body_seek: | |||
|
216 | pass | |||
|
217 | else: | |||
|
218 | file_obj.seek(0) | |||
216 |
|
219 | |||
217 | with open(path, "wb") as dest: |
|
220 | with open(path, "wb") as dest: | |
218 | shutil.copyfileobj(file_obj, dest) |
|
221 | length = 256 * 1024 | |
|
222 | while 1: | |||
|
223 | buf = file_obj.read(length) | |||
|
224 | if not buf: | |||
|
225 | break | |||
|
226 | dest.write(buf) | |||
219 |
|
227 | |||
220 | metadata = {} |
|
228 | metadata = {} | |
221 | if extra_metadata: |
|
229 | if extra_metadata: |
@@ -19,7 +19,7 b'' | |||||
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 | import logging |
|
20 | import logging | |
21 |
|
21 | |||
22 | from pyramid.view import view_config |
|
22 | ||
23 | from pyramid.response import FileResponse |
|
23 | from pyramid.response import FileResponse | |
24 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
24 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound | |
25 |
|
25 | |||
@@ -57,7 +57,6 b' class FileStoreView(BaseAppView):' | |||||
57 | return _content_type, _encoding |
|
57 | return _content_type, _encoding | |
58 |
|
58 | |||
59 | def _serve_file(self, file_uid): |
|
59 | def _serve_file(self, file_uid): | |
60 |
|
||||
61 | if not self.storage.exists(file_uid): |
|
60 | if not self.storage.exists(file_uid): | |
62 | store_path = self.storage.store_path(file_uid) |
|
61 | store_path = self.storage.store_path(file_uid) | |
63 | log.debug('File with FID:%s not found in the store under `%s`', |
|
62 | log.debug('File with FID:%s not found in the store under `%s`', | |
@@ -112,13 +111,23 b' class FileStoreView(BaseAppView):' | |||||
112 | # For file store we don't submit any session data, this logic tells the |
|
111 | # For file store we don't submit any session data, this logic tells the | |
113 | # Session lib to skip it |
|
112 | # Session lib to skip it | |
114 | setattr(self.request, '_file_response', True) |
|
113 | setattr(self.request, '_file_response', True) | |
115 | return FileResponse(file_path, request=self.request, |
|
114 | response = FileResponse( | |
116 | content_type=content_type, content_encoding=content_encoding) |
|
115 | file_path, request=self.request, | |
|
116 | content_type=content_type, content_encoding=content_encoding) | |||
|
117 | ||||
|
118 | file_name = db_obj.file_display_name | |||
|
119 | ||||
|
120 | response.headers["Content-Disposition"] = ( | |||
|
121 | 'attachment; filename="{}"'.format(str(file_name)) | |||
|
122 | ) | |||
|
123 | response.headers["X-RC-Artifact-Id"] = str(db_obj.file_store_id) | |||
|
124 | response.headers["X-RC-Artifact-Desc"] = str(db_obj.file_description) | |||
|
125 | response.headers["X-RC-Artifact-Sha256"] = str(db_obj.file_hash) | |||
|
126 | return response | |||
117 |
|
127 | |||
118 | @LoginRequired() |
|
128 | @LoginRequired() | |
119 | @NotAnonymous() |
|
129 | @NotAnonymous() | |
120 | @CSRFRequired() |
|
130 | @CSRFRequired() | |
121 | @view_config(route_name='upload_file', request_method='POST', renderer='json_ext') |
|
|||
122 | def upload_file(self): |
|
131 | def upload_file(self): | |
123 | self.load_default_context() |
|
132 | self.load_default_context() | |
124 | file_obj = self.request.POST.get(self.upload_key) |
|
133 | file_obj = self.request.POST.get(self.upload_key) | |
@@ -172,7 +181,6 b' class FileStoreView(BaseAppView):' | |||||
172 | 'access_path': h.route_path('download_file', fid=store_uid)} |
|
181 | 'access_path': h.route_path('download_file', fid=store_uid)} | |
173 |
|
182 | |||
174 | # ACL is checked by scopes, if no scope the file is accessible to all |
|
183 | # ACL is checked by scopes, if no scope the file is accessible to all | |
175 | @view_config(route_name='download_file') |
|
|||
176 | def download_file(self): |
|
184 | def download_file(self): | |
177 | self.load_default_context() |
|
185 | self.load_default_context() | |
178 | file_uid = self.request.matchdict['fid'] |
|
186 | file_uid = self.request.matchdict['fid'] | |
@@ -182,7 +190,6 b' class FileStoreView(BaseAppView):' | |||||
182 | # in addition to @LoginRequired ACL is checked by scopes |
|
190 | # in addition to @LoginRequired ACL is checked by scopes | |
183 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_ARTIFACT_DOWNLOAD]) |
|
191 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_ARTIFACT_DOWNLOAD]) | |
184 | @NotAnonymous() |
|
192 | @NotAnonymous() | |
185 | @view_config(route_name='download_file_by_token') |
|
|||
186 | def download_file_by_token(self): |
|
193 | def download_file_by_token(self): | |
187 | """ |
|
194 | """ | |
188 | Special view that allows to access the download file by special URL that |
|
195 | Special view that allows to access the download file by special URL that |
@@ -21,42 +21,100 b' from rhodecode.apps._base import ADMIN_P' | |||||
21 |
|
21 | |||
22 |
|
22 | |||
23 | def admin_routes(config): |
|
23 | def admin_routes(config): | |
|
24 | from rhodecode.apps.gist.views import GistView | |||
|
25 | ||||
24 | config.add_route( |
|
26 | config.add_route( | |
25 | name='gists_show', pattern='/gists') |
|
27 | name='gists_show', pattern='/gists') | |
|
28 | config.add_view( | |||
|
29 | GistView, | |||
|
30 | attr='gist_show_all', | |||
|
31 | route_name='gists_show', request_method='GET', | |||
|
32 | renderer='rhodecode:templates/admin/gists/gist_index.mako') | |||
|
33 | ||||
26 | config.add_route( |
|
34 | config.add_route( | |
27 | name='gists_new', pattern='/gists/new') |
|
35 | name='gists_new', pattern='/gists/new') | |
|
36 | config.add_view( | |||
|
37 | GistView, | |||
|
38 | attr='gist_new', | |||
|
39 | route_name='gists_new', request_method='GET', | |||
|
40 | renderer='rhodecode:templates/admin/gists/gist_new.mako') | |||
|
41 | ||||
28 | config.add_route( |
|
42 | config.add_route( | |
29 | name='gists_create', pattern='/gists/create') |
|
43 | name='gists_create', pattern='/gists/create') | |
|
44 | config.add_view( | |||
|
45 | GistView, | |||
|
46 | attr='gist_create', | |||
|
47 | route_name='gists_create', request_method='POST', | |||
|
48 | renderer='rhodecode:templates/admin/gists/gist_new.mako') | |||
30 |
|
49 | |||
31 | config.add_route( |
|
50 | config.add_route( | |
32 | name='gist_show', pattern='/gists/{gist_id}') |
|
51 | name='gist_show', pattern='/gists/{gist_id}') | |
|
52 | config.add_view( | |||
|
53 | GistView, | |||
|
54 | attr='gist_show', | |||
|
55 | route_name='gist_show', request_method='GET', | |||
|
56 | renderer='rhodecode:templates/admin/gists/gist_show.mako') | |||
|
57 | ||||
|
58 | config.add_route( | |||
|
59 | name='gist_show_rev', | |||
|
60 | pattern='/gists/{gist_id}/rev/{revision}') | |||
|
61 | ||||
|
62 | config.add_view( | |||
|
63 | GistView, | |||
|
64 | attr='gist_show', | |||
|
65 | route_name='gist_show_rev', request_method='GET', | |||
|
66 | renderer='rhodecode:templates/admin/gists/gist_show.mako') | |||
|
67 | ||||
|
68 | config.add_route( | |||
|
69 | name='gist_show_formatted', | |||
|
70 | pattern='/gists/{gist_id}/rev/{revision}/{format}') | |||
|
71 | config.add_view( | |||
|
72 | GistView, | |||
|
73 | attr='gist_show', | |||
|
74 | route_name='gist_show_formatted', request_method='GET', | |||
|
75 | renderer=None) | |||
|
76 | ||||
|
77 | config.add_route( | |||
|
78 | name='gist_show_formatted_path', | |||
|
79 | pattern='/gists/{gist_id}/rev/{revision}/{format}/{f_path:.*}') | |||
|
80 | config.add_view( | |||
|
81 | GistView, | |||
|
82 | attr='gist_show', | |||
|
83 | route_name='gist_show_formatted_path', request_method='GET', | |||
|
84 | renderer=None) | |||
33 |
|
85 | |||
34 | config.add_route( |
|
86 | config.add_route( | |
35 | name='gist_delete', pattern='/gists/{gist_id}/delete') |
|
87 | name='gist_delete', pattern='/gists/{gist_id}/delete') | |
|
88 | config.add_view( | |||
|
89 | GistView, | |||
|
90 | attr='gist_delete', | |||
|
91 | route_name='gist_delete', request_method='POST') | |||
36 |
|
92 | |||
37 | config.add_route( |
|
93 | config.add_route( | |
38 | name='gist_edit', pattern='/gists/{gist_id}/edit') |
|
94 | name='gist_edit', pattern='/gists/{gist_id}/edit') | |
|
95 | config.add_view( | |||
|
96 | GistView, | |||
|
97 | attr='gist_edit', | |||
|
98 | route_name='gist_edit', request_method='GET', | |||
|
99 | renderer='rhodecode:templates/admin/gists/gist_edit.mako') | |||
|
100 | ||||
|
101 | config.add_route( | |||
|
102 | name='gist_update', pattern='/gists/{gist_id}/update') | |||
|
103 | config.add_view( | |||
|
104 | GistView, | |||
|
105 | attr='gist_update', | |||
|
106 | route_name='gist_update', request_method='POST', | |||
|
107 | renderer='rhodecode:templates/admin/gists/gist_edit.mako') | |||
39 |
|
108 | |||
40 | config.add_route( |
|
109 | config.add_route( | |
41 | name='gist_edit_check_revision', |
|
110 | name='gist_edit_check_revision', | |
42 | pattern='/gists/{gist_id}/edit/check_revision') |
|
111 | pattern='/gists/{gist_id}/edit/check_revision') | |
43 |
|
112 | config.add_view( | ||
44 | config.add_route( |
|
113 | GistView, | |
45 | name='gist_update', pattern='/gists/{gist_id}/update') |
|
114 | attr='gist_edit_check_revision', | |
46 |
|
115 | route_name='gist_edit_check_revision', request_method='GET', | ||
47 | config.add_route( |
|
116 | renderer='json_ext') | |
48 | name='gist_show_rev', |
|
|||
49 | pattern='/gists/{gist_id}/{revision}') |
|
|||
50 | config.add_route( |
|
|||
51 | name='gist_show_formatted', |
|
|||
52 | pattern='/gists/{gist_id}/{revision}/{format}') |
|
|||
53 |
|
||||
54 | config.add_route( |
|
|||
55 | name='gist_show_formatted_path', |
|
|||
56 | pattern='/gists/{gist_id}/{revision}/{format}/{f_path:.*}') |
|
|||
57 |
|
117 | |||
58 |
|
118 | |||
59 | def includeme(config): |
|
119 | def includeme(config): | |
60 | config.include(admin_routes, route_prefix=ADMIN_PREFIX) |
|
120 | config.include(admin_routes, route_prefix=ADMIN_PREFIX) | |
61 | # Scan module for configuration decorators. |
|
|||
62 | config.scan('.views', ignore='.tests') |
|
@@ -43,9 +43,9 b' def route_path(name, params=None, **kwar' | |||||
43 | 'gist_edit': ADMIN_PREFIX + '/gists/{gist_id}/edit', |
|
43 | 'gist_edit': ADMIN_PREFIX + '/gists/{gist_id}/edit', | |
44 | 'gist_edit_check_revision': ADMIN_PREFIX + '/gists/{gist_id}/edit/check_revision', |
|
44 | 'gist_edit_check_revision': ADMIN_PREFIX + '/gists/{gist_id}/edit/check_revision', | |
45 | 'gist_update': ADMIN_PREFIX + '/gists/{gist_id}/update', |
|
45 | 'gist_update': ADMIN_PREFIX + '/gists/{gist_id}/update', | |
46 | 'gist_show_rev': ADMIN_PREFIX + '/gists/{gist_id}/{revision}', |
|
46 | 'gist_show_rev': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}', | |
47 | 'gist_show_formatted': ADMIN_PREFIX + '/gists/{gist_id}/{revision}/{format}', |
|
47 | 'gist_show_formatted': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}/{format}', | |
48 | 'gist_show_formatted_path': ADMIN_PREFIX + '/gists/{gist_id}/{revision}/{format}/{f_path}', |
|
48 | 'gist_show_formatted_path': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}/{format}/{f_path}', | |
49 |
|
49 | |||
50 | }[name].format(**kwargs) |
|
50 | }[name].format(**kwargs) | |
51 |
|
51 |
@@ -26,7 +26,6 b' import formencode.htmlfill' | |||||
26 | import peppercorn |
|
26 | import peppercorn | |
27 |
|
27 | |||
28 | from pyramid.httpexceptions import HTTPNotFound, HTTPFound, HTTPBadRequest |
|
28 | from pyramid.httpexceptions import HTTPNotFound, HTTPFound, HTTPBadRequest | |
29 | from pyramid.view import view_config |
|
|||
30 | from pyramid.renderers import render |
|
29 | from pyramid.renderers import render | |
31 | from pyramid.response import Response |
|
30 | from pyramid.response import Response | |
32 |
|
31 | |||
@@ -70,9 +69,6 b' class GistView(BaseAppView):' | |||||
70 | return c |
|
69 | return c | |
71 |
|
70 | |||
72 | @LoginRequired() |
|
71 | @LoginRequired() | |
73 | @view_config( |
|
|||
74 | route_name='gists_show', request_method='GET', |
|
|||
75 | renderer='rhodecode:templates/admin/gists/gist_index.mako') |
|
|||
76 | def gist_show_all(self): |
|
72 | def gist_show_all(self): | |
77 | c = self.load_default_context() |
|
73 | c = self.load_default_context() | |
78 |
|
74 | |||
@@ -134,9 +130,6 b' class GistView(BaseAppView):' | |||||
134 |
|
130 | |||
135 | @LoginRequired() |
|
131 | @LoginRequired() | |
136 | @NotAnonymous() |
|
132 | @NotAnonymous() | |
137 | @view_config( |
|
|||
138 | route_name='gists_new', request_method='GET', |
|
|||
139 | renderer='rhodecode:templates/admin/gists/gist_new.mako') |
|
|||
140 | def gist_new(self): |
|
133 | def gist_new(self): | |
141 | c = self.load_default_context() |
|
134 | c = self.load_default_context() | |
142 | return self._get_template_context(c) |
|
135 | return self._get_template_context(c) | |
@@ -144,9 +137,6 b' class GistView(BaseAppView):' | |||||
144 | @LoginRequired() |
|
137 | @LoginRequired() | |
145 | @NotAnonymous() |
|
138 | @NotAnonymous() | |
146 | @CSRFRequired() |
|
139 | @CSRFRequired() | |
147 | @view_config( |
|
|||
148 | route_name='gists_create', request_method='POST', |
|
|||
149 | renderer='rhodecode:templates/admin/gists/gist_new.mako') |
|
|||
150 | def gist_create(self): |
|
140 | def gist_create(self): | |
151 | _ = self.request.translate |
|
141 | _ = self.request.translate | |
152 | c = self.load_default_context() |
|
142 | c = self.load_default_context() | |
@@ -222,8 +212,6 b' class GistView(BaseAppView):' | |||||
222 | @LoginRequired() |
|
212 | @LoginRequired() | |
223 | @NotAnonymous() |
|
213 | @NotAnonymous() | |
224 | @CSRFRequired() |
|
214 | @CSRFRequired() | |
225 | @view_config( |
|
|||
226 | route_name='gist_delete', request_method='POST') |
|
|||
227 | def gist_delete(self): |
|
215 | def gist_delete(self): | |
228 | _ = self.request.translate |
|
216 | _ = self.request.translate | |
229 | gist_id = self.request.matchdict['gist_id'] |
|
217 | gist_id = self.request.matchdict['gist_id'] | |
@@ -263,18 +251,6 b' class GistView(BaseAppView):' | |||||
263 | return gist |
|
251 | return gist | |
264 |
|
252 | |||
265 | @LoginRequired() |
|
253 | @LoginRequired() | |
266 | @view_config( |
|
|||
267 | route_name='gist_show', request_method='GET', |
|
|||
268 | renderer='rhodecode:templates/admin/gists/gist_show.mako') |
|
|||
269 | @view_config( |
|
|||
270 | route_name='gist_show_rev', request_method='GET', |
|
|||
271 | renderer='rhodecode:templates/admin/gists/gist_show.mako') |
|
|||
272 | @view_config( |
|
|||
273 | route_name='gist_show_formatted', request_method='GET', |
|
|||
274 | renderer=None) |
|
|||
275 | @view_config( |
|
|||
276 | route_name='gist_show_formatted_path', request_method='GET', |
|
|||
277 | renderer=None) |
|
|||
278 | def gist_show(self): |
|
254 | def gist_show(self): | |
279 | gist_id = self.request.matchdict['gist_id'] |
|
255 | gist_id = self.request.matchdict['gist_id'] | |
280 |
|
256 | |||
@@ -307,9 +283,6 b' class GistView(BaseAppView):' | |||||
307 |
|
283 | |||
308 | @LoginRequired() |
|
284 | @LoginRequired() | |
309 | @NotAnonymous() |
|
285 | @NotAnonymous() | |
310 | @view_config( |
|
|||
311 | route_name='gist_edit', request_method='GET', |
|
|||
312 | renderer='rhodecode:templates/admin/gists/gist_edit.mako') |
|
|||
313 | def gist_edit(self): |
|
286 | def gist_edit(self): | |
314 | _ = self.request.translate |
|
287 | _ = self.request.translate | |
315 | gist_id = self.request.matchdict['gist_id'] |
|
288 | gist_id = self.request.matchdict['gist_id'] | |
@@ -341,9 +314,6 b' class GistView(BaseAppView):' | |||||
341 | @LoginRequired() |
|
314 | @LoginRequired() | |
342 | @NotAnonymous() |
|
315 | @NotAnonymous() | |
343 | @CSRFRequired() |
|
316 | @CSRFRequired() | |
344 | @view_config( |
|
|||
345 | route_name='gist_update', request_method='POST', |
|
|||
346 | renderer='rhodecode:templates/admin/gists/gist_edit.mako') |
|
|||
347 | def gist_update(self): |
|
317 | def gist_update(self): | |
348 | _ = self.request.translate |
|
318 | _ = self.request.translate | |
349 | gist_id = self.request.matchdict['gist_id'] |
|
319 | gist_id = self.request.matchdict['gist_id'] | |
@@ -397,9 +367,6 b' class GistView(BaseAppView):' | |||||
397 |
|
367 | |||
398 | @LoginRequired() |
|
368 | @LoginRequired() | |
399 | @NotAnonymous() |
|
369 | @NotAnonymous() | |
400 | @view_config( |
|
|||
401 | route_name='gist_edit_check_revision', request_method='GET', |
|
|||
402 | renderer='json_ext') |
|
|||
403 | def gist_edit_check_revision(self): |
|
370 | def gist_edit_check_revision(self): | |
404 | _ = self.request.translate |
|
371 | _ = self.request.translate | |
405 | gist_id = self.request.matchdict['gist_id'] |
|
372 | gist_id = self.request.matchdict['gist_id'] |
@@ -38,56 +38,110 b' class VCSCallPredicate(object):' | |||||
38 |
|
38 | |||
39 |
|
39 | |||
40 | def includeme(config): |
|
40 | def includeme(config): | |
|
41 | from rhodecode.apps.home.views import HomeView | |||
|
42 | ||||
|
43 | config.add_route_predicate( | |||
|
44 | 'skip_vcs_call', VCSCallPredicate) | |||
41 |
|
45 | |||
42 | config.add_route( |
|
46 | config.add_route( | |
43 | name='home', |
|
47 | name='home', | |
44 | pattern='/') |
|
48 | pattern='/') | |
|
49 | config.add_view( | |||
|
50 | HomeView, | |||
|
51 | attr='main_page', | |||
|
52 | route_name='home', request_method='GET', | |||
|
53 | renderer='rhodecode:templates/index.mako') | |||
45 |
|
54 | |||
46 | config.add_route( |
|
55 | config.add_route( | |
47 | name='main_page_repos_data', |
|
56 | name='main_page_repos_data', | |
48 | pattern='/_home_repos') |
|
57 | pattern='/_home_repos') | |
|
58 | config.add_view( | |||
|
59 | HomeView, | |||
|
60 | attr='main_page_repos_data', | |||
|
61 | route_name='main_page_repos_data', | |||
|
62 | request_method='GET', renderer='json_ext', xhr=True) | |||
49 |
|
63 | |||
50 | config.add_route( |
|
64 | config.add_route( | |
51 | name='main_page_repo_groups_data', |
|
65 | name='main_page_repo_groups_data', | |
52 | pattern='/_home_repo_groups') |
|
66 | pattern='/_home_repo_groups') | |
|
67 | config.add_view( | |||
|
68 | HomeView, | |||
|
69 | attr='main_page_repo_groups_data', | |||
|
70 | route_name='main_page_repo_groups_data', | |||
|
71 | request_method='GET', renderer='json_ext', xhr=True) | |||
53 |
|
72 | |||
54 | config.add_route( |
|
73 | config.add_route( | |
55 | name='user_autocomplete_data', |
|
74 | name='user_autocomplete_data', | |
56 | pattern='/_users') |
|
75 | pattern='/_users') | |
|
76 | config.add_view( | |||
|
77 | HomeView, | |||
|
78 | attr='user_autocomplete_data', | |||
|
79 | route_name='user_autocomplete_data', request_method='GET', | |||
|
80 | renderer='json_ext', xhr=True) | |||
57 |
|
81 | |||
58 | config.add_route( |
|
82 | config.add_route( | |
59 | name='user_group_autocomplete_data', |
|
83 | name='user_group_autocomplete_data', | |
60 | pattern='/_user_groups') |
|
84 | pattern='/_user_groups') | |
|
85 | config.add_view( | |||
|
86 | HomeView, | |||
|
87 | attr='user_group_autocomplete_data', | |||
|
88 | route_name='user_group_autocomplete_data', request_method='GET', | |||
|
89 | renderer='json_ext', xhr=True) | |||
61 |
|
90 | |||
62 | config.add_route( |
|
91 | config.add_route( | |
63 | name='repo_list_data', |
|
92 | name='repo_list_data', | |
64 | pattern='/_repos') |
|
93 | pattern='/_repos') | |
|
94 | config.add_view( | |||
|
95 | HomeView, | |||
|
96 | attr='repo_list_data', | |||
|
97 | route_name='repo_list_data', request_method='GET', | |||
|
98 | renderer='json_ext', xhr=True) | |||
65 |
|
99 | |||
66 | config.add_route( |
|
100 | config.add_route( | |
67 | name='repo_group_list_data', |
|
101 | name='repo_group_list_data', | |
68 | pattern='/_repo_groups') |
|
102 | pattern='/_repo_groups') | |
|
103 | config.add_view( | |||
|
104 | HomeView, | |||
|
105 | attr='repo_group_list_data', | |||
|
106 | route_name='repo_group_list_data', request_method='GET', | |||
|
107 | renderer='json_ext', xhr=True) | |||
69 |
|
108 | |||
70 | config.add_route( |
|
109 | config.add_route( | |
71 | name='goto_switcher_data', |
|
110 | name='goto_switcher_data', | |
72 | pattern='/_goto_data') |
|
111 | pattern='/_goto_data') | |
|
112 | config.add_view( | |||
|
113 | HomeView, | |||
|
114 | attr='goto_switcher_data', | |||
|
115 | route_name='goto_switcher_data', request_method='GET', | |||
|
116 | renderer='json_ext', xhr=True) | |||
73 |
|
117 | |||
74 | config.add_route( |
|
118 | config.add_route( | |
75 | name='markup_preview', |
|
119 | name='markup_preview', | |
76 | pattern='/_markup_preview') |
|
120 | pattern='/_markup_preview') | |
|
121 | config.add_view( | |||
|
122 | HomeView, | |||
|
123 | attr='markup_preview', | |||
|
124 | route_name='markup_preview', request_method='POST', | |||
|
125 | renderer='string', xhr=True) | |||
77 |
|
126 | |||
78 | config.add_route( |
|
127 | config.add_route( | |
79 | name='file_preview', |
|
128 | name='file_preview', | |
80 | pattern='/_file_preview') |
|
129 | pattern='/_file_preview') | |
|
130 | config.add_view( | |||
|
131 | HomeView, | |||
|
132 | attr='file_preview', | |||
|
133 | route_name='file_preview', request_method='POST', | |||
|
134 | renderer='string', xhr=True) | |||
81 |
|
135 | |||
82 | config.add_route( |
|
136 | config.add_route( | |
83 | name='store_user_session_value', |
|
137 | name='store_user_session_value', | |
84 | pattern='/_store_session_attr') |
|
138 | pattern='/_store_session_attr') | |
|
139 | config.add_view( | |||
|
140 | HomeView, | |||
|
141 | attr='store_user_session_attr', | |||
|
142 | route_name='store_user_session_value', request_method='POST', | |||
|
143 | renderer='string', xhr=True) | |||
85 |
|
144 | |||
86 | # register our static links via redirection mechanism |
|
145 | # register our static links via redirection mechanism | |
87 | routing_links.connect_redirection_links(config) |
|
146 | routing_links.connect_redirection_links(config) | |
88 |
|
147 | |||
89 | # Scan module for configuration decorators. |
|
|||
90 | config.scan('.views', ignore='.tests') |
|
|||
91 |
|
||||
92 | config.add_route_predicate( |
|
|||
93 | 'skip_vcs_call', VCSCallPredicate) |
|
@@ -23,7 +23,6 b' import logging' | |||||
23 | import collections |
|
23 | import collections | |
24 |
|
24 | |||
25 | from pyramid.httpexceptions import HTTPNotFound |
|
25 | from pyramid.httpexceptions import HTTPNotFound | |
26 | from pyramid.view import view_config |
|
|||
27 |
|
26 | |||
28 | from rhodecode.apps._base import BaseAppView, DataGridAppView |
|
27 | from rhodecode.apps._base import BaseAppView, DataGridAppView | |
29 | from rhodecode.lib import helpers as h |
|
28 | from rhodecode.lib import helpers as h | |
@@ -50,13 +49,9 b' class HomeView(BaseAppView, DataGridAppV' | |||||
50 | def load_default_context(self): |
|
49 | def load_default_context(self): | |
51 | c = self._get_local_tmpl_context() |
|
50 | c = self._get_local_tmpl_context() | |
52 | c.user = c.auth_user.get_instance() |
|
51 | c.user = c.auth_user.get_instance() | |
53 |
|
||||
54 | return c |
|
52 | return c | |
55 |
|
53 | |||
56 | @LoginRequired() |
|
54 | @LoginRequired() | |
57 | @view_config( |
|
|||
58 | route_name='user_autocomplete_data', request_method='GET', |
|
|||
59 | renderer='json_ext', xhr=True) |
|
|||
60 | def user_autocomplete_data(self): |
|
55 | def user_autocomplete_data(self): | |
61 | self.load_default_context() |
|
56 | self.load_default_context() | |
62 | query = self.request.GET.get('query') |
|
57 | query = self.request.GET.get('query') | |
@@ -88,9 +83,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
88 |
|
83 | |||
89 | @LoginRequired() |
|
84 | @LoginRequired() | |
90 | @NotAnonymous() |
|
85 | @NotAnonymous() | |
91 | @view_config( |
|
|||
92 | route_name='user_group_autocomplete_data', request_method='GET', |
|
|||
93 | renderer='json_ext', xhr=True) |
|
|||
94 | def user_group_autocomplete_data(self): |
|
86 | def user_group_autocomplete_data(self): | |
95 | self.load_default_context() |
|
87 | self.load_default_context() | |
96 | query = self.request.GET.get('query') |
|
88 | query = self.request.GET.get('query') | |
@@ -434,9 +426,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
434 | return files, True |
|
426 | return files, True | |
435 |
|
427 | |||
436 | @LoginRequired() |
|
428 | @LoginRequired() | |
437 | @view_config( |
|
|||
438 | route_name='repo_list_data', request_method='GET', |
|
|||
439 | renderer='json_ext', xhr=True) |
|
|||
440 | def repo_list_data(self): |
|
429 | def repo_list_data(self): | |
441 | _ = self.request.translate |
|
430 | _ = self.request.translate | |
442 | self.load_default_context() |
|
431 | self.load_default_context() | |
@@ -461,9 +450,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
461 | return data |
|
450 | return data | |
462 |
|
451 | |||
463 | @LoginRequired() |
|
452 | @LoginRequired() | |
464 | @view_config( |
|
|||
465 | route_name='repo_group_list_data', request_method='GET', |
|
|||
466 | renderer='json_ext', xhr=True) |
|
|||
467 | def repo_group_list_data(self): |
|
453 | def repo_group_list_data(self): | |
468 | _ = self.request.translate |
|
454 | _ = self.request.translate | |
469 | self.load_default_context() |
|
455 | self.load_default_context() | |
@@ -619,9 +605,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
619 | return queries |
|
605 | return queries | |
620 |
|
606 | |||
621 | @LoginRequired() |
|
607 | @LoginRequired() | |
622 | @view_config( |
|
|||
623 | route_name='goto_switcher_data', request_method='GET', |
|
|||
624 | renderer='json_ext', xhr=True) |
|
|||
625 | def goto_switcher_data(self): |
|
608 | def goto_switcher_data(self): | |
626 | c = self.load_default_context() |
|
609 | c = self.load_default_context() | |
627 |
|
610 | |||
@@ -750,9 +733,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
750 | return {'suggestions': res} |
|
733 | return {'suggestions': res} | |
751 |
|
734 | |||
752 | @LoginRequired() |
|
735 | @LoginRequired() | |
753 | @view_config( |
|
|||
754 | route_name='home', request_method='GET', |
|
|||
755 | renderer='rhodecode:templates/index.mako') |
|
|||
756 | def main_page(self): |
|
736 | def main_page(self): | |
757 | c = self.load_default_context() |
|
737 | c = self.load_default_context() | |
758 | c.repo_group = None |
|
738 | c.repo_group = None | |
@@ -789,9 +769,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
789 | self._rhodecode_user, repo_group_id) |
|
769 | self._rhodecode_user, repo_group_id) | |
790 |
|
770 | |||
791 | @LoginRequired() |
|
771 | @LoginRequired() | |
792 | @view_config( |
|
|||
793 | route_name='main_page_repo_groups_data', |
|
|||
794 | request_method='GET', renderer='json_ext', xhr=True) |
|
|||
795 | def main_page_repo_groups_data(self): |
|
772 | def main_page_repo_groups_data(self): | |
796 | self.load_default_context() |
|
773 | self.load_default_context() | |
797 | repo_group_id = safe_int(self.request.GET.get('repo_group_id')) |
|
774 | repo_group_id = safe_int(self.request.GET.get('repo_group_id')) | |
@@ -806,9 +783,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
806 | return self._main_page_repo_groups_data(repo_group_id) |
|
783 | return self._main_page_repo_groups_data(repo_group_id) | |
807 |
|
784 | |||
808 | @LoginRequired() |
|
785 | @LoginRequired() | |
809 | @view_config( |
|
|||
810 | route_name='main_page_repos_data', |
|
|||
811 | request_method='GET', renderer='json_ext', xhr=True) |
|
|||
812 | def main_page_repos_data(self): |
|
786 | def main_page_repos_data(self): | |
813 | self.load_default_context() |
|
787 | self.load_default_context() | |
814 | repo_group_id = safe_int(self.request.GET.get('repo_group_id')) |
|
788 | repo_group_id = safe_int(self.request.GET.get('repo_group_id')) | |
@@ -824,12 +798,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
824 |
|
798 | |||
825 | @LoginRequired() |
|
799 | @LoginRequired() | |
826 | @HasRepoGroupPermissionAnyDecorator(*AuthUser.repo_group_read_perms) |
|
800 | @HasRepoGroupPermissionAnyDecorator(*AuthUser.repo_group_read_perms) | |
827 | @view_config( |
|
|||
828 | route_name='repo_group_home', request_method='GET', |
|
|||
829 | renderer='rhodecode:templates/index_repo_group.mako') |
|
|||
830 | @view_config( |
|
|||
831 | route_name='repo_group_home_slash', request_method='GET', |
|
|||
832 | renderer='rhodecode:templates/index_repo_group.mako') |
|
|||
833 | def repo_group_main_page(self): |
|
801 | def repo_group_main_page(self): | |
834 | c = self.load_default_context() |
|
802 | c = self.load_default_context() | |
835 | c.repo_group = self.request.db_repo_group |
|
803 | c.repo_group = self.request.db_repo_group | |
@@ -837,9 +805,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
837 |
|
805 | |||
838 | @LoginRequired() |
|
806 | @LoginRequired() | |
839 | @CSRFRequired() |
|
807 | @CSRFRequired() | |
840 | @view_config( |
|
|||
841 | route_name='markup_preview', request_method='POST', |
|
|||
842 | renderer='string', xhr=True) |
|
|||
843 | def markup_preview(self): |
|
808 | def markup_preview(self): | |
844 | # Technically a CSRF token is not needed as no state changes with this |
|
809 | # Technically a CSRF token is not needed as no state changes with this | |
845 | # call. However, as this is a POST is better to have it, so automated |
|
810 | # call. However, as this is a POST is better to have it, so automated | |
@@ -855,9 +820,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
855 |
|
820 | |||
856 | @LoginRequired() |
|
821 | @LoginRequired() | |
857 | @CSRFRequired() |
|
822 | @CSRFRequired() | |
858 | @view_config( |
|
|||
859 | route_name='file_preview', request_method='POST', |
|
|||
860 | renderer='string', xhr=True) |
|
|||
861 | def file_preview(self): |
|
823 | def file_preview(self): | |
862 | # Technically a CSRF token is not needed as no state changes with this |
|
824 | # Technically a CSRF token is not needed as no state changes with this | |
863 | # call. However, as this is a POST is better to have it, so automated |
|
825 | # call. However, as this is a POST is better to have it, so automated | |
@@ -883,9 +845,6 b' class HomeView(BaseAppView, DataGridAppV' | |||||
883 |
|
845 | |||
884 | @LoginRequired() |
|
846 | @LoginRequired() | |
885 | @CSRFRequired() |
|
847 | @CSRFRequired() | |
886 | @view_config( |
|
|||
887 | route_name='store_user_session_value', request_method='POST', |
|
|||
888 | renderer='string', xhr=True) |
|
|||
889 | def store_user_session_attr(self): |
|
848 | def store_user_session_attr(self): | |
890 | key = self.request.POST.get('key') |
|
849 | key = self.request.POST.get('key') | |
891 | val = self.request.POST.get('val') |
|
850 | val = self.request.POST.get('val') |
@@ -20,26 +20,48 b'' | |||||
20 |
|
20 | |||
21 |
|
21 | |||
22 | def includeme(config): |
|
22 | def includeme(config): | |
23 |
|
23 | from rhodecode.apps.hovercards.views import HoverCardsView, HoverCardsRepoView | ||
24 | config.add_route( |
|
24 | config.add_route( | |
25 | name='hovercard_user', |
|
25 | name='hovercard_user', | |
26 | pattern='/_hovercard/user/{user_id}') |
|
26 | pattern='/_hovercard/user/{user_id}') | |
|
27 | config.add_view( | |||
|
28 | HoverCardsView, | |||
|
29 | attr='hovercard_user', | |||
|
30 | route_name='hovercard_user', request_method='GET', xhr=True, | |||
|
31 | renderer='rhodecode:templates/hovercards/hovercard_user.mako') | |||
27 |
|
32 | |||
28 | config.add_route( |
|
33 | config.add_route( | |
29 | name='hovercard_username', |
|
34 | name='hovercard_username', | |
30 | pattern='/_hovercard/username/{username}') |
|
35 | pattern='/_hovercard/username/{username}') | |
|
36 | config.add_view( | |||
|
37 | HoverCardsView, | |||
|
38 | attr='hovercard_username', | |||
|
39 | route_name='hovercard_username', request_method='GET', xhr=True, | |||
|
40 | renderer='rhodecode:templates/hovercards/hovercard_user.mako') | |||
31 |
|
41 | |||
32 | config.add_route( |
|
42 | config.add_route( | |
33 | name='hovercard_user_group', |
|
43 | name='hovercard_user_group', | |
34 | pattern='/_hovercard/user_group/{user_group_id}') |
|
44 | pattern='/_hovercard/user_group/{user_group_id}') | |
|
45 | config.add_view( | |||
|
46 | HoverCardsView, | |||
|
47 | attr='hovercard_user_group', | |||
|
48 | route_name='hovercard_user_group', request_method='GET', xhr=True, | |||
|
49 | renderer='rhodecode:templates/hovercards/hovercard_user_group.mako') | |||
35 |
|
50 | |||
36 | config.add_route( |
|
51 | config.add_route( | |
37 | name='hovercard_pull_request', |
|
52 | name='hovercard_pull_request', | |
38 | pattern='/_hovercard/pull_request/{pull_request_id}') |
|
53 | pattern='/_hovercard/pull_request/{pull_request_id}') | |
|
54 | config.add_view( | |||
|
55 | HoverCardsView, | |||
|
56 | attr='hovercard_pull_request', | |||
|
57 | route_name='hovercard_pull_request', request_method='GET', xhr=True, | |||
|
58 | renderer='rhodecode:templates/hovercards/hovercard_pull_request.mako') | |||
39 |
|
59 | |||
40 | config.add_route( |
|
60 | config.add_route( | |
41 | name='hovercard_repo_commit', |
|
61 | name='hovercard_repo_commit', | |
42 | pattern='/_hovercard/commit/{repo_name:.*?[^/]}/{commit_id}', repo_route=True) |
|
62 | pattern='/_hovercard/commit/{repo_name:.*?[^/]}/{commit_id}', repo_route=True) | |
43 |
|
63 | config.add_view( | ||
44 | # Scan module for configuration decorators. |
|
64 | HoverCardsRepoView, | |
45 | config.scan('.views', ignore='.tests') |
|
65 | attr='hovercard_repo_commit', | |
|
66 | route_name='hovercard_repo_commit', request_method='GET', xhr=True, | |||
|
67 | renderer='rhodecode:templates/hovercards/hovercard_repo_commit.mako') |
@@ -23,7 +23,7 b' import logging' | |||||
23 | import collections |
|
23 | import collections | |
24 |
|
24 | |||
25 | from pyramid.httpexceptions import HTTPNotFound |
|
25 | from pyramid.httpexceptions import HTTPNotFound | |
26 | from pyramid.view import view_config |
|
26 | ||
27 |
|
27 | |||
28 | from rhodecode.apps._base import BaseAppView, RepoAppView |
|
28 | from rhodecode.apps._base import BaseAppView, RepoAppView | |
29 | from rhodecode.lib import helpers as h |
|
29 | from rhodecode.lib import helpers as h | |
@@ -54,9 +54,6 b' class HoverCardsView(BaseAppView):' | |||||
54 | return c |
|
54 | return c | |
55 |
|
55 | |||
56 | @LoginRequired() |
|
56 | @LoginRequired() | |
57 | @view_config( |
|
|||
58 | route_name='hovercard_user', request_method='GET', xhr=True, |
|
|||
59 | renderer='rhodecode:templates/hovercards/hovercard_user.mako') |
|
|||
60 | def hovercard_user(self): |
|
57 | def hovercard_user(self): | |
61 | c = self.load_default_context() |
|
58 | c = self.load_default_context() | |
62 | user_id = self.request.matchdict['user_id'] |
|
59 | user_id = self.request.matchdict['user_id'] | |
@@ -64,9 +61,6 b' class HoverCardsView(BaseAppView):' | |||||
64 | return self._get_template_context(c) |
|
61 | return self._get_template_context(c) | |
65 |
|
62 | |||
66 | @LoginRequired() |
|
63 | @LoginRequired() | |
67 | @view_config( |
|
|||
68 | route_name='hovercard_username', request_method='GET', xhr=True, |
|
|||
69 | renderer='rhodecode:templates/hovercards/hovercard_user.mako') |
|
|||
70 | def hovercard_username(self): |
|
64 | def hovercard_username(self): | |
71 | c = self.load_default_context() |
|
65 | c = self.load_default_context() | |
72 | username = self.request.matchdict['username'] |
|
66 | username = self.request.matchdict['username'] | |
@@ -77,9 +71,6 b' class HoverCardsView(BaseAppView):' | |||||
77 | return self._get_template_context(c) |
|
71 | return self._get_template_context(c) | |
78 |
|
72 | |||
79 | @LoginRequired() |
|
73 | @LoginRequired() | |
80 | @view_config( |
|
|||
81 | route_name='hovercard_user_group', request_method='GET', xhr=True, |
|
|||
82 | renderer='rhodecode:templates/hovercards/hovercard_user_group.mako') |
|
|||
83 | def hovercard_user_group(self): |
|
74 | def hovercard_user_group(self): | |
84 | c = self.load_default_context() |
|
75 | c = self.load_default_context() | |
85 | user_group_id = self.request.matchdict['user_group_id'] |
|
76 | user_group_id = self.request.matchdict['user_group_id'] | |
@@ -87,9 +78,6 b' class HoverCardsView(BaseAppView):' | |||||
87 | return self._get_template_context(c) |
|
78 | return self._get_template_context(c) | |
88 |
|
79 | |||
89 | @LoginRequired() |
|
80 | @LoginRequired() | |
90 | @view_config( |
|
|||
91 | route_name='hovercard_pull_request', request_method='GET', xhr=True, |
|
|||
92 | renderer='rhodecode:templates/hovercards/hovercard_pull_request.mako') |
|
|||
93 | def hovercard_pull_request(self): |
|
81 | def hovercard_pull_request(self): | |
94 | c = self.load_default_context() |
|
82 | c = self.load_default_context() | |
95 | c.pull_request = PullRequest.get_or_404( |
|
83 | c.pull_request = PullRequest.get_or_404( | |
@@ -107,9 +95,6 b' class HoverCardsRepoView(RepoAppView):' | |||||
107 |
|
95 | |||
108 | @LoginRequired() |
|
96 | @LoginRequired() | |
109 | @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', 'repository.admin') |
|
97 | @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', 'repository.admin') | |
110 | @view_config( |
|
|||
111 | route_name='hovercard_repo_commit', request_method='GET', xhr=True, |
|
|||
112 | renderer='rhodecode:templates/hovercards/hovercard_repo_commit.mako') |
|
|||
113 | def hovercard_repo_commit(self): |
|
98 | def hovercard_repo_commit(self): | |
114 | c = self.load_default_context() |
|
99 | c = self.load_default_context() | |
115 | commit_id = self.request.matchdict['commit_id'] |
|
100 | commit_id = self.request.matchdict['commit_id'] |
@@ -23,31 +23,80 b' from rhodecode.apps._base import ADMIN_P' | |||||
23 |
|
23 | |||
24 |
|
24 | |||
25 | def admin_routes(config): |
|
25 | def admin_routes(config): | |
|
26 | from rhodecode.apps.journal.views import JournalView | |||
26 |
|
27 | |||
27 | config.add_route( |
|
28 | config.add_route( | |
28 | name='journal', pattern='/journal') |
|
29 | name='journal', pattern='/journal') | |
|
30 | config.add_view( | |||
|
31 | JournalView, | |||
|
32 | attr='journal', | |||
|
33 | route_name='journal', request_method='GET', | |||
|
34 | renderer=None) | |||
|
35 | ||||
29 | config.add_route( |
|
36 | config.add_route( | |
30 | name='journal_rss', pattern='/journal/rss') |
|
37 | name='journal_rss', pattern='/journal/rss') | |
|
38 | config.add_view( | |||
|
39 | JournalView, | |||
|
40 | attr='journal_rss', | |||
|
41 | route_name='journal_rss', request_method='GET', | |||
|
42 | renderer=None) | |||
|
43 | ||||
31 | config.add_route( |
|
44 | config.add_route( | |
32 | name='journal_atom', pattern='/journal/atom') |
|
45 | name='journal_atom', pattern='/journal/atom') | |
|
46 | config.add_view( | |||
|
47 | JournalView, | |||
|
48 | attr='journal_atom', | |||
|
49 | route_name='journal_atom', request_method='GET', | |||
|
50 | renderer=None) | |||
33 |
|
51 | |||
34 | config.add_route( |
|
52 | config.add_route( | |
35 | name='journal_public', pattern='/public_journal') |
|
53 | name='journal_public', pattern='/public_journal') | |
|
54 | config.add_view( | |||
|
55 | JournalView, | |||
|
56 | attr='journal_public', | |||
|
57 | route_name='journal_public', request_method='GET', | |||
|
58 | renderer=None) | |||
|
59 | ||||
36 | config.add_route( |
|
60 | config.add_route( | |
37 | name='journal_public_atom', pattern='/public_journal/atom') |
|
61 | name='journal_public_atom', pattern='/public_journal/atom') | |
|
62 | config.add_view( | |||
|
63 | JournalView, | |||
|
64 | attr='journal_public_atom', | |||
|
65 | route_name='journal_public_atom', request_method='GET', | |||
|
66 | renderer=None) | |||
|
67 | ||||
38 | config.add_route( |
|
68 | config.add_route( | |
39 | name='journal_public_atom_old', pattern='/public_journal_atom') |
|
69 | name='journal_public_atom_old', pattern='/public_journal_atom') | |
|
70 | config.add_view( | |||
|
71 | JournalView, | |||
|
72 | attr='journal_public_atom', | |||
|
73 | route_name='journal_public_atom_old', request_method='GET', | |||
|
74 | renderer=None) | |||
40 |
|
75 | |||
41 | config.add_route( |
|
76 | config.add_route( | |
42 | name='journal_public_rss', pattern='/public_journal/rss') |
|
77 | name='journal_public_rss', pattern='/public_journal/rss') | |
|
78 | config.add_view( | |||
|
79 | JournalView, | |||
|
80 | attr='journal_public_rss', | |||
|
81 | route_name='journal_public_rss', request_method='GET', | |||
|
82 | renderer=None) | |||
|
83 | ||||
43 | config.add_route( |
|
84 | config.add_route( | |
44 | name='journal_public_rss_old', pattern='/public_journal_rss') |
|
85 | name='journal_public_rss_old', pattern='/public_journal_rss') | |
|
86 | config.add_view( | |||
|
87 | JournalView, | |||
|
88 | attr='journal_public_rss', | |||
|
89 | route_name='journal_public_rss_old', request_method='GET', | |||
|
90 | renderer=None) | |||
45 |
|
91 | |||
46 | config.add_route( |
|
92 | config.add_route( | |
47 | name='toggle_following', pattern='/toggle_following') |
|
93 | name='toggle_following', pattern='/toggle_following') | |
|
94 | config.add_view( | |||
|
95 | JournalView, | |||
|
96 | attr='toggle_following', | |||
|
97 | route_name='toggle_following', request_method='POST', | |||
|
98 | renderer='json_ext') | |||
48 |
|
99 | |||
49 |
|
100 | |||
50 | def includeme(config): |
|
101 | def includeme(config): | |
51 | config.include(admin_routes, route_prefix=ADMIN_PREFIX) |
|
102 | config.include(admin_routes, route_prefix=ADMIN_PREFIX) | |
52 | # Scan module for configuration decorators. |
|
|||
53 | config.scan('.views', ignore='.tests') |
|
@@ -18,13 +18,9 b'' | |||||
18 | # RhodeCode Enterprise Edition, including its added features, Support services, |
|
18 | # RhodeCode Enterprise Edition, including its added features, Support services, | |
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 |
|
20 | |||
21 |
|
||||
22 | import logging |
|
21 | import logging | |
23 | import itertools |
|
22 | import itertools | |
24 |
|
23 | |||
25 |
|
||||
26 |
|
||||
27 | from pyramid.view import view_config |
|
|||
28 | from pyramid.httpexceptions import HTTPBadRequest |
|
24 | from pyramid.httpexceptions import HTTPBadRequest | |
29 | from pyramid.response import Response |
|
25 | from pyramid.response import Response | |
30 | from pyramid.renderers import render |
|
26 | from pyramid.renderers import render | |
@@ -218,9 +214,6 b' class JournalView(BaseAppView):' | |||||
218 |
|
214 | |||
219 | @LoginRequired() |
|
215 | @LoginRequired() | |
220 | @NotAnonymous() |
|
216 | @NotAnonymous() | |
221 | @view_config( |
|
|||
222 | route_name='journal', request_method='GET', |
|
|||
223 | renderer=None) |
|
|||
224 | def journal(self): |
|
217 | def journal(self): | |
225 | c = self.load_default_context() |
|
218 | c = self.load_default_context() | |
226 |
|
219 | |||
@@ -258,9 +251,6 b' class JournalView(BaseAppView):' | |||||
258 |
|
251 | |||
259 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
252 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) | |
260 | @NotAnonymous() |
|
253 | @NotAnonymous() | |
261 | @view_config( |
|
|||
262 | route_name='journal_atom', request_method='GET', |
|
|||
263 | renderer=None) |
|
|||
264 | def journal_atom(self): |
|
254 | def journal_atom(self): | |
265 | """ |
|
255 | """ | |
266 | Produce an atom-1.0 feed via feedgenerator module |
|
256 | Produce an atom-1.0 feed via feedgenerator module | |
@@ -274,9 +264,6 b' class JournalView(BaseAppView):' | |||||
274 |
|
264 | |||
275 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
265 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) | |
276 | @NotAnonymous() |
|
266 | @NotAnonymous() | |
277 | @view_config( |
|
|||
278 | route_name='journal_rss', request_method='GET', |
|
|||
279 | renderer=None) |
|
|||
280 | def journal_rss(self): |
|
267 | def journal_rss(self): | |
281 | """ |
|
268 | """ | |
282 | Produce an rss feed via feedgenerator module |
|
269 | Produce an rss feed via feedgenerator module | |
@@ -289,39 +276,6 b' class JournalView(BaseAppView):' | |||||
289 | return self._rss_feed(following_repos, c.search_term, public=False) |
|
276 | return self._rss_feed(following_repos, c.search_term, public=False) | |
290 |
|
277 | |||
291 | @LoginRequired() |
|
278 | @LoginRequired() | |
292 | @NotAnonymous() |
|
|||
293 | @CSRFRequired() |
|
|||
294 | @view_config( |
|
|||
295 | route_name='toggle_following', request_method='POST', |
|
|||
296 | renderer='json_ext') |
|
|||
297 | def toggle_following(self): |
|
|||
298 | user_id = self.request.POST.get('follows_user_id') |
|
|||
299 | if user_id: |
|
|||
300 | try: |
|
|||
301 | ScmModel().toggle_following_user(user_id, self._rhodecode_user.user_id) |
|
|||
302 | Session().commit() |
|
|||
303 | return 'ok' |
|
|||
304 | except Exception: |
|
|||
305 | raise HTTPBadRequest() |
|
|||
306 |
|
||||
307 | repo_id = self.request.POST.get('follows_repo_id') |
|
|||
308 | repo = Repository.get_or_404(repo_id) |
|
|||
309 | perm_set = ['repository.read', 'repository.write', 'repository.admin'] |
|
|||
310 | has_perm = HasRepoPermissionAny(*perm_set)(repo.repo_name, 'RepoWatch check') |
|
|||
311 | if repo and has_perm: |
|
|||
312 | try: |
|
|||
313 | ScmModel().toggle_following_repo(repo_id, self._rhodecode_user.user_id) |
|
|||
314 | Session().commit() |
|
|||
315 | return 'ok' |
|
|||
316 | except Exception: |
|
|||
317 | raise HTTPBadRequest() |
|
|||
318 |
|
||||
319 | raise HTTPBadRequest() |
|
|||
320 |
|
||||
321 | @LoginRequired() |
|
|||
322 | @view_config( |
|
|||
323 | route_name='journal_public', request_method='GET', |
|
|||
324 | renderer=None) |
|
|||
325 | def journal_public(self): |
|
279 | def journal_public(self): | |
326 | c = self.load_default_context() |
|
280 | c = self.load_default_context() | |
327 | # Return a rendered template |
|
281 | # Return a rendered template | |
@@ -357,9 +311,6 b' class JournalView(BaseAppView):' | |||||
357 | return Response(html) |
|
311 | return Response(html) | |
358 |
|
312 | |||
359 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
313 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) | |
360 | @view_config( |
|
|||
361 | route_name='journal_public_atom', request_method='GET', |
|
|||
362 | renderer=None) |
|
|||
363 | def journal_public_atom(self): |
|
314 | def journal_public_atom(self): | |
364 | """ |
|
315 | """ | |
365 | Produce an atom-1.0 feed via feedgenerator module |
|
316 | Produce an atom-1.0 feed via feedgenerator module | |
@@ -373,9 +324,6 b' class JournalView(BaseAppView):' | |||||
373 | return self._atom_feed(following_repos, c.search_term) |
|
324 | return self._atom_feed(following_repos, c.search_term) | |
374 |
|
325 | |||
375 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
326 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) | |
376 | @view_config( |
|
|||
377 | route_name='journal_public_rss', request_method='GET', |
|
|||
378 | renderer=None) |
|
|||
379 | def journal_public_rss(self): |
|
327 | def journal_public_rss(self): | |
380 | """ |
|
328 | """ | |
381 | Produce an rss2 feed via feedgenerator module |
|
329 | Produce an rss2 feed via feedgenerator module | |
@@ -387,3 +335,30 b' class JournalView(BaseAppView):' | |||||
387 | .all() |
|
335 | .all() | |
388 |
|
336 | |||
389 | return self._rss_feed(following_repos, c.search_term) |
|
337 | return self._rss_feed(following_repos, c.search_term) | |
|
338 | ||||
|
339 | @LoginRequired() | |||
|
340 | @NotAnonymous() | |||
|
341 | @CSRFRequired() | |||
|
342 | def toggle_following(self): | |||
|
343 | user_id = self.request.POST.get('follows_user_id') | |||
|
344 | if user_id: | |||
|
345 | try: | |||
|
346 | ScmModel().toggle_following_user(user_id, self._rhodecode_user.user_id) | |||
|
347 | Session().commit() | |||
|
348 | return 'ok' | |||
|
349 | except Exception: | |||
|
350 | raise HTTPBadRequest() | |||
|
351 | ||||
|
352 | repo_id = self.request.POST.get('follows_repo_id') | |||
|
353 | repo = Repository.get_or_404(repo_id) | |||
|
354 | perm_set = ['repository.read', 'repository.write', 'repository.admin'] | |||
|
355 | has_perm = HasRepoPermissionAny(*perm_set)(repo.repo_name, 'RepoWatch check') | |||
|
356 | if repo and has_perm: | |||
|
357 | try: | |||
|
358 | ScmModel().toggle_following_repo(repo_id, self._rhodecode_user.user_id) | |||
|
359 | Session().commit() | |||
|
360 | return 'ok' | |||
|
361 | except Exception: | |||
|
362 | raise HTTPBadRequest() | |||
|
363 | ||||
|
364 | raise HTTPBadRequest() |
@@ -23,22 +23,57 b' from rhodecode.apps._base import ADMIN_P' | |||||
23 |
|
23 | |||
24 |
|
24 | |||
25 | def includeme(config): |
|
25 | def includeme(config): | |
26 |
|
26 | from rhodecode.apps.login.views import LoginView | ||
|
27 | ||||
27 | config.add_route( |
|
28 | config.add_route( | |
28 | name='login', |
|
29 | name='login', | |
29 | pattern=ADMIN_PREFIX + '/login') |
|
30 | pattern=ADMIN_PREFIX + '/login') | |
|
31 | config.add_view( | |||
|
32 | LoginView, | |||
|
33 | attr='login', | |||
|
34 | route_name='login', request_method='GET', | |||
|
35 | renderer='rhodecode:templates/login.mako') | |||
|
36 | config.add_view( | |||
|
37 | LoginView, | |||
|
38 | attr='login_post', | |||
|
39 | route_name='login', request_method='POST', | |||
|
40 | renderer='rhodecode:templates/login.mako') | |||
|
41 | ||||
30 | config.add_route( |
|
42 | config.add_route( | |
31 | name='logout', |
|
43 | name='logout', | |
32 | pattern=ADMIN_PREFIX + '/logout') |
|
44 | pattern=ADMIN_PREFIX + '/logout') | |
|
45 | config.add_view( | |||
|
46 | LoginView, | |||
|
47 | attr='logout', | |||
|
48 | route_name='logout', request_method='POST') | |||
|
49 | ||||
33 | config.add_route( |
|
50 | config.add_route( | |
34 | name='register', |
|
51 | name='register', | |
35 | pattern=ADMIN_PREFIX + '/register') |
|
52 | pattern=ADMIN_PREFIX + '/register') | |
|
53 | config.add_view( | |||
|
54 | LoginView, | |||
|
55 | attr='register', | |||
|
56 | route_name='register', request_method='GET', | |||
|
57 | renderer='rhodecode:templates/register.mako') | |||
|
58 | config.add_view( | |||
|
59 | LoginView, | |||
|
60 | attr='register_post', | |||
|
61 | route_name='register', request_method='POST', | |||
|
62 | renderer='rhodecode:templates/register.mako') | |||
|
63 | ||||
36 | config.add_route( |
|
64 | config.add_route( | |
37 | name='reset_password', |
|
65 | name='reset_password', | |
38 | pattern=ADMIN_PREFIX + '/password_reset') |
|
66 | pattern=ADMIN_PREFIX + '/password_reset') | |
|
67 | config.add_view( | |||
|
68 | LoginView, | |||
|
69 | attr='password_reset', | |||
|
70 | route_name='reset_password', request_method=('GET', 'POST'), | |||
|
71 | renderer='rhodecode:templates/password_reset.mako') | |||
|
72 | ||||
39 | config.add_route( |
|
73 | config.add_route( | |
40 | name='reset_password_confirmation', |
|
74 | name='reset_password_confirmation', | |
41 | pattern=ADMIN_PREFIX + '/password_reset_confirmation') |
|
75 | pattern=ADMIN_PREFIX + '/password_reset_confirmation') | |
42 |
|
76 | config.add_view( | ||
43 | # Scan module for configuration decorators. |
|
77 | LoginView, | |
44 | config.scan('.views', ignore='.tests') |
|
78 | attr='password_reset_confirmation', | |
|
79 | route_name='reset_password_confirmation', request_method='GET') |
@@ -28,7 +28,7 b' import urlparse' | |||||
28 | import requests |
|
28 | import requests | |
29 |
|
29 | |||
30 | from pyramid.httpexceptions import HTTPFound |
|
30 | from pyramid.httpexceptions import HTTPFound | |
31 | from pyramid.view import view_config |
|
31 | ||
32 |
|
32 | |||
33 | from rhodecode.apps._base import BaseAppView |
|
33 | from rhodecode.apps._base import BaseAppView | |
34 | from rhodecode.authentication.base import authenticate, HTTP_TYPE |
|
34 | from rhodecode.authentication.base import authenticate, HTTP_TYPE | |
@@ -114,7 +114,6 b' class LoginView(BaseAppView):' | |||||
114 | def load_default_context(self): |
|
114 | def load_default_context(self): | |
115 | c = self._get_local_tmpl_context() |
|
115 | c = self._get_local_tmpl_context() | |
116 | c.came_from = get_came_from(self.request) |
|
116 | c.came_from = get_came_from(self.request) | |
117 |
|
||||
118 | return c |
|
117 | return c | |
119 |
|
118 | |||
120 | def _get_captcha_data(self): |
|
119 | def _get_captcha_data(self): | |
@@ -148,9 +147,6 b' class LoginView(BaseAppView):' | |||||
148 |
|
147 | |||
149 | return captcha_status, captcha_message |
|
148 | return captcha_status, captcha_message | |
150 |
|
149 | |||
151 | @view_config( |
|
|||
152 | route_name='login', request_method='GET', |
|
|||
153 | renderer='rhodecode:templates/login.mako') |
|
|||
154 | def login(self): |
|
150 | def login(self): | |
155 | c = self.load_default_context() |
|
151 | c = self.load_default_context() | |
156 | auth_user = self._rhodecode_user |
|
152 | auth_user = self._rhodecode_user | |
@@ -175,9 +171,6 b' class LoginView(BaseAppView):' | |||||
175 |
|
171 | |||
176 | return self._get_template_context(c) |
|
172 | return self._get_template_context(c) | |
177 |
|
173 | |||
178 | @view_config( |
|
|||
179 | route_name='login', request_method='POST', |
|
|||
180 | renderer='rhodecode:templates/login.mako') |
|
|||
181 | def login_post(self): |
|
174 | def login_post(self): | |
182 | c = self.load_default_context() |
|
175 | c = self.load_default_context() | |
183 |
|
176 | |||
@@ -229,7 +222,6 b' class LoginView(BaseAppView):' | |||||
229 | return self._get_template_context(c) |
|
222 | return self._get_template_context(c) | |
230 |
|
223 | |||
231 | @CSRFRequired() |
|
224 | @CSRFRequired() | |
232 | @view_config(route_name='logout', request_method='POST') |
|
|||
233 | def logout(self): |
|
225 | def logout(self): | |
234 | auth_user = self._rhodecode_user |
|
226 | auth_user = self._rhodecode_user | |
235 | log.info('Deleting session for user: `%s`', auth_user) |
|
227 | log.info('Deleting session for user: `%s`', auth_user) | |
@@ -243,9 +235,6 b' class LoginView(BaseAppView):' | |||||
243 |
|
235 | |||
244 | @HasPermissionAnyDecorator( |
|
236 | @HasPermissionAnyDecorator( | |
245 | 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate') |
|
237 | 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate') | |
246 | @view_config( |
|
|||
247 | route_name='register', request_method='GET', |
|
|||
248 | renderer='rhodecode:templates/register.mako',) |
|
|||
249 | def register(self, defaults=None, errors=None): |
|
238 | def register(self, defaults=None, errors=None): | |
250 | c = self.load_default_context() |
|
239 | c = self.load_default_context() | |
251 | defaults = defaults or {} |
|
240 | defaults = defaults or {} | |
@@ -270,9 +259,6 b' class LoginView(BaseAppView):' | |||||
270 |
|
259 | |||
271 | @HasPermissionAnyDecorator( |
|
260 | @HasPermissionAnyDecorator( | |
272 | 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate') |
|
261 | 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate') | |
273 | @view_config( |
|
|||
274 | route_name='register', request_method='POST', |
|
|||
275 | renderer='rhodecode:templates/register.mako') |
|
|||
276 | def register_post(self): |
|
262 | def register_post(self): | |
277 | from rhodecode.authentication.plugins import auth_rhodecode |
|
263 | from rhodecode.authentication.plugins import auth_rhodecode | |
278 |
|
264 | |||
@@ -353,9 +339,6 b' class LoginView(BaseAppView):' | |||||
353 | h.flash(e, category='error') |
|
339 | h.flash(e, category='error') | |
354 | return self.register() |
|
340 | return self.register() | |
355 |
|
341 | |||
356 | @view_config( |
|
|||
357 | route_name='reset_password', request_method=('GET', 'POST'), |
|
|||
358 | renderer='rhodecode:templates/password_reset.mako') |
|
|||
359 | def password_reset(self): |
|
342 | def password_reset(self): | |
360 | c = self.load_default_context() |
|
343 | c = self.load_default_context() | |
361 | captcha = self._get_captcha_data() |
|
344 | captcha = self._get_captcha_data() | |
@@ -454,8 +437,6 b' class LoginView(BaseAppView):' | |||||
454 |
|
437 | |||
455 | return self._get_template_context(c, **template_context) |
|
438 | return self._get_template_context(c, **template_context) | |
456 |
|
439 | |||
457 | @view_config(route_name='reset_password_confirmation', |
|
|||
458 | request_method='GET') |
|
|||
459 | def password_reset_confirmation(self): |
|
440 | def password_reset_confirmation(self): | |
460 | self.load_default_context() |
|
441 | self.load_default_context() | |
461 | if self.request.GET and self.request.GET.get('key'): |
|
442 | if self.request.GET and self.request.GET.get('key'): |
@@ -23,138 +23,311 b' from rhodecode.apps._base import ADMIN_P' | |||||
23 |
|
23 | |||
24 |
|
24 | |||
25 | def includeme(config): |
|
25 | def includeme(config): | |
|
26 | from rhodecode.apps.my_account.views.my_account import MyAccountView | |||
|
27 | from rhodecode.apps.my_account.views.my_account_notifications import MyAccountNotificationsView | |||
|
28 | from rhodecode.apps.my_account.views.my_account_ssh_keys import MyAccountSshKeysView | |||
26 |
|
29 | |||
27 | config.add_route( |
|
30 | config.add_route( | |
28 | name='my_account_profile', |
|
31 | name='my_account_profile', | |
29 | pattern=ADMIN_PREFIX + '/my_account/profile') |
|
32 | pattern=ADMIN_PREFIX + '/my_account/profile') | |
|
33 | config.add_view( | |||
|
34 | MyAccountView, | |||
|
35 | attr='my_account_profile', | |||
|
36 | route_name='my_account_profile', request_method='GET', | |||
|
37 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
30 |
|
38 | |||
31 | # my account edit details |
|
39 | # my account edit details | |
32 | config.add_route( |
|
40 | config.add_route( | |
33 | name='my_account_edit', |
|
41 | name='my_account_edit', | |
34 | pattern=ADMIN_PREFIX + '/my_account/edit') |
|
42 | pattern=ADMIN_PREFIX + '/my_account/edit') | |
|
43 | config.add_view( | |||
|
44 | MyAccountView, | |||
|
45 | attr='my_account_edit', | |||
|
46 | route_name='my_account_edit', | |||
|
47 | request_method='GET', | |||
|
48 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
|
49 | ||||
35 | config.add_route( |
|
50 | config.add_route( | |
36 | name='my_account_update', |
|
51 | name='my_account_update', | |
37 | pattern=ADMIN_PREFIX + '/my_account/update') |
|
52 | pattern=ADMIN_PREFIX + '/my_account/update') | |
|
53 | config.add_view( | |||
|
54 | MyAccountView, | |||
|
55 | attr='my_account_update', | |||
|
56 | route_name='my_account_update', | |||
|
57 | request_method='POST', | |||
|
58 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
38 |
|
59 | |||
39 | # my account password |
|
60 | # my account password | |
40 | config.add_route( |
|
61 | config.add_route( | |
41 | name='my_account_password', |
|
62 | name='my_account_password', | |
42 | pattern=ADMIN_PREFIX + '/my_account/password') |
|
63 | pattern=ADMIN_PREFIX + '/my_account/password') | |
|
64 | config.add_view( | |||
|
65 | MyAccountView, | |||
|
66 | attr='my_account_password', | |||
|
67 | route_name='my_account_password', request_method='GET', | |||
|
68 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
43 |
|
69 | |||
44 | config.add_route( |
|
70 | config.add_route( | |
45 | name='my_account_password_update', |
|
71 | name='my_account_password_update', | |
46 | pattern=ADMIN_PREFIX + '/my_account/password/update') |
|
72 | pattern=ADMIN_PREFIX + '/my_account/password/update') | |
|
73 | config.add_view( | |||
|
74 | MyAccountView, | |||
|
75 | attr='my_account_password_update', | |||
|
76 | route_name='my_account_password_update', request_method='POST', | |||
|
77 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
47 |
|
78 | |||
48 | # my account tokens |
|
79 | # my account tokens | |
49 | config.add_route( |
|
80 | config.add_route( | |
50 | name='my_account_auth_tokens', |
|
81 | name='my_account_auth_tokens', | |
51 | pattern=ADMIN_PREFIX + '/my_account/auth_tokens') |
|
82 | pattern=ADMIN_PREFIX + '/my_account/auth_tokens') | |
|
83 | config.add_view( | |||
|
84 | MyAccountView, | |||
|
85 | attr='my_account_auth_tokens', | |||
|
86 | route_name='my_account_auth_tokens', request_method='GET', | |||
|
87 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
|
88 | ||||
52 | config.add_route( |
|
89 | config.add_route( | |
53 | name='my_account_auth_tokens_view', |
|
90 | name='my_account_auth_tokens_view', | |
54 | pattern=ADMIN_PREFIX + '/my_account/auth_tokens/view') |
|
91 | pattern=ADMIN_PREFIX + '/my_account/auth_tokens/view') | |
|
92 | config.add_view( | |||
|
93 | MyAccountView, | |||
|
94 | attr='my_account_auth_tokens_view', | |||
|
95 | route_name='my_account_auth_tokens_view', request_method='POST', xhr=True, | |||
|
96 | renderer='json_ext') | |||
|
97 | ||||
55 | config.add_route( |
|
98 | config.add_route( | |
56 | name='my_account_auth_tokens_add', |
|
99 | name='my_account_auth_tokens_add', | |
57 | pattern=ADMIN_PREFIX + '/my_account/auth_tokens/new') |
|
100 | pattern=ADMIN_PREFIX + '/my_account/auth_tokens/new') | |
|
101 | config.add_view( | |||
|
102 | MyAccountView, | |||
|
103 | attr='my_account_auth_tokens_add', | |||
|
104 | route_name='my_account_auth_tokens_add', request_method='POST') | |||
|
105 | ||||
58 | config.add_route( |
|
106 | config.add_route( | |
59 | name='my_account_auth_tokens_delete', |
|
107 | name='my_account_auth_tokens_delete', | |
60 | pattern=ADMIN_PREFIX + '/my_account/auth_tokens/delete') |
|
108 | pattern=ADMIN_PREFIX + '/my_account/auth_tokens/delete') | |
|
109 | config.add_view( | |||
|
110 | MyAccountView, | |||
|
111 | attr='my_account_auth_tokens_delete', | |||
|
112 | route_name='my_account_auth_tokens_delete', request_method='POST') | |||
61 |
|
113 | |||
62 | # my account ssh keys |
|
114 | # my account ssh keys | |
63 | config.add_route( |
|
115 | config.add_route( | |
64 | name='my_account_ssh_keys', |
|
116 | name='my_account_ssh_keys', | |
65 | pattern=ADMIN_PREFIX + '/my_account/ssh_keys') |
|
117 | pattern=ADMIN_PREFIX + '/my_account/ssh_keys') | |
|
118 | config.add_view( | |||
|
119 | MyAccountSshKeysView, | |||
|
120 | attr='my_account_ssh_keys', | |||
|
121 | route_name='my_account_ssh_keys', request_method='GET', | |||
|
122 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
|
123 | ||||
66 | config.add_route( |
|
124 | config.add_route( | |
67 | name='my_account_ssh_keys_generate', |
|
125 | name='my_account_ssh_keys_generate', | |
68 | pattern=ADMIN_PREFIX + '/my_account/ssh_keys/generate') |
|
126 | pattern=ADMIN_PREFIX + '/my_account/ssh_keys/generate') | |
|
127 | config.add_view( | |||
|
128 | MyAccountSshKeysView, | |||
|
129 | attr='ssh_keys_generate_keypair', | |||
|
130 | route_name='my_account_ssh_keys_generate', request_method='GET', | |||
|
131 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
|
132 | ||||
69 | config.add_route( |
|
133 | config.add_route( | |
70 | name='my_account_ssh_keys_add', |
|
134 | name='my_account_ssh_keys_add', | |
71 | pattern=ADMIN_PREFIX + '/my_account/ssh_keys/new') |
|
135 | pattern=ADMIN_PREFIX + '/my_account/ssh_keys/new') | |
|
136 | config.add_view( | |||
|
137 | MyAccountSshKeysView, | |||
|
138 | attr='my_account_ssh_keys_add', | |||
|
139 | route_name='my_account_ssh_keys_add', request_method='POST',) | |||
|
140 | ||||
72 | config.add_route( |
|
141 | config.add_route( | |
73 | name='my_account_ssh_keys_delete', |
|
142 | name='my_account_ssh_keys_delete', | |
74 | pattern=ADMIN_PREFIX + '/my_account/ssh_keys/delete') |
|
143 | pattern=ADMIN_PREFIX + '/my_account/ssh_keys/delete') | |
|
144 | config.add_view( | |||
|
145 | MyAccountSshKeysView, | |||
|
146 | attr='my_account_ssh_keys_delete', | |||
|
147 | route_name='my_account_ssh_keys_delete', request_method='POST') | |||
75 |
|
148 | |||
76 | # my account user group membership |
|
149 | # my account user group membership | |
77 | config.add_route( |
|
150 | config.add_route( | |
78 | name='my_account_user_group_membership', |
|
151 | name='my_account_user_group_membership', | |
79 | pattern=ADMIN_PREFIX + '/my_account/user_group_membership') |
|
152 | pattern=ADMIN_PREFIX + '/my_account/user_group_membership') | |
|
153 | config.add_view( | |||
|
154 | MyAccountView, | |||
|
155 | attr='my_account_user_group_membership', | |||
|
156 | route_name='my_account_user_group_membership', | |||
|
157 | request_method='GET', | |||
|
158 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
80 |
|
159 | |||
81 | # my account emails |
|
160 | # my account emails | |
82 | config.add_route( |
|
161 | config.add_route( | |
83 | name='my_account_emails', |
|
162 | name='my_account_emails', | |
84 | pattern=ADMIN_PREFIX + '/my_account/emails') |
|
163 | pattern=ADMIN_PREFIX + '/my_account/emails') | |
|
164 | config.add_view( | |||
|
165 | MyAccountView, | |||
|
166 | attr='my_account_emails', | |||
|
167 | route_name='my_account_emails', request_method='GET', | |||
|
168 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
|
169 | ||||
85 | config.add_route( |
|
170 | config.add_route( | |
86 | name='my_account_emails_add', |
|
171 | name='my_account_emails_add', | |
87 | pattern=ADMIN_PREFIX + '/my_account/emails/new') |
|
172 | pattern=ADMIN_PREFIX + '/my_account/emails/new') | |
|
173 | config.add_view( | |||
|
174 | MyAccountView, | |||
|
175 | attr='my_account_emails_add', | |||
|
176 | route_name='my_account_emails_add', request_method='POST', | |||
|
177 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
|
178 | ||||
88 | config.add_route( |
|
179 | config.add_route( | |
89 | name='my_account_emails_delete', |
|
180 | name='my_account_emails_delete', | |
90 | pattern=ADMIN_PREFIX + '/my_account/emails/delete') |
|
181 | pattern=ADMIN_PREFIX + '/my_account/emails/delete') | |
|
182 | config.add_view( | |||
|
183 | MyAccountView, | |||
|
184 | attr='my_account_emails_delete', | |||
|
185 | route_name='my_account_emails_delete', request_method='POST') | |||
91 |
|
186 | |||
92 | config.add_route( |
|
187 | config.add_route( | |
93 | name='my_account_repos', |
|
188 | name='my_account_repos', | |
94 | pattern=ADMIN_PREFIX + '/my_account/repos') |
|
189 | pattern=ADMIN_PREFIX + '/my_account/repos') | |
|
190 | config.add_view( | |||
|
191 | MyAccountView, | |||
|
192 | attr='my_account_repos', | |||
|
193 | route_name='my_account_repos', request_method='GET', | |||
|
194 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
95 |
|
195 | |||
96 | config.add_route( |
|
196 | config.add_route( | |
97 | name='my_account_watched', |
|
197 | name='my_account_watched', | |
98 | pattern=ADMIN_PREFIX + '/my_account/watched') |
|
198 | pattern=ADMIN_PREFIX + '/my_account/watched') | |
|
199 | config.add_view( | |||
|
200 | MyAccountView, | |||
|
201 | attr='my_account_watched', | |||
|
202 | route_name='my_account_watched', request_method='GET', | |||
|
203 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
99 |
|
204 | |||
100 | config.add_route( |
|
205 | config.add_route( | |
101 | name='my_account_bookmarks', |
|
206 | name='my_account_bookmarks', | |
102 | pattern=ADMIN_PREFIX + '/my_account/bookmarks') |
|
207 | pattern=ADMIN_PREFIX + '/my_account/bookmarks') | |
|
208 | config.add_view( | |||
|
209 | MyAccountView, | |||
|
210 | attr='my_account_bookmarks', | |||
|
211 | route_name='my_account_bookmarks', request_method='GET', | |||
|
212 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
103 |
|
213 | |||
104 | config.add_route( |
|
214 | config.add_route( | |
105 | name='my_account_bookmarks_update', |
|
215 | name='my_account_bookmarks_update', | |
106 | pattern=ADMIN_PREFIX + '/my_account/bookmarks/update') |
|
216 | pattern=ADMIN_PREFIX + '/my_account/bookmarks/update') | |
|
217 | config.add_view( | |||
|
218 | MyAccountView, | |||
|
219 | attr='my_account_bookmarks_update', | |||
|
220 | route_name='my_account_bookmarks_update', request_method='POST') | |||
107 |
|
221 | |||
108 | config.add_route( |
|
222 | config.add_route( | |
109 | name='my_account_goto_bookmark', |
|
223 | name='my_account_goto_bookmark', | |
110 | pattern=ADMIN_PREFIX + '/my_account/bookmark/{bookmark_id}') |
|
224 | pattern=ADMIN_PREFIX + '/my_account/bookmark/{bookmark_id}') | |
|
225 | config.add_view( | |||
|
226 | MyAccountView, | |||
|
227 | attr='my_account_goto_bookmark', | |||
|
228 | route_name='my_account_goto_bookmark', request_method='GET', | |||
|
229 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
111 |
|
230 | |||
112 | config.add_route( |
|
231 | config.add_route( | |
113 | name='my_account_perms', |
|
232 | name='my_account_perms', | |
114 | pattern=ADMIN_PREFIX + '/my_account/perms') |
|
233 | pattern=ADMIN_PREFIX + '/my_account/perms') | |
|
234 | config.add_view( | |||
|
235 | MyAccountView, | |||
|
236 | attr='my_account_perms', | |||
|
237 | route_name='my_account_perms', request_method='GET', | |||
|
238 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
115 |
|
239 | |||
116 | config.add_route( |
|
240 | config.add_route( | |
117 | name='my_account_notifications', |
|
241 | name='my_account_notifications', | |
118 | pattern=ADMIN_PREFIX + '/my_account/notifications') |
|
242 | pattern=ADMIN_PREFIX + '/my_account/notifications') | |
|
243 | config.add_view( | |||
|
244 | MyAccountView, | |||
|
245 | attr='my_notifications', | |||
|
246 | route_name='my_account_notifications', request_method='GET', | |||
|
247 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
119 |
|
248 | |||
120 | config.add_route( |
|
249 | config.add_route( | |
121 | name='my_account_notifications_toggle_visibility', |
|
250 | name='my_account_notifications_toggle_visibility', | |
122 | pattern=ADMIN_PREFIX + '/my_account/toggle_visibility') |
|
251 | pattern=ADMIN_PREFIX + '/my_account/toggle_visibility') | |
|
252 | config.add_view( | |||
|
253 | MyAccountView, | |||
|
254 | attr='my_notifications_toggle_visibility', | |||
|
255 | route_name='my_account_notifications_toggle_visibility', | |||
|
256 | request_method='POST', renderer='json_ext') | |||
123 |
|
257 | |||
124 | # my account pull requests |
|
258 | # my account pull requests | |
125 | config.add_route( |
|
259 | config.add_route( | |
126 | name='my_account_pullrequests', |
|
260 | name='my_account_pullrequests', | |
127 | pattern=ADMIN_PREFIX + '/my_account/pull_requests') |
|
261 | pattern=ADMIN_PREFIX + '/my_account/pull_requests') | |
|
262 | config.add_view( | |||
|
263 | MyAccountView, | |||
|
264 | attr='my_account_pullrequests', | |||
|
265 | route_name='my_account_pullrequests', | |||
|
266 | request_method='GET', | |||
|
267 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |||
|
268 | ||||
128 | config.add_route( |
|
269 | config.add_route( | |
129 | name='my_account_pullrequests_data', |
|
270 | name='my_account_pullrequests_data', | |
130 | pattern=ADMIN_PREFIX + '/my_account/pull_requests/data') |
|
271 | pattern=ADMIN_PREFIX + '/my_account/pull_requests/data') | |
|
272 | config.add_view( | |||
|
273 | MyAccountView, | |||
|
274 | attr='my_account_pullrequests_data', | |||
|
275 | route_name='my_account_pullrequests_data', | |||
|
276 | request_method='GET', renderer='json_ext') | |||
|
277 | ||||
|
278 | # channelstream test | |||
|
279 | config.add_route( | |||
|
280 | name='my_account_notifications_test_channelstream', | |||
|
281 | pattern=ADMIN_PREFIX + '/my_account/test_channelstream') | |||
|
282 | config.add_view( | |||
|
283 | MyAccountView, | |||
|
284 | attr='my_account_notifications_test_channelstream', | |||
|
285 | route_name='my_account_notifications_test_channelstream', | |||
|
286 | request_method='POST', renderer='json_ext') | |||
131 |
|
287 | |||
132 | # notifications |
|
288 | # notifications | |
133 | config.add_route( |
|
289 | config.add_route( | |
134 | name='notifications_show_all', |
|
290 | name='notifications_show_all', | |
135 | pattern=ADMIN_PREFIX + '/notifications') |
|
291 | pattern=ADMIN_PREFIX + '/notifications') | |
|
292 | config.add_view( | |||
|
293 | MyAccountNotificationsView, | |||
|
294 | attr='notifications_show_all', | |||
|
295 | route_name='notifications_show_all', request_method='GET', | |||
|
296 | renderer='rhodecode:templates/admin/notifications/notifications_show_all.mako') | |||
136 |
|
297 | |||
137 | # notifications |
|
298 | # notifications | |
138 | config.add_route( |
|
299 | config.add_route( | |
139 | name='notifications_mark_all_read', |
|
300 | name='notifications_mark_all_read', | |
140 |
pattern=ADMIN_PREFIX + '/notifications |
|
301 | pattern=ADMIN_PREFIX + '/notifications_mark_all_read') | |
|
302 | config.add_view( | |||
|
303 | MyAccountNotificationsView, | |||
|
304 | attr='notifications_mark_all_read', | |||
|
305 | route_name='notifications_mark_all_read', request_method='POST', | |||
|
306 | renderer='rhodecode:templates/admin/notifications/notifications_show_all.mako') | |||
141 |
|
307 | |||
142 | config.add_route( |
|
308 | config.add_route( | |
143 | name='notifications_show', |
|
309 | name='notifications_show', | |
144 | pattern=ADMIN_PREFIX + '/notifications/{notification_id}') |
|
310 | pattern=ADMIN_PREFIX + '/notifications/{notification_id}') | |
|
311 | config.add_view( | |||
|
312 | MyAccountNotificationsView, | |||
|
313 | attr='notifications_show', | |||
|
314 | route_name='notifications_show', request_method='GET', | |||
|
315 | renderer='rhodecode:templates/admin/notifications/notifications_show.mako') | |||
145 |
|
316 | |||
146 | config.add_route( |
|
317 | config.add_route( | |
147 | name='notifications_update', |
|
318 | name='notifications_update', | |
148 | pattern=ADMIN_PREFIX + '/notifications/{notification_id}/update') |
|
319 | pattern=ADMIN_PREFIX + '/notifications/{notification_id}/update') | |
|
320 | config.add_view( | |||
|
321 | MyAccountNotificationsView, | |||
|
322 | attr='notification_update', | |||
|
323 | route_name='notifications_update', request_method='POST', | |||
|
324 | renderer='json_ext') | |||
149 |
|
325 | |||
150 | config.add_route( |
|
326 | config.add_route( | |
151 | name='notifications_delete', |
|
327 | name='notifications_delete', | |
152 | pattern=ADMIN_PREFIX + '/notifications/{notification_id}/delete') |
|
328 | pattern=ADMIN_PREFIX + '/notifications/{notification_id}/delete') | |
153 |
|
329 | config.add_view( | ||
154 | # channelstream test |
|
330 | MyAccountNotificationsView, | |
155 | config.add_route( |
|
331 | attr='notification_delete', | |
156 | name='my_account_notifications_test_channelstream', |
|
332 | route_name='notifications_delete', request_method='POST', | |
157 | pattern=ADMIN_PREFIX + '/my_account/test_channelstream') |
|
333 | renderer='json_ext') | |
158 |
|
||||
159 | # Scan module for configuration decorators. |
|
|||
160 | config.scan('.views', ignore='.tests') |
|
@@ -40,7 +40,7 b' def route_path(name, params=None, **kwar' | |||||
40 |
|
40 | |||
41 | base_url = { |
|
41 | base_url = { | |
42 | 'notifications_show_all': ADMIN_PREFIX + '/notifications', |
|
42 | 'notifications_show_all': ADMIN_PREFIX + '/notifications', | |
43 |
'notifications_mark_all_read': ADMIN_PREFIX + '/notifications |
|
43 | 'notifications_mark_all_read': ADMIN_PREFIX + '/notifications_mark_all_read', | |
44 | 'notifications_show': ADMIN_PREFIX + '/notifications/{notification_id}', |
|
44 | 'notifications_show': ADMIN_PREFIX + '/notifications/{notification_id}', | |
45 | 'notifications_update': ADMIN_PREFIX + '/notifications/{notification_id}/update', |
|
45 | 'notifications_update': ADMIN_PREFIX + '/notifications/{notification_id}/update', | |
46 | 'notifications_delete': ADMIN_PREFIX + '/notifications/{notification_id}/delete', |
|
46 | 'notifications_delete': ADMIN_PREFIX + '/notifications/{notification_id}/delete', | |
@@ -60,6 +60,15 b' class TestNotificationsController(TestCo' | |||||
60 | Session().delete(inst) |
|
60 | Session().delete(inst) | |
61 | Session().commit() |
|
61 | Session().commit() | |
62 |
|
62 | |||
|
63 | def test_mark_all_read(self, user_util): | |||
|
64 | user = user_util.create_user(password='qweqwe') | |||
|
65 | self.log_user(user.username, 'qweqwe') | |||
|
66 | ||||
|
67 | self.app.post( | |||
|
68 | route_path('notifications_mark_all_read'), status=302, | |||
|
69 | params={'csrf_token': self.csrf_token} | |||
|
70 | ) | |||
|
71 | ||||
63 | def test_show_all(self, user_util): |
|
72 | def test_show_all(self, user_util): | |
64 | user = user_util.create_user(password='qweqwe') |
|
73 | user = user_util.create_user(password='qweqwe') | |
65 | user_id = user.user_id |
|
74 | user_id = user.user_id |
@@ -26,7 +26,6 b' import formencode' | |||||
26 | import formencode.htmlfill |
|
26 | import formencode.htmlfill | |
27 | import peppercorn |
|
27 | import peppercorn | |
28 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
28 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound | |
29 | from pyramid.view import view_config |
|
|||
30 |
|
29 | |||
31 | from rhodecode.apps._base import BaseAppView, DataGridAppView |
|
30 | from rhodecode.apps._base import BaseAppView, DataGridAppView | |
32 | from rhodecode import forms |
|
31 | from rhodecode import forms | |
@@ -65,14 +64,10 b' class MyAccountView(BaseAppView, DataGri' | |||||
65 | c = self._get_local_tmpl_context() |
|
64 | c = self._get_local_tmpl_context() | |
66 | c.user = c.auth_user.get_instance() |
|
65 | c.user = c.auth_user.get_instance() | |
67 | c.allow_scoped_tokens = self.ALLOW_SCOPED_TOKENS |
|
66 | c.allow_scoped_tokens = self.ALLOW_SCOPED_TOKENS | |
68 |
|
||||
69 | return c |
|
67 | return c | |
70 |
|
68 | |||
71 | @LoginRequired() |
|
69 | @LoginRequired() | |
72 | @NotAnonymous() |
|
70 | @NotAnonymous() | |
73 | @view_config( |
|
|||
74 | route_name='my_account_profile', request_method='GET', |
|
|||
75 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
76 | def my_account_profile(self): |
|
71 | def my_account_profile(self): | |
77 | c = self.load_default_context() |
|
72 | c = self.load_default_context() | |
78 | c.active = 'profile' |
|
73 | c.active = 'profile' | |
@@ -81,9 +76,75 b' class MyAccountView(BaseAppView, DataGri' | |||||
81 |
|
76 | |||
82 | @LoginRequired() |
|
77 | @LoginRequired() | |
83 | @NotAnonymous() |
|
78 | @NotAnonymous() | |
84 | @view_config( |
|
79 | def my_account_edit(self): | |
85 | route_name='my_account_password', request_method='GET', |
|
80 | c = self.load_default_context() | |
86 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
81 | c.active = 'profile_edit' | |
|
82 | c.extern_type = c.user.extern_type | |||
|
83 | c.extern_name = c.user.extern_name | |||
|
84 | ||||
|
85 | schema = user_schema.UserProfileSchema().bind( | |||
|
86 | username=c.user.username, user_emails=c.user.emails) | |||
|
87 | appstruct = { | |||
|
88 | 'username': c.user.username, | |||
|
89 | 'email': c.user.email, | |||
|
90 | 'firstname': c.user.firstname, | |||
|
91 | 'lastname': c.user.lastname, | |||
|
92 | 'description': c.user.description, | |||
|
93 | } | |||
|
94 | c.form = forms.RcForm( | |||
|
95 | schema, appstruct=appstruct, | |||
|
96 | action=h.route_path('my_account_update'), | |||
|
97 | buttons=(forms.buttons.save, forms.buttons.reset)) | |||
|
98 | ||||
|
99 | return self._get_template_context(c) | |||
|
100 | ||||
|
101 | @LoginRequired() | |||
|
102 | @NotAnonymous() | |||
|
103 | @CSRFRequired() | |||
|
104 | def my_account_update(self): | |||
|
105 | _ = self.request.translate | |||
|
106 | c = self.load_default_context() | |||
|
107 | c.active = 'profile_edit' | |||
|
108 | c.perm_user = c.auth_user | |||
|
109 | c.extern_type = c.user.extern_type | |||
|
110 | c.extern_name = c.user.extern_name | |||
|
111 | ||||
|
112 | schema = user_schema.UserProfileSchema().bind( | |||
|
113 | username=c.user.username, user_emails=c.user.emails) | |||
|
114 | form = forms.RcForm( | |||
|
115 | schema, buttons=(forms.buttons.save, forms.buttons.reset)) | |||
|
116 | ||||
|
117 | controls = self.request.POST.items() | |||
|
118 | try: | |||
|
119 | valid_data = form.validate(controls) | |||
|
120 | skip_attrs = ['admin', 'active', 'extern_type', 'extern_name', | |||
|
121 | 'new_password', 'password_confirmation'] | |||
|
122 | if c.extern_type != "rhodecode": | |||
|
123 | # forbid updating username for external accounts | |||
|
124 | skip_attrs.append('username') | |||
|
125 | old_email = c.user.email | |||
|
126 | UserModel().update_user( | |||
|
127 | self._rhodecode_user.user_id, skip_attrs=skip_attrs, | |||
|
128 | **valid_data) | |||
|
129 | if old_email != valid_data['email']: | |||
|
130 | old = UserEmailMap.query() \ | |||
|
131 | .filter(UserEmailMap.user == c.user)\ | |||
|
132 | .filter(UserEmailMap.email == valid_data['email'])\ | |||
|
133 | .first() | |||
|
134 | old.email = old_email | |||
|
135 | h.flash(_('Your account was updated successfully'), category='success') | |||
|
136 | Session().commit() | |||
|
137 | except forms.ValidationFailure as e: | |||
|
138 | c.form = e | |||
|
139 | return self._get_template_context(c) | |||
|
140 | except Exception: | |||
|
141 | log.exception("Exception updating user") | |||
|
142 | h.flash(_('Error occurred during update of user'), | |||
|
143 | category='error') | |||
|
144 | raise HTTPFound(h.route_path('my_account_profile')) | |||
|
145 | ||||
|
146 | @LoginRequired() | |||
|
147 | @NotAnonymous() | |||
87 | def my_account_password(self): |
|
148 | def my_account_password(self): | |
88 | c = self.load_default_context() |
|
149 | c = self.load_default_context() | |
89 | c.active = 'password' |
|
150 | c.active = 'password' | |
@@ -103,9 +164,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
103 | @LoginRequired() |
|
164 | @LoginRequired() | |
104 | @NotAnonymous() |
|
165 | @NotAnonymous() | |
105 | @CSRFRequired() |
|
166 | @CSRFRequired() | |
106 | @view_config( |
|
|||
107 | route_name='my_account_password_update', request_method='POST', |
|
|||
108 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
109 | def my_account_password_update(self): |
|
167 | def my_account_password_update(self): | |
110 | _ = self.request.translate |
|
168 | _ = self.request.translate | |
111 | c = self.load_default_context() |
|
169 | c = self.load_default_context() | |
@@ -146,9 +204,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
146 |
|
204 | |||
147 | @LoginRequired() |
|
205 | @LoginRequired() | |
148 | @NotAnonymous() |
|
206 | @NotAnonymous() | |
149 | @view_config( |
|
|||
150 | route_name='my_account_auth_tokens', request_method='GET', |
|
|||
151 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
152 | def my_account_auth_tokens(self): |
|
207 | def my_account_auth_tokens(self): | |
153 | _ = self.request.translate |
|
208 | _ = self.request.translate | |
154 |
|
209 | |||
@@ -167,9 +222,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
167 | @LoginRequired() |
|
222 | @LoginRequired() | |
168 | @NotAnonymous() |
|
223 | @NotAnonymous() | |
169 | @CSRFRequired() |
|
224 | @CSRFRequired() | |
170 | @view_config( |
|
|||
171 | route_name='my_account_auth_tokens_view', request_method='POST', xhr=True, |
|
|||
172 | renderer='json_ext') |
|
|||
173 | def my_account_auth_tokens_view(self): |
|
225 | def my_account_auth_tokens_view(self): | |
174 | _ = self.request.translate |
|
226 | _ = self.request.translate | |
175 | c = self.load_default_context() |
|
227 | c = self.load_default_context() | |
@@ -192,8 +244,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
192 | @LoginRequired() |
|
244 | @LoginRequired() | |
193 | @NotAnonymous() |
|
245 | @NotAnonymous() | |
194 | @CSRFRequired() |
|
246 | @CSRFRequired() | |
195 | @view_config( |
|
|||
196 | route_name='my_account_auth_tokens_add', request_method='POST',) |
|
|||
197 | def my_account_auth_tokens_add(self): |
|
247 | def my_account_auth_tokens_add(self): | |
198 | _ = self.request.translate |
|
248 | _ = self.request.translate | |
199 | c = self.load_default_context() |
|
249 | c = self.load_default_context() | |
@@ -220,8 +270,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
220 | @LoginRequired() |
|
270 | @LoginRequired() | |
221 | @NotAnonymous() |
|
271 | @NotAnonymous() | |
222 | @CSRFRequired() |
|
272 | @CSRFRequired() | |
223 | @view_config( |
|
|||
224 | route_name='my_account_auth_tokens_delete', request_method='POST') |
|
|||
225 | def my_account_auth_tokens_delete(self): |
|
273 | def my_account_auth_tokens_delete(self): | |
226 | _ = self.request.translate |
|
274 | _ = self.request.translate | |
227 | c = self.load_default_context() |
|
275 | c = self.load_default_context() | |
@@ -244,9 +292,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
244 |
|
292 | |||
245 | @LoginRequired() |
|
293 | @LoginRequired() | |
246 | @NotAnonymous() |
|
294 | @NotAnonymous() | |
247 | @view_config( |
|
|||
248 | route_name='my_account_emails', request_method='GET', |
|
|||
249 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
250 | def my_account_emails(self): |
|
295 | def my_account_emails(self): | |
251 | _ = self.request.translate |
|
296 | _ = self.request.translate | |
252 |
|
297 | |||
@@ -269,9 +314,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
269 | @LoginRequired() |
|
314 | @LoginRequired() | |
270 | @NotAnonymous() |
|
315 | @NotAnonymous() | |
271 | @CSRFRequired() |
|
316 | @CSRFRequired() | |
272 | @view_config( |
|
|||
273 | route_name='my_account_emails_add', request_method='POST', |
|
|||
274 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
275 | def my_account_emails_add(self): |
|
317 | def my_account_emails_add(self): | |
276 | _ = self.request.translate |
|
318 | _ = self.request.translate | |
277 | c = self.load_default_context() |
|
319 | c = self.load_default_context() | |
@@ -312,8 +354,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
312 | @LoginRequired() |
|
354 | @LoginRequired() | |
313 | @NotAnonymous() |
|
355 | @NotAnonymous() | |
314 | @CSRFRequired() |
|
356 | @CSRFRequired() | |
315 | @view_config( |
|
|||
316 | route_name='my_account_emails_delete', request_method='POST') |
|
|||
317 | def my_account_emails_delete(self): |
|
357 | def my_account_emails_delete(self): | |
318 | _ = self.request.translate |
|
358 | _ = self.request.translate | |
319 | c = self.load_default_context() |
|
359 | c = self.load_default_context() | |
@@ -334,9 +374,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
334 | @LoginRequired() |
|
374 | @LoginRequired() | |
335 | @NotAnonymous() |
|
375 | @NotAnonymous() | |
336 | @CSRFRequired() |
|
376 | @CSRFRequired() | |
337 | @view_config( |
|
|||
338 | route_name='my_account_notifications_test_channelstream', |
|
|||
339 | request_method='POST', renderer='json_ext') |
|
|||
340 | def my_account_notifications_test_channelstream(self): |
|
377 | def my_account_notifications_test_channelstream(self): | |
341 | message = 'Test message sent via Channelstream by user: {}, on {}'.format( |
|
378 | message = 'Test message sent via Channelstream by user: {}, on {}'.format( | |
342 | self._rhodecode_user.username, datetime.datetime.now()) |
|
379 | self._rhodecode_user.username, datetime.datetime.now()) | |
@@ -424,9 +461,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
424 |
|
461 | |||
425 | @LoginRequired() |
|
462 | @LoginRequired() | |
426 | @NotAnonymous() |
|
463 | @NotAnonymous() | |
427 | @view_config( |
|
|||
428 | route_name='my_account_repos', request_method='GET', |
|
|||
429 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
430 | def my_account_repos(self): |
|
464 | def my_account_repos(self): | |
431 | c = self.load_default_context() |
|
465 | c = self.load_default_context() | |
432 | c.active = 'repos' |
|
466 | c.active = 'repos' | |
@@ -437,9 +471,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
437 |
|
471 | |||
438 | @LoginRequired() |
|
472 | @LoginRequired() | |
439 | @NotAnonymous() |
|
473 | @NotAnonymous() | |
440 | @view_config( |
|
|||
441 | route_name='my_account_watched', request_method='GET', |
|
|||
442 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
443 | def my_account_watched(self): |
|
474 | def my_account_watched(self): | |
444 | c = self.load_default_context() |
|
475 | c = self.load_default_context() | |
445 | c.active = 'watched' |
|
476 | c.active = 'watched' | |
@@ -450,9 +481,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
450 |
|
481 | |||
451 | @LoginRequired() |
|
482 | @LoginRequired() | |
452 | @NotAnonymous() |
|
483 | @NotAnonymous() | |
453 | @view_config( |
|
|||
454 | route_name='my_account_bookmarks', request_method='GET', |
|
|||
455 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
456 | def my_account_bookmarks(self): |
|
484 | def my_account_bookmarks(self): | |
457 | c = self.load_default_context() |
|
485 | c = self.load_default_context() | |
458 | c.active = 'bookmarks' |
|
486 | c.active = 'bookmarks' | |
@@ -519,8 +547,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
519 | @LoginRequired() |
|
547 | @LoginRequired() | |
520 | @NotAnonymous() |
|
548 | @NotAnonymous() | |
521 | @CSRFRequired() |
|
549 | @CSRFRequired() | |
522 | @view_config( |
|
|||
523 | route_name='my_account_bookmarks_update', request_method='POST') |
|
|||
524 | def my_account_bookmarks_update(self): |
|
550 | def my_account_bookmarks_update(self): | |
525 | _ = self.request.translate |
|
551 | _ = self.request.translate | |
526 | c = self.load_default_context() |
|
552 | c = self.load_default_context() | |
@@ -559,9 +585,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
559 |
|
585 | |||
560 | @LoginRequired() |
|
586 | @LoginRequired() | |
561 | @NotAnonymous() |
|
587 | @NotAnonymous() | |
562 | @view_config( |
|
|||
563 | route_name='my_account_goto_bookmark', request_method='GET', |
|
|||
564 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
565 | def my_account_goto_bookmark(self): |
|
588 | def my_account_goto_bookmark(self): | |
566 |
|
589 | |||
567 | bookmark_id = self.request.matchdict['bookmark_id'] |
|
590 | bookmark_id = self.request.matchdict['bookmark_id'] | |
@@ -606,9 +629,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
606 |
|
629 | |||
607 | @LoginRequired() |
|
630 | @LoginRequired() | |
608 | @NotAnonymous() |
|
631 | @NotAnonymous() | |
609 | @view_config( |
|
|||
610 | route_name='my_account_perms', request_method='GET', |
|
|||
611 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
612 | def my_account_perms(self): |
|
632 | def my_account_perms(self): | |
613 | c = self.load_default_context() |
|
633 | c = self.load_default_context() | |
614 | c.active = 'perms' |
|
634 | c.active = 'perms' | |
@@ -618,9 +638,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
618 |
|
638 | |||
619 | @LoginRequired() |
|
639 | @LoginRequired() | |
620 | @NotAnonymous() |
|
640 | @NotAnonymous() | |
621 | @view_config( |
|
|||
622 | route_name='my_account_notifications', request_method='GET', |
|
|||
623 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
624 | def my_notifications(self): |
|
641 | def my_notifications(self): | |
625 | c = self.load_default_context() |
|
642 | c = self.load_default_context() | |
626 | c.active = 'notifications' |
|
643 | c.active = 'notifications' | |
@@ -630,9 +647,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
630 | @LoginRequired() |
|
647 | @LoginRequired() | |
631 | @NotAnonymous() |
|
648 | @NotAnonymous() | |
632 | @CSRFRequired() |
|
649 | @CSRFRequired() | |
633 | @view_config( |
|
|||
634 | route_name='my_account_notifications_toggle_visibility', |
|
|||
635 | request_method='POST', renderer='json_ext') |
|
|||
636 | def my_notifications_toggle_visibility(self): |
|
650 | def my_notifications_toggle_visibility(self): | |
637 | user = self._rhodecode_db_user |
|
651 | user = self._rhodecode_db_user | |
638 | new_status = not user.user_data.get('notification_status', True) |
|
652 | new_status = not user.user_data.get('notification_status', True) | |
@@ -640,83 +654,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
640 | Session().commit() |
|
654 | Session().commit() | |
641 | return user.user_data['notification_status'] |
|
655 | return user.user_data['notification_status'] | |
642 |
|
656 | |||
643 | @LoginRequired() |
|
|||
644 | @NotAnonymous() |
|
|||
645 | @view_config( |
|
|||
646 | route_name='my_account_edit', |
|
|||
647 | request_method='GET', |
|
|||
648 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
649 | def my_account_edit(self): |
|
|||
650 | c = self.load_default_context() |
|
|||
651 | c.active = 'profile_edit' |
|
|||
652 | c.extern_type = c.user.extern_type |
|
|||
653 | c.extern_name = c.user.extern_name |
|
|||
654 |
|
||||
655 | schema = user_schema.UserProfileSchema().bind( |
|
|||
656 | username=c.user.username, user_emails=c.user.emails) |
|
|||
657 | appstruct = { |
|
|||
658 | 'username': c.user.username, |
|
|||
659 | 'email': c.user.email, |
|
|||
660 | 'firstname': c.user.firstname, |
|
|||
661 | 'lastname': c.user.lastname, |
|
|||
662 | 'description': c.user.description, |
|
|||
663 | } |
|
|||
664 | c.form = forms.RcForm( |
|
|||
665 | schema, appstruct=appstruct, |
|
|||
666 | action=h.route_path('my_account_update'), |
|
|||
667 | buttons=(forms.buttons.save, forms.buttons.reset)) |
|
|||
668 |
|
||||
669 | return self._get_template_context(c) |
|
|||
670 |
|
||||
671 | @LoginRequired() |
|
|||
672 | @NotAnonymous() |
|
|||
673 | @CSRFRequired() |
|
|||
674 | @view_config( |
|
|||
675 | route_name='my_account_update', |
|
|||
676 | request_method='POST', |
|
|||
677 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
678 | def my_account_update(self): |
|
|||
679 | _ = self.request.translate |
|
|||
680 | c = self.load_default_context() |
|
|||
681 | c.active = 'profile_edit' |
|
|||
682 | c.perm_user = c.auth_user |
|
|||
683 | c.extern_type = c.user.extern_type |
|
|||
684 | c.extern_name = c.user.extern_name |
|
|||
685 |
|
||||
686 | schema = user_schema.UserProfileSchema().bind( |
|
|||
687 | username=c.user.username, user_emails=c.user.emails) |
|
|||
688 | form = forms.RcForm( |
|
|||
689 | schema, buttons=(forms.buttons.save, forms.buttons.reset)) |
|
|||
690 |
|
||||
691 | controls = self.request.POST.items() |
|
|||
692 | try: |
|
|||
693 | valid_data = form.validate(controls) |
|
|||
694 | skip_attrs = ['admin', 'active', 'extern_type', 'extern_name', |
|
|||
695 | 'new_password', 'password_confirmation'] |
|
|||
696 | if c.extern_type != "rhodecode": |
|
|||
697 | # forbid updating username for external accounts |
|
|||
698 | skip_attrs.append('username') |
|
|||
699 | old_email = c.user.email |
|
|||
700 | UserModel().update_user( |
|
|||
701 | self._rhodecode_user.user_id, skip_attrs=skip_attrs, |
|
|||
702 | **valid_data) |
|
|||
703 | if old_email != valid_data['email']: |
|
|||
704 | old = UserEmailMap.query() \ |
|
|||
705 | .filter(UserEmailMap.user == c.user)\ |
|
|||
706 | .filter(UserEmailMap.email == valid_data['email'])\ |
|
|||
707 | .first() |
|
|||
708 | old.email = old_email |
|
|||
709 | h.flash(_('Your account was updated successfully'), category='success') |
|
|||
710 | Session().commit() |
|
|||
711 | except forms.ValidationFailure as e: |
|
|||
712 | c.form = e |
|
|||
713 | return self._get_template_context(c) |
|
|||
714 | except Exception: |
|
|||
715 | log.exception("Exception updating user") |
|
|||
716 | h.flash(_('Error occurred during update of user'), |
|
|||
717 | category='error') |
|
|||
718 | raise HTTPFound(h.route_path('my_account_profile')) |
|
|||
719 |
|
||||
720 | def _get_pull_requests_list(self, statuses): |
|
657 | def _get_pull_requests_list(self, statuses): | |
721 | draw, start, limit = self._extract_chunk(self.request) |
|
658 | draw, start, limit = self._extract_chunk(self.request) | |
722 | search_q, order_by, order_dir = self._extract_ordering(self.request) |
|
659 | search_q, order_by, order_dir = self._extract_ordering(self.request) | |
@@ -781,10 +718,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
781 |
|
718 | |||
782 | @LoginRequired() |
|
719 | @LoginRequired() | |
783 | @NotAnonymous() |
|
720 | @NotAnonymous() | |
784 | @view_config( |
|
|||
785 | route_name='my_account_pullrequests', |
|
|||
786 | request_method='GET', |
|
|||
787 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
788 | def my_account_pullrequests(self): |
|
721 | def my_account_pullrequests(self): | |
789 | c = self.load_default_context() |
|
722 | c = self.load_default_context() | |
790 | c.active = 'pullrequests' |
|
723 | c.active = 'pullrequests' | |
@@ -796,9 +729,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
796 |
|
729 | |||
797 | @LoginRequired() |
|
730 | @LoginRequired() | |
798 | @NotAnonymous() |
|
731 | @NotAnonymous() | |
799 | @view_config( |
|
|||
800 | route_name='my_account_pullrequests_data', |
|
|||
801 | request_method='GET', renderer='json_ext') |
|
|||
802 | def my_account_pullrequests_data(self): |
|
732 | def my_account_pullrequests_data(self): | |
803 | self.load_default_context() |
|
733 | self.load_default_context() | |
804 | req_get = self.request.GET |
|
734 | req_get = self.request.GET | |
@@ -813,10 +743,6 b' class MyAccountView(BaseAppView, DataGri' | |||||
813 |
|
743 | |||
814 | @LoginRequired() |
|
744 | @LoginRequired() | |
815 | @NotAnonymous() |
|
745 | @NotAnonymous() | |
816 | @view_config( |
|
|||
817 | route_name='my_account_user_group_membership', |
|
|||
818 | request_method='GET', |
|
|||
819 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
820 | def my_account_user_group_membership(self): |
|
746 | def my_account_user_group_membership(self): | |
821 | c = self.load_default_context() |
|
747 | c = self.load_default_context() | |
822 | c.active = 'user_group_membership' |
|
748 | c.active = 'user_group_membership' |
@@ -22,7 +22,6 b' import logging' | |||||
22 |
|
22 | |||
23 | from pyramid.httpexceptions import ( |
|
23 | from pyramid.httpexceptions import ( | |
24 | HTTPFound, HTTPNotFound, HTTPInternalServerError) |
|
24 | HTTPFound, HTTPNotFound, HTTPInternalServerError) | |
25 | from pyramid.view import view_config |
|
|||
26 |
|
25 | |||
27 | from rhodecode.apps._base import BaseAppView |
|
26 | from rhodecode.apps._base import BaseAppView | |
28 | from rhodecode.lib.auth import LoginRequired, NotAnonymous, CSRFRequired |
|
27 | from rhodecode.lib.auth import LoginRequired, NotAnonymous, CSRFRequired | |
@@ -57,9 +56,6 b' class MyAccountNotificationsView(BaseApp' | |||||
57 |
|
56 | |||
58 | @LoginRequired() |
|
57 | @LoginRequired() | |
59 | @NotAnonymous() |
|
58 | @NotAnonymous() | |
60 | @view_config( |
|
|||
61 | route_name='notifications_show_all', request_method='GET', |
|
|||
62 | renderer='rhodecode:templates/admin/notifications/notifications_show_all.mako') |
|
|||
63 | def notifications_show_all(self): |
|
59 | def notifications_show_all(self): | |
64 | c = self.load_default_context() |
|
60 | c = self.load_default_context() | |
65 |
|
61 | |||
@@ -105,22 +101,6 b' class MyAccountNotificationsView(BaseApp' | |||||
105 |
|
101 | |||
106 | @LoginRequired() |
|
102 | @LoginRequired() | |
107 | @NotAnonymous() |
|
103 | @NotAnonymous() | |
108 | @CSRFRequired() |
|
|||
109 | @view_config( |
|
|||
110 | route_name='notifications_mark_all_read', request_method='POST', |
|
|||
111 | renderer='rhodecode:templates/admin/notifications/notifications_show_all.mako') |
|
|||
112 | def notifications_mark_all_read(self): |
|
|||
113 | NotificationModel().mark_all_read_for_user( |
|
|||
114 | self._rhodecode_db_user.user_id, |
|
|||
115 | filter_=self.request.GET.getall('type')) |
|
|||
116 | Session().commit() |
|
|||
117 | raise HTTPFound(h.route_path('notifications_show_all')) |
|
|||
118 |
|
||||
119 | @LoginRequired() |
|
|||
120 | @NotAnonymous() |
|
|||
121 | @view_config( |
|
|||
122 | route_name='notifications_show', request_method='GET', |
|
|||
123 | renderer='rhodecode:templates/admin/notifications/notifications_show.mako') |
|
|||
124 | def notifications_show(self): |
|
104 | def notifications_show(self): | |
125 | c = self.load_default_context() |
|
105 | c = self.load_default_context() | |
126 | notification_id = self.request.matchdict['notification_id'] |
|
106 | notification_id = self.request.matchdict['notification_id'] | |
@@ -150,9 +130,16 b' class MyAccountNotificationsView(BaseApp' | |||||
150 | @LoginRequired() |
|
130 | @LoginRequired() | |
151 | @NotAnonymous() |
|
131 | @NotAnonymous() | |
152 | @CSRFRequired() |
|
132 | @CSRFRequired() | |
153 | @view_config( |
|
133 | def notifications_mark_all_read(self): | |
154 | route_name='notifications_update', request_method='POST', |
|
134 | NotificationModel().mark_all_read_for_user( | |
155 | renderer='json_ext') |
|
135 | self._rhodecode_db_user.user_id, | |
|
136 | filter_=self.request.GET.getall('type')) | |||
|
137 | Session().commit() | |||
|
138 | raise HTTPFound(h.route_path('notifications_show_all')) | |||
|
139 | ||||
|
140 | @LoginRequired() | |||
|
141 | @NotAnonymous() | |||
|
142 | @CSRFRequired() | |||
156 | def notification_update(self): |
|
143 | def notification_update(self): | |
157 | notification_id = self.request.matchdict['notification_id'] |
|
144 | notification_id = self.request.matchdict['notification_id'] | |
158 | notification = Notification.get_or_404(notification_id) |
|
145 | notification = Notification.get_or_404(notification_id) | |
@@ -177,9 +164,6 b' class MyAccountNotificationsView(BaseApp' | |||||
177 | @LoginRequired() |
|
164 | @LoginRequired() | |
178 | @NotAnonymous() |
|
165 | @NotAnonymous() | |
179 | @CSRFRequired() |
|
166 | @CSRFRequired() | |
180 | @view_config( |
|
|||
181 | route_name='notifications_delete', request_method='POST', |
|
|||
182 | renderer='json_ext') |
|
|||
183 | def notification_delete(self): |
|
167 | def notification_delete(self): | |
184 | notification_id = self.request.matchdict['notification_id'] |
|
168 | notification_id = self.request.matchdict['notification_id'] | |
185 | notification = Notification.get_or_404(notification_id) |
|
169 | notification = Notification.get_or_404(notification_id) |
@@ -21,7 +21,6 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.httpexceptions import HTTPFound |
|
23 | from pyramid.httpexceptions import HTTPFound | |
24 | from pyramid.view import view_config |
|
|||
25 |
|
24 | |||
26 | from rhodecode.apps._base import BaseAppView, DataGridAppView |
|
25 | from rhodecode.apps._base import BaseAppView, DataGridAppView | |
27 | from rhodecode.apps.ssh_support import SshKeyFileChangeEvent |
|
26 | from rhodecode.apps.ssh_support import SshKeyFileChangeEvent | |
@@ -41,17 +40,12 b' class MyAccountSshKeysView(BaseAppView, ' | |||||
41 | def load_default_context(self): |
|
40 | def load_default_context(self): | |
42 | c = self._get_local_tmpl_context() |
|
41 | c = self._get_local_tmpl_context() | |
43 | c.user = c.auth_user.get_instance() |
|
42 | c.user = c.auth_user.get_instance() | |
44 |
|
||||
45 | c.ssh_enabled = self.request.registry.settings.get( |
|
43 | c.ssh_enabled = self.request.registry.settings.get( | |
46 | 'ssh.generate_authorized_keyfile') |
|
44 | 'ssh.generate_authorized_keyfile') | |
47 |
|
||||
48 | return c |
|
45 | return c | |
49 |
|
46 | |||
50 | @LoginRequired() |
|
47 | @LoginRequired() | |
51 | @NotAnonymous() |
|
48 | @NotAnonymous() | |
52 | @view_config( |
|
|||
53 | route_name='my_account_ssh_keys', request_method='GET', |
|
|||
54 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
55 | def my_account_ssh_keys(self): |
|
49 | def my_account_ssh_keys(self): | |
56 | _ = self.request.translate |
|
50 | _ = self.request.translate | |
57 |
|
51 | |||
@@ -63,9 +57,6 b' class MyAccountSshKeysView(BaseAppView, ' | |||||
63 |
|
57 | |||
64 | @LoginRequired() |
|
58 | @LoginRequired() | |
65 | @NotAnonymous() |
|
59 | @NotAnonymous() | |
66 | @view_config( |
|
|||
67 | route_name='my_account_ssh_keys_generate', request_method='GET', |
|
|||
68 | renderer='rhodecode:templates/admin/my_account/my_account.mako') |
|
|||
69 | def ssh_keys_generate_keypair(self): |
|
60 | def ssh_keys_generate_keypair(self): | |
70 | _ = self.request.translate |
|
61 | _ = self.request.translate | |
71 | c = self.load_default_context() |
|
62 | c = self.load_default_context() | |
@@ -84,8 +75,6 b' class MyAccountSshKeysView(BaseAppView, ' | |||||
84 | @LoginRequired() |
|
75 | @LoginRequired() | |
85 | @NotAnonymous() |
|
76 | @NotAnonymous() | |
86 | @CSRFRequired() |
|
77 | @CSRFRequired() | |
87 | @view_config( |
|
|||
88 | route_name='my_account_ssh_keys_add', request_method='POST',) |
|
|||
89 | def my_account_ssh_keys_add(self): |
|
78 | def my_account_ssh_keys_add(self): | |
90 | _ = self.request.translate |
|
79 | _ = self.request.translate | |
91 | c = self.load_default_context() |
|
80 | c = self.load_default_context() | |
@@ -132,8 +121,6 b' class MyAccountSshKeysView(BaseAppView, ' | |||||
132 | @LoginRequired() |
|
121 | @LoginRequired() | |
133 | @NotAnonymous() |
|
122 | @NotAnonymous() | |
134 | @CSRFRequired() |
|
123 | @CSRFRequired() | |
135 | @view_config( |
|
|||
136 | route_name='my_account_ssh_keys_delete', request_method='POST') |
|
|||
137 | def my_account_ssh_keys_delete(self): |
|
124 | def my_account_ssh_keys_delete(self): | |
138 | _ = self.request.translate |
|
125 | _ = self.request.translate | |
139 | c = self.load_default_context() |
|
126 | c = self.load_default_context() |
@@ -22,25 +22,35 b' from rhodecode.apps._base import ADMIN_P' | |||||
22 |
|
22 | |||
23 |
|
23 | |||
24 | def admin_routes(config): |
|
24 | def admin_routes(config): | |
|
25 | from rhodecode.apps.ops.views import OpsView | |||
|
26 | ||||
25 | config.add_route( |
|
27 | config.add_route( | |
26 | name='ops_ping', |
|
28 | name='ops_ping', | |
27 | pattern='/ping') |
|
29 | pattern='/ping') | |
|
30 | config.add_view( | |||
|
31 | OpsView, | |||
|
32 | attr='ops_ping', | |||
|
33 | route_name='ops_ping', request_method='GET', | |||
|
34 | renderer='json_ext') | |||
|
35 | ||||
28 | config.add_route( |
|
36 | config.add_route( | |
29 | name='ops_error_test', |
|
37 | name='ops_error_test', | |
30 | pattern='/error') |
|
38 | pattern='/error') | |
|
39 | config.add_view( | |||
|
40 | OpsView, | |||
|
41 | attr='ops_error_test', | |||
|
42 | route_name='ops_error_test', request_method='GET', | |||
|
43 | renderer='json_ext') | |||
|
44 | ||||
31 | config.add_route( |
|
45 | config.add_route( | |
32 | name='ops_redirect_test', |
|
46 | name='ops_redirect_test', | |
33 | pattern='/redirect') |
|
47 | pattern='/redirect') | |
|
48 | config.add_view( | |||
|
49 | OpsView, | |||
|
50 | attr='ops_redirect_test', | |||
|
51 | route_name='ops_redirect_test', request_method='GET', | |||
|
52 | renderer='json_ext') | |||
34 |
|
53 | |||
35 |
|
54 | |||
36 | def includeme(config): |
|
55 | def includeme(config): | |
37 |
|
||||
38 | config.include(admin_routes, route_prefix=ADMIN_PREFIX + '/ops') |
|
56 | config.include(admin_routes, route_prefix=ADMIN_PREFIX + '/ops') | |
39 | # make OLD entries from <4.10.0 work |
|
|||
40 | config.add_route( |
|
|||
41 | name='ops_ping_legacy', pattern=ADMIN_PREFIX + '/ping') |
|
|||
42 | config.add_route( |
|
|||
43 | name='ops_error_test_legacy', pattern=ADMIN_PREFIX + '/error_test') |
|
|||
44 |
|
||||
45 | # Scan module for configuration decorators. |
|
|||
46 | config.scan('.views', ignore='.tests') |
|
@@ -21,7 +21,7 b'' | |||||
21 | import time |
|
21 | import time | |
22 | import logging |
|
22 | import logging | |
23 |
|
23 | |||
24 | from pyramid.view import view_config |
|
24 | ||
25 | from pyramid.httpexceptions import HTTPFound |
|
25 | from pyramid.httpexceptions import HTTPFound | |
26 |
|
26 | |||
27 | from rhodecode.apps._base import BaseAppView |
|
27 | from rhodecode.apps._base import BaseAppView | |
@@ -38,12 +38,6 b' class OpsView(BaseAppView):' | |||||
38 |
|
38 | |||
39 | return c |
|
39 | return c | |
40 |
|
40 | |||
41 | @view_config( |
|
|||
42 | route_name='ops_ping', request_method='GET', |
|
|||
43 | renderer='json_ext') |
|
|||
44 | @view_config( |
|
|||
45 | route_name='ops_ping_legacy', request_method='GET', |
|
|||
46 | renderer='json_ext') |
|
|||
47 | def ops_ping(self): |
|
41 | def ops_ping(self): | |
48 | data = { |
|
42 | data = { | |
49 | 'instance': self.request.registry.settings.get('instance_id'), |
|
43 | 'instance': self.request.registry.settings.get('instance_id'), | |
@@ -59,12 +53,6 b' class OpsView(BaseAppView):' | |||||
59 | }) |
|
53 | }) | |
60 | return {'ok': data} |
|
54 | return {'ok': data} | |
61 |
|
55 | |||
62 | @view_config( |
|
|||
63 | route_name='ops_error_test', request_method='GET', |
|
|||
64 | renderer='json_ext') |
|
|||
65 | @view_config( |
|
|||
66 | route_name='ops_error_test_legacy', request_method='GET', |
|
|||
67 | renderer='json_ext') |
|
|||
68 | def ops_error_test(self): |
|
56 | def ops_error_test(self): | |
69 | """ |
|
57 | """ | |
70 | Test exception handling and emails on errors |
|
58 | Test exception handling and emails on errors | |
@@ -78,9 +66,6 b' class OpsView(BaseAppView):' | |||||
78 | 'Client:{}. Generation time: {}.'.format(self.request.user, time.time())) |
|
66 | 'Client:{}. Generation time: {}.'.format(self.request.user, time.time())) | |
79 | raise TestException(msg) |
|
67 | raise TestException(msg) | |
80 |
|
68 | |||
81 | @view_config( |
|
|||
82 | route_name='ops_redirect_test', request_method='GET', |
|
|||
83 | renderer='json_ext') |
|
|||
84 | def ops_redirect_test(self): |
|
69 | def ops_redirect_test(self): | |
85 | """ |
|
70 | """ | |
86 | Test redirect handling |
|
71 | Test redirect handling |
@@ -18,6 +18,10 b'' | |||||
18 | # RhodeCode Enterprise Edition, including its added features, Support services, |
|
18 | # RhodeCode Enterprise Edition, including its added features, Support services, | |
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 | from rhodecode.apps._base import add_route_with_slash |
|
20 | from rhodecode.apps._base import add_route_with_slash | |
|
21 | from rhodecode.apps.repo_group.views.repo_group_settings import RepoGroupSettingsView | |||
|
22 | from rhodecode.apps.repo_group.views.repo_group_advanced import RepoGroupAdvancedSettingsView | |||
|
23 | from rhodecode.apps.repo_group.views.repo_group_permissions import RepoGroupPermissionsView | |||
|
24 | from rhodecode.apps.home.views import HomeView | |||
21 |
|
25 | |||
22 |
|
26 | |||
23 | def includeme(config): |
|
27 | def includeme(config): | |
@@ -27,35 +31,72 b' def includeme(config):' | |||||
27 | name='edit_repo_group', |
|
31 | name='edit_repo_group', | |
28 | pattern='/{repo_group_name:.*?[^/]}/_edit', |
|
32 | pattern='/{repo_group_name:.*?[^/]}/_edit', | |
29 | repo_group_route=True) |
|
33 | repo_group_route=True) | |
30 | # update is POST on edit_repo_group |
|
34 | config.add_view( | |
|
35 | RepoGroupSettingsView, | |||
|
36 | attr='edit_settings', | |||
|
37 | route_name='edit_repo_group', request_method='GET', | |||
|
38 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') | |||
|
39 | config.add_view( | |||
|
40 | RepoGroupSettingsView, | |||
|
41 | attr='edit_settings_update', | |||
|
42 | route_name='edit_repo_group', request_method='POST', | |||
|
43 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') | |||
31 |
|
44 | |||
32 | # Settings advanced |
|
45 | # Settings advanced | |
33 | config.add_route( |
|
46 | config.add_route( | |
34 | name='edit_repo_group_advanced', |
|
47 | name='edit_repo_group_advanced', | |
35 | pattern='/{repo_group_name:.*?[^/]}/_settings/advanced', |
|
48 | pattern='/{repo_group_name:.*?[^/]}/_settings/advanced', | |
36 | repo_group_route=True) |
|
49 | repo_group_route=True) | |
|
50 | config.add_view( | |||
|
51 | RepoGroupAdvancedSettingsView, | |||
|
52 | attr='edit_repo_group_advanced', | |||
|
53 | route_name='edit_repo_group_advanced', request_method='GET', | |||
|
54 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') | |||
37 |
|
55 | |||
38 | config.add_route( |
|
56 | config.add_route( | |
39 | name='edit_repo_group_advanced_delete', |
|
57 | name='edit_repo_group_advanced_delete', | |
40 | pattern='/{repo_group_name:.*?[^/]}/_settings/advanced/delete', |
|
58 | pattern='/{repo_group_name:.*?[^/]}/_settings/advanced/delete', | |
41 | repo_group_route=True) |
|
59 | repo_group_route=True) | |
|
60 | config.add_view( | |||
|
61 | RepoGroupAdvancedSettingsView, | |||
|
62 | attr='edit_repo_group_delete', | |||
|
63 | route_name='edit_repo_group_advanced_delete', request_method='POST', | |||
|
64 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') | |||
42 |
|
65 | |||
43 | # settings permissions |
|
66 | # settings permissions | |
44 | config.add_route( |
|
67 | config.add_route( | |
45 | name='edit_repo_group_perms', |
|
68 | name='edit_repo_group_perms', | |
46 | pattern='/{repo_group_name:.*?[^/]}/_settings/permissions', |
|
69 | pattern='/{repo_group_name:.*?[^/]}/_settings/permissions', | |
47 | repo_group_route=True) |
|
70 | repo_group_route=True) | |
|
71 | config.add_view( | |||
|
72 | RepoGroupPermissionsView, | |||
|
73 | attr='edit_repo_group_permissions', | |||
|
74 | route_name='edit_repo_group_perms', request_method='GET', | |||
|
75 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') | |||
48 |
|
76 | |||
49 | config.add_route( |
|
77 | config.add_route( | |
50 | name='edit_repo_group_perms_update', |
|
78 | name='edit_repo_group_perms_update', | |
51 | pattern='/{repo_group_name:.*?[^/]}/_settings/permissions/update', |
|
79 | pattern='/{repo_group_name:.*?[^/]}/_settings/permissions/update', | |
52 | repo_group_route=True) |
|
80 | repo_group_route=True) | |
|
81 | config.add_view( | |||
|
82 | RepoGroupPermissionsView, | |||
|
83 | attr='edit_repo_groups_permissions_update', | |||
|
84 | route_name='edit_repo_group_perms_update', request_method='POST', | |||
|
85 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') | |||
53 |
|
86 | |||
54 | # Summary, NOTE(marcink): needs to be at the end for catch-all |
|
87 | # Summary, NOTE(marcink): needs to be at the end for catch-all | |
55 | add_route_with_slash( |
|
88 | add_route_with_slash( | |
56 | config, |
|
89 | config, | |
57 | name='repo_group_home', |
|
90 | name='repo_group_home', | |
58 | pattern='/{repo_group_name:.*?[^/]}', repo_group_route=True) |
|
91 | pattern='/{repo_group_name:.*?[^/]}', repo_group_route=True) | |
|
92 | config.add_view( | |||
|
93 | HomeView, | |||
|
94 | attr='repo_group_main_page', | |||
|
95 | route_name='repo_group_home', request_method='GET', | |||
|
96 | renderer='rhodecode:templates/index_repo_group.mako') | |||
|
97 | config.add_view( | |||
|
98 | HomeView, | |||
|
99 | attr='repo_group_main_page', | |||
|
100 | route_name='repo_group_home_slash', request_method='GET', | |||
|
101 | renderer='rhodecode:templates/index_repo_group.mako') | |||
59 |
|
102 | |||
60 | # Scan module for configuration decorators. |
|
|||
61 | config.scan('.views', ignore='.tests') |
|
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
23 | ||
24 | from pyramid.httpexceptions import HTTPFound |
|
24 | from pyramid.httpexceptions import HTTPFound | |
25 |
|
25 | |||
26 | from rhodecode.apps._base import RepoGroupAppView |
|
26 | from rhodecode.apps._base import RepoGroupAppView | |
@@ -34,17 +34,13 b' from rhodecode.model.meta import Session' | |||||
34 | log = logging.getLogger(__name__) |
|
34 | log = logging.getLogger(__name__) | |
35 |
|
35 | |||
36 |
|
36 | |||
37 | class RepoGroupSettingsView(RepoGroupAppView): |
|
37 | class RepoGroupAdvancedSettingsView(RepoGroupAppView): | |
38 | def load_default_context(self): |
|
38 | def load_default_context(self): | |
39 | c = self._get_local_tmpl_context() |
|
39 | c = self._get_local_tmpl_context() | |
40 |
|
||||
41 | return c |
|
40 | return c | |
42 |
|
41 | |||
43 | @LoginRequired() |
|
42 | @LoginRequired() | |
44 | @HasRepoGroupPermissionAnyDecorator('group.admin') |
|
43 | @HasRepoGroupPermissionAnyDecorator('group.admin') | |
45 | @view_config( |
|
|||
46 | route_name='edit_repo_group_advanced', request_method='GET', |
|
|||
47 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') |
|
|||
48 | def edit_repo_group_advanced(self): |
|
44 | def edit_repo_group_advanced(self): | |
49 | _ = self.request.translate |
|
45 | _ = self.request.translate | |
50 | c = self.load_default_context() |
|
46 | c = self.load_default_context() | |
@@ -61,9 +57,6 b' class RepoGroupSettingsView(RepoGroupApp' | |||||
61 | @LoginRequired() |
|
57 | @LoginRequired() | |
62 | @HasRepoGroupPermissionAnyDecorator('group.admin') |
|
58 | @HasRepoGroupPermissionAnyDecorator('group.admin') | |
63 | @CSRFRequired() |
|
59 | @CSRFRequired() | |
64 | @view_config( |
|
|||
65 | route_name='edit_repo_group_advanced_delete', request_method='POST', |
|
|||
66 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') |
|
|||
67 | def edit_repo_group_delete(self): |
|
60 | def edit_repo_group_delete(self): | |
68 | _ = self.request.translate |
|
61 | _ = self.request.translate | |
69 | _ungettext = self.request.plularize |
|
62 | _ungettext = self.request.plularize |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
23 | ||
24 | from pyramid.httpexceptions import HTTPFound |
|
24 | from pyramid.httpexceptions import HTTPFound | |
25 |
|
25 | |||
26 | from rhodecode.apps._base import RepoGroupAppView |
|
26 | from rhodecode.apps._base import RepoGroupAppView | |
@@ -45,9 +45,6 b' class RepoGroupPermissionsView(RepoGroup' | |||||
45 |
|
45 | |||
46 | @LoginRequired() |
|
46 | @LoginRequired() | |
47 | @HasRepoGroupPermissionAnyDecorator('group.admin') |
|
47 | @HasRepoGroupPermissionAnyDecorator('group.admin') | |
48 | @view_config( |
|
|||
49 | route_name='edit_repo_group_perms', request_method='GET', |
|
|||
50 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') |
|
|||
51 | def edit_repo_group_permissions(self): |
|
48 | def edit_repo_group_permissions(self): | |
52 | c = self.load_default_context() |
|
49 | c = self.load_default_context() | |
53 | c.active = 'permissions' |
|
50 | c.active = 'permissions' | |
@@ -57,9 +54,6 b' class RepoGroupPermissionsView(RepoGroup' | |||||
57 | @LoginRequired() |
|
54 | @LoginRequired() | |
58 | @HasRepoGroupPermissionAnyDecorator('group.admin') |
|
55 | @HasRepoGroupPermissionAnyDecorator('group.admin') | |
59 | @CSRFRequired() |
|
56 | @CSRFRequired() | |
60 | @view_config( |
|
|||
61 | route_name='edit_repo_group_perms_update', request_method='POST', |
|
|||
62 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') |
|
|||
63 | def edit_repo_groups_permissions_update(self): |
|
57 | def edit_repo_groups_permissions_update(self): | |
64 | _ = self.request.translate |
|
58 | _ = self.request.translate | |
65 | c = self.load_default_context() |
|
59 | c = self.load_default_context() |
@@ -21,7 +21,7 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 | import deform |
|
22 | import deform | |
23 |
|
23 | |||
24 | from pyramid.view import view_config |
|
24 | ||
25 | from pyramid.httpexceptions import HTTPFound |
|
25 | from pyramid.httpexceptions import HTTPFound | |
26 |
|
26 | |||
27 | from rhodecode import events |
|
27 | from rhodecode import events | |
@@ -109,9 +109,6 b' class RepoGroupSettingsView(RepoGroupApp' | |||||
109 |
|
109 | |||
110 | @LoginRequired() |
|
110 | @LoginRequired() | |
111 | @HasRepoGroupPermissionAnyDecorator('group.admin') |
|
111 | @HasRepoGroupPermissionAnyDecorator('group.admin') | |
112 | @view_config( |
|
|||
113 | route_name='edit_repo_group', request_method='GET', |
|
|||
114 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') |
|
|||
115 | def edit_settings(self): |
|
112 | def edit_settings(self): | |
116 | c = self.load_default_context() |
|
113 | c = self.load_default_context() | |
117 | c.active = 'settings' |
|
114 | c.active = 'settings' | |
@@ -126,9 +123,6 b' class RepoGroupSettingsView(RepoGroupApp' | |||||
126 | @LoginRequired() |
|
123 | @LoginRequired() | |
127 | @HasRepoGroupPermissionAnyDecorator('group.admin') |
|
124 | @HasRepoGroupPermissionAnyDecorator('group.admin') | |
128 | @CSRFRequired() |
|
125 | @CSRFRequired() | |
129 | @view_config( |
|
|||
130 | route_name='edit_repo_group', request_method='POST', |
|
|||
131 | renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako') |
|
|||
132 | def edit_settings_update(self): |
|
126 | def edit_settings_update(self): | |
133 | _ = self.request.translate |
|
127 | _ = self.request.translate | |
134 | c = self.load_default_context() |
|
128 | c = self.load_default_context() |
This diff has been collapsed as it changes many lines, (707 lines changed) Show them Hide them | |||||
@@ -21,15 +21,52 b' from rhodecode.apps._base import add_rou' | |||||
21 |
|
21 | |||
22 |
|
22 | |||
23 | def includeme(config): |
|
23 | def includeme(config): | |
|
24 | from rhodecode.apps.repository.views.repo_artifacts import RepoArtifactsView | |||
|
25 | from rhodecode.apps.repository.views.repo_audit_logs import AuditLogsView | |||
|
26 | from rhodecode.apps.repository.views.repo_automation import RepoAutomationView | |||
|
27 | from rhodecode.apps.repository.views.repo_bookmarks import RepoBookmarksView | |||
|
28 | from rhodecode.apps.repository.views.repo_branch_permissions import RepoSettingsBranchPermissionsView | |||
|
29 | from rhodecode.apps.repository.views.repo_branches import RepoBranchesView | |||
|
30 | from rhodecode.apps.repository.views.repo_caches import RepoCachesView | |||
|
31 | from rhodecode.apps.repository.views.repo_changelog import RepoChangelogView | |||
|
32 | from rhodecode.apps.repository.views.repo_checks import RepoChecksView | |||
|
33 | from rhodecode.apps.repository.views.repo_commits import RepoCommitsView | |||
|
34 | from rhodecode.apps.repository.views.repo_compare import RepoCompareView | |||
|
35 | from rhodecode.apps.repository.views.repo_feed import RepoFeedView | |||
|
36 | from rhodecode.apps.repository.views.repo_files import RepoFilesView | |||
|
37 | from rhodecode.apps.repository.views.repo_forks import RepoForksView | |||
|
38 | from rhodecode.apps.repository.views.repo_maintainance import RepoMaintenanceView | |||
|
39 | from rhodecode.apps.repository.views.repo_permissions import RepoSettingsPermissionsView | |||
|
40 | from rhodecode.apps.repository.views.repo_pull_requests import RepoPullRequestsView | |||
|
41 | from rhodecode.apps.repository.views.repo_review_rules import RepoReviewRulesView | |||
|
42 | from rhodecode.apps.repository.views.repo_settings import RepoSettingsView | |||
|
43 | from rhodecode.apps.repository.views.repo_settings_advanced import RepoSettingsAdvancedView | |||
|
44 | from rhodecode.apps.repository.views.repo_settings_fields import RepoSettingsFieldsView | |||
|
45 | from rhodecode.apps.repository.views.repo_settings_issue_trackers import RepoSettingsIssueTrackersView | |||
|
46 | from rhodecode.apps.repository.views.repo_settings_remote import RepoSettingsRemoteView | |||
|
47 | from rhodecode.apps.repository.views.repo_settings_vcs import RepoSettingsVcsView | |||
|
48 | from rhodecode.apps.repository.views.repo_strip import RepoStripView | |||
|
49 | from rhodecode.apps.repository.views.repo_summary import RepoSummaryView | |||
|
50 | from rhodecode.apps.repository.views.repo_tags import RepoTagsView | |||
24 |
|
51 | |||
25 | # repo creating checks, special cases that aren't repo routes |
|
52 | # repo creating checks, special cases that aren't repo routes | |
26 | config.add_route( |
|
53 | config.add_route( | |
27 | name='repo_creating', |
|
54 | name='repo_creating', | |
28 | pattern='/{repo_name:.*?[^/]}/repo_creating') |
|
55 | pattern='/{repo_name:.*?[^/]}/repo_creating') | |
|
56 | config.add_view( | |||
|
57 | RepoChecksView, | |||
|
58 | attr='repo_creating', | |||
|
59 | route_name='repo_creating', request_method='GET', | |||
|
60 | renderer='rhodecode:templates/admin/repos/repo_creating.mako') | |||
29 |
|
61 | |||
30 | config.add_route( |
|
62 | config.add_route( | |
31 | name='repo_creating_check', |
|
63 | name='repo_creating_check', | |
32 | pattern='/{repo_name:.*?[^/]}/repo_creating_check') |
|
64 | pattern='/{repo_name:.*?[^/]}/repo_creating_check') | |
|
65 | config.add_view( | |||
|
66 | RepoChecksView, | |||
|
67 | attr='repo_creating_check', | |||
|
68 | route_name='repo_creating_check', request_method='GET', | |||
|
69 | renderer='json_ext') | |||
33 |
|
70 | |||
34 | # Summary |
|
71 | # Summary | |
35 | # NOTE(marcink): one additional route is defined in very bottom, catch |
|
72 | # NOTE(marcink): one additional route is defined in very bottom, catch | |
@@ -37,191 +74,467 b' def includeme(config):' | |||||
37 | config.add_route( |
|
74 | config.add_route( | |
38 | name='repo_summary_explicit', |
|
75 | name='repo_summary_explicit', | |
39 | pattern='/{repo_name:.*?[^/]}/summary', repo_route=True) |
|
76 | pattern='/{repo_name:.*?[^/]}/summary', repo_route=True) | |
|
77 | config.add_view( | |||
|
78 | RepoSummaryView, | |||
|
79 | attr='summary', | |||
|
80 | route_name='repo_summary_explicit', request_method='GET', | |||
|
81 | renderer='rhodecode:templates/summary/summary.mako') | |||
|
82 | ||||
40 | config.add_route( |
|
83 | config.add_route( | |
41 | name='repo_summary_commits', |
|
84 | name='repo_summary_commits', | |
42 | pattern='/{repo_name:.*?[^/]}/summary-commits', repo_route=True) |
|
85 | pattern='/{repo_name:.*?[^/]}/summary-commits', repo_route=True) | |
43 |
|
86 | config.add_view( | ||
|
87 | RepoSummaryView, | |||
|
88 | attr='summary_commits', | |||
|
89 | route_name='repo_summary_commits', request_method='GET', | |||
|
90 | renderer='rhodecode:templates/summary/summary_commits.mako') | |||
|
91 | ||||
44 | # Commits |
|
92 | # Commits | |
45 | config.add_route( |
|
93 | config.add_route( | |
46 | name='repo_commit', |
|
94 | name='repo_commit', | |
47 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}', repo_route=True) |
|
95 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}', repo_route=True) | |
|
96 | config.add_view( | |||
|
97 | RepoCommitsView, | |||
|
98 | attr='repo_commit_show', | |||
|
99 | route_name='repo_commit', request_method='GET', | |||
|
100 | renderer=None) | |||
48 |
|
101 | |||
49 | config.add_route( |
|
102 | config.add_route( | |
50 | name='repo_commit_children', |
|
103 | name='repo_commit_children', | |
51 | pattern='/{repo_name:.*?[^/]}/changeset_children/{commit_id}', repo_route=True) |
|
104 | pattern='/{repo_name:.*?[^/]}/changeset_children/{commit_id}', repo_route=True) | |
|
105 | config.add_view( | |||
|
106 | RepoCommitsView, | |||
|
107 | attr='repo_commit_children', | |||
|
108 | route_name='repo_commit_children', request_method='GET', | |||
|
109 | renderer='json_ext', xhr=True) | |||
52 |
|
110 | |||
53 | config.add_route( |
|
111 | config.add_route( | |
54 | name='repo_commit_parents', |
|
112 | name='repo_commit_parents', | |
55 | pattern='/{repo_name:.*?[^/]}/changeset_parents/{commit_id}', repo_route=True) |
|
113 | pattern='/{repo_name:.*?[^/]}/changeset_parents/{commit_id}', repo_route=True) | |
|
114 | config.add_view( | |||
|
115 | RepoCommitsView, | |||
|
116 | attr='repo_commit_parents', | |||
|
117 | route_name='repo_commit_parents', request_method='GET', | |||
|
118 | renderer='json_ext') | |||
56 |
|
119 | |||
57 | config.add_route( |
|
120 | config.add_route( | |
58 | name='repo_commit_raw', |
|
121 | name='repo_commit_raw', | |
59 | pattern='/{repo_name:.*?[^/]}/changeset-diff/{commit_id}', repo_route=True) |
|
122 | pattern='/{repo_name:.*?[^/]}/changeset-diff/{commit_id}', repo_route=True) | |
|
123 | config.add_view( | |||
|
124 | RepoCommitsView, | |||
|
125 | attr='repo_commit_raw', | |||
|
126 | route_name='repo_commit_raw', request_method='GET', | |||
|
127 | renderer=None) | |||
60 |
|
128 | |||
61 | config.add_route( |
|
129 | config.add_route( | |
62 | name='repo_commit_patch', |
|
130 | name='repo_commit_patch', | |
63 | pattern='/{repo_name:.*?[^/]}/changeset-patch/{commit_id}', repo_route=True) |
|
131 | pattern='/{repo_name:.*?[^/]}/changeset-patch/{commit_id}', repo_route=True) | |
|
132 | config.add_view( | |||
|
133 | RepoCommitsView, | |||
|
134 | attr='repo_commit_patch', | |||
|
135 | route_name='repo_commit_patch', request_method='GET', | |||
|
136 | renderer=None) | |||
64 |
|
137 | |||
65 | config.add_route( |
|
138 | config.add_route( | |
66 | name='repo_commit_download', |
|
139 | name='repo_commit_download', | |
67 | pattern='/{repo_name:.*?[^/]}/changeset-download/{commit_id}', repo_route=True) |
|
140 | pattern='/{repo_name:.*?[^/]}/changeset-download/{commit_id}', repo_route=True) | |
|
141 | config.add_view( | |||
|
142 | RepoCommitsView, | |||
|
143 | attr='repo_commit_download', | |||
|
144 | route_name='repo_commit_download', request_method='GET', | |||
|
145 | renderer=None) | |||
68 |
|
146 | |||
69 | config.add_route( |
|
147 | config.add_route( | |
70 | name='repo_commit_data', |
|
148 | name='repo_commit_data', | |
71 | pattern='/{repo_name:.*?[^/]}/changeset-data/{commit_id}', repo_route=True) |
|
149 | pattern='/{repo_name:.*?[^/]}/changeset-data/{commit_id}', repo_route=True) | |
|
150 | config.add_view( | |||
|
151 | RepoCommitsView, | |||
|
152 | attr='repo_commit_data', | |||
|
153 | route_name='repo_commit_data', request_method='GET', | |||
|
154 | renderer='json_ext', xhr=True) | |||
72 |
|
155 | |||
73 | config.add_route( |
|
156 | config.add_route( | |
74 | name='repo_commit_comment_create', |
|
157 | name='repo_commit_comment_create', | |
75 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/create', repo_route=True) |
|
158 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/create', repo_route=True) | |
|
159 | config.add_view( | |||
|
160 | RepoCommitsView, | |||
|
161 | attr='repo_commit_comment_create', | |||
|
162 | route_name='repo_commit_comment_create', request_method='POST', | |||
|
163 | renderer='json_ext') | |||
76 |
|
164 | |||
77 | config.add_route( |
|
165 | config.add_route( | |
78 | name='repo_commit_comment_preview', |
|
166 | name='repo_commit_comment_preview', | |
79 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/preview', repo_route=True) |
|
167 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/preview', repo_route=True) | |
|
168 | config.add_view( | |||
|
169 | RepoCommitsView, | |||
|
170 | attr='repo_commit_comment_preview', | |||
|
171 | route_name='repo_commit_comment_preview', request_method='POST', | |||
|
172 | renderer='string', xhr=True) | |||
80 |
|
173 | |||
81 | config.add_route( |
|
174 | config.add_route( | |
82 | name='repo_commit_comment_history_view', |
|
175 | name='repo_commit_comment_history_view', | |
83 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_history_id}/history_view', repo_route=True) |
|
176 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_history_id}/history_view', repo_route=True) | |
|
177 | config.add_view( | |||
|
178 | RepoCommitsView, | |||
|
179 | attr='repo_commit_comment_history_view', | |||
|
180 | route_name='repo_commit_comment_history_view', request_method='POST', | |||
|
181 | renderer='string', xhr=True) | |||
84 |
|
182 | |||
85 | config.add_route( |
|
183 | config.add_route( | |
86 | name='repo_commit_comment_attachment_upload', |
|
184 | name='repo_commit_comment_attachment_upload', | |
87 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/attachment_upload', repo_route=True) |
|
185 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/attachment_upload', repo_route=True) | |
|
186 | config.add_view( | |||
|
187 | RepoCommitsView, | |||
|
188 | attr='repo_commit_comment_attachment_upload', | |||
|
189 | route_name='repo_commit_comment_attachment_upload', request_method='POST', | |||
|
190 | renderer='json_ext', xhr=True) | |||
88 |
|
191 | |||
89 | config.add_route( |
|
192 | config.add_route( | |
90 | name='repo_commit_comment_delete', |
|
193 | name='repo_commit_comment_delete', | |
91 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/delete', repo_route=True) |
|
194 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/delete', repo_route=True) | |
|
195 | config.add_view( | |||
|
196 | RepoCommitsView, | |||
|
197 | attr='repo_commit_comment_delete', | |||
|
198 | route_name='repo_commit_comment_delete', request_method='POST', | |||
|
199 | renderer='json_ext') | |||
92 |
|
200 | |||
93 | config.add_route( |
|
201 | config.add_route( | |
94 | name='repo_commit_comment_edit', |
|
202 | name='repo_commit_comment_edit', | |
95 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/edit', repo_route=True) |
|
203 | pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/edit', repo_route=True) | |
|
204 | config.add_view( | |||
|
205 | RepoCommitsView, | |||
|
206 | attr='repo_commit_comment_edit', | |||
|
207 | route_name='repo_commit_comment_edit', request_method='POST', | |||
|
208 | renderer='json_ext') | |||
96 |
|
209 | |||
97 | # still working url for backward compat. |
|
210 | # still working url for backward compat. | |
98 | config.add_route( |
|
211 | config.add_route( | |
99 | name='repo_commit_raw_deprecated', |
|
212 | name='repo_commit_raw_deprecated', | |
100 | pattern='/{repo_name:.*?[^/]}/raw-changeset/{commit_id}', repo_route=True) |
|
213 | pattern='/{repo_name:.*?[^/]}/raw-changeset/{commit_id}', repo_route=True) | |
|
214 | config.add_view( | |||
|
215 | RepoCommitsView, | |||
|
216 | attr='repo_commit_raw', | |||
|
217 | route_name='repo_commit_raw_deprecated', request_method='GET', | |||
|
218 | renderer=None) | |||
101 |
|
219 | |||
102 | # Files |
|
220 | # Files | |
103 | config.add_route( |
|
221 | config.add_route( | |
104 | name='repo_archivefile', |
|
222 | name='repo_archivefile', | |
105 | pattern='/{repo_name:.*?[^/]}/archive/{fname:.*}', repo_route=True) |
|
223 | pattern='/{repo_name:.*?[^/]}/archive/{fname:.*}', repo_route=True) | |
|
224 | config.add_view( | |||
|
225 | RepoFilesView, | |||
|
226 | attr='repo_archivefile', | |||
|
227 | route_name='repo_archivefile', request_method='GET', | |||
|
228 | renderer=None) | |||
106 |
|
229 | |||
107 | config.add_route( |
|
230 | config.add_route( | |
108 | name='repo_files_diff', |
|
231 | name='repo_files_diff', | |
109 | pattern='/{repo_name:.*?[^/]}/diff/{f_path:.*}', repo_route=True) |
|
232 | pattern='/{repo_name:.*?[^/]}/diff/{f_path:.*}', repo_route=True) | |
|
233 | config.add_view( | |||
|
234 | RepoFilesView, | |||
|
235 | attr='repo_files_diff', | |||
|
236 | route_name='repo_files_diff', request_method='GET', | |||
|
237 | renderer=None) | |||
|
238 | ||||
110 | config.add_route( # legacy route to make old links work |
|
239 | config.add_route( # legacy route to make old links work | |
111 | name='repo_files_diff_2way_redirect', |
|
240 | name='repo_files_diff_2way_redirect', | |
112 | pattern='/{repo_name:.*?[^/]}/diff-2way/{f_path:.*}', repo_route=True) |
|
241 | pattern='/{repo_name:.*?[^/]}/diff-2way/{f_path:.*}', repo_route=True) | |
|
242 | config.add_view( | |||
|
243 | RepoFilesView, | |||
|
244 | attr='repo_files_diff_2way_redirect', | |||
|
245 | route_name='repo_files_diff_2way_redirect', request_method='GET', | |||
|
246 | renderer=None) | |||
113 |
|
247 | |||
114 | config.add_route( |
|
248 | config.add_route( | |
115 | name='repo_files', |
|
249 | name='repo_files', | |
116 | pattern='/{repo_name:.*?[^/]}/files/{commit_id}/{f_path:.*}', repo_route=True) |
|
250 | pattern='/{repo_name:.*?[^/]}/files/{commit_id}/{f_path:.*}', repo_route=True) | |
|
251 | config.add_view( | |||
|
252 | RepoFilesView, | |||
|
253 | attr='repo_files', | |||
|
254 | route_name='repo_files', request_method='GET', | |||
|
255 | renderer=None) | |||
|
256 | ||||
117 | config.add_route( |
|
257 | config.add_route( | |
118 | name='repo_files:default_path', |
|
258 | name='repo_files:default_path', | |
119 | pattern='/{repo_name:.*?[^/]}/files/{commit_id}/', repo_route=True) |
|
259 | pattern='/{repo_name:.*?[^/]}/files/{commit_id}/', repo_route=True) | |
|
260 | config.add_view( | |||
|
261 | RepoFilesView, | |||
|
262 | attr='repo_files', | |||
|
263 | route_name='repo_files:default_path', request_method='GET', | |||
|
264 | renderer=None) | |||
|
265 | ||||
120 | config.add_route( |
|
266 | config.add_route( | |
121 | name='repo_files:default_commit', |
|
267 | name='repo_files:default_commit', | |
122 | pattern='/{repo_name:.*?[^/]}/files', repo_route=True) |
|
268 | pattern='/{repo_name:.*?[^/]}/files', repo_route=True) | |
|
269 | config.add_view( | |||
|
270 | RepoFilesView, | |||
|
271 | attr='repo_files', | |||
|
272 | route_name='repo_files:default_commit', request_method='GET', | |||
|
273 | renderer=None) | |||
123 |
|
274 | |||
124 | config.add_route( |
|
275 | config.add_route( | |
125 | name='repo_files:rendered', |
|
276 | name='repo_files:rendered', | |
126 | pattern='/{repo_name:.*?[^/]}/render/{commit_id}/{f_path:.*}', repo_route=True) |
|
277 | pattern='/{repo_name:.*?[^/]}/render/{commit_id}/{f_path:.*}', repo_route=True) | |
|
278 | config.add_view( | |||
|
279 | RepoFilesView, | |||
|
280 | attr='repo_files', | |||
|
281 | route_name='repo_files:rendered', request_method='GET', | |||
|
282 | renderer=None) | |||
127 |
|
283 | |||
128 | config.add_route( |
|
284 | config.add_route( | |
129 | name='repo_files:annotated', |
|
285 | name='repo_files:annotated', | |
130 | pattern='/{repo_name:.*?[^/]}/annotate/{commit_id}/{f_path:.*}', repo_route=True) |
|
286 | pattern='/{repo_name:.*?[^/]}/annotate/{commit_id}/{f_path:.*}', repo_route=True) | |
|
287 | config.add_view( | |||
|
288 | RepoFilesView, | |||
|
289 | attr='repo_files', | |||
|
290 | route_name='repo_files:annotated', request_method='GET', | |||
|
291 | renderer=None) | |||
|
292 | ||||
131 | config.add_route( |
|
293 | config.add_route( | |
132 | name='repo_files:annotated_previous', |
|
294 | name='repo_files:annotated_previous', | |
133 | pattern='/{repo_name:.*?[^/]}/annotate-previous/{commit_id}/{f_path:.*}', repo_route=True) |
|
295 | pattern='/{repo_name:.*?[^/]}/annotate-previous/{commit_id}/{f_path:.*}', repo_route=True) | |
|
296 | config.add_view( | |||
|
297 | RepoFilesView, | |||
|
298 | attr='repo_files_annotated_previous', | |||
|
299 | route_name='repo_files:annotated_previous', request_method='GET', | |||
|
300 | renderer=None) | |||
134 |
|
301 | |||
135 | config.add_route( |
|
302 | config.add_route( | |
136 | name='repo_nodetree_full', |
|
303 | name='repo_nodetree_full', | |
137 | pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/{f_path:.*}', repo_route=True) |
|
304 | pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/{f_path:.*}', repo_route=True) | |
|
305 | config.add_view( | |||
|
306 | RepoFilesView, | |||
|
307 | attr='repo_nodetree_full', | |||
|
308 | route_name='repo_nodetree_full', request_method='GET', | |||
|
309 | renderer=None, xhr=True) | |||
|
310 | ||||
138 | config.add_route( |
|
311 | config.add_route( | |
139 | name='repo_nodetree_full:default_path', |
|
312 | name='repo_nodetree_full:default_path', | |
140 | pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/', repo_route=True) |
|
313 | pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/', repo_route=True) | |
|
314 | config.add_view( | |||
|
315 | RepoFilesView, | |||
|
316 | attr='repo_nodetree_full', | |||
|
317 | route_name='repo_nodetree_full:default_path', request_method='GET', | |||
|
318 | renderer=None, xhr=True) | |||
141 |
|
319 | |||
142 | config.add_route( |
|
320 | config.add_route( | |
143 | name='repo_files_nodelist', |
|
321 | name='repo_files_nodelist', | |
144 | pattern='/{repo_name:.*?[^/]}/nodelist/{commit_id}/{f_path:.*}', repo_route=True) |
|
322 | pattern='/{repo_name:.*?[^/]}/nodelist/{commit_id}/{f_path:.*}', repo_route=True) | |
|
323 | config.add_view( | |||
|
324 | RepoFilesView, | |||
|
325 | attr='repo_nodelist', | |||
|
326 | route_name='repo_files_nodelist', request_method='GET', | |||
|
327 | renderer='json_ext', xhr=True) | |||
145 |
|
328 | |||
146 | config.add_route( |
|
329 | config.add_route( | |
147 | name='repo_file_raw', |
|
330 | name='repo_file_raw', | |
148 | pattern='/{repo_name:.*?[^/]}/raw/{commit_id}/{f_path:.*}', repo_route=True) |
|
331 | pattern='/{repo_name:.*?[^/]}/raw/{commit_id}/{f_path:.*}', repo_route=True) | |
|
332 | config.add_view( | |||
|
333 | RepoFilesView, | |||
|
334 | attr='repo_file_raw', | |||
|
335 | route_name='repo_file_raw', request_method='GET', | |||
|
336 | renderer=None) | |||
149 |
|
337 | |||
150 | config.add_route( |
|
338 | config.add_route( | |
151 | name='repo_file_download', |
|
339 | name='repo_file_download', | |
152 | pattern='/{repo_name:.*?[^/]}/download/{commit_id}/{f_path:.*}', repo_route=True) |
|
340 | pattern='/{repo_name:.*?[^/]}/download/{commit_id}/{f_path:.*}', repo_route=True) | |
|
341 | config.add_view( | |||
|
342 | RepoFilesView, | |||
|
343 | attr='repo_file_download', | |||
|
344 | route_name='repo_file_download', request_method='GET', | |||
|
345 | renderer=None) | |||
|
346 | ||||
153 | config.add_route( # backward compat to keep old links working |
|
347 | config.add_route( # backward compat to keep old links working | |
154 | name='repo_file_download:legacy', |
|
348 | name='repo_file_download:legacy', | |
155 | pattern='/{repo_name:.*?[^/]}/rawfile/{commit_id}/{f_path:.*}', |
|
349 | pattern='/{repo_name:.*?[^/]}/rawfile/{commit_id}/{f_path:.*}', | |
156 | repo_route=True) |
|
350 | repo_route=True) | |
|
351 | config.add_view( | |||
|
352 | RepoFilesView, | |||
|
353 | attr='repo_file_download', | |||
|
354 | route_name='repo_file_download:legacy', request_method='GET', | |||
|
355 | renderer=None) | |||
157 |
|
356 | |||
158 | config.add_route( |
|
357 | config.add_route( | |
159 | name='repo_file_history', |
|
358 | name='repo_file_history', | |
160 | pattern='/{repo_name:.*?[^/]}/history/{commit_id}/{f_path:.*}', repo_route=True) |
|
359 | pattern='/{repo_name:.*?[^/]}/history/{commit_id}/{f_path:.*}', repo_route=True) | |
|
360 | config.add_view( | |||
|
361 | RepoFilesView, | |||
|
362 | attr='repo_file_history', | |||
|
363 | route_name='repo_file_history', request_method='GET', | |||
|
364 | renderer='json_ext') | |||
161 |
|
365 | |||
162 | config.add_route( |
|
366 | config.add_route( | |
163 | name='repo_file_authors', |
|
367 | name='repo_file_authors', | |
164 | pattern='/{repo_name:.*?[^/]}/authors/{commit_id}/{f_path:.*}', repo_route=True) |
|
368 | pattern='/{repo_name:.*?[^/]}/authors/{commit_id}/{f_path:.*}', repo_route=True) | |
|
369 | config.add_view( | |||
|
370 | RepoFilesView, | |||
|
371 | attr='repo_file_authors', | |||
|
372 | route_name='repo_file_authors', request_method='GET', | |||
|
373 | renderer='rhodecode:templates/files/file_authors_box.mako') | |||
165 |
|
374 | |||
166 | config.add_route( |
|
375 | config.add_route( | |
167 | name='repo_files_check_head', |
|
376 | name='repo_files_check_head', | |
168 | pattern='/{repo_name:.*?[^/]}/check_head/{commit_id}/{f_path:.*}', |
|
377 | pattern='/{repo_name:.*?[^/]}/check_head/{commit_id}/{f_path:.*}', | |
169 | repo_route=True) |
|
378 | repo_route=True) | |
|
379 | config.add_view( | |||
|
380 | RepoFilesView, | |||
|
381 | attr='repo_files_check_head', | |||
|
382 | route_name='repo_files_check_head', request_method='POST', | |||
|
383 | renderer='json_ext', xhr=True) | |||
|
384 | ||||
170 | config.add_route( |
|
385 | config.add_route( | |
171 | name='repo_files_remove_file', |
|
386 | name='repo_files_remove_file', | |
172 | pattern='/{repo_name:.*?[^/]}/remove_file/{commit_id}/{f_path:.*}', |
|
387 | pattern='/{repo_name:.*?[^/]}/remove_file/{commit_id}/{f_path:.*}', | |
173 | repo_route=True) |
|
388 | repo_route=True) | |
|
389 | config.add_view( | |||
|
390 | RepoFilesView, | |||
|
391 | attr='repo_files_remove_file', | |||
|
392 | route_name='repo_files_remove_file', request_method='GET', | |||
|
393 | renderer='rhodecode:templates/files/files_delete.mako') | |||
|
394 | ||||
174 | config.add_route( |
|
395 | config.add_route( | |
175 | name='repo_files_delete_file', |
|
396 | name='repo_files_delete_file', | |
176 | pattern='/{repo_name:.*?[^/]}/delete_file/{commit_id}/{f_path:.*}', |
|
397 | pattern='/{repo_name:.*?[^/]}/delete_file/{commit_id}/{f_path:.*}', | |
177 | repo_route=True) |
|
398 | repo_route=True) | |
|
399 | config.add_view( | |||
|
400 | RepoFilesView, | |||
|
401 | attr='repo_files_delete_file', | |||
|
402 | route_name='repo_files_delete_file', request_method='POST', | |||
|
403 | renderer=None) | |||
|
404 | ||||
178 | config.add_route( |
|
405 | config.add_route( | |
179 | name='repo_files_edit_file', |
|
406 | name='repo_files_edit_file', | |
180 | pattern='/{repo_name:.*?[^/]}/edit_file/{commit_id}/{f_path:.*}', |
|
407 | pattern='/{repo_name:.*?[^/]}/edit_file/{commit_id}/{f_path:.*}', | |
181 | repo_route=True) |
|
408 | repo_route=True) | |
|
409 | config.add_view( | |||
|
410 | RepoFilesView, | |||
|
411 | attr='repo_files_edit_file', | |||
|
412 | route_name='repo_files_edit_file', request_method='GET', | |||
|
413 | renderer='rhodecode:templates/files/files_edit.mako') | |||
|
414 | ||||
182 | config.add_route( |
|
415 | config.add_route( | |
183 | name='repo_files_update_file', |
|
416 | name='repo_files_update_file', | |
184 | pattern='/{repo_name:.*?[^/]}/update_file/{commit_id}/{f_path:.*}', |
|
417 | pattern='/{repo_name:.*?[^/]}/update_file/{commit_id}/{f_path:.*}', | |
185 | repo_route=True) |
|
418 | repo_route=True) | |
|
419 | config.add_view( | |||
|
420 | RepoFilesView, | |||
|
421 | attr='repo_files_update_file', | |||
|
422 | route_name='repo_files_update_file', request_method='POST', | |||
|
423 | renderer=None) | |||
|
424 | ||||
186 | config.add_route( |
|
425 | config.add_route( | |
187 | name='repo_files_add_file', |
|
426 | name='repo_files_add_file', | |
188 | pattern='/{repo_name:.*?[^/]}/add_file/{commit_id}/{f_path:.*}', |
|
427 | pattern='/{repo_name:.*?[^/]}/add_file/{commit_id}/{f_path:.*}', | |
189 | repo_route=True) |
|
428 | repo_route=True) | |
|
429 | config.add_view( | |||
|
430 | RepoFilesView, | |||
|
431 | attr='repo_files_add_file', | |||
|
432 | route_name='repo_files_add_file', request_method='GET', | |||
|
433 | renderer='rhodecode:templates/files/files_add.mako') | |||
|
434 | ||||
190 | config.add_route( |
|
435 | config.add_route( | |
191 | name='repo_files_upload_file', |
|
436 | name='repo_files_upload_file', | |
192 | pattern='/{repo_name:.*?[^/]}/upload_file/{commit_id}/{f_path:.*}', |
|
437 | pattern='/{repo_name:.*?[^/]}/upload_file/{commit_id}/{f_path:.*}', | |
193 | repo_route=True) |
|
438 | repo_route=True) | |
|
439 | config.add_view( | |||
|
440 | RepoFilesView, | |||
|
441 | attr='repo_files_add_file', | |||
|
442 | route_name='repo_files_upload_file', request_method='GET', | |||
|
443 | renderer='rhodecode:templates/files/files_upload.mako') | |||
|
444 | config.add_view( # POST creates | |||
|
445 | RepoFilesView, | |||
|
446 | attr='repo_files_upload_file', | |||
|
447 | route_name='repo_files_upload_file', request_method='POST', | |||
|
448 | renderer='json_ext') | |||
|
449 | ||||
194 | config.add_route( |
|
450 | config.add_route( | |
195 | name='repo_files_create_file', |
|
451 | name='repo_files_create_file', | |
196 | pattern='/{repo_name:.*?[^/]}/create_file/{commit_id}/{f_path:.*}', |
|
452 | pattern='/{repo_name:.*?[^/]}/create_file/{commit_id}/{f_path:.*}', | |
197 | repo_route=True) |
|
453 | repo_route=True) | |
|
454 | config.add_view( # POST creates | |||
|
455 | RepoFilesView, | |||
|
456 | attr='repo_files_create_file', | |||
|
457 | route_name='repo_files_create_file', request_method='POST', | |||
|
458 | renderer=None) | |||
198 |
|
459 | |||
199 | # Refs data |
|
460 | # Refs data | |
200 | config.add_route( |
|
461 | config.add_route( | |
201 | name='repo_refs_data', |
|
462 | name='repo_refs_data', | |
202 | pattern='/{repo_name:.*?[^/]}/refs-data', repo_route=True) |
|
463 | pattern='/{repo_name:.*?[^/]}/refs-data', repo_route=True) | |
|
464 | config.add_view( | |||
|
465 | RepoSummaryView, | |||
|
466 | attr='repo_refs_data', | |||
|
467 | route_name='repo_refs_data', request_method='GET', | |||
|
468 | renderer='json_ext') | |||
203 |
|
469 | |||
204 | config.add_route( |
|
470 | config.add_route( | |
205 | name='repo_refs_changelog_data', |
|
471 | name='repo_refs_changelog_data', | |
206 | pattern='/{repo_name:.*?[^/]}/refs-data-changelog', repo_route=True) |
|
472 | pattern='/{repo_name:.*?[^/]}/refs-data-changelog', repo_route=True) | |
|
473 | config.add_view( | |||
|
474 | RepoSummaryView, | |||
|
475 | attr='repo_refs_changelog_data', | |||
|
476 | route_name='repo_refs_changelog_data', request_method='GET', | |||
|
477 | renderer='json_ext') | |||
207 |
|
478 | |||
208 | config.add_route( |
|
479 | config.add_route( | |
209 | name='repo_stats', |
|
480 | name='repo_stats', | |
210 | pattern='/{repo_name:.*?[^/]}/repo_stats/{commit_id}', repo_route=True) |
|
481 | pattern='/{repo_name:.*?[^/]}/repo_stats/{commit_id}', repo_route=True) | |
|
482 | config.add_view( | |||
|
483 | RepoSummaryView, | |||
|
484 | attr='repo_stats', | |||
|
485 | route_name='repo_stats', request_method='GET', | |||
|
486 | renderer='json_ext') | |||
211 |
|
487 | |||
212 | # Commits |
|
488 | # Commits | |
213 | config.add_route( |
|
489 | config.add_route( | |
214 | name='repo_commits', |
|
490 | name='repo_commits', | |
215 | pattern='/{repo_name:.*?[^/]}/commits', repo_route=True) |
|
491 | pattern='/{repo_name:.*?[^/]}/commits', repo_route=True) | |
|
492 | config.add_view( | |||
|
493 | RepoChangelogView, | |||
|
494 | attr='repo_changelog', | |||
|
495 | route_name='repo_commits', request_method='GET', | |||
|
496 | renderer='rhodecode:templates/commits/changelog.mako') | |||
|
497 | # old routes for backward compat | |||
|
498 | config.add_view( | |||
|
499 | RepoChangelogView, | |||
|
500 | attr='repo_changelog', | |||
|
501 | route_name='repo_changelog', request_method='GET', | |||
|
502 | renderer='rhodecode:templates/commits/changelog.mako') | |||
|
503 | ||||
|
504 | config.add_route( | |||
|
505 | name='repo_commits_elements', | |||
|
506 | pattern='/{repo_name:.*?[^/]}/commits_elements', repo_route=True) | |||
|
507 | config.add_view( | |||
|
508 | RepoChangelogView, | |||
|
509 | attr='repo_commits_elements', | |||
|
510 | route_name='repo_commits_elements', request_method=('GET', 'POST'), | |||
|
511 | renderer='rhodecode:templates/commits/changelog_elements.mako', | |||
|
512 | xhr=True) | |||
|
513 | ||||
|
514 | config.add_route( | |||
|
515 | name='repo_commits_elements_file', | |||
|
516 | pattern='/{repo_name:.*?[^/]}/commits_elements/{commit_id}/{f_path:.*}', repo_route=True) | |||
|
517 | config.add_view( | |||
|
518 | RepoChangelogView, | |||
|
519 | attr='repo_commits_elements', | |||
|
520 | route_name='repo_commits_elements_file', request_method=('GET', 'POST'), | |||
|
521 | renderer='rhodecode:templates/commits/changelog_elements.mako', | |||
|
522 | xhr=True) | |||
|
523 | ||||
216 | config.add_route( |
|
524 | config.add_route( | |
217 | name='repo_commits_file', |
|
525 | name='repo_commits_file', | |
218 | pattern='/{repo_name:.*?[^/]}/commits/{commit_id}/{f_path:.*}', repo_route=True) |
|
526 | pattern='/{repo_name:.*?[^/]}/commits/{commit_id}/{f_path:.*}', repo_route=True) | |
219 |
config.add_ |
|
527 | config.add_view( | |
220 | name='repo_commits_elements', |
|
528 | RepoChangelogView, | |
221 | pattern='/{repo_name:.*?[^/]}/commits_elements', repo_route=True) |
|
529 | attr='repo_changelog', | |
222 | config.add_route( |
|
530 | route_name='repo_commits_file', request_method='GET', | |
223 | name='repo_commits_elements_file', |
|
531 | renderer='rhodecode:templates/commits/changelog.mako') | |
224 | pattern='/{repo_name:.*?[^/]}/commits_elements/{commit_id}/{f_path:.*}', repo_route=True) |
|
532 | # old routes for backward compat | |
|
533 | config.add_view( | |||
|
534 | RepoChangelogView, | |||
|
535 | attr='repo_changelog', | |||
|
536 | route_name='repo_changelog_file', request_method='GET', | |||
|
537 | renderer='rhodecode:templates/commits/changelog.mako') | |||
225 |
|
538 | |||
226 | # Changelog (old deprecated name for commits page) |
|
539 | # Changelog (old deprecated name for commits page) | |
227 | config.add_route( |
|
540 | config.add_route( | |
@@ -235,25 +548,50 b' def includeme(config):' | |||||
235 | config.add_route( |
|
548 | config.add_route( | |
236 | name='repo_compare_select', |
|
549 | name='repo_compare_select', | |
237 | pattern='/{repo_name:.*?[^/]}/compare', repo_route=True) |
|
550 | pattern='/{repo_name:.*?[^/]}/compare', repo_route=True) | |
|
551 | config.add_view( | |||
|
552 | RepoCompareView, | |||
|
553 | attr='compare_select', | |||
|
554 | route_name='repo_compare_select', request_method='GET', | |||
|
555 | renderer='rhodecode:templates/compare/compare_diff.mako') | |||
238 |
|
556 | |||
239 | config.add_route( |
|
557 | config.add_route( | |
240 | name='repo_compare', |
|
558 | name='repo_compare', | |
241 | pattern='/{repo_name:.*?[^/]}/compare/{source_ref_type}@{source_ref:.*?}...{target_ref_type}@{target_ref:.*?}', repo_route=True) |
|
559 | pattern='/{repo_name:.*?[^/]}/compare/{source_ref_type}@{source_ref:.*?}...{target_ref_type}@{target_ref:.*?}', repo_route=True) | |
|
560 | config.add_view( | |||
|
561 | RepoCompareView, | |||
|
562 | attr='compare', | |||
|
563 | route_name='repo_compare', request_method='GET', | |||
|
564 | renderer=None) | |||
242 |
|
565 | |||
243 | # Tags |
|
566 | # Tags | |
244 | config.add_route( |
|
567 | config.add_route( | |
245 | name='tags_home', |
|
568 | name='tags_home', | |
246 | pattern='/{repo_name:.*?[^/]}/tags', repo_route=True) |
|
569 | pattern='/{repo_name:.*?[^/]}/tags', repo_route=True) | |
|
570 | config.add_view( | |||
|
571 | RepoTagsView, | |||
|
572 | attr='tags', | |||
|
573 | route_name='tags_home', request_method='GET', | |||
|
574 | renderer='rhodecode:templates/tags/tags.mako') | |||
247 |
|
575 | |||
248 | # Branches |
|
576 | # Branches | |
249 | config.add_route( |
|
577 | config.add_route( | |
250 | name='branches_home', |
|
578 | name='branches_home', | |
251 | pattern='/{repo_name:.*?[^/]}/branches', repo_route=True) |
|
579 | pattern='/{repo_name:.*?[^/]}/branches', repo_route=True) | |
|
580 | config.add_view( | |||
|
581 | RepoBranchesView, | |||
|
582 | attr='branches', | |||
|
583 | route_name='branches_home', request_method='GET', | |||
|
584 | renderer='rhodecode:templates/branches/branches.mako') | |||
252 |
|
585 | |||
253 | # Bookmarks |
|
586 | # Bookmarks | |
254 | config.add_route( |
|
587 | config.add_route( | |
255 | name='bookmarks_home', |
|
588 | name='bookmarks_home', | |
256 | pattern='/{repo_name:.*?[^/]}/bookmarks', repo_route=True) |
|
589 | pattern='/{repo_name:.*?[^/]}/bookmarks', repo_route=True) | |
|
590 | config.add_view( | |||
|
591 | RepoBookmarksView, | |||
|
592 | attr='bookmarks', | |||
|
593 | route_name='bookmarks_home', request_method='GET', | |||
|
594 | renderer='rhodecode:templates/bookmarks/bookmarks.mako') | |||
257 |
|
595 | |||
258 | # Forks |
|
596 | # Forks | |
259 | config.add_route( |
|
597 | config.add_route( | |
@@ -261,195 +599,426 b' def includeme(config):' | |||||
261 | pattern='/{repo_name:.*?[^/]}/fork', repo_route=True, |
|
599 | pattern='/{repo_name:.*?[^/]}/fork', repo_route=True, | |
262 | repo_forbid_when_archived=True, |
|
600 | repo_forbid_when_archived=True, | |
263 | repo_accepted_types=['hg', 'git']) |
|
601 | repo_accepted_types=['hg', 'git']) | |
|
602 | config.add_view( | |||
|
603 | RepoForksView, | |||
|
604 | attr='repo_fork_new', | |||
|
605 | route_name='repo_fork_new', request_method='GET', | |||
|
606 | renderer='rhodecode:templates/forks/forks.mako') | |||
264 |
|
607 | |||
265 | config.add_route( |
|
608 | config.add_route( | |
266 | name='repo_fork_create', |
|
609 | name='repo_fork_create', | |
267 | pattern='/{repo_name:.*?[^/]}/fork/create', repo_route=True, |
|
610 | pattern='/{repo_name:.*?[^/]}/fork/create', repo_route=True, | |
268 | repo_forbid_when_archived=True, |
|
611 | repo_forbid_when_archived=True, | |
269 | repo_accepted_types=['hg', 'git']) |
|
612 | repo_accepted_types=['hg', 'git']) | |
|
613 | config.add_view( | |||
|
614 | RepoForksView, | |||
|
615 | attr='repo_fork_create', | |||
|
616 | route_name='repo_fork_create', request_method='POST', | |||
|
617 | renderer='rhodecode:templates/forks/fork.mako') | |||
270 |
|
618 | |||
271 | config.add_route( |
|
619 | config.add_route( | |
272 | name='repo_forks_show_all', |
|
620 | name='repo_forks_show_all', | |
273 | pattern='/{repo_name:.*?[^/]}/forks', repo_route=True, |
|
621 | pattern='/{repo_name:.*?[^/]}/forks', repo_route=True, | |
274 | repo_accepted_types=['hg', 'git']) |
|
622 | repo_accepted_types=['hg', 'git']) | |
|
623 | config.add_view( | |||
|
624 | RepoForksView, | |||
|
625 | attr='repo_forks_show_all', | |||
|
626 | route_name='repo_forks_show_all', request_method='GET', | |||
|
627 | renderer='rhodecode:templates/forks/forks.mako') | |||
|
628 | ||||
275 | config.add_route( |
|
629 | config.add_route( | |
276 | name='repo_forks_data', |
|
630 | name='repo_forks_data', | |
277 | pattern='/{repo_name:.*?[^/]}/forks/data', repo_route=True, |
|
631 | pattern='/{repo_name:.*?[^/]}/forks/data', repo_route=True, | |
278 | repo_accepted_types=['hg', 'git']) |
|
632 | repo_accepted_types=['hg', 'git']) | |
|
633 | config.add_view( | |||
|
634 | RepoForksView, | |||
|
635 | attr='repo_forks_data', | |||
|
636 | route_name='repo_forks_data', request_method='GET', | |||
|
637 | renderer='json_ext', xhr=True) | |||
279 |
|
638 | |||
280 | # Pull Requests |
|
639 | # Pull Requests | |
281 | config.add_route( |
|
640 | config.add_route( | |
282 | name='pullrequest_show', |
|
641 | name='pullrequest_show', | |
283 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}', |
|
642 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}', | |
284 | repo_route=True) |
|
643 | repo_route=True) | |
|
644 | config.add_view( | |||
|
645 | RepoPullRequestsView, | |||
|
646 | attr='pull_request_show', | |||
|
647 | route_name='pullrequest_show', request_method='GET', | |||
|
648 | renderer='rhodecode:templates/pullrequests/pullrequest_show.mako') | |||
285 |
|
649 | |||
286 | config.add_route( |
|
650 | config.add_route( | |
287 | name='pullrequest_show_all', |
|
651 | name='pullrequest_show_all', | |
288 | pattern='/{repo_name:.*?[^/]}/pull-request', |
|
652 | pattern='/{repo_name:.*?[^/]}/pull-request', | |
289 | repo_route=True, repo_accepted_types=['hg', 'git']) |
|
653 | repo_route=True, repo_accepted_types=['hg', 'git']) | |
|
654 | config.add_view( | |||
|
655 | RepoPullRequestsView, | |||
|
656 | attr='pull_request_list', | |||
|
657 | route_name='pullrequest_show_all', request_method='GET', | |||
|
658 | renderer='rhodecode:templates/pullrequests/pullrequests.mako') | |||
290 |
|
659 | |||
291 | config.add_route( |
|
660 | config.add_route( | |
292 | name='pullrequest_show_all_data', |
|
661 | name='pullrequest_show_all_data', | |
293 | pattern='/{repo_name:.*?[^/]}/pull-request-data', |
|
662 | pattern='/{repo_name:.*?[^/]}/pull-request-data', | |
294 | repo_route=True, repo_accepted_types=['hg', 'git']) |
|
663 | repo_route=True, repo_accepted_types=['hg', 'git']) | |
|
664 | config.add_view( | |||
|
665 | RepoPullRequestsView, | |||
|
666 | attr='pull_request_list_data', | |||
|
667 | route_name='pullrequest_show_all_data', request_method='GET', | |||
|
668 | renderer='json_ext', xhr=True) | |||
295 |
|
669 | |||
296 | config.add_route( |
|
670 | config.add_route( | |
297 | name='pullrequest_repo_refs', |
|
671 | name='pullrequest_repo_refs', | |
298 | pattern='/{repo_name:.*?[^/]}/pull-request/refs/{target_repo_name:.*?[^/]}', |
|
672 | pattern='/{repo_name:.*?[^/]}/pull-request/refs/{target_repo_name:.*?[^/]}', | |
299 | repo_route=True) |
|
673 | repo_route=True) | |
|
674 | config.add_view( | |||
|
675 | RepoPullRequestsView, | |||
|
676 | attr='pull_request_repo_refs', | |||
|
677 | route_name='pullrequest_repo_refs', request_method='GET', | |||
|
678 | renderer='json_ext', xhr=True) | |||
300 |
|
679 | |||
301 | config.add_route( |
|
680 | config.add_route( | |
302 | name='pullrequest_repo_targets', |
|
681 | name='pullrequest_repo_targets', | |
303 | pattern='/{repo_name:.*?[^/]}/pull-request/repo-targets', |
|
682 | pattern='/{repo_name:.*?[^/]}/pull-request/repo-targets', | |
304 | repo_route=True) |
|
683 | repo_route=True) | |
|
684 | config.add_view( | |||
|
685 | RepoPullRequestsView, | |||
|
686 | attr='pullrequest_repo_targets', | |||
|
687 | route_name='pullrequest_repo_targets', request_method='GET', | |||
|
688 | renderer='json_ext', xhr=True) | |||
305 |
|
689 | |||
306 | config.add_route( |
|
690 | config.add_route( | |
307 | name='pullrequest_new', |
|
691 | name='pullrequest_new', | |
308 | pattern='/{repo_name:.*?[^/]}/pull-request/new', |
|
692 | pattern='/{repo_name:.*?[^/]}/pull-request/new', | |
309 | repo_route=True, repo_accepted_types=['hg', 'git'], |
|
693 | repo_route=True, repo_accepted_types=['hg', 'git'], | |
310 | repo_forbid_when_archived=True) |
|
694 | repo_forbid_when_archived=True) | |
|
695 | config.add_view( | |||
|
696 | RepoPullRequestsView, | |||
|
697 | attr='pull_request_new', | |||
|
698 | route_name='pullrequest_new', request_method='GET', | |||
|
699 | renderer='rhodecode:templates/pullrequests/pullrequest.mako') | |||
311 |
|
700 | |||
312 | config.add_route( |
|
701 | config.add_route( | |
313 | name='pullrequest_create', |
|
702 | name='pullrequest_create', | |
314 | pattern='/{repo_name:.*?[^/]}/pull-request/create', |
|
703 | pattern='/{repo_name:.*?[^/]}/pull-request/create', | |
315 | repo_route=True, repo_accepted_types=['hg', 'git'], |
|
704 | repo_route=True, repo_accepted_types=['hg', 'git'], | |
316 | repo_forbid_when_archived=True) |
|
705 | repo_forbid_when_archived=True) | |
|
706 | config.add_view( | |||
|
707 | RepoPullRequestsView, | |||
|
708 | attr='pull_request_create', | |||
|
709 | route_name='pullrequest_create', request_method='POST', | |||
|
710 | renderer=None) | |||
317 |
|
711 | |||
318 | config.add_route( |
|
712 | config.add_route( | |
319 | name='pullrequest_update', |
|
713 | name='pullrequest_update', | |
320 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/update', |
|
714 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/update', | |
321 | repo_route=True, repo_forbid_when_archived=True) |
|
715 | repo_route=True, repo_forbid_when_archived=True) | |
|
716 | config.add_view( | |||
|
717 | RepoPullRequestsView, | |||
|
718 | attr='pull_request_update', | |||
|
719 | route_name='pullrequest_update', request_method='POST', | |||
|
720 | renderer='json_ext') | |||
322 |
|
721 | |||
323 | config.add_route( |
|
722 | config.add_route( | |
324 | name='pullrequest_merge', |
|
723 | name='pullrequest_merge', | |
325 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/merge', |
|
724 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/merge', | |
326 | repo_route=True, repo_forbid_when_archived=True) |
|
725 | repo_route=True, repo_forbid_when_archived=True) | |
|
726 | config.add_view( | |||
|
727 | RepoPullRequestsView, | |||
|
728 | attr='pull_request_merge', | |||
|
729 | route_name='pullrequest_merge', request_method='POST', | |||
|
730 | renderer='json_ext') | |||
327 |
|
731 | |||
328 | config.add_route( |
|
732 | config.add_route( | |
329 | name='pullrequest_delete', |
|
733 | name='pullrequest_delete', | |
330 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/delete', |
|
734 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/delete', | |
331 | repo_route=True, repo_forbid_when_archived=True) |
|
735 | repo_route=True, repo_forbid_when_archived=True) | |
|
736 | config.add_view( | |||
|
737 | RepoPullRequestsView, | |||
|
738 | attr='pull_request_delete', | |||
|
739 | route_name='pullrequest_delete', request_method='POST', | |||
|
740 | renderer='json_ext') | |||
332 |
|
741 | |||
333 | config.add_route( |
|
742 | config.add_route( | |
334 | name='pullrequest_comment_create', |
|
743 | name='pullrequest_comment_create', | |
335 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment', |
|
744 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment', | |
336 | repo_route=True) |
|
745 | repo_route=True) | |
|
746 | config.add_view( | |||
|
747 | RepoPullRequestsView, | |||
|
748 | attr='pull_request_comment_create', | |||
|
749 | route_name='pullrequest_comment_create', request_method='POST', | |||
|
750 | renderer='json_ext') | |||
337 |
|
751 | |||
338 | config.add_route( |
|
752 | config.add_route( | |
339 | name='pullrequest_comment_edit', |
|
753 | name='pullrequest_comment_edit', | |
340 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/edit', |
|
754 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/edit', | |
341 | repo_route=True, repo_accepted_types=['hg', 'git']) |
|
755 | repo_route=True, repo_accepted_types=['hg', 'git']) | |
|
756 | config.add_view( | |||
|
757 | RepoPullRequestsView, | |||
|
758 | attr='pull_request_comment_edit', | |||
|
759 | route_name='pullrequest_comment_edit', request_method='POST', | |||
|
760 | renderer='json_ext') | |||
342 |
|
761 | |||
343 | config.add_route( |
|
762 | config.add_route( | |
344 | name='pullrequest_comment_delete', |
|
763 | name='pullrequest_comment_delete', | |
345 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete', |
|
764 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete', | |
346 | repo_route=True, repo_accepted_types=['hg', 'git']) |
|
765 | repo_route=True, repo_accepted_types=['hg', 'git']) | |
|
766 | config.add_view( | |||
|
767 | RepoPullRequestsView, | |||
|
768 | attr='pull_request_comment_delete', | |||
|
769 | route_name='pullrequest_comment_delete', request_method='POST', | |||
|
770 | renderer='json_ext') | |||
347 |
|
771 | |||
348 | config.add_route( |
|
772 | config.add_route( | |
349 | name='pullrequest_comments', |
|
773 | name='pullrequest_comments', | |
350 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comments', |
|
774 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comments', | |
351 | repo_route=True) |
|
775 | repo_route=True) | |
|
776 | config.add_view( | |||
|
777 | RepoPullRequestsView, | |||
|
778 | attr='pullrequest_comments', | |||
|
779 | route_name='pullrequest_comments', request_method='POST', | |||
|
780 | renderer='string_html', xhr=True) | |||
352 |
|
781 | |||
353 | config.add_route( |
|
782 | config.add_route( | |
354 | name='pullrequest_todos', |
|
783 | name='pullrequest_todos', | |
355 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/todos', |
|
784 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/todos', | |
356 | repo_route=True) |
|
785 | repo_route=True) | |
|
786 | config.add_view( | |||
|
787 | RepoPullRequestsView, | |||
|
788 | attr='pullrequest_todos', | |||
|
789 | route_name='pullrequest_todos', request_method='POST', | |||
|
790 | renderer='string_html', xhr=True) | |||
357 |
|
791 | |||
358 | config.add_route( |
|
792 | config.add_route( | |
359 | name='pullrequest_drafts', |
|
793 | name='pullrequest_drafts', | |
360 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/drafts', |
|
794 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/drafts', | |
361 | repo_route=True) |
|
795 | repo_route=True) | |
|
796 | config.add_view( | |||
|
797 | RepoPullRequestsView, | |||
|
798 | attr='pullrequest_drafts', | |||
|
799 | route_name='pullrequest_drafts', request_method='POST', | |||
|
800 | renderer='string_html', xhr=True) | |||
362 |
|
801 | |||
363 | # Artifacts, (EE feature) |
|
802 | # Artifacts, (EE feature) | |
364 | config.add_route( |
|
803 | config.add_route( | |
365 | name='repo_artifacts_list', |
|
804 | name='repo_artifacts_list', | |
366 | pattern='/{repo_name:.*?[^/]}/artifacts', repo_route=True) |
|
805 | pattern='/{repo_name:.*?[^/]}/artifacts', repo_route=True) | |
|
806 | config.add_view( | |||
|
807 | RepoArtifactsView, | |||
|
808 | attr='repo_artifacts', | |||
|
809 | route_name='repo_artifacts_list', request_method='GET', | |||
|
810 | renderer='rhodecode:templates/artifacts/artifact_list.mako') | |||
367 |
|
811 | |||
368 | # Settings |
|
812 | # Settings | |
369 | config.add_route( |
|
813 | config.add_route( | |
370 | name='edit_repo', |
|
814 | name='edit_repo', | |
371 | pattern='/{repo_name:.*?[^/]}/settings', repo_route=True) |
|
815 | pattern='/{repo_name:.*?[^/]}/settings', repo_route=True) | |
|
816 | config.add_view( | |||
|
817 | RepoSettingsView, | |||
|
818 | attr='edit_settings', | |||
|
819 | route_name='edit_repo', request_method='GET', | |||
|
820 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
372 | # update is POST on edit_repo |
|
821 | # update is POST on edit_repo | |
|
822 | config.add_view( | |||
|
823 | RepoSettingsView, | |||
|
824 | attr='edit_settings_update', | |||
|
825 | route_name='edit_repo', request_method='POST', | |||
|
826 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
373 |
|
827 | |||
374 | # Settings advanced |
|
828 | # Settings advanced | |
375 | config.add_route( |
|
829 | config.add_route( | |
376 | name='edit_repo_advanced', |
|
830 | name='edit_repo_advanced', | |
377 | pattern='/{repo_name:.*?[^/]}/settings/advanced', repo_route=True) |
|
831 | pattern='/{repo_name:.*?[^/]}/settings/advanced', repo_route=True) | |
|
832 | config.add_view( | |||
|
833 | RepoSettingsAdvancedView, | |||
|
834 | attr='edit_advanced', | |||
|
835 | route_name='edit_repo_advanced', request_method='GET', | |||
|
836 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
837 | ||||
378 | config.add_route( |
|
838 | config.add_route( | |
379 | name='edit_repo_advanced_archive', |
|
839 | name='edit_repo_advanced_archive', | |
380 | pattern='/{repo_name:.*?[^/]}/settings/advanced/archive', repo_route=True) |
|
840 | pattern='/{repo_name:.*?[^/]}/settings/advanced/archive', repo_route=True) | |
|
841 | config.add_view( | |||
|
842 | RepoSettingsAdvancedView, | |||
|
843 | attr='edit_advanced_archive', | |||
|
844 | route_name='edit_repo_advanced_archive', request_method='POST', | |||
|
845 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
846 | ||||
381 | config.add_route( |
|
847 | config.add_route( | |
382 | name='edit_repo_advanced_delete', |
|
848 | name='edit_repo_advanced_delete', | |
383 | pattern='/{repo_name:.*?[^/]}/settings/advanced/delete', repo_route=True) |
|
849 | pattern='/{repo_name:.*?[^/]}/settings/advanced/delete', repo_route=True) | |
|
850 | config.add_view( | |||
|
851 | RepoSettingsAdvancedView, | |||
|
852 | attr='edit_advanced_delete', | |||
|
853 | route_name='edit_repo_advanced_delete', request_method='POST', | |||
|
854 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
855 | ||||
384 | config.add_route( |
|
856 | config.add_route( | |
385 | name='edit_repo_advanced_locking', |
|
857 | name='edit_repo_advanced_locking', | |
386 | pattern='/{repo_name:.*?[^/]}/settings/advanced/locking', repo_route=True) |
|
858 | pattern='/{repo_name:.*?[^/]}/settings/advanced/locking', repo_route=True) | |
|
859 | config.add_view( | |||
|
860 | RepoSettingsAdvancedView, | |||
|
861 | attr='edit_advanced_toggle_locking', | |||
|
862 | route_name='edit_repo_advanced_locking', request_method='POST', | |||
|
863 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
864 | ||||
387 | config.add_route( |
|
865 | config.add_route( | |
388 | name='edit_repo_advanced_journal', |
|
866 | name='edit_repo_advanced_journal', | |
389 | pattern='/{repo_name:.*?[^/]}/settings/advanced/journal', repo_route=True) |
|
867 | pattern='/{repo_name:.*?[^/]}/settings/advanced/journal', repo_route=True) | |
|
868 | config.add_view( | |||
|
869 | RepoSettingsAdvancedView, | |||
|
870 | attr='edit_advanced_journal', | |||
|
871 | route_name='edit_repo_advanced_journal', request_method='POST', | |||
|
872 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
873 | ||||
390 | config.add_route( |
|
874 | config.add_route( | |
391 | name='edit_repo_advanced_fork', |
|
875 | name='edit_repo_advanced_fork', | |
392 | pattern='/{repo_name:.*?[^/]}/settings/advanced/fork', repo_route=True) |
|
876 | pattern='/{repo_name:.*?[^/]}/settings/advanced/fork', repo_route=True) | |
|
877 | config.add_view( | |||
|
878 | RepoSettingsAdvancedView, | |||
|
879 | attr='edit_advanced_fork', | |||
|
880 | route_name='edit_repo_advanced_fork', request_method='POST', | |||
|
881 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
393 |
|
882 | |||
394 | config.add_route( |
|
883 | config.add_route( | |
395 | name='edit_repo_advanced_hooks', |
|
884 | name='edit_repo_advanced_hooks', | |
396 | pattern='/{repo_name:.*?[^/]}/settings/advanced/hooks', repo_route=True) |
|
885 | pattern='/{repo_name:.*?[^/]}/settings/advanced/hooks', repo_route=True) | |
|
886 | config.add_view( | |||
|
887 | RepoSettingsAdvancedView, | |||
|
888 | attr='edit_advanced_install_hooks', | |||
|
889 | route_name='edit_repo_advanced_hooks', request_method='GET', | |||
|
890 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
397 |
|
891 | |||
398 | # Caches |
|
892 | # Caches | |
399 | config.add_route( |
|
893 | config.add_route( | |
400 | name='edit_repo_caches', |
|
894 | name='edit_repo_caches', | |
401 | pattern='/{repo_name:.*?[^/]}/settings/caches', repo_route=True) |
|
895 | pattern='/{repo_name:.*?[^/]}/settings/caches', repo_route=True) | |
|
896 | config.add_view( | |||
|
897 | RepoCachesView, | |||
|
898 | attr='repo_caches', | |||
|
899 | route_name='edit_repo_caches', request_method='GET', | |||
|
900 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
901 | config.add_view( | |||
|
902 | RepoCachesView, | |||
|
903 | attr='repo_caches_purge', | |||
|
904 | route_name='edit_repo_caches', request_method='POST') | |||
402 |
|
905 | |||
403 | # Permissions |
|
906 | # Permissions | |
404 | config.add_route( |
|
907 | config.add_route( | |
405 | name='edit_repo_perms', |
|
908 | name='edit_repo_perms', | |
406 | pattern='/{repo_name:.*?[^/]}/settings/permissions', repo_route=True) |
|
909 | pattern='/{repo_name:.*?[^/]}/settings/permissions', repo_route=True) | |
|
910 | config.add_view( | |||
|
911 | RepoSettingsPermissionsView, | |||
|
912 | attr='edit_permissions', | |||
|
913 | route_name='edit_repo_perms', request_method='GET', | |||
|
914 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
915 | config.add_view( | |||
|
916 | RepoSettingsPermissionsView, | |||
|
917 | attr='edit_permissions_update', | |||
|
918 | route_name='edit_repo_perms', request_method='POST', | |||
|
919 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
407 |
|
920 | |||
408 | config.add_route( |
|
921 | config.add_route( | |
409 | name='edit_repo_perms_set_private', |
|
922 | name='edit_repo_perms_set_private', | |
410 | pattern='/{repo_name:.*?[^/]}/settings/permissions/set_private', repo_route=True) |
|
923 | pattern='/{repo_name:.*?[^/]}/settings/permissions/set_private', repo_route=True) | |
|
924 | config.add_view( | |||
|
925 | RepoSettingsPermissionsView, | |||
|
926 | attr='edit_permissions_set_private_repo', | |||
|
927 | route_name='edit_repo_perms_set_private', request_method='POST', | |||
|
928 | renderer='json_ext') | |||
411 |
|
929 | |||
412 | # Permissions Branch (EE feature) |
|
930 | # Permissions Branch (EE feature) | |
413 | config.add_route( |
|
931 | config.add_route( | |
414 | name='edit_repo_perms_branch', |
|
932 | name='edit_repo_perms_branch', | |
415 | pattern='/{repo_name:.*?[^/]}/settings/branch_permissions', repo_route=True) |
|
933 | pattern='/{repo_name:.*?[^/]}/settings/branch_permissions', repo_route=True) | |
|
934 | config.add_view( | |||
|
935 | RepoBranchesView, | |||
|
936 | attr='branches', | |||
|
937 | route_name='edit_repo_perms_branch', request_method='GET', | |||
|
938 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
939 | ||||
416 | config.add_route( |
|
940 | config.add_route( | |
417 | name='edit_repo_perms_branch_delete', |
|
941 | name='edit_repo_perms_branch_delete', | |
418 | pattern='/{repo_name:.*?[^/]}/settings/branch_permissions/{rule_id}/delete', |
|
942 | pattern='/{repo_name:.*?[^/]}/settings/branch_permissions/{rule_id}/delete', | |
419 | repo_route=True) |
|
943 | repo_route=True) | |
|
944 | ## Only implemented in EE | |||
420 |
|
945 | |||
421 | # Maintenance |
|
946 | # Maintenance | |
422 | config.add_route( |
|
947 | config.add_route( | |
423 | name='edit_repo_maintenance', |
|
948 | name='edit_repo_maintenance', | |
424 | pattern='/{repo_name:.*?[^/]}/settings/maintenance', repo_route=True) |
|
949 | pattern='/{repo_name:.*?[^/]}/settings/maintenance', repo_route=True) | |
|
950 | config.add_view( | |||
|
951 | RepoMaintenanceView, | |||
|
952 | attr='repo_maintenance', | |||
|
953 | route_name='edit_repo_maintenance_execute', request_method='GET', | |||
|
954 | renderer='json', xhr=True) | |||
425 |
|
955 | |||
426 | config.add_route( |
|
956 | config.add_route( | |
427 | name='edit_repo_maintenance_execute', |
|
957 | name='edit_repo_maintenance_execute', | |
428 | pattern='/{repo_name:.*?[^/]}/settings/maintenance/execute', repo_route=True) |
|
958 | pattern='/{repo_name:.*?[^/]}/settings/maintenance/execute', repo_route=True) | |
|
959 | config.add_view( | |||
|
960 | RepoMaintenanceView, | |||
|
961 | attr='repo_maintenance_execute', | |||
|
962 | route_name='edit_repo_maintenance', request_method='GET', | |||
|
963 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
429 |
|
964 | |||
430 | # Fields |
|
965 | # Fields | |
431 | config.add_route( |
|
966 | config.add_route( | |
432 | name='edit_repo_fields', |
|
967 | name='edit_repo_fields', | |
433 | pattern='/{repo_name:.*?[^/]}/settings/fields', repo_route=True) |
|
968 | pattern='/{repo_name:.*?[^/]}/settings/fields', repo_route=True) | |
|
969 | config.add_view( | |||
|
970 | RepoSettingsFieldsView, | |||
|
971 | attr='repo_field_edit', | |||
|
972 | route_name='edit_repo_fields', request_method='GET', | |||
|
973 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
974 | ||||
434 | config.add_route( |
|
975 | config.add_route( | |
435 | name='edit_repo_fields_create', |
|
976 | name='edit_repo_fields_create', | |
436 | pattern='/{repo_name:.*?[^/]}/settings/fields/create', repo_route=True) |
|
977 | pattern='/{repo_name:.*?[^/]}/settings/fields/create', repo_route=True) | |
|
978 | config.add_view( | |||
|
979 | RepoSettingsFieldsView, | |||
|
980 | attr='repo_field_create', | |||
|
981 | route_name='edit_repo_fields_create', request_method='POST', | |||
|
982 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
983 | ||||
437 | config.add_route( |
|
984 | config.add_route( | |
438 | name='edit_repo_fields_delete', |
|
985 | name='edit_repo_fields_delete', | |
439 | pattern='/{repo_name:.*?[^/]}/settings/fields/{field_id}/delete', repo_route=True) |
|
986 | pattern='/{repo_name:.*?[^/]}/settings/fields/{field_id}/delete', repo_route=True) | |
|
987 | config.add_view( | |||
|
988 | RepoSettingsFieldsView, | |||
|
989 | attr='repo_field_delete', | |||
|
990 | route_name='edit_repo_fields_delete', request_method='POST', | |||
|
991 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
440 |
|
992 | |||
441 | # Locking |
|
993 | # Locking | |
442 | config.add_route( |
|
994 | config.add_route( | |
443 | name='repo_edit_toggle_locking', |
|
995 | name='repo_edit_toggle_locking', | |
444 | pattern='/{repo_name:.*?[^/]}/settings/toggle_locking', repo_route=True) |
|
996 | pattern='/{repo_name:.*?[^/]}/settings/toggle_locking', repo_route=True) | |
|
997 | config.add_view( | |||
|
998 | RepoSettingsView, | |||
|
999 | attr='edit_advanced_toggle_locking', | |||
|
1000 | route_name='repo_edit_toggle_locking', request_method='GET', | |||
|
1001 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
445 |
|
1002 | |||
446 | # Remote |
|
1003 | # Remote | |
447 | config.add_route( |
|
1004 | config.add_route( | |
448 | name='edit_repo_remote', |
|
1005 | name='edit_repo_remote', | |
449 | pattern='/{repo_name:.*?[^/]}/settings/remote', repo_route=True) |
|
1006 | pattern='/{repo_name:.*?[^/]}/settings/remote', repo_route=True) | |
|
1007 | config.add_view( | |||
|
1008 | RepoSettingsRemoteView, | |||
|
1009 | attr='repo_remote_edit_form', | |||
|
1010 | route_name='edit_repo_remote', request_method='GET', | |||
|
1011 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
1012 | ||||
450 | config.add_route( |
|
1013 | config.add_route( | |
451 | name='edit_repo_remote_pull', |
|
1014 | name='edit_repo_remote_pull', | |
452 | pattern='/{repo_name:.*?[^/]}/settings/remote/pull', repo_route=True) |
|
1015 | pattern='/{repo_name:.*?[^/]}/settings/remote/pull', repo_route=True) | |
|
1016 | config.add_view( | |||
|
1017 | RepoSettingsRemoteView, | |||
|
1018 | attr='repo_remote_pull_changes', | |||
|
1019 | route_name='edit_repo_remote_pull', request_method='POST', | |||
|
1020 | renderer=None) | |||
|
1021 | ||||
453 | config.add_route( |
|
1022 | config.add_route( | |
454 | name='edit_repo_remote_push', |
|
1023 | name='edit_repo_remote_push', | |
455 | pattern='/{repo_name:.*?[^/]}/settings/remote/push', repo_route=True) |
|
1024 | pattern='/{repo_name:.*?[^/]}/settings/remote/push', repo_route=True) | |
@@ -458,91 +1027,201 b' def includeme(config):' | |||||
458 | config.add_route( |
|
1027 | config.add_route( | |
459 | name='edit_repo_statistics', |
|
1028 | name='edit_repo_statistics', | |
460 | pattern='/{repo_name:.*?[^/]}/settings/statistics', repo_route=True) |
|
1029 | pattern='/{repo_name:.*?[^/]}/settings/statistics', repo_route=True) | |
|
1030 | config.add_view( | |||
|
1031 | RepoSettingsView, | |||
|
1032 | attr='edit_statistics_form', | |||
|
1033 | route_name='edit_repo_statistics', request_method='GET', | |||
|
1034 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
1035 | ||||
461 | config.add_route( |
|
1036 | config.add_route( | |
462 | name='edit_repo_statistics_reset', |
|
1037 | name='edit_repo_statistics_reset', | |
463 | pattern='/{repo_name:.*?[^/]}/settings/statistics/update', repo_route=True) |
|
1038 | pattern='/{repo_name:.*?[^/]}/settings/statistics/update', repo_route=True) | |
|
1039 | config.add_view( | |||
|
1040 | RepoSettingsView, | |||
|
1041 | attr='repo_statistics_reset', | |||
|
1042 | route_name='edit_repo_statistics_reset', request_method='POST', | |||
|
1043 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
464 |
|
1044 | |||
465 | # Issue trackers |
|
1045 | # Issue trackers | |
466 | config.add_route( |
|
1046 | config.add_route( | |
467 | name='edit_repo_issuetracker', |
|
1047 | name='edit_repo_issuetracker', | |
468 | pattern='/{repo_name:.*?[^/]}/settings/issue_trackers', repo_route=True) |
|
1048 | pattern='/{repo_name:.*?[^/]}/settings/issue_trackers', repo_route=True) | |
|
1049 | config.add_view( | |||
|
1050 | RepoSettingsIssueTrackersView, | |||
|
1051 | attr='repo_issuetracker', | |||
|
1052 | route_name='edit_repo_issuetracker', request_method='GET', | |||
|
1053 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
1054 | ||||
469 | config.add_route( |
|
1055 | config.add_route( | |
470 | name='edit_repo_issuetracker_test', |
|
1056 | name='edit_repo_issuetracker_test', | |
471 | pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/test', repo_route=True) |
|
1057 | pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/test', repo_route=True) | |
|
1058 | config.add_view( | |||
|
1059 | RepoSettingsIssueTrackersView, | |||
|
1060 | attr='repo_issuetracker_test', | |||
|
1061 | route_name='edit_repo_issuetracker_test', request_method='POST', | |||
|
1062 | renderer='string', xhr=True) | |||
|
1063 | ||||
472 | config.add_route( |
|
1064 | config.add_route( | |
473 | name='edit_repo_issuetracker_delete', |
|
1065 | name='edit_repo_issuetracker_delete', | |
474 | pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/delete', repo_route=True) |
|
1066 | pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/delete', repo_route=True) | |
|
1067 | config.add_view( | |||
|
1068 | RepoSettingsIssueTrackersView, | |||
|
1069 | attr='repo_issuetracker_delete', | |||
|
1070 | route_name='edit_repo_issuetracker_delete', request_method='POST', | |||
|
1071 | renderer='json_ext', xhr=True) | |||
|
1072 | ||||
475 | config.add_route( |
|
1073 | config.add_route( | |
476 | name='edit_repo_issuetracker_update', |
|
1074 | name='edit_repo_issuetracker_update', | |
477 | pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/update', repo_route=True) |
|
1075 | pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/update', repo_route=True) | |
|
1076 | config.add_view( | |||
|
1077 | RepoSettingsIssueTrackersView, | |||
|
1078 | attr='repo_issuetracker_update', | |||
|
1079 | route_name='edit_repo_issuetracker_update', request_method='POST', | |||
|
1080 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
478 |
|
1081 | |||
479 | # VCS Settings |
|
1082 | # VCS Settings | |
480 | config.add_route( |
|
1083 | config.add_route( | |
481 | name='edit_repo_vcs', |
|
1084 | name='edit_repo_vcs', | |
482 | pattern='/{repo_name:.*?[^/]}/settings/vcs', repo_route=True) |
|
1085 | pattern='/{repo_name:.*?[^/]}/settings/vcs', repo_route=True) | |
|
1086 | config.add_view( | |||
|
1087 | RepoSettingsVcsView, | |||
|
1088 | attr='repo_vcs_settings', | |||
|
1089 | route_name='edit_repo_vcs', request_method='GET', | |||
|
1090 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
|
1091 | ||||
483 | config.add_route( |
|
1092 | config.add_route( | |
484 | name='edit_repo_vcs_update', |
|
1093 | name='edit_repo_vcs_update', | |
485 | pattern='/{repo_name:.*?[^/]}/settings/vcs/update', repo_route=True) |
|
1094 | pattern='/{repo_name:.*?[^/]}/settings/vcs/update', repo_route=True) | |
|
1095 | config.add_view( | |||
|
1096 | RepoSettingsVcsView, | |||
|
1097 | attr='repo_settings_vcs_update', | |||
|
1098 | route_name='edit_repo_vcs_update', request_method='POST', | |||
|
1099 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
486 |
|
1100 | |||
487 | # svn pattern |
|
1101 | # svn pattern | |
488 | config.add_route( |
|
1102 | config.add_route( | |
489 | name='edit_repo_vcs_svn_pattern_delete', |
|
1103 | name='edit_repo_vcs_svn_pattern_delete', | |
490 | pattern='/{repo_name:.*?[^/]}/settings/vcs/svn_pattern/delete', repo_route=True) |
|
1104 | pattern='/{repo_name:.*?[^/]}/settings/vcs/svn_pattern/delete', repo_route=True) | |
|
1105 | config.add_view( | |||
|
1106 | RepoSettingsVcsView, | |||
|
1107 | attr='repo_settings_delete_svn_pattern', | |||
|
1108 | route_name='edit_repo_vcs_svn_pattern_delete', request_method='POST', | |||
|
1109 | renderer='json_ext', xhr=True) | |||
491 |
|
1110 | |||
492 | # Repo Review Rules (EE feature) |
|
1111 | # Repo Review Rules (EE feature) | |
493 | config.add_route( |
|
1112 | config.add_route( | |
494 | name='repo_reviewers', |
|
1113 | name='repo_reviewers', | |
495 | pattern='/{repo_name:.*?[^/]}/settings/review/rules', repo_route=True) |
|
1114 | pattern='/{repo_name:.*?[^/]}/settings/review/rules', repo_route=True) | |
|
1115 | config.add_view( | |||
|
1116 | RepoReviewRulesView, | |||
|
1117 | attr='repo_review_rules', | |||
|
1118 | route_name='repo_reviewers', request_method='GET', | |||
|
1119 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
496 |
|
1120 | |||
497 | config.add_route( |
|
1121 | config.add_route( | |
498 | name='repo_default_reviewers_data', |
|
1122 | name='repo_default_reviewers_data', | |
499 | pattern='/{repo_name:.*?[^/]}/settings/review/default-reviewers', repo_route=True) |
|
1123 | pattern='/{repo_name:.*?[^/]}/settings/review/default-reviewers', repo_route=True) | |
|
1124 | config.add_view( | |||
|
1125 | RepoReviewRulesView, | |||
|
1126 | attr='repo_default_reviewers_data', | |||
|
1127 | route_name='repo_default_reviewers_data', request_method='GET', | |||
|
1128 | renderer='json_ext') | |||
500 |
|
1129 | |||
501 | # Repo Automation (EE feature) |
|
1130 | # Repo Automation (EE feature) | |
502 | config.add_route( |
|
1131 | config.add_route( | |
503 | name='repo_automation', |
|
1132 | name='repo_automation', | |
504 | pattern='/{repo_name:.*?[^/]}/settings/automation', repo_route=True) |
|
1133 | pattern='/{repo_name:.*?[^/]}/settings/automation', repo_route=True) | |
|
1134 | config.add_view( | |||
|
1135 | RepoAutomationView, | |||
|
1136 | attr='repo_automation', | |||
|
1137 | route_name='repo_automation', request_method='GET', | |||
|
1138 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
505 |
|
1139 | |||
506 | # Strip |
|
1140 | # Strip | |
507 | config.add_route( |
|
1141 | config.add_route( | |
508 | name='edit_repo_strip', |
|
1142 | name='edit_repo_strip', | |
509 | pattern='/{repo_name:.*?[^/]}/settings/strip', repo_route=True) |
|
1143 | pattern='/{repo_name:.*?[^/]}/settings/strip', repo_route=True) | |
|
1144 | config.add_view( | |||
|
1145 | RepoStripView, | |||
|
1146 | attr='strip', | |||
|
1147 | route_name='edit_repo_strip', request_method='GET', | |||
|
1148 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
510 |
|
1149 | |||
511 | config.add_route( |
|
1150 | config.add_route( | |
512 | name='strip_check', |
|
1151 | name='strip_check', | |
513 | pattern='/{repo_name:.*?[^/]}/settings/strip_check', repo_route=True) |
|
1152 | pattern='/{repo_name:.*?[^/]}/settings/strip_check', repo_route=True) | |
|
1153 | config.add_view( | |||
|
1154 | RepoStripView, | |||
|
1155 | attr='strip_check', | |||
|
1156 | route_name='strip_check', request_method='POST', | |||
|
1157 | renderer='json', xhr=True) | |||
514 |
|
1158 | |||
515 | config.add_route( |
|
1159 | config.add_route( | |
516 | name='strip_execute', |
|
1160 | name='strip_execute', | |
517 | pattern='/{repo_name:.*?[^/]}/settings/strip_execute', repo_route=True) |
|
1161 | pattern='/{repo_name:.*?[^/]}/settings/strip_execute', repo_route=True) | |
|
1162 | config.add_view( | |||
|
1163 | RepoStripView, | |||
|
1164 | attr='strip_execute', | |||
|
1165 | route_name='strip_execute', request_method='POST', | |||
|
1166 | renderer='json', xhr=True) | |||
518 |
|
1167 | |||
519 | # Audit logs |
|
1168 | # Audit logs | |
520 | config.add_route( |
|
1169 | config.add_route( | |
521 | name='edit_repo_audit_logs', |
|
1170 | name='edit_repo_audit_logs', | |
522 | pattern='/{repo_name:.*?[^/]}/settings/audit_logs', repo_route=True) |
|
1171 | pattern='/{repo_name:.*?[^/]}/settings/audit_logs', repo_route=True) | |
|
1172 | config.add_view( | |||
|
1173 | AuditLogsView, | |||
|
1174 | attr='repo_audit_logs', | |||
|
1175 | route_name='edit_repo_audit_logs', request_method='GET', | |||
|
1176 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |||
523 |
|
1177 | |||
524 | # ATOM/RSS Feed, shouldn't contain slashes for outlook compatibility |
|
1178 | # ATOM/RSS Feed, shouldn't contain slashes for outlook compatibility | |
525 | config.add_route( |
|
1179 | config.add_route( | |
526 | name='rss_feed_home', |
|
1180 | name='rss_feed_home', | |
527 | pattern='/{repo_name:.*?[^/]}/feed-rss', repo_route=True) |
|
1181 | pattern='/{repo_name:.*?[^/]}/feed-rss', repo_route=True) | |
|
1182 | config.add_view( | |||
|
1183 | RepoFeedView, | |||
|
1184 | attr='rss', | |||
|
1185 | route_name='rss_feed_home', request_method='GET', renderer=None) | |||
|
1186 | ||||
|
1187 | config.add_route( | |||
|
1188 | name='rss_feed_home_old', | |||
|
1189 | pattern='/{repo_name:.*?[^/]}/feed/rss', repo_route=True) | |||
|
1190 | config.add_view( | |||
|
1191 | RepoFeedView, | |||
|
1192 | attr='rss', | |||
|
1193 | route_name='rss_feed_home_old', request_method='GET', renderer=None) | |||
528 |
|
1194 | |||
529 | config.add_route( |
|
1195 | config.add_route( | |
530 | name='atom_feed_home', |
|
1196 | name='atom_feed_home', | |
531 | pattern='/{repo_name:.*?[^/]}/feed-atom', repo_route=True) |
|
1197 | pattern='/{repo_name:.*?[^/]}/feed-atom', repo_route=True) | |
532 |
|
1198 | config.add_view( | ||
533 | config.add_route( |
|
1199 | RepoFeedView, | |
534 | name='rss_feed_home_old', |
|
1200 | attr='atom', | |
535 | pattern='/{repo_name:.*?[^/]}/feed/rss', repo_route=True) |
|
1201 | route_name='atom_feed_home', request_method='GET', renderer=None) | |
536 |
|
1202 | |||
537 | config.add_route( |
|
1203 | config.add_route( | |
538 | name='atom_feed_home_old', |
|
1204 | name='atom_feed_home_old', | |
539 | pattern='/{repo_name:.*?[^/]}/feed/atom', repo_route=True) |
|
1205 | pattern='/{repo_name:.*?[^/]}/feed/atom', repo_route=True) | |
|
1206 | config.add_view( | |||
|
1207 | RepoFeedView, | |||
|
1208 | attr='atom', | |||
|
1209 | route_name='atom_feed_home_old', request_method='GET', renderer=None) | |||
540 |
|
1210 | |||
541 | # NOTE(marcink): needs to be at the end for catch-all |
|
1211 | # NOTE(marcink): needs to be at the end for catch-all | |
542 | add_route_with_slash( |
|
1212 | add_route_with_slash( | |
543 | config, |
|
1213 | config, | |
544 | name='repo_summary', |
|
1214 | name='repo_summary', | |
545 | pattern='/{repo_name:.*?[^/]}', repo_route=True) |
|
1215 | pattern='/{repo_name:.*?[^/]}', repo_route=True) | |
546 |
|
1216 | config.add_view( | ||
547 | # Scan module for configuration decorators. |
|
1217 | RepoSummaryView, | |
548 | config.scan('.views', ignore='.tests') |
|
1218 | attr='summary', | |
|
1219 | route_name='repo_summary', request_method='GET', | |||
|
1220 | renderer='rhodecode:templates/summary/summary.mako') | |||
|
1221 | ||||
|
1222 | # TODO(marcink): there's no such route?? | |||
|
1223 | config.add_view( | |||
|
1224 | RepoSummaryView, | |||
|
1225 | attr='summary', | |||
|
1226 | route_name='repo_summary_slash', request_method='GET', | |||
|
1227 | renderer='rhodecode:templates/summary/summary.mako') No newline at end of file |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
23 | ||
24 |
|
24 | |||
25 | from rhodecode.apps._base import RepoAppView |
|
25 | from rhodecode.apps._base import RepoAppView | |
26 | from rhodecode.lib.auth import ( |
|
26 | from rhodecode.lib.auth import ( | |
@@ -39,9 +39,6 b' class RepoArtifactsView(RepoAppView):' | |||||
39 | @LoginRequired() |
|
39 | @LoginRequired() | |
40 | @HasRepoPermissionAnyDecorator( |
|
40 | @HasRepoPermissionAnyDecorator( | |
41 | 'repository.read', 'repository.write', 'repository.admin') |
|
41 | 'repository.read', 'repository.write', 'repository.admin') | |
42 | @view_config( |
|
|||
43 | route_name='repo_artifacts_list', request_method='GET', |
|
|||
44 | renderer='rhodecode:templates/artifacts/artifact_list.mako') |
|
|||
45 | def repo_artifacts(self): |
|
42 | def repo_artifacts(self): | |
46 | c = self.load_default_context() |
|
43 | c = self.load_default_context() | |
47 | c.active = 'artifacts' |
|
44 | c.active = 'artifacts' |
@@ -19,7 +19,7 b'' | |||||
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 | from pyramid.view import view_config |
|
22 | ||
23 |
|
23 | |||
24 | from rhodecode.apps._base import RepoAppView |
|
24 | from rhodecode.apps._base import RepoAppView | |
25 | from rhodecode.lib.helpers import SqlPage |
|
25 | from rhodecode.lib.helpers import SqlPage | |
@@ -38,9 +38,6 b' class AuditLogsView(RepoAppView):' | |||||
38 |
|
38 | |||
39 | @LoginRequired() |
|
39 | @LoginRequired() | |
40 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
40 | @HasRepoPermissionAnyDecorator('repository.admin') | |
41 | @view_config( |
|
|||
42 | route_name='edit_repo_audit_logs', request_method='GET', |
|
|||
43 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
44 | def repo_audit_logs(self): |
|
41 | def repo_audit_logs(self): | |
45 | _ = self.request.translate |
|
42 | _ = self.request.translate | |
46 | c = self.load_default_context() |
|
43 | c = self.load_default_context() |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
23 | ||
24 |
|
24 | |||
25 | from rhodecode.apps._base import RepoAppView |
|
25 | from rhodecode.apps._base import RepoAppView | |
26 | from rhodecode.apps.repository.utils import get_default_reviewers_data |
|
26 | from rhodecode.apps.repository.utils import get_default_reviewers_data | |
@@ -36,9 +36,6 b' class RepoAutomationView(RepoAppView):' | |||||
36 |
|
36 | |||
37 | @LoginRequired() |
|
37 | @LoginRequired() | |
38 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
38 | @HasRepoPermissionAnyDecorator('repository.admin') | |
39 | @view_config( |
|
|||
40 | route_name='repo_automation', request_method='GET', |
|
|||
41 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
42 | def repo_automation(self): |
|
39 | def repo_automation(self): | |
43 | c = self.load_default_context() |
|
40 | c = self.load_default_context() | |
44 | c.active = 'automation' |
|
41 | c.active = 'automation' |
@@ -20,7 +20,7 b'' | |||||
20 | import logging |
|
20 | import logging | |
21 |
|
21 | |||
22 | from pyramid.httpexceptions import HTTPNotFound |
|
22 | from pyramid.httpexceptions import HTTPNotFound | |
23 | from pyramid.view import view_config |
|
23 | ||
24 |
|
24 | |||
25 | from rhodecode.apps._base import BaseReferencesView |
|
25 | from rhodecode.apps._base import BaseReferencesView | |
26 | from rhodecode.lib.ext_json import json |
|
26 | from rhodecode.lib.ext_json import json | |
@@ -36,9 +36,6 b' class RepoBookmarksView(BaseReferencesVi' | |||||
36 | @LoginRequired() |
|
36 | @LoginRequired() | |
37 | @HasRepoPermissionAnyDecorator( |
|
37 | @HasRepoPermissionAnyDecorator( | |
38 | 'repository.read', 'repository.write', 'repository.admin') |
|
38 | 'repository.read', 'repository.write', 'repository.admin') | |
39 | @view_config( |
|
|||
40 | route_name='bookmarks_home', request_method='GET', |
|
|||
41 | renderer='rhodecode:templates/bookmarks/bookmarks.mako') |
|
|||
42 | def bookmarks(self): |
|
39 | def bookmarks(self): | |
43 | c = self.load_default_context() |
|
40 | c = self.load_default_context() | |
44 |
|
41 |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
23 | ||
24 |
|
24 | |||
25 | from rhodecode.apps._base import RepoAppView |
|
25 | from rhodecode.apps._base import RepoAppView | |
26 | from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator |
|
26 | from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator | |
@@ -36,9 +36,6 b' class RepoSettingsBranchPermissionsView(' | |||||
36 |
|
36 | |||
37 | @LoginRequired() |
|
37 | @LoginRequired() | |
38 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
38 | @HasRepoPermissionAnyDecorator('repository.admin') | |
39 | @view_config( |
|
|||
40 | route_name='edit_repo_perms_branch', request_method='GET', |
|
|||
41 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
42 | def branch_permissions(self): |
|
39 | def branch_permissions(self): | |
43 | c = self.load_default_context() |
|
40 | c = self.load_default_context() | |
44 | c.active = 'permissions_branch' |
|
41 | c.active = 'permissions_branch' |
@@ -19,7 +19,7 b'' | |||||
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 | from pyramid.view import view_config |
|
22 | ||
23 |
|
23 | |||
24 | from rhodecode.apps._base import BaseReferencesView |
|
24 | from rhodecode.apps._base import BaseReferencesView | |
25 | from rhodecode.lib.ext_json import json |
|
25 | from rhodecode.lib.ext_json import json | |
@@ -34,9 +34,6 b' class RepoBranchesView(BaseReferencesVie' | |||||
34 | @LoginRequired() |
|
34 | @LoginRequired() | |
35 | @HasRepoPermissionAnyDecorator( |
|
35 | @HasRepoPermissionAnyDecorator( | |
36 | 'repository.read', 'repository.write', 'repository.admin') |
|
36 | 'repository.read', 'repository.write', 'repository.admin') | |
37 | @view_config( |
|
|||
38 | route_name='branches_home', request_method='GET', |
|
|||
39 | renderer='rhodecode:templates/branches/branches.mako') |
|
|||
40 | def branches(self): |
|
37 | def branches(self): | |
41 | c = self.load_default_context() |
|
38 | c = self.load_default_context() | |
42 |
|
39 |
@@ -22,7 +22,7 b' import os' | |||||
22 | import logging |
|
22 | import logging | |
23 |
|
23 | |||
24 | from pyramid.httpexceptions import HTTPFound |
|
24 | from pyramid.httpexceptions import HTTPFound | |
25 | from pyramid.view import view_config |
|
25 | ||
26 |
|
26 | |||
27 | from rhodecode.apps._base import RepoAppView |
|
27 | from rhodecode.apps._base import RepoAppView | |
28 | from rhodecode.lib.auth import ( |
|
28 | from rhodecode.lib.auth import ( | |
@@ -42,9 +42,6 b' class RepoCachesView(RepoAppView):' | |||||
42 |
|
42 | |||
43 | @LoginRequired() |
|
43 | @LoginRequired() | |
44 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
44 | @HasRepoPermissionAnyDecorator('repository.admin') | |
45 | @view_config( |
|
|||
46 | route_name='edit_repo_caches', request_method='GET', |
|
|||
47 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
48 | def repo_caches(self): |
|
45 | def repo_caches(self): | |
49 | c = self.load_default_context() |
|
46 | c = self.load_default_context() | |
50 | c.active = 'caches' |
|
47 | c.active = 'caches' | |
@@ -65,8 +62,6 b' class RepoCachesView(RepoAppView):' | |||||
65 | @LoginRequired() |
|
62 | @LoginRequired() | |
66 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
63 | @HasRepoPermissionAnyDecorator('repository.admin') | |
67 | @CSRFRequired() |
|
64 | @CSRFRequired() | |
68 | @view_config( |
|
|||
69 | route_name='edit_repo_caches', request_method='POST') |
|
|||
70 | def repo_caches_purge(self): |
|
65 | def repo_caches_purge(self): | |
71 | _ = self.request.translate |
|
66 | _ = self.request.translate | |
72 | c = self.load_default_context() |
|
67 | c = self.load_default_context() |
@@ -22,7 +22,7 b'' | |||||
22 | import logging |
|
22 | import logging | |
23 |
|
23 | |||
24 | from pyramid.httpexceptions import HTTPNotFound, HTTPFound |
|
24 | from pyramid.httpexceptions import HTTPNotFound, HTTPFound | |
25 | from pyramid.view import view_config |
|
25 | ||
26 | from pyramid.renderers import render |
|
26 | from pyramid.renderers import render | |
27 | from pyramid.response import Response |
|
27 | from pyramid.response import Response | |
28 |
|
28 | |||
@@ -176,19 +176,6 b' class RepoChangelogView(RepoAppView):' | |||||
176 | @LoginRequired() |
|
176 | @LoginRequired() | |
177 | @HasRepoPermissionAnyDecorator( |
|
177 | @HasRepoPermissionAnyDecorator( | |
178 | 'repository.read', 'repository.write', 'repository.admin') |
|
178 | 'repository.read', 'repository.write', 'repository.admin') | |
179 | @view_config( |
|
|||
180 | route_name='repo_commits', request_method='GET', |
|
|||
181 | renderer='rhodecode:templates/commits/changelog.mako') |
|
|||
182 | @view_config( |
|
|||
183 | route_name='repo_commits_file', request_method='GET', |
|
|||
184 | renderer='rhodecode:templates/commits/changelog.mako') |
|
|||
185 | # old routes for backward compat |
|
|||
186 | @view_config( |
|
|||
187 | route_name='repo_changelog', request_method='GET', |
|
|||
188 | renderer='rhodecode:templates/commits/changelog.mako') |
|
|||
189 | @view_config( |
|
|||
190 | route_name='repo_changelog_file', request_method='GET', |
|
|||
191 | renderer='rhodecode:templates/commits/changelog.mako') |
|
|||
192 | def repo_changelog(self): |
|
179 | def repo_changelog(self): | |
193 | c = self.load_default_context() |
|
180 | c = self.load_default_context() | |
194 |
|
181 | |||
@@ -216,6 +203,7 b' class RepoChangelogView(RepoAppView):' | |||||
216 | pre_load = self._get_preload_attrs() |
|
203 | pre_load = self._get_preload_attrs() | |
217 |
|
204 | |||
218 | partial_xhr = self.request.environ.get('HTTP_X_PARTIAL_XHR') |
|
205 | partial_xhr = self.request.environ.get('HTTP_X_PARTIAL_XHR') | |
|
206 | ||||
219 | try: |
|
207 | try: | |
220 | if f_path: |
|
208 | if f_path: | |
221 | log.debug('generating changelog for path %s', f_path) |
|
209 | log.debug('generating changelog for path %s', f_path) | |
@@ -258,8 +246,15 b' class RepoChangelogView(RepoAppView):' | |||||
258 | except (RepositoryError, CommitDoesNotExistError, Exception) as e: |
|
246 | except (RepositoryError, CommitDoesNotExistError, Exception) as e: | |
259 | log.exception(safe_str(e)) |
|
247 | log.exception(safe_str(e)) | |
260 | h.flash(safe_str(h.escape(e)), category='error') |
|
248 | h.flash(safe_str(h.escape(e)), category='error') | |
261 | raise HTTPFound( |
|
249 | ||
262 | h.route_path('repo_commits', repo_name=self.db_repo_name)) |
|
250 | if commit_id: | |
|
251 | # from single commit page, we redirect to main commits | |||
|
252 | raise HTTPFound( | |||
|
253 | h.route_path('repo_commits', repo_name=self.db_repo_name)) | |||
|
254 | else: | |||
|
255 | # otherwise we redirect to summary | |||
|
256 | raise HTTPFound( | |||
|
257 | h.route_path('repo_summary', repo_name=self.db_repo_name)) | |||
263 |
|
258 | |||
264 | if partial_xhr or self.request.environ.get('HTTP_X_PJAX'): |
|
259 | if partial_xhr or self.request.environ.get('HTTP_X_PJAX'): | |
265 | # case when loading dynamic file history in file view |
|
260 | # case when loading dynamic file history in file view | |
@@ -283,14 +278,6 b' class RepoChangelogView(RepoAppView):' | |||||
283 | @LoginRequired() |
|
278 | @LoginRequired() | |
284 | @HasRepoPermissionAnyDecorator( |
|
279 | @HasRepoPermissionAnyDecorator( | |
285 | 'repository.read', 'repository.write', 'repository.admin') |
|
280 | 'repository.read', 'repository.write', 'repository.admin') | |
286 | @view_config( |
|
|||
287 | route_name='repo_commits_elements', request_method=('GET', 'POST'), |
|
|||
288 | renderer='rhodecode:templates/commits/changelog_elements.mako', |
|
|||
289 | xhr=True) |
|
|||
290 | @view_config( |
|
|||
291 | route_name='repo_commits_elements_file', request_method=('GET', 'POST'), |
|
|||
292 | renderer='rhodecode:templates/commits/changelog_elements.mako', |
|
|||
293 | xhr=True) |
|
|||
294 | def repo_commits_elements(self): |
|
281 | def repo_commits_elements(self): | |
295 | c = self.load_default_context() |
|
282 | c = self.load_default_context() | |
296 | commit_id = self.request.matchdict.get('commit_id') |
|
283 | commit_id = self.request.matchdict.get('commit_id') |
@@ -20,10 +20,8 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
|||
24 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
23 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound | |
25 |
|
24 | |||
26 | from rhodecode import events |
|
|||
27 | from rhodecode.apps._base import BaseAppView |
|
25 | from rhodecode.apps._base import BaseAppView | |
28 | from rhodecode.lib import helpers as h |
|
26 | from rhodecode.lib import helpers as h | |
29 | from rhodecode.lib.auth import (NotAnonymous, HasRepoPermissionAny) |
|
27 | from rhodecode.lib.auth import (NotAnonymous, HasRepoPermissionAny) | |
@@ -37,13 +35,9 b' log = logging.getLogger(__name__)' | |||||
37 | class RepoChecksView(BaseAppView): |
|
35 | class RepoChecksView(BaseAppView): | |
38 | def load_default_context(self): |
|
36 | def load_default_context(self): | |
39 | c = self._get_local_tmpl_context() |
|
37 | c = self._get_local_tmpl_context() | |
40 |
|
||||
41 | return c |
|
38 | return c | |
42 |
|
39 | |||
43 | @NotAnonymous() |
|
40 | @NotAnonymous() | |
44 | @view_config( |
|
|||
45 | route_name='repo_creating', request_method='GET', |
|
|||
46 | renderer='rhodecode:templates/admin/repos/repo_creating.mako') |
|
|||
47 | def repo_creating(self): |
|
41 | def repo_creating(self): | |
48 | c = self.load_default_context() |
|
42 | c = self.load_default_context() | |
49 | repo_name = self.request.matchdict['repo_name'] |
|
43 | repo_name = self.request.matchdict['repo_name'] | |
@@ -71,9 +65,6 b' class RepoChecksView(BaseAppView):' | |||||
71 | return self._get_template_context(c) |
|
65 | return self._get_template_context(c) | |
72 |
|
66 | |||
73 | @NotAnonymous() |
|
67 | @NotAnonymous() | |
74 | @view_config( |
|
|||
75 | route_name='repo_creating_check', request_method='GET', |
|
|||
76 | renderer='json_ext') |
|
|||
77 | def repo_creating_check(self): |
|
68 | def repo_creating_check(self): | |
78 | _ = self.request.translate |
|
69 | _ = self.request.translate | |
79 | task_id = self.request.GET.get('task_id') |
|
70 | task_id = self.request.GET.get('task_id') |
@@ -23,7 +23,6 b' import collections' | |||||
23 |
|
23 | |||
24 | from pyramid.httpexceptions import ( |
|
24 | from pyramid.httpexceptions import ( | |
25 | HTTPNotFound, HTTPBadRequest, HTTPFound, HTTPForbidden, HTTPConflict) |
|
25 | HTTPNotFound, HTTPBadRequest, HTTPFound, HTTPForbidden, HTTPConflict) | |
26 | from pyramid.view import view_config |
|
|||
27 | from pyramid.renderers import render |
|
26 | from pyramid.renderers import render | |
28 | from pyramid.response import Response |
|
27 | from pyramid.response import Response | |
29 |
|
28 | |||
@@ -41,7 +40,7 b' from rhodecode.lib.diffs import (' | |||||
41 | get_diff_whitespace_flag) |
|
40 | get_diff_whitespace_flag) | |
42 | from rhodecode.lib.exceptions import StatusChangeOnClosedPullRequestError, CommentVersionMismatch |
|
41 | from rhodecode.lib.exceptions import StatusChangeOnClosedPullRequestError, CommentVersionMismatch | |
43 | import rhodecode.lib.helpers as h |
|
42 | import rhodecode.lib.helpers as h | |
44 | from rhodecode.lib.utils2 import safe_unicode, str2bool, StrictAttributeDict |
|
43 | from rhodecode.lib.utils2 import safe_unicode, str2bool, StrictAttributeDict, safe_str | |
45 | from rhodecode.lib.vcs.backends.base import EmptyCommit |
|
44 | from rhodecode.lib.vcs.backends.base import EmptyCommit | |
46 | from rhodecode.lib.vcs.exceptions import ( |
|
45 | from rhodecode.lib.vcs.exceptions import ( | |
47 | RepositoryError, CommitDoesNotExistError) |
|
46 | RepositoryError, CommitDoesNotExistError) | |
@@ -110,7 +109,7 b' class RepoCommitsView(RepoAppView):' | |||||
110 | if not c.commit_ranges: |
|
109 | if not c.commit_ranges: | |
111 | raise RepositoryError('The commit range returned an empty result') |
|
110 | raise RepositoryError('The commit range returned an empty result') | |
112 | except CommitDoesNotExistError as e: |
|
111 | except CommitDoesNotExistError as e: | |
113 | msg = _('No such commit exists. Org exception: `{}`').format(e) |
|
112 | msg = _('No such commit exists. Org exception: `{}`').format(safe_str(e)) | |
114 | h.flash(msg, category='error') |
|
113 | h.flash(msg, category='error') | |
115 | raise HTTPNotFound() |
|
114 | raise HTTPNotFound() | |
116 | except Exception: |
|
115 | except Exception: | |
@@ -340,9 +339,6 b' class RepoCommitsView(RepoAppView):' | |||||
340 | @LoginRequired() |
|
339 | @LoginRequired() | |
341 | @HasRepoPermissionAnyDecorator( |
|
340 | @HasRepoPermissionAnyDecorator( | |
342 | 'repository.read', 'repository.write', 'repository.admin') |
|
341 | 'repository.read', 'repository.write', 'repository.admin') | |
343 | @view_config( |
|
|||
344 | route_name='repo_commit', request_method='GET', |
|
|||
345 | renderer=None) |
|
|||
346 | def repo_commit_show(self): |
|
342 | def repo_commit_show(self): | |
347 | commit_id = self.request.matchdict['commit_id'] |
|
343 | commit_id = self.request.matchdict['commit_id'] | |
348 | return self._commit(commit_id, method='show') |
|
344 | return self._commit(commit_id, method='show') | |
@@ -350,12 +346,6 b' class RepoCommitsView(RepoAppView):' | |||||
350 | @LoginRequired() |
|
346 | @LoginRequired() | |
351 | @HasRepoPermissionAnyDecorator( |
|
347 | @HasRepoPermissionAnyDecorator( | |
352 | 'repository.read', 'repository.write', 'repository.admin') |
|
348 | 'repository.read', 'repository.write', 'repository.admin') | |
353 | @view_config( |
|
|||
354 | route_name='repo_commit_raw', request_method='GET', |
|
|||
355 | renderer=None) |
|
|||
356 | @view_config( |
|
|||
357 | route_name='repo_commit_raw_deprecated', request_method='GET', |
|
|||
358 | renderer=None) |
|
|||
359 | def repo_commit_raw(self): |
|
349 | def repo_commit_raw(self): | |
360 | commit_id = self.request.matchdict['commit_id'] |
|
350 | commit_id = self.request.matchdict['commit_id'] | |
361 | return self._commit(commit_id, method='raw') |
|
351 | return self._commit(commit_id, method='raw') | |
@@ -363,9 +353,6 b' class RepoCommitsView(RepoAppView):' | |||||
363 | @LoginRequired() |
|
353 | @LoginRequired() | |
364 | @HasRepoPermissionAnyDecorator( |
|
354 | @HasRepoPermissionAnyDecorator( | |
365 | 'repository.read', 'repository.write', 'repository.admin') |
|
355 | 'repository.read', 'repository.write', 'repository.admin') | |
366 | @view_config( |
|
|||
367 | route_name='repo_commit_patch', request_method='GET', |
|
|||
368 | renderer=None) |
|
|||
369 | def repo_commit_patch(self): |
|
356 | def repo_commit_patch(self): | |
370 | commit_id = self.request.matchdict['commit_id'] |
|
357 | commit_id = self.request.matchdict['commit_id'] | |
371 | return self._commit(commit_id, method='patch') |
|
358 | return self._commit(commit_id, method='patch') | |
@@ -373,9 +360,6 b' class RepoCommitsView(RepoAppView):' | |||||
373 | @LoginRequired() |
|
360 | @LoginRequired() | |
374 | @HasRepoPermissionAnyDecorator( |
|
361 | @HasRepoPermissionAnyDecorator( | |
375 | 'repository.read', 'repository.write', 'repository.admin') |
|
362 | 'repository.read', 'repository.write', 'repository.admin') | |
376 | @view_config( |
|
|||
377 | route_name='repo_commit_download', request_method='GET', |
|
|||
378 | renderer=None) |
|
|||
379 | def repo_commit_download(self): |
|
363 | def repo_commit_download(self): | |
380 | commit_id = self.request.matchdict['commit_id'] |
|
364 | commit_id = self.request.matchdict['commit_id'] | |
381 | return self._commit(commit_id, method='download') |
|
365 | return self._commit(commit_id, method='download') | |
@@ -500,9 +484,6 b' class RepoCommitsView(RepoAppView):' | |||||
500 | @HasRepoPermissionAnyDecorator( |
|
484 | @HasRepoPermissionAnyDecorator( | |
501 | 'repository.read', 'repository.write', 'repository.admin') |
|
485 | 'repository.read', 'repository.write', 'repository.admin') | |
502 | @CSRFRequired() |
|
486 | @CSRFRequired() | |
503 | @view_config( |
|
|||
504 | route_name='repo_commit_comment_create', request_method='POST', |
|
|||
505 | renderer='json_ext') |
|
|||
506 | def repo_commit_comment_create(self): |
|
487 | def repo_commit_comment_create(self): | |
507 | _ = self.request.translate |
|
488 | _ = self.request.translate | |
508 | commit_id = self.request.matchdict['commit_id'] |
|
489 | commit_id = self.request.matchdict['commit_id'] | |
@@ -538,9 +519,6 b' class RepoCommitsView(RepoAppView):' | |||||
538 | @HasRepoPermissionAnyDecorator( |
|
519 | @HasRepoPermissionAnyDecorator( | |
539 | 'repository.read', 'repository.write', 'repository.admin') |
|
520 | 'repository.read', 'repository.write', 'repository.admin') | |
540 | @CSRFRequired() |
|
521 | @CSRFRequired() | |
541 | @view_config( |
|
|||
542 | route_name='repo_commit_comment_preview', request_method='POST', |
|
|||
543 | renderer='string', xhr=True) |
|
|||
544 | def repo_commit_comment_preview(self): |
|
522 | def repo_commit_comment_preview(self): | |
545 | # Technically a CSRF token is not needed as no state changes with this |
|
523 | # Technically a CSRF token is not needed as no state changes with this | |
546 | # call. However, as this is a POST is better to have it, so automated |
|
524 | # call. However, as this is a POST is better to have it, so automated | |
@@ -559,9 +537,6 b' class RepoCommitsView(RepoAppView):' | |||||
559 | @HasRepoPermissionAnyDecorator( |
|
537 | @HasRepoPermissionAnyDecorator( | |
560 | 'repository.read', 'repository.write', 'repository.admin') |
|
538 | 'repository.read', 'repository.write', 'repository.admin') | |
561 | @CSRFRequired() |
|
539 | @CSRFRequired() | |
562 | @view_config( |
|
|||
563 | route_name='repo_commit_comment_history_view', request_method='POST', |
|
|||
564 | renderer='string', xhr=True) |
|
|||
565 | def repo_commit_comment_history_view(self): |
|
540 | def repo_commit_comment_history_view(self): | |
566 | c = self.load_default_context() |
|
541 | c = self.load_default_context() | |
567 |
|
542 | |||
@@ -587,9 +562,6 b' class RepoCommitsView(RepoAppView):' | |||||
587 | @HasRepoPermissionAnyDecorator( |
|
562 | @HasRepoPermissionAnyDecorator( | |
588 | 'repository.read', 'repository.write', 'repository.admin') |
|
563 | 'repository.read', 'repository.write', 'repository.admin') | |
589 | @CSRFRequired() |
|
564 | @CSRFRequired() | |
590 | @view_config( |
|
|||
591 | route_name='repo_commit_comment_attachment_upload', request_method='POST', |
|
|||
592 | renderer='json_ext', xhr=True) |
|
|||
593 | def repo_commit_comment_attachment_upload(self): |
|
565 | def repo_commit_comment_attachment_upload(self): | |
594 | c = self.load_default_context() |
|
566 | c = self.load_default_context() | |
595 | upload_key = 'attachment' |
|
567 | upload_key = 'attachment' | |
@@ -682,9 +654,6 b' class RepoCommitsView(RepoAppView):' | |||||
682 | @HasRepoPermissionAnyDecorator( |
|
654 | @HasRepoPermissionAnyDecorator( | |
683 | 'repository.read', 'repository.write', 'repository.admin') |
|
655 | 'repository.read', 'repository.write', 'repository.admin') | |
684 | @CSRFRequired() |
|
656 | @CSRFRequired() | |
685 | @view_config( |
|
|||
686 | route_name='repo_commit_comment_delete', request_method='POST', |
|
|||
687 | renderer='json_ext') |
|
|||
688 | def repo_commit_comment_delete(self): |
|
657 | def repo_commit_comment_delete(self): | |
689 | commit_id = self.request.matchdict['commit_id'] |
|
658 | commit_id = self.request.matchdict['commit_id'] | |
690 | comment_id = self.request.matchdict['comment_id'] |
|
659 | comment_id = self.request.matchdict['comment_id'] | |
@@ -719,9 +688,6 b' class RepoCommitsView(RepoAppView):' | |||||
719 | @HasRepoPermissionAnyDecorator( |
|
688 | @HasRepoPermissionAnyDecorator( | |
720 | 'repository.read', 'repository.write', 'repository.admin') |
|
689 | 'repository.read', 'repository.write', 'repository.admin') | |
721 | @CSRFRequired() |
|
690 | @CSRFRequired() | |
722 | @view_config( |
|
|||
723 | route_name='repo_commit_comment_edit', request_method='POST', |
|
|||
724 | renderer='json_ext') |
|
|||
725 | def repo_commit_comment_edit(self): |
|
691 | def repo_commit_comment_edit(self): | |
726 | self.load_default_context() |
|
692 | self.load_default_context() | |
727 |
|
693 | |||
@@ -802,9 +768,6 b' class RepoCommitsView(RepoAppView):' | |||||
802 | @LoginRequired() |
|
768 | @LoginRequired() | |
803 | @HasRepoPermissionAnyDecorator( |
|
769 | @HasRepoPermissionAnyDecorator( | |
804 | 'repository.read', 'repository.write', 'repository.admin') |
|
770 | 'repository.read', 'repository.write', 'repository.admin') | |
805 | @view_config( |
|
|||
806 | route_name='repo_commit_data', request_method='GET', |
|
|||
807 | renderer='json_ext', xhr=True) |
|
|||
808 | def repo_commit_data(self): |
|
771 | def repo_commit_data(self): | |
809 | commit_id = self.request.matchdict['commit_id'] |
|
772 | commit_id = self.request.matchdict['commit_id'] | |
810 | self.load_default_context() |
|
773 | self.load_default_context() | |
@@ -817,9 +780,6 b' class RepoCommitsView(RepoAppView):' | |||||
817 | @LoginRequired() |
|
780 | @LoginRequired() | |
818 | @HasRepoPermissionAnyDecorator( |
|
781 | @HasRepoPermissionAnyDecorator( | |
819 | 'repository.read', 'repository.write', 'repository.admin') |
|
782 | 'repository.read', 'repository.write', 'repository.admin') | |
820 | @view_config( |
|
|||
821 | route_name='repo_commit_children', request_method='GET', |
|
|||
822 | renderer='json_ext', xhr=True) |
|
|||
823 | def repo_commit_children(self): |
|
783 | def repo_commit_children(self): | |
824 | commit_id = self.request.matchdict['commit_id'] |
|
784 | commit_id = self.request.matchdict['commit_id'] | |
825 | self.load_default_context() |
|
785 | self.load_default_context() | |
@@ -836,9 +796,6 b' class RepoCommitsView(RepoAppView):' | |||||
836 | @LoginRequired() |
|
796 | @LoginRequired() | |
837 | @HasRepoPermissionAnyDecorator( |
|
797 | @HasRepoPermissionAnyDecorator( | |
838 | 'repository.read', 'repository.write', 'repository.admin') |
|
798 | 'repository.read', 'repository.write', 'repository.admin') | |
839 | @view_config( |
|
|||
840 | route_name='repo_commit_parents', request_method='GET', |
|
|||
841 | renderer='json_ext') |
|
|||
842 | def repo_commit_parents(self): |
|
799 | def repo_commit_parents(self): | |
843 | commit_id = self.request.matchdict['commit_id'] |
|
800 | commit_id = self.request.matchdict['commit_id'] | |
844 | self.load_default_context() |
|
801 | self.load_default_context() |
@@ -22,7 +22,7 b'' | |||||
22 | import logging |
|
22 | import logging | |
23 |
|
23 | |||
24 | from pyramid.httpexceptions import HTTPBadRequest, HTTPNotFound, HTTPFound |
|
24 | from pyramid.httpexceptions import HTTPBadRequest, HTTPNotFound, HTTPFound | |
25 | from pyramid.view import view_config |
|
25 | ||
26 | from pyramid.renderers import render |
|
26 | from pyramid.renderers import render | |
27 | from pyramid.response import Response |
|
27 | from pyramid.response import Response | |
28 |
|
28 | |||
@@ -79,9 +79,6 b' class RepoCompareView(RepoAppView):' | |||||
79 | @LoginRequired() |
|
79 | @LoginRequired() | |
80 | @HasRepoPermissionAnyDecorator( |
|
80 | @HasRepoPermissionAnyDecorator( | |
81 | 'repository.read', 'repository.write', 'repository.admin') |
|
81 | 'repository.read', 'repository.write', 'repository.admin') | |
82 | @view_config( |
|
|||
83 | route_name='repo_compare_select', request_method='GET', |
|
|||
84 | renderer='rhodecode:templates/compare/compare_diff.mako') |
|
|||
85 | def compare_select(self): |
|
82 | def compare_select(self): | |
86 | _ = self.request.translate |
|
83 | _ = self.request.translate | |
87 | c = self.load_default_context() |
|
84 | c = self.load_default_context() | |
@@ -111,9 +108,6 b' class RepoCompareView(RepoAppView):' | |||||
111 | @LoginRequired() |
|
108 | @LoginRequired() | |
112 | @HasRepoPermissionAnyDecorator( |
|
109 | @HasRepoPermissionAnyDecorator( | |
113 | 'repository.read', 'repository.write', 'repository.admin') |
|
110 | 'repository.read', 'repository.write', 'repository.admin') | |
114 | @view_config( |
|
|||
115 | route_name='repo_compare', request_method='GET', |
|
|||
116 | renderer=None) |
|
|||
117 | def compare(self): |
|
111 | def compare(self): | |
118 | _ = self.request.translate |
|
112 | _ = self.request.translate | |
119 | c = self.load_default_context() |
|
113 | c = self.load_default_context() |
@@ -20,10 +20,8 b'' | |||||
20 | import pytz |
|
20 | import pytz | |
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
|||
24 | from pyramid.response import Response |
|
23 | from pyramid.response import Response | |
25 |
|
24 | |||
26 |
|
||||
27 | from rhodecode.apps._base import RepoAppView |
|
25 | from rhodecode.apps._base import RepoAppView | |
28 | from rhodecode.lib.feedgenerator import Rss201rev2Feed, Atom1Feed |
|
26 | from rhodecode.lib.feedgenerator import Rss201rev2Feed, Atom1Feed | |
29 | from rhodecode.lib import audit_logger |
|
27 | from rhodecode.lib import audit_logger | |
@@ -118,8 +116,6 b' class RepoFeedView(RepoAppView):' | |||||
118 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
116 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) | |
119 | @HasRepoPermissionAnyDecorator( |
|
117 | @HasRepoPermissionAnyDecorator( | |
120 | 'repository.read', 'repository.write', 'repository.admin') |
|
118 | 'repository.read', 'repository.write', 'repository.admin') | |
121 | @view_config(route_name='atom_feed_home', request_method='GET', renderer=None) |
|
|||
122 | @view_config(route_name='atom_feed_home_old', request_method='GET', renderer=None) |
|
|||
123 | def atom(self): |
|
119 | def atom(self): | |
124 | """ |
|
120 | """ | |
125 | Produce an atom-1.0 feed via feedgenerator module |
|
121 | Produce an atom-1.0 feed via feedgenerator module | |
@@ -166,8 +162,6 b' class RepoFeedView(RepoAppView):' | |||||
166 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
162 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) | |
167 | @HasRepoPermissionAnyDecorator( |
|
163 | @HasRepoPermissionAnyDecorator( | |
168 | 'repository.read', 'repository.write', 'repository.admin') |
|
164 | 'repository.read', 'repository.write', 'repository.admin') | |
169 | @view_config(route_name='rss_feed_home', request_method='GET', renderer=None) |
|
|||
170 | @view_config(route_name='rss_feed_home_old', request_method='GET', renderer=None) |
|
|||
171 | def rss(self): |
|
165 | def rss(self): | |
172 | """ |
|
166 | """ | |
173 | Produce an rss2 feed via feedgenerator module |
|
167 | Produce an rss2 feed via feedgenerator module |
@@ -28,7 +28,7 b' import urllib' | |||||
28 | import pathlib2 |
|
28 | import pathlib2 | |
29 |
|
29 | |||
30 | from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest, HTTPFound |
|
30 | from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest, HTTPFound | |
31 | from pyramid.view import view_config |
|
31 | ||
32 | from pyramid.renderers import render |
|
32 | from pyramid.renderers import render | |
33 | from pyramid.response import Response |
|
33 | from pyramid.response import Response | |
34 |
|
34 | |||
@@ -343,9 +343,6 b' class RepoFilesView(RepoAppView):' | |||||
343 | @LoginRequired() |
|
343 | @LoginRequired() | |
344 | @HasRepoPermissionAnyDecorator( |
|
344 | @HasRepoPermissionAnyDecorator( | |
345 | 'repository.read', 'repository.write', 'repository.admin') |
|
345 | 'repository.read', 'repository.write', 'repository.admin') | |
346 | @view_config( |
|
|||
347 | route_name='repo_archivefile', request_method='GET', |
|
|||
348 | renderer=None) |
|
|||
349 | def repo_archivefile(self): |
|
346 | def repo_archivefile(self): | |
350 | # archive cache config |
|
347 | # archive cache config | |
351 | from rhodecode import CONFIG |
|
348 | from rhodecode import CONFIG | |
@@ -496,9 +493,6 b' class RepoFilesView(RepoAppView):' | |||||
496 | @LoginRequired() |
|
493 | @LoginRequired() | |
497 | @HasRepoPermissionAnyDecorator( |
|
494 | @HasRepoPermissionAnyDecorator( | |
498 | 'repository.read', 'repository.write', 'repository.admin') |
|
495 | 'repository.read', 'repository.write', 'repository.admin') | |
499 | @view_config( |
|
|||
500 | route_name='repo_files_diff', request_method='GET', |
|
|||
501 | renderer=None) |
|
|||
502 | def repo_files_diff(self): |
|
496 | def repo_files_diff(self): | |
503 | c = self.load_default_context() |
|
497 | c = self.load_default_context() | |
504 | f_path = self._get_f_path(self.request.matchdict) |
|
498 | f_path = self._get_f_path(self.request.matchdict) | |
@@ -581,9 +575,6 b' class RepoFilesView(RepoAppView):' | |||||
581 | @LoginRequired() |
|
575 | @LoginRequired() | |
582 | @HasRepoPermissionAnyDecorator( |
|
576 | @HasRepoPermissionAnyDecorator( | |
583 | 'repository.read', 'repository.write', 'repository.admin') |
|
577 | 'repository.read', 'repository.write', 'repository.admin') | |
584 | @view_config( |
|
|||
585 | route_name='repo_files_diff_2way_redirect', request_method='GET', |
|
|||
586 | renderer=None) |
|
|||
587 | def repo_files_diff_2way_redirect(self): |
|
578 | def repo_files_diff_2way_redirect(self): | |
588 | """ |
|
579 | """ | |
589 | Kept only to make OLD links work |
|
580 | Kept only to make OLD links work | |
@@ -610,10 +601,11 b' class RepoFilesView(RepoAppView):' | |||||
610 | raise HTTPFound(compare_url) |
|
601 | raise HTTPFound(compare_url) | |
611 |
|
602 | |||
612 | @LoginRequired() |
|
603 | @LoginRequired() | |
613 | @view_config( |
|
604 | def repo_files_default_commit_redirect(self): | |
614 | route_name='repo_files:default_commit', request_method='GET', |
|
605 | """ | |
615 | renderer=None) |
|
606 | Special page that redirects to the landing page of files based on the default | |
616 | def repo_files_default(self): |
|
607 | commit for repository | |
|
608 | """ | |||
617 | c = self.load_default_context() |
|
609 | c = self.load_default_context() | |
618 | ref_name = c.rhodecode_db_repo.landing_ref_name |
|
610 | ref_name = c.rhodecode_db_repo.landing_ref_name | |
619 | landing_url = h.repo_files_by_ref_url( |
|
611 | landing_url = h.repo_files_by_ref_url( | |
@@ -630,18 +622,6 b' class RepoFilesView(RepoAppView):' | |||||
630 | @LoginRequired() |
|
622 | @LoginRequired() | |
631 | @HasRepoPermissionAnyDecorator( |
|
623 | @HasRepoPermissionAnyDecorator( | |
632 | 'repository.read', 'repository.write', 'repository.admin') |
|
624 | 'repository.read', 'repository.write', 'repository.admin') | |
633 | @view_config( |
|
|||
634 | route_name='repo_files', request_method='GET', |
|
|||
635 | renderer=None) |
|
|||
636 | @view_config( |
|
|||
637 | route_name='repo_files:default_path', request_method='GET', |
|
|||
638 | renderer=None) |
|
|||
639 | @view_config( |
|
|||
640 | route_name='repo_files:rendered', request_method='GET', |
|
|||
641 | renderer=None) |
|
|||
642 | @view_config( |
|
|||
643 | route_name='repo_files:annotated', request_method='GET', |
|
|||
644 | renderer=None) |
|
|||
645 | def repo_files(self): |
|
625 | def repo_files(self): | |
646 | c = self.load_default_context() |
|
626 | c = self.load_default_context() | |
647 |
|
627 | |||
@@ -759,9 +739,6 b' class RepoFilesView(RepoAppView):' | |||||
759 |
|
739 | |||
760 | @HasRepoPermissionAnyDecorator( |
|
740 | @HasRepoPermissionAnyDecorator( | |
761 | 'repository.read', 'repository.write', 'repository.admin') |
|
741 | 'repository.read', 'repository.write', 'repository.admin') | |
762 | @view_config( |
|
|||
763 | route_name='repo_files:annotated_previous', request_method='GET', |
|
|||
764 | renderer=None) |
|
|||
765 | def repo_files_annotated_previous(self): |
|
742 | def repo_files_annotated_previous(self): | |
766 | self.load_default_context() |
|
743 | self.load_default_context() | |
767 |
|
744 | |||
@@ -790,12 +767,6 b' class RepoFilesView(RepoAppView):' | |||||
790 | @LoginRequired() |
|
767 | @LoginRequired() | |
791 | @HasRepoPermissionAnyDecorator( |
|
768 | @HasRepoPermissionAnyDecorator( | |
792 | 'repository.read', 'repository.write', 'repository.admin') |
|
769 | 'repository.read', 'repository.write', 'repository.admin') | |
793 | @view_config( |
|
|||
794 | route_name='repo_nodetree_full', request_method='GET', |
|
|||
795 | renderer=None, xhr=True) |
|
|||
796 | @view_config( |
|
|||
797 | route_name='repo_nodetree_full:default_path', request_method='GET', |
|
|||
798 | renderer=None, xhr=True) |
|
|||
799 | def repo_nodetree_full(self): |
|
770 | def repo_nodetree_full(self): | |
800 | """ |
|
771 | """ | |
801 | Returns rendered html of file tree that contains commit date, |
|
772 | Returns rendered html of file tree that contains commit date, | |
@@ -835,9 +806,6 b' class RepoFilesView(RepoAppView):' | |||||
835 | @LoginRequired() |
|
806 | @LoginRequired() | |
836 | @HasRepoPermissionAnyDecorator( |
|
807 | @HasRepoPermissionAnyDecorator( | |
837 | 'repository.read', 'repository.write', 'repository.admin') |
|
808 | 'repository.read', 'repository.write', 'repository.admin') | |
838 | @view_config( |
|
|||
839 | route_name='repo_file_raw', request_method='GET', |
|
|||
840 | renderer=None) |
|
|||
841 | def repo_file_raw(self): |
|
809 | def repo_file_raw(self): | |
842 | """ |
|
810 | """ | |
843 | Action for show as raw, some mimetypes are "rendered", |
|
811 | Action for show as raw, some mimetypes are "rendered", | |
@@ -902,12 +870,6 b' class RepoFilesView(RepoAppView):' | |||||
902 | @LoginRequired() |
|
870 | @LoginRequired() | |
903 | @HasRepoPermissionAnyDecorator( |
|
871 | @HasRepoPermissionAnyDecorator( | |
904 | 'repository.read', 'repository.write', 'repository.admin') |
|
872 | 'repository.read', 'repository.write', 'repository.admin') | |
905 | @view_config( |
|
|||
906 | route_name='repo_file_download', request_method='GET', |
|
|||
907 | renderer=None) |
|
|||
908 | @view_config( |
|
|||
909 | route_name='repo_file_download:legacy', request_method='GET', |
|
|||
910 | renderer=None) |
|
|||
911 | def repo_file_download(self): |
|
873 | def repo_file_download(self): | |
912 | c = self.load_default_context() |
|
874 | c = self.load_default_context() | |
913 |
|
875 | |||
@@ -972,9 +934,6 b' class RepoFilesView(RepoAppView):' | |||||
972 | @LoginRequired() |
|
934 | @LoginRequired() | |
973 | @HasRepoPermissionAnyDecorator( |
|
935 | @HasRepoPermissionAnyDecorator( | |
974 | 'repository.read', 'repository.write', 'repository.admin') |
|
936 | 'repository.read', 'repository.write', 'repository.admin') | |
975 | @view_config( |
|
|||
976 | route_name='repo_files_nodelist', request_method='GET', |
|
|||
977 | renderer='json_ext', xhr=True) |
|
|||
978 | def repo_nodelist(self): |
|
937 | def repo_nodelist(self): | |
979 | self.load_default_context() |
|
938 | self.load_default_context() | |
980 |
|
939 | |||
@@ -1059,9 +1018,6 b' class RepoFilesView(RepoAppView):' | |||||
1059 | @LoginRequired() |
|
1018 | @LoginRequired() | |
1060 | @HasRepoPermissionAnyDecorator( |
|
1019 | @HasRepoPermissionAnyDecorator( | |
1061 | 'repository.read', 'repository.write', 'repository.admin') |
|
1020 | 'repository.read', 'repository.write', 'repository.admin') | |
1062 | @view_config( |
|
|||
1063 | route_name='repo_file_history', request_method='GET', |
|
|||
1064 | renderer='json_ext') |
|
|||
1065 | def repo_file_history(self): |
|
1021 | def repo_file_history(self): | |
1066 | self.load_default_context() |
|
1022 | self.load_default_context() | |
1067 |
|
1023 | |||
@@ -1105,9 +1061,6 b' class RepoFilesView(RepoAppView):' | |||||
1105 | @LoginRequired() |
|
1061 | @LoginRequired() | |
1106 | @HasRepoPermissionAnyDecorator( |
|
1062 | @HasRepoPermissionAnyDecorator( | |
1107 | 'repository.read', 'repository.write', 'repository.admin') |
|
1063 | 'repository.read', 'repository.write', 'repository.admin') | |
1108 | @view_config( |
|
|||
1109 | route_name='repo_file_authors', request_method='GET', |
|
|||
1110 | renderer='rhodecode:templates/files/file_authors_box.mako') |
|
|||
1111 | def repo_file_authors(self): |
|
1064 | def repo_file_authors(self): | |
1112 | c = self.load_default_context() |
|
1065 | c = self.load_default_context() | |
1113 |
|
1066 | |||
@@ -1149,9 +1102,6 b' class RepoFilesView(RepoAppView):' | |||||
1149 |
|
1102 | |||
1150 | @LoginRequired() |
|
1103 | @LoginRequired() | |
1151 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1104 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') | |
1152 | @view_config( |
|
|||
1153 | route_name='repo_files_check_head', request_method='POST', |
|
|||
1154 | renderer='json_ext', xhr=True) |
|
|||
1155 | def repo_files_check_head(self): |
|
1105 | def repo_files_check_head(self): | |
1156 | self.load_default_context() |
|
1106 | self.load_default_context() | |
1157 |
|
1107 | |||
@@ -1186,9 +1136,6 b' class RepoFilesView(RepoAppView):' | |||||
1186 |
|
1136 | |||
1187 | @LoginRequired() |
|
1137 | @LoginRequired() | |
1188 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1138 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') | |
1189 | @view_config( |
|
|||
1190 | route_name='repo_files_remove_file', request_method='GET', |
|
|||
1191 | renderer='rhodecode:templates/files/files_delete.mako') |
|
|||
1192 | def repo_files_remove_file(self): |
|
1139 | def repo_files_remove_file(self): | |
1193 | _ = self.request.translate |
|
1140 | _ = self.request.translate | |
1194 | c = self.load_default_context() |
|
1141 | c = self.load_default_context() | |
@@ -1214,9 +1161,6 b' class RepoFilesView(RepoAppView):' | |||||
1214 | @LoginRequired() |
|
1161 | @LoginRequired() | |
1215 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1162 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') | |
1216 | @CSRFRequired() |
|
1163 | @CSRFRequired() | |
1217 | @view_config( |
|
|||
1218 | route_name='repo_files_delete_file', request_method='POST', |
|
|||
1219 | renderer=None) |
|
|||
1220 | def repo_files_delete_file(self): |
|
1164 | def repo_files_delete_file(self): | |
1221 | _ = self.request.translate |
|
1165 | _ = self.request.translate | |
1222 |
|
1166 | |||
@@ -1266,9 +1210,6 b' class RepoFilesView(RepoAppView):' | |||||
1266 |
|
1210 | |||
1267 | @LoginRequired() |
|
1211 | @LoginRequired() | |
1268 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1212 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') | |
1269 | @view_config( |
|
|||
1270 | route_name='repo_files_edit_file', request_method='GET', |
|
|||
1271 | renderer='rhodecode:templates/files/files_edit.mako') |
|
|||
1272 | def repo_files_edit_file(self): |
|
1213 | def repo_files_edit_file(self): | |
1273 | _ = self.request.translate |
|
1214 | _ = self.request.translate | |
1274 | c = self.load_default_context() |
|
1215 | c = self.load_default_context() | |
@@ -1300,9 +1241,6 b' class RepoFilesView(RepoAppView):' | |||||
1300 | @LoginRequired() |
|
1241 | @LoginRequired() | |
1301 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1242 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') | |
1302 | @CSRFRequired() |
|
1243 | @CSRFRequired() | |
1303 | @view_config( |
|
|||
1304 | route_name='repo_files_update_file', request_method='POST', |
|
|||
1305 | renderer=None) |
|
|||
1306 | def repo_files_update_file(self): |
|
1244 | def repo_files_update_file(self): | |
1307 | _ = self.request.translate |
|
1245 | _ = self.request.translate | |
1308 | c = self.load_default_context() |
|
1246 | c = self.load_default_context() | |
@@ -1384,12 +1322,6 b' class RepoFilesView(RepoAppView):' | |||||
1384 |
|
1322 | |||
1385 | @LoginRequired() |
|
1323 | @LoginRequired() | |
1386 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1324 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') | |
1387 | @view_config( |
|
|||
1388 | route_name='repo_files_add_file', request_method='GET', |
|
|||
1389 | renderer='rhodecode:templates/files/files_add.mako') |
|
|||
1390 | @view_config( |
|
|||
1391 | route_name='repo_files_upload_file', request_method='GET', |
|
|||
1392 | renderer='rhodecode:templates/files/files_upload.mako') |
|
|||
1393 | def repo_files_add_file(self): |
|
1325 | def repo_files_add_file(self): | |
1394 | _ = self.request.translate |
|
1326 | _ = self.request.translate | |
1395 | c = self.load_default_context() |
|
1327 | c = self.load_default_context() | |
@@ -1421,9 +1353,6 b' class RepoFilesView(RepoAppView):' | |||||
1421 | @LoginRequired() |
|
1353 | @LoginRequired() | |
1422 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1354 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') | |
1423 | @CSRFRequired() |
|
1355 | @CSRFRequired() | |
1424 | @view_config( |
|
|||
1425 | route_name='repo_files_create_file', request_method='POST', |
|
|||
1426 | renderer=None) |
|
|||
1427 | def repo_files_create_file(self): |
|
1356 | def repo_files_create_file(self): | |
1428 | _ = self.request.translate |
|
1357 | _ = self.request.translate | |
1429 | c = self.load_default_context() |
|
1358 | c = self.load_default_context() | |
@@ -1518,9 +1447,6 b' class RepoFilesView(RepoAppView):' | |||||
1518 | @LoginRequired() |
|
1447 | @LoginRequired() | |
1519 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1448 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') | |
1520 | @CSRFRequired() |
|
1449 | @CSRFRequired() | |
1521 | @view_config( |
|
|||
1522 | route_name='repo_files_upload_file', request_method='POST', |
|
|||
1523 | renderer='json_ext') |
|
|||
1524 | def repo_files_upload_file(self): |
|
1450 | def repo_files_upload_file(self): | |
1525 | _ = self.request.translate |
|
1451 | _ = self.request.translate | |
1526 | c = self.load_default_context() |
|
1452 | c = self.load_default_context() |
@@ -24,7 +24,7 b' import formencode' | |||||
24 | import formencode.htmlfill |
|
24 | import formencode.htmlfill | |
25 |
|
25 | |||
26 | from pyramid.httpexceptions import HTTPFound |
|
26 | from pyramid.httpexceptions import HTTPFound | |
27 | from pyramid.view import view_config |
|
27 | ||
28 | from pyramid.renderers import render |
|
28 | from pyramid.renderers import render | |
29 | from pyramid.response import Response |
|
29 | from pyramid.response import Response | |
30 |
|
30 | |||
@@ -64,9 +64,6 b' class RepoForksView(RepoAppView, DataGri' | |||||
64 | @LoginRequired() |
|
64 | @LoginRequired() | |
65 | @HasRepoPermissionAnyDecorator( |
|
65 | @HasRepoPermissionAnyDecorator( | |
66 | 'repository.read', 'repository.write', 'repository.admin') |
|
66 | 'repository.read', 'repository.write', 'repository.admin') | |
67 | @view_config( |
|
|||
68 | route_name='repo_forks_show_all', request_method='GET', |
|
|||
69 | renderer='rhodecode:templates/forks/forks.mako') |
|
|||
70 | def repo_forks_show_all(self): |
|
67 | def repo_forks_show_all(self): | |
71 | c = self.load_default_context() |
|
68 | c = self.load_default_context() | |
72 | return self._get_template_context(c) |
|
69 | return self._get_template_context(c) | |
@@ -74,9 +71,6 b' class RepoForksView(RepoAppView, DataGri' | |||||
74 | @LoginRequired() |
|
71 | @LoginRequired() | |
75 | @HasRepoPermissionAnyDecorator( |
|
72 | @HasRepoPermissionAnyDecorator( | |
76 | 'repository.read', 'repository.write', 'repository.admin') |
|
73 | 'repository.read', 'repository.write', 'repository.admin') | |
77 | @view_config( |
|
|||
78 | route_name='repo_forks_data', request_method='GET', |
|
|||
79 | renderer='json_ext', xhr=True) |
|
|||
80 | def repo_forks_data(self): |
|
74 | def repo_forks_data(self): | |
81 | _ = self.request.translate |
|
75 | _ = self.request.translate | |
82 | self.load_default_context() |
|
76 | self.load_default_context() | |
@@ -174,9 +168,6 b' class RepoForksView(RepoAppView, DataGri' | |||||
174 | @HasPermissionAnyDecorator('hg.admin', 'hg.fork.repository') |
|
168 | @HasPermissionAnyDecorator('hg.admin', 'hg.fork.repository') | |
175 | @HasRepoPermissionAnyDecorator( |
|
169 | @HasRepoPermissionAnyDecorator( | |
176 | 'repository.read', 'repository.write', 'repository.admin') |
|
170 | 'repository.read', 'repository.write', 'repository.admin') | |
177 | @view_config( |
|
|||
178 | route_name='repo_fork_new', request_method='GET', |
|
|||
179 | renderer='rhodecode:templates/forks/forks.mako') |
|
|||
180 | def repo_fork_new(self): |
|
171 | def repo_fork_new(self): | |
181 | c = self.load_default_context() |
|
172 | c = self.load_default_context() | |
182 |
|
173 | |||
@@ -204,9 +195,6 b' class RepoForksView(RepoAppView, DataGri' | |||||
204 | @HasRepoPermissionAnyDecorator( |
|
195 | @HasRepoPermissionAnyDecorator( | |
205 | 'repository.read', 'repository.write', 'repository.admin') |
|
196 | 'repository.read', 'repository.write', 'repository.admin') | |
206 | @CSRFRequired() |
|
197 | @CSRFRequired() | |
207 | @view_config( |
|
|||
208 | route_name='repo_fork_create', request_method='POST', |
|
|||
209 | renderer='rhodecode:templates/forks/fork.mako') |
|
|||
210 | def repo_fork_create(self): |
|
198 | def repo_fork_create(self): | |
211 | _ = self.request.translate |
|
199 | _ = self.request.translate | |
212 | c = self.load_default_context() |
|
200 | c = self.load_default_context() |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
23 | ||
24 |
|
24 | |||
25 | from rhodecode.apps._base import RepoAppView |
|
25 | from rhodecode.apps._base import RepoAppView | |
26 | from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator |
|
26 | from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator | |
@@ -36,9 +36,6 b' class RepoMaintenanceView(RepoAppView):' | |||||
36 |
|
36 | |||
37 | @LoginRequired() |
|
37 | @LoginRequired() | |
38 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
38 | @HasRepoPermissionAnyDecorator('repository.admin') | |
39 | @view_config( |
|
|||
40 | route_name='edit_repo_maintenance', request_method='GET', |
|
|||
41 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
42 | def repo_maintenance(self): |
|
39 | def repo_maintenance(self): | |
43 | c = self.load_default_context() |
|
40 | c = self.load_default_context() | |
44 | c.active = 'maintenance' |
|
41 | c.active = 'maintenance' | |
@@ -48,9 +45,6 b' class RepoMaintenanceView(RepoAppView):' | |||||
48 |
|
45 | |||
49 | @LoginRequired() |
|
46 | @LoginRequired() | |
50 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
47 | @HasRepoPermissionAnyDecorator('repository.admin') | |
51 | @view_config( |
|
|||
52 | route_name='edit_repo_maintenance_execute', request_method='GET', |
|
|||
53 | renderer='json', xhr=True) |
|
|||
54 | def repo_maintenance_execute(self): |
|
48 | def repo_maintenance_execute(self): | |
55 | c = self.load_default_context() |
|
49 | c = self.load_default_context() | |
56 | c.active = 'maintenance' |
|
50 | c.active = 'maintenance' |
@@ -21,7 +21,6 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.httpexceptions import HTTPFound |
|
23 | from pyramid.httpexceptions import HTTPFound | |
24 | from pyramid.view import view_config |
|
|||
25 |
|
24 | |||
26 | from rhodecode.apps._base import RepoAppView |
|
25 | from rhodecode.apps._base import RepoAppView | |
27 | from rhodecode.lib import helpers as h |
|
26 | from rhodecode.lib import helpers as h | |
@@ -46,9 +45,6 b' class RepoSettingsPermissionsView(RepoAp' | |||||
46 |
|
45 | |||
47 | @LoginRequired() |
|
46 | @LoginRequired() | |
48 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
47 | @HasRepoPermissionAnyDecorator('repository.admin') | |
49 | @view_config( |
|
|||
50 | route_name='edit_repo_perms', request_method='GET', |
|
|||
51 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
52 | def edit_permissions(self): |
|
48 | def edit_permissions(self): | |
53 | _ = self.request.translate |
|
49 | _ = self.request.translate | |
54 | c = self.load_default_context() |
|
50 | c = self.load_default_context() | |
@@ -62,9 +58,6 b' class RepoSettingsPermissionsView(RepoAp' | |||||
62 | @LoginRequired() |
|
58 | @LoginRequired() | |
63 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
59 | @HasRepoPermissionAnyDecorator('repository.admin') | |
64 | @CSRFRequired() |
|
60 | @CSRFRequired() | |
65 | @view_config( |
|
|||
66 | route_name='edit_repo_perms', request_method='POST', |
|
|||
67 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
68 | def edit_permissions_update(self): |
|
61 | def edit_permissions_update(self): | |
69 | _ = self.request.translate |
|
62 | _ = self.request.translate | |
70 | c = self.load_default_context() |
|
63 | c = self.load_default_context() | |
@@ -104,9 +97,6 b' class RepoSettingsPermissionsView(RepoAp' | |||||
104 | @LoginRequired() |
|
97 | @LoginRequired() | |
105 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
98 | @HasRepoPermissionAnyDecorator('repository.admin') | |
106 | @CSRFRequired() |
|
99 | @CSRFRequired() | |
107 | @view_config( |
|
|||
108 | route_name='edit_repo_perms_set_private', request_method='POST', |
|
|||
109 | renderer='json_ext') |
|
|||
110 | def edit_permissions_set_private_repo(self): |
|
100 | def edit_permissions_set_private_repo(self): | |
111 | _ = self.request.translate |
|
101 | _ = self.request.translate | |
112 | self.load_default_context() |
|
102 | self.load_default_context() |
@@ -26,7 +26,7 b' import formencode.htmlfill' | |||||
26 | import peppercorn |
|
26 | import peppercorn | |
27 | from pyramid.httpexceptions import ( |
|
27 | from pyramid.httpexceptions import ( | |
28 | HTTPFound, HTTPNotFound, HTTPForbidden, HTTPBadRequest, HTTPConflict) |
|
28 | HTTPFound, HTTPNotFound, HTTPForbidden, HTTPBadRequest, HTTPConflict) | |
29 | from pyramid.view import view_config |
|
29 | ||
30 | from pyramid.renderers import render |
|
30 | from pyramid.renderers import render | |
31 |
|
31 | |||
32 | from rhodecode.apps._base import RepoAppView, DataGridAppView |
|
32 | from rhodecode.apps._base import RepoAppView, DataGridAppView | |
@@ -147,9 +147,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
147 | @LoginRequired() |
|
147 | @LoginRequired() | |
148 | @HasRepoPermissionAnyDecorator( |
|
148 | @HasRepoPermissionAnyDecorator( | |
149 | 'repository.read', 'repository.write', 'repository.admin') |
|
149 | 'repository.read', 'repository.write', 'repository.admin') | |
150 | @view_config( |
|
|||
151 | route_name='pullrequest_show_all', request_method='GET', |
|
|||
152 | renderer='rhodecode:templates/pullrequests/pullrequests.mako') |
|
|||
153 | def pull_request_list(self): |
|
150 | def pull_request_list(self): | |
154 | c = self.load_default_context() |
|
151 | c = self.load_default_context() | |
155 |
|
152 | |||
@@ -177,9 +174,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
177 | @LoginRequired() |
|
174 | @LoginRequired() | |
178 | @HasRepoPermissionAnyDecorator( |
|
175 | @HasRepoPermissionAnyDecorator( | |
179 | 'repository.read', 'repository.write', 'repository.admin') |
|
176 | 'repository.read', 'repository.write', 'repository.admin') | |
180 | @view_config( |
|
|||
181 | route_name='pullrequest_show_all_data', request_method='GET', |
|
|||
182 | renderer='json_ext', xhr=True) |
|
|||
183 | def pull_request_list_data(self): |
|
177 | def pull_request_list_data(self): | |
184 | self.load_default_context() |
|
178 | self.load_default_context() | |
185 |
|
179 | |||
@@ -221,9 +215,13 b' class RepoPullRequestsView(RepoAppView, ' | |||||
221 | target_commit, source_commit, diff_limit, file_limit, |
|
215 | target_commit, source_commit, diff_limit, file_limit, | |
222 | fulldiff, hide_whitespace_changes, diff_context, use_ancestor=True): |
|
216 | fulldiff, hide_whitespace_changes, diff_context, use_ancestor=True): | |
223 |
|
217 | |||
|
218 | target_commit_final = target_commit | |||
|
219 | source_commit_final = source_commit | |||
|
220 | ||||
224 | if use_ancestor: |
|
221 | if use_ancestor: | |
225 | # we might want to not use it for versions |
|
222 | # we might want to not use it for versions | |
226 | target_ref_id = ancestor_commit.raw_id |
|
223 | target_ref_id = ancestor_commit.raw_id | |
|
224 | target_commit_final = ancestor_commit | |||
227 |
|
225 | |||
228 | vcs_diff = PullRequestModel().get_diff( |
|
226 | vcs_diff = PullRequestModel().get_diff( | |
229 | source_repo, source_ref_id, target_ref_id, |
|
227 | source_repo, source_ref_id, target_ref_id, | |
@@ -238,11 +236,11 b' class RepoPullRequestsView(RepoAppView, ' | |||||
238 | diffset = codeblocks.DiffSet( |
|
236 | diffset = codeblocks.DiffSet( | |
239 | repo_name=self.db_repo_name, |
|
237 | repo_name=self.db_repo_name, | |
240 | source_repo_name=source_repo_name, |
|
238 | source_repo_name=source_repo_name, | |
241 | source_node_getter=codeblocks.diffset_node_getter(target_commit), |
|
239 | source_node_getter=codeblocks.diffset_node_getter(target_commit_final), | |
242 | target_node_getter=codeblocks.diffset_node_getter(source_commit), |
|
240 | target_node_getter=codeblocks.diffset_node_getter(source_commit_final), | |
243 | ) |
|
241 | ) | |
244 | diffset = self.path_filter.render_patchset_filtered( |
|
242 | diffset = self.path_filter.render_patchset_filtered( | |
245 |
diffset, _parsed, target_ |
|
243 | diffset, _parsed, target_ref_id, source_ref_id) | |
246 |
|
244 | |||
247 | return diffset |
|
245 | return diffset | |
248 |
|
246 | |||
@@ -307,9 +305,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
307 | @LoginRequired() |
|
305 | @LoginRequired() | |
308 | @HasRepoPermissionAnyDecorator( |
|
306 | @HasRepoPermissionAnyDecorator( | |
309 | 'repository.read', 'repository.write', 'repository.admin') |
|
307 | 'repository.read', 'repository.write', 'repository.admin') | |
310 | @view_config( |
|
|||
311 | route_name='pullrequest_show', request_method='GET', |
|
|||
312 | renderer='rhodecode:templates/pullrequests/pullrequest_show.mako') |
|
|||
313 | def pull_request_show(self): |
|
308 | def pull_request_show(self): | |
314 | _ = self.request.translate |
|
309 | _ = self.request.translate | |
315 | c = self.load_default_context() |
|
310 | c = self.load_default_context() | |
@@ -838,9 +833,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
838 | @NotAnonymous() |
|
833 | @NotAnonymous() | |
839 | @HasRepoPermissionAnyDecorator( |
|
834 | @HasRepoPermissionAnyDecorator( | |
840 | 'repository.read', 'repository.write', 'repository.admin') |
|
835 | 'repository.read', 'repository.write', 'repository.admin') | |
841 | @view_config( |
|
|||
842 | route_name='pullrequest_new', request_method='GET', |
|
|||
843 | renderer='rhodecode:templates/pullrequests/pullrequest.mako') |
|
|||
844 | def pull_request_new(self): |
|
836 | def pull_request_new(self): | |
845 | _ = self.request.translate |
|
837 | _ = self.request.translate | |
846 | c = self.load_default_context() |
|
838 | c = self.load_default_context() | |
@@ -898,9 +890,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
898 | @NotAnonymous() |
|
890 | @NotAnonymous() | |
899 | @HasRepoPermissionAnyDecorator( |
|
891 | @HasRepoPermissionAnyDecorator( | |
900 | 'repository.read', 'repository.write', 'repository.admin') |
|
892 | 'repository.read', 'repository.write', 'repository.admin') | |
901 | @view_config( |
|
|||
902 | route_name='pullrequest_repo_refs', request_method='GET', |
|
|||
903 | renderer='json_ext', xhr=True) |
|
|||
904 | def pull_request_repo_refs(self): |
|
893 | def pull_request_repo_refs(self): | |
905 | self.load_default_context() |
|
894 | self.load_default_context() | |
906 | target_repo_name = self.request.matchdict['target_repo_name'] |
|
895 | target_repo_name = self.request.matchdict['target_repo_name'] | |
@@ -921,9 +910,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
921 | @NotAnonymous() |
|
910 | @NotAnonymous() | |
922 | @HasRepoPermissionAnyDecorator( |
|
911 | @HasRepoPermissionAnyDecorator( | |
923 | 'repository.read', 'repository.write', 'repository.admin') |
|
912 | 'repository.read', 'repository.write', 'repository.admin') | |
924 | @view_config( |
|
|||
925 | route_name='pullrequest_repo_targets', request_method='GET', |
|
|||
926 | renderer='json_ext', xhr=True) |
|
|||
927 | def pullrequest_repo_targets(self): |
|
913 | def pullrequest_repo_targets(self): | |
928 | _ = self.request.translate |
|
914 | _ = self.request.translate | |
929 | filter_query = self.request.GET.get('query') |
|
915 | filter_query = self.request.GET.get('query') | |
@@ -994,9 +980,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
994 | @NotAnonymous() |
|
980 | @NotAnonymous() | |
995 | @HasRepoPermissionAnyDecorator( |
|
981 | @HasRepoPermissionAnyDecorator( | |
996 | 'repository.read', 'repository.write', 'repository.admin') |
|
982 | 'repository.read', 'repository.write', 'repository.admin') | |
997 | @view_config( |
|
|||
998 | route_name='pullrequest_comments', request_method='POST', |
|
|||
999 | renderer='string_html', xhr=True) |
|
|||
1000 | def pullrequest_comments(self): |
|
983 | def pullrequest_comments(self): | |
1001 | self.load_default_context() |
|
984 | self.load_default_context() | |
1002 |
|
985 | |||
@@ -1034,9 +1017,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
1034 | @NotAnonymous() |
|
1017 | @NotAnonymous() | |
1035 | @HasRepoPermissionAnyDecorator( |
|
1018 | @HasRepoPermissionAnyDecorator( | |
1036 | 'repository.read', 'repository.write', 'repository.admin') |
|
1019 | 'repository.read', 'repository.write', 'repository.admin') | |
1037 | @view_config( |
|
|||
1038 | route_name='pullrequest_todos', request_method='POST', |
|
|||
1039 | renderer='string_html', xhr=True) |
|
|||
1040 | def pullrequest_todos(self): |
|
1020 | def pullrequest_todos(self): | |
1041 | self.load_default_context() |
|
1021 | self.load_default_context() | |
1042 |
|
1022 | |||
@@ -1076,9 +1056,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
1076 | @NotAnonymous() |
|
1056 | @NotAnonymous() | |
1077 | @HasRepoPermissionAnyDecorator( |
|
1057 | @HasRepoPermissionAnyDecorator( | |
1078 | 'repository.read', 'repository.write', 'repository.admin') |
|
1058 | 'repository.read', 'repository.write', 'repository.admin') | |
1079 | @view_config( |
|
|||
1080 | route_name='pullrequest_drafts', request_method='POST', |
|
|||
1081 | renderer='string_html', xhr=True) |
|
|||
1082 | def pullrequest_drafts(self): |
|
1059 | def pullrequest_drafts(self): | |
1083 | self.load_default_context() |
|
1060 | self.load_default_context() | |
1084 |
|
1061 | |||
@@ -1119,9 +1096,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
1119 | @HasRepoPermissionAnyDecorator( |
|
1096 | @HasRepoPermissionAnyDecorator( | |
1120 | 'repository.read', 'repository.write', 'repository.admin') |
|
1097 | 'repository.read', 'repository.write', 'repository.admin') | |
1121 | @CSRFRequired() |
|
1098 | @CSRFRequired() | |
1122 | @view_config( |
|
|||
1123 | route_name='pullrequest_create', request_method='POST', |
|
|||
1124 | renderer=None) |
|
|||
1125 | def pull_request_create(self): |
|
1099 | def pull_request_create(self): | |
1126 | _ = self.request.translate |
|
1100 | _ = self.request.translate | |
1127 | self.assure_not_empty_repo() |
|
1101 | self.assure_not_empty_repo() | |
@@ -1277,9 +1251,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
1277 | @HasRepoPermissionAnyDecorator( |
|
1251 | @HasRepoPermissionAnyDecorator( | |
1278 | 'repository.read', 'repository.write', 'repository.admin') |
|
1252 | 'repository.read', 'repository.write', 'repository.admin') | |
1279 | @CSRFRequired() |
|
1253 | @CSRFRequired() | |
1280 | @view_config( |
|
|||
1281 | route_name='pullrequest_update', request_method='POST', |
|
|||
1282 | renderer='json_ext') |
|
|||
1283 | def pull_request_update(self): |
|
1254 | def pull_request_update(self): | |
1284 | pull_request = PullRequest.get_or_404( |
|
1255 | pull_request = PullRequest.get_or_404( | |
1285 | self.request.matchdict['pull_request_id']) |
|
1256 | self.request.matchdict['pull_request_id']) | |
@@ -1461,9 +1432,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
1461 | @HasRepoPermissionAnyDecorator( |
|
1432 | @HasRepoPermissionAnyDecorator( | |
1462 | 'repository.read', 'repository.write', 'repository.admin') |
|
1433 | 'repository.read', 'repository.write', 'repository.admin') | |
1463 | @CSRFRequired() |
|
1434 | @CSRFRequired() | |
1464 | @view_config( |
|
|||
1465 | route_name='pullrequest_merge', request_method='POST', |
|
|||
1466 | renderer='json_ext') |
|
|||
1467 | def pull_request_merge(self): |
|
1435 | def pull_request_merge(self): | |
1468 | """ |
|
1436 | """ | |
1469 | Merge will perform a server-side merge of the specified |
|
1437 | Merge will perform a server-side merge of the specified | |
@@ -1537,9 +1505,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
1537 | @HasRepoPermissionAnyDecorator( |
|
1505 | @HasRepoPermissionAnyDecorator( | |
1538 | 'repository.read', 'repository.write', 'repository.admin') |
|
1506 | 'repository.read', 'repository.write', 'repository.admin') | |
1539 | @CSRFRequired() |
|
1507 | @CSRFRequired() | |
1540 | @view_config( |
|
|||
1541 | route_name='pullrequest_delete', request_method='POST', |
|
|||
1542 | renderer='json_ext') |
|
|||
1543 | def pull_request_delete(self): |
|
1508 | def pull_request_delete(self): | |
1544 | _ = self.request.translate |
|
1509 | _ = self.request.translate | |
1545 |
|
1510 | |||
@@ -1715,9 +1680,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
1715 | @HasRepoPermissionAnyDecorator( |
|
1680 | @HasRepoPermissionAnyDecorator( | |
1716 | 'repository.read', 'repository.write', 'repository.admin') |
|
1681 | 'repository.read', 'repository.write', 'repository.admin') | |
1717 | @CSRFRequired() |
|
1682 | @CSRFRequired() | |
1718 | @view_config( |
|
|||
1719 | route_name='pullrequest_comment_create', request_method='POST', |
|
|||
1720 | renderer='json_ext') |
|
|||
1721 | def pull_request_comment_create(self): |
|
1683 | def pull_request_comment_create(self): | |
1722 | _ = self.request.translate |
|
1684 | _ = self.request.translate | |
1723 |
|
1685 | |||
@@ -1752,9 +1714,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
1752 | @HasRepoPermissionAnyDecorator( |
|
1714 | @HasRepoPermissionAnyDecorator( | |
1753 | 'repository.read', 'repository.write', 'repository.admin') |
|
1715 | 'repository.read', 'repository.write', 'repository.admin') | |
1754 | @CSRFRequired() |
|
1716 | @CSRFRequired() | |
1755 | @view_config( |
|
|||
1756 | route_name='pullrequest_comment_delete', request_method='POST', |
|
|||
1757 | renderer='json_ext') |
|
|||
1758 | def pull_request_comment_delete(self): |
|
1717 | def pull_request_comment_delete(self): | |
1759 | pull_request = PullRequest.get_or_404( |
|
1718 | pull_request = PullRequest.get_or_404( | |
1760 | self.request.matchdict['pull_request_id']) |
|
1719 | self.request.matchdict['pull_request_id']) | |
@@ -1806,9 +1765,6 b' class RepoPullRequestsView(RepoAppView, ' | |||||
1806 | @HasRepoPermissionAnyDecorator( |
|
1765 | @HasRepoPermissionAnyDecorator( | |
1807 | 'repository.read', 'repository.write', 'repository.admin') |
|
1766 | 'repository.read', 'repository.write', 'repository.admin') | |
1808 | @CSRFRequired() |
|
1767 | @CSRFRequired() | |
1809 | @view_config( |
|
|||
1810 | route_name='pullrequest_comment_edit', request_method='POST', |
|
|||
1811 | renderer='json_ext') |
|
|||
1812 | def pull_request_comment_edit(self): |
|
1768 | def pull_request_comment_edit(self): | |
1813 | self.load_default_context() |
|
1769 | self.load_default_context() | |
1814 |
|
1770 |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
23 | ||
24 |
|
24 | |||
25 | from rhodecode.apps._base import RepoAppView |
|
25 | from rhodecode.apps._base import RepoAppView | |
26 | from rhodecode.apps.repository.utils import get_default_reviewers_data |
|
26 | from rhodecode.apps.repository.utils import get_default_reviewers_data | |
@@ -38,9 +38,6 b' class RepoReviewRulesView(RepoAppView):' | |||||
38 |
|
38 | |||
39 | @LoginRequired() |
|
39 | @LoginRequired() | |
40 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
40 | @HasRepoPermissionAnyDecorator('repository.admin') | |
41 | @view_config( |
|
|||
42 | route_name='repo_reviewers', request_method='GET', |
|
|||
43 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
44 | def repo_review_rules(self): |
|
41 | def repo_review_rules(self): | |
45 | c = self.load_default_context() |
|
42 | c = self.load_default_context() | |
46 | c.active = 'reviewers' |
|
43 | c.active = 'reviewers' | |
@@ -50,9 +47,6 b' class RepoReviewRulesView(RepoAppView):' | |||||
50 | @LoginRequired() |
|
47 | @LoginRequired() | |
51 | @HasRepoPermissionAnyDecorator( |
|
48 | @HasRepoPermissionAnyDecorator( | |
52 | 'repository.read', 'repository.write', 'repository.admin') |
|
49 | 'repository.read', 'repository.write', 'repository.admin') | |
53 | @view_config( |
|
|||
54 | route_name='repo_default_reviewers_data', request_method='GET', |
|
|||
55 | renderer='json_ext') |
|
|||
56 | def repo_default_reviewers_data(self): |
|
50 | def repo_default_reviewers_data(self): | |
57 | self.load_default_context() |
|
51 | self.load_default_context() | |
58 |
|
52 |
@@ -22,7 +22,6 b' import logging' | |||||
22 |
|
22 | |||
23 | import deform |
|
23 | import deform | |
24 | from pyramid.httpexceptions import HTTPFound |
|
24 | from pyramid.httpexceptions import HTTPFound | |
25 | from pyramid.view import view_config |
|
|||
26 |
|
25 | |||
27 | from rhodecode import events |
|
26 | from rhodecode import events | |
28 | from rhodecode.apps._base import RepoAppView |
|
27 | from rhodecode.apps._base import RepoAppView | |
@@ -90,9 +89,6 b' class RepoSettingsView(RepoAppView):' | |||||
90 |
|
89 | |||
91 | @LoginRequired() |
|
90 | @LoginRequired() | |
92 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
91 | @HasRepoPermissionAnyDecorator('repository.admin') | |
93 | @view_config( |
|
|||
94 | route_name='edit_repo', request_method='GET', |
|
|||
95 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
96 | def edit_settings(self): |
|
92 | def edit_settings(self): | |
97 | c = self.load_default_context() |
|
93 | c = self.load_default_context() | |
98 | c.active = 'settings' |
|
94 | c.active = 'settings' | |
@@ -108,9 +104,6 b' class RepoSettingsView(RepoAppView):' | |||||
108 | @LoginRequired() |
|
104 | @LoginRequired() | |
109 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
105 | @HasRepoPermissionAnyDecorator('repository.admin') | |
110 | @CSRFRequired() |
|
106 | @CSRFRequired() | |
111 | @view_config( |
|
|||
112 | route_name='edit_repo', request_method='POST', |
|
|||
113 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
114 | def edit_settings_update(self): |
|
107 | def edit_settings_update(self): | |
115 | _ = self.request.translate |
|
108 | _ = self.request.translate | |
116 | c = self.load_default_context() |
|
109 | c = self.load_default_context() | |
@@ -192,9 +185,6 b' class RepoSettingsView(RepoAppView):' | |||||
192 |
|
185 | |||
193 | @LoginRequired() |
|
186 | @LoginRequired() | |
194 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
187 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') | |
195 | @view_config( |
|
|||
196 | route_name='repo_edit_toggle_locking', request_method='GET', |
|
|||
197 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
198 | def toggle_locking(self): |
|
188 | def toggle_locking(self): | |
199 | """ |
|
189 | """ | |
200 | Toggle locking of repository by simple GET call to url |
|
190 | Toggle locking of repository by simple GET call to url | |
@@ -224,9 +214,6 b' class RepoSettingsView(RepoAppView):' | |||||
224 |
|
214 | |||
225 | @LoginRequired() |
|
215 | @LoginRequired() | |
226 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
216 | @HasRepoPermissionAnyDecorator('repository.admin') | |
227 | @view_config( |
|
|||
228 | route_name='edit_repo_statistics', request_method='GET', |
|
|||
229 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
230 | def edit_statistics_form(self): |
|
217 | def edit_statistics_form(self): | |
231 | c = self.load_default_context() |
|
218 | c = self.load_default_context() | |
232 |
|
219 | |||
@@ -250,9 +237,6 b' class RepoSettingsView(RepoAppView):' | |||||
250 | @LoginRequired() |
|
237 | @LoginRequired() | |
251 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
238 | @HasRepoPermissionAnyDecorator('repository.admin') | |
252 | @CSRFRequired() |
|
239 | @CSRFRequired() | |
253 | @view_config( |
|
|||
254 | route_name='edit_repo_statistics_reset', request_method='POST', |
|
|||
255 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
256 | def repo_statistics_reset(self): |
|
240 | def repo_statistics_reset(self): | |
257 | _ = self.request.translate |
|
241 | _ = self.request.translate | |
258 |
|
242 |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.view import view_config |
|
23 | ||
24 | from pyramid.httpexceptions import HTTPFound |
|
24 | from pyramid.httpexceptions import HTTPFound | |
25 | from packaging.version import Version |
|
25 | from packaging.version import Version | |
26 |
|
26 | |||
@@ -42,7 +42,7 b' from rhodecode.model.scm import ScmModel' | |||||
42 | log = logging.getLogger(__name__) |
|
42 | log = logging.getLogger(__name__) | |
43 |
|
43 | |||
44 |
|
44 | |||
45 | class RepoSettingsView(RepoAppView): |
|
45 | class RepoSettingsAdvancedView(RepoAppView): | |
46 |
|
46 | |||
47 | def load_default_context(self): |
|
47 | def load_default_context(self): | |
48 | c = self._get_local_tmpl_context() |
|
48 | c = self._get_local_tmpl_context() | |
@@ -57,9 +57,6 b' class RepoSettingsView(RepoAppView):' | |||||
57 |
|
57 | |||
58 | @LoginRequired() |
|
58 | @LoginRequired() | |
59 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
59 | @HasRepoPermissionAnyDecorator('repository.admin') | |
60 | @view_config( |
|
|||
61 | route_name='edit_repo_advanced', request_method='GET', |
|
|||
62 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
63 | def edit_advanced(self): |
|
60 | def edit_advanced(self): | |
64 | _ = self.request.translate |
|
61 | _ = self.request.translate | |
65 | c = self.load_default_context() |
|
62 | c = self.load_default_context() | |
@@ -89,9 +86,6 b' class RepoSettingsView(RepoAppView):' | |||||
89 | @LoginRequired() |
|
86 | @LoginRequired() | |
90 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
87 | @HasRepoPermissionAnyDecorator('repository.admin') | |
91 | @CSRFRequired() |
|
88 | @CSRFRequired() | |
92 | @view_config( |
|
|||
93 | route_name='edit_repo_advanced_archive', request_method='POST', |
|
|||
94 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
95 | def edit_advanced_archive(self): |
|
89 | def edit_advanced_archive(self): | |
96 | """ |
|
90 | """ | |
97 | Archives the repository. It will become read-only, and not visible in search |
|
91 | Archives the repository. It will become read-only, and not visible in search | |
@@ -132,9 +126,6 b' class RepoSettingsView(RepoAppView):' | |||||
132 | @LoginRequired() |
|
126 | @LoginRequired() | |
133 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
127 | @HasRepoPermissionAnyDecorator('repository.admin') | |
134 | @CSRFRequired() |
|
128 | @CSRFRequired() | |
135 | @view_config( |
|
|||
136 | route_name='edit_repo_advanced_delete', request_method='POST', |
|
|||
137 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
138 | def edit_advanced_delete(self): |
|
129 | def edit_advanced_delete(self): | |
139 | """ |
|
130 | """ | |
140 | Deletes the repository, or shows warnings if deletion is not possible |
|
131 | Deletes the repository, or shows warnings if deletion is not possible | |
@@ -209,9 +200,6 b' class RepoSettingsView(RepoAppView):' | |||||
209 | @LoginRequired() |
|
200 | @LoginRequired() | |
210 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
201 | @HasRepoPermissionAnyDecorator('repository.admin') | |
211 | @CSRFRequired() |
|
202 | @CSRFRequired() | |
212 | @view_config( |
|
|||
213 | route_name='edit_repo_advanced_journal', request_method='POST', |
|
|||
214 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
215 | def edit_advanced_journal(self): |
|
203 | def edit_advanced_journal(self): | |
216 | """ |
|
204 | """ | |
217 | Set's this repository to be visible in public journal, |
|
205 | Set's this repository to be visible in public journal, | |
@@ -236,9 +224,6 b' class RepoSettingsView(RepoAppView):' | |||||
236 | @LoginRequired() |
|
224 | @LoginRequired() | |
237 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
225 | @HasRepoPermissionAnyDecorator('repository.admin') | |
238 | @CSRFRequired() |
|
226 | @CSRFRequired() | |
239 | @view_config( |
|
|||
240 | route_name='edit_repo_advanced_fork', request_method='POST', |
|
|||
241 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
242 | def edit_advanced_fork(self): |
|
227 | def edit_advanced_fork(self): | |
243 | """ |
|
228 | """ | |
244 | Mark given repository as a fork of another |
|
229 | Mark given repository as a fork of another | |
@@ -281,10 +266,7 b' class RepoSettingsView(RepoAppView):' | |||||
281 | @LoginRequired() |
|
266 | @LoginRequired() | |
282 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
267 | @HasRepoPermissionAnyDecorator('repository.admin') | |
283 | @CSRFRequired() |
|
268 | @CSRFRequired() | |
284 | @view_config( |
|
269 | def edit_advanced_toggle_locking(self): | |
285 | route_name='edit_repo_advanced_locking', request_method='POST', |
|
|||
286 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
287 | def edit_advanced_locking(self): |
|
|||
288 | """ |
|
270 | """ | |
289 | Toggle locking of repository |
|
271 | Toggle locking of repository | |
290 | """ |
|
272 | """ | |
@@ -309,9 +291,6 b' class RepoSettingsView(RepoAppView):' | |||||
309 |
|
291 | |||
310 | @LoginRequired() |
|
292 | @LoginRequired() | |
311 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
293 | @HasRepoPermissionAnyDecorator('repository.admin') | |
312 | @view_config( |
|
|||
313 | route_name='edit_repo_advanced_hooks', request_method='GET', |
|
|||
314 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
315 | def edit_advanced_install_hooks(self): |
|
294 | def edit_advanced_install_hooks(self): | |
316 | """ |
|
295 | """ | |
317 | Install Hooks for repository |
|
296 | Install Hooks for repository |
@@ -24,7 +24,6 b' import formencode' | |||||
24 | import formencode.htmlfill |
|
24 | import formencode.htmlfill | |
25 |
|
25 | |||
26 | from pyramid.httpexceptions import HTTPFound |
|
26 | from pyramid.httpexceptions import HTTPFound | |
27 | from pyramid.view import view_config |
|
|||
28 |
|
27 | |||
29 | from rhodecode.apps._base import RepoAppView |
|
28 | from rhodecode.apps._base import RepoAppView | |
30 | from rhodecode.lib import audit_logger |
|
29 | from rhodecode.lib import audit_logger | |
@@ -48,9 +47,6 b' class RepoSettingsFieldsView(RepoAppView' | |||||
48 |
|
47 | |||
49 | @LoginRequired() |
|
48 | @LoginRequired() | |
50 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
49 | @HasRepoPermissionAnyDecorator('repository.admin') | |
51 | @view_config( |
|
|||
52 | route_name='edit_repo_fields', request_method='GET', |
|
|||
53 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
54 | def repo_field_edit(self): |
|
50 | def repo_field_edit(self): | |
55 | c = self.load_default_context() |
|
51 | c = self.load_default_context() | |
56 |
|
52 | |||
@@ -63,9 +59,6 b' class RepoSettingsFieldsView(RepoAppView' | |||||
63 | @LoginRequired() |
|
59 | @LoginRequired() | |
64 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
60 | @HasRepoPermissionAnyDecorator('repository.admin') | |
65 | @CSRFRequired() |
|
61 | @CSRFRequired() | |
66 | @view_config( |
|
|||
67 | route_name='edit_repo_fields_create', request_method='POST', |
|
|||
68 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
69 | def repo_field_create(self): |
|
62 | def repo_field_create(self): | |
70 | _ = self.request.translate |
|
63 | _ = self.request.translate | |
71 |
|
64 | |||
@@ -94,9 +87,6 b' class RepoSettingsFieldsView(RepoAppView' | |||||
94 | @LoginRequired() |
|
87 | @LoginRequired() | |
95 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
88 | @HasRepoPermissionAnyDecorator('repository.admin') | |
96 | @CSRFRequired() |
|
89 | @CSRFRequired() | |
97 | @view_config( |
|
|||
98 | route_name='edit_repo_fields_delete', request_method='POST', |
|
|||
99 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
100 | def repo_field_delete(self): |
|
90 | def repo_field_delete(self): | |
101 | _ = self.request.translate |
|
91 | _ = self.request.translate | |
102 | field = RepositoryField.get_or_404(self.request.matchdict['field_id']) |
|
92 | field = RepositoryField.get_or_404(self.request.matchdict['field_id']) |
@@ -21,7 +21,7 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
23 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound | |
24 | from pyramid.view import view_config |
|
24 | ||
25 | import formencode |
|
25 | import formencode | |
26 |
|
26 | |||
27 | from rhodecode.apps._base import RepoAppView |
|
27 | from rhodecode.apps._base import RepoAppView | |
@@ -45,9 +45,6 b' class RepoSettingsIssueTrackersView(Repo' | |||||
45 |
|
45 | |||
46 | @LoginRequired() |
|
46 | @LoginRequired() | |
47 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
47 | @HasRepoPermissionAnyDecorator('repository.admin') | |
48 | @view_config( |
|
|||
49 | route_name='edit_repo_issuetracker', request_method='GET', |
|
|||
50 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
51 | def repo_issuetracker(self): |
|
48 | def repo_issuetracker(self): | |
52 | c = self.load_default_context() |
|
49 | c = self.load_default_context() | |
53 | c.active = 'issuetracker' |
|
50 | c.active = 'issuetracker' | |
@@ -62,9 +59,6 b' class RepoSettingsIssueTrackersView(Repo' | |||||
62 | @LoginRequired() |
|
59 | @LoginRequired() | |
63 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
60 | @HasRepoPermissionAnyDecorator('repository.admin') | |
64 | @CSRFRequired() |
|
61 | @CSRFRequired() | |
65 | @view_config( |
|
|||
66 | route_name='edit_repo_issuetracker_test', request_method='POST', |
|
|||
67 | renderer='string', xhr=True) |
|
|||
68 | def repo_issuetracker_test(self): |
|
62 | def repo_issuetracker_test(self): | |
69 | return h.urlify_commit_message( |
|
63 | return h.urlify_commit_message( | |
70 | self.request.POST.get('test_text', ''), |
|
64 | self.request.POST.get('test_text', ''), | |
@@ -73,9 +67,6 b' class RepoSettingsIssueTrackersView(Repo' | |||||
73 | @LoginRequired() |
|
67 | @LoginRequired() | |
74 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
68 | @HasRepoPermissionAnyDecorator('repository.admin') | |
75 | @CSRFRequired() |
|
69 | @CSRFRequired() | |
76 | @view_config( |
|
|||
77 | route_name='edit_repo_issuetracker_delete', request_method='POST', |
|
|||
78 | renderer='json_ext', xhr=True) |
|
|||
79 | def repo_issuetracker_delete(self): |
|
70 | def repo_issuetracker_delete(self): | |
80 | _ = self.request.translate |
|
71 | _ = self.request.translate | |
81 | uid = self.request.POST.get('uid') |
|
72 | uid = self.request.POST.get('uid') | |
@@ -107,9 +98,6 b' class RepoSettingsIssueTrackersView(Repo' | |||||
107 | @LoginRequired() |
|
98 | @LoginRequired() | |
108 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
99 | @HasRepoPermissionAnyDecorator('repository.admin') | |
109 | @CSRFRequired() |
|
100 | @CSRFRequired() | |
110 | @view_config( |
|
|||
111 | route_name='edit_repo_issuetracker_update', request_method='POST', |
|
|||
112 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
113 | def repo_issuetracker_update(self): |
|
101 | def repo_issuetracker_update(self): | |
114 | _ = self.request.translate |
|
102 | _ = self.request.translate | |
115 | # Save inheritance |
|
103 | # Save inheritance |
@@ -21,7 +21,7 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.httpexceptions import HTTPFound |
|
23 | from pyramid.httpexceptions import HTTPFound | |
24 | from pyramid.view import view_config |
|
24 | ||
25 |
|
25 | |||
26 | from rhodecode.apps._base import RepoAppView |
|
26 | from rhodecode.apps._base import RepoAppView | |
27 | from rhodecode.lib import helpers as h |
|
27 | from rhodecode.lib import helpers as h | |
@@ -39,9 +39,6 b' class RepoSettingsRemoteView(RepoAppView' | |||||
39 |
|
39 | |||
40 | @LoginRequired() |
|
40 | @LoginRequired() | |
41 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
41 | @HasRepoPermissionAnyDecorator('repository.admin') | |
42 | @view_config( |
|
|||
43 | route_name='edit_repo_remote', request_method='GET', |
|
|||
44 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
45 | def repo_remote_edit_form(self): |
|
42 | def repo_remote_edit_form(self): | |
46 | c = self.load_default_context() |
|
43 | c = self.load_default_context() | |
47 | c.active = 'remote' |
|
44 | c.active = 'remote' | |
@@ -51,9 +48,6 b' class RepoSettingsRemoteView(RepoAppView' | |||||
51 | @LoginRequired() |
|
48 | @LoginRequired() | |
52 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
49 | @HasRepoPermissionAnyDecorator('repository.admin') | |
53 | @CSRFRequired() |
|
50 | @CSRFRequired() | |
54 | @view_config( |
|
|||
55 | route_name='edit_repo_remote_pull', request_method='POST', |
|
|||
56 | renderer=None) |
|
|||
57 | def repo_remote_pull_changes(self): |
|
51 | def repo_remote_pull_changes(self): | |
58 | _ = self.request.translate |
|
52 | _ = self.request.translate | |
59 | self.load_default_context() |
|
53 | self.load_default_context() |
@@ -25,10 +25,8 b' import formencode.htmlfill' | |||||
25 | from pyramid.httpexceptions import HTTPFound, HTTPBadRequest |
|
25 | from pyramid.httpexceptions import HTTPFound, HTTPBadRequest | |
26 | from pyramid.response import Response |
|
26 | from pyramid.response import Response | |
27 | from pyramid.renderers import render |
|
27 | from pyramid.renderers import render | |
28 | from pyramid.view import view_config |
|
|||
29 |
|
28 | |||
30 | from rhodecode.apps._base import RepoAppView |
|
29 | from rhodecode.apps._base import RepoAppView | |
31 | from rhodecode.lib import audit_logger |
|
|||
32 | from rhodecode.lib import helpers as h |
|
30 | from rhodecode.lib import helpers as h | |
33 | from rhodecode.lib.auth import ( |
|
31 | from rhodecode.lib.auth import ( | |
34 | LoginRequired, HasRepoPermissionAnyDecorator, CSRFRequired) |
|
32 | LoginRequired, HasRepoPermissionAnyDecorator, CSRFRequired) | |
@@ -71,9 +69,6 b' class RepoSettingsVcsView(RepoAppView):' | |||||
71 |
|
69 | |||
72 | @LoginRequired() |
|
70 | @LoginRequired() | |
73 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
71 | @HasRepoPermissionAnyDecorator('repository.admin') | |
74 | @view_config( |
|
|||
75 | route_name='edit_repo_vcs', request_method='GET', |
|
|||
76 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
77 | def repo_vcs_settings(self): |
|
72 | def repo_vcs_settings(self): | |
78 | c = self.load_default_context() |
|
73 | c = self.load_default_context() | |
79 | model = VcsSettingsModel(repo=self.db_repo_name) |
|
74 | model = VcsSettingsModel(repo=self.db_repo_name) | |
@@ -100,9 +95,6 b' class RepoSettingsVcsView(RepoAppView):' | |||||
100 | @LoginRequired() |
|
95 | @LoginRequired() | |
101 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
96 | @HasRepoPermissionAnyDecorator('repository.admin') | |
102 | @CSRFRequired() |
|
97 | @CSRFRequired() | |
103 | @view_config( |
|
|||
104 | route_name='edit_repo_vcs_update', request_method='POST', |
|
|||
105 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
106 | def repo_settings_vcs_update(self): |
|
98 | def repo_settings_vcs_update(self): | |
107 | _ = self.request.translate |
|
99 | _ = self.request.translate | |
108 | c = self.load_default_context() |
|
100 | c = self.load_default_context() | |
@@ -153,9 +145,6 b' class RepoSettingsVcsView(RepoAppView):' | |||||
153 | @LoginRequired() |
|
145 | @LoginRequired() | |
154 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
146 | @HasRepoPermissionAnyDecorator('repository.admin') | |
155 | @CSRFRequired() |
|
147 | @CSRFRequired() | |
156 | @view_config( |
|
|||
157 | route_name='edit_repo_vcs_svn_pattern_delete', request_method='POST', |
|
|||
158 | renderer='json_ext', xhr=True) |
|
|||
159 | def repo_settings_delete_svn_pattern(self): |
|
148 | def repo_settings_delete_svn_pattern(self): | |
160 | self.load_default_context() |
|
149 | self.load_default_context() | |
161 | delete_pattern_id = self.request.POST.get('delete_svn_pattern') |
|
150 | delete_pattern_id = self.request.POST.get('delete_svn_pattern') |
@@ -19,7 +19,7 b'' | |||||
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 | from pyramid.view import view_config |
|
22 | ||
23 |
|
23 | |||
24 | from rhodecode.apps._base import RepoAppView |
|
24 | from rhodecode.apps._base import RepoAppView | |
25 | from rhodecode.lib import audit_logger |
|
25 | from rhodecode.lib import audit_logger | |
@@ -31,7 +31,7 b' from rhodecode.lib.ext_json import json' | |||||
31 | log = logging.getLogger(__name__) |
|
31 | log = logging.getLogger(__name__) | |
32 |
|
32 | |||
33 |
|
33 | |||
34 | class StripView(RepoAppView): |
|
34 | class RepoStripView(RepoAppView): | |
35 | def load_default_context(self): |
|
35 | def load_default_context(self): | |
36 | c = self._get_local_tmpl_context() |
|
36 | c = self._get_local_tmpl_context() | |
37 |
|
37 | |||
@@ -40,9 +40,6 b' class StripView(RepoAppView):' | |||||
40 |
|
40 | |||
41 | @LoginRequired() |
|
41 | @LoginRequired() | |
42 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
42 | @HasRepoPermissionAnyDecorator('repository.admin') | |
43 | @view_config( |
|
|||
44 | route_name='edit_repo_strip', request_method='GET', |
|
|||
45 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') |
|
|||
46 | def strip(self): |
|
43 | def strip(self): | |
47 | c = self.load_default_context() |
|
44 | c = self.load_default_context() | |
48 | c.active = 'strip' |
|
45 | c.active = 'strip' | |
@@ -53,9 +50,6 b' class StripView(RepoAppView):' | |||||
53 | @LoginRequired() |
|
50 | @LoginRequired() | |
54 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
51 | @HasRepoPermissionAnyDecorator('repository.admin') | |
55 | @CSRFRequired() |
|
52 | @CSRFRequired() | |
56 | @view_config( |
|
|||
57 | route_name='strip_check', request_method='POST', |
|
|||
58 | renderer='json', xhr=True) |
|
|||
59 | def strip_check(self): |
|
53 | def strip_check(self): | |
60 | from rhodecode.lib.vcs.backends.base import EmptyCommit |
|
54 | from rhodecode.lib.vcs.backends.base import EmptyCommit | |
61 | data = {} |
|
55 | data = {} | |
@@ -79,9 +73,6 b' class StripView(RepoAppView):' | |||||
79 | @LoginRequired() |
|
73 | @LoginRequired() | |
80 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
74 | @HasRepoPermissionAnyDecorator('repository.admin') | |
81 | @CSRFRequired() |
|
75 | @CSRFRequired() | |
82 | @view_config( |
|
|||
83 | route_name='strip_execute', request_method='POST', |
|
|||
84 | renderer='json', xhr=True) |
|
|||
85 | def strip_execute(self): |
|
76 | def strip_execute(self): | |
86 | from rhodecode.model.scm import ScmModel |
|
77 | from rhodecode.model.scm import ScmModel | |
87 |
|
78 |
@@ -24,7 +24,7 b' import time' | |||||
24 |
|
24 | |||
25 | import rhodecode |
|
25 | import rhodecode | |
26 |
|
26 | |||
27 | from pyramid.view import view_config |
|
27 | ||
28 |
|
28 | |||
29 | from rhodecode.lib.view_utils import get_format_ref_id |
|
29 | from rhodecode.lib.view_utils import get_format_ref_id | |
30 | from rhodecode.apps._base import RepoAppView |
|
30 | from rhodecode.apps._base import RepoAppView | |
@@ -101,9 +101,6 b' class RepoSummaryView(RepoAppView):' | |||||
101 | @LoginRequired() |
|
101 | @LoginRequired() | |
102 | @HasRepoPermissionAnyDecorator( |
|
102 | @HasRepoPermissionAnyDecorator( | |
103 | 'repository.read', 'repository.write', 'repository.admin') |
|
103 | 'repository.read', 'repository.write', 'repository.admin') | |
104 | @view_config( |
|
|||
105 | route_name='repo_summary_commits', request_method='GET', |
|
|||
106 | renderer='rhodecode:templates/summary/summary_commits.mako') |
|
|||
107 | def summary_commits(self): |
|
104 | def summary_commits(self): | |
108 | c = self.load_default_context() |
|
105 | c = self.load_default_context() | |
109 | self._prepare_and_set_clone_url(c) |
|
106 | self._prepare_and_set_clone_url(c) | |
@@ -113,15 +110,6 b' class RepoSummaryView(RepoAppView):' | |||||
113 | @LoginRequired() |
|
110 | @LoginRequired() | |
114 | @HasRepoPermissionAnyDecorator( |
|
111 | @HasRepoPermissionAnyDecorator( | |
115 | 'repository.read', 'repository.write', 'repository.admin') |
|
112 | 'repository.read', 'repository.write', 'repository.admin') | |
116 | @view_config( |
|
|||
117 | route_name='repo_summary', request_method='GET', |
|
|||
118 | renderer='rhodecode:templates/summary/summary.mako') |
|
|||
119 | @view_config( |
|
|||
120 | route_name='repo_summary_slash', request_method='GET', |
|
|||
121 | renderer='rhodecode:templates/summary/summary.mako') |
|
|||
122 | @view_config( |
|
|||
123 | route_name='repo_summary_explicit', request_method='GET', |
|
|||
124 | renderer='rhodecode:templates/summary/summary.mako') |
|
|||
125 | def summary(self): |
|
113 | def summary(self): | |
126 | c = self.load_default_context() |
|
114 | c = self.load_default_context() | |
127 |
|
115 | |||
@@ -176,9 +164,6 b' class RepoSummaryView(RepoAppView):' | |||||
176 | @LoginRequired() |
|
164 | @LoginRequired() | |
177 | @HasRepoPermissionAnyDecorator( |
|
165 | @HasRepoPermissionAnyDecorator( | |
178 | 'repository.read', 'repository.write', 'repository.admin') |
|
166 | 'repository.read', 'repository.write', 'repository.admin') | |
179 | @view_config( |
|
|||
180 | route_name='repo_stats', request_method='GET', |
|
|||
181 | renderer='json_ext') |
|
|||
182 | def repo_stats(self): |
|
167 | def repo_stats(self): | |
183 | show_stats = bool(self.db_repo.enable_statistics) |
|
168 | show_stats = bool(self.db_repo.enable_statistics) | |
184 | repo_id = self.db_repo.repo_id |
|
169 | repo_id = self.db_repo.repo_id | |
@@ -228,9 +213,6 b' class RepoSummaryView(RepoAppView):' | |||||
228 | @LoginRequired() |
|
213 | @LoginRequired() | |
229 | @HasRepoPermissionAnyDecorator( |
|
214 | @HasRepoPermissionAnyDecorator( | |
230 | 'repository.read', 'repository.write', 'repository.admin') |
|
215 | 'repository.read', 'repository.write', 'repository.admin') | |
231 | @view_config( |
|
|||
232 | route_name='repo_refs_data', request_method='GET', |
|
|||
233 | renderer='json_ext') |
|
|||
234 | def repo_refs_data(self): |
|
216 | def repo_refs_data(self): | |
235 | _ = self.request.translate |
|
217 | _ = self.request.translate | |
236 | self.load_default_context() |
|
218 | self.load_default_context() | |
@@ -251,9 +233,6 b' class RepoSummaryView(RepoAppView):' | |||||
251 | @LoginRequired() |
|
233 | @LoginRequired() | |
252 | @HasRepoPermissionAnyDecorator( |
|
234 | @HasRepoPermissionAnyDecorator( | |
253 | 'repository.read', 'repository.write', 'repository.admin') |
|
235 | 'repository.read', 'repository.write', 'repository.admin') | |
254 | @view_config( |
|
|||
255 | route_name='repo_refs_changelog_data', request_method='GET', |
|
|||
256 | renderer='json_ext') |
|
|||
257 | def repo_refs_changelog_data(self): |
|
236 | def repo_refs_changelog_data(self): | |
258 | _ = self.request.translate |
|
237 | _ = self.request.translate | |
259 | self.load_default_context() |
|
238 | self.load_default_context() |
@@ -19,7 +19,6 b'' | |||||
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 | from pyramid.view import view_config |
|
|||
23 |
|
22 | |||
24 | from rhodecode.apps._base import BaseReferencesView |
|
23 | from rhodecode.apps._base import BaseReferencesView | |
25 | from rhodecode.lib.ext_json import json |
|
24 | from rhodecode.lib.ext_json import json | |
@@ -33,9 +32,6 b' class RepoTagsView(BaseReferencesView):' | |||||
33 | @LoginRequired() |
|
32 | @LoginRequired() | |
34 | @HasRepoPermissionAnyDecorator( |
|
33 | @HasRepoPermissionAnyDecorator( | |
35 | 'repository.read', 'repository.write', 'repository.admin') |
|
34 | 'repository.read', 'repository.write', 'repository.admin') | |
36 | @view_config( |
|
|||
37 | route_name='tags_home', request_method='GET', |
|
|||
38 | renderer='rhodecode:templates/tags/tags.mako') |
|
|||
39 | def tags(self): |
|
35 | def tags(self): | |
40 | c = self.load_default_context() |
|
36 | c = self.load_default_context() | |
41 |
|
37 |
@@ -21,23 +21,42 b' from rhodecode.apps._base import ADMIN_P' | |||||
21 |
|
21 | |||
22 |
|
22 | |||
23 | def includeme(config): |
|
23 | def includeme(config): | |
|
24 | from rhodecode.apps.search.views import ( | |||
|
25 | SearchView, SearchRepoView, SearchRepoGroupView) | |||
24 |
|
26 | |||
25 | config.add_route( |
|
27 | config.add_route( | |
26 | name='search', |
|
28 | name='search', | |
27 | pattern=ADMIN_PREFIX + '/search') |
|
29 | pattern=ADMIN_PREFIX + '/search') | |
|
30 | config.add_view( | |||
|
31 | SearchView, | |||
|
32 | attr='search', | |||
|
33 | route_name='search', request_method='GET', | |||
|
34 | renderer='rhodecode:templates/search/search.mako') | |||
28 |
|
35 | |||
29 | config.add_route( |
|
36 | config.add_route( | |
30 | name='search_repo', |
|
37 | name='search_repo', | |
31 | pattern='/{repo_name:.*?[^/]}/_search', repo_route=True) |
|
38 | pattern='/{repo_name:.*?[^/]}/_search', repo_route=True) | |
|
39 | config.add_view( | |||
|
40 | SearchRepoView, | |||
|
41 | attr='search_repo', | |||
|
42 | route_name='search_repo', request_method='GET', | |||
|
43 | renderer='rhodecode:templates/search/search.mako') | |||
32 |
|
44 | |||
33 | config.add_route( |
|
45 | config.add_route( | |
34 | name='search_repo_alt', |
|
46 | name='search_repo_alt', | |
35 | pattern='/{repo_name:.*?[^/]}/search', repo_route=True) |
|
47 | pattern='/{repo_name:.*?[^/]}/search', repo_route=True) | |
|
48 | config.add_view( | |||
|
49 | SearchRepoView, | |||
|
50 | attr='search_repo', | |||
|
51 | route_name='search_repo_alt', request_method='GET', | |||
|
52 | renderer='rhodecode:templates/search/search.mako') | |||
36 |
|
53 | |||
37 | config.add_route( |
|
54 | config.add_route( | |
38 | name='search_repo_group', |
|
55 | name='search_repo_group', | |
39 | pattern='/{repo_group_name:.*?[^/]}/_search', |
|
56 | pattern='/{repo_group_name:.*?[^/]}/_search', | |
40 | repo_group_route=True) |
|
57 | repo_group_route=True) | |
41 |
|
58 | config.add_view( | ||
42 | # Scan module for configuration decorators. |
|
59 | SearchRepoGroupView, | |
43 | config.scan('.views', ignore='.tests') |
|
60 | attr='search_repo_group', | |
|
61 | route_name='search_repo_group', request_method='GET', | |||
|
62 | renderer='rhodecode:templates/search/search.mako') |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | import logging |
|
21 | import logging | |
22 | import urllib |
|
22 | import urllib | |
23 | from pyramid.view import view_config |
|
23 | ||
24 | from webhelpers2.html.tools import update_params |
|
24 | from webhelpers2.html.tools import update_params | |
25 |
|
25 | |||
26 | from rhodecode.apps._base import BaseAppView, RepoAppView, RepoGroupAppView |
|
26 | from rhodecode.apps._base import BaseAppView, RepoAppView, RepoGroupAppView | |
@@ -130,9 +130,6 b' class SearchView(BaseAppView):' | |||||
130 | return c |
|
130 | return c | |
131 |
|
131 | |||
132 | @LoginRequired() |
|
132 | @LoginRequired() | |
133 | @view_config( |
|
|||
134 | route_name='search', request_method='GET', |
|
|||
135 | renderer='rhodecode:templates/search/search.mako') |
|
|||
136 | def search(self): |
|
133 | def search(self): | |
137 | c = self.load_default_context() |
|
134 | c = self.load_default_context() | |
138 | perform_search(self.request, c) |
|
135 | perform_search(self.request, c) | |
@@ -148,12 +145,6 b' class SearchRepoView(RepoAppView):' | |||||
148 | @LoginRequired() |
|
145 | @LoginRequired() | |
149 | @HasRepoPermissionAnyDecorator( |
|
146 | @HasRepoPermissionAnyDecorator( | |
150 | 'repository.read', 'repository.write', 'repository.admin') |
|
147 | 'repository.read', 'repository.write', 'repository.admin') | |
151 | @view_config( |
|
|||
152 | route_name='search_repo', request_method='GET', |
|
|||
153 | renderer='rhodecode:templates/search/search.mako') |
|
|||
154 | @view_config( |
|
|||
155 | route_name='search_repo_alt', request_method='GET', |
|
|||
156 | renderer='rhodecode:templates/search/search.mako') |
|
|||
157 | def search_repo(self): |
|
148 | def search_repo(self): | |
158 | c = self.load_default_context() |
|
149 | c = self.load_default_context() | |
159 | perform_search(self.request, c, repo_name=self.db_repo_name) |
|
150 | perform_search(self.request, c, repo_name=self.db_repo_name) | |
@@ -169,9 +160,6 b' class SearchRepoGroupView(RepoGroupAppVi' | |||||
169 | @LoginRequired() |
|
160 | @LoginRequired() | |
170 | @HasRepoGroupPermissionAnyDecorator( |
|
161 | @HasRepoGroupPermissionAnyDecorator( | |
171 | 'group.read', 'group.write', 'group.admin') |
|
162 | 'group.read', 'group.write', 'group.admin') | |
172 | @view_config( |
|
|||
173 | route_name='search_repo_group', request_method='GET', |
|
|||
174 | renderer='rhodecode:templates/search/search.mako') |
|
|||
175 | def search_repo_group(self): |
|
163 | def search_repo_group(self): | |
176 | c = self.load_default_context() |
|
164 | c = self.load_default_context() | |
177 | perform_search(self.request, c, repo_group_name=self.db_repo_group_name) |
|
165 | perform_search(self.request, c, repo_group_name=self.db_repo_group_name) |
@@ -37,25 +37,6 b' from . import config_keys' | |||||
37 | log = logging.getLogger(__name__) |
|
37 | log = logging.getLogger(__name__) | |
38 |
|
38 | |||
39 |
|
39 | |||
40 | def includeme(config): |
|
|||
41 | settings = config.registry.settings |
|
|||
42 | _sanitize_settings_and_apply_defaults(settings) |
|
|||
43 |
|
||||
44 | if settings[config_keys.generate_config]: |
|
|||
45 | # Add subscriber to generate the Apache mod dav svn configuration on |
|
|||
46 | # repository group events. |
|
|||
47 | config.add_subscriber(generate_config_subscriber, RepoGroupEvent) |
|
|||
48 |
|
||||
49 | # If a reload command is set add a subscriber to execute it on |
|
|||
50 | # configuration changes. |
|
|||
51 | reload_cmd = shlex.split(settings[config_keys.reload_command]) |
|
|||
52 | if reload_cmd: |
|
|||
53 | reload_timeout = settings[config_keys.reload_timeout] or None |
|
|||
54 | reload_subscriber = AsyncSubprocessSubscriber( |
|
|||
55 | cmd=reload_cmd, timeout=reload_timeout) |
|
|||
56 | config.add_subscriber(reload_subscriber, ModDavSvnConfigChange) |
|
|||
57 |
|
||||
58 |
|
||||
59 | def _sanitize_settings_and_apply_defaults(settings): |
|
40 | def _sanitize_settings_and_apply_defaults(settings): | |
60 | """ |
|
41 | """ | |
61 | Set defaults, convert to python types and validate settings. |
|
42 | Set defaults, convert to python types and validate settings. | |
@@ -88,3 +69,22 b' def _append_path_sep(path):' | |||||
88 | if isinstance(path, compat.string_types) and not path.endswith(os.path.sep): |
|
69 | if isinstance(path, compat.string_types) and not path.endswith(os.path.sep): | |
89 | path += os.path.sep |
|
70 | path += os.path.sep | |
90 | return path |
|
71 | return path | |
|
72 | ||||
|
73 | ||||
|
74 | def includeme(config): | |||
|
75 | settings = config.registry.settings | |||
|
76 | _sanitize_settings_and_apply_defaults(settings) | |||
|
77 | ||||
|
78 | if settings[config_keys.generate_config]: | |||
|
79 | # Add subscriber to generate the Apache mod dav svn configuration on | |||
|
80 | # repository group events. | |||
|
81 | config.add_subscriber(generate_config_subscriber, RepoGroupEvent) | |||
|
82 | ||||
|
83 | # If a reload command is set add a subscriber to execute it on | |||
|
84 | # configuration changes. | |||
|
85 | reload_cmd = settings[config_keys.reload_command] | |||
|
86 | if reload_cmd: | |||
|
87 | reload_timeout = settings[config_keys.reload_timeout] or None | |||
|
88 | reload_subscriber = AsyncSubprocessSubscriber( | |||
|
89 | cmd=reload_cmd, timeout=reload_timeout) | |||
|
90 | config.add_subscriber(reload_subscriber, ModDavSvnConfigChange) |
@@ -28,74 +28,134 b' def admin_routes(config):' | |||||
28 | """ |
|
28 | """ | |
29 | User groups /_admin prefixed routes |
|
29 | User groups /_admin prefixed routes | |
30 | """ |
|
30 | """ | |
|
31 | from rhodecode.apps.user_group.views import UserGroupsView | |||
31 |
|
32 | |||
32 | config.add_route( |
|
33 | config.add_route( | |
33 | name='user_group_members_data', |
|
34 | name='user_group_members_data', | |
34 | pattern='/user_groups/{user_group_id:\d+}/members', |
|
35 | pattern='/user_groups/{user_group_id:\d+}/members', | |
35 | user_group_route=True) |
|
36 | user_group_route=True) | |
|
37 | config.add_view( | |||
|
38 | UserGroupsView, | |||
|
39 | attr='user_group_members', | |||
|
40 | route_name='user_group_members_data', request_method='GET', | |||
|
41 | renderer='json_ext', xhr=True) | |||
36 |
|
42 | |||
37 | # user groups perms |
|
43 | # user groups perms | |
38 | config.add_route( |
|
44 | config.add_route( | |
39 | name='edit_user_group_perms_summary', |
|
45 | name='edit_user_group_perms_summary', | |
40 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary', |
|
46 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary', | |
41 | user_group_route=True) |
|
47 | user_group_route=True) | |
|
48 | config.add_view( | |||
|
49 | UserGroupsView, | |||
|
50 | attr='user_group_perms_summary', | |||
|
51 | route_name='edit_user_group_perms_summary', request_method='GET', | |||
|
52 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') | |||
|
53 | ||||
42 | config.add_route( |
|
54 | config.add_route( | |
43 | name='edit_user_group_perms_summary_json', |
|
55 | name='edit_user_group_perms_summary_json', | |
44 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary/json', |
|
56 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary/json', | |
45 | user_group_route=True) |
|
57 | user_group_route=True) | |
|
58 | config.add_view( | |||
|
59 | UserGroupsView, | |||
|
60 | attr='user_group_perms_summary_json', | |||
|
61 | route_name='edit_user_group_perms_summary_json', request_method='GET', | |||
|
62 | renderer='json_ext') | |||
46 |
|
63 | |||
47 | # user groups edit |
|
64 | # user groups edit | |
48 | config.add_route( |
|
65 | config.add_route( | |
49 | name='edit_user_group', |
|
66 | name='edit_user_group', | |
50 | pattern='/user_groups/{user_group_id:\d+}/edit', |
|
67 | pattern='/user_groups/{user_group_id:\d+}/edit', | |
51 | user_group_route=True) |
|
68 | user_group_route=True) | |
|
69 | config.add_view( | |||
|
70 | UserGroupsView, | |||
|
71 | attr='user_group_edit', | |||
|
72 | route_name='edit_user_group', request_method='GET', | |||
|
73 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') | |||
52 |
|
74 | |||
53 | # user groups update |
|
75 | # user groups update | |
54 | config.add_route( |
|
76 | config.add_route( | |
55 | name='user_groups_update', |
|
77 | name='user_groups_update', | |
56 | pattern='/user_groups/{user_group_id:\d+}/update', |
|
78 | pattern='/user_groups/{user_group_id:\d+}/update', | |
57 | user_group_route=True) |
|
79 | user_group_route=True) | |
|
80 | config.add_view( | |||
|
81 | UserGroupsView, | |||
|
82 | attr='user_group_update', | |||
|
83 | route_name='user_groups_update', request_method='POST', | |||
|
84 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') | |||
58 |
|
85 | |||
59 | config.add_route( |
|
86 | config.add_route( | |
60 | name='edit_user_group_global_perms', |
|
87 | name='edit_user_group_global_perms', | |
61 | pattern='/user_groups/{user_group_id:\d+}/edit/global_permissions', |
|
88 | pattern='/user_groups/{user_group_id:\d+}/edit/global_permissions', | |
62 | user_group_route=True) |
|
89 | user_group_route=True) | |
|
90 | config.add_view( | |||
|
91 | UserGroupsView, | |||
|
92 | attr='user_group_global_perms_edit', | |||
|
93 | route_name='edit_user_group_global_perms', request_method='GET', | |||
|
94 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') | |||
63 |
|
95 | |||
64 | config.add_route( |
|
96 | config.add_route( | |
65 | name='edit_user_group_global_perms_update', |
|
97 | name='edit_user_group_global_perms_update', | |
66 | pattern='/user_groups/{user_group_id:\d+}/edit/global_permissions/update', |
|
98 | pattern='/user_groups/{user_group_id:\d+}/edit/global_permissions/update', | |
67 | user_group_route=True) |
|
99 | user_group_route=True) | |
|
100 | config.add_view( | |||
|
101 | UserGroupsView, | |||
|
102 | attr='user_group_global_perms_update', | |||
|
103 | route_name='edit_user_group_global_perms_update', request_method='POST', | |||
|
104 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') | |||
68 |
|
105 | |||
69 | config.add_route( |
|
106 | config.add_route( | |
70 | name='edit_user_group_perms', |
|
107 | name='edit_user_group_perms', | |
71 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions', |
|
108 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions', | |
72 | user_group_route=True) |
|
109 | user_group_route=True) | |
|
110 | config.add_view( | |||
|
111 | UserGroupsView, | |||
|
112 | attr='user_group_edit_perms', | |||
|
113 | route_name='edit_user_group_perms', request_method='GET', | |||
|
114 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') | |||
73 |
|
115 | |||
74 | config.add_route( |
|
116 | config.add_route( | |
75 | name='edit_user_group_perms_update', |
|
117 | name='edit_user_group_perms_update', | |
76 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions/update', |
|
118 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions/update', | |
77 | user_group_route=True) |
|
119 | user_group_route=True) | |
|
120 | config.add_view( | |||
|
121 | UserGroupsView, | |||
|
122 | attr='user_group_update_perms', | |||
|
123 | route_name='edit_user_group_perms_update', request_method='POST', | |||
|
124 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') | |||
78 |
|
125 | |||
79 | config.add_route( |
|
126 | config.add_route( | |
80 | name='edit_user_group_advanced', |
|
127 | name='edit_user_group_advanced', | |
81 | pattern='/user_groups/{user_group_id:\d+}/edit/advanced', |
|
128 | pattern='/user_groups/{user_group_id:\d+}/edit/advanced', | |
82 | user_group_route=True) |
|
129 | user_group_route=True) | |
|
130 | config.add_view( | |||
|
131 | UserGroupsView, | |||
|
132 | attr='user_group_edit_advanced', | |||
|
133 | route_name='edit_user_group_advanced', request_method='GET', | |||
|
134 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') | |||
83 |
|
135 | |||
84 | config.add_route( |
|
136 | config.add_route( | |
85 | name='edit_user_group_advanced_sync', |
|
137 | name='edit_user_group_advanced_sync', | |
86 | pattern='/user_groups/{user_group_id:\d+}/edit/advanced/sync', |
|
138 | pattern='/user_groups/{user_group_id:\d+}/edit/advanced/sync', | |
87 | user_group_route=True) |
|
139 | user_group_route=True) | |
|
140 | config.add_view( | |||
|
141 | UserGroupsView, | |||
|
142 | attr='user_group_edit_advanced_set_synchronization', | |||
|
143 | route_name='edit_user_group_advanced_sync', request_method='POST', | |||
|
144 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') | |||
88 |
|
145 | |||
89 | # user groups delete |
|
146 | # user groups delete | |
90 | config.add_route( |
|
147 | config.add_route( | |
91 | name='user_groups_delete', |
|
148 | name='user_groups_delete', | |
92 | pattern='/user_groups/{user_group_id:\d+}/delete', |
|
149 | pattern='/user_groups/{user_group_id:\d+}/delete', | |
93 | user_group_route=True) |
|
150 | user_group_route=True) | |
|
151 | config.add_view( | |||
|
152 | UserGroupsView, | |||
|
153 | attr='user_group_delete', | |||
|
154 | route_name='user_groups_delete', request_method='POST', | |||
|
155 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') | |||
94 |
|
156 | |||
95 |
|
157 | |||
96 | def includeme(config): |
|
158 | def includeme(config): | |
97 | # main admin routes |
|
159 | # main admin routes | |
98 | config.include(admin_routes, route_prefix=ADMIN_PREFIX) |
|
160 | config.include(admin_routes, route_prefix=ADMIN_PREFIX) | |
99 |
|
161 | |||
100 | # Scan module for configuration decorators. |
|
|||
101 | config.scan('.views', ignore='.tests') |
|
@@ -24,7 +24,7 b' import peppercorn' | |||||
24 | import formencode |
|
24 | import formencode | |
25 | import formencode.htmlfill |
|
25 | import formencode.htmlfill | |
26 | from pyramid.httpexceptions import HTTPFound |
|
26 | from pyramid.httpexceptions import HTTPFound | |
27 | from pyramid.view import view_config |
|
27 | ||
28 | from pyramid.response import Response |
|
28 | from pyramid.response import Response | |
29 | from pyramid.renderers import render |
|
29 | from pyramid.renderers import render | |
30 |
|
30 | |||
@@ -60,9 +60,6 b' class UserGroupsView(UserGroupAppView):' | |||||
60 |
|
60 | |||
61 | @LoginRequired() |
|
61 | @LoginRequired() | |
62 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
62 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
63 | @view_config( |
|
|||
64 | route_name='user_group_members_data', request_method='GET', |
|
|||
65 | renderer='json_ext', xhr=True) |
|
|||
66 | def user_group_members(self): |
|
63 | def user_group_members(self): | |
67 | """ |
|
64 | """ | |
68 | Return members of given user group |
|
65 | Return members of given user group | |
@@ -93,9 +90,6 b' class UserGroupsView(UserGroupAppView):' | |||||
93 |
|
90 | |||
94 | @LoginRequired() |
|
91 | @LoginRequired() | |
95 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
92 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
96 | @view_config( |
|
|||
97 | route_name='edit_user_group_perms_summary', request_method='GET', |
|
|||
98 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') |
|
|||
99 | def user_group_perms_summary(self): |
|
93 | def user_group_perms_summary(self): | |
100 | c = self.load_default_context() |
|
94 | c = self.load_default_context() | |
101 | c.user_group = self.db_user_group |
|
95 | c.user_group = self.db_user_group | |
@@ -106,9 +100,6 b' class UserGroupsView(UserGroupAppView):' | |||||
106 |
|
100 | |||
107 | @LoginRequired() |
|
101 | @LoginRequired() | |
108 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
102 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
109 | @view_config( |
|
|||
110 | route_name='edit_user_group_perms_summary_json', request_method='GET', |
|
|||
111 | renderer='json_ext') |
|
|||
112 | def user_group_perms_summary_json(self): |
|
103 | def user_group_perms_summary_json(self): | |
113 | self.load_default_context() |
|
104 | self.load_default_context() | |
114 | user_group = self.db_user_group |
|
105 | user_group = self.db_user_group | |
@@ -131,9 +122,6 b' class UserGroupsView(UserGroupAppView):' | |||||
131 | @LoginRequired() |
|
122 | @LoginRequired() | |
132 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
123 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
133 | @CSRFRequired() |
|
124 | @CSRFRequired() | |
134 | @view_config( |
|
|||
135 | route_name='user_groups_update', request_method='POST', |
|
|||
136 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') |
|
|||
137 | def user_group_update(self): |
|
125 | def user_group_update(self): | |
138 | _ = self.request.translate |
|
126 | _ = self.request.translate | |
139 |
|
127 | |||
@@ -230,9 +218,6 b' class UserGroupsView(UserGroupAppView):' | |||||
230 | @LoginRequired() |
|
218 | @LoginRequired() | |
231 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
219 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
232 | @CSRFRequired() |
|
220 | @CSRFRequired() | |
233 | @view_config( |
|
|||
234 | route_name='user_groups_delete', request_method='POST', |
|
|||
235 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') |
|
|||
236 | def user_group_delete(self): |
|
221 | def user_group_delete(self): | |
237 | _ = self.request.translate |
|
222 | _ = self.request.translate | |
238 | user_group = self.db_user_group |
|
223 | user_group = self.db_user_group | |
@@ -258,9 +243,6 b' class UserGroupsView(UserGroupAppView):' | |||||
258 |
|
243 | |||
259 | @LoginRequired() |
|
244 | @LoginRequired() | |
260 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
245 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
261 | @view_config( |
|
|||
262 | route_name='edit_user_group', request_method='GET', |
|
|||
263 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') |
|
|||
264 | def user_group_edit(self): |
|
246 | def user_group_edit(self): | |
265 | user_group = self.db_user_group |
|
247 | user_group = self.db_user_group | |
266 |
|
248 | |||
@@ -293,9 +275,6 b' class UserGroupsView(UserGroupAppView):' | |||||
293 |
|
275 | |||
294 | @LoginRequired() |
|
276 | @LoginRequired() | |
295 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
277 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
296 | @view_config( |
|
|||
297 | route_name='edit_user_group_perms', request_method='GET', |
|
|||
298 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') |
|
|||
299 | def user_group_edit_perms(self): |
|
278 | def user_group_edit_perms(self): | |
300 | user_group = self.db_user_group |
|
279 | user_group = self.db_user_group | |
301 | c = self.load_default_context() |
|
280 | c = self.load_default_context() | |
@@ -326,9 +305,6 b' class UserGroupsView(UserGroupAppView):' | |||||
326 | @LoginRequired() |
|
305 | @LoginRequired() | |
327 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
306 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
328 | @CSRFRequired() |
|
307 | @CSRFRequired() | |
329 | @view_config( |
|
|||
330 | route_name='edit_user_group_perms_update', request_method='POST', |
|
|||
331 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') |
|
|||
332 | def user_group_update_perms(self): |
|
308 | def user_group_update_perms(self): | |
333 | """ |
|
309 | """ | |
334 | grant permission for given user group |
|
310 | grant permission for given user group | |
@@ -390,9 +366,6 b' class UserGroupsView(UserGroupAppView):' | |||||
390 |
|
366 | |||
391 | @LoginRequired() |
|
367 | @LoginRequired() | |
392 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
368 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
393 | @view_config( |
|
|||
394 | route_name='edit_user_group_global_perms', request_method='GET', |
|
|||
395 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') |
|
|||
396 | def user_group_global_perms_edit(self): |
|
369 | def user_group_global_perms_edit(self): | |
397 | user_group = self.db_user_group |
|
370 | user_group = self.db_user_group | |
398 | c = self.load_default_context() |
|
371 | c = self.load_default_context() | |
@@ -418,9 +391,6 b' class UserGroupsView(UserGroupAppView):' | |||||
418 | @LoginRequired() |
|
391 | @LoginRequired() | |
419 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
392 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
420 | @CSRFRequired() |
|
393 | @CSRFRequired() | |
421 | @view_config( |
|
|||
422 | route_name='edit_user_group_global_perms_update', request_method='POST', |
|
|||
423 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') |
|
|||
424 | def user_group_global_perms_update(self): |
|
394 | def user_group_global_perms_update(self): | |
425 | _ = self.request.translate |
|
395 | _ = self.request.translate | |
426 | user_group = self.db_user_group |
|
396 | user_group = self.db_user_group | |
@@ -485,9 +455,6 b' class UserGroupsView(UserGroupAppView):' | |||||
485 |
|
455 | |||
486 | @LoginRequired() |
|
456 | @LoginRequired() | |
487 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
457 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
488 | @view_config( |
|
|||
489 | route_name='edit_user_group_advanced', request_method='GET', |
|
|||
490 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') |
|
|||
491 | def user_group_edit_advanced(self): |
|
458 | def user_group_edit_advanced(self): | |
492 | user_group = self.db_user_group |
|
459 | user_group = self.db_user_group | |
493 |
|
460 | |||
@@ -515,9 +482,6 b' class UserGroupsView(UserGroupAppView):' | |||||
515 | @LoginRequired() |
|
482 | @LoginRequired() | |
516 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
483 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') | |
517 | @CSRFRequired() |
|
484 | @CSRFRequired() | |
518 | @view_config( |
|
|||
519 | route_name='edit_user_group_advanced_sync', request_method='POST', |
|
|||
520 | renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako') |
|
|||
521 | def user_group_edit_advanced_set_synchronization(self): |
|
485 | def user_group_edit_advanced_set_synchronization(self): | |
522 | _ = self.request.translate |
|
486 | _ = self.request.translate | |
523 | user_group = self.db_user_group |
|
487 | user_group = self.db_user_group |
@@ -20,8 +20,13 b'' | |||||
20 |
|
20 | |||
21 |
|
21 | |||
22 | def includeme(config): |
|
22 | def includeme(config): | |
|
23 | from rhodecode.apps.user_group_profile.views import UserGroupProfileView | |||
|
24 | ||||
23 | config.add_route( |
|
25 | config.add_route( | |
24 | name='user_group_profile', |
|
26 | name='user_group_profile', | |
25 | pattern='/_profile_user_group/{user_group_name}') |
|
27 | pattern='/_profile_user_group/{user_group_name}') | |
26 | # Scan module for configuration decorators. |
|
28 | config.add_view( | |
27 | config.scan('.views', ignore='.tests') |
|
29 | UserGroupProfileView, | |
|
30 | attr='user_group_profile', | |||
|
31 | route_name='user_group_profile', request_method='GET', | |||
|
32 | renderer='rhodecode:templates/user_group/user_group.mako') |
@@ -21,7 +21,7 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.httpexceptions import HTTPNotFound |
|
23 | from pyramid.httpexceptions import HTTPNotFound | |
24 | from pyramid.view import view_config |
|
24 | ||
25 |
|
25 | |||
26 | from rhodecode.apps._base import BaseAppView |
|
26 | from rhodecode.apps._base import BaseAppView | |
27 | from rhodecode.lib.auth import HasUserGroupPermissionAnyDecorator, LoginRequired, NotAnonymous |
|
27 | from rhodecode.lib.auth import HasUserGroupPermissionAnyDecorator, LoginRequired, NotAnonymous | |
@@ -36,9 +36,6 b' class UserGroupProfileView(BaseAppView):' | |||||
36 | @LoginRequired() |
|
36 | @LoginRequired() | |
37 | @NotAnonymous() |
|
37 | @NotAnonymous() | |
38 | @HasUserGroupPermissionAnyDecorator('usergroup.read', 'usergroup.write', 'usergroup.admin',) |
|
38 | @HasUserGroupPermissionAnyDecorator('usergroup.read', 'usergroup.write', 'usergroup.admin',) | |
39 | @view_config( |
|
|||
40 | route_name='user_group_profile', request_method='GET', |
|
|||
41 | renderer='rhodecode:templates/user_group/user_group.mako') |
|
|||
42 | def user_group_profile(self): |
|
39 | def user_group_profile(self): | |
43 | c = self._get_local_tmpl_context() |
|
40 | c = self._get_local_tmpl_context() | |
44 | c.active = 'profile' |
|
41 | c.active = 'profile' |
@@ -20,9 +20,13 b'' | |||||
20 |
|
20 | |||
21 |
|
21 | |||
22 | def includeme(config): |
|
22 | def includeme(config): | |
|
23 | from rhodecode.apps.user_profile.views import UserProfileView | |||
|
24 | ||||
23 | config.add_route( |
|
25 | config.add_route( | |
24 | name='user_profile', |
|
26 | name='user_profile', | |
25 | pattern='/_profiles/{username}') |
|
27 | pattern='/_profiles/{username}') | |
26 |
|
28 | config.add_view( | ||
27 | # Scan module for configuration decorators. |
|
29 | UserProfileView, | |
28 | config.scan('.views', ignore='.tests') |
|
30 | attr='user_profile', | |
|
31 | route_name='user_profile', request_method='GET', | |||
|
32 | renderer='rhodecode:templates/users/user.mako') |
@@ -21,7 +21,6 b'' | |||||
21 | import logging |
|
21 | import logging | |
22 |
|
22 | |||
23 | from pyramid.httpexceptions import HTTPNotFound |
|
23 | from pyramid.httpexceptions import HTTPNotFound | |
24 | from pyramid.view import view_config |
|
|||
25 |
|
24 | |||
26 | from rhodecode.apps._base import BaseAppView |
|
25 | from rhodecode.apps._base import BaseAppView | |
27 | from rhodecode.lib.auth import LoginRequired, NotAnonymous |
|
26 | from rhodecode.lib.auth import LoginRequired, NotAnonymous | |
@@ -36,9 +35,6 b' class UserProfileView(BaseAppView):' | |||||
36 |
|
35 | |||
37 | @LoginRequired() |
|
36 | @LoginRequired() | |
38 | @NotAnonymous() |
|
37 | @NotAnonymous() | |
39 | @view_config( |
|
|||
40 | route_name='user_profile', request_method='GET', |
|
|||
41 | renderer='rhodecode:templates/users/user.mako') |
|
|||
42 | def user_profile(self): |
|
38 | def user_profile(self): | |
43 | # register local template context |
|
39 | # register local template context | |
44 | c = self._get_local_tmpl_context() |
|
40 | c = self._get_local_tmpl_context() |
@@ -20,7 +20,7 b'' | |||||
20 |
|
20 | |||
21 | def generate_jsroutes_content(jsroutes): |
|
21 | def generate_jsroutes_content(jsroutes): | |
22 | statements = [] |
|
22 | statements = [] | |
23 | for url_name, url, fields in jsroutes: |
|
23 | for url_name, url, fields in sorted(jsroutes): | |
24 | statements.append( |
|
24 | statements.append( | |
25 | "pyroutes.register('%s', '%s', %s);" % (url_name, url, fields)) |
|
25 | "pyroutes.register('%s', '%s', %s);" % (url_name, url, fields)) | |
26 | return u''' |
|
26 | return u''' |
@@ -92,6 +92,7 b' def make_pyramid_app(global_config, **se' | |||||
92 | # Allows to use format style "{ENV_NAME}" placeholders in the configuration. It |
|
92 | # Allows to use format style "{ENV_NAME}" placeholders in the configuration. It | |
93 | # will be replaced by the value of the environment variable "NAME" in this case. |
|
93 | # will be replaced by the value of the environment variable "NAME" in this case. | |
94 | start_time = time.time() |
|
94 | start_time = time.time() | |
|
95 | log.info('Pyramid app config starting') | |||
95 |
|
96 | |||
96 | debug = asbool(global_config.get('debug')) |
|
97 | debug = asbool(global_config.get('debug')) | |
97 | if debug: |
|
98 | if debug: | |
@@ -121,6 +122,7 b' def make_pyramid_app(global_config, **se' | |||||
121 | pyramid_app.config = config |
|
122 | pyramid_app.config = config | |
122 |
|
123 | |||
123 | config.configure_celery(global_config['__file__']) |
|
124 | config.configure_celery(global_config['__file__']) | |
|
125 | ||||
124 | # creating the app uses a connection - return it after we are done |
|
126 | # creating the app uses a connection - return it after we are done | |
125 | meta.Session.remove() |
|
127 | meta.Session.remove() | |
126 | total_time = time.time() - start_time |
|
128 | total_time = time.time() - start_time | |
@@ -234,7 +236,7 b' def includeme_first(config):' | |||||
234 | '_static/rhodecode', path='rhodecode:public', cache_max_age=3600 * 24) |
|
236 | '_static/rhodecode', path='rhodecode:public', cache_max_age=3600 * 24) | |
235 |
|
237 | |||
236 |
|
238 | |||
237 | def includeme(config): |
|
239 | def includeme(config, auth_resources=None): | |
238 | log.debug('Initializing main includeme from %s', os.path.basename(__file__)) |
|
240 | log.debug('Initializing main includeme from %s', os.path.basename(__file__)) | |
239 | settings = config.registry.settings |
|
241 | settings = config.registry.settings | |
240 | config.set_request_factory(Request) |
|
242 | config.set_request_factory(Request) | |
@@ -256,24 +258,29 b' def includeme(config):' | |||||
256 | config.include('pyramid_mako') |
|
258 | config.include('pyramid_mako') | |
257 | config.include('rhodecode.lib.rc_beaker') |
|
259 | config.include('rhodecode.lib.rc_beaker') | |
258 | config.include('rhodecode.lib.rc_cache') |
|
260 | config.include('rhodecode.lib.rc_cache') | |
259 |
|
||||
260 | config.include('rhodecode.apps._base.navigation') |
|
261 | config.include('rhodecode.apps._base.navigation') | |
261 | config.include('rhodecode.apps._base.subscribers') |
|
262 | config.include('rhodecode.apps._base.subscribers') | |
262 | config.include('rhodecode.tweens') |
|
263 | config.include('rhodecode.tweens') | |
263 | config.include('rhodecode.authentication') |
|
264 | config.include('rhodecode.authentication') | |
264 |
|
265 | |||
265 | if load_all: |
|
266 | if load_all: | |
266 | config.include('rhodecode.integrations') |
|
267 | ce_auth_resources = [ | |
|
268 | 'rhodecode.authentication.plugins.auth_crowd', | |||
|
269 | 'rhodecode.authentication.plugins.auth_headers', | |||
|
270 | 'rhodecode.authentication.plugins.auth_jasig_cas', | |||
|
271 | 'rhodecode.authentication.plugins.auth_ldap', | |||
|
272 | 'rhodecode.authentication.plugins.auth_pam', | |||
|
273 | 'rhodecode.authentication.plugins.auth_rhodecode', | |||
|
274 | 'rhodecode.authentication.plugins.auth_token', | |||
|
275 | ] | |||
267 |
|
276 | |||
268 | if load_all: |
|
|||
269 | # load CE authentication plugins |
|
277 | # load CE authentication plugins | |
270 | config.include('rhodecode.authentication.plugins.auth_crowd') |
|
278 | ||
271 | config.include('rhodecode.authentication.plugins.auth_headers') |
|
279 | if auth_resources: | |
272 | config.include('rhodecode.authentication.plugins.auth_jasig_cas') |
|
280 | ce_auth_resources.extend(auth_resources) | |
273 | config.include('rhodecode.authentication.plugins.auth_ldap') |
|
281 | ||
274 | config.include('rhodecode.authentication.plugins.auth_pam') |
|
282 | for resource in ce_auth_resources: | |
275 | config.include('rhodecode.authentication.plugins.auth_rhodecode') |
|
283 | config.include(resource) | |
276 | config.include('rhodecode.authentication.plugins.auth_token') |
|
|||
277 |
|
284 | |||
278 | # Auto discover authentication plugins and include their configuration. |
|
285 | # Auto discover authentication plugins and include their configuration. | |
279 | if asbool(settings.get('auth_plugin.import_legacy_plugins', 'true')): |
|
286 | if asbool(settings.get('auth_plugin.import_legacy_plugins', 'true')): | |
@@ -282,15 +289,17 b' def includeme(config):' | |||||
282 |
|
289 | |||
283 | # apps |
|
290 | # apps | |
284 | if load_all: |
|
291 | if load_all: | |
|
292 | config.include('rhodecode.api') | |||
285 | config.include('rhodecode.apps._base') |
|
293 | config.include('rhodecode.apps._base') | |
286 | config.include('rhodecode.apps.hovercards') |
|
294 | config.include('rhodecode.apps.hovercards') | |
287 | config.include('rhodecode.apps.ops') |
|
295 | config.include('rhodecode.apps.ops') | |
288 | config.include('rhodecode.apps.admin') |
|
|||
289 | config.include('rhodecode.apps.channelstream') |
|
296 | config.include('rhodecode.apps.channelstream') | |
290 | config.include('rhodecode.apps.file_store') |
|
297 | config.include('rhodecode.apps.file_store') | |
|
298 | config.include('rhodecode.apps.admin') | |||
291 | config.include('rhodecode.apps.login') |
|
299 | config.include('rhodecode.apps.login') | |
292 | config.include('rhodecode.apps.home') |
|
300 | config.include('rhodecode.apps.home') | |
293 | config.include('rhodecode.apps.journal') |
|
301 | config.include('rhodecode.apps.journal') | |
|
302 | ||||
294 | config.include('rhodecode.apps.repository') |
|
303 | config.include('rhodecode.apps.repository') | |
295 | config.include('rhodecode.apps.repo_group') |
|
304 | config.include('rhodecode.apps.repo_group') | |
296 | config.include('rhodecode.apps.user_group') |
|
305 | config.include('rhodecode.apps.user_group') | |
@@ -298,11 +307,14 b' def includeme(config):' | |||||
298 | config.include('rhodecode.apps.user_profile') |
|
307 | config.include('rhodecode.apps.user_profile') | |
299 | config.include('rhodecode.apps.user_group_profile') |
|
308 | config.include('rhodecode.apps.user_group_profile') | |
300 | config.include('rhodecode.apps.my_account') |
|
309 | config.include('rhodecode.apps.my_account') | |
|
310 | config.include('rhodecode.apps.gist') | |||
|
311 | ||||
301 | config.include('rhodecode.apps.svn_support') |
|
312 | config.include('rhodecode.apps.svn_support') | |
302 | config.include('rhodecode.apps.ssh_support') |
|
313 | config.include('rhodecode.apps.ssh_support') | |
303 | config.include('rhodecode.apps.gist') |
|
|||
304 | config.include('rhodecode.apps.debug_style') |
|
314 | config.include('rhodecode.apps.debug_style') | |
305 | config.include('rhodecode.api') |
|
315 | ||
|
316 | if load_all: | |||
|
317 | config.include('rhodecode.integrations') | |||
306 |
|
318 | |||
307 | config.add_route('rhodecode_support', 'https://rhodecode.com/help/', static=True) |
|
319 | config.add_route('rhodecode_support', 'https://rhodecode.com/help/', static=True) | |
308 | config.add_translation_dirs('rhodecode:i18n/') |
|
320 | config.add_translation_dirs('rhodecode:i18n/') |
@@ -46,7 +46,7 b' def _pre_push_hook(*args, **kwargs):' | |||||
46 | # e.g store a list of patterns to be forbidden e.g `*.exe, *.dump` |
|
46 | # e.g store a list of patterns to be forbidden e.g `*.exe, *.dump` | |
47 | forbid_files = extra_fields.get_field(repo_extra_fields, key='forbid_files_glob', |
|
47 | forbid_files = extra_fields.get_field(repo_extra_fields, key='forbid_files_glob', | |
48 | convert_type=False, default=[]) |
|
48 | convert_type=False, default=[]) | |
49 | forbid_files = aslist(forbid_files) |
|
49 | forbid_files = aslist(forbid_files, sep=',') | |
50 |
|
50 | |||
51 | # forbid_files = ['*'] # example pattern |
|
51 | # forbid_files = ['*'] # example pattern | |
52 |
|
52 |
@@ -37,6 +37,7 b' from rhodecode.lib.vcs.backends.git.diff' | |||||
37 | def get_svn_files(repo, vcs_repo, refs): |
|
37 | def get_svn_files(repo, vcs_repo, refs): | |
38 | txn_id = refs[0] |
|
38 | txn_id = refs[0] | |
39 | files = [] |
|
39 | files = [] | |
|
40 | ||||
40 | stdout, stderr = vcs_repo.run_svn_command( |
|
41 | stdout, stderr = vcs_repo.run_svn_command( | |
41 | ['svnlook', 'changed', repo.repo_full_path, '--transaction', txn_id]) |
|
42 | ['svnlook', 'changed', repo.repo_full_path, '--transaction', txn_id]) | |
42 |
|
43 | |||
@@ -63,10 +64,17 b' def get_svn_files(repo, vcs_repo, refs):' | |||||
63 | parsed_entry['operation'] = rc_op |
|
64 | parsed_entry['operation'] = rc_op | |
64 |
|
65 | |||
65 | if rc_op in ['A', 'M']: |
|
66 | if rc_op in ['A', 'M']: | |
|
67 | ||||
66 | stdout, stderr = vcs_repo.run_svn_command( |
|
68 | stdout, stderr = vcs_repo.run_svn_command( | |
67 |
['svnlook', 'filesize', repo.repo_full_path, path, '--transaction', txn_id] |
|
69 | ['svnlook', 'filesize', repo.repo_full_path, path, '--transaction', txn_id], | |
68 | file_size = int(stdout.strip()) |
|
70 | _safe=True | |
69 | parsed_entry['file_size'] = file_size |
|
71 | ) | |
|
72 | ||||
|
73 | if "Path '{}' is not a file".format(path.rstrip('/')) in stderr: | |||
|
74 | # skip dirs | |||
|
75 | continue | |||
|
76 | ||||
|
77 | parsed_entry['file_size'] = int(stdout.strip()) | |||
70 |
|
78 | |||
71 | files.append(parsed_entry) |
|
79 | files.append(parsed_entry) | |
72 |
|
80 |
@@ -20,29 +20,9 b' import logging' | |||||
20 | from pyramid.threadlocal import get_current_registry |
|
20 | from pyramid.threadlocal import get_current_registry | |
21 | from rhodecode.events.base import RhodeCodeIntegrationEvent |
|
21 | from rhodecode.events.base import RhodeCodeIntegrationEvent | |
22 |
|
22 | |||
23 |
|
23 | from rhodecode.events.base import ( # pragma: no cover | ||
24 | log = logging.getLogger(__name__) |
|
24 | FtsBuild | |
25 |
|
25 | ) | ||
26 |
|
||||
27 | def trigger(event, registry=None): |
|
|||
28 | """ |
|
|||
29 | Helper method to send an event. This wraps the pyramid logic to send an |
|
|||
30 | event. |
|
|||
31 | """ |
|
|||
32 | # For the first step we are using pyramids thread locals here. If the |
|
|||
33 | # event mechanism works out as a good solution we should think about |
|
|||
34 | # passing the registry as an argument to get rid of it. |
|
|||
35 | event_name = event.__class__ |
|
|||
36 | log.debug('event %s sent for execution', event_name) |
|
|||
37 | registry = registry or get_current_registry() |
|
|||
38 | registry.notify(event) |
|
|||
39 | log.debug('event %s triggered using registry %s', event_name, registry) |
|
|||
40 |
|
||||
41 | # Send the events to integrations directly |
|
|||
42 | from rhodecode.integrations import integrations_event_handler |
|
|||
43 | if isinstance(event, RhodeCodeIntegrationEvent): |
|
|||
44 | integrations_event_handler(event) |
|
|||
45 |
|
||||
46 |
|
26 | |||
47 | from rhodecode.events.user import ( # pragma: no cover |
|
27 | from rhodecode.events.user import ( # pragma: no cover | |
48 | UserPreCreate, |
|
28 | UserPreCreate, | |
@@ -78,3 +58,26 b' from rhodecode.events.pullrequest import' | |||||
78 | PullRequestMergeEvent, |
|
58 | PullRequestMergeEvent, | |
79 | PullRequestCloseEvent, |
|
59 | PullRequestCloseEvent, | |
80 | ) |
|
60 | ) | |
|
61 | ||||
|
62 | ||||
|
63 | log = logging.getLogger(__name__) | |||
|
64 | ||||
|
65 | ||||
|
66 | def trigger(event, registry=None): | |||
|
67 | """ | |||
|
68 | Helper method to send an event. This wraps the pyramid logic to send an | |||
|
69 | event. | |||
|
70 | """ | |||
|
71 | # For the first step we are using pyramids thread locals here. If the | |||
|
72 | # event mechanism works out as a good solution we should think about | |||
|
73 | # passing the registry as an argument to get rid of it. | |||
|
74 | event_name = event.__class__ | |||
|
75 | log.debug('event %s sent for execution', event_name) | |||
|
76 | registry = registry or get_current_registry() | |||
|
77 | registry.notify(event) | |||
|
78 | log.debug('event %s triggered using registry %s', event_name, registry) | |||
|
79 | ||||
|
80 | # Send the events to integrations directly | |||
|
81 | from rhodecode.integrations import integrations_event_handler | |||
|
82 | if isinstance(event, RhodeCodeIntegrationEvent): | |||
|
83 | integrations_event_handler(event) |
@@ -120,3 +120,11 b' class RhodeCodeIntegrationEvent(Rhodecod' | |||||
120 | Special subclass for Integration events |
|
120 | Special subclass for Integration events | |
121 | """ |
|
121 | """ | |
122 | description = '' |
|
122 | description = '' | |
|
123 | ||||
|
124 | ||||
|
125 | class FtsBuild(RhodecodeEvent): | |||
|
126 | """ | |||
|
127 | This event will be triggered when FTS Build is triggered | |||
|
128 | """ | |||
|
129 | name = 'fts-build' | |||
|
130 | display_name = 'Start FTS Build' |
This diff has been collapsed as it changes many lines, (1121 lines changed) Show them Hide them | |||||
@@ -6,9 +6,9 b'' | |||||
6 | #, fuzzy |
|
6 | #, fuzzy | |
7 | msgid "" |
|
7 | msgid "" | |
8 | msgstr "" |
|
8 | msgstr "" | |
9 |
"Project-Id-Version: rhodecode-enterprise-ce 4.2 |
|
9 | "Project-Id-Version: rhodecode-enterprise-ce 4.23.0\n" | |
10 | "Report-Msgid-Bugs-To: marcin@rhodecode.com\n" |
|
10 | "Report-Msgid-Bugs-To: marcin@rhodecode.com\n" | |
11 |
"POT-Creation-Date: 2020-1 |
|
11 | "POT-Creation-Date: 2020-11-23 09:00+0000\n" | |
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
|
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | |
13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
|
13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
|
14 | "Language-Team: LANGUAGE <LL@li.org>\n" | |
@@ -18,9 +18,7 b' msgstr ""' | |||||
18 | "Generated-By: Babel 1.3\n" |
|
18 | "Generated-By: Babel 1.3\n" | |
19 |
|
19 | |||
20 | #: rhodecode/api/views/pull_request_api.py:646 |
|
20 | #: rhodecode/api/views/pull_request_api.py:646 | |
21 |
#: rhodecode/api/views/repo_api.py:168 |
|
21 | #: rhodecode/api/views/repo_api.py:1686 | |
22 | #: rhodecode/apps/repository/views/repo_commits.py:471 |
|
|||
23 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1658 |
|
|||
24 | msgid "posted a new {} comment" |
|
22 | msgid "posted a new {} comment" | |
25 | msgstr "" |
|
23 | msgstr "" | |
26 |
|
24 | |||
@@ -63,9 +61,9 b' msgstr ""' | |||||
63 | #: rhodecode/templates/admin/integrations/list.mako:172 |
|
61 | #: rhodecode/templates/admin/integrations/list.mako:172 | |
64 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:7 |
|
62 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:7 | |
65 | #: rhodecode/templates/base/issue_tracker_settings.mako:138 |
|
63 | #: rhodecode/templates/base/issue_tracker_settings.mako:138 | |
66 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
64 | #: rhodecode/templates/changeset/changeset_file_comment.mako:233 | |
67 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
65 | #: rhodecode/templates/changeset/changeset_file_comment.mako:247 | |
68 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
66 | #: rhodecode/templates/changeset/changeset_file_comment.mako:256 | |
69 | #: rhodecode/templates/data_table/_dt_elements.mako:173 |
|
67 | #: rhodecode/templates/data_table/_dt_elements.mako:173 | |
70 | #: rhodecode/templates/data_table/_dt_elements.mako:251 |
|
68 | #: rhodecode/templates/data_table/_dt_elements.mako:251 | |
71 | #: rhodecode/templates/data_table/_dt_elements.mako:266 |
|
69 | #: rhodecode/templates/data_table/_dt_elements.mako:266 | |
@@ -76,9 +74,9 b' msgstr ""' | |||||
76 | #: rhodecode/templates/files/files_edit.mako:57 |
|
74 | #: rhodecode/templates/files/files_edit.mako:57 | |
77 | #: rhodecode/templates/files/files_source.mako:39 |
|
75 | #: rhodecode/templates/files/files_source.mako:39 | |
78 | #: rhodecode/templates/files/files_source.mako:52 |
|
76 | #: rhodecode/templates/files/files_source.mako:52 | |
79 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
77 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:81 | |
80 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
78 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:622 | |
81 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
79 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:679 | |
82 | #: rhodecode/templates/user_group/profile.mako:8 |
|
80 | #: rhodecode/templates/user_group/profile.mako:8 | |
83 | #: rhodecode/templates/users/user_profile.mako:8 |
|
81 | #: rhodecode/templates/users/user_profile.mako:8 | |
84 | msgid "Edit" |
|
82 | msgid "Edit" | |
@@ -377,200 +375,200 b' msgstr ""' | |||||
377 | msgid "Error occurred during creation of user %s" |
|
375 | msgid "Error occurred during creation of user %s" | |
378 | msgstr "" |
|
376 | msgstr "" | |
379 |
|
377 | |||
380 |
#: rhodecode/apps/admin/views/users.py:34 |
|
378 | #: rhodecode/apps/admin/views/users.py:349 | |
381 | msgid "User updated successfully" |
|
379 | msgid "User updated successfully" | |
382 | msgstr "" |
|
380 | msgstr "" | |
383 |
|
381 | |||
384 |
#: rhodecode/apps/admin/views/users.py:36 |
|
382 | #: rhodecode/apps/admin/views/users.py:367 | |
385 | #, python-format |
|
383 | #, python-format | |
386 | msgid "Error occurred during update of user %s" |
|
384 | msgid "Error occurred during update of user %s" | |
387 | msgstr "" |
|
385 | msgstr "" | |
388 |
|
386 | |||
389 |
#: rhodecode/apps/admin/views/users.py:39 |
|
387 | #: rhodecode/apps/admin/views/users.py:398 | |
390 | #, python-format |
|
388 | #, python-format | |
391 | msgid "Detached %s repositories" |
|
389 | msgid "Detached %s repositories" | |
392 | msgstr "" |
|
390 | msgstr "" | |
393 |
|
391 | |||
394 |
#: rhodecode/apps/admin/views/users.py: |
|
392 | #: rhodecode/apps/admin/views/users.py:401 | |
395 | #, python-format |
|
393 | #, python-format | |
396 | msgid "Deleted %s repositories" |
|
394 | msgid "Deleted %s repositories" | |
397 | msgstr "" |
|
395 | msgstr "" | |
398 |
|
396 | |||
399 |
#: rhodecode/apps/admin/views/users.py:40 |
|
397 | #: rhodecode/apps/admin/views/users.py:407 | |
400 | #, python-format |
|
398 | #, python-format | |
401 | msgid "Detached %s repository groups" |
|
399 | msgid "Detached %s repository groups" | |
402 | msgstr "" |
|
400 | msgstr "" | |
403 |
|
401 | |||
404 |
#: rhodecode/apps/admin/views/users.py:40 |
|
402 | #: rhodecode/apps/admin/views/users.py:410 | |
405 | #, python-format |
|
403 | #, python-format | |
406 | msgid "Deleted %s repository groups" |
|
404 | msgid "Deleted %s repository groups" | |
407 | msgstr "" |
|
405 | msgstr "" | |
408 |
|
406 | |||
409 |
#: rhodecode/apps/admin/views/users.py:41 |
|
407 | #: rhodecode/apps/admin/views/users.py:416 | |
410 | #, python-format |
|
408 | #, python-format | |
411 | msgid "Detached %s user groups" |
|
409 | msgid "Detached %s user groups" | |
412 | msgstr "" |
|
410 | msgstr "" | |
413 |
|
411 | |||
414 |
#: rhodecode/apps/admin/views/users.py:41 |
|
412 | #: rhodecode/apps/admin/views/users.py:419 | |
415 | #, python-format |
|
413 | #, python-format | |
416 | msgid "Deleted %s user groups" |
|
414 | msgid "Deleted %s user groups" | |
417 | msgstr "" |
|
415 | msgstr "" | |
418 |
|
416 | |||
419 |
#: rhodecode/apps/admin/views/users.py:42 |
|
417 | #: rhodecode/apps/admin/views/users.py:425 | |
420 | #, python-format |
|
418 | #, python-format | |
421 | msgid "Detached %s pull requests" |
|
419 | msgid "Detached %s pull requests" | |
422 | msgstr "" |
|
420 | msgstr "" | |
423 |
|
421 | |||
424 |
#: rhodecode/apps/admin/views/users.py:42 |
|
422 | #: rhodecode/apps/admin/views/users.py:428 | |
425 | #, python-format |
|
423 | #, python-format | |
426 | msgid "Deleted %s pull requests" |
|
424 | msgid "Deleted %s pull requests" | |
427 | msgstr "" |
|
425 | msgstr "" | |
428 |
|
426 | |||
429 |
#: rhodecode/apps/admin/views/users.py:43 |
|
427 | #: rhodecode/apps/admin/views/users.py:434 | |
430 | #, python-format |
|
428 | #, python-format | |
431 | msgid "Detached %s artifacts" |
|
429 | msgid "Detached %s artifacts" | |
432 | msgstr "" |
|
430 | msgstr "" | |
433 |
|
431 | |||
434 |
#: rhodecode/apps/admin/views/users.py:43 |
|
432 | #: rhodecode/apps/admin/views/users.py:437 | |
435 | #, python-format |
|
433 | #, python-format | |
436 | msgid "Deleted %s artifacts" |
|
434 | msgid "Deleted %s artifacts" | |
437 | msgstr "" |
|
435 | msgstr "" | |
438 |
|
436 | |||
439 |
#: rhodecode/apps/admin/views/users.py:48 |
|
437 | #: rhodecode/apps/admin/views/users.py:486 | |
440 | msgid "Successfully deleted user `{}`" |
|
438 | msgid "Successfully deleted user `{}`" | |
441 | msgstr "" |
|
439 | msgstr "" | |
442 |
|
440 | |||
443 |
#: rhodecode/apps/admin/views/users.py:4 |
|
441 | #: rhodecode/apps/admin/views/users.py:493 | |
444 | msgid "An error occurred during deletion of user" |
|
442 | msgid "An error occurred during deletion of user" | |
445 | msgstr "" |
|
443 | msgstr "" | |
446 |
|
444 | |||
447 |
#: rhodecode/apps/admin/views/users.py:5 |
|
445 | #: rhodecode/apps/admin/views/users.py:562 | |
448 | msgid "" |
|
446 | msgid "" | |
449 | "The user participates as reviewer in {} pull request and cannot be deleted. \n" |
|
447 | "The user participates as reviewer in {} pull request and cannot be deleted. \n" | |
450 | "You can set the user to \"{}\" instead of deleting it." |
|
448 | "You can set the user to \"{}\" instead of deleting it." | |
451 | msgstr "" |
|
449 | msgstr "" | |
452 |
|
450 | |||
453 |
#: rhodecode/apps/admin/views/users.py:56 |
|
451 | #: rhodecode/apps/admin/views/users.py:568 | |
454 | msgid "" |
|
452 | msgid "" | |
455 | "The user participates as reviewer in {} pull requests and cannot be deleted. \n" |
|
453 | "The user participates as reviewer in {} pull requests and cannot be deleted. \n" | |
456 | "You can set the user to \"{}\" instead of deleting it." |
|
454 | "You can set the user to \"{}\" instead of deleting it." | |
457 | msgstr "" |
|
455 | msgstr "" | |
458 |
|
456 | |||
459 |
#: rhodecode/apps/admin/views/users.py:65 |
|
457 | #: rhodecode/apps/admin/views/users.py:657 | |
460 | msgid "User global permissions updated successfully" |
|
458 | msgid "User global permissions updated successfully" | |
461 | msgstr "" |
|
459 | msgstr "" | |
462 |
|
460 | |||
463 |
#: rhodecode/apps/admin/views/users.py:67 |
|
461 | #: rhodecode/apps/admin/views/users.py:675 | |
464 | #: rhodecode/apps/user_group/views/__init__.py:479 |
|
462 | #: rhodecode/apps/user_group/views/__init__.py:479 | |
465 | msgid "An error occurred during permissions saving" |
|
463 | msgid "An error occurred during permissions saving" | |
466 | msgstr "" |
|
464 | msgstr "" | |
467 |
|
465 | |||
468 |
#: rhodecode/apps/admin/views/users.py:69 |
|
466 | #: rhodecode/apps/admin/views/users.py:698 | |
469 | msgid "Force password change enabled for user" |
|
467 | msgid "Force password change enabled for user" | |
470 | msgstr "" |
|
468 | msgstr "" | |
471 |
|
469 | |||
472 |
#: rhodecode/apps/admin/views/users.py:70 |
|
470 | #: rhodecode/apps/admin/views/users.py:706 | |
473 |
#: rhodecode/apps/admin/views/users.py:73 |
|
471 | #: rhodecode/apps/admin/views/users.py:736 | |
474 | msgid "An error occurred during password reset for user" |
|
472 | msgid "An error occurred during password reset for user" | |
475 | msgstr "" |
|
473 | msgstr "" | |
476 |
|
474 | |||
477 |
#: rhodecode/apps/admin/views/users.py:72 |
|
475 | #: rhodecode/apps/admin/views/users.py:727 | |
478 | msgid "Force password change disabled for user" |
|
476 | msgid "Force password change disabled for user" | |
479 | msgstr "" |
|
477 | msgstr "" | |
480 |
|
478 | |||
481 |
#: rhodecode/apps/admin/views/users.py: |
|
479 | #: rhodecode/apps/admin/views/users.py:800 | |
482 | #, python-format |
|
480 | #, python-format | |
483 | msgid "Linked repository group `%s` as personal" |
|
481 | msgid "Linked repository group `%s` as personal" | |
484 | msgstr "" |
|
482 | msgstr "" | |
485 |
|
483 | |||
486 | #: rhodecode/apps/admin/views/users.py:802 |
|
|||
487 | #, python-format |
|
|||
488 | msgid "Created repository group `%s`" |
|
|||
489 | msgstr "" |
|
|||
490 |
|
||||
491 | #: rhodecode/apps/admin/views/users.py:806 |
|
484 | #: rhodecode/apps/admin/views/users.py:806 | |
492 | #, python-format |
|
485 | #, python-format | |
|
486 | msgid "Created repository group `%s`" | |||
|
487 | msgstr "" | |||
|
488 | ||||
|
489 | #: rhodecode/apps/admin/views/users.py:810 | |||
|
490 | #, python-format | |||
493 | msgid "Repository group `%s` is already taken" |
|
491 | msgid "Repository group `%s` is already taken" | |
494 | msgstr "" |
|
492 | msgstr "" | |
495 |
|
493 | |||
496 |
#: rhodecode/apps/admin/views/users.py:81 |
|
494 | #: rhodecode/apps/admin/views/users.py:815 | |
497 | msgid "An error occurred during repository group creation for user" |
|
495 | msgid "An error occurred during repository group creation for user" | |
498 | msgstr "" |
|
496 | msgstr "" | |
499 |
|
497 | |||
500 |
#: rhodecode/apps/admin/views/users.py:83 |
|
498 | #: rhodecode/apps/admin/views/users.py:838 | |
501 | #: rhodecode/apps/my_account/views/my_account.py:161 |
|
499 | #: rhodecode/apps/my_account/views/my_account.py:161 | |
502 | #: rhodecode/templates/admin/my_account/my_account_auth_tokens.mako:28 |
|
500 | #: rhodecode/templates/admin/my_account/my_account_auth_tokens.mako:28 | |
503 | #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:33 |
|
501 | #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:33 | |
504 | msgid "Role" |
|
502 | msgid "Role" | |
505 | msgstr "" |
|
503 | msgstr "" | |
506 |
|
504 | |||
507 |
#: rhodecode/apps/admin/views/users.py:89 |
|
505 | #: rhodecode/apps/admin/views/users.py:896 | |
508 | #: rhodecode/apps/my_account/views/my_account.py:217 |
|
506 | #: rhodecode/apps/my_account/views/my_account.py:217 | |
509 | msgid "Auth token successfully created" |
|
507 | msgid "Auth token successfully created" | |
510 | msgstr "" |
|
508 | msgstr "" | |
511 |
|
509 | |||
512 |
#: rhodecode/apps/admin/views/users.py:92 |
|
510 | #: rhodecode/apps/admin/views/users.py:925 | |
513 | #: rhodecode/apps/my_account/views/my_account.py:241 |
|
511 | #: rhodecode/apps/my_account/views/my_account.py:241 | |
514 | msgid "Auth token successfully deleted" |
|
512 | msgid "Auth token successfully deleted" | |
515 | msgstr "" |
|
513 | msgstr "" | |
516 |
|
514 | |||
517 |
#: rhodecode/apps/admin/views/users.py: |
|
515 | #: rhodecode/apps/admin/views/users.py:1001 | |
518 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:117 |
|
516 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:117 | |
519 | msgid "Ssh Key successfully created" |
|
517 | msgid "Ssh Key successfully created" | |
520 | msgstr "" |
|
518 | msgstr "" | |
521 |
|
519 | |||
522 | #: rhodecode/apps/admin/views/users.py:1003 |
|
|||
523 | #: rhodecode/apps/admin/views/users.py:1007 |
|
520 | #: rhodecode/apps/admin/views/users.py:1007 | |
|
521 | #: rhodecode/apps/admin/views/users.py:1011 | |||
524 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:123 |
|
522 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:123 | |
525 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:127 |
|
523 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:127 | |
526 | msgid "An error occurred during ssh key saving: {}" |
|
524 | msgid "An error occurred during ssh key saving: {}" | |
527 | msgstr "" |
|
525 | msgstr "" | |
528 |
|
526 | |||
529 |
#: rhodecode/apps/admin/views/users.py:104 |
|
527 | #: rhodecode/apps/admin/views/users.py:1045 | |
530 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:157 |
|
528 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:157 | |
531 | msgid "Ssh key successfully deleted" |
|
529 | msgid "Ssh key successfully deleted" | |
532 | msgstr "" |
|
530 | msgstr "" | |
533 |
|
531 | |||
534 |
#: rhodecode/apps/admin/views/users.py:10 |
|
532 | #: rhodecode/apps/admin/views/users.py:1091 | |
535 | #, python-format |
|
533 | #, python-format | |
536 | msgid "Added new email address `%s` for user account" |
|
534 | msgid "Added new email address `%s` for user account" | |
537 | msgstr "" |
|
535 | msgstr "" | |
538 |
|
536 | |||
539 | #: rhodecode/apps/admin/views/users.py:1093 |
|
|||
540 | msgid "Email `{}` is already registered for another user." |
|
|||
541 | msgstr "" |
|
|||
542 |
|
||||
543 | #: rhodecode/apps/admin/views/users.py:1097 |
|
537 | #: rhodecode/apps/admin/views/users.py:1097 | |
|
538 | msgid "Email `{}` is already registered for another user." | |||
|
539 | msgstr "" | |||
|
540 | ||||
|
541 | #: rhodecode/apps/admin/views/users.py:1101 | |||
544 | msgid "An error occurred during email saving" |
|
542 | msgid "An error occurred during email saving" | |
545 | msgstr "" |
|
543 | msgstr "" | |
546 |
|
544 | |||
547 |
#: rhodecode/apps/admin/views/users.py:112 |
|
545 | #: rhodecode/apps/admin/views/users.py:1128 | |
548 | msgid "Removed email address from user account" |
|
546 | msgid "Removed email address from user account" | |
549 | msgstr "" |
|
547 | msgstr "" | |
550 |
|
548 | |||
551 |
#: rhodecode/apps/admin/views/users.py:117 |
|
549 | #: rhodecode/apps/admin/views/users.py:1174 | |
552 | #, python-format |
|
550 | #, python-format | |
553 | msgid "An error occurred during ip saving:%s" |
|
551 | msgid "An error occurred during ip saving:%s" | |
554 | msgstr "" |
|
552 | msgstr "" | |
555 |
|
553 | |||
556 | #: rhodecode/apps/admin/views/users.py:1192 |
|
|||
557 | msgid "An error occurred during ip saving" |
|
|||
558 | msgstr "" |
|
|||
559 |
|
||||
560 | #: rhodecode/apps/admin/views/users.py:1196 |
|
554 | #: rhodecode/apps/admin/views/users.py:1196 | |
|
555 | msgid "An error occurred during ip saving" | |||
|
556 | msgstr "" | |||
|
557 | ||||
|
558 | #: rhodecode/apps/admin/views/users.py:1200 | |||
561 | #, python-format |
|
559 | #, python-format | |
562 | msgid "Added ips %s to user whitelist" |
|
560 | msgid "Added ips %s to user whitelist" | |
563 | msgstr "" |
|
561 | msgstr "" | |
564 |
|
562 | |||
565 |
#: rhodecode/apps/admin/views/users.py:12 |
|
563 | #: rhodecode/apps/admin/views/users.py:1230 | |
566 | msgid "Removed ip address from user whitelist" |
|
564 | msgid "Removed ip address from user whitelist" | |
567 | msgstr "" |
|
565 | msgstr "" | |
568 |
|
566 | |||
569 |
#: rhodecode/apps/admin/views/users.py:129 |
|
567 | #: rhodecode/apps/admin/views/users.py:1295 | |
570 | msgid "Groups successfully changed" |
|
568 | msgid "Groups successfully changed" | |
571 | msgstr "" |
|
569 | msgstr "" | |
572 |
|
570 | |||
573 |
#: rhodecode/apps/admin/views/users.py:141 |
|
571 | #: rhodecode/apps/admin/views/users.py:1415 | |
574 | msgid "Deleted {} cache keys" |
|
572 | msgid "Deleted {} cache keys" | |
575 | msgstr "" |
|
573 | msgstr "" | |
576 |
|
574 | |||
@@ -649,7 +647,7 b' msgid "Error occurred during update of g' | |||||
649 | msgstr "" |
|
647 | msgstr "" | |
650 |
|
648 | |||
651 | #: rhodecode/apps/home/views.py:453 |
|
649 | #: rhodecode/apps/home/views.py:453 | |
652 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:9 |
|
650 | #: rhodecode/apps/repository/views/repo_pull_requests.py:983 | |
653 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:219 |
|
651 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:219 | |
654 | #: rhodecode/templates/admin/repos/repo_add.mako:15 |
|
652 | #: rhodecode/templates/admin/repos/repo_add.mako:15 | |
655 | #: rhodecode/templates/admin/repos/repo_add.mako:19 |
|
653 | #: rhodecode/templates/admin/repos/repo_add.mako:19 | |
@@ -736,11 +734,11 b' msgstr ""' | |||||
736 | msgid "Failed to update bookmarks. Make sure an unique position is used." |
|
734 | msgid "Failed to update bookmarks. Make sure an unique position is used." | |
737 | msgstr "" |
|
735 | msgstr "" | |
738 |
|
736 | |||
739 |
#: rhodecode/apps/my_account/views/my_account.py:70 |
|
737 | #: rhodecode/apps/my_account/views/my_account.py:709 | |
740 | msgid "Your account was updated successfully" |
|
738 | msgid "Your account was updated successfully" | |
741 | msgstr "" |
|
739 | msgstr "" | |
742 |
|
740 | |||
743 |
#: rhodecode/apps/my_account/views/my_account.py:71 |
|
741 | #: rhodecode/apps/my_account/views/my_account.py:716 | |
744 | msgid "Error occurred during update of user" |
|
742 | msgid "Error occurred during update of user" | |
745 | msgstr "" |
|
743 | msgstr "" | |
746 |
|
744 | |||
@@ -787,7 +785,7 b' msgstr ""' | |||||
787 |
|
785 | |||
788 | #: rhodecode/apps/repository/views/repo_changelog.py:66 |
|
786 | #: rhodecode/apps/repository/views/repo_changelog.py:66 | |
789 | #: rhodecode/apps/repository/views/repo_compare.py:64 |
|
787 | #: rhodecode/apps/repository/views/repo_compare.py:64 | |
790 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:82 |
|
788 | #: rhodecode/apps/repository/views/repo_pull_requests.py:832 | |
791 | msgid "There are no commits yet" |
|
789 | msgid "There are no commits yet" | |
792 | msgstr "" |
|
790 | msgstr "" | |
793 |
|
791 | |||
@@ -811,20 +809,30 b' msgstr ""' | |||||
811 | msgid "Created repository %s" |
|
809 | msgid "Created repository %s" | |
812 | msgstr "" |
|
810 | msgstr "" | |
813 |
|
811 | |||
814 |
#: rhodecode/apps/repository/views/repo_commits.py:11 |
|
812 | #: rhodecode/apps/repository/views/repo_commits.py:113 | |
815 | msgid "No such commit exists. Org exception: `{}`" |
|
813 | msgid "No such commit exists. Org exception: `{}`" | |
816 | msgstr "" |
|
814 | msgstr "" | |
817 |
|
815 | |||
818 |
#: rhodecode/apps/repository/views/repo_commits.py: |
|
816 | #: rhodecode/apps/repository/views/repo_commits.py:404 | |
819 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:1 |
|
817 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1620 | |
820 | #, python-format |
|
818 | #, python-format | |
821 | msgid "Status change %(transition_icon)s %(status)s" |
|
819 | msgid "Status change %(transition_icon)s %(status)s" | |
822 | msgstr "" |
|
820 | msgstr "" | |
823 |
|
821 | |||
824 |
#: rhodecode/apps/repository/views/repo_commits.py:4 |
|
822 | #: rhodecode/apps/repository/views/repo_commits.py:442 | |
825 | msgid "Changing the status of a commit associated with a closed pull request is not allowed" |
|
823 | msgid "Changing the status of a commit associated with a closed pull request is not allowed" | |
826 | msgstr "" |
|
824 | msgstr "" | |
827 |
|
825 | |||
|
826 | #: rhodecode/apps/repository/views/repo_commits.py:488 | |||
|
827 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1703 | |||
|
828 | msgid "posted {} new {} comment" | |||
|
829 | msgstr "" | |||
|
830 | ||||
|
831 | #: rhodecode/apps/repository/views/repo_commits.py:490 | |||
|
832 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1705 | |||
|
833 | msgid "posted {} new {} comments" | |||
|
834 | msgstr "" | |||
|
835 | ||||
828 | #: rhodecode/apps/repository/views/repo_compare.py:102 |
|
836 | #: rhodecode/apps/repository/views/repo_compare.py:102 | |
829 | msgid "Select commit" |
|
837 | msgid "Select commit" | |
830 | msgstr "" |
|
838 | msgstr "" | |
@@ -886,104 +894,104 b' msgstr ""' | |||||
886 | msgid "No such commit exists for this repository. Commit: {}" |
|
894 | msgid "No such commit exists for this repository. Commit: {}" | |
887 | msgstr "" |
|
895 | msgstr "" | |
888 |
|
896 | |||
889 |
#: rhodecode/apps/repository/views/repo_files.py:3 |
|
897 | #: rhodecode/apps/repository/views/repo_files.py:361 | |
890 | msgid "Downloads disabled" |
|
898 | msgid "Downloads disabled" | |
891 | msgstr "" |
|
899 | msgstr "" | |
892 |
|
900 | |||
893 |
#: rhodecode/apps/repository/views/repo_files.py:3 |
|
901 | #: rhodecode/apps/repository/views/repo_files.py:367 | |
894 | msgid "Unknown archive type for: `{}`" |
|
902 | msgid "Unknown archive type for: `{}`" | |
895 | msgstr "" |
|
903 | msgstr "" | |
896 |
|
904 | |||
897 |
#: rhodecode/apps/repository/views/repo_files.py:3 |
|
905 | #: rhodecode/apps/repository/views/repo_files.py:373 | |
898 | msgid "Unknown commit_id {}" |
|
906 | msgid "Unknown commit_id {}" | |
899 | msgstr "" |
|
907 | msgstr "" | |
900 |
|
908 | |||
901 |
#: rhodecode/apps/repository/views/repo_files.py:36 |
|
909 | #: rhodecode/apps/repository/views/repo_files.py:376 | |
902 | msgid "Empty repository" |
|
910 | msgid "Empty repository" | |
903 | msgstr "" |
|
911 | msgstr "" | |
904 |
|
912 | |||
905 |
#: rhodecode/apps/repository/views/repo_files.py:3 |
|
913 | #: rhodecode/apps/repository/views/repo_files.py:381 | |
906 | msgid "No node at path {} for this repository" |
|
914 | msgid "No node at path {} for this repository" | |
907 | msgstr "" |
|
915 | msgstr "" | |
908 |
|
916 | |||
909 |
#: rhodecode/apps/repository/views/repo_files.py:4 |
|
917 | #: rhodecode/apps/repository/views/repo_files.py:432 | |
910 | msgid "Unknown archive type" |
|
918 | msgid "Unknown archive type" | |
911 | msgstr "" |
|
919 | msgstr "" | |
912 |
|
920 | |||
913 |
#: rhodecode/apps/repository/views/repo_files.py:10 |
|
921 | #: rhodecode/apps/repository/views/repo_files.py:1027 | |
914 | msgid "Changesets" |
|
922 | msgid "Changesets" | |
915 | msgstr "" |
|
923 | msgstr "" | |
916 |
|
924 | |||
917 |
#: rhodecode/apps/repository/views/repo_files.py:10 |
|
925 | #: rhodecode/apps/repository/views/repo_files.py:1048 | |
918 | #: rhodecode/apps/repository/views/repo_summary.py:264 |
|
926 | #: rhodecode/apps/repository/views/repo_summary.py:264 | |
919 |
#: rhodecode/model/pull_request.py:1 |
|
927 | #: rhodecode/model/pull_request.py:1896 rhodecode/model/scm.py:999 | |
920 | #: rhodecode/templates/base/vcs_settings.mako:235 |
|
928 | #: rhodecode/templates/base/vcs_settings.mako:235 | |
921 | #: rhodecode/templates/summary/components.mako:10 |
|
929 | #: rhodecode/templates/summary/components.mako:10 | |
922 | msgid "Branches" |
|
930 | msgid "Branches" | |
923 | msgstr "" |
|
931 | msgstr "" | |
924 |
|
932 | |||
925 |
#: rhodecode/apps/repository/views/repo_files.py:10 |
|
933 | #: rhodecode/apps/repository/views/repo_files.py:1052 | |
926 |
#: rhodecode/model/scm.py:101 |
|
934 | #: rhodecode/model/scm.py:1016 rhodecode/templates/base/vcs_settings.mako:260 | |
927 | #: rhodecode/templates/summary/components.mako:34 |
|
935 | #: rhodecode/templates/summary/components.mako:34 | |
928 | msgid "Tags" |
|
936 | msgid "Tags" | |
929 | msgstr "" |
|
937 | msgstr "" | |
930 |
|
938 | |||
931 |
#: rhodecode/apps/repository/views/repo_files.py:1 |
|
939 | #: rhodecode/apps/repository/views/repo_files.py:1208 | |
932 |
#: rhodecode/apps/repository/views/repo_files.py:12 |
|
940 | #: rhodecode/apps/repository/views/repo_files.py:1237 | |
933 | msgid "Deleted file {} via RhodeCode Enterprise" |
|
941 | msgid "Deleted file {} via RhodeCode Enterprise" | |
934 | msgstr "" |
|
942 | msgstr "" | |
935 |
|
943 | |||
936 |
#: rhodecode/apps/repository/views/repo_files.py:12 |
|
944 | #: rhodecode/apps/repository/views/repo_files.py:1258 | |
937 | msgid "Successfully deleted file `{}`" |
|
945 | msgid "Successfully deleted file `{}`" | |
938 | msgstr "" |
|
946 | msgstr "" | |
939 |
|
947 | |||
940 |
#: rhodecode/apps/repository/views/repo_files.py:12 |
|
948 | #: rhodecode/apps/repository/views/repo_files.py:1262 | |
941 |
#: rhodecode/apps/repository/views/repo_files.py:13 |
|
949 | #: rhodecode/apps/repository/views/repo_files.py:1381 | |
942 |
#: rhodecode/apps/repository/views/repo_files.py:14 |
|
950 | #: rhodecode/apps/repository/views/repo_files.py:1514 | |
943 |
#: rhodecode/apps/repository/views/repo_files.py:16 |
|
951 | #: rhodecode/apps/repository/views/repo_files.py:1638 | |
944 | msgid "Error occurred during commit" |
|
952 | msgid "Error occurred during commit" | |
945 | msgstr "" |
|
953 | msgstr "" | |
946 |
|
954 | |||
947 |
#: rhodecode/apps/repository/views/repo_files.py:12 |
|
955 | #: rhodecode/apps/repository/views/repo_files.py:1295 | |
948 |
#: rhodecode/apps/repository/views/repo_files.py:13 |
|
956 | #: rhodecode/apps/repository/views/repo_files.py:1327 | |
949 | msgid "Edited file {} via RhodeCode Enterprise" |
|
957 | msgid "Edited file {} via RhodeCode Enterprise" | |
950 | msgstr "" |
|
958 | msgstr "" | |
951 |
|
959 | |||
952 |
#: rhodecode/apps/repository/views/repo_files.py:13 |
|
960 | #: rhodecode/apps/repository/views/repo_files.py:1350 | |
953 | msgid "No changes detected on {}" |
|
961 | msgid "No changes detected on {}" | |
954 | msgstr "" |
|
962 | msgstr "" | |
955 |
|
963 | |||
956 |
#: rhodecode/apps/repository/views/repo_files.py:13 |
|
964 | #: rhodecode/apps/repository/views/repo_files.py:1374 | |
957 | msgid "Successfully committed changes to file `{}`" |
|
965 | msgid "Successfully committed changes to file `{}`" | |
958 | msgstr "" |
|
966 | msgstr "" | |
959 |
|
967 | |||
960 |
#: rhodecode/apps/repository/views/repo_files.py:1 |
|
968 | #: rhodecode/apps/repository/views/repo_files.py:1416 | |
961 |
#: rhodecode/apps/repository/views/repo_files.py:14 |
|
969 | #: rhodecode/apps/repository/views/repo_files.py:1458 | |
962 | msgid "Added file via RhodeCode Enterprise" |
|
970 | msgid "Added file via RhodeCode Enterprise" | |
963 | msgstr "" |
|
971 | msgstr "" | |
964 |
|
972 | |||
965 |
#: rhodecode/apps/repository/views/repo_files.py:14 |
|
973 | #: rhodecode/apps/repository/views/repo_files.py:1474 | |
966 | msgid "No filename specified" |
|
974 | msgid "No filename specified" | |
967 | msgstr "" |
|
975 | msgstr "" | |
968 |
|
976 | |||
969 |
#: rhodecode/apps/repository/views/repo_files.py:14 |
|
977 | #: rhodecode/apps/repository/views/repo_files.py:1499 | |
970 | msgid "Successfully committed new file `{}`" |
|
978 | msgid "Successfully committed new file `{}`" | |
971 | msgstr "" |
|
979 | msgstr "" | |
972 |
|
980 | |||
973 |
#: rhodecode/apps/repository/views/repo_files.py:1 |
|
981 | #: rhodecode/apps/repository/views/repo_files.py:1507 | |
974 |
#: rhodecode/apps/repository/views/repo_files.py:160 |
|
982 | #: rhodecode/apps/repository/views/repo_files.py:1620 | |
975 | msgid "The location specified must be a relative path and must not contain .. in the path" |
|
983 | msgid "The location specified must be a relative path and must not contain .. in the path" | |
976 | msgstr "" |
|
984 | msgstr "" | |
977 |
|
985 | |||
978 |
#: rhodecode/apps/repository/views/repo_files.py:15 |
|
986 | #: rhodecode/apps/repository/views/repo_files.py:1565 | |
979 | msgid "Uploaded file via RhodeCode Enterprise" |
|
987 | msgid "Uploaded file via RhodeCode Enterprise" | |
980 | msgstr "" |
|
988 | msgstr "" | |
981 |
|
989 | |||
982 |
#: rhodecode/apps/repository/views/repo_files.py:1 |
|
990 | #: rhodecode/apps/repository/views/repo_files.py:1609 | |
983 | msgid "Successfully committed {} new files" |
|
991 | msgid "Successfully committed {} new files" | |
984 | msgstr "" |
|
992 | msgstr "" | |
985 |
|
993 | |||
986 |
#: rhodecode/apps/repository/views/repo_files.py:1 |
|
994 | #: rhodecode/apps/repository/views/repo_files.py:1611 | |
987 | msgid "Successfully committed 1 new file" |
|
995 | msgid "Successfully committed 1 new file" | |
988 | msgstr "" |
|
996 | msgstr "" | |
989 |
|
997 | |||
@@ -1013,72 +1021,72 b' msgstr ""' | |||||
1013 | msgid "Error occurred during update of repository {}" |
|
1021 | msgid "Error occurred during update of repository {}" | |
1014 | msgstr "" |
|
1022 | msgstr "" | |
1015 |
|
1023 | |||
1016 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:3 |
|
1024 | #: rhodecode/apps/repository/views/repo_pull_requests.py:331 | |
1017 | msgid "Pull Request state was force changed to `{}`" |
|
1025 | msgid "Pull Request state was force changed to `{}`" | |
1018 | msgstr "" |
|
1026 | msgstr "" | |
1019 |
|
1027 | |||
1020 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:8 |
|
1028 | #: rhodecode/apps/repository/views/repo_pull_requests.py:862 | |
1021 | msgid "Commit does not exist" |
|
1029 | msgid "Commit does not exist" | |
1022 | msgstr "" |
|
1030 | msgstr "" | |
1023 |
|
1031 | |||
1024 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:1 |
|
1032 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1142 | |
1025 | msgid "Error creating pull request: {}" |
|
1033 | msgid "Error creating pull request: {}" | |
1026 | msgstr "" |
|
1034 | msgstr "" | |
1027 |
|
1035 | |||
1028 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:11 |
|
1036 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1162 | |
1029 | msgid "source_repo or target repo not found" |
|
1037 | msgid "source_repo or target repo not found" | |
1030 | msgstr "" |
|
1038 | msgstr "" | |
1031 |
|
1039 | |||
1032 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:11 |
|
1040 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1173 | |
1033 | msgid "Not Enough permissions to source repo `{}`." |
|
1041 | msgid "Not Enough permissions to source repo `{}`." | |
1034 | msgstr "" |
|
1042 | msgstr "" | |
1035 |
|
1043 | |||
1036 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:11 |
|
1044 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1188 | |
1037 | msgid "Not Enough permissions to target repo `{}`." |
|
1045 | msgid "Not Enough permissions to target repo `{}`." | |
1038 | msgstr "" |
|
1046 | msgstr "" | |
1039 |
|
1047 | |||
1040 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:12 |
|
1048 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1258 | |
1041 | msgid "Successfully opened new pull request" |
|
1049 | msgid "Successfully opened new pull request" | |
1042 | msgstr "" |
|
1050 | msgstr "" | |
1043 |
|
1051 | |||
1044 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:12 |
|
1052 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1261 | |
1045 | msgid "Error occurred during creation of this pull request." |
|
1053 | msgid "Error occurred during creation of this pull request." | |
1046 | msgstr "" |
|
1054 | msgstr "" | |
1047 |
|
1055 | |||
1048 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:12 |
|
1056 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1293 | |
1049 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:13 |
|
1057 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1362 | |
1050 | msgid "Cannot update closed pull requests." |
|
1058 | msgid "Cannot update closed pull requests." | |
1051 | msgstr "" |
|
1059 | msgstr "" | |
1052 |
|
1060 | |||
1053 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:12 |
|
1061 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1325 | |
1054 | msgid "Cannot update pull requests commits in state other than `{}`. Current state is: `{}`" |
|
1062 | msgid "Cannot update pull requests commits in state other than `{}`. Current state is: `{}`" | |
1055 | msgstr "" |
|
1063 | msgstr "" | |
1056 |
|
1064 | |||
1057 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:13 |
|
1065 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1368 | |
1058 | msgid "Pull request title & description updated." |
|
1066 | msgid "Pull request title & description updated." | |
1059 | msgstr "" |
|
1067 | msgstr "" | |
1060 |
|
1068 | |||
1061 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:13 |
|
1069 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1390 | |
1062 | msgid "Pull request updated to \"{source_commit_id}\" with {count_added} added, {count_removed} removed commits. Source of changes: {change_source}." |
|
1070 | msgid "Pull request updated to \"{source_commit_id}\" with {count_added} added, {count_removed} removed commits. Source of changes: {change_source}." | |
1063 | msgstr "" |
|
1071 | msgstr "" | |
1064 |
|
1072 | |||
1065 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:13 |
|
1073 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1430 | |
1066 | msgid "Pull request reviewers updated." |
|
1074 | msgid "Pull request reviewers updated." | |
1067 | msgstr "" |
|
1075 | msgstr "" | |
1068 |
|
1076 | |||
1069 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:14 |
|
1077 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1454 | |
1070 | msgid "Pull request observers updated." |
|
1078 | msgid "Pull request observers updated." | |
1071 | msgstr "" |
|
1079 | msgstr "" | |
1072 |
|
1080 | |||
1073 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:14 |
|
1081 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1481 | |
1074 | msgid "Cannot merge pull requests in state other than `{}`. Current state is: `{}`" |
|
1082 | msgid "Cannot merge pull requests in state other than `{}`. Current state is: `{}`" | |
1075 | msgstr "" |
|
1083 | msgstr "" | |
1076 |
|
1084 | |||
1077 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:1 |
|
1085 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1527 | |
1078 | msgid "Pull request was successfully merged and closed." |
|
1086 | msgid "Pull request was successfully merged and closed." | |
1079 | msgstr "" |
|
1087 | msgstr "" | |
1080 |
|
1088 | |||
1081 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:15 |
|
1089 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1558 | |
1082 | msgid "Successfully deleted pull request" |
|
1090 | msgid "Successfully deleted pull request" | |
1083 | msgstr "" |
|
1091 | msgstr "" | |
1084 |
|
1092 | |||
@@ -1830,10 +1838,10 b' msgstr ""' | |||||
1830 | #: rhodecode/templates/base/issue_tracker_settings.mako:147 |
|
1838 | #: rhodecode/templates/base/issue_tracker_settings.mako:147 | |
1831 | #: rhodecode/templates/base/vcs_settings.mako:244 |
|
1839 | #: rhodecode/templates/base/vcs_settings.mako:244 | |
1832 | #: rhodecode/templates/base/vcs_settings.mako:269 |
|
1840 | #: rhodecode/templates/base/vcs_settings.mako:269 | |
1833 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
1841 | #: rhodecode/templates/changeset/changeset_file_comment.mako:236 | |
1834 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
1842 | #: rhodecode/templates/changeset/changeset_file_comment.mako:250 | |
1835 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
1843 | #: rhodecode/templates/changeset/changeset_file_comment.mako:259 | |
1836 |
#: rhodecode/templates/data_table/_dt_elements.mako:43 |
|
1844 | #: rhodecode/templates/data_table/_dt_elements.mako:439 | |
1837 | #: rhodecode/templates/debug_style/buttons.html:132 |
|
1845 | #: rhodecode/templates/debug_style/buttons.html:132 | |
1838 | #: rhodecode/templates/files/files_source.mako:40 |
|
1846 | #: rhodecode/templates/files/files_source.mako:40 | |
1839 | #: rhodecode/templates/files/files_source.mako:47 |
|
1847 | #: rhodecode/templates/files/files_source.mako:47 | |
@@ -1915,7 +1923,7 b' msgid "Email address"' | |||||
1915 | msgstr "" |
|
1923 | msgstr "" | |
1916 |
|
1924 | |||
1917 | #: rhodecode/integrations/types/email.py:175 |
|
1925 | #: rhodecode/integrations/types/email.py:175 | |
1918 |
#: rhodecode/templates/register.mako:9 |
|
1926 | #: rhodecode/templates/register.mako:97 | |
1919 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:78 |
|
1927 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:78 | |
1920 | #: rhodecode/templates/admin/users/user_add.mako:86 |
|
1928 | #: rhodecode/templates/admin/users/user_add.mako:86 | |
1921 | #: rhodecode/templates/admin/users/user_edit_profile.mako:65 |
|
1929 | #: rhodecode/templates/admin/users/user_edit_profile.mako:65 | |
@@ -1991,7 +1999,7 b' msgstr ""' | |||||
1991 |
|
1999 | |||
1992 | #: rhodecode/integrations/types/slack.py:86 |
|
2000 | #: rhodecode/integrations/types/slack.py:86 | |
1993 | #: rhodecode/integrations/types/webhook.py:81 rhodecode/templates/login.mako:44 |
|
2001 | #: rhodecode/integrations/types/webhook.py:81 rhodecode/templates/login.mako:44 | |
1994 |
#: rhodecode/templates/register.mako: |
|
2002 | #: rhodecode/templates/register.mako:50 | |
1995 | #: rhodecode/templates/admin/admin_log_base.mako:7 |
|
2003 | #: rhodecode/templates/admin/admin_log_base.mako:7 | |
1996 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:38 |
|
2004 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:38 | |
1997 | #: rhodecode/templates/admin/my_account/my_account_profile_edit.mako:29 |
|
2005 | #: rhodecode/templates/admin/my_account/my_account_profile_edit.mako:29 | |
@@ -2056,7 +2064,7 b' msgid "Optional username to authenticate' | |||||
2056 | msgstr "" |
|
2064 | msgstr "" | |
2057 |
|
2065 | |||
2058 | #: rhodecode/integrations/types/webhook.py:91 rhodecode/templates/login.mako:51 |
|
2066 | #: rhodecode/integrations/types/webhook.py:91 rhodecode/templates/login.mako:51 | |
2059 |
#: rhodecode/templates/register.mako:6 |
|
2067 | #: rhodecode/templates/register.mako:64 | |
2060 | #: rhodecode/templates/admin/my_account/my_account.mako:31 |
|
2068 | #: rhodecode/templates/admin/my_account/my_account.mako:31 | |
2061 | #: rhodecode/templates/admin/users/user_add.mako:44 |
|
2069 | #: rhodecode/templates/admin/users/user_add.mako:44 | |
2062 | #: rhodecode/templates/debug_style/login.html:45 |
|
2070 | #: rhodecode/templates/debug_style/login.html:45 | |
@@ -2237,10 +2245,6 b' msgstr ""' | |||||
2237 | msgid " Reload page to load changes" |
|
2245 | msgid " Reload page to load changes" | |
2238 | msgstr "" |
|
2246 | msgstr "" | |
2239 |
|
2247 | |||
2240 | #: rhodecode/lib/channelstream.py:348 |
|
|||
2241 | msgid "Reload page to see new comments" |
|
|||
2242 | msgstr "" |
|
|||
2243 |
|
||||
2244 | #: rhodecode/lib/diffs.py:903 |
|
2248 | #: rhodecode/lib/diffs.py:903 | |
2245 | msgid "Click to select line" |
|
2249 | msgid "Click to select line" | |
2246 | msgstr "" |
|
2250 | msgstr "" | |
@@ -2755,10 +2759,10 b' msgstr ""' | |||||
2755 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2910 |
|
2759 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2910 | |
2756 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3011 |
|
2760 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3011 | |
2757 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3012 |
|
2761 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3012 | |
2758 |
#: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3230 rhodecode/model/db.py:397 |
|
2762 | #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3230 rhodecode/model/db.py:3972 | |
2759 | #: rhodecode/public/js/scripts.js:42424 rhodecode/public/js/scripts.min.js:1 |
|
2763 | #: rhodecode/public/js/scripts.js:42424 rhodecode/public/js/scripts.min.js:1 | |
2760 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:70 |
|
2764 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:70 | |
2761 |
#: rhodecode/public/js/src/rhodecode/pullrequests.js: |
|
2765 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:396 | |
2762 | msgid "Not Reviewed" |
|
2766 | msgid "Not Reviewed" | |
2763 | msgstr "" |
|
2767 | msgstr "" | |
2764 |
|
2768 | |||
@@ -2801,7 +2805,7 b' msgstr ""' | |||||
2801 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2911 |
|
2805 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2911 | |
2802 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3012 |
|
2806 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3012 | |
2803 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3013 |
|
2807 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3013 | |
2804 |
#: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3231 rhodecode/model/db.py:397 |
|
2808 | #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3231 rhodecode/model/db.py:3973 | |
2805 | msgid "Approved" |
|
2809 | msgid "Approved" | |
2806 | msgstr "" |
|
2810 | msgstr "" | |
2807 |
|
2811 | |||
@@ -2844,7 +2848,7 b' msgstr ""' | |||||
2844 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2912 |
|
2848 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2912 | |
2845 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3013 |
|
2849 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3013 | |
2846 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3014 |
|
2850 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3014 | |
2847 |
#: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3232 rhodecode/model/db.py:397 |
|
2851 | #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3232 rhodecode/model/db.py:3974 | |
2848 | msgid "Rejected" |
|
2852 | msgid "Rejected" | |
2849 | msgstr "" |
|
2853 | msgstr "" | |
2850 |
|
2854 | |||
@@ -2887,7 +2891,7 b' msgstr ""' | |||||
2887 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2913 |
|
2891 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2913 | |
2888 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3014 |
|
2892 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3014 | |
2889 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3015 |
|
2893 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3015 | |
2890 |
#: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3233 rhodecode/model/db.py:397 |
|
2894 | #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3233 rhodecode/model/db.py:3975 | |
2891 | msgid "Under Review" |
|
2895 | msgid "Under Review" | |
2892 | msgstr "" |
|
2896 | msgstr "" | |
2893 |
|
2897 | |||
@@ -4064,72 +4068,72 b' msgstr ""' | |||||
4064 | msgid "Enter %(min)i characters or more" |
|
4068 | msgid "Enter %(min)i characters or more" | |
4065 | msgstr "" |
|
4069 | msgstr "" | |
4066 |
|
4070 | |||
4067 |
#: rhodecode/model/notification.py:2 |
|
4071 | #: rhodecode/model/notification.py:263 | |
4068 | #, python-format |
|
4072 | #, python-format | |
4069 | msgid "%(user)s commented on commit %(date_or_age)s" |
|
4073 | msgid "%(user)s commented on commit %(date_or_age)s" | |
4070 | msgstr "" |
|
4074 | msgstr "" | |
4071 |
|
4075 | |||
4072 | #: rhodecode/model/notification.py:249 |
|
|||
4073 | #, python-format |
|
|||
4074 | msgid "%(user)s commented on commit at %(date_or_age)s" |
|
|||
4075 | msgstr "" |
|
|||
4076 |
|
||||
4077 | #: rhodecode/model/notification.py:252 |
|
|||
4078 | #, python-format |
|
|||
4079 | msgid "%(user)s sent message %(date_or_age)s" |
|
|||
4080 | msgstr "" |
|
|||
4081 |
|
||||
4082 | #: rhodecode/model/notification.py:253 |
|
|||
4083 | #, python-format |
|
|||
4084 | msgid "%(user)s sent message at %(date_or_age)s" |
|
|||
4085 | msgstr "" |
|
|||
4086 |
|
||||
4087 | #: rhodecode/model/notification.py:256 |
|
|||
4088 | #, python-format |
|
|||
4089 | msgid "%(user)s mentioned you %(date_or_age)s" |
|
|||
4090 | msgstr "" |
|
|||
4091 |
|
||||
4092 | #: rhodecode/model/notification.py:257 |
|
|||
4093 | #, python-format |
|
|||
4094 | msgid "%(user)s mentioned you at %(date_or_age)s" |
|
|||
4095 | msgstr "" |
|
|||
4096 |
|
||||
4097 | #: rhodecode/model/notification.py:260 |
|
|||
4098 | #, python-format |
|
|||
4099 | msgid "%(user)s registered in RhodeCode %(date_or_age)s" |
|
|||
4100 | msgstr "" |
|
|||
4101 |
|
||||
4102 | #: rhodecode/model/notification.py:261 |
|
|||
4103 | #, python-format |
|
|||
4104 | msgid "%(user)s registered in RhodeCode at %(date_or_age)s" |
|
|||
4105 | msgstr "" |
|
|||
4106 |
|
||||
4107 | #: rhodecode/model/notification.py:264 |
|
4076 | #: rhodecode/model/notification.py:264 | |
4108 | #, python-format |
|
4077 | #, python-format | |
4109 |
msgid "%(user)s |
|
4078 | msgid "%(user)s commented on commit at %(date_or_age)s" | |
4110 | msgstr "" |
|
4079 | msgstr "" | |
4111 |
|
4080 | |||
4112 |
#: rhodecode/model/notification.py:26 |
|
4081 | #: rhodecode/model/notification.py:267 | |
4113 | #, python-format |
|
4082 | #, python-format | |
4114 |
msgid "%(user)s |
|
4083 | msgid "%(user)s sent message %(date_or_age)s" | |
4115 | msgstr "" |
|
4084 | msgstr "" | |
4116 |
|
4085 | |||
4117 | #: rhodecode/model/notification.py:268 |
|
4086 | #: rhodecode/model/notification.py:268 | |
4118 | #, python-format |
|
4087 | #, python-format | |
4119 |
msgid "%(user)s |
|
4088 | msgid "%(user)s sent message at %(date_or_age)s" | |
4120 | msgstr "" |
|
4089 | msgstr "" | |
4121 |
|
4090 | |||
4122 |
#: rhodecode/model/notification.py:2 |
|
4091 | #: rhodecode/model/notification.py:271 | |
4123 | #, python-format |
|
4092 | #, python-format | |
4124 |
msgid "%(user)s |
|
4093 | msgid "%(user)s mentioned you %(date_or_age)s" | |
4125 | msgstr "" |
|
4094 | msgstr "" | |
4126 |
|
4095 | |||
4127 | #: rhodecode/model/notification.py:272 |
|
4096 | #: rhodecode/model/notification.py:272 | |
4128 | #, python-format |
|
4097 | #, python-format | |
|
4098 | msgid "%(user)s mentioned you at %(date_or_age)s" | |||
|
4099 | msgstr "" | |||
|
4100 | ||||
|
4101 | #: rhodecode/model/notification.py:275 | |||
|
4102 | #, python-format | |||
|
4103 | msgid "%(user)s registered in RhodeCode %(date_or_age)s" | |||
|
4104 | msgstr "" | |||
|
4105 | ||||
|
4106 | #: rhodecode/model/notification.py:276 | |||
|
4107 | #, python-format | |||
|
4108 | msgid "%(user)s registered in RhodeCode at %(date_or_age)s" | |||
|
4109 | msgstr "" | |||
|
4110 | ||||
|
4111 | #: rhodecode/model/notification.py:279 | |||
|
4112 | #, python-format | |||
|
4113 | msgid "%(user)s opened new pull request %(date_or_age)s" | |||
|
4114 | msgstr "" | |||
|
4115 | ||||
|
4116 | #: rhodecode/model/notification.py:280 | |||
|
4117 | #, python-format | |||
|
4118 | msgid "%(user)s opened new pull request at %(date_or_age)s" | |||
|
4119 | msgstr "" | |||
|
4120 | ||||
|
4121 | #: rhodecode/model/notification.py:283 | |||
|
4122 | #, python-format | |||
|
4123 | msgid "%(user)s updated pull request %(date_or_age)s" | |||
|
4124 | msgstr "" | |||
|
4125 | ||||
|
4126 | #: rhodecode/model/notification.py:284 | |||
|
4127 | #, python-format | |||
|
4128 | msgid "%(user)s updated pull request at %(date_or_age)s" | |||
|
4129 | msgstr "" | |||
|
4130 | ||||
|
4131 | #: rhodecode/model/notification.py:287 | |||
|
4132 | #, python-format | |||
4129 | msgid "%(user)s commented on pull request %(date_or_age)s" |
|
4133 | msgid "%(user)s commented on pull request %(date_or_age)s" | |
4130 | msgstr "" |
|
4134 | msgstr "" | |
4131 |
|
4135 | |||
4132 |
#: rhodecode/model/notification.py:2 |
|
4136 | #: rhodecode/model/notification.py:288 | |
4133 | #, python-format |
|
4137 | #, python-format | |
4134 | msgid "%(user)s commented on pull request at %(date_or_age)s" |
|
4138 | msgid "%(user)s commented on pull request at %(date_or_age)s" | |
4135 | msgstr "" |
|
4139 | msgstr "" | |
@@ -4156,9 +4160,9 b' msgstr ""' | |||||
4156 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:13 |
|
4160 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:13 | |
4157 | #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:13 |
|
4161 | #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:13 | |
4158 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:17 |
|
4162 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:17 | |
4159 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:3 |
|
4163 | #: rhodecode/templates/changeset/changeset_file_comment.mako:392 | |
4160 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:4 |
|
4164 | #: rhodecode/templates/changeset/changeset_file_comment.mako:443 | |
4161 |
#: rhodecode/templates/data_table/_dt_elements.mako:45 |
|
4165 | #: rhodecode/templates/data_table/_dt_elements.mako:453 | |
4162 | msgid "Write" |
|
4166 | msgid "Write" | |
4163 | msgstr "" |
|
4167 | msgstr "" | |
4164 |
|
4168 | |||
@@ -4257,79 +4261,79 b' msgstr ""' | |||||
4257 | msgid "This pull request cannot be updated because the source reference is missing." |
|
4261 | msgid "This pull request cannot be updated because the source reference is missing." | |
4258 | msgstr "" |
|
4262 | msgstr "" | |
4259 |
|
4263 | |||
4260 |
#: rhodecode/model/pull_request.py:16 |
|
4264 | #: rhodecode/model/pull_request.py:1674 | |
4261 | msgid "Server-side pull request merging is disabled." |
|
4265 | msgid "Server-side pull request merging is disabled." | |
4262 | msgstr "" |
|
4266 | msgstr "" | |
4263 |
|
4267 | |||
4264 |
#: rhodecode/model/pull_request.py:16 |
|
4268 | #: rhodecode/model/pull_request.py:1677 | |
4265 | msgid "This pull request is closed." |
|
4269 | msgid "This pull request is closed." | |
4266 | msgstr "" |
|
4270 | msgstr "" | |
4267 |
|
4271 | |||
4268 |
#: rhodecode/model/pull_request.py:169 |
|
4272 | #: rhodecode/model/pull_request.py:1691 | |
4269 | msgid "Pull request merging is not supported." |
|
4273 | msgid "Pull request merging is not supported." | |
4270 | msgstr "" |
|
4274 | msgstr "" | |
4271 |
|
4275 | |||
4272 |
#: rhodecode/model/pull_request.py:17 |
|
4276 | #: rhodecode/model/pull_request.py:1708 | |
4273 | msgid "Target repository large files support is disabled." |
|
4277 | msgid "Target repository large files support is disabled." | |
4274 | msgstr "" |
|
4278 | msgstr "" | |
4275 |
|
4279 | |||
4276 |
#: rhodecode/model/pull_request.py:171 |
|
4280 | #: rhodecode/model/pull_request.py:1711 | |
4277 | msgid "Source repository large files support is disabled." |
|
4281 | msgid "Source repository large files support is disabled." | |
4278 | msgstr "" |
|
4282 | msgstr "" | |
4279 |
|
4283 | |||
4280 |
#: rhodecode/model/pull_request.py:1 |
|
4284 | #: rhodecode/model/pull_request.py:1895 rhodecode/model/scm.py:1008 | |
4281 | #: rhodecode/templates/admin/my_account/my_account.mako:32 |
|
4285 | #: rhodecode/templates/admin/my_account/my_account.mako:32 | |
4282 | #: rhodecode/templates/base/base.mako:638 |
|
4286 | #: rhodecode/templates/base/base.mako:638 | |
4283 | #: rhodecode/templates/summary/components.mako:46 |
|
4287 | #: rhodecode/templates/summary/components.mako:46 | |
4284 | msgid "Bookmarks" |
|
4288 | msgid "Bookmarks" | |
4285 | msgstr "" |
|
4289 | msgstr "" | |
4286 |
|
4290 | |||
4287 |
#: rhodecode/model/pull_request.py:190 |
|
4291 | #: rhodecode/model/pull_request.py:1900 | |
4288 | msgid "Commit IDs" |
|
4292 | msgid "Commit IDs" | |
4289 | msgstr "" |
|
4293 | msgstr "" | |
4290 |
|
4294 | |||
4291 |
#: rhodecode/model/pull_request.py:19 |
|
4295 | #: rhodecode/model/pull_request.py:1903 | |
4292 | #: rhodecode/templates/summary/components.mako:22 |
|
4296 | #: rhodecode/templates/summary/components.mako:22 | |
4293 | msgid "Closed Branches" |
|
4297 | msgid "Closed Branches" | |
4294 | msgstr "" |
|
4298 | msgstr "" | |
4295 |
|
4299 | |||
4296 |
#: rhodecode/model/pull_request.py:209 |
|
4300 | #: rhodecode/model/pull_request.py:2089 | |
4297 | msgid "WIP marker in title prevents from accidental merge." |
|
4301 | msgid "WIP marker in title prevents from accidental merge." | |
4298 | msgstr "" |
|
4302 | msgstr "" | |
4299 |
|
4303 | |||
4300 |
#: rhodecode/model/pull_request.py:2 |
|
4304 | #: rhodecode/model/pull_request.py:2099 | |
4301 | msgid "User `{}` not allowed to perform merge." |
|
4305 | msgid "User `{}` not allowed to perform merge." | |
4302 | msgstr "" |
|
4306 | msgstr "" | |
4303 |
|
4307 | |||
4304 |
#: rhodecode/model/pull_request.py:21 |
|
4308 | #: rhodecode/model/pull_request.py:2117 | |
4305 | msgid "Target branch `{}` changes rejected by rule {}." |
|
4309 | msgid "Target branch `{}` changes rejected by rule {}." | |
4306 | msgstr "" |
|
4310 | msgstr "" | |
4307 |
|
4311 | |||
4308 |
#: rhodecode/model/pull_request.py:213 |
|
4312 | #: rhodecode/model/pull_request.py:2132 | |
4309 | msgid "Pull request reviewer approval is pending." |
|
4313 | msgid "Pull request reviewer approval is pending." | |
4310 | msgstr "" |
|
4314 | msgstr "" | |
4311 |
|
4315 | |||
4312 |
#: rhodecode/model/pull_request.py:21 |
|
4316 | #: rhodecode/model/pull_request.py:2146 | |
4313 | msgid "Cannot merge, {} TODO still not resolved." |
|
4317 | msgid "Cannot merge, {} TODO still not resolved." | |
4314 | msgstr "" |
|
4318 | msgstr "" | |
4315 |
|
4319 | |||
4316 |
#: rhodecode/model/pull_request.py:21 |
|
4320 | #: rhodecode/model/pull_request.py:2149 | |
4317 | msgid "Cannot merge, {} TODOs still not resolved." |
|
4321 | msgid "Cannot merge, {} TODOs still not resolved." | |
4318 | msgstr "" |
|
4322 | msgstr "" | |
4319 |
|
4323 | |||
4320 |
#: rhodecode/model/pull_request.py:220 |
|
4324 | #: rhodecode/model/pull_request.py:2204 | |
4321 | msgid "Merge strategy: rebase" |
|
4325 | msgid "Merge strategy: rebase" | |
4322 | msgstr "" |
|
4326 | msgstr "" | |
4323 |
|
4327 | |||
4324 |
#: rhodecode/model/pull_request.py:22 |
|
4328 | #: rhodecode/model/pull_request.py:2209 | |
4325 | msgid "Merge strategy: explicit merge commit" |
|
4329 | msgid "Merge strategy: explicit merge commit" | |
4326 | msgstr "" |
|
4330 | msgstr "" | |
4327 |
|
4331 | |||
4328 |
#: rhodecode/model/pull_request.py:22 |
|
4332 | #: rhodecode/model/pull_request.py:2217 | |
4329 | msgid "Source branch will be closed before the merge." |
|
4333 | msgid "Source branch will be closed before the merge." | |
4330 | msgstr "" |
|
4334 | msgstr "" | |
4331 |
|
4335 | |||
4332 |
#: rhodecode/model/pull_request.py:22 |
|
4336 | #: rhodecode/model/pull_request.py:2219 | |
4333 | msgid "Source branch will be deleted after the merge." |
|
4337 | msgid "Source branch will be deleted after the merge." | |
4334 | msgstr "" |
|
4338 | msgstr "" | |
4335 |
|
4339 | |||
@@ -4850,49 +4854,49 b' msgstr ""' | |||||
4850 |
|
4854 | |||
4851 | #: rhodecode/public/js/scripts.js:39232 rhodecode/public/js/scripts.min.js:1 |
|
4855 | #: rhodecode/public/js/scripts.js:39232 rhodecode/public/js/scripts.min.js:1 | |
4852 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:85 |
|
4856 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:85 | |
4853 |
#: rhodecode/public/js/src/rhodecode/codemirror.js:36 |
|
4857 | #: rhodecode/public/js/src/rhodecode/codemirror.js:368 | |
4854 | msgid "Set status to Approved" |
|
4858 | msgid "Set status to Approved" | |
4855 | msgstr "" |
|
4859 | msgstr "" | |
4856 |
|
4860 | |||
4857 | #: rhodecode/public/js/scripts.js:39252 rhodecode/public/js/scripts.min.js:1 |
|
4861 | #: rhodecode/public/js/scripts.js:39252 rhodecode/public/js/scripts.min.js:1 | |
4858 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:86 |
|
4862 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:86 | |
4859 |
#: rhodecode/public/js/src/rhodecode/codemirror.js:38 |
|
4863 | #: rhodecode/public/js/src/rhodecode/codemirror.js:388 | |
4860 | msgid "Set status to Rejected" |
|
4864 | msgid "Set status to Rejected" | |
4861 | msgstr "" |
|
4865 | msgstr "" | |
4862 |
|
4866 | |||
4863 | #: rhodecode/public/js/scripts.js:39271 rhodecode/public/js/scripts.min.js:1 |
|
4867 | #: rhodecode/public/js/scripts.js:39271 rhodecode/public/js/scripts.min.js:1 | |
4864 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:106 |
|
4868 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:106 | |
4865 |
#: rhodecode/public/js/src/rhodecode/codemirror.js:40 |
|
4869 | #: rhodecode/public/js/src/rhodecode/codemirror.js:407 | |
4866 | msgid "TODO comment" |
|
4870 | msgid "TODO comment" | |
4867 | msgstr "" |
|
4871 | msgstr "" | |
4868 |
|
4872 | |||
4869 | #: rhodecode/public/js/scripts.js:39291 rhodecode/public/js/scripts.min.js:1 |
|
4873 | #: rhodecode/public/js/scripts.js:39291 rhodecode/public/js/scripts.min.js:1 | |
4870 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:71 |
|
4874 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:71 | |
4871 |
#: rhodecode/public/js/src/rhodecode/codemirror.js:42 |
|
4875 | #: rhodecode/public/js/src/rhodecode/codemirror.js:427 | |
4872 | msgid "Note Comment" |
|
4876 | msgid "Note Comment" | |
4873 | msgstr "" |
|
4877 | msgstr "" | |
4874 |
|
4878 | |||
4875 | #: rhodecode/public/js/scripts.js:39592 rhodecode/public/js/scripts.js:39967 |
|
4879 | #: rhodecode/public/js/scripts.js:39592 rhodecode/public/js/scripts.js:39967 | |
4876 | #: rhodecode/public/js/scripts.min.js:1 |
|
4880 | #: rhodecode/public/js/scripts.min.js:1 | |
4877 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:99 |
|
4881 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:99 | |
4878 |
#: rhodecode/public/js/src/rhodecode/codemirror.js:7 |
|
4882 | #: rhodecode/public/js/src/rhodecode/codemirror.js:730 | |
4879 |
#: rhodecode/public/js/src/rhodecode/comments.js:2 |
|
4883 | #: rhodecode/public/js/src/rhodecode/comments.js:267 | |
4880 | msgid "Status Review" |
|
4884 | msgid "Status Review" | |
4881 | msgstr "" |
|
4885 | msgstr "" | |
4882 |
|
4886 | |||
4883 | #: rhodecode/public/js/scripts.js:39607 rhodecode/public/js/scripts.js:39982 |
|
4887 | #: rhodecode/public/js/scripts.js:39607 rhodecode/public/js/scripts.js:39982 | |
4884 | #: rhodecode/public/js/scripts.min.js:1 |
|
4888 | #: rhodecode/public/js/scripts.min.js:1 | |
4885 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:24 |
|
4889 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:24 | |
4886 |
#: rhodecode/public/js/src/rhodecode/codemirror.js:7 |
|
4890 | #: rhodecode/public/js/src/rhodecode/codemirror.js:745 | |
4887 |
#: rhodecode/public/js/src/rhodecode/comments.js:2 |
|
4891 | #: rhodecode/public/js/src/rhodecode/comments.js:284 | |
4888 | msgid "Comment text will be set automatically based on currently selected status ({0}) ..." |
|
4892 | msgid "Comment text will be set automatically based on currently selected status ({0}) ..." | |
4889 | msgstr "" |
|
4893 | msgstr "" | |
4890 |
|
4894 | |||
4891 | #: rhodecode/public/js/scripts.js:39688 rhodecode/public/js/scripts.js:40177 |
|
4895 | #: rhodecode/public/js/scripts.js:39688 rhodecode/public/js/scripts.js:40177 | |
4892 | #: rhodecode/public/js/scripts.js:41535 rhodecode/public/js/scripts.min.js:1 |
|
4896 | #: rhodecode/public/js/scripts.js:41535 rhodecode/public/js/scripts.min.js:1 | |
4893 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:48 |
|
4897 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:48 | |
4894 |
#: rhodecode/public/js/src/rhodecode/codemirror.js:8 |
|
4898 | #: rhodecode/public/js/src/rhodecode/codemirror.js:826 | |
4895 |
#: rhodecode/public/js/src/rhodecode/comments.js:4 |
|
4899 | #: rhodecode/public/js/src/rhodecode/comments.js:493 | |
4896 | #: rhodecode/public/js/src/rhodecode/files.js:499 |
|
4900 | #: rhodecode/public/js/src/rhodecode/files.js:499 | |
4897 | #: rhodecode/templates/files/files_browser_tree.mako:57 |
|
4901 | #: rhodecode/templates/files/files_browser_tree.mako:57 | |
4898 | msgid "Loading ..." |
|
4902 | msgid "Loading ..." | |
@@ -4900,49 +4904,47 b' msgstr ""' | |||||
4900 |
|
4904 | |||
4901 | #: rhodecode/public/js/scripts.js:39849 rhodecode/public/js/scripts.min.js:1 |
|
4905 | #: rhodecode/public/js/scripts.js:39849 rhodecode/public/js/scripts.min.js:1 | |
4902 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:117 |
|
4906 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:117 | |
4903 | #: rhodecode/public/js/src/rhodecode/comments.js:136 |
|
|||
4904 | msgid "Updated Comment" |
|
4907 | msgid "Updated Comment" | |
4905 | msgstr "" |
|
4908 | msgstr "" | |
4906 |
|
4909 | |||
4907 | #: rhodecode/public/js/scripts.js:39873 rhodecode/public/js/scripts.min.js:1 |
|
4910 | #: rhodecode/public/js/scripts.js:39873 rhodecode/public/js/scripts.min.js:1 | |
4908 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:141 |
|
4911 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:141 | |
4909 |
#: rhodecode/public/js/src/rhodecode/comments.js:16 |
|
4912 | #: rhodecode/public/js/src/rhodecode/comments.js:164 | |
4910 | msgid "resolve comment" |
|
4913 | msgid "resolve comment" | |
4911 | msgstr "" |
|
4914 | msgstr "" | |
4912 |
|
4915 | |||
4913 | #: rhodecode/public/js/scripts.js:40126 rhodecode/public/js/scripts.min.js:1 |
|
4916 | #: rhodecode/public/js/scripts.js:40126 rhodecode/public/js/scripts.min.js:1 | |
4914 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:102 |
|
4917 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:102 | |
4915 |
#: rhodecode/public/js/src/rhodecode/comments.js:4 |
|
4918 | #: rhodecode/public/js/src/rhodecode/comments.js:439 | |
4916 | msgid "Submitting..." |
|
4919 | msgid "Submitting..." | |
4917 | msgstr "" |
|
4920 | msgstr "" | |
4918 |
|
4921 | |||
4919 | #: rhodecode/public/js/scripts.js:40423 rhodecode/public/js/scripts.min.js:1 |
|
4922 | #: rhodecode/public/js/scripts.js:40423 rhodecode/public/js/scripts.min.js:1 | |
4920 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:122 |
|
4923 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:122 | |
4921 |
#: rhodecode/public/js/src/rhodecode/comments.js:71 |
|
4924 | #: rhodecode/public/js/src/rhodecode/comments.js:761 | |
4922 | msgid "Yes, delete comment #{0}!" |
|
4925 | msgid "Yes, delete comment #{0}!" | |
4923 | msgstr "" |
|
4926 | msgstr "" | |
4924 |
|
4927 | |||
4925 | #: rhodecode/public/js/scripts.js:40487 rhodecode/public/js/scripts.min.js:1 |
|
4928 | #: rhodecode/public/js/scripts.js:40487 rhodecode/public/js/scripts.min.js:1 | |
4926 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:46 |
|
4929 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:46 | |
4927 |
#: rhodecode/public/js/src/rhodecode/comments.js: |
|
4930 | #: rhodecode/public/js/src/rhodecode/comments.js:901 | |
4928 | msgid "Leave a resolution comment, or click resolve button to resolve TODO comment #{0}" |
|
4931 | msgid "Leave a resolution comment, or click resolve button to resolve TODO comment #{0}" | |
4929 | msgstr "" |
|
4932 | msgstr "" | |
4930 |
|
4933 | |||
4931 | #: rhodecode/public/js/scripts.js:40696 rhodecode/public/js/scripts.min.js:1 |
|
4934 | #: rhodecode/public/js/scripts.js:40696 rhodecode/public/js/scripts.min.js:1 | |
4932 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:23 |
|
4935 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:23 | |
4933 |
#: rhodecode/public/js/src/rhodecode/comments.js: |
|
4936 | #: rhodecode/public/js/src/rhodecode/comments.js:1105 | |
4934 | msgid "Comment body was not changed." |
|
4937 | msgid "Comment body was not changed." | |
4935 | msgstr "" |
|
4938 | msgstr "" | |
4936 |
|
4939 | |||
4937 | #: rhodecode/public/js/scripts.js:40875 rhodecode/public/js/scripts.min.js:1 |
|
4940 | #: rhodecode/public/js/scripts.js:40875 rhodecode/public/js/scripts.min.js:1 | |
4938 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:44 |
|
4941 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:44 | |
4939 | #: rhodecode/public/js/src/rhodecode/comments.js:1162 |
|
|||
4940 | msgid "Leave a comment on line {0}." |
|
4942 | msgid "Leave a comment on line {0}." | |
4941 | msgstr "" |
|
4943 | msgstr "" | |
4942 |
|
4944 | |||
4943 | #: rhodecode/public/js/scripts.js:41006 rhodecode/public/js/scripts.min.js:1 |
|
4945 | #: rhodecode/public/js/scripts.js:41006 rhodecode/public/js/scripts.min.js:1 | |
4944 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:107 |
|
4946 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:107 | |
4945 |
#: rhodecode/public/js/src/rhodecode/comments.js:1 |
|
4947 | #: rhodecode/public/js/src/rhodecode/comments.js:1491 | |
4946 | msgid "TODO from comment {0} was fixed." |
|
4948 | msgid "TODO from comment {0} was fixed." | |
4947 | msgstr "" |
|
4949 | msgstr "" | |
4948 |
|
4950 | |||
@@ -5024,102 +5026,94 b' msgstr ""' | |||||
5024 |
|
5026 | |||
5025 | #: rhodecode/public/js/scripts.js:42165 rhodecode/public/js/scripts.min.js:1 |
|
5027 | #: rhodecode/public/js/scripts.js:42165 rhodecode/public/js/scripts.min.js:1 | |
5026 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:12 |
|
5028 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:12 | |
5027 |
#: rhodecode/public/js/src/rhodecode/pullrequests.js:18 |
|
5029 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:185 | |
5028 | msgid "All reviewers must vote." |
|
5030 | msgid "All reviewers must vote." | |
5029 | msgstr "" |
|
5031 | msgstr "" | |
5030 |
|
5032 | |||
5031 | #: rhodecode/public/js/scripts.js:42174 rhodecode/public/js/scripts.min.js:1 |
|
5033 | #: rhodecode/public/js/scripts.js:42174 rhodecode/public/js/scripts.min.js:1 | |
5032 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:11 |
|
5034 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:11 | |
5033 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:195 |
|
|||
5034 | msgid "All individual reviewers must vote." |
|
5035 | msgid "All individual reviewers must vote." | |
5035 | msgstr "" |
|
5036 | msgstr "" | |
5036 |
|
5037 | |||
5037 | #: rhodecode/public/js/scripts.js:42179 rhodecode/public/js/scripts.min.js:1 |
|
5038 | #: rhodecode/public/js/scripts.js:42179 rhodecode/public/js/scripts.min.js:1 | |
5038 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:14 |
|
5039 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:14 | |
5039 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:200 |
|
|||
5040 | msgid "At least {0} reviewer must vote." |
|
5040 | msgid "At least {0} reviewer must vote." | |
5041 | msgstr "" |
|
5041 | msgstr "" | |
5042 |
|
5042 | |||
5043 | #: rhodecode/public/js/scripts.js:42185 rhodecode/public/js/scripts.min.js:1 |
|
5043 | #: rhodecode/public/js/scripts.js:42185 rhodecode/public/js/scripts.min.js:1 | |
5044 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:15 |
|
5044 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:15 | |
5045 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:206 |
|
|||
5046 | msgid "At least {0} reviewers must vote." |
|
5045 | msgid "At least {0} reviewers must vote." | |
5047 | msgstr "" |
|
5046 | msgstr "" | |
5048 |
|
5047 | |||
5049 | #: rhodecode/public/js/scripts.js:42201 rhodecode/public/js/scripts.min.js:1 |
|
5048 | #: rhodecode/public/js/scripts.js:42201 rhodecode/public/js/scripts.min.js:1 | |
5050 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:80 |
|
5049 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:80 | |
5051 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:222 |
|
|||
5052 | msgid "Reviewers picked from source code changes." |
|
5050 | msgid "Reviewers picked from source code changes." | |
5053 | msgstr "" |
|
5051 | msgstr "" | |
5054 |
|
5052 | |||
5055 | #: rhodecode/public/js/scripts.js:42209 rhodecode/public/js/scripts.min.js:1 |
|
5053 | #: rhodecode/public/js/scripts.js:42209 rhodecode/public/js/scripts.min.js:1 | |
5056 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:8 |
|
5054 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:8 | |
5057 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:230 |
|
|||
5058 | msgid "Adding new reviewers is forbidden." |
|
5055 | msgid "Adding new reviewers is forbidden." | |
5059 | msgstr "" |
|
5056 | msgstr "" | |
5060 |
|
5057 | |||
5061 | #: rhodecode/public/js/scripts.js:42217 rhodecode/public/js/scripts.min.js:1 |
|
5058 | #: rhodecode/public/js/scripts.js:42217 rhodecode/public/js/scripts.min.js:1 | |
5062 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:17 |
|
5059 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:17 | |
5063 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:238 |
|
|||
5064 | msgid "Author is not allowed to be a reviewer." |
|
5060 | msgid "Author is not allowed to be a reviewer." | |
5065 | msgstr "" |
|
5061 | msgstr "" | |
5066 |
|
5062 | |||
5067 | #: rhodecode/public/js/scripts.js:42231 rhodecode/public/js/scripts.min.js:1 |
|
5063 | #: rhodecode/public/js/scripts.js:42231 rhodecode/public/js/scripts.min.js:1 | |
5068 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:25 |
|
5064 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:25 | |
5069 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:252 |
|
|||
5070 | msgid "Commit Authors are not allowed to be a reviewer." |
|
5065 | msgid "Commit Authors are not allowed to be a reviewer." | |
5071 | msgstr "" |
|
5066 | msgstr "" | |
5072 |
|
5067 | |||
5073 | #: rhodecode/public/js/scripts.js:42238 rhodecode/public/js/scripts.min.js:1 |
|
5068 | #: rhodecode/public/js/scripts.js:42238 rhodecode/public/js/scripts.min.js:1 | |
5074 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:65 |
|
5069 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:65 | |
5075 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:259 |
|
|||
5076 | msgid "No review rules set." |
|
5070 | msgid "No review rules set." | |
5077 | msgstr "" |
|
5071 | msgstr "" | |
5078 |
|
5072 | |||
5079 | #: rhodecode/public/js/scripts.js:42283 rhodecode/public/js/scripts.min.js:1 |
|
5073 | #: rhodecode/public/js/scripts.js:42283 rhodecode/public/js/scripts.min.js:1 | |
5080 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:49 |
|
5074 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:49 | |
5081 |
#: rhodecode/public/js/src/rhodecode/pullrequests.js: |
|
5075 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:255 | |
5082 | msgid "Loading diff ..." |
|
5076 | msgid "Loading diff ..." | |
5083 | msgstr "" |
|
5077 | msgstr "" | |
5084 |
|
5078 | |||
5085 | #: rhodecode/public/js/scripts.js:42336 rhodecode/public/js/scripts.min.js:1 |
|
5079 | #: rhodecode/public/js/scripts.js:42336 rhodecode/public/js/scripts.min.js:1 | |
5086 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:109 |
|
5080 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:109 | |
5087 |
#: rhodecode/public/js/src/rhodecode/pullrequests.js:3 |
|
5081 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:308 | |
5088 | msgid "There are no commits to merge." |
|
5082 | msgid "There are no commits to merge." | |
5089 | msgstr "" |
|
5083 | msgstr "" | |
5090 |
|
5084 | |||
5091 | #: rhodecode/public/js/scripts.js:42408 rhodecode/public/js/scripts.min.js:1 |
|
5085 | #: rhodecode/public/js/scripts.js:42408 rhodecode/public/js/scripts.min.js:1 | |
5092 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:120 |
|
5086 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:120 | |
5093 |
#: rhodecode/public/js/src/rhodecode/pullrequests.js: |
|
5087 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:380 | |
5094 | msgid "User `{0}` not allowed to be a reviewer" |
|
5088 | msgid "User `{0}` not allowed to be a reviewer" | |
5095 | msgstr "" |
|
5089 | msgstr "" | |
5096 |
|
5090 | |||
5097 | #: rhodecode/public/js/scripts.js:42414 rhodecode/public/js/scripts.min.js:1 |
|
5091 | #: rhodecode/public/js/scripts.js:42414 rhodecode/public/js/scripts.min.js:1 | |
5098 |
#: rhodecode/public/js/src/rhodecode/pullrequests.js: |
|
5092 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:386 | |
5099 | msgid "User `{0}` already in reviewers/observers" |
|
5093 | msgid "User `{0}` already in reviewers/observers" | |
5100 | msgstr "" |
|
5094 | msgstr "" | |
5101 |
|
5095 | |||
5102 | #: rhodecode/public/js/scripts.js:42528 rhodecode/public/js/scripts.min.js:1 |
|
5096 | #: rhodecode/public/js/scripts.js:42528 rhodecode/public/js/scripts.min.js:1 | |
5103 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:126 |
|
5097 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:126 | |
5104 |
#: rhodecode/public/js/src/rhodecode/pullrequests.js:5 |
|
5098 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:500 | |
5105 | msgid "added manually by \"{0}\"" |
|
5099 | msgid "added manually by \"{0}\"" | |
5106 | msgstr "" |
|
5100 | msgstr "" | |
5107 |
|
5101 | |||
5108 | #: rhodecode/public/js/scripts.js:42533 rhodecode/public/js/scripts.min.js:1 |
|
5102 | #: rhodecode/public/js/scripts.js:42533 rhodecode/public/js/scripts.min.js:1 | |
5109 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:138 |
|
5103 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:138 | |
5110 |
#: rhodecode/public/js/src/rhodecode/pullrequests.js:55 |
|
5104 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:505 | |
5111 | msgid "member of \"{0}\"" |
|
5105 | msgid "member of \"{0}\"" | |
5112 | msgstr "" |
|
5106 | msgstr "" | |
5113 |
|
5107 | |||
5114 | #: rhodecode/public/js/scripts.js:42766 rhodecode/public/js/scripts.min.js:1 |
|
5108 | #: rhodecode/public/js/scripts.js:42766 rhodecode/public/js/scripts.min.js:1 | |
5115 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:118 |
|
5109 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:118 | |
5116 |
#: rhodecode/public/js/src/rhodecode/pullrequests.js:78 |
|
5110 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:738 | |
5117 | msgid "Updating..." |
|
5111 | msgid "Updating..." | |
5118 | msgstr "" |
|
5112 | msgstr "" | |
5119 |
|
5113 | |||
5120 | #: rhodecode/public/js/scripts.js:42776 rhodecode/public/js/scripts.min.js:1 |
|
5114 | #: rhodecode/public/js/scripts.js:42776 rhodecode/public/js/scripts.min.js:1 | |
5121 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:40 |
|
5115 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:40 | |
5122 |
#: rhodecode/public/js/src/rhodecode/pullrequests.js:7 |
|
5116 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:748 | |
5123 | msgid "Force updating..." |
|
5117 | msgid "Force updating..." | |
5124 | msgstr "" |
|
5118 | msgstr "" | |
5125 |
|
5119 | |||
@@ -5198,8 +5192,6 b' msgid "<strong>{0} files</strong> change' | |||||
5198 | msgstr "" |
|
5192 | msgstr "" | |
5199 |
|
5193 | |||
5200 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:7 |
|
5194 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:7 | |
5201 | #: rhodecode/templates/codeblocks/diffs.mako:648 |
|
|||
5202 | #: rhodecode/templates/codeblocks/diffs.mako:652 |
|
|||
5203 | msgid "Add another comment" |
|
5195 | msgid "Add another comment" | |
5204 | msgstr "" |
|
5196 | msgstr "" | |
5205 |
|
5197 | |||
@@ -5213,14 +5205,14 b' msgstr ""' | |||||
5213 |
|
5205 | |||
5214 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:19 |
|
5206 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:19 | |
5215 | #: rhodecode/public/js/src/i18n_messages.js:5 |
|
5207 | #: rhodecode/public/js/src/i18n_messages.js:5 | |
5216 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
5208 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:623 | |
5217 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
5209 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:626 | |
5218 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
5210 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:680 | |
5219 | msgid "Close" |
|
5211 | msgid "Close" | |
5220 | msgstr "" |
|
5212 | msgstr "" | |
5221 |
|
5213 | |||
5222 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:20 |
|
5214 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:20 | |
5223 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
5215 | #: rhodecode/templates/codeblocks/diffs.mako:119 | |
5224 | msgid "Collapse all files" |
|
5216 | msgid "Collapse all files" | |
5225 | msgstr "" |
|
5217 | msgstr "" | |
5226 |
|
5218 | |||
@@ -5257,7 +5249,7 b' msgid "Error during search operation"' | |||||
5257 | msgstr "" |
|
5249 | msgstr "" | |
5258 |
|
5250 | |||
5259 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:33 |
|
5251 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:33 | |
5260 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
5252 | #: rhodecode/templates/codeblocks/diffs.mako:117 | |
5261 | msgid "Expand all files" |
|
5253 | msgid "Expand all files" | |
5262 | msgstr "" |
|
5254 | msgstr "" | |
5263 |
|
5255 | |||
@@ -5557,6 +5549,30 b' msgstr ""' | |||||
5557 | msgid "MathML" |
|
5549 | msgid "MathML" | |
5558 | msgstr "" |
|
5550 | msgstr "" | |
5559 |
|
5551 | |||
|
5552 | #: rhodecode/public/js/src/rhodecode/comments.js:140 | |||
|
5553 | msgid "Update Comment" | |||
|
5554 | msgstr "" | |||
|
5555 | ||||
|
5556 | #: rhodecode/public/js/src/rhodecode/comments.js:437 | |||
|
5557 | msgid "Saving Draft..." | |||
|
5558 | msgstr "" | |||
|
5559 | ||||
|
5560 | #: rhodecode/public/js/src/rhodecode/comments.js:806 | |||
|
5561 | msgid "Submit {0} draft comment." | |||
|
5562 | msgstr "" | |||
|
5563 | ||||
|
5564 | #: rhodecode/public/js/src/rhodecode/comments.js:809 | |||
|
5565 | msgid "Yes" | |||
|
5566 | msgstr "" | |||
|
5567 | ||||
|
5568 | #: rhodecode/public/js/src/rhodecode/comments.js:1351 | |||
|
5569 | msgid "Leave a comment on file {0} line {1}." | |||
|
5570 | msgstr "" | |||
|
5571 | ||||
|
5572 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:209 | |||
|
5573 | msgid "No additional review rules set." | |||
|
5574 | msgstr "" | |||
|
5575 | ||||
5560 | #: rhodecode/templates/index.mako:5 |
|
5576 | #: rhodecode/templates/index.mako:5 | |
5561 | msgid "Dashboard" |
|
5577 | msgid "Dashboard" | |
5562 | msgstr "" |
|
5578 | msgstr "" | |
@@ -5622,7 +5638,7 b' msgstr ""' | |||||
5622 | #: rhodecode/templates/forks/fork.mako:56 |
|
5638 | #: rhodecode/templates/forks/fork.mako:56 | |
5623 | #: rhodecode/templates/forks/forks.mako:62 |
|
5639 | #: rhodecode/templates/forks/forks.mako:62 | |
5624 | #: rhodecode/templates/pullrequests/pullrequest.mako:104 |
|
5640 | #: rhodecode/templates/pullrequests/pullrequest.mako:104 | |
5625 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
5641 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:398 | |
5626 | #: rhodecode/templates/summary/components.mako:159 |
|
5642 | #: rhodecode/templates/summary/components.mako:159 | |
5627 | #: rhodecode/templates/user_group/profile.mako:25 |
|
5643 | #: rhodecode/templates/user_group/profile.mako:25 | |
5628 | #: rhodecode/templates/users/user_profile.mako:59 |
|
5644 | #: rhodecode/templates/users/user_profile.mako:59 | |
@@ -5664,7 +5680,7 b' msgstr ""' | |||||
5664 | #: rhodecode/templates/email_templates/commit_comment.mako:114 |
|
5680 | #: rhodecode/templates/email_templates/commit_comment.mako:114 | |
5665 | #: rhodecode/templates/email_templates/commit_comment.mako:141 |
|
5681 | #: rhodecode/templates/email_templates/commit_comment.mako:141 | |
5666 | #: rhodecode/templates/files/file_authors_box.mako:28 |
|
5682 | #: rhodecode/templates/files/file_authors_box.mako:28 | |
5667 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:39 |
|
5683 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:396 | |
5668 | #: rhodecode/templates/search/search_commit.mako:9 |
|
5684 | #: rhodecode/templates/search/search_commit.mako:9 | |
5669 | #: rhodecode/templates/summary/components.mako:117 |
|
5685 | #: rhodecode/templates/summary/components.mako:117 | |
5670 | #: rhodecode/templates/summary/components.mako:125 |
|
5686 | #: rhodecode/templates/summary/components.mako:125 | |
@@ -5716,16 +5732,16 b' msgstr ""' | |||||
5716 | msgid "Please contact " |
|
5732 | msgid "Please contact " | |
5717 | msgstr "" |
|
5733 | msgstr "" | |
5718 |
|
5734 | |||
5719 |
#: rhodecode/templates/login.mako:84 rhodecode/templates/password_reset.mako: |
|
5735 | #: rhodecode/templates/login.mako:84 rhodecode/templates/password_reset.mako:40 | |
5720 | #: rhodecode/templates/base/base.mako:63 |
|
5736 | #: rhodecode/templates/base/base.mako:63 | |
5721 | msgid "Support" |
|
5737 | msgid "Support" | |
5722 | msgstr "" |
|
5738 | msgstr "" | |
5723 |
|
5739 | |||
5724 |
#: rhodecode/templates/login.mako:85 rhodecode/templates/password_reset.mako:4 |
|
5740 | #: rhodecode/templates/login.mako:85 rhodecode/templates/password_reset.mako:41 | |
5725 | msgid "or" |
|
5741 | msgid "or" | |
5726 | msgstr "" |
|
5742 | msgstr "" | |
5727 |
|
5743 | |||
5728 |
#: rhodecode/templates/login.mako:87 rhodecode/templates/password_reset.mako:4 |
|
5744 | #: rhodecode/templates/login.mako:87 rhodecode/templates/password_reset.mako:43 | |
5729 | msgid "an administrator if you need help." |
|
5745 | msgid "an administrator if you need help." | |
5730 | msgstr "" |
|
5746 | msgstr "" | |
5731 |
|
5747 | |||
@@ -5737,32 +5753,32 b' msgstr ""' | |||||
5737 | msgid "Reset Password" |
|
5753 | msgid "Reset Password" | |
5738 | msgstr "" |
|
5754 | msgstr "" | |
5739 |
|
5755 | |||
5740 |
#: rhodecode/templates/password_reset.mako:3 |
|
5756 | #: rhodecode/templates/password_reset.mako:38 | |
5741 | msgid "Password reset is disabled. Please contact " |
|
5757 | msgid "Password reset is disabled. Please contact " | |
5742 | msgstr "" |
|
5758 | msgstr "" | |
5743 |
|
5759 | |||
5744 | #: rhodecode/templates/password_reset.mako:49 |
|
|||
5745 | msgid "Reset your Password" |
|
|||
5746 | msgstr "" |
|
|||
5747 |
|
||||
5748 | #: rhodecode/templates/password_reset.mako:50 |
|
5760 | #: rhodecode/templates/password_reset.mako:50 | |
|
5761 | msgid "Reset your Password" | |||
|
5762 | msgstr "" | |||
|
5763 | ||||
|
5764 | #: rhodecode/templates/password_reset.mako:51 | |||
5749 | msgid "Go to the login page to sign in." |
|
5765 | msgid "Go to the login page to sign in." | |
5750 | msgstr "" |
|
5766 | msgstr "" | |
5751 |
|
5767 | |||
5752 |
#: rhodecode/templates/password_reset.mako:5 |
|
5768 | #: rhodecode/templates/password_reset.mako:55 | |
5753 | msgid "Email Address" |
|
5769 | msgid "Email Address" | |
5754 | msgstr "" |
|
5770 | msgstr "" | |
5755 |
|
5771 | |||
5756 |
#: rhodecode/templates/password_reset.mako:6 |
|
5772 | #: rhodecode/templates/password_reset.mako:61 | |
5757 | msgid "Password reset link will be sent to matching email address" |
|
5773 | msgid "Password reset link will be sent to matching email address" | |
5758 | msgstr "" |
|
5774 | msgstr "" | |
5759 |
|
5775 | |||
5760 |
#: rhodecode/templates/password_reset.mako:6 |
|
5776 | #: rhodecode/templates/password_reset.mako:65 | |
5761 |
#: rhodecode/templates/register.mako:10 |
|
5777 | #: rhodecode/templates/register.mako:106 | |
5762 | msgid "Captcha" |
|
5778 | msgid "Captcha" | |
5763 | msgstr "" |
|
5779 | msgstr "" | |
5764 |
|
5780 | |||
5765 |
#: rhodecode/templates/password_reset.mako:7 |
|
5781 | #: rhodecode/templates/password_reset.mako:76 | |
5766 | msgid "Send password reset email" |
|
5782 | msgid "Send password reset email" | |
5767 | msgstr "" |
|
5783 | msgstr "" | |
5768 |
|
5784 | |||
@@ -5770,23 +5786,23 b' msgstr ""' | |||||
5770 | msgid "Create an Account" |
|
5786 | msgid "Create an Account" | |
5771 | msgstr "" |
|
5787 | msgstr "" | |
5772 |
|
5788 | |||
5773 |
#: rhodecode/templates/register.mako: |
|
5789 | #: rhodecode/templates/register.mako:40 | |
5774 | msgid "Create an account linked with {}" |
|
5790 | msgid "Create an account linked with {}" | |
5775 | msgstr "" |
|
5791 | msgstr "" | |
5776 |
|
5792 | |||
5777 |
#: rhodecode/templates/register.mako:4 |
|
5793 | #: rhodecode/templates/register.mako:42 | |
5778 | msgid "Create an account" |
|
5794 | msgid "Create an account" | |
5779 | msgstr "" |
|
5795 | msgstr "" | |
5780 |
|
5796 | |||
5781 |
#: rhodecode/templates/register.mako:4 |
|
5797 | #: rhodecode/templates/register.mako:45 | |
5782 | msgid "Go to the login page to sign in with an existing account." |
|
5798 | msgid "Go to the login page to sign in with an existing account." | |
5783 | msgstr "" |
|
5799 | msgstr "" | |
5784 |
|
5800 | |||
5785 |
#: rhodecode/templates/register.mako: |
|
5801 | #: rhodecode/templates/register.mako:71 | |
5786 | msgid "Re-enter password" |
|
5802 | msgid "Re-enter password" | |
5787 | msgstr "" |
|
5803 | msgstr "" | |
5788 |
|
5804 | |||
5789 |
#: rhodecode/templates/register.mako:8 |
|
5805 | #: rhodecode/templates/register.mako:83 | |
5790 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:48 |
|
5806 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:48 | |
5791 | #: rhodecode/templates/admin/my_account/my_account_profile_edit.mako:38 |
|
5807 | #: rhodecode/templates/admin/my_account/my_account_profile_edit.mako:38 | |
5792 | #: rhodecode/templates/admin/users/user_add.mako:68 |
|
5808 | #: rhodecode/templates/admin/users/user_add.mako:68 | |
@@ -5795,7 +5811,7 b' msgstr ""' | |||||
5795 | msgid "First Name" |
|
5811 | msgid "First Name" | |
5796 | msgstr "" |
|
5812 | msgstr "" | |
5797 |
|
5813 | |||
5798 |
#: rhodecode/templates/register.mako: |
|
5814 | #: rhodecode/templates/register.mako:90 | |
5799 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:58 |
|
5815 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:58 | |
5800 | #: rhodecode/templates/admin/my_account/my_account_profile_edit.mako:47 |
|
5816 | #: rhodecode/templates/admin/my_account/my_account_profile_edit.mako:47 | |
5801 | #: rhodecode/templates/admin/users/user_add.mako:77 |
|
5817 | #: rhodecode/templates/admin/users/user_add.mako:77 | |
@@ -5804,15 +5820,15 b' msgstr ""' | |||||
5804 | msgid "Last Name" |
|
5820 | msgid "Last Name" | |
5805 | msgstr "" |
|
5821 | msgstr "" | |
5806 |
|
5822 | |||
5807 |
#: rhodecode/templates/register.mako:11 |
|
5823 | #: rhodecode/templates/register.mako:118 | |
5808 | msgid "Account activation requires admin approval." |
|
5824 | msgid "Account activation requires admin approval." | |
5809 | msgstr "" |
|
5825 | msgstr "" | |
5810 |
|
5826 | |||
5811 |
#: rhodecode/templates/register.mako:12 |
|
5827 | #: rhodecode/templates/register.mako:125 | |
5812 | msgid "Create Account" |
|
5828 | msgid "Create Account" | |
5813 | msgstr "" |
|
5829 | msgstr "" | |
5814 |
|
5830 | |||
5815 |
#: rhodecode/templates/register.mako:12 |
|
5831 | #: rhodecode/templates/register.mako:125 | |
5816 | msgid "Create Account in {}" |
|
5832 | msgid "Create Account in {}" | |
5817 | msgstr "" |
|
5833 | msgstr "" | |
5818 |
|
5834 | |||
@@ -6108,9 +6124,7 b' msgstr ""' | |||||
6108 |
|
6124 | |||
6109 | #: rhodecode/templates/admin/gists/gist_edit.mako:100 |
|
6125 | #: rhodecode/templates/admin/gists/gist_edit.mako:100 | |
6110 | #: rhodecode/templates/base/issue_tracker_settings.mako:151 |
|
6126 | #: rhodecode/templates/base/issue_tracker_settings.mako:151 | |
6111 |
#: rhodecode/templates/ |
|
6127 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:82 | |
6112 | #: rhodecode/templates/codeblocks/diffs.mako:90 |
|
|||
6113 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:84 |
|
|||
6114 | msgid "Cancel" |
|
6128 | msgid "Cancel" | |
6115 | msgstr "" |
|
6129 | msgstr "" | |
6116 |
|
6130 | |||
@@ -6173,14 +6187,14 b' msgid "quick filter..."' | |||||
6173 | msgstr "" |
|
6187 | msgstr "" | |
6174 |
|
6188 | |||
6175 | #: rhodecode/templates/admin/gists/gist_index.mako:103 |
|
6189 | #: rhodecode/templates/admin/gists/gist_index.mako:103 | |
6176 |
#: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:8 |
|
6190 | #: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:87 | |
6177 | #: rhodecode/templates/bookmarks/bookmarks.mako:73 |
|
6191 | #: rhodecode/templates/bookmarks/bookmarks.mako:73 | |
6178 | #: rhodecode/templates/branches/branches.mako:72 |
|
6192 | #: rhodecode/templates/branches/branches.mako:72 | |
6179 |
#: rhodecode/templates/commits/changelog.mako:1 |
|
6193 | #: rhodecode/templates/commits/changelog.mako:138 | |
6180 | #: rhodecode/templates/compare/compare_commits.mako:16 |
|
6194 | #: rhodecode/templates/compare/compare_commits.mako:16 | |
6181 | #: rhodecode/templates/files/files_browser_tree.mako:20 |
|
6195 | #: rhodecode/templates/files/files_browser_tree.mako:20 | |
6182 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:39 |
|
6196 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:395 | |
6183 |
#: rhodecode/templates/pullrequests/pullrequests.mako: |
|
6197 | #: rhodecode/templates/pullrequests/pullrequests.mako:100 | |
6184 | #: rhodecode/templates/search/search_commit.mako:18 |
|
6198 | #: rhodecode/templates/search/search_commit.mako:18 | |
6185 | #: rhodecode/templates/summary/summary_commits.mako:11 |
|
6199 | #: rhodecode/templates/summary/summary_commits.mako:11 | |
6186 | #: rhodecode/templates/tags/tags.mako:73 |
|
6200 | #: rhodecode/templates/tags/tags.mako:73 | |
@@ -6195,7 +6209,7 b' msgstr ""' | |||||
6195 | #: rhodecode/templates/admin/user_groups/user_group_edit_advanced.mako:7 |
|
6209 | #: rhodecode/templates/admin/user_groups/user_group_edit_advanced.mako:7 | |
6196 | #: rhodecode/templates/admin/users/user_edit_advanced.mako:6 |
|
6210 | #: rhodecode/templates/admin/users/user_edit_advanced.mako:6 | |
6197 | #: rhodecode/templates/admin/users/user_edit_ssh_keys.mako:16 |
|
6211 | #: rhodecode/templates/admin/users/user_edit_ssh_keys.mako:16 | |
6198 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
6212 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:58 | |
6199 | msgid "Created on" |
|
6213 | msgid "Created on" | |
6200 | msgstr "" |
|
6214 | msgstr "" | |
6201 |
|
6215 | |||
@@ -6691,26 +6705,26 b' msgstr ""' | |||||
6691 | msgid "Pull Requests You Participate In" |
|
6705 | msgid "Pull Requests You Participate In" | |
6692 | msgstr "" |
|
6706 | msgstr "" | |
6693 |
|
6707 | |||
6694 |
#: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:7 |
|
6708 | #: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:75 | |
6695 |
#: rhodecode/templates/pullrequests/pullrequests.mako:9 |
|
6709 | #: rhodecode/templates/pullrequests/pullrequests.mako:96 | |
6696 | msgid "Id" |
|
6710 | msgid "Id" | |
6697 | msgstr "" |
|
6711 | msgstr "" | |
6698 |
|
6712 | |||
6699 |
#: rhodecode/templates/admin/my_account/my_account_pullrequests.mako: |
|
6713 | #: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:81 | |
6700 | #: rhodecode/templates/admin/settings/settings_global.mako:9 |
|
6714 | #: rhodecode/templates/admin/settings/settings_global.mako:9 | |
6701 | #: rhodecode/templates/email_templates/pull_request_review.mako:47 |
|
6715 | #: rhodecode/templates/email_templates/pull_request_review.mako:47 | |
6702 | #: rhodecode/templates/email_templates/pull_request_update.mako:43 |
|
6716 | #: rhodecode/templates/email_templates/pull_request_update.mako:43 | |
6703 | #: rhodecode/templates/pullrequests/pullrequest.mako:91 |
|
6717 | #: rhodecode/templates/pullrequests/pullrequest.mako:91 | |
6704 |
#: rhodecode/templates/pullrequests/pullrequests.mako:9 |
|
6718 | #: rhodecode/templates/pullrequests/pullrequests.mako:98 | |
6705 | msgid "Title" |
|
6719 | msgid "Title" | |
6706 | msgstr "" |
|
6720 | msgstr "" | |
6707 |
|
6721 | |||
6708 |
#: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:9 |
|
6722 | #: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:99 | |
6709 |
#: rhodecode/templates/pullrequests/pullrequests.mako:10 |
|
6723 | #: rhodecode/templates/pullrequests/pullrequests.mako:104 | |
6710 | msgid "Last Update" |
|
6724 | msgid "Last Update" | |
6711 | msgstr "" |
|
6725 | msgstr "" | |
6712 |
|
6726 | |||
6713 |
#: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:10 |
|
6727 | #: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:105 | |
6714 | msgid "Target Repo" |
|
6728 | msgid "Target Repo" | |
6715 | msgstr "" |
|
6729 | msgstr "" | |
6716 |
|
6730 | |||
@@ -6816,10 +6830,10 b' msgid "Unread"' | |||||
6816 | msgstr "" |
|
6830 | msgstr "" | |
6817 |
|
6831 | |||
6818 | #: rhodecode/templates/admin/notifications/notifications_show_all.mako:41 |
|
6832 | #: rhodecode/templates/admin/notifications/notifications_show_all.mako:41 | |
6819 |
#: rhodecode/templates/changeset/changeset.mako:25 |
|
6833 | #: rhodecode/templates/changeset/changeset.mako:252 | |
6820 |
#: rhodecode/templates/changeset/changeset.mako:26 |
|
6834 | #: rhodecode/templates/changeset/changeset.mako:262 | |
6821 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:7 |
|
6835 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:763 | |
6822 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:73 |
|
6836 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:773 | |
6823 | msgid "Comments" |
|
6837 | msgid "Comments" | |
6824 | msgstr "" |
|
6838 | msgstr "" | |
6825 |
|
6839 | |||
@@ -7858,7 +7872,7 b' msgid "Private repository"' | |||||
7858 | msgstr "" |
|
7872 | msgstr "" | |
7859 |
|
7873 | |||
7860 | #: rhodecode/templates/admin/repos/repo_edit_settings.mako:204 |
|
7874 | #: rhodecode/templates/admin/repos/repo_edit_settings.mako:204 | |
7861 |
#: rhodecode/templates/summary/components.mako:26 |
|
7875 | #: rhodecode/templates/summary/components.mako:262 | |
7862 | msgid "Enable statistics" |
|
7876 | msgid "Enable statistics" | |
7863 | msgstr "" |
|
7877 | msgstr "" | |
7864 |
|
7878 | |||
@@ -9043,10 +9057,10 b' msgstr ""' | |||||
9043 |
|
9057 | |||
9044 | #: rhodecode/templates/base/base.mako:161 |
|
9058 | #: rhodecode/templates/base/base.mako:161 | |
9045 | #: rhodecode/templates/base/base.mako:201 |
|
9059 | #: rhodecode/templates/base/base.mako:201 | |
9046 |
#: rhodecode/templates/changeset/changeset.mako:14 |
|
9060 | #: rhodecode/templates/changeset/changeset.mako:140 | |
9047 | #: rhodecode/templates/files/files_source_header.mako:57 |
|
9061 | #: rhodecode/templates/files/files_source_header.mako:57 | |
9048 | #: rhodecode/templates/files/files_tree_header.mako:44 |
|
9062 | #: rhodecode/templates/files/files_tree_header.mako:44 | |
9049 |
#: rhodecode/templates/summary/components.mako:27 |
|
9063 | #: rhodecode/templates/summary/components.mako:274 | |
9050 | msgid "Show More" |
|
9064 | msgid "Show More" | |
9051 | msgstr "" |
|
9065 | msgstr "" | |
9052 |
|
9066 | |||
@@ -9358,9 +9372,9 b' msgid "Confirm to remove this pattern:"' | |||||
9358 | msgstr "" |
|
9372 | msgstr "" | |
9359 |
|
9373 | |||
9360 | #: rhodecode/templates/base/issue_tracker_settings.mako:300 |
|
9374 | #: rhodecode/templates/base/issue_tracker_settings.mako:300 | |
9361 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:3 |
|
9375 | #: rhodecode/templates/changeset/changeset_file_comment.mako:395 | |
9362 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:4 |
|
9376 | #: rhodecode/templates/changeset/changeset_file_comment.mako:446 | |
9363 |
#: rhodecode/templates/data_table/_dt_elements.mako:45 |
|
9377 | #: rhodecode/templates/data_table/_dt_elements.mako:456 | |
9364 | #: rhodecode/templates/files/files_add.mako:59 |
|
9378 | #: rhodecode/templates/files/files_add.mako:59 | |
9365 | #: rhodecode/templates/files/files_edit.mako:61 |
|
9379 | #: rhodecode/templates/files/files_edit.mako:61 | |
9366 | msgid "Preview" |
|
9380 | msgid "Preview" | |
@@ -9708,7 +9722,7 b' msgstr ""' | |||||
9708 | msgid "{} Commit" |
|
9722 | msgid "{} Commit" | |
9709 | msgstr "" |
|
9723 | msgstr "" | |
9710 |
|
9724 | |||
9711 |
#: rhodecode/templates/changeset/changeset.mako:8 |
|
9725 | #: rhodecode/templates/changeset/changeset.mako:78 | |
9712 | #: rhodecode/templates/commits/changelog_elements.mako:56 |
|
9726 | #: rhodecode/templates/commits/changelog_elements.mako:56 | |
9713 | #: rhodecode/templates/files/files_source_header.mako:48 |
|
9727 | #: rhodecode/templates/files/files_source_header.mako:48 | |
9714 | #: rhodecode/templates/files/files_tree_header.mako:35 |
|
9728 | #: rhodecode/templates/files/files_tree_header.mako:35 | |
@@ -9716,119 +9730,127 b' msgstr ""' | |||||
9716 | msgid "Copy the full commit id" |
|
9730 | msgid "Copy the full commit id" | |
9717 | msgstr "" |
|
9731 | msgstr "" | |
9718 |
|
9732 | |||
9719 |
#: rhodecode/templates/changeset/changeset.mako:8 |
|
9733 | #: rhodecode/templates/changeset/changeset.mako:83 | |
9720 | msgid "Commit phase" |
|
9734 | msgid "Commit phase" | |
9721 | msgstr "" |
|
9735 | msgstr "" | |
9722 |
|
9736 | |||
9723 |
#: rhodecode/templates/changeset/changeset.mako:9 |
|
9737 | #: rhodecode/templates/changeset/changeset.mako:90 | |
9724 |
#: rhodecode/templates/changeset/changeset.mako:9 |
|
9738 | #: rhodecode/templates/changeset/changeset.mako:97 | |
9725 | msgid "Evolve State" |
|
9739 | msgid "Evolve State" | |
9726 | msgstr "" |
|
9740 | msgstr "" | |
9727 |
|
9741 | |||
9728 |
#: rhodecode/templates/changeset/changeset.mako:9 |
|
9742 | #: rhodecode/templates/changeset/changeset.mako:91 | |
9729 | msgid "obsolete" |
|
9743 | msgid "obsolete" | |
9730 | msgstr "" |
|
9744 | msgstr "" | |
9731 |
|
9745 | |||
9732 |
#: rhodecode/templates/changeset/changeset.mako: |
|
9746 | #: rhodecode/templates/changeset/changeset.mako:98 | |
9733 | msgid "hidden" |
|
9747 | msgid "hidden" | |
9734 | msgstr "" |
|
9748 | msgstr "" | |
9735 |
|
9749 | |||
9736 |
#: rhodecode/templates/changeset/changeset.mako:10 |
|
9750 | #: rhodecode/templates/changeset/changeset.mako:104 | |
9737 | msgid "Parent Commit" |
|
9751 | msgid "Parent Commit" | |
9738 | msgstr "" |
|
9752 | msgstr "" | |
9739 |
|
9753 | |||
9740 |
#: rhodecode/templates/changeset/changeset.mako:10 |
|
9754 | #: rhodecode/templates/changeset/changeset.mako:104 | |
9741 | msgid "parent" |
|
9755 | msgid "parent" | |
9742 | msgstr "" |
|
9756 | msgstr "" | |
9743 |
|
9757 | |||
9744 |
#: rhodecode/templates/changeset/changeset.mako:1 |
|
9758 | #: rhodecode/templates/changeset/changeset.mako:108 | |
9745 | msgid "Child Commit" |
|
9759 | msgid "Child Commit" | |
9746 | msgstr "" |
|
9760 | msgstr "" | |
9747 |
|
9761 | |||
9748 |
#: rhodecode/templates/changeset/changeset.mako:1 |
|
9762 | #: rhodecode/templates/changeset/changeset.mako:108 | |
9749 | msgid "child" |
|
9763 | msgid "child" | |
9750 | msgstr "" |
|
9764 | msgstr "" | |
9751 |
|
9765 | |||
9752 |
#: rhodecode/templates/changeset/changeset.mako:1 |
|
9766 | #: rhodecode/templates/changeset/changeset.mako:118 | |
9753 | msgid "Diff options" |
|
9767 | msgid "Diff options" | |
9754 | msgstr "" |
|
9768 | msgstr "" | |
9755 |
|
9769 | |||
9756 |
#: rhodecode/templates/changeset/changeset.mako:12 |
|
9770 | #: rhodecode/templates/changeset/changeset.mako:122 | |
9757 | msgid "Raw Diff" |
|
9771 | msgid "Raw Diff" | |
9758 | msgstr "" |
|
9772 | msgstr "" | |
9759 |
|
9773 | |||
9760 |
#: rhodecode/templates/changeset/changeset.mako:12 |
|
9774 | #: rhodecode/templates/changeset/changeset.mako:126 | |
9761 | msgid "Patch Diff" |
|
9775 | msgid "Patch Diff" | |
9762 | msgstr "" |
|
9776 | msgstr "" | |
9763 |
|
9777 | |||
9764 |
#: rhodecode/templates/changeset/changeset.mako:13 |
|
9778 | #: rhodecode/templates/changeset/changeset.mako:130 | |
9765 | msgid "Download Diff" |
|
9779 | msgid "Download Diff" | |
9766 | msgstr "" |
|
9780 | msgstr "" | |
9767 |
|
9781 | |||
9768 |
#: rhodecode/templates/changeset/changeset.mako:16 |
|
9782 | #: rhodecode/templates/changeset/changeset.mako:160 | |
9769 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:50 |
|
9783 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:502 | |
9770 | msgid "General Comments" |
|
9784 | msgid "General Comments" | |
9771 | msgstr "" |
|
9785 | msgstr "" | |
9772 |
|
9786 | |||
9773 |
#: rhodecode/templates/changeset/changeset.mako:20 |
|
9787 | #: rhodecode/templates/changeset/changeset.mako:201 | |
9774 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
9788 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:619 | |
9775 | msgid "Reviewers" |
|
9789 | msgid "Reviewers" | |
9776 | msgstr "" |
|
9790 | msgstr "" | |
9777 |
|
9791 | |||
9778 |
#: rhodecode/templates/changeset/changeset.mako:24 |
|
9792 | #: rhodecode/templates/changeset/changeset.mako:242 | |
9779 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
9793 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:579 | |
|
9794 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:752 | |||
9780 | msgid "No TODOs yet" |
|
9795 | msgid "No TODOs yet" | |
9781 | msgstr "" |
|
9796 | msgstr "" | |
9782 |
|
9797 | |||
9783 |
#: rhodecode/templates/changeset/changeset.mako:27 |
|
9798 | #: rhodecode/templates/changeset/changeset.mako:274 | |
9784 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
9799 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:803 | |
9785 | msgid "No Comments yet" |
|
9800 | msgid "No Comments yet" | |
9786 | msgstr "" |
|
9801 | msgstr "" | |
9787 |
|
9802 | |||
9788 |
#: rhodecode/templates/changeset/changeset.mako:33 |
|
9803 | #: rhodecode/templates/changeset/changeset.mako:330 | |
9789 | msgid "No Child Commits" |
|
9804 | msgid "No Child Commits" | |
9790 | msgstr "" |
|
9805 | msgstr "" | |
9791 |
|
9806 | |||
9792 |
#: rhodecode/templates/changeset/changeset.mako:37 |
|
9807 | #: rhodecode/templates/changeset/changeset.mako:377 | |
9793 | msgid "No Parent Commits" |
|
9808 | msgid "No Parent Commits" | |
9794 | msgstr "" |
|
9809 | msgstr "" | |
9795 |
|
9810 | |||
9796 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
9811 | #: rhodecode/templates/changeset/changeset_file_comment.mako:51 | |
9797 | msgid "Resolved by comment #{}" |
|
9812 | msgid "Draft comments are only visible to the author until submitted" | |
9798 | msgstr "" |
|
9813 | msgstr "" | |
9799 |
|
9814 | |||
9800 | #: rhodecode/templates/changeset/changeset_file_comment.mako:55 |
|
9815 | #: rhodecode/templates/changeset/changeset_file_comment.mako:55 | |
|
9816 | msgid "This comment was added while you browsed this page" | |||
|
9817 | msgstr "" | |||
|
9818 | ||||
|
9819 | #: rhodecode/templates/changeset/changeset_file_comment.mako:65 | |||
|
9820 | msgid "Resolved by comment #{}" | |||
|
9821 | msgstr "" | |||
|
9822 | ||||
|
9823 | #: rhodecode/templates/changeset/changeset_file_comment.mako:73 | |||
9801 | msgid "Click to create resolution comment." |
|
9824 | msgid "Click to create resolution comment." | |
9802 | msgstr "" |
|
9825 | msgstr "" | |
9803 |
|
9826 | |||
9804 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
9827 | #: rhodecode/templates/changeset/changeset_file_comment.mako:82 | |
9805 | msgid "This comment resolves TODO #{}" |
|
9828 | msgid "This comment resolves TODO #{}" | |
9806 | msgstr "" |
|
9829 | msgstr "" | |
9807 |
|
9830 | |||
9808 | #: rhodecode/templates/changeset/changeset_file_comment.mako:96 |
|
|||
9809 | msgid "Status from pull request." |
|
|||
9810 | msgstr "" |
|
|||
9811 |
|
||||
9812 | #: rhodecode/templates/changeset/changeset_file_comment.mako:113 |
|
|||
9813 | msgid "Pull request author" |
|
|||
9814 | msgstr "" |
|
|||
9815 |
|
||||
9816 | #: rhodecode/templates/changeset/changeset_file_comment.mako:114 |
|
9831 | #: rhodecode/templates/changeset/changeset_file_comment.mako:114 | |
|
9832 | msgid "Status from pull request." | |||
|
9833 | msgstr "" | |||
|
9834 | ||||
|
9835 | #: rhodecode/templates/changeset/changeset_file_comment.mako:133 | |||
|
9836 | msgid "Pull request author" | |||
|
9837 | msgstr "" | |||
|
9838 | ||||
|
9839 | #: rhodecode/templates/changeset/changeset_file_comment.mako:134 | |||
9817 | msgid "author" |
|
9840 | msgid "author" | |
9818 | msgstr "" |
|
9841 | msgstr "" | |
9819 |
|
9842 | |||
9820 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:1 |
|
9843 | #: rhodecode/templates/changeset/changeset_file_comment.mako:187 | |
9821 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
9844 | #: rhodecode/templates/changeset/changeset_file_comment.mako:201 | |
9822 | msgid "Outdated comment from pull request version v{0}, latest v{1}" |
|
9845 | msgid "Outdated comment from pull request version v{0}, latest v{1}" | |
9823 | msgstr "" |
|
9846 | msgstr "" | |
9824 |
|
9847 | |||
9825 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:1 |
|
9848 | #: rhodecode/templates/changeset/changeset_file_comment.mako:190 | |
9826 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
9849 | #: rhodecode/templates/changeset/changeset_file_comment.mako:206 | |
9827 | msgid "Comment from pull request version v{0}, latest v{1}" |
|
9850 | msgid "Comment from pull request version v{0}, latest v{1}" | |
9828 | msgstr "" |
|
9851 | msgstr "" | |
9829 |
|
9852 | |||
9830 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
9853 | #: rhodecode/templates/changeset/changeset_file_comment.mako:222 | |
9831 | #: rhodecode/templates/changeset/changeset_file_comment.mako:480 |
|
|||
9832 | #: rhodecode/templates/compare/compare_diff.mako:108 |
|
9854 | #: rhodecode/templates/compare/compare_diff.mako:108 | |
9833 | #: rhodecode/templates/compare/compare_diff.mako:116 |
|
9855 | #: rhodecode/templates/compare/compare_diff.mako:116 | |
9834 | #: rhodecode/templates/compare/compare_diff.mako:124 |
|
9856 | #: rhodecode/templates/compare/compare_diff.mako:124 | |
@@ -9836,98 +9858,93 b' msgstr ""' | |||||
9836 | msgid "Comment" |
|
9858 | msgid "Comment" | |
9837 | msgstr "" |
|
9859 | msgstr "" | |
9838 |
|
9860 | |||
9839 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
9861 | #: rhodecode/templates/changeset/changeset_file_comment.mako:223 | |
9840 | #: rhodecode/templates/files/files_source.mako:117 |
|
9862 | #: rhodecode/templates/files/files_source.mako:117 | |
9841 | msgid "Copy permalink" |
|
9863 | msgid "Copy permalink" | |
9842 | msgstr "" |
|
9864 | msgstr "" | |
9843 |
|
9865 | |||
9844 | #: rhodecode/templates/changeset/changeset_file_comment.mako:221 |
|
|||
9845 | #: rhodecode/templates/changeset/changeset_file_comment.mako:224 |
|
|||
9846 | #: rhodecode/templates/changeset/changeset_file_comment.mako:230 |
|
|||
9847 | #: rhodecode/templates/changeset/changeset_file_comment.mako:233 |
|
|||
9848 | msgid "Action unavailable" |
|
|||
9849 | msgstr "" |
|
|||
9850 |
|
||||
9851 | #: rhodecode/templates/changeset/changeset_file_comment.mako:241 |
|
9866 | #: rhodecode/templates/changeset/changeset_file_comment.mako:241 | |
|
9867 | msgid "Submit draft" | |||
|
9868 | msgstr "" | |||
|
9869 | ||||
|
9870 | #: rhodecode/templates/changeset/changeset_file_comment.mako:247 | |||
|
9871 | #: rhodecode/templates/changeset/changeset_file_comment.mako:250 | |||
|
9872 | #: rhodecode/templates/changeset/changeset_file_comment.mako:256 | |||
|
9873 | #: rhodecode/templates/changeset/changeset_file_comment.mako:259 | |||
|
9874 | msgid "Action unavailable" | |||
|
9875 | msgstr "" | |||
|
9876 | ||||
|
9877 | #: rhodecode/templates/changeset/changeset_file_comment.mako:267 | |||
9852 | msgid "Jump to the previous outdated comment" |
|
9878 | msgid "Jump to the previous outdated comment" | |
9853 | msgstr "" |
|
9879 | msgstr "" | |
9854 |
|
9880 | |||
9855 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
9881 | #: rhodecode/templates/changeset/changeset_file_comment.mako:268 | |
9856 | msgid "Jump to the next outdated comment" |
|
9882 | msgid "Jump to the next outdated comment" | |
9857 | msgstr "" |
|
9883 | msgstr "" | |
9858 |
|
9884 | |||
9859 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
9885 | #: rhodecode/templates/changeset/changeset_file_comment.mako:270 | |
9860 | msgid "Jump to the previous comment" |
|
9886 | msgid "Jump to the previous comment" | |
9861 | msgstr "" |
|
9887 | msgstr "" | |
9862 |
|
9888 | |||
9863 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
9889 | #: rhodecode/templates/changeset/changeset_file_comment.mako:271 | |
9864 | msgid "Jump to the next comment" |
|
9890 | msgid "Jump to the next comment" | |
9865 | msgstr "" |
|
9891 | msgstr "" | |
9866 |
|
9892 | |||
9867 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
9893 | #: rhodecode/templates/changeset/changeset_file_comment.mako:311 | |
9868 | msgid "Leave a comment on this Pull Request." |
|
9894 | msgid "Leave a comment on this Pull Request." | |
9869 | msgstr "" |
|
9895 | msgstr "" | |
9870 |
|
9896 | |||
9871 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
9897 | #: rhodecode/templates/changeset/changeset_file_comment.mako:313 | |
9872 | msgid "Leave a comment on {} commits in this range." |
|
9898 | msgid "Leave a comment on {} commits in this range." | |
9873 | msgstr "" |
|
9899 | msgstr "" | |
9874 |
|
9900 | |||
9875 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
9901 | #: rhodecode/templates/changeset/changeset_file_comment.mako:315 | |
9876 | msgid "Leave a comment on this Commit." |
|
9902 | msgid "Leave a comment on this Commit." | |
9877 | msgstr "" |
|
9903 | msgstr "" | |
9878 |
|
9904 | |||
9879 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:3 |
|
9905 | #: rhodecode/templates/changeset/changeset_file_comment.mako:403 | |
9880 | #: rhodecode/templates/codeblocks/diffs.mako:85 |
|
|||
9881 | msgid "You need to be logged in to leave comments." |
|
9906 | msgid "You need to be logged in to leave comments." | |
9882 | msgstr "" |
|
9907 | msgstr "" | |
9883 |
|
9908 | |||
9884 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
9909 | #: rhodecode/templates/changeset/changeset_file_comment.mako:404 | |
9885 | #: rhodecode/templates/codeblocks/diffs.mako:85 |
|
|||
9886 | msgid "Login now" |
|
9910 | msgid "Login now" | |
9887 | msgstr "" |
|
9911 | msgstr "" | |
9888 |
|
9912 | |||
9889 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:4 |
|
9913 | #: rhodecode/templates/changeset/changeset_file_comment.mako:451 | |
9890 | msgid "Mark as" |
|
9914 | msgid "Mark as" | |
9891 | msgstr "" |
|
9915 | msgstr "" | |
9892 |
|
9916 | |||
9893 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:44 |
|
9917 | #: rhodecode/templates/changeset/changeset_file_comment.mako:474 | |
9894 | #: rhodecode/templates/files/files_upload.mako:86 |
|
9918 | #: rhodecode/templates/files/files_upload.mako:86 | |
9895 | msgid "Drag'n Drop files here or" |
|
9919 | msgid "Drag'n Drop files here or" | |
9896 | msgstr "" |
|
9920 | msgstr "" | |
9897 |
|
9921 | |||
9898 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:44 |
|
9922 | #: rhodecode/templates/changeset/changeset_file_comment.mako:474 | |
9899 | #: rhodecode/templates/files/files_upload.mako:86 |
|
9923 | #: rhodecode/templates/files/files_upload.mako:86 | |
9900 | msgid "Choose your files" |
|
9924 | msgid "Choose your files" | |
9901 | msgstr "" |
|
9925 | msgstr "" | |
9902 |
|
9926 | |||
9903 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:4 |
|
9927 | #: rhodecode/templates/changeset/changeset_file_comment.mako:477 | |
9904 | msgid "uploading..." |
|
9928 | msgid "uploading..." | |
9905 | msgstr "" |
|
9929 | msgstr "" | |
9906 |
|
9930 | |||
9907 | #: rhodecode/templates/changeset/changeset_file_comment.mako:499 |
|
|||
9908 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:48 |
|
|||
9909 | #: rhodecode/templates/pullrequests/pullrequests.mako:31 |
|
|||
9910 | msgid "Closed" |
|
|||
9911 | msgstr "" |
|
|||
9912 |
|
||||
9913 | #: rhodecode/templates/changeset/changeset_file_comment.mako:508 |
|
9931 | #: rhodecode/templates/changeset/changeset_file_comment.mako:508 | |
9914 | msgid "Comments parsed using {} syntax." |
|
9932 | msgid "Add comment" | |
9915 | msgstr "" |
|
9933 | msgstr "" | |
9916 |
|
9934 | |||
9917 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:5 |
|
9935 | #: rhodecode/templates/changeset/changeset_file_comment.mako:513 | |
9918 | msgid "Use @username inside this text to send notification to this RhodeCode user" |
|
9936 | #: rhodecode/templates/changeset/changeset_file_comment.mako:515 | |
9919 | msgstr "" |
|
9937 | msgid "Add draft" | |
9920 |
|
9938 | msgstr "" | ||
9921 | #: rhodecode/templates/changeset/changeset_file_comment.mako:510 |
|
9939 | ||
9922 | msgid "and" |
|
9940 | #: rhodecode/templates/changeset/changeset_file_comment.mako:526 | |
9923 | msgstr "" |
|
9941 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:46 | |
9924 |
|
9942 | #: rhodecode/templates/pullrequests/pullrequests.mako:31 | ||
9925 | #: rhodecode/templates/changeset/changeset_file_comment.mako:511 |
|
9943 | msgid "Closed" | |
9926 | msgid "Start typing with / for certain actions to be triggered via text box." |
|
9944 | msgstr "" | |
9927 | msgstr "" |
|
9945 | ||
9928 |
|
9946 | #: rhodecode/templates/changeset/changeset_file_comment.mako:545 | ||
9929 | #: rhodecode/templates/changeset/changeset_file_comment.mako:512 |
|
9947 | msgid "{} is supported." | |
9930 | msgid "actions supported." |
|
|||
9931 | msgstr "" |
|
9948 | msgstr "" | |
9932 |
|
9949 | |||
9933 | #: rhodecode/templates/changeset/changeset_range.mako:5 |
|
9950 | #: rhodecode/templates/changeset/changeset_range.mako:5 | |
@@ -9948,6 +9965,7 b' msgid "Diff Option"' | |||||
9948 | msgstr "" |
|
9965 | msgstr "" | |
9949 |
|
9966 | |||
9950 | #: rhodecode/templates/changeset/changeset_range.mako:71 |
|
9967 | #: rhodecode/templates/changeset/changeset_range.mako:71 | |
|
9968 | #: rhodecode/templates/commits/changelog.mako:124 | |||
9951 | msgid "Show combined diff" |
|
9969 | msgid "Show combined diff" | |
9952 | msgstr "" |
|
9970 | msgstr "" | |
9953 |
|
9971 | |||
@@ -9959,8 +9977,8 b' msgstr ""' | |||||
9959 | #: rhodecode/templates/changeset/diff_block.mako:10 |
|
9977 | #: rhodecode/templates/changeset/diff_block.mako:10 | |
9960 | #: rhodecode/templates/changeset/diff_block.mako:25 |
|
9978 | #: rhodecode/templates/changeset/diff_block.mako:25 | |
9961 | #: rhodecode/templates/changeset/diff_block.mako:46 |
|
9979 | #: rhodecode/templates/changeset/diff_block.mako:46 | |
9962 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
9980 | #: rhodecode/templates/codeblocks/diffs.mako:196 | |
9963 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
9981 | #: rhodecode/templates/codeblocks/diffs.mako:327 | |
9964 | msgid "Showing a big diff might take some time and resources, continue?" |
|
9982 | msgid "Showing a big diff might take some time and resources, continue?" | |
9965 | msgstr "" |
|
9983 | msgstr "" | |
9966 |
|
9984 | |||
@@ -9968,8 +9986,8 b' msgstr ""' | |||||
9968 | #: rhodecode/templates/changeset/diff_block.mako:10 |
|
9986 | #: rhodecode/templates/changeset/diff_block.mako:10 | |
9969 | #: rhodecode/templates/changeset/diff_block.mako:25 |
|
9987 | #: rhodecode/templates/changeset/diff_block.mako:25 | |
9970 | #: rhodecode/templates/changeset/diff_block.mako:46 |
|
9988 | #: rhodecode/templates/changeset/diff_block.mako:46 | |
9971 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
9989 | #: rhodecode/templates/codeblocks/diffs.mako:196 | |
9972 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
9990 | #: rhodecode/templates/codeblocks/diffs.mako:327 | |
9973 | msgid "Show full diff" |
|
9991 | msgid "Show full diff" | |
9974 | msgstr "" |
|
9992 | msgstr "" | |
9975 |
|
9993 | |||
@@ -9982,148 +10000,149 b' msgstr ""' | |||||
9982 | msgid "Diff was truncated. File content available only in full diff." |
|
10000 | msgid "Diff was truncated. File content available only in full diff." | |
9983 | msgstr "" |
|
10001 | msgstr "" | |
9984 |
|
10002 | |||
9985 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
10003 | #: rhodecode/templates/codeblocks/diffs.mako:129 | |
9986 | msgid "not available in this view" |
|
10004 | msgid "not available in this view" | |
9987 | msgstr "" |
|
10005 | msgstr "" | |
9988 |
|
10006 | |||
9989 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
10007 | #: rhodecode/templates/codeblocks/diffs.mako:138 | |
9990 | msgid "{} unresolved" |
|
10008 | msgid "{} unresolved" | |
9991 | msgstr "" |
|
10009 | msgstr "" | |
9992 |
|
10010 | |||
9993 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
10011 | #: rhodecode/templates/codeblocks/diffs.mako:141 | |
9994 | msgid "0 unresolved" |
|
10012 | msgid "0 unresolved" | |
9995 | msgstr "" |
|
10013 | msgstr "" | |
9996 |
|
10014 | |||
9997 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
10015 | #: rhodecode/templates/codeblocks/diffs.mako:144 | |
9998 | msgid "{} Resolved" |
|
10016 | msgid "{} Resolved" | |
9999 | msgstr "" |
|
10017 | msgstr "" | |
10000 |
|
10018 | |||
10001 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
10019 | #: rhodecode/templates/codeblocks/diffs.mako:195 | |
10002 | msgid "The requested changes are too big and content was truncated." |
|
10020 | msgid "The requested changes are too big and content was truncated." | |
10003 | msgstr "" |
|
10021 | msgstr "" | |
10004 |
|
10022 | |||
10005 |
#: rhodecode/templates/codeblocks/diffs.mako:22 |
|
10023 | #: rhodecode/templates/codeblocks/diffs.mako:212 | |
10006 | msgid "Some changes may be hidden" |
|
10024 | msgid "Some changes may be hidden" | |
10007 | msgstr "" |
|
10025 | msgstr "" | |
10008 |
|
10026 | |||
10009 |
#: rhodecode/templates/codeblocks/diffs.mako:2 |
|
10027 | #: rhodecode/templates/codeblocks/diffs.mako:214 | |
10010 | msgid "No files" |
|
10028 | msgid "No files" | |
10011 | msgstr "" |
|
10029 | msgstr "" | |
10012 |
|
10030 | |||
10013 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
10031 | #: rhodecode/templates/codeblocks/diffs.mako:327 | |
10014 | msgid "The requested commit or file is too big and content was truncated." |
|
10032 | msgid "The requested commit or file is too big and content was truncated." | |
10015 | msgstr "" |
|
10033 | msgstr "" | |
10016 |
|
10034 | |||
10017 |
#: rhodecode/templates/codeblocks/diffs.mako:34 |
|
10035 | #: rhodecode/templates/codeblocks/diffs.mako:334 | |
10018 | #, python-format |
|
10036 | #, python-format | |
10019 | msgid "This diff has been collapsed as it changes many lines, (%i lines changed)" |
|
10037 | msgid "This diff has been collapsed as it changes many lines, (%i lines changed)" | |
10020 | msgstr "" |
|
10038 | msgstr "" | |
10021 |
|
10039 | |||
10022 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
10040 | #: rhodecode/templates/codeblocks/diffs.mako:336 | |
10023 | msgid "Show them" |
|
10041 | msgid "Show them" | |
10024 | msgstr "" |
|
10042 | msgstr "" | |
10025 |
|
10043 | |||
10026 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
10044 | #: rhodecode/templates/codeblocks/diffs.mako:339 | |
10027 | msgid "Hide them" |
|
10045 | msgid "Hide them" | |
10028 | msgstr "" |
|
10046 | msgstr "" | |
10029 |
|
10047 | |||
10030 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
10048 | #: rhodecode/templates/codeblocks/diffs.mako:376 | |
10031 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
10049 | #: rhodecode/templates/codeblocks/diffs.mako:395 | |
10032 | msgid "Unmatched/outdated inline comments below" |
|
10050 | msgid "Unmatched/outdated inline comments below" | |
10033 | msgstr "" |
|
10051 | msgstr "" | |
10034 |
|
10052 | |||
10035 |
#: rhodecode/templates/codeblocks/diffs.mako:41 |
|
10053 | #: rhodecode/templates/codeblocks/diffs.mako:401 | |
10036 | msgid "Unmatched/outdated comments below" |
|
10054 | msgid "Unmatched/outdated comments below" | |
10037 | msgstr "" |
|
10055 | msgstr "" | |
10038 |
|
10056 | |||
10039 |
#: rhodecode/templates/codeblocks/diffs.mako:4 |
|
10057 | #: rhodecode/templates/codeblocks/diffs.mako:475 | |
10040 | msgid "This file was removed from diff during updates to this pull-request." |
|
10058 | msgid "This file was removed from diff during updates to this pull-request." | |
10041 | msgstr "" |
|
10059 | msgstr "" | |
10042 |
|
10060 | |||
10043 |
#: rhodecode/templates/codeblocks/diffs.mako:4 |
|
10061 | #: rhodecode/templates/codeblocks/diffs.mako:476 | |
10044 | msgid "There are still outdated/unresolved comments attached to it." |
|
10062 | msgid "There are still outdated/unresolved comments attached to it." | |
10045 | msgstr "" |
|
10063 | msgstr "" | |
10046 |
|
10064 | |||
10047 |
#: rhodecode/templates/codeblocks/diffs.mako:5 |
|
10065 | #: rhodecode/templates/codeblocks/diffs.mako:582 | |
10048 |
#: rhodecode/templates/codeblocks/diffs.mako:6 |
|
10066 | #: rhodecode/templates/codeblocks/diffs.mako:600 | |
10049 | #, python-format |
|
10067 | #, python-format | |
10050 | msgid "Show file at commit: %(commit_id)s" |
|
10068 | msgid "Show file at commit: %(commit_id)s" | |
10051 | msgstr "" |
|
10069 | msgstr "" | |
10052 |
|
10070 | |||
10053 |
#: rhodecode/templates/codeblocks/diffs.mako:5 |
|
10071 | #: rhodecode/templates/codeblocks/diffs.mako:584 | |
10054 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
10072 | #: rhodecode/templates/codeblocks/diffs.mako:591 | |
10055 | msgid "Show file before" |
|
10073 | msgid "Show file before" | |
10056 | msgstr "" |
|
10074 | msgstr "" | |
10057 |
|
10075 | |||
10058 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
10076 | #: rhodecode/templates/codeblocks/diffs.mako:589 | |
10059 |
#: rhodecode/templates/codeblocks/diffs.mako:6 |
|
10077 | #: rhodecode/templates/codeblocks/diffs.mako:607 | |
10060 | #, python-format |
|
10078 | #, python-format | |
10061 | msgid "File not present at commit: %(commit_id)s" |
|
10079 | msgid "File not present at commit: %(commit_id)s" | |
10062 | msgstr "" |
|
10080 | msgstr "" | |
10063 |
|
10081 | |||
|
10082 | #: rhodecode/templates/codeblocks/diffs.mako:602 | |||
|
10083 | #: rhodecode/templates/codeblocks/diffs.mako:609 | |||
|
10084 | msgid "Show file after" | |||
|
10085 | msgstr "" | |||
|
10086 | ||||
10064 | #: rhodecode/templates/codeblocks/diffs.mako:616 |
|
10087 | #: rhodecode/templates/codeblocks/diffs.mako:616 | |
10065 |
#: rhodecode/templates/codeblocks/diffs.mako:6 |
|
10088 | #: rhodecode/templates/codeblocks/diffs.mako:618 | |
10066 | msgid "Show file after" |
|
|||
10067 | msgstr "" |
|
|||
10068 |
|
||||
10069 | #: rhodecode/templates/codeblocks/diffs.mako:630 |
|
|||
10070 | msgid "Show comments" |
|
|||
10071 | msgstr "" |
|
|||
10072 |
|
||||
10073 | #: rhodecode/templates/codeblocks/diffs.mako:630 |
|
|||
10074 | msgid "Hide comments" |
|
10089 | msgid "Hide comments" | |
10075 | msgstr "" |
|
10090 | msgstr "" | |
10076 |
|
10091 | |||
10077 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
10092 | #: rhodecode/templates/codeblocks/diffs.mako:617 | |
10078 | #: rhodecode/templates/codeblocks/diffs.mako:764 |
|
10093 | msgid "Show comments" | |
10079 | #: rhodecode/templates/codeblocks/diffs.mako:826 |
|
10094 | msgstr "" | |
10080 | msgid "comments including outdated: {}. Click here to display them." |
|
10095 | ||
10081 | msgstr "" |
|
10096 | #: rhodecode/templates/codeblocks/diffs.mako:726 | |
10082 |
|
10097 | #: rhodecode/templates/codeblocks/diffs.mako:773 | ||
10083 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
10098 | #: rhodecode/templates/codeblocks/diffs.mako:840 | |
10084 | #: rhodecode/templates/codeblocks/diffs.mako:766 |
|
10099 | msgid "Comments including outdated: {}. Click here to toggle them." | |
10085 | #: rhodecode/templates/codeblocks/diffs.mako:828 |
|
10100 | msgstr "" | |
10086 | msgid "comments: {}. Click to toggle them." |
|
10101 | ||
10087 | msgstr "" |
|
10102 | #: rhodecode/templates/codeblocks/diffs.mako:728 | |
10088 |
|
10103 | #: rhodecode/templates/codeblocks/diffs.mako:775 | ||
10089 |
#: rhodecode/templates/codeblocks/diffs.mako:8 |
|
10104 | #: rhodecode/templates/codeblocks/diffs.mako:842 | |
|
10105 | msgid "Comments: {}. Click to toggle them." | |||
|
10106 | msgstr "" | |||
|
10107 | ||||
|
10108 | #: rhodecode/templates/codeblocks/diffs.mako:914 | |||
10090 | msgid "Toggle wide diff" |
|
10109 | msgid "Toggle wide diff" | |
10091 | msgstr "" |
|
10110 | msgstr "" | |
10092 |
|
10111 | |||
10093 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
10112 | #: rhodecode/templates/codeblocks/diffs.mako:922 | |
10094 | msgid "View diff as side by side" |
|
10113 | msgid "View diff as side by side" | |
10095 | msgstr "" |
|
10114 | msgstr "" | |
10096 |
|
10115 | |||
10097 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
10116 | #: rhodecode/templates/codeblocks/diffs.mako:924 | |
10098 | msgid "Side by Side" |
|
10117 | msgid "Side by Side" | |
10099 | msgstr "" |
|
10118 | msgstr "" | |
10100 |
|
10119 | |||
10101 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
10120 | #: rhodecode/templates/codeblocks/diffs.mako:929 | |
10102 | msgid "View diff as unified" |
|
10121 | msgid "View diff as unified" | |
10103 | msgstr "" |
|
10122 | msgstr "" | |
10104 |
|
10123 | |||
10105 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
10124 | #: rhodecode/templates/codeblocks/diffs.mako:930 | |
10106 | msgid "Unified" |
|
10125 | msgid "Unified" | |
10107 | msgstr "" |
|
10126 | msgstr "" | |
10108 |
|
10127 | |||
10109 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
10128 | #: rhodecode/templates/codeblocks/diffs.mako:935 | |
10110 | msgid "Turn off: Show the diff as commit range" |
|
10129 | msgid "Turn off: Show the diff as commit range" | |
10111 | msgstr "" |
|
10130 | msgstr "" | |
10112 |
|
10131 | |||
10113 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
10132 | #: rhodecode/templates/codeblocks/diffs.mako:938 | |
10114 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
10133 | #: rhodecode/templates/codeblocks/diffs.mako:945 | |
10115 | msgid "Range Diff" |
|
10134 | msgid "Range Diff" | |
10116 | msgstr "" |
|
10135 | msgstr "" | |
10117 |
|
10136 | |||
10118 |
#: rhodecode/templates/codeblocks/diffs.mako:92 |
|
10137 | #: rhodecode/templates/codeblocks/diffs.mako:942 | |
10119 | msgid "Show the diff as commit range" |
|
10138 | msgid "Show the diff as commit range" | |
10120 | msgstr "" |
|
10139 | msgstr "" | |
10121 |
|
10140 | |||
10122 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
10141 | #: rhodecode/templates/codeblocks/diffs.mako:1007 | |
10123 | msgid "Disabled on range diff" |
|
10142 | msgid "Disabled on range diff" | |
10124 | msgstr "" |
|
10143 | msgstr "" | |
10125 |
|
10144 | |||
10126 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
10145 | #: rhodecode/templates/codeblocks/diffs.mako:1314 | |
10127 | msgid "..." |
|
10146 | msgid "..." | |
10128 | msgstr "" |
|
10147 | msgstr "" | |
10129 |
|
10148 | |||
@@ -10171,25 +10190,25 b' msgstr ""' | |||||
10171 | msgid "Select second commit" |
|
10190 | msgid "Select second commit" | |
10172 | msgstr "" |
|
10191 | msgstr "" | |
10173 |
|
10192 | |||
10174 |
#: rhodecode/templates/commits/changelog.mako:1 |
|
10193 | #: rhodecode/templates/commits/changelog.mako:135 | |
10175 | msgid "Commit Message" |
|
10194 | msgid "Commit Message" | |
10176 | msgstr "" |
|
10195 | msgstr "" | |
10177 |
|
10196 | |||
10178 |
#: rhodecode/templates/commits/changelog.mako:1 |
|
10197 | #: rhodecode/templates/commits/changelog.mako:137 | |
10179 | #: rhodecode/templates/summary/summary_commits.mako:10 |
|
10198 | #: rhodecode/templates/summary/summary_commits.mako:10 | |
10180 | msgid "Age" |
|
10199 | msgid "Age" | |
10181 | msgstr "" |
|
10200 | msgstr "" | |
10182 |
|
10201 | |||
10183 |
#: rhodecode/templates/commits/changelog.mako:1 |
|
10202 | #: rhodecode/templates/commits/changelog.mako:140 | |
10184 | #: rhodecode/templates/summary/summary_commits.mako:12 |
|
10203 | #: rhodecode/templates/summary/summary_commits.mako:12 | |
10185 | msgid "Refs" |
|
10204 | msgid "Refs" | |
10186 | msgstr "" |
|
10205 | msgstr "" | |
10187 |
|
10206 | |||
10188 |
#: rhodecode/templates/commits/changelog.mako:2 |
|
10207 | #: rhodecode/templates/commits/changelog.mako:289 | |
10189 | msgid "Branch filter" |
|
10208 | msgid "Branch filter" | |
10190 | msgstr "" |
|
10209 | msgstr "" | |
10191 |
|
10210 | |||
10192 |
#: rhodecode/templates/commits/changelog.mako:3 |
|
10211 | #: rhodecode/templates/commits/changelog.mako:350 | |
10193 | msgid "There are no changes yet" |
|
10212 | msgid "There are no changes yet" | |
10194 | msgstr "" |
|
10213 | msgstr "" | |
10195 |
|
10214 | |||
@@ -10229,7 +10248,7 b' msgstr ""' | |||||
10229 |
|
10248 | |||
10230 | #: rhodecode/templates/commits/changelog_elements.mako:80 |
|
10249 | #: rhodecode/templates/commits/changelog_elements.mako:80 | |
10231 | #: rhodecode/templates/compare/compare_commits.mako:47 |
|
10250 | #: rhodecode/templates/compare/compare_commits.mako:47 | |
10232 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:43 |
|
10251 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:433 | |
10233 | #: rhodecode/templates/search/search_commit.mako:34 |
|
10252 | #: rhodecode/templates/search/search_commit.mako:34 | |
10234 | msgid "Expand commit message" |
|
10253 | msgid "Expand commit message" | |
10235 | msgstr "" |
|
10254 | msgstr "" | |
@@ -10281,7 +10300,7 b' msgid "Compare was calculated based on t' | |||||
10281 | msgstr "" |
|
10300 | msgstr "" | |
10282 |
|
10301 | |||
10283 | #: rhodecode/templates/compare/compare_commits.mako:15 |
|
10302 | #: rhodecode/templates/compare/compare_commits.mako:15 | |
10284 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:39 |
|
10303 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:394 | |
10285 | msgid "Time" |
|
10304 | msgid "Time" | |
10286 | msgstr "" |
|
10305 | msgstr "" | |
10287 |
|
10306 | |||
@@ -10402,7 +10421,7 b' msgid "personal"' | |||||
10402 | msgstr "" |
|
10421 | msgstr "" | |
10403 |
|
10422 | |||
10404 | #: rhodecode/templates/data_table/_dt_elements.mako:387 |
|
10423 | #: rhodecode/templates/data_table/_dt_elements.mako:387 | |
10405 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:5 |
|
10424 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:57 | |
10406 | msgid "Pull request !{}" |
|
10425 | msgid "Pull request !{}" | |
10407 | msgstr "" |
|
10426 | msgstr "" | |
10408 |
|
10427 | |||
@@ -10410,11 +10429,11 b' msgstr ""' | |||||
10410 | msgid "Work in progress" |
|
10429 | msgid "Work in progress" | |
10411 | msgstr "" |
|
10430 | msgstr "" | |
10412 |
|
10431 | |||
10413 |
#: rhodecode/templates/data_table/_dt_elements.mako:42 |
|
10432 | #: rhodecode/templates/data_table/_dt_elements.mako:432 | |
10414 | msgid "Info" |
|
10433 | msgid "Info" | |
10415 | msgstr "" |
|
10434 | msgstr "" | |
10416 |
|
10435 | |||
10417 |
#: rhodecode/templates/data_table/_dt_elements.mako:47 |
|
10436 | #: rhodecode/templates/data_table/_dt_elements.mako:473 | |
10418 | #, python-format |
|
10437 | #, python-format | |
10419 | msgid "Parsed using %s syntax" |
|
10438 | msgid "Parsed using %s syntax" | |
10420 | msgstr "" |
|
10439 | msgstr "" | |
@@ -10553,11 +10572,11 b' msgid "Don\'t have an account ?"' | |||||
10553 | msgstr "" |
|
10572 | msgstr "" | |
10554 |
|
10573 | |||
10555 | #: rhodecode/templates/email_templates/base.mako:72 |
|
10574 | #: rhodecode/templates/email_templates/base.mako:72 | |
10556 |
#: rhodecode/templates/email_templates/base.mako:63 |
|
10575 | #: rhodecode/templates/email_templates/base.mako:639 | |
10557 | msgid "This is a notification from RhodeCode." |
|
10576 | msgid "This is a notification from RhodeCode." | |
10558 | msgstr "" |
|
10577 | msgstr "" | |
10559 |
|
10578 | |||
10560 |
#: rhodecode/templates/email_templates/base.mako:61 |
|
10579 | #: rhodecode/templates/email_templates/base.mako:619 | |
10561 | msgid "RhodeCode" |
|
10580 | msgid "RhodeCode" | |
10562 | msgstr "" |
|
10581 | msgstr "" | |
10563 |
|
10582 | |||
@@ -10718,8 +10737,8 b' msgstr ""' | |||||
10718 | #: rhodecode/templates/email_templates/pull_request_review.mako:129 |
|
10737 | #: rhodecode/templates/email_templates/pull_request_review.mako:129 | |
10719 | #: rhodecode/templates/email_templates/pull_request_update.mako:132 |
|
10738 | #: rhodecode/templates/email_templates/pull_request_update.mako:132 | |
10720 | #: rhodecode/templates/email_templates/pull_request_update.mako:134 |
|
10739 | #: rhodecode/templates/email_templates/pull_request_update.mako:134 | |
10721 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:11 |
|
10740 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:112 | |
10722 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:12 |
|
10741 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:121 | |
10723 | msgid "of" |
|
10742 | msgid "of" | |
10724 | msgstr "" |
|
10743 | msgstr "" | |
10725 |
|
10744 | |||
@@ -10857,15 +10876,20 b' msgstr ""' | |||||
10857 | msgid "Upload File" |
|
10876 | msgid "Upload File" | |
10858 | msgstr "" |
|
10877 | msgstr "" | |
10859 |
|
10878 | |||
10860 |
#: rhodecode/templates/files/files_browser.mako:5 |
|
10879 | #: rhodecode/templates/files/files_browser.mako:50 | |
10861 |
msgid " |
|
10880 | msgid "Full tree as {}" | |
10862 | msgstr "" |
|
10881 | msgstr "" | |
10863 |
|
10882 | |||
10864 |
#: rhodecode/templates/files/files_browser.mako:5 |
|
10883 | #: rhodecode/templates/files/files_browser.mako:53 | |
10865 |
msgid " |
|
10884 | msgid "This tree as {}" | |
10866 | msgstr "" |
|
10885 | msgstr "" | |
10867 |
|
10886 | |||
10868 |
#: rhodecode/templates/files/files_browser.mako: |
|
10887 | #: rhodecode/templates/files/files_browser.mako:63 | |
|
10888 | #: rhodecode/templates/summary/components.mako:196 | |||
|
10889 | msgid "more download options" | |||
|
10890 | msgstr "" | |||
|
10891 | ||||
|
10892 | #: rhodecode/templates/files/files_browser.mako:106 | |||
10869 | #: rhodecode/templates/summary/summary.mako:37 |
|
10893 | #: rhodecode/templates/summary/summary.mako:37 | |
10870 | #, python-format |
|
10894 | #, python-format | |
10871 | msgid "Readme file from commit %s:%s" |
|
10895 | msgid "Readme file from commit %s:%s" | |
@@ -11064,7 +11088,7 b' msgid "New pull request"' | |||||
11064 | msgstr "" |
|
11088 | msgstr "" | |
11065 |
|
11089 | |||
11066 | #: rhodecode/templates/pullrequests/pullrequest.mako:33 |
|
11090 | #: rhodecode/templates/pullrequests/pullrequest.mako:33 | |
11067 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:10 |
|
11091 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:102 | |
11068 | msgid "Commit flow" |
|
11092 | msgid "Commit flow" | |
11069 | msgstr "" |
|
11093 | msgstr "" | |
11070 |
|
11094 | |||
@@ -11085,17 +11109,17 b' msgid "Reviewers / Observers"' | |||||
11085 | msgstr "" |
|
11109 | msgstr "" | |
11086 |
|
11110 | |||
11087 | #: rhodecode/templates/pullrequests/pullrequest.mako:121 |
|
11111 | #: rhodecode/templates/pullrequests/pullrequest.mako:121 | |
11088 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:5 |
|
11112 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:605 | |
11089 | msgid "Reviewer rules" |
|
11113 | msgid "Reviewer rules" | |
11090 | msgstr "" |
|
11114 | msgstr "" | |
11091 |
|
11115 | |||
11092 | #: rhodecode/templates/pullrequests/pullrequest.mako:167 |
|
11116 | #: rhodecode/templates/pullrequests/pullrequest.mako:167 | |
11093 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
11117 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:647 | |
11094 | msgid "Add reviewer or reviewer group" |
|
11118 | msgid "Add reviewer or reviewer group" | |
11095 | msgstr "" |
|
11119 | msgstr "" | |
11096 |
|
11120 | |||
11097 | #: rhodecode/templates/pullrequests/pullrequest.mako:191 |
|
11121 | #: rhodecode/templates/pullrequests/pullrequest.mako:191 | |
11098 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
11122 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:700 | |
11099 | msgid "Add observer or observer group" |
|
11123 | msgid "Add observer or observer group" | |
11100 | msgstr "" |
|
11124 | msgstr "" | |
11101 |
|
11125 | |||
@@ -11151,223 +11175,232 b' msgstr ""' | |||||
11151 | msgid "{} Pull Request !{}" |
|
11175 | msgid "{} Pull Request !{}" | |
11152 | msgstr "" |
|
11176 | msgstr "" | |
11153 |
|
11177 | |||
11154 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
11178 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:59 | |
11155 | msgid "Last updated on" |
|
11179 | msgid "Last updated on" | |
11156 | msgstr "" |
|
11180 | msgstr "" | |
11157 |
|
11181 | |||
11158 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
11182 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:60 | |
11159 | msgid "by" |
|
11183 | msgid "by" | |
11160 | msgstr "" |
|
11184 | msgstr "" | |
11161 |
|
11185 | |||
11162 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
11186 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:69 | |
11163 | msgid "Update title & description" |
|
11187 | msgid "Update title & description" | |
11164 | msgstr "" |
|
11188 | msgstr "" | |
11165 |
|
11189 | |||
11166 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:7 |
|
11190 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:75 | |
11167 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
11191 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:78 | |
11168 | msgid "Delete pull request" |
|
11192 | msgid "Delete pull request" | |
11169 | msgstr "" |
|
11193 | msgstr "" | |
11170 |
|
11194 | |||
11171 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
11195 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:78 | |
11172 | msgid "Not allowed to delete this pull request" |
|
11196 | msgid "Not allowed to delete this pull request" | |
11173 | msgstr "" |
|
11197 | msgstr "" | |
11174 |
|
11198 | |||
11175 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
11199 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:88 | |
11176 | msgid "Rendered using {} renderer" |
|
11200 | msgid "Rendered using {} renderer" | |
11177 | msgstr "" |
|
11201 | msgstr "" | |
11178 |
|
11202 | |||
11179 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:13 |
|
11203 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:135 | |
11180 | msgid "Common ancestor" |
|
11204 | msgid "Common ancestor" | |
11181 | msgstr "" |
|
11205 | msgstr "" | |
11182 |
|
11206 | |||
11183 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:1 |
|
11207 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:139 | |
11184 | msgid "not available" |
|
11208 | msgid "not available" | |
11185 | msgstr "" |
|
11209 | msgstr "" | |
11186 |
|
11210 | |||
11187 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:15 |
|
11211 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:151 | |
11188 | msgid "Pull changes from source" |
|
11212 | msgid "Pull changes from source" | |
11189 | msgstr "" |
|
11213 | msgstr "" | |
11190 |
|
11214 | |||
11191 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:15 |
|
11215 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:152 | |
11192 | msgid "Copy the pull url" |
|
11216 | msgid "Copy the pull url" | |
11193 | msgstr "" |
|
11217 | msgstr "" | |
11194 |
|
11218 | |||
11195 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:16 |
|
11219 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:164 | |
11196 | msgid "Clone repository in its merged state using shadow repository" |
|
11220 | msgid "Clone repository in its merged state using shadow repository" | |
11197 | msgstr "" |
|
11221 | msgstr "" | |
11198 |
|
11222 | |||
11199 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:16 |
|
11223 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:164 | |
11200 | msgid "Clone from shadow repository" |
|
11224 | msgid "Clone from shadow repository" | |
11201 | msgstr "" |
|
11225 | msgstr "" | |
11202 |
|
11226 | |||
11203 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:16 |
|
11227 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:165 | |
11204 | #: rhodecode/templates/summary/components.mako:78 |
|
11228 | #: rhodecode/templates/summary/components.mako:78 | |
11205 | msgid "Copy the clone url" |
|
11229 | msgid "Copy the clone url" | |
11206 | msgstr "" |
|
11230 | msgstr "" | |
11207 |
|
11231 | |||
11208 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:1 |
|
11232 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:169 | |
11209 | msgid "Shadow repository data not available" |
|
11233 | msgid "Shadow repository data not available" | |
11210 | msgstr "" |
|
11234 | msgstr "" | |
11211 |
|
11235 | |||
11212 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:18 |
|
11236 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:185 | |
11213 | msgid "Versions" |
|
11237 | msgid "Versions" | |
11214 | msgstr "" |
|
11238 | msgstr "" | |
11215 |
|
11239 | |||
|
11240 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:197 | |||
11216 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:199 |
|
11241 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:199 | |
11217 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:201 |
|
|||
11218 | msgid "show versions" |
|
11242 | msgid "show versions" | |
11219 | msgstr "" |
|
11243 | msgstr "" | |
11220 |
|
11244 | |||
11221 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
11245 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:198 | |
11222 | msgid "hide versions" |
|
11246 | msgid "hide versions" | |
11223 | msgstr "" |
|
11247 | msgstr "" | |
11224 |
|
11248 | |||
11225 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:22 |
|
11249 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:223 | |
11226 | msgid "Your review status at this version" |
|
11250 | msgid "Your review status at this version" | |
11227 | msgstr "" |
|
11251 | msgstr "" | |
11228 |
|
11252 | |||
11229 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:2 |
|
11253 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:228 | |
11230 | msgid "Comments from pull request version v{0}" |
|
11254 | msgid "Comments from pull request version v{0}" | |
11231 | msgstr "" |
|
11255 | msgstr "" | |
11232 |
|
11256 | |||
|
11257 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:246 | |||
|
11258 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:250 | |||
|
11259 | msgid "select versions to show changes" | |||
|
11260 | msgstr "" | |||
|
11261 | ||||
|
11262 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:247 | |||
|
11263 | msgid "show changes between versions" | |||
|
11264 | msgstr "" | |||
|
11265 | ||||
11233 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:248 |
|
11266 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:248 | |
11234 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:252 |
|
|||
11235 | msgid "select versions to show changes" |
|
|||
11236 | msgstr "" |
|
|||
11237 |
|
||||
11238 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:249 |
|
|||
11239 | msgid "show changes between versions" |
|
|||
11240 | msgstr "" |
|
|||
11241 |
|
||||
11242 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:250 |
|
|||
11243 | msgid "show pull request for this version" |
|
11267 | msgid "show pull request for this version" | |
11244 | msgstr "" |
|
11268 | msgstr "" | |
11245 |
|
11269 | |||
11246 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:25 |
|
11270 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:257 | |
11247 | msgid "Pull request versions not available" |
|
11271 | msgid "Pull request versions not available" | |
11248 | msgstr "" |
|
11272 | msgstr "" | |
11249 |
|
11273 | |||
11250 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:27 |
|
11274 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:277 | |
11251 | msgid "Cannot show diff when pull request state is changing. Current progress state" |
|
11275 | msgid "Cannot show diff when pull request state is changing. Current progress state" | |
11252 | msgstr "" |
|
11276 | msgstr "" | |
11253 |
|
11277 | |||
11254 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:29 |
|
11278 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:295 | |
11255 | msgid "Missing requirements:" |
|
11279 | msgid "Missing requirements:" | |
11256 | msgstr "" |
|
11280 | msgstr "" | |
11257 |
|
11281 | |||
11258 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:29 |
|
11282 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:296 | |
11259 | msgid "These commits cannot be displayed, because this repository uses the Mercurial largefiles extension, which was not enabled." |
|
11283 | msgid "These commits cannot be displayed, because this repository uses the Mercurial largefiles extension, which was not enabled." | |
11260 | msgstr "" |
|
11284 | msgstr "" | |
11261 |
|
11285 | |||
|
11286 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:304 | |||
|
11287 | msgid "Missing commits" | |||
|
11288 | msgstr "" | |||
|
11289 | ||||
|
11290 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:305 | |||
|
11291 | msgid "This pull request cannot be displayed, because one or more commits no longer exist in the source repository." | |||
|
11292 | msgstr "" | |||
|
11293 | ||||
11262 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:306 |
|
11294 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:306 | |
11263 | msgid "Missing commits" |
|
11295 | msgid "Please update this pull request, push the commits back into the source repository, or consider closing this pull request." | |
11264 | msgstr "" |
|
11296 | msgstr "" | |
11265 |
|
11297 | |||
11266 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:307 |
|
11298 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:307 | |
11267 | msgid "This pull request cannot be displayed, because one or more commits no longer exist in the source repository." |
|
|||
11268 | msgstr "" |
|
|||
11269 |
|
||||
11270 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:308 |
|
|||
11271 | msgid "Please update this pull request, push the commits back into the source repository, or consider closing this pull request." |
|
|||
11272 | msgstr "" |
|
|||
11273 |
|
||||
11274 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:309 |
|
|||
11275 | msgid "Consider doing a `force update commits` in case you think this is an error." |
|
11299 | msgid "Consider doing a `force update commits` in case you think this is an error." | |
11276 | msgstr "" |
|
11300 | msgstr "" | |
11277 |
|
11301 | |||
11278 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:31 |
|
11302 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:315 | |
11279 | msgid "There are new changes for `{}:{}` in source repository, please consider updating this pull request." |
|
11303 | msgid "There are new changes for `{}:{}` in source repository, please consider updating this pull request." | |
11280 | msgstr "" |
|
11304 | msgstr "" | |
11281 |
|
11305 | |||
11282 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:32 |
|
11306 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:326 | |
11283 | msgid "Showing changes at v{}, commenting is disabled." |
|
11307 | msgid "Showing changes at v{}, commenting is disabled." | |
11284 | msgstr "" |
|
11308 | msgstr "" | |
11285 |
|
11309 | |||
11286 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:3 |
|
11310 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:349 | |
11287 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:37 |
|
11311 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:371 | |
11288 | msgid "Update commits" |
|
11312 | msgid "Update commits" | |
11289 | msgstr "" |
|
11313 | msgstr "" | |
11290 |
|
11314 | |||
11291 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:35 |
|
11315 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:352 | |
11292 | msgid "more update options" |
|
11316 | msgid "more update options" | |
11293 | msgstr "" |
|
11317 | msgstr "" | |
11294 |
|
11318 | |||
11295 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:36 |
|
11319 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:360 | |
11296 | msgid "Force update commits" |
|
11320 | msgid "Force update commits" | |
11297 | msgstr "" |
|
11321 | msgstr "" | |
11298 |
|
11322 | |||
11299 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:36 |
|
11323 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:363 | |
11300 | msgid "Update commits and force refresh this pull request." |
|
11324 | msgid "Update commits and force refresh this pull request." | |
11301 | msgstr "" |
|
11325 | msgstr "" | |
11302 |
|
11326 | |||
11303 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:37 |
|
11327 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:371 | |
11304 | msgid "Update is disabled for current view" |
|
11328 | msgid "Update is disabled for current view" | |
11305 | msgstr "" |
|
11329 | msgstr "" | |
11306 |
|
11330 | |||
11307 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:38 |
|
11331 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:383 | |
11308 | msgid "Commits and changes between v{ver_from} and {ver_to} of this pull request, commenting is disabled" |
|
11332 | msgid "Commits and changes between v{ver_from} and {ver_to} of this pull request, commenting is disabled" | |
11309 | msgstr "" |
|
11333 | msgstr "" | |
11310 |
|
11334 | |||
11311 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:38 |
|
11335 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:387 | |
11312 | msgid "commits added: {}, removed: {}" |
|
11336 | msgid "commits added: {}, removed: {}" | |
11313 | msgstr "" |
|
11337 | msgstr "" | |
11314 |
|
11338 | |||
|
11339 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:405 | |||
|
11340 | msgid "Commit added in displayed changes" | |||
|
11341 | msgstr "" | |||
|
11342 | ||||
11315 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:407 |
|
11343 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:407 | |
11316 | msgid "Commit added in displayed changes" |
|
|||
11317 | msgstr "" |
|
|||
11318 |
|
||||
11319 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:409 |
|
|||
11320 | msgid "Commit removed in displayed changes" |
|
11344 | msgid "Commit removed in displayed changes" | |
11321 | msgstr "" |
|
11345 | msgstr "" | |
11322 |
|
11346 | |||
11323 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:51 |
|
11347 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:510 | |
11324 | msgid "there is {num} general comment from older versions" |
|
11348 | msgid "there is {num} general comment from older versions" | |
11325 | msgstr "" |
|
11349 | msgstr "" | |
11326 |
|
11350 | |||
|
11351 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:511 | |||
|
11352 | msgid "show it" | |||
|
11353 | msgstr "" | |||
|
11354 | ||||
11327 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:513 |
|
11355 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:513 | |
11328 | msgid "show it" |
|
|||
11329 | msgstr "" |
|
|||
11330 |
|
||||
11331 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:515 |
|
|||
11332 | msgid "there are {num} general comments from older versions" |
|
11356 | msgid "there are {num} general comments from older versions" | |
11333 | msgstr "" |
|
11357 | msgstr "" | |
11334 |
|
11358 | |||
11335 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:51 |
|
11359 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:514 | |
11336 | msgid "show them" |
|
11360 | msgid "show them" | |
11337 | msgstr "" |
|
11361 | msgstr "" | |
11338 |
|
11362 | |||
11339 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:5 |
|
11363 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:556 | |
|
11364 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:567 | |||
|
11365 | msgid "Drafts" | |||
|
11366 | msgstr "" | |||
|
11367 | ||||
|
11368 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:569 | |||
|
11369 | msgid "Submit" | |||
|
11370 | msgstr "" | |||
|
11371 | ||||
|
11372 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:625 | |||
11340 | msgid "Show rules" |
|
11373 | msgid "Show rules" | |
11341 | msgstr "" |
|
11374 | msgstr "" | |
11342 |
|
11375 | |||
11343 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
11376 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:652 | |
11344 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
11377 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:705 | |
11345 | msgid "Save Changes" |
|
11378 | msgid "Save Changes" | |
11346 | msgstr "" |
|
11379 | msgstr "" | |
11347 |
|
11380 | |||
11348 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
11381 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:676 | |
11349 | msgid "Observers" |
|
11382 | msgid "Observers" | |
11350 | msgstr "" |
|
11383 | msgstr "" | |
11351 |
|
11384 | |||
11352 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:7 |
|
11385 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:742 | |
11353 | msgid "TODOs unavailable when browsing versions" |
|
11386 | msgid "TODOs unavailable when browsing versions" | |
11354 | msgstr "" |
|
11387 | msgstr "" | |
11355 |
|
11388 | |||
11356 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
11389 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:814 | |
11357 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
11390 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:822 | |
11358 | msgid "Referenced Tickets" |
|
11391 | msgid "Referenced Tickets" | |
11359 | msgstr "" |
|
11392 | msgstr "" | |
11360 |
|
11393 | |||
11361 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
11394 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:828 | |
11362 | msgid "In pull request description" |
|
11395 | msgid "In pull request description" | |
11363 | msgstr "" |
|
11396 | msgstr "" | |
11364 |
|
11397 | |||
11365 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
11398 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:842 | |
11366 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
11399 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:861 | |
11367 | msgid "No Ticket data found." |
|
11400 | msgid "No Ticket data found." | |
11368 | msgstr "" |
|
11401 | msgstr "" | |
11369 |
|
11402 | |||
11370 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
11403 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:847 | |
11371 | msgid "In commit messages" |
|
11404 | msgid "In commit messages" | |
11372 | msgstr "" |
|
11405 | msgstr "" | |
11373 |
|
11406 | |||
@@ -11496,23 +11529,19 b' msgstr ""' | |||||
11496 | msgid "Downloads are disabled for this repository" |
|
11529 | msgid "Downloads are disabled for this repository" | |
11497 | msgstr "" |
|
11530 | msgstr "" | |
11498 |
|
11531 | |||
11499 |
#: rhodecode/templates/summary/components.mako: |
|
11532 | #: rhodecode/templates/summary/components.mako:227 | |
11500 | msgid "more download options" |
|
|||
11501 | msgstr "" |
|
|||
11502 |
|
||||
11503 | #: rhodecode/templates/summary/components.mako:228 |
|
|||
11504 | msgid "Repository size" |
|
11533 | msgid "Repository size" | |
11505 | msgstr "" |
|
11534 | msgstr "" | |
11506 |
|
11535 | |||
11507 |
#: rhodecode/templates/summary/components.mako:2 |
|
11536 | #: rhodecode/templates/summary/components.mako:239 | |
11508 | msgid "Calculating Repository Size..." |
|
11537 | msgid "Calculating Repository Size..." | |
11509 | msgstr "" |
|
11538 | msgstr "" | |
11510 |
|
11539 | |||
11511 |
#: rhodecode/templates/summary/components.mako:25 |
|
11540 | #: rhodecode/templates/summary/components.mako:250 | |
11512 | msgid "Code Statistics" |
|
11541 | msgid "Code Statistics" | |
11513 | msgstr "" |
|
11542 | msgstr "" | |
11514 |
|
11543 | |||
11515 |
#: rhodecode/templates/summary/components.mako:2 |
|
11544 | #: rhodecode/templates/summary/components.mako:259 | |
11516 | msgid "Statistics are disabled for this repository" |
|
11545 | msgid "Statistics are disabled for this repository" | |
11517 | msgstr "" |
|
11546 | msgstr "" | |
11518 |
|
11547 |
@@ -24,6 +24,9 b' from rhodecode.apps._base import ADMIN_P' | |||||
24 | from rhodecode.lib.utils2 import safe_int |
|
24 | from rhodecode.lib.utils2 import safe_int | |
25 | from rhodecode.model.db import Repository, Integration, RepoGroup |
|
25 | from rhodecode.model.db import Repository, Integration, RepoGroup | |
26 | from rhodecode.integrations import integration_type_registry |
|
26 | from rhodecode.integrations import integration_type_registry | |
|
27 | from rhodecode.integrations.views import GlobalIntegrationsView | |||
|
28 | from rhodecode.integrations.views import RepoGroupIntegrationsView | |||
|
29 | from rhodecode.integrations.views import RepoIntegrationsView | |||
27 |
|
30 | |||
28 | log = logging.getLogger(__name__) |
|
31 | log = logging.getLogger(__name__) | |
29 |
|
32 | |||
@@ -83,7 +86,7 b' def includeme(config):' | |||||
83 | # global integrations |
|
86 | # global integrations | |
84 | config.add_route('global_integrations_new', |
|
87 | config.add_route('global_integrations_new', | |
85 | ADMIN_PREFIX + '/integrations/new') |
|
88 | ADMIN_PREFIX + '/integrations/new') | |
86 |
config.add_view( |
|
89 | config.add_view(GlobalIntegrationsView, | |
87 | attr='new_integration', |
|
90 | attr='new_integration', | |
88 | renderer='rhodecode:templates/admin/integrations/new.mako', |
|
91 | renderer='rhodecode:templates/admin/integrations/new.mako', | |
89 | request_method='GET', |
|
92 | request_method='GET', | |
@@ -94,7 +97,7 b' def includeme(config):' | |||||
94 | config.add_route('global_integrations_list', |
|
97 | config.add_route('global_integrations_list', | |
95 | ADMIN_PREFIX + '/integrations/{integration}') |
|
98 | ADMIN_PREFIX + '/integrations/{integration}') | |
96 | for route_name in ['global_integrations_home', 'global_integrations_list']: |
|
99 | for route_name in ['global_integrations_home', 'global_integrations_list']: | |
97 |
config.add_view( |
|
100 | config.add_view(GlobalIntegrationsView, | |
98 | attr='integration_list', |
|
101 | attr='integration_list', | |
99 | renderer='rhodecode:templates/admin/integrations/list.mako', |
|
102 | renderer='rhodecode:templates/admin/integrations/list.mako', | |
100 | request_method='GET', |
|
103 | request_method='GET', | |
@@ -108,12 +111,12 b' def includeme(config):' | |||||
108 | valid_integration=True) |
|
111 | valid_integration=True) | |
109 |
|
112 | |||
110 | for route_name in ['global_integrations_create', 'global_integrations_edit']: |
|
113 | for route_name in ['global_integrations_create', 'global_integrations_edit']: | |
111 |
config.add_view( |
|
114 | config.add_view(GlobalIntegrationsView, | |
112 | attr='settings_get', |
|
115 | attr='settings_get', | |
113 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
116 | renderer='rhodecode:templates/admin/integrations/form.mako', | |
114 | request_method='GET', |
|
117 | request_method='GET', | |
115 | route_name=route_name) |
|
118 | route_name=route_name) | |
116 |
config.add_view( |
|
119 | config.add_view(GlobalIntegrationsView, | |
117 | attr='settings_post', |
|
120 | attr='settings_post', | |
118 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
121 | renderer='rhodecode:templates/admin/integrations/form.mako', | |
119 | request_method='POST', |
|
122 | request_method='POST', | |
@@ -124,7 +127,7 b' def includeme(config):' | |||||
124 | add_route_requirements('/{repo_group_name}/_settings/integrations'), |
|
127 | add_route_requirements('/{repo_group_name}/_settings/integrations'), | |
125 | repo_group_route=True) |
|
128 | repo_group_route=True) | |
126 |
|
129 | |||
127 |
config.add_view( |
|
130 | config.add_view(RepoGroupIntegrationsView, | |
128 | attr='integration_list', |
|
131 | attr='integration_list', | |
129 | renderer='rhodecode:templates/admin/integrations/list.mako', |
|
132 | renderer='rhodecode:templates/admin/integrations/list.mako', | |
130 | request_method='GET', |
|
133 | request_method='GET', | |
@@ -133,7 +136,7 b' def includeme(config):' | |||||
133 | config.add_route('repo_group_integrations_new', |
|
136 | config.add_route('repo_group_integrations_new', | |
134 | add_route_requirements('/{repo_group_name}/_settings/integrations/new'), |
|
137 | add_route_requirements('/{repo_group_name}/_settings/integrations/new'), | |
135 | repo_group_route=True) |
|
138 | repo_group_route=True) | |
136 |
config.add_view( |
|
139 | config.add_view(RepoGroupIntegrationsView, | |
137 | attr='new_integration', |
|
140 | attr='new_integration', | |
138 | renderer='rhodecode:templates/admin/integrations/new.mako', |
|
141 | renderer='rhodecode:templates/admin/integrations/new.mako', | |
139 | request_method='GET', |
|
142 | request_method='GET', | |
@@ -143,7 +146,7 b' def includeme(config):' | |||||
143 | add_route_requirements('/{repo_group_name}/_settings/integrations/{integration}'), |
|
146 | add_route_requirements('/{repo_group_name}/_settings/integrations/{integration}'), | |
144 | repo_group_route=True, |
|
147 | repo_group_route=True, | |
145 | valid_integration=True) |
|
148 | valid_integration=True) | |
146 |
config.add_view( |
|
149 | config.add_view(RepoGroupIntegrationsView, | |
147 | attr='integration_list', |
|
150 | attr='integration_list', | |
148 | renderer='rhodecode:templates/admin/integrations/list.mako', |
|
151 | renderer='rhodecode:templates/admin/integrations/list.mako', | |
149 | request_method='GET', |
|
152 | request_method='GET', | |
@@ -153,12 +156,12 b' def includeme(config):' | |||||
153 | add_route_requirements('/{repo_group_name}/_settings/integrations/{integration}/new'), |
|
156 | add_route_requirements('/{repo_group_name}/_settings/integrations/{integration}/new'), | |
154 | repo_group_route=True, |
|
157 | repo_group_route=True, | |
155 | valid_integration=True) |
|
158 | valid_integration=True) | |
156 |
config.add_view( |
|
159 | config.add_view(RepoGroupIntegrationsView, | |
157 | attr='settings_get', |
|
160 | attr='settings_get', | |
158 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
161 | renderer='rhodecode:templates/admin/integrations/form.mako', | |
159 | request_method='GET', |
|
162 | request_method='GET', | |
160 | route_name='repo_group_integrations_create') |
|
163 | route_name='repo_group_integrations_create') | |
161 |
config.add_view( |
|
164 | config.add_view(RepoGroupIntegrationsView, | |
162 | attr='settings_post', |
|
165 | attr='settings_post', | |
163 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
166 | renderer='rhodecode:templates/admin/integrations/form.mako', | |
164 | request_method='POST', |
|
167 | request_method='POST', | |
@@ -169,12 +172,12 b' def includeme(config):' | |||||
169 | repo_group_route=True, |
|
172 | repo_group_route=True, | |
170 | valid_integration=True) |
|
173 | valid_integration=True) | |
171 |
|
174 | |||
172 |
config.add_view( |
|
175 | config.add_view(RepoGroupIntegrationsView, | |
173 | attr='settings_get', |
|
176 | attr='settings_get', | |
174 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
177 | renderer='rhodecode:templates/admin/integrations/form.mako', | |
175 | request_method='GET', |
|
178 | request_method='GET', | |
176 | route_name='repo_group_integrations_edit') |
|
179 | route_name='repo_group_integrations_edit') | |
177 |
config.add_view( |
|
180 | config.add_view(RepoGroupIntegrationsView, | |
178 | attr='settings_post', |
|
181 | attr='settings_post', | |
179 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
182 | renderer='rhodecode:templates/admin/integrations/form.mako', | |
180 | request_method='POST', |
|
183 | request_method='POST', | |
@@ -184,7 +187,7 b' def includeme(config):' | |||||
184 | config.add_route('repo_integrations_home', |
|
187 | config.add_route('repo_integrations_home', | |
185 | add_route_requirements('/{repo_name}/settings/integrations'), |
|
188 | add_route_requirements('/{repo_name}/settings/integrations'), | |
186 | repo_route=True) |
|
189 | repo_route=True) | |
187 |
config.add_view( |
|
190 | config.add_view(RepoIntegrationsView, | |
188 | attr='integration_list', |
|
191 | attr='integration_list', | |
189 | request_method='GET', |
|
192 | request_method='GET', | |
190 | renderer='rhodecode:templates/admin/integrations/list.mako', |
|
193 | renderer='rhodecode:templates/admin/integrations/list.mako', | |
@@ -193,7 +196,7 b' def includeme(config):' | |||||
193 | config.add_route('repo_integrations_new', |
|
196 | config.add_route('repo_integrations_new', | |
194 | add_route_requirements('/{repo_name}/settings/integrations/new'), |
|
197 | add_route_requirements('/{repo_name}/settings/integrations/new'), | |
195 | repo_route=True) |
|
198 | repo_route=True) | |
196 |
config.add_view( |
|
199 | config.add_view(RepoIntegrationsView, | |
197 | attr='new_integration', |
|
200 | attr='new_integration', | |
198 | renderer='rhodecode:templates/admin/integrations/new.mako', |
|
201 | renderer='rhodecode:templates/admin/integrations/new.mako', | |
199 | request_method='GET', |
|
202 | request_method='GET', | |
@@ -203,7 +206,7 b' def includeme(config):' | |||||
203 | add_route_requirements('/{repo_name}/settings/integrations/{integration}'), |
|
206 | add_route_requirements('/{repo_name}/settings/integrations/{integration}'), | |
204 | repo_route=True, |
|
207 | repo_route=True, | |
205 | valid_integration=True) |
|
208 | valid_integration=True) | |
206 |
config.add_view( |
|
209 | config.add_view(RepoIntegrationsView, | |
207 | attr='integration_list', |
|
210 | attr='integration_list', | |
208 | request_method='GET', |
|
211 | request_method='GET', | |
209 | renderer='rhodecode:templates/admin/integrations/list.mako', |
|
212 | renderer='rhodecode:templates/admin/integrations/list.mako', | |
@@ -213,12 +216,12 b' def includeme(config):' | |||||
213 | add_route_requirements('/{repo_name}/settings/integrations/{integration}/new'), |
|
216 | add_route_requirements('/{repo_name}/settings/integrations/{integration}/new'), | |
214 | repo_route=True, |
|
217 | repo_route=True, | |
215 | valid_integration=True) |
|
218 | valid_integration=True) | |
216 |
config.add_view( |
|
219 | config.add_view(RepoIntegrationsView, | |
217 | attr='settings_get', |
|
220 | attr='settings_get', | |
218 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
221 | renderer='rhodecode:templates/admin/integrations/form.mako', | |
219 | request_method='GET', |
|
222 | request_method='GET', | |
220 | route_name='repo_integrations_create') |
|
223 | route_name='repo_integrations_create') | |
221 |
config.add_view( |
|
224 | config.add_view(RepoIntegrationsView, | |
222 | attr='settings_post', |
|
225 | attr='settings_post', | |
223 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
226 | renderer='rhodecode:templates/admin/integrations/form.mako', | |
224 | request_method='POST', |
|
227 | request_method='POST', | |
@@ -228,12 +231,12 b' def includeme(config):' | |||||
228 | add_route_requirements('/{repo_name}/settings/integrations/{integration}/{integration_id}'), |
|
231 | add_route_requirements('/{repo_name}/settings/integrations/{integration}/{integration_id}'), | |
229 | repo_route=True, |
|
232 | repo_route=True, | |
230 | valid_integration=True) |
|
233 | valid_integration=True) | |
231 |
config.add_view( |
|
234 | config.add_view(RepoIntegrationsView, | |
232 | attr='settings_get', |
|
235 | attr='settings_get', | |
233 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
236 | renderer='rhodecode:templates/admin/integrations/form.mako', | |
234 | request_method='GET', |
|
237 | request_method='GET', | |
235 | route_name='repo_integrations_edit') |
|
238 | route_name='repo_integrations_edit') | |
236 |
config.add_view( |
|
239 | config.add_view(RepoIntegrationsView, | |
237 | attr='settings_post', |
|
240 | attr='settings_post', | |
238 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
241 | renderer='rhodecode:templates/admin/integrations/form.mako', | |
239 | request_method='POST', |
|
242 | request_method='POST', |
@@ -469,7 +469,14 b' def get_auth_user(request):' | |||||
469 | ip_addr = get_ip_addr(environ) |
|
469 | ip_addr = get_ip_addr(environ) | |
470 |
|
470 | |||
471 | # make sure that we update permissions each time we call controller |
|
471 | # make sure that we update permissions each time we call controller | |
472 | _auth_token = (request.GET.get('auth_token', '') or request.GET.get('api_key', '')) |
|
472 | _auth_token = ( | |
|
473 | # ?auth_token=XXX | |||
|
474 | request.GET.get('auth_token', '') | |||
|
475 | # ?api_key=XXX !LEGACY | |||
|
476 | or request.GET.get('api_key', '') | |||
|
477 | # or headers.... | |||
|
478 | or request.headers.get('X-Rc-Auth-Token', '') | |||
|
479 | ) | |||
473 | if not _auth_token and request.matchdict: |
|
480 | if not _auth_token and request.matchdict: | |
474 | url_auth_token = request.matchdict.get('_auth_token') |
|
481 | url_auth_token = request.matchdict.get('_auth_token') | |
475 | _auth_token = url_auth_token |
|
482 | _auth_token = url_auth_token |
@@ -354,7 +354,7 b' def check_for_update():' | |||||
354 | @async_task(ignore_result=False) |
|
354 | @async_task(ignore_result=False) | |
355 | def beat_check(*args, **kwargs): |
|
355 | def beat_check(*args, **kwargs): | |
356 | log = get_logger(beat_check) |
|
356 | log = get_logger(beat_check) | |
357 | log.info('Got args: %r and kwargs %r', args, kwargs) |
|
357 | log.info('%r: Got args: %r and kwargs %r', beat_check, args, kwargs) | |
358 | return time.time() |
|
358 | return time.time() | |
359 |
|
359 | |||
360 |
|
360 |
@@ -398,7 +398,10 b' class DiffSet(object):' | |||||
398 | ): |
|
398 | ): | |
399 |
|
399 | |||
400 | self.highlight_mode = highlight_mode |
|
400 | self.highlight_mode = highlight_mode | |
401 |
self.highlighted_filenodes = { |
|
401 | self.highlighted_filenodes = { | |
|
402 | 'before': {}, | |||
|
403 | 'after': {} | |||
|
404 | } | |||
402 | self.source_node_getter = source_node_getter |
|
405 | self.source_node_getter = source_node_getter | |
403 | self.target_node_getter = target_node_getter |
|
406 | self.target_node_getter = target_node_getter | |
404 | self.source_nodes = source_nodes or {} |
|
407 | self.source_nodes = source_nodes or {} | |
@@ -657,7 +660,7 b' class DiffSet(object):' | |||||
657 | else: |
|
660 | else: | |
658 | before_tokens = self.get_line_tokens( |
|
661 | before_tokens = self.get_line_tokens( | |
659 | line_text=before['line'], line_number=before['old_lineno'], |
|
662 | line_text=before['line'], line_number=before['old_lineno'], | |
660 | input_file=source_file, no_hl=no_hl) |
|
663 | input_file=source_file, no_hl=no_hl, source='before') | |
661 | original.lineno = before['old_lineno'] |
|
664 | original.lineno = before['old_lineno'] | |
662 | original.content = before['line'] |
|
665 | original.content = before['line'] | |
663 | original.action = self.action_to_op(before['action']) |
|
666 | original.action = self.action_to_op(before['action']) | |
@@ -671,7 +674,7 b' class DiffSet(object):' | |||||
671 | else: |
|
674 | else: | |
672 | after_tokens = self.get_line_tokens( |
|
675 | after_tokens = self.get_line_tokens( | |
673 | line_text=after['line'], line_number=after['new_lineno'], |
|
676 | line_text=after['line'], line_number=after['new_lineno'], | |
674 | input_file=target_file, no_hl=no_hl) |
|
677 | input_file=target_file, no_hl=no_hl, source='after') | |
675 | modified.lineno = after['new_lineno'] |
|
678 | modified.lineno = after['new_lineno'] | |
676 | modified.content = after['line'] |
|
679 | modified.content = after['line'] | |
677 | modified.action = self.action_to_op(after['action']) |
|
680 | modified.action = self.action_to_op(after['action']) | |
@@ -705,7 +708,7 b' class DiffSet(object):' | |||||
705 |
|
708 | |||
706 | return lines |
|
709 | return lines | |
707 |
|
710 | |||
708 | def get_line_tokens(self, line_text, line_number, input_file=None, no_hl=False): |
|
711 | def get_line_tokens(self, line_text, line_number, input_file=None, no_hl=False, source=''): | |
709 | filenode = None |
|
712 | filenode = None | |
710 | filename = None |
|
713 | filename = None | |
711 |
|
714 | |||
@@ -720,8 +723,7 b' class DiffSet(object):' | |||||
720 | lexer = self._get_lexer_for_filename(filename) |
|
723 | lexer = self._get_lexer_for_filename(filename) | |
721 | file_size_allowed = input_file.size < self.max_file_size_limit |
|
724 | file_size_allowed = input_file.size < self.max_file_size_limit | |
722 | if line_number and file_size_allowed: |
|
725 | if line_number and file_size_allowed: | |
723 | return self.get_tokenized_filenode_line( |
|
726 | return self.get_tokenized_filenode_line(input_file, line_number, lexer, source) | |
724 | input_file, line_number, lexer) |
|
|||
725 |
|
727 | |||
726 | if hl_mode in (self.HL_REAL, self.HL_FAST) and filename: |
|
728 | if hl_mode in (self.HL_REAL, self.HL_FAST) and filename: | |
727 | lexer = self._get_lexer_for_filename(filename) |
|
729 | lexer = self._get_lexer_for_filename(filename) | |
@@ -729,16 +731,19 b' class DiffSet(object):' | |||||
729 |
|
731 | |||
730 | return list(tokenize_string(line_text, plain_text_lexer)) |
|
732 | return list(tokenize_string(line_text, plain_text_lexer)) | |
731 |
|
733 | |||
732 | def get_tokenized_filenode_line(self, filenode, line_number, lexer=None): |
|
734 | def get_tokenized_filenode_line(self, filenode, line_number, lexer=None, source=''): | |
733 |
|
735 | |||
734 | if filenode not in self.highlighted_filenodes: |
|
736 | def tokenize(_filenode): | |
735 |
|
|
737 | self.highlighted_filenodes[source][filenode] = filenode_as_lines_tokens(filenode, lexer) | |
736 | self.highlighted_filenodes[filenode] = tokenized_lines |
|
738 | ||
|
739 | if filenode not in self.highlighted_filenodes[source]: | |||
|
740 | tokenize(filenode) | |||
737 |
|
741 | |||
738 | try: |
|
742 | try: | |
739 | return self.highlighted_filenodes[filenode][line_number - 1] |
|
743 | return self.highlighted_filenodes[source][filenode][line_number - 1] | |
740 | except Exception: |
|
744 | except Exception: | |
741 |
|
|
745 | log.exception('diff rendering error') | |
|
746 | return [('', u'L{}: rhodecode diff rendering error'.format(line_number))] | |||
742 |
|
747 | |||
743 | def action_to_op(self, action): |
|
748 | def action_to_op(self, action): | |
744 | return { |
|
749 | return { |
@@ -27,11 +27,14 b' def pyramid_ext_json(info):' | |||||
27 | """ |
|
27 | """ | |
28 | def _render(value, system): |
|
28 | def _render(value, system): | |
29 | request = system.get('request') |
|
29 | request = system.get('request') | |
|
30 | indent = None | |||
30 | if request is not None: |
|
31 | if request is not None: | |
31 | response = request.response |
|
32 | response = request.response | |
32 | ct = response.content_type |
|
33 | ct = response.content_type | |
33 | if ct == response.default_content_type: |
|
34 | if ct == response.default_content_type: | |
34 | response.content_type = 'application/json' |
|
35 | response.content_type = 'application/json' | |
35 | return json.dumps(value) |
|
36 | indent = getattr(request, 'ext_json_indent', None) | |
|
37 | ||||
|
38 | return json.dumps(value, indent=indent) | |||
36 |
|
39 | |||
37 | return _render |
|
40 | return _render |
@@ -145,60 +145,6 b' def session_factory_from_settings(settin' | |||||
145 | return BeakerSessionFactoryConfig(**options) |
|
145 | return BeakerSessionFactoryConfig(**options) | |
146 |
|
146 | |||
147 |
|
147 | |||
148 | def set_cache_regions_from_settings(settings): |
|
|||
149 | """ Add cache support to the Pylons application. |
|
|||
150 |
|
||||
151 | The ``settings`` passed to the configurator are used to setup |
|
|||
152 | the cache options. Cache options in the settings should start |
|
|||
153 | with either 'beaker.cache.' or 'cache.'. |
|
|||
154 |
|
||||
155 | """ |
|
|||
156 | cache_settings = {'regions': []} |
|
|||
157 | for key in settings.keys(): |
|
|||
158 | for prefix in ['beaker.cache.', 'cache.']: |
|
|||
159 | if key.startswith(prefix): |
|
|||
160 | name = key.split(prefix)[1].strip() |
|
|||
161 | cache_settings[name] = settings[key].strip() |
|
|||
162 |
|
||||
163 | if ('expire' in cache_settings |
|
|||
164 | and isinstance(cache_settings['expire'], basestring) |
|
|||
165 | and cache_settings['expire'].lower() in ['none', 'no']): |
|
|||
166 | cache_settings['expire'] = None |
|
|||
167 |
|
||||
168 | coerce_cache_params(cache_settings) |
|
|||
169 |
|
||||
170 | if 'enabled' not in cache_settings: |
|
|||
171 | cache_settings['enabled'] = True |
|
|||
172 |
|
||||
173 | regions = cache_settings['regions'] |
|
|||
174 | if regions: |
|
|||
175 | for region in regions: |
|
|||
176 | if not region: |
|
|||
177 | continue |
|
|||
178 |
|
||||
179 | region_settings = { |
|
|||
180 | 'data_dir': cache_settings.get('data_dir'), |
|
|||
181 | 'lock_dir': cache_settings.get('lock_dir'), |
|
|||
182 | 'expire': cache_settings.get('expire', 60), |
|
|||
183 | 'enabled': cache_settings['enabled'], |
|
|||
184 | 'key_length': cache_settings.get('key_length', 250), |
|
|||
185 | 'type': cache_settings.get('type'), |
|
|||
186 | 'url': cache_settings.get('url'), |
|
|||
187 | } |
|
|||
188 | region_prefix = '%s.' % region |
|
|||
189 | region_len = len(region_prefix) |
|
|||
190 | for key in list(cache_settings.keys()): |
|
|||
191 | if key.startswith(region_prefix): |
|
|||
192 | region_settings[key[region_len:]] = cache_settings.pop(key) |
|
|||
193 |
|
||||
194 | if (isinstance(region_settings['expire'], basestring) |
|
|||
195 | and region_settings['expire'].lower() in ['none', 'no']): |
|
|||
196 | region_settings['expire'] = None |
|
|||
197 | coerce_cache_params(region_settings) |
|
|||
198 | cache.cache_regions[region] = region_settings |
|
|||
199 |
|
||||
200 |
|
||||
201 | def includeme(config): |
|
148 | def includeme(config): | |
202 | session_factory = session_factory_from_settings(config.registry.settings) |
|
149 | session_factory = session_factory_from_settings(config.registry.settings) | |
203 | config.set_session_factory(session_factory) |
|
150 | config.set_session_factory(session_factory) | |
204 | set_cache_regions_from_settings(config.registry.settings) |
|
@@ -62,24 +62,25 b' def configure_dogpile_cache(settings):' | |||||
62 | avail_regions = set() |
|
62 | avail_regions = set() | |
63 | for key in rc_cache_data.keys(): |
|
63 | for key in rc_cache_data.keys(): | |
64 | namespace_name = key.split('.', 1)[0] |
|
64 | namespace_name = key.split('.', 1)[0] | |
65 | avail_regions.add(namespace_name) |
|
65 | if namespace_name in avail_regions: | |
66 | log.debug('dogpile: found following cache regions: %s', avail_regions) |
|
66 | continue | |
67 |
|
67 | |||
68 | # register them into namespace |
|
68 | avail_regions.add(namespace_name) | |
69 | for region_name in avail_regions: |
|
69 | log.debug('dogpile: found following cache regions: %s', namespace_name) | |
|
70 | ||||
70 | new_region = make_region( |
|
71 | new_region = make_region( | |
71 |
name= |
|
72 | name=namespace_name, | |
72 | function_key_generator=None |
|
73 | function_key_generator=None | |
73 | ) |
|
74 | ) | |
74 |
|
75 | |||
75 |
new_region.configure_from_config(settings, 'rc_cache.{}.'.format( |
|
76 | new_region.configure_from_config(settings, 'rc_cache.{}.'.format(namespace_name)) | |
76 | new_region.function_key_generator = backend_key_generator(new_region.actual_backend) |
|
77 | new_region.function_key_generator = backend_key_generator(new_region.actual_backend) | |
77 | if log.isEnabledFor(logging.DEBUG): |
|
78 | if log.isEnabledFor(logging.DEBUG): | |
78 | region_args = dict(backend=new_region.actual_backend.__class__, |
|
79 | region_args = dict(backend=new_region.actual_backend.__class__, | |
79 | region_invalidator=new_region.region_invalidator.__class__) |
|
80 | region_invalidator=new_region.region_invalidator.__class__) | |
80 |
log.debug('dogpile: registering a new region `%s` %s', |
|
81 | log.debug('dogpile: registering a new region `%s` %s', namespace_name, region_args) | |
81 |
|
82 | |||
82 |
region_meta.dogpile_cache_regions[ |
|
83 | region_meta.dogpile_cache_regions[namespace_name] = new_region | |
83 |
|
84 | |||
84 |
|
85 | |||
85 | def includeme(config): |
|
86 | def includeme(config): |
@@ -218,8 +218,9 b' def map_vcs_exceptions(func):' | |||||
218 |
|
218 | |||
219 | if kind: |
|
219 | if kind: | |
220 | if any(e.args): |
|
220 | if any(e.args): | |
221 | args = [a for a in e.args] |
|
221 | _args = [a for a in e.args] | |
222 |
|
|
222 | # replace the first argument with a prefix exc name | |
|
223 | args = ['{}:'.format(exc_name, _args[0] if _args else '?')] + _args[1:] | |||
223 | else: |
|
224 | else: | |
224 | args = [__traceback_info__ or '{}: UnhandledException'.format(exc_name)] |
|
225 | args = [__traceback_info__ or '{}: UnhandledException'.format(exc_name)] | |
225 | if debug or __traceback_info__ and kind not in ['unhandled', 'lookup']: |
|
226 | if debug or __traceback_info__ and kind not in ['unhandled', 'lookup']: |
@@ -749,8 +749,11 b' class User(Base, BaseModel):' | |||||
749 |
|
749 | |||
750 | def get_artifact_token(self, cache=True): |
|
750 | def get_artifact_token(self, cache=True): | |
751 | artifacts_tokens = UserApiKeys.query()\ |
|
751 | artifacts_tokens = UserApiKeys.query()\ | |
752 | .filter(UserApiKeys.user == self)\ |
|
752 | .filter(UserApiKeys.user == self) \ | |
|
753 | .filter(or_(UserApiKeys.expires == -1, | |||
|
754 | UserApiKeys.expires >= time.time())) \ | |||
753 | .filter(UserApiKeys.role == UserApiKeys.ROLE_ARTIFACT_DOWNLOAD) |
|
755 | .filter(UserApiKeys.role == UserApiKeys.ROLE_ARTIFACT_DOWNLOAD) | |
|
756 | ||||
754 | if cache: |
|
757 | if cache: | |
755 | artifacts_tokens = artifacts_tokens.options( |
|
758 | artifacts_tokens = artifacts_tokens.options( | |
756 | FromCache("sql_cache_short", "get_user_artifact_token_%s" % self.user_id)) |
|
759 | FromCache("sql_cache_short", "get_user_artifact_token_%s" % self.user_id)) | |
@@ -760,6 +763,24 b' class User(Base, BaseModel):' | |||||
760 | return artifacts_tokens[0].api_key |
|
763 | return artifacts_tokens[0].api_key | |
761 | return 'NO_ARTIFACT_TOKEN_AVAILABLE' |
|
764 | return 'NO_ARTIFACT_TOKEN_AVAILABLE' | |
762 |
|
765 | |||
|
766 | def get_or_create_artifact_token(self): | |||
|
767 | artifacts_tokens = UserApiKeys.query()\ | |||
|
768 | .filter(UserApiKeys.user == self) \ | |||
|
769 | .filter(or_(UserApiKeys.expires == -1, | |||
|
770 | UserApiKeys.expires >= time.time())) \ | |||
|
771 | .filter(UserApiKeys.role == UserApiKeys.ROLE_ARTIFACT_DOWNLOAD) | |||
|
772 | ||||
|
773 | artifacts_tokens = artifacts_tokens.all() | |||
|
774 | if artifacts_tokens: | |||
|
775 | return artifacts_tokens[0].api_key | |||
|
776 | else: | |||
|
777 | from rhodecode.model.auth_token import AuthTokenModel | |||
|
778 | artifact_token = AuthTokenModel().create( | |||
|
779 | self, 'auto-generated-artifact-token', | |||
|
780 | lifetime=-1, role=UserApiKeys.ROLE_ARTIFACT_DOWNLOAD) | |||
|
781 | Session.commit() | |||
|
782 | return artifact_token.api_key | |||
|
783 | ||||
763 | @classmethod |
|
784 | @classmethod | |
764 | def get(cls, user_id, cache=False): |
|
785 | def get(cls, user_id, cache=False): | |
765 | if not user_id: |
|
786 | if not user_id: | |
@@ -3967,7 +3988,7 b' class ChangesetStatus(Base, BaseModel):' | |||||
3967 | STATUS_APPROVED = 'approved' |
|
3988 | STATUS_APPROVED = 'approved' | |
3968 | STATUS_REJECTED = 'rejected' |
|
3989 | STATUS_REJECTED = 'rejected' | |
3969 | STATUS_UNDER_REVIEW = 'under_review' |
|
3990 | STATUS_UNDER_REVIEW = 'under_review' | |
3970 |
|
3991 | CheckConstraint, | ||
3971 | STATUSES = [ |
|
3992 | STATUSES = [ | |
3972 | (STATUS_NOT_REVIEWED, _("Not Reviewed")), # (no icon) and default |
|
3993 | (STATUS_NOT_REVIEWED, _("Not Reviewed")), # (no icon) and default | |
3973 | (STATUS_APPROVED, _("Approved")), |
|
3994 | (STATUS_APPROVED, _("Approved")), | |
@@ -4810,6 +4831,7 b' class Gist(Base, BaseModel):' | |||||
4810 |
|
4831 | |||
4811 | res = cls.query().filter(cls.gist_access_id == id_).scalar() |
|
4832 | res = cls.query().filter(cls.gist_access_id == id_).scalar() | |
4812 | if not res: |
|
4833 | if not res: | |
|
4834 | log.debug('WARN: No DB entry with id %s', id_) | |||
4813 | raise HTTPNotFound() |
|
4835 | raise HTTPNotFound() | |
4814 | return res |
|
4836 | return res | |
4815 |
|
4837 | |||
@@ -5322,11 +5344,11 b' class ScheduleEntry(Base, BaseModel):' | |||||
5322 | except ValueError: |
|
5344 | except ValueError: | |
5323 | return dict() |
|
5345 | return dict() | |
5324 |
|
5346 | |||
5325 | def _as_raw(self, val): |
|
5347 | def _as_raw(self, val, indent=None): | |
5326 | if hasattr(val, 'de_coerce'): |
|
5348 | if hasattr(val, 'de_coerce'): | |
5327 | val = val.de_coerce() |
|
5349 | val = val.de_coerce() | |
5328 | if val: |
|
5350 | if val: | |
5329 | val = json.dumps(val) |
|
5351 | val = json.dumps(val, indent=indent, sort_keys=True) | |
5330 |
|
5352 | |||
5331 | return val |
|
5353 | return val | |
5332 |
|
5354 | |||
@@ -5334,13 +5356,11 b' class ScheduleEntry(Base, BaseModel):' | |||||
5334 | def schedule_definition_raw(self): |
|
5356 | def schedule_definition_raw(self): | |
5335 | return self._as_raw(self.schedule_definition) |
|
5357 | return self._as_raw(self.schedule_definition) | |
5336 |
|
5358 | |||
5337 | @property |
|
5359 | def args_raw(self, indent=None): | |
5338 | def args_raw(self): |
|
5360 | return self._as_raw(self.task_args, indent) | |
5339 | return self._as_raw(self.task_args) |
|
5361 | ||
5340 |
|
5362 | def kwargs_raw(self, indent=None): | ||
5341 | @property |
|
5363 | return self._as_raw(self.task_kwargs, indent) | |
5342 | def kwargs_raw(self): |
|
|||
5343 | return self._as_raw(self.task_kwargs) |
|
|||
5344 |
|
5364 | |||
5345 | def __repr__(self): |
|
5365 | def __repr__(self): | |
5346 | return '<DB:ScheduleEntry({}:{})>'.format( |
|
5366 | return '<DB:ScheduleEntry({}:{})>'.format( |
@@ -60,6 +60,9 b' class RepoGroupModel(BaseModel):' | |||||
60 | return self._get_instance(RepoGroup, repo_group, |
|
60 | return self._get_instance(RepoGroup, repo_group, | |
61 | callback=RepoGroup.get_by_group_name) |
|
61 | callback=RepoGroup.get_by_group_name) | |
62 |
|
62 | |||
|
63 | def get_repo_group(self, repo_group): | |||
|
64 | return self._get_repo_group(repo_group) | |||
|
65 | ||||
63 | @LazyProperty |
|
66 | @LazyProperty | |
64 | def repos_path(self): |
|
67 | def repos_path(self): | |
65 | """ |
|
68 | """ |
@@ -147,6 +147,14 b' class CloneUriValidator(object):' | |||||
147 | def json_validator(node, value): |
|
147 | def json_validator(node, value): | |
148 | try: |
|
148 | try: | |
149 | json.loads(value) |
|
149 | json.loads(value) | |
150 | except (Exception,): |
|
150 | except (Exception,) as e: | |
151 | msg = _(u'Please enter a valid json object') |
|
151 | msg = _(u'Please enter a valid json object') | |
152 | raise colander.Invalid(node, msg) |
|
152 | raise colander.Invalid(node, msg) | |
|
153 | ||||
|
154 | ||||
|
155 | def json_validator_with_exc(node, value): | |||
|
156 | try: | |||
|
157 | json.loads(value) | |||
|
158 | except (Exception,) as e: | |||
|
159 | msg = _(u'Please enter a valid json object: `{}`'.format(e)) | |||
|
160 | raise colander.Invalid(node, msg) |
@@ -225,6 +225,7 b' input[type="button"] {' | |||||
225 | } |
|
225 | } | |
226 | } |
|
226 | } | |
227 |
|
227 | |||
|
228 | ||||
228 | .btn-approved-status { |
|
229 | .btn-approved-status { | |
229 | .border ( @border-thickness, @alert1 ); |
|
230 | .border ( @border-thickness, @alert1 ); | |
230 | background-color: white; |
|
231 | background-color: white; | |
@@ -262,6 +263,10 b' input[type="button"] {' | |||||
262 | border-radius: @border-radius 0 0 @border-radius; |
|
263 | border-radius: @border-radius 0 0 @border-radius; | |
263 |
|
264 | |||
264 | } |
|
265 | } | |
|
266 | // 2nd, if only 2 elements are there | |||
|
267 | &:nth-of-type(2) { | |||
|
268 | border-left-width: 0; | |||
|
269 | } | |||
265 | // middle elements |
|
270 | // middle elements | |
266 | &:not(:first-of-type):not(:last-of-type) { |
|
271 | &:not(:first-of-type):not(:last-of-type) { | |
267 | border-radius: 0; |
|
272 | border-radius: 0; | |
@@ -429,6 +434,31 b' input[type="button"] {' | |||||
429 | } |
|
434 | } | |
430 | } |
|
435 | } | |
431 |
|
436 | |||
|
437 | input[type="submit"].btn-draft { | |||
|
438 | .border ( @border-thickness, @rcblue ); | |||
|
439 | background-color: white; | |||
|
440 | color: @rcblue; | |||
|
441 | ||||
|
442 | a { | |||
|
443 | color: @rcblue; | |||
|
444 | } | |||
|
445 | ||||
|
446 | &:hover, | |||
|
447 | &.active { | |||
|
448 | .border ( @border-thickness, @rcdarkblue ); | |||
|
449 | background-color: white; | |||
|
450 | color: @rcdarkblue; | |||
|
451 | ||||
|
452 | a { | |||
|
453 | color: @rcdarkblue; | |||
|
454 | } | |||
|
455 | } | |||
|
456 | ||||
|
457 | &:disabled { | |||
|
458 | background-color: white; | |||
|
459 | color: @rcblue; | |||
|
460 | } | |||
|
461 | } | |||
432 |
|
462 | |||
433 | input[type="submit"].btn-warning { |
|
463 | input[type="submit"].btn-warning { | |
434 | &:extend(.btn-warning); |
|
464 | &:extend(.btn-warning); |
@@ -657,6 +657,7 b' form.comment-form {' | |||||
657 |
|
657 | |||
658 | .resolve-action { |
|
658 | .resolve-action { | |
659 | padding: 1px 0px 0px 6px; |
|
659 | padding: 1px 0px 0px 6px; | |
|
660 | list-style: none; | |||
660 | } |
|
661 | } | |
661 |
|
662 | |||
662 | } |
|
663 | } |
@@ -1540,7 +1540,6 b' table.integrations {' | |||||
1540 | .reviewer_name { |
|
1540 | .reviewer_name { | |
1541 | display: inline-block; |
|
1541 | display: inline-block; | |
1542 | max-width: 83%; |
|
1542 | max-width: 83%; | |
1543 | padding-right: 20px; |
|
|||
1544 | vertical-align: middle; |
|
1543 | vertical-align: middle; | |
1545 | line-height: 1; |
|
1544 | line-height: 1; | |
1546 |
|
1545 |
@@ -194,6 +194,7 b'' | |||||
194 | .icon-comment-toggle:before { content: '\e830'; } /* '' */ |
|
194 | .icon-comment-toggle:before { content: '\e830'; } /* '' */ | |
195 | .icon-rhodecode:before { content: '\e831'; } /* '' */ |
|
195 | .icon-rhodecode:before { content: '\e831'; } /* '' */ | |
196 | .icon-up:before { content: '\e832'; } /* '' */ |
|
196 | .icon-up:before { content: '\e832'; } /* '' */ | |
|
197 | .icon-down:before { content: '\e832'; } /* '' */ | |||
197 | .icon-merge:before { content: '\e833'; } /* '' */ |
|
198 | .icon-merge:before { content: '\e833'; } /* '' */ | |
198 | .icon-spin-alt:before { content: '\e834'; } /* '' */ |
|
199 | .icon-spin-alt:before { content: '\e834'; } /* '' */ | |
199 | .icon-spin:before { content: '\e838'; } /* '' */ |
|
200 | .icon-spin:before { content: '\e838'; } /* '' */ | |
@@ -235,6 +236,7 b'' | |||||
235 | .icon-rss-sign:before { &:extend(.icon-feed:before); } |
|
236 | .icon-rss-sign:before { &:extend(.icon-feed:before); } | |
236 | .icon-code-fork:before { &:extend(.icon-fork:before); } |
|
237 | .icon-code-fork:before { &:extend(.icon-fork:before); } | |
237 | .icon-arrow_up:before { &:extend(.icon-up:before); } |
|
238 | .icon-arrow_up:before { &:extend(.icon-up:before); } | |
|
239 | .icon-arrow_down:before { &:extend(.icon-down:before); } | |||
238 | .icon-file:before { &:extend(.icon-file-code:before); } |
|
240 | .icon-file:before { &:extend(.icon-file-code:before); } | |
239 | .icon-file-text:before { &:extend(.icon-file-code:before); } |
|
241 | .icon-file-text:before { &:extend(.icon-file-code:before); } | |
240 | .icon-directory:before { &:extend(.icon-folder:before); } |
|
242 | .icon-directory:before { &:extend(.icon-folder:before); } | |
@@ -253,6 +255,8 b'' | |||||
253 | .icon-merge:before {transform: rotate(180deg);} |
|
255 | .icon-merge:before {transform: rotate(180deg);} | |
254 | .icon-wide-mode:before {transform: rotate(90deg);} |
|
256 | .icon-wide-mode:before {transform: rotate(90deg);} | |
255 | .icon-options:before {transform: rotate(90deg);} |
|
257 | .icon-options:before {transform: rotate(90deg);} | |
|
258 | .icon-down:before {transform: rotate(180deg);} | |||
|
259 | ||||
256 |
|
260 | |||
257 | // -- END ICON CLASSES -- // |
|
261 | // -- END ICON CLASSES -- // | |
258 |
|
262 |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': 'Loading failed', |
|
57 | 'Loading failed': 'Loading failed', | |
57 | 'Loading more results...': 'Loading more results...', |
|
58 | 'Loading more results...': 'Loading more results...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
61 | 'No bookmarks available yet.': 'No bookmarks available yet.', | |
60 | 'No branches available yet.': 'No branches available yet.', |
|
62 | 'No branches available yet.': 'No branches available yet.', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': 'Searching...', |
|
91 | 'Searching...': 'Searching...', | |
89 | 'Selection link': 'Selection link', |
|
92 | 'Selection link': 'Selection link', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'Show more', |
|
101 | 'Show more': 'Show more', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'Status Review', |
|
109 | 'Status Review': 'Status Review', | |
106 | 'Stop following this repository': 'Stop following this repository', |
|
110 | 'Stop following this repository': 'Stop following this repository', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': 'Submitting...', |
|
114 | 'Submitting...': 'Submitting...', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'Unfollow', |
|
127 | 'Unfollow': 'Unfollow', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': 'You can only select {0} item', |
|
138 | 'You can only select {0} item': 'You can only select {0} item', | |
130 | 'You can only select {0} items': 'You can only select {0} items', |
|
139 | 'You can only select {0} items': 'You can only select {0} items', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} ago', |
|
165 | '{0} ago': '{0} ago', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} day', |
|
172 | '{0} day': '{0} day', | |
160 | '{0} days': '{0} days', |
|
173 | '{0} days': '{0} days', | |
161 | '{0} hour': '{0} hour', |
|
174 | '{0} hour': '{0} hour', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
173 | '{0} sec': '{0} sec', |
|
186 | '{0} sec': '{0} sec', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} year', |
|
191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': 'Loading failed', |
|
57 | 'Loading failed': 'Loading failed', | |
57 | 'Loading more results...': 'Loading more results...', |
|
58 | 'Loading more results...': 'Loading more results...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
61 | 'No bookmarks available yet.': 'No bookmarks available yet.', | |
60 | 'No branches available yet.': 'No branches available yet.', |
|
62 | 'No branches available yet.': 'No branches available yet.', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': 'Bitte {0} oder mehr Zeichen eingeben', |
|
86 | 'Please enter {0} or more characters': 'Bitte {0} oder mehr Zeichen eingeben', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': 'Searching...', |
|
91 | 'Searching...': 'Searching...', | |
89 | 'Selection link': 'Selection link', |
|
92 | 'Selection link': 'Selection link', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'Show more', |
|
101 | 'Show more': 'Show more', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'Status Review', |
|
109 | 'Status Review': 'Status Review', | |
106 | 'Stop following this repository': 'Stop following this repository', |
|
110 | 'Stop following this repository': 'Stop following this repository', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': 'Submitting...', |
|
114 | 'Submitting...': 'Submitting...', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'Unfollow', |
|
127 | 'Unfollow': 'Unfollow', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': 'You can only select {0} item', |
|
138 | 'You can only select {0} item': 'You can only select {0} item', | |
130 | 'You can only select {0} items': 'You can only select {0} items', |
|
139 | 'You can only select {0} items': 'You can only select {0} items', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} ago', |
|
165 | '{0} ago': '{0} ago', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} day', |
|
172 | '{0} day': '{0} day', | |
160 | '{0} days': '{0} days', |
|
173 | '{0} days': '{0} days', | |
161 | '{0} hour': '{0} hour', |
|
174 | '{0} hour': '{0} hour', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
173 | '{0} sec': '{0} sec', |
|
186 | '{0} sec': '{0} sec', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} year', |
|
191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': 'Loading failed', |
|
57 | 'Loading failed': 'Loading failed', | |
57 | 'Loading more results...': 'Loading more results...', |
|
58 | 'Loading more results...': 'Loading more results...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
61 | 'No bookmarks available yet.': 'No bookmarks available yet.', | |
60 | 'No branches available yet.': 'No branches available yet.', |
|
62 | 'No branches available yet.': 'No branches available yet.', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': 'Searching...', |
|
91 | 'Searching...': 'Searching...', | |
89 | 'Selection link': 'Selection link', |
|
92 | 'Selection link': 'Selection link', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'Show more', |
|
101 | 'Show more': 'Show more', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'Status Review', |
|
109 | 'Status Review': 'Status Review', | |
106 | 'Stop following this repository': 'Stop following this repository', |
|
110 | 'Stop following this repository': 'Stop following this repository', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': 'Submitting...', |
|
114 | 'Submitting...': 'Submitting...', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'Unfollow', |
|
127 | 'Unfollow': 'Unfollow', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': 'You can only select {0} item', |
|
138 | 'You can only select {0} item': 'You can only select {0} item', | |
130 | 'You can only select {0} items': 'You can only select {0} items', |
|
139 | 'You can only select {0} items': 'You can only select {0} items', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} ago', |
|
165 | '{0} ago': '{0} ago', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} day', |
|
172 | '{0} day': '{0} day', | |
160 | '{0} days': '{0} days', |
|
173 | '{0} days': '{0} days', | |
161 | '{0} hour': '{0} hour', |
|
174 | '{0} hour': '{0} hour', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
173 | '{0} sec': '{0} sec', |
|
186 | '{0} sec': '{0} sec', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} year', |
|
191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': 'Loading failed', |
|
57 | 'Loading failed': 'Loading failed', | |
57 | 'Loading more results...': 'Loading more results...', |
|
58 | 'Loading more results...': 'Loading more results...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
61 | 'No bookmarks available yet.': 'No bookmarks available yet.', | |
60 | 'No branches available yet.': 'No branches available yet.', |
|
62 | 'No branches available yet.': 'No branches available yet.', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': 'Searching...', |
|
91 | 'Searching...': 'Searching...', | |
89 | 'Selection link': 'Selection link', |
|
92 | 'Selection link': 'Selection link', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'Show more', |
|
101 | 'Show more': 'Show more', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'Status Review', |
|
109 | 'Status Review': 'Status Review', | |
106 | 'Stop following this repository': 'Stop following this repository', |
|
110 | 'Stop following this repository': 'Stop following this repository', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': 'Submitting...', |
|
114 | 'Submitting...': 'Submitting...', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'Unfollow', |
|
127 | 'Unfollow': 'Unfollow', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': 'You can only select {0} item', |
|
138 | 'You can only select {0} item': 'You can only select {0} item', | |
130 | 'You can only select {0} items': 'You can only select {0} items', |
|
139 | 'You can only select {0} items': 'You can only select {0} items', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} ago', |
|
165 | '{0} ago': '{0} ago', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} day', |
|
172 | '{0} day': '{0} day', | |
160 | '{0} days': '{0} days', |
|
173 | '{0} days': '{0} days', | |
161 | '{0} hour': '{0} hour', |
|
174 | '{0} hour': '{0} hour', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
173 | '{0} sec': '{0} sec', |
|
186 | '{0} sec': '{0} sec', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} year', |
|
191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': 'Loading failed', |
|
57 | 'Loading failed': 'Loading failed', | |
57 | 'Loading more results...': 'Loading more results...', |
|
58 | 'Loading more results...': 'Loading more results...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
61 | 'No bookmarks available yet.': 'No bookmarks available yet.', | |
60 | 'No branches available yet.': 'No branches available yet.', |
|
62 | 'No branches available yet.': 'No branches available yet.', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': 'Searching...', |
|
91 | 'Searching...': 'Searching...', | |
89 | 'Selection link': 'Lien vers la sélection', |
|
92 | 'Selection link': 'Lien vers la sélection', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'Show more', |
|
101 | 'Show more': 'Show more', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'Status Review', |
|
109 | 'Status Review': 'Status Review', | |
106 | 'Stop following this repository': 'Arrêter de suivre ce dépôt', |
|
110 | 'Stop following this repository': 'Arrêter de suivre ce dépôt', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': 'Envoi…', |
|
114 | 'Submitting...': 'Envoi…', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'Unfollow', |
|
127 | 'Unfollow': 'Unfollow', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': 'You can only select {0} item', |
|
138 | 'You can only select {0} item': 'You can only select {0} item', | |
130 | 'You can only select {0} items': 'You can only select {0} items', |
|
139 | 'You can only select {0} items': 'You can only select {0} items', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} ago', |
|
165 | '{0} ago': '{0} ago', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} day', |
|
172 | '{0} day': '{0} day', | |
160 | '{0} days': '{0} jours', |
|
173 | '{0} days': '{0} jours', | |
161 | '{0} hour': '{0} hour', |
|
174 | '{0} hour': '{0} hour', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
173 | '{0} sec': '{0} sec', |
|
186 | '{0} sec': '{0} sec', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} year', |
|
191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': 'Loading failed', |
|
57 | 'Loading failed': 'Loading failed', | |
57 | 'Loading more results...': 'Loading more results...', |
|
58 | 'Loading more results...': 'Loading more results...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
61 | 'No bookmarks available yet.': 'No bookmarks available yet.', | |
60 | 'No branches available yet.': 'No branches available yet.', |
|
62 | 'No branches available yet.': 'No branches available yet.', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': 'Searching...', |
|
91 | 'Searching...': 'Searching...', | |
89 | 'Selection link': 'Collegamento selezione', |
|
92 | 'Selection link': 'Collegamento selezione', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'Mostra ancora', |
|
101 | 'Show more': 'Mostra ancora', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'Status Review', |
|
109 | 'Status Review': 'Status Review', | |
106 | 'Stop following this repository': 'Smetti di seguire il repository', |
|
110 | 'Stop following this repository': 'Smetti di seguire il repository', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': 'Inoltro...', |
|
114 | 'Submitting...': 'Inoltro...', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'Smetti di seguire', |
|
127 | 'Unfollow': 'Smetti di seguire', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': 'You can only select {0} item', |
|
138 | 'You can only select {0} item': 'You can only select {0} item', | |
130 | 'You can only select {0} items': 'You can only select {0} items', |
|
139 | 'You can only select {0} items': 'You can only select {0} items', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} ago', |
|
165 | '{0} ago': '{0} ago', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} day', |
|
172 | '{0} day': '{0} day', | |
160 | '{0} days': '{0} days', |
|
173 | '{0} days': '{0} days', | |
161 | '{0} hour': '{0} hour', |
|
174 | '{0} hour': '{0} hour', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
173 | '{0} sec': '{0} sec', |
|
186 | '{0} sec': '{0} sec', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} year', |
|
191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': '読み込み失敗', |
|
57 | 'Loading failed': '読み込み失敗', | |
57 | 'Loading more results...': '結果を読み込み中...', |
|
58 | 'Loading more results...': '結果を読み込み中...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'まだブックマークがありません。', |
|
61 | 'No bookmarks available yet.': 'まだブックマークがありません。', | |
60 | 'No branches available yet.': 'まだブランチがありません。', |
|
62 | 'No branches available yet.': 'まだブランチがありません。', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': '{0} 文字以上入力してください', |
|
86 | 'Please enter {0} or more characters': '{0} 文字以上入力してください', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': '検索中...', |
|
91 | 'Searching...': '検索中...', | |
89 | 'Selection link': 'セレクション・リンク', |
|
92 | 'Selection link': 'セレクション・リンク', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'もっと表示', |
|
101 | 'Show more': 'もっと表示', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'ステータスレビュー', |
|
109 | 'Status Review': 'ステータスレビュー', | |
106 | 'Stop following this repository': 'このリポジトリのフォローをやめる', |
|
110 | 'Stop following this repository': 'このリポジトリのフォローをやめる', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': '送信中...', |
|
114 | 'Submitting...': '送信中...', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'アンフォロー', |
|
127 | 'Unfollow': 'アンフォロー', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': '{0} 件のみ選択できます', |
|
138 | 'You can only select {0} item': '{0} 件のみ選択できます', | |
130 | 'You can only select {0} items': '{0} 件のみ選択できます', |
|
139 | 'You can only select {0} items': '{0} 件のみ選択できます', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} 前', |
|
165 | '{0} ago': '{0} 前', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} 日', |
|
172 | '{0} day': '{0} 日', | |
160 | '{0} days': '{0} days', |
|
173 | '{0} days': '{0} days', | |
161 | '{0} hour': '{0} 時間', |
|
174 | '{0} hour': '{0} 時間', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} 件の結果があります。矢印キーの上下で選択できます。', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} 件の結果があります。矢印キーの上下で選択できます。', | |
173 | '{0} sec': '{0} 秒', |
|
186 | '{0} sec': '{0} 秒', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} 年', |
|
191 | '{0} year': '{0} 年', |
@@ -41,6 +41,7 b'' | |||||
41 | _gettext('Hide full context diff'); |
|
41 | _gettext('Hide full context diff'); | |
42 | _gettext('Hide whitespace changes'); |
|
42 | _gettext('Hide whitespace changes'); | |
43 | _gettext('Invite reviewers to this discussion'); |
|
43 | _gettext('Invite reviewers to this discussion'); | |
|
44 | _gettext('Leave a comment on file {0} line {1}.'); | |||
44 | _gettext('Leave a comment on line {0}.'); |
|
45 | _gettext('Leave a comment on line {0}.'); | |
45 | _gettext('Leave a comment, or click resolve button to resolve TODO comment #{0}'); |
|
46 | _gettext('Leave a comment, or click resolve button to resolve TODO comment #{0}'); | |
46 | _gettext('Leave a resolution comment, or click resolve button to resolve TODO comment #{0}'); |
|
47 | _gettext('Leave a resolution comment, or click resolve button to resolve TODO comment #{0}'); | |
@@ -50,6 +51,7 b'' | |||||
50 | _gettext('Loading failed'); |
|
51 | _gettext('Loading failed'); | |
51 | _gettext('Loading more results...'); |
|
52 | _gettext('Loading more results...'); | |
52 | _gettext('Loading...'); |
|
53 | _gettext('Loading...'); | |
|
54 | _gettext('No additional review rules set.'); | |||
53 | _gettext('No bookmarks available yet.'); |
|
55 | _gettext('No bookmarks available yet.'); | |
54 | _gettext('No branches available yet.'); |
|
56 | _gettext('No branches available yet.'); | |
55 | _gettext('No forks available yet.'); |
|
57 | _gettext('No forks available yet.'); | |
@@ -78,6 +80,7 b'' | |||||
78 | _gettext('Please enter {0} or more characters'); |
|
80 | _gettext('Please enter {0} or more characters'); | |
79 | _gettext('Please wait creating pull request...'); |
|
81 | _gettext('Please wait creating pull request...'); | |
80 | _gettext('Reviewers picked from source code changes.'); |
|
82 | _gettext('Reviewers picked from source code changes.'); | |
|
83 | _gettext('Saving Draft...'); | |||
81 | _gettext('Saving...'); |
|
84 | _gettext('Saving...'); | |
82 | _gettext('Searching...'); |
|
85 | _gettext('Searching...'); | |
83 | _gettext('Selection link'); |
|
86 | _gettext('Selection link'); | |
@@ -87,6 +90,7 b'' | |||||
87 | _gettext('Show'); |
|
90 | _gettext('Show'); | |
88 | _gettext('Show at Commit '); |
|
91 | _gettext('Show at Commit '); | |
89 | _gettext('Show commit range {0} ... {1}'); |
|
92 | _gettext('Show commit range {0} ... {1}'); | |
|
93 | _gettext('Show commit range {0}<i class="icon-angle-right"></i>{1}'); | |||
90 | _gettext('Show full context diff'); |
|
94 | _gettext('Show full context diff'); | |
91 | _gettext('Show more'); |
|
95 | _gettext('Show more'); | |
92 | _gettext('Show selected commit __S'); |
|
96 | _gettext('Show selected commit __S'); | |
@@ -99,6 +103,8 b'' | |||||
99 | _gettext('Status Review'); |
|
103 | _gettext('Status Review'); | |
100 | _gettext('Stop following this repository'); |
|
104 | _gettext('Stop following this repository'); | |
101 | _gettext('Stopped watching this repository'); |
|
105 | _gettext('Stopped watching this repository'); | |
|
106 | _gettext('Submit {0} draft comment.'); | |||
|
107 | _gettext('Submit {0} draft comments.'); | |||
102 | _gettext('Submitting...'); |
|
108 | _gettext('Submitting...'); | |
103 | _gettext('Switch target repository with the source.'); |
|
109 | _gettext('Switch target repository with the source.'); | |
104 | _gettext('Switch to chat'); |
|
110 | _gettext('Switch to chat'); | |
@@ -114,11 +120,14 b'' | |||||
114 | _gettext('Toggle Wide Mode diff'); |
|
120 | _gettext('Toggle Wide Mode diff'); | |
115 | _gettext('Unfollow'); |
|
121 | _gettext('Unfollow'); | |
116 | _gettext('Unwatch'); |
|
122 | _gettext('Unwatch'); | |
|
123 | _gettext('Update Comment'); | |||
117 | _gettext('Updated Comment'); |
|
124 | _gettext('Updated Comment'); | |
118 | _gettext('Updating...'); |
|
125 | _gettext('Updating...'); | |
119 | _gettext('User `{0}` already in reviewers'); |
|
126 | _gettext('User `{0}` already in reviewers'); | |
|
127 | _gettext('User `{0}` already in reviewers/observers'); | |||
120 | _gettext('User `{0}` not allowed to be a reviewer'); |
|
128 | _gettext('User `{0}` not allowed to be a reviewer'); | |
121 | _gettext('Watch'); |
|
129 | _gettext('Watch'); | |
|
130 | _gettext('Yes'); | |||
122 | _gettext('Yes, delete comment #{0}!'); |
|
131 | _gettext('Yes, delete comment #{0}!'); | |
123 | _gettext('You can only select {0} item'); |
|
132 | _gettext('You can only select {0} item'); | |
124 | _gettext('You can only select {0} items'); |
|
133 | _gettext('You can only select {0} items'); | |
@@ -150,6 +159,10 b'' | |||||
150 | _gettext('{0} ago'); |
|
159 | _gettext('{0} ago'); | |
151 | _gettext('{0} and {1}'); |
|
160 | _gettext('{0} and {1}'); | |
152 | _gettext('{0} and {1} ago'); |
|
161 | _gettext('{0} and {1} ago'); | |
|
162 | _gettext('{0} bookmark'); | |||
|
163 | _gettext('{0} bookmarks'); | |||
|
164 | _gettext('{0} branch'); | |||
|
165 | _gettext('{0} branches'); | |||
153 | _gettext('{0} day'); |
|
166 | _gettext('{0} day'); | |
154 | _gettext('{0} days'); |
|
167 | _gettext('{0} days'); | |
155 | _gettext('{0} hour'); |
|
168 | _gettext('{0} hour'); | |
@@ -165,6 +178,8 b'' | |||||
165 | _gettext('{0} repository groups'); |
|
178 | _gettext('{0} repository groups'); | |
166 | _gettext('{0} results are available, use up and down arrow keys to navigate.'); |
|
179 | _gettext('{0} results are available, use up and down arrow keys to navigate.'); | |
167 | _gettext('{0} sec'); |
|
180 | _gettext('{0} sec'); | |
|
181 | _gettext('{0} tag'); | |||
|
182 | _gettext('{0} tags'); | |||
168 | _gettext('{0} user groups ({1} inactive)'); |
|
183 | _gettext('{0} user groups ({1} inactive)'); | |
169 | _gettext('{0} users ({1} inactive)'); |
|
184 | _gettext('{0} users ({1} inactive)'); | |
170 | _gettext('{0} year'); |
|
185 | _gettext('{0} year'); |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': 'Loading failed', |
|
57 | 'Loading failed': 'Loading failed', | |
57 | 'Loading more results...': 'Loading more results...', |
|
58 | 'Loading more results...': 'Loading more results...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
61 | 'No bookmarks available yet.': 'No bookmarks available yet.', | |
60 | 'No branches available yet.': 'No branches available yet.', |
|
62 | 'No branches available yet.': 'No branches available yet.', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': 'Searching...', |
|
91 | 'Searching...': 'Searching...', | |
89 | 'Selection link': 'Wybór linku', |
|
92 | 'Selection link': 'Wybór linku', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'Pokaż więcej', |
|
101 | 'Show more': 'Pokaż więcej', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'Status Review', |
|
109 | 'Status Review': 'Status Review', | |
106 | 'Stop following this repository': 'Zakończyć obserwację tego repozytorium', |
|
110 | 'Stop following this repository': 'Zakończyć obserwację tego repozytorium', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': 'Przesyłanie...', |
|
114 | 'Submitting...': 'Przesyłanie...', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'Nie obserwuj', |
|
127 | 'Unfollow': 'Nie obserwuj', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': 'You can only select {0} item', |
|
138 | 'You can only select {0} item': 'You can only select {0} item', | |
130 | 'You can only select {0} items': 'You can only select {0} items', |
|
139 | 'You can only select {0} items': 'You can only select {0} items', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} ago', |
|
165 | '{0} ago': '{0} ago', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} day', |
|
172 | '{0} day': '{0} day', | |
160 | '{0} days': '{0} days', |
|
173 | '{0} days': '{0} days', | |
161 | '{0} hour': '{0} hour', |
|
174 | '{0} hour': '{0} hour', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
173 | '{0} sec': '{0} sec', |
|
186 | '{0} sec': '{0} sec', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} year', |
|
191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': 'Loading failed', |
|
57 | 'Loading failed': 'Loading failed', | |
57 | 'Loading more results...': 'Loading more results...', |
|
58 | 'Loading more results...': 'Loading more results...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
61 | 'No bookmarks available yet.': 'No bookmarks available yet.', | |
60 | 'No branches available yet.': 'No branches available yet.', |
|
62 | 'No branches available yet.': 'No branches available yet.', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': 'Searching...', |
|
91 | 'Searching...': 'Searching...', | |
89 | 'Selection link': 'Link da seleção', |
|
92 | 'Selection link': 'Link da seleção', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'Mostrar mais', |
|
101 | 'Show more': 'Mostrar mais', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'Status Review', |
|
109 | 'Status Review': 'Status Review', | |
106 | 'Stop following this repository': 'Parar de seguir este repositório', |
|
110 | 'Stop following this repository': 'Parar de seguir este repositório', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': 'Enviando...', |
|
114 | 'Submitting...': 'Enviando...', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'Parar de seguir', |
|
127 | 'Unfollow': 'Parar de seguir', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': 'You can only select {0} item', |
|
138 | 'You can only select {0} item': 'You can only select {0} item', | |
130 | 'You can only select {0} items': 'You can only select {0} items', |
|
139 | 'You can only select {0} items': 'You can only select {0} items', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} ago', |
|
165 | '{0} ago': '{0} ago', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} day', |
|
172 | '{0} day': '{0} day', | |
160 | '{0} days': '{0} days', |
|
173 | '{0} days': '{0} days', | |
161 | '{0} hour': '{0} hour', |
|
174 | '{0} hour': '{0} hour', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
173 | '{0} sec': '{0} sec', |
|
186 | '{0} sec': '{0} sec', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} year', |
|
191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': 'Loading failed', |
|
57 | 'Loading failed': 'Loading failed', | |
57 | 'Loading more results...': 'Loading more results...', |
|
58 | 'Loading more results...': 'Loading more results...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
61 | 'No bookmarks available yet.': 'No bookmarks available yet.', | |
60 | 'No branches available yet.': 'No branches available yet.', |
|
62 | 'No branches available yet.': 'No branches available yet.', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': 'Searching...', |
|
91 | 'Searching...': 'Searching...', | |
89 | 'Selection link': 'Ссылка выбора', |
|
92 | 'Selection link': 'Ссылка выбора', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'Показать еще', |
|
101 | 'Show more': 'Показать еще', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'Status Review', |
|
109 | 'Status Review': 'Status Review', | |
106 | 'Stop following this repository': 'Отменить наблюдение за репозиторием', |
|
110 | 'Stop following this repository': 'Отменить наблюдение за репозиторием', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': 'Применение...', |
|
114 | 'Submitting...': 'Применение...', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'Не наблюдать', |
|
127 | 'Unfollow': 'Не наблюдать', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': 'You can only select {0} item', |
|
138 | 'You can only select {0} item': 'You can only select {0} item', | |
130 | 'You can only select {0} items': 'You can only select {0} items', |
|
139 | 'You can only select {0} items': 'You can only select {0} items', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} ago', |
|
165 | '{0} ago': '{0} ago', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} day', |
|
172 | '{0} day': '{0} day', | |
160 | '{0} days': '{0} days', |
|
173 | '{0} days': '{0} days', | |
161 | '{0} hour': '{0} hour', |
|
174 | '{0} hour': '{0} hour', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
173 | '{0} sec': '{0} sec', |
|
186 | '{0} sec': '{0} sec', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} year', |
|
191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||||
47 | 'Hide full context diff': 'Hide full context diff', |
|
47 | 'Hide full context diff': 'Hide full context diff', | |
48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
48 | 'Hide whitespace changes': 'Hide whitespace changes', | |
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', |
|
49 | 'Invite reviewers to this discussion': 'Invite reviewers to this discussion', | |
|
50 | 'Leave a comment on file {0} line {1}.': 'Leave a comment on file {0} line {1}.', | |||
50 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', | |
51 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', |
|
52 | 'Leave a comment, or click resolve button to resolve TODO comment #{0}': 'Leave a comment, or click resolve button to resolve TODO comment #{0}', | |
52 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', |
|
53 | 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}': 'Leave a resolution comment, or click resolve button to resolve TODO comment #{0}', | |
@@ -56,6 +57,7 b' var _TM = {' | |||||
56 | 'Loading failed': 'Loading failed', |
|
57 | 'Loading failed': 'Loading failed', | |
57 | 'Loading more results...': 'Loading more results...', |
|
58 | 'Loading more results...': 'Loading more results...', | |
58 | 'Loading...': 'Loading...', |
|
59 | 'Loading...': 'Loading...', | |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |||
59 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
61 | 'No bookmarks available yet.': 'No bookmarks available yet.', | |
60 | 'No branches available yet.': 'No branches available yet.', |
|
62 | 'No branches available yet.': 'No branches available yet.', | |
61 | 'No forks available yet.': 'No forks available yet.', |
|
63 | 'No forks available yet.': 'No forks available yet.', | |
@@ -84,6 +86,7 b' var _TM = {' | |||||
84 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', | |
85 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
87 | 'Please wait creating pull request...': 'Please wait creating pull request...', | |
86 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', | |
|
89 | 'Saving Draft...': 'Saving Draft...', | |||
87 | 'Saving...': 'Saving...', |
|
90 | 'Saving...': 'Saving...', | |
88 | 'Searching...': 'Searching...', |
|
91 | 'Searching...': 'Searching...', | |
89 | 'Selection link': '选择链接', |
|
92 | 'Selection link': '选择链接', | |
@@ -93,6 +96,7 b' var _TM = {' | |||||
93 | 'Show': 'Show', |
|
96 | 'Show': 'Show', | |
94 | 'Show at Commit ': 'Show at Commit ', |
|
97 | 'Show at Commit ': 'Show at Commit ', | |
95 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', |
|
98 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |
|
99 | 'Show commit range {0}<i class="icon-angle-right"></i>{1}': 'Show commit range {0}<i class="icon-angle-right"></i>{1}', | |||
96 | 'Show full context diff': 'Show full context diff', |
|
100 | 'Show full context diff': 'Show full context diff', | |
97 | 'Show more': 'Show more', |
|
101 | 'Show more': 'Show more', | |
98 | 'Show selected commit __S': 'Show selected commit __S', |
|
102 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -105,6 +109,8 b' var _TM = {' | |||||
105 | 'Status Review': 'Status Review', |
|
109 | 'Status Review': 'Status Review', | |
106 | 'Stop following this repository': '停止关注该版本库', |
|
110 | 'Stop following this repository': '停止关注该版本库', | |
107 | 'Stopped watching this repository': 'Stopped watching this repository', |
|
111 | 'Stopped watching this repository': 'Stopped watching this repository', | |
|
112 | 'Submit {0} draft comment.': 'Submit {0} draft comment.', | |||
|
113 | 'Submit {0} draft comments.': 'Submit {0} draft comments.', | |||
108 | 'Submitting...': '提交中……', |
|
114 | 'Submitting...': '提交中……', | |
109 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
115 | 'Switch target repository with the source.': 'Switch target repository with the source.', | |
110 | 'Switch to chat': 'Switch to chat', |
|
116 | 'Switch to chat': 'Switch to chat', | |
@@ -120,11 +126,14 b' var _TM = {' | |||||
120 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
121 | 'Unfollow': 'Unfollow', |
|
127 | 'Unfollow': 'Unfollow', | |
122 | 'Unwatch': 'Unwatch', |
|
128 | 'Unwatch': 'Unwatch', | |
|
129 | 'Update Comment': 'Update Comment', | |||
123 | 'Updated Comment': 'Updated Comment', |
|
130 | 'Updated Comment': 'Updated Comment', | |
124 | 'Updating...': 'Updating...', |
|
131 | 'Updating...': 'Updating...', | |
125 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
132 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
|
133 | 'User `{0}` already in reviewers/observers': 'User `{0}` already in reviewers/observers', | |||
126 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
127 | 'Watch': 'Watch', |
|
135 | 'Watch': 'Watch', | |
|
136 | 'Yes': 'Yes', | |||
128 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', | |
129 | 'You can only select {0} item': 'You can only select {0} item', |
|
138 | 'You can only select {0} item': 'You can only select {0} item', | |
130 | 'You can only select {0} items': 'You can only select {0} items', |
|
139 | 'You can only select {0} items': 'You can only select {0} items', | |
@@ -156,6 +165,10 b' var _TM = {' | |||||
156 | '{0} ago': '{0} ago', |
|
165 | '{0} ago': '{0} ago', | |
157 | '{0} and {1}': '{0} and {1}', |
|
166 | '{0} and {1}': '{0} and {1}', | |
158 | '{0} and {1} ago': '{0} and {1} ago', |
|
167 | '{0} and {1} ago': '{0} and {1} ago', | |
|
168 | '{0} bookmark': '{0} bookmark', | |||
|
169 | '{0} bookmarks': '{0} bookmarks', | |||
|
170 | '{0} branch': '{0} branch', | |||
|
171 | '{0} branches': '{0} branches', | |||
159 | '{0} day': '{0} day', |
|
172 | '{0} day': '{0} day', | |
160 | '{0} days': '{0} days', |
|
173 | '{0} days': '{0} days', | |
161 | '{0} hour': '{0} hour', |
|
174 | '{0} hour': '{0} hour', | |
@@ -171,6 +184,8 b' var _TM = {' | |||||
171 | '{0} repository groups': '{0} repository groups', |
|
184 | '{0} repository groups': '{0} repository groups', | |
172 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
173 | '{0} sec': '{0} sec', |
|
186 | '{0} sec': '{0} sec', | |
|
187 | '{0} tag': '{0} tag', | |||
|
188 | '{0} tags': '{0} tags', | |||
174 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', | |
175 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', | |
176 | '{0} year': '{0} year', |
|
191 | '{0} year': '{0} year', |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
General Comments 0
You need to be logged in to leave comments.
Login now