Show More
@@ -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 | 70 | 7e2eb896a02ca7cd2cd9f0f853ef3dac3f0039e3 v4.20.1 |
|
71 | 71 | 8bb5fece08ab65986225b184e46f53d2a71729cb v4.21.0 |
|
72 | 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 | 36 | proxy_set_header X-Host $http_host; |
|
37 | 37 | proxy_set_header X-Real-IP $remote_addr; |
|
38 | 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 | 41 | proxy_set_header Proxy-host $proxy_host; |
|
40 | 42 | |
|
41 | 43 | proxy_connect_timeout 7200; |
@@ -9,6 +9,8 b' Release Notes' | |||
|
9 | 9 | .. toctree:: |
|
10 | 10 | :maxdepth: 1 |
|
11 | 11 | |
|
12 | release-notes-4.23.2.rst | |
|
13 | release-notes-4.23.1.rst | |
|
12 | 14 | release-notes-4.23.0.rst |
|
13 | 15 | release-notes-4.22.0.rst |
|
14 | 16 | release-notes-4.21.0.rst |
@@ -1883,7 +1883,7 b' self: super: {' | |||
|
1883 | 1883 | }; |
|
1884 | 1884 | }; |
|
1885 | 1885 | "rhodecode-enterprise-ce" = super.buildPythonPackage { |
|
1886 |
name = "rhodecode-enterprise-ce-4.23. |
|
|
1886 | name = "rhodecode-enterprise-ce-4.23.2"; | |
|
1887 | 1887 | buildInputs = [ |
|
1888 | 1888 | self."pytest" |
|
1889 | 1889 | self."py" |
@@ -527,6 +527,14 b' class jsonrpc_deprecated_method(object):' | |||
|
527 | 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 | 538 | def includeme(config): |
|
531 | 539 | plugin_module = 'rhodecode.api' |
|
532 | 540 | plugin_settings = get_plugin_settings( |
@@ -549,7 +557,8 b' def includeme(config):' | |||
|
549 | 557 | config.add_route( |
|
550 | 558 | 'apiv2', plugin_settings.get('url', DEFAULT_URL), jsonrpc_call=True) |
|
551 | 559 | |
|
552 | config.scan(plugin_module, ignore='rhodecode.api.tests') | |
|
553 | 560 | # register some exception handling view |
|
554 | 561 | config.add_view(exception_view, context=JSONRPCBaseError) |
|
555 | 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 | 144 | labs_active = str2bool(settings.get('labs_settings_active', False)) |
|
145 | 145 | navigation_registry_instance = NavigationRegistry(labs_active=labs_active) |
|
146 | 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 | 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 | 45 | config.add_route( |
|
30 | 46 | name='admin_audit_logs', |
|
31 | 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 | 54 | config.add_route( |
|
34 | 55 | name='admin_audit_log_entry', |
|
35 | 56 | pattern='/audit_logs/{audit_log_id}') |
|
36 | ||
|
37 | config.add_route( | |
|
38 | name='pull_requests_global_0', # backward compat | |
|
39 | pattern='/pull_requests/{pull_request_id:\d+}') | |
|
40 | config.add_route( | |
|
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+}') | |
|
57 | config.add_view( | |
|
58 | AdminAuditLogsView, | |
|
59 | attr='admin_audit_log_entry', | |
|
60 | route_name='admin_audit_log_entry', request_method='GET', | |
|
61 | renderer='rhodecode:templates/admin/admin_audit_log_entry.mako') | |
|
46 | 62 | |
|
47 | 63 | config.add_route( |
|
48 | 64 | name='admin_settings_open_source', |
|
49 | 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 | 72 | config.add_route( |
|
51 | 73 | name='admin_settings_vcs_svn_generate_cfg', |
|
52 | 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 | 81 | config.add_route( |
|
55 | 82 | name='admin_settings_system', |
|
56 | 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 | 90 | config.add_route( |
|
58 | 91 | name='admin_settings_system_update', |
|
59 | 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 | 99 | config.add_route( |
|
62 | 100 | name='admin_settings_exception_tracker', |
|
63 | 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 | 108 | config.add_route( |
|
65 | 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 | 117 | config.add_route( |
|
68 | 118 | name='admin_settings_exception_tracker_show', |
|
69 | 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 | 126 | config.add_route( |
|
71 | 127 | name='admin_settings_exception_tracker_delete', |
|
72 | 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 | 135 | config.add_route( |
|
75 | 136 | name='admin_settings_sessions', |
|
76 | 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 | 144 | config.add_route( |
|
78 | 145 | name='admin_settings_sessions_cleanup', |
|
79 | 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 | 152 | config.add_route( |
|
82 | 153 | name='admin_settings_process_management', |
|
83 | 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 | 161 | config.add_route( |
|
85 | 162 | name='admin_settings_process_management_data', |
|
86 | 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 | 170 | config.add_route( |
|
88 | 171 | name='admin_settings_process_management_signal', |
|
89 | 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 | 179 | config.add_route( |
|
91 | 180 | name='admin_settings_process_management_master_signal', |
|
92 | 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 | 188 | # default settings |
|
95 | 189 | config.add_route( |
|
96 | 190 | name='admin_defaults_repositories', |
|
97 | 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 | 198 | config.add_route( |
|
99 | 199 | name='admin_defaults_repositories_update', |
|
100 | 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 | 207 | # admin settings |
|
103 | 208 | |
|
104 | 209 | config.add_route( |
|
105 | 210 | name='admin_settings', |
|
106 | 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 | 218 | config.add_route( |
|
108 | 219 | name='admin_settings_update', |
|
109 | 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 | 227 | config.add_route( |
|
112 | 228 | name='admin_settings_global', |
|
113 | 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 | 236 | config.add_route( |
|
115 | 237 | name='admin_settings_global_update', |
|
116 | 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 | 245 | config.add_route( |
|
119 | 246 | name='admin_settings_vcs', |
|
120 | 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 | 254 | config.add_route( |
|
122 | 255 | name='admin_settings_vcs_update', |
|
123 | 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 | 263 | config.add_route( |
|
125 | 264 | name='admin_settings_vcs_svn_pattern_delete', |
|
126 | 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 | 272 | config.add_route( |
|
129 | 273 | name='admin_settings_mapping', |
|
130 | 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 | 281 | config.add_route( |
|
132 | 282 | name='admin_settings_mapping_update', |
|
133 | 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 | 290 | config.add_route( |
|
136 | 291 | name='admin_settings_visual', |
|
137 | 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 | 299 | config.add_route( |
|
139 | 300 | name='admin_settings_visual_update', |
|
140 | 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 | 308 | config.add_route( |
|
143 | 309 | name='admin_settings_issuetracker', |
|
144 | 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 | 317 | config.add_route( |
|
146 | 318 | name='admin_settings_issuetracker_update', |
|
147 | 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 | 326 | config.add_route( |
|
149 | 327 | name='admin_settings_issuetracker_test', |
|
150 | 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 | 335 | config.add_route( |
|
152 | 336 | name='admin_settings_issuetracker_delete', |
|
153 | 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 | 344 | config.add_route( |
|
156 | 345 | name='admin_settings_email', |
|
157 | 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 | 353 | config.add_route( |
|
159 | 354 | name='admin_settings_email_update', |
|
160 | 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 | 362 | config.add_route( |
|
163 | 363 | name='admin_settings_hooks', |
|
164 | 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 | 371 | config.add_route( |
|
166 | 372 | name='admin_settings_hooks_update', |
|
167 | 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 | 380 | config.add_route( |
|
169 | 381 | name='admin_settings_hooks_delete', |
|
170 | 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 | 389 | config.add_route( |
|
173 | 390 | name='admin_settings_search', |
|
174 | 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 | 398 | config.add_route( |
|
177 | 399 | name='admin_settings_labs', |
|
178 | 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 | 407 | config.add_route( |
|
180 | 408 | name='admin_settings_labs_update', |
|
181 | 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 | 416 | # Automation EE feature |
|
184 | 417 | config.add_route( |
|
185 | 418 | 'admin_settings_automation', |
|
186 | 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 | 426 | # global permissions |
|
189 | 427 | |
|
190 | 428 | config.add_route( |
|
191 | 429 | name='admin_permissions_application', |
|
192 | 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 | 437 | config.add_route( |
|
194 | 438 | name='admin_permissions_application_update', |
|
195 | 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 | 446 | config.add_route( |
|
198 | 447 | name='admin_permissions_global', |
|
199 | 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 | 455 | config.add_route( |
|
201 | 456 | name='admin_permissions_global_update', |
|
202 | 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 | 464 | config.add_route( |
|
205 | 465 | name='admin_permissions_object', |
|
206 | 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 | 473 | config.add_route( |
|
208 | 474 | name='admin_permissions_object_update', |
|
209 | 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 | 482 | # Branch perms EE feature |
|
212 | 483 | config.add_route( |
|
213 | 484 | name='admin_permissions_branch', |
|
214 | 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 | 492 | config.add_route( |
|
217 | 493 | name='admin_permissions_ips', |
|
218 | 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 | 501 | config.add_route( |
|
221 | 502 | name='admin_permissions_overview', |
|
222 | 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 | 510 | config.add_route( |
|
225 | 511 | name='admin_permissions_auth_token_access', |
|
226 | 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 | 519 | config.add_route( |
|
229 | 520 | name='admin_permissions_ssh_keys', |
|
230 | 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 | 528 | config.add_route( |
|
232 | 529 | name='admin_permissions_ssh_keys_data', |
|
233 | 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 | 537 | config.add_route( |
|
235 | 538 | name='admin_permissions_ssh_keys_update', |
|
236 | 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 | 546 | # users admin |
|
239 | 547 | config.add_route( |
|
240 | 548 | name='users', |
|
241 | 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 | 556 | config.add_route( |
|
244 | 557 | name='users_data', |
|
245 | 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 | 566 | config.add_route( |
|
248 | 567 | name='users_create', |
|
249 | 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 | 575 | config.add_route( |
|
252 | 576 | name='users_new', |
|
253 | 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 | 584 | # user management |
|
256 | 585 | config.add_route( |
|
257 | 586 | name='user_edit', |
|
258 | 587 | pattern='/users/{user_id:\d+}/edit', |
|
259 | 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 | 595 | config.add_route( |
|
261 | 596 | name='user_edit_advanced', |
|
262 | 597 | pattern='/users/{user_id:\d+}/edit/advanced', |
|
263 | 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 | 605 | config.add_route( |
|
265 | 606 | name='user_edit_global_perms', |
|
266 | 607 | pattern='/users/{user_id:\d+}/edit/global_permissions', |
|
267 | 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 | 615 | config.add_route( |
|
269 | 616 | name='user_edit_global_perms_update', |
|
270 | 617 | pattern='/users/{user_id:\d+}/edit/global_permissions/update', |
|
271 | 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 | 625 | config.add_route( |
|
273 | 626 | name='user_update', |
|
274 | 627 | pattern='/users/{user_id:\d+}/update', |
|
275 | 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 | 635 | config.add_route( |
|
277 | 636 | name='user_delete', |
|
278 | 637 | pattern='/users/{user_id:\d+}/delete', |
|
279 | 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 | 645 | config.add_route( |
|
281 | 646 | name='user_enable_force_password_reset', |
|
282 | 647 | pattern='/users/{user_id:\d+}/password_reset_enable', |
|
283 | 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 | 655 | config.add_route( |
|
285 | 656 | name='user_disable_force_password_reset', |
|
286 | 657 | pattern='/users/{user_id:\d+}/password_reset_disable', |
|
287 | 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 | 665 | config.add_route( |
|
289 | 666 | name='user_create_personal_repo_group', |
|
290 | 667 | pattern='/users/{user_id:\d+}/create_repo_group', |
|
291 | 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 | 675 | # user notice |
|
294 | 676 | config.add_route( |
|
295 | 677 | name='user_notice_dismiss', |
|
296 | 678 | pattern='/users/{user_id:\d+}/notice_dismiss', |
|
297 | 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 | 686 | # user auth tokens |
|
300 | 687 | config.add_route( |
|
301 | 688 | name='edit_user_auth_tokens', |
|
302 | 689 | pattern='/users/{user_id:\d+}/edit/auth_tokens', |
|
303 | 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 | 697 | config.add_route( |
|
305 | 698 | name='edit_user_auth_tokens_view', |
|
306 | 699 | pattern='/users/{user_id:\d+}/edit/auth_tokens/view', |
|
307 | 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 | 707 | config.add_route( |
|
309 | 708 | name='edit_user_auth_tokens_add', |
|
310 | 709 | pattern='/users/{user_id:\d+}/edit/auth_tokens/new', |
|
311 | 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 | 716 | config.add_route( |
|
313 | 717 | name='edit_user_auth_tokens_delete', |
|
314 | 718 | pattern='/users/{user_id:\d+}/edit/auth_tokens/delete', |
|
315 | 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 | 725 | # user ssh keys |
|
318 | 726 | config.add_route( |
|
319 | 727 | name='edit_user_ssh_keys', |
|
320 | 728 | pattern='/users/{user_id:\d+}/edit/ssh_keys', |
|
321 | 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 | 736 | config.add_route( |
|
323 | 737 | name='edit_user_ssh_keys_generate_keypair', |
|
324 | 738 | pattern='/users/{user_id:\d+}/edit/ssh_keys/generate', |
|
325 | 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 | 746 | config.add_route( |
|
327 | 747 | name='edit_user_ssh_keys_add', |
|
328 | 748 | pattern='/users/{user_id:\d+}/edit/ssh_keys/new', |
|
329 | 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 | 755 | config.add_route( |
|
331 | 756 | name='edit_user_ssh_keys_delete', |
|
332 | 757 | pattern='/users/{user_id:\d+}/edit/ssh_keys/delete', |
|
333 | 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 | 764 | # user emails |
|
336 | 765 | config.add_route( |
|
337 | 766 | name='edit_user_emails', |
|
338 | 767 | pattern='/users/{user_id:\d+}/edit/emails', |
|
339 | 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 | 775 | config.add_route( |
|
341 | 776 | name='edit_user_emails_add', |
|
342 | 777 | pattern='/users/{user_id:\d+}/edit/emails/new', |
|
343 | 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 | 784 | config.add_route( |
|
345 | 785 | name='edit_user_emails_delete', |
|
346 | 786 | pattern='/users/{user_id:\d+}/edit/emails/delete', |
|
347 | 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 | 793 | # user IPs |
|
350 | 794 | config.add_route( |
|
351 | 795 | name='edit_user_ips', |
|
352 | 796 | pattern='/users/{user_id:\d+}/edit/ips', |
|
353 | 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 | 804 | config.add_route( |
|
355 | 805 | name='edit_user_ips_add', |
|
356 | 806 | pattern='/users/{user_id:\d+}/edit/ips/new', |
|
357 | 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 | 813 | config.add_route( |
|
359 | 814 | name='edit_user_ips_delete', |
|
360 | 815 | pattern='/users/{user_id:\d+}/edit/ips/delete', |
|
361 | 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 | 822 | # user perms |
|
364 | 823 | config.add_route( |
|
365 | 824 | name='edit_user_perms_summary', |
|
366 | 825 | pattern='/users/{user_id:\d+}/edit/permissions_summary', |
|
367 | 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 | 833 | config.add_route( |
|
369 | 834 | name='edit_user_perms_summary_json', |
|
370 | 835 | pattern='/users/{user_id:\d+}/edit/permissions_summary/json', |
|
371 | 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 | 843 | # user user groups management |
|
374 | 844 | config.add_route( |
|
375 | 845 | name='edit_user_groups_management', |
|
376 | 846 | pattern='/users/{user_id:\d+}/edit/groups_management', |
|
377 | 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 | 854 | config.add_route( |
|
380 | 855 | name='edit_user_groups_management_updates', |
|
381 | 856 | pattern='/users/{user_id:\d+}/edit/edit_user_groups_management/updates', |
|
382 | 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 | 863 | # user audit logs |
|
385 | 864 | config.add_route( |
|
386 | 865 | name='edit_user_audit_logs', |
|
387 | 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 | 873 | config.add_route( |
|
390 | 874 | name='edit_user_audit_logs_download', |
|
391 | 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 | 882 | # user caches |
|
394 | 883 | config.add_route( |
|
395 | 884 | name='edit_user_caches', |
|
396 | 885 | pattern='/users/{user_id:\d+}/edit/caches', |
|
397 | 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 | 893 | config.add_route( |
|
399 | 894 | name='edit_user_caches_update', |
|
400 | 895 | pattern='/users/{user_id:\d+}/edit/caches/update', |
|
401 | 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 | 902 | # user-groups admin |
|
404 | 903 | config.add_route( |
|
405 | 904 | name='user_groups', |
|
406 | 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 | 912 | config.add_route( |
|
409 | 913 | name='user_groups_data', |
|
410 | 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 | 921 | config.add_route( |
|
413 | 922 | name='user_groups_new', |
|
414 | 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 | 930 | config.add_route( |
|
417 | 931 | name='user_groups_create', |
|
418 | 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 | 939 | # repos admin |
|
421 | 940 | config.add_route( |
|
422 | 941 | name='repos', |
|
423 | 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 | 949 | config.add_route( |
|
426 | 950 | name='repos_data', |
|
427 | 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 | 958 | config.add_route( |
|
430 | 959 | name='repo_new', |
|
431 | 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 | 967 | config.add_route( |
|
434 | 968 | name='repo_create', |
|
435 | 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 | 976 | # repo groups admin |
|
438 | 977 | config.add_route( |
|
439 | 978 | name='repo_groups', |
|
440 | 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 | 986 | config.add_route( |
|
443 | 987 | name='repo_groups_data', |
|
444 | 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 | 995 | config.add_route( |
|
447 | 996 | name='repo_group_new', |
|
448 | 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 | 1004 | config.add_route( |
|
451 | 1005 | name='repo_group_create', |
|
452 | 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 | 1014 | def includeme(config): |
|
456 | 1015 | from rhodecode.apps._base.navigation import includeme as nav_includeme |
|
1016 | from rhodecode.apps.admin.views.main_views import AdminMainView | |
|
457 | 1017 | |
|
458 | 1018 | # Create admin navigation registry and add it to the pyramid registry. |
|
459 | 1019 | nav_includeme(config) |
|
460 | 1020 | |
|
461 | 1021 | # main admin routes |
|
462 | config.add_route(name='admin_home', pattern=ADMIN_PREFIX) | |
|
463 | config.include(admin_routes, route_prefix=ADMIN_PREFIX) | |
|
1022 | config.add_route( | |
|
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. | |
|
466 | config.scan('.views', ignore='.tests') | |
|
1039 | config.add_route( | |
|
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 | 21 | import logging |
|
22 | 22 | |
|
23 | 23 | from pyramid.httpexceptions import HTTPNotFound |
|
24 | from pyramid.view import view_config | |
|
25 | 24 | |
|
26 | 25 | from rhodecode.apps._base import BaseAppView |
|
27 | 26 | from rhodecode.model.db import joinedload, UserLog |
@@ -34,15 +33,13 b' log = logging.getLogger(__name__)' | |||
|
34 | 33 | |
|
35 | 34 | |
|
36 | 35 | class AdminAuditLogsView(BaseAppView): |
|
36 | ||
|
37 | 37 | def load_default_context(self): |
|
38 | 38 | c = self._get_local_tmpl_context() |
|
39 | 39 | return c |
|
40 | 40 | |
|
41 | 41 | @LoginRequired() |
|
42 | 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 | 43 | def admin_audit_logs(self): |
|
47 | 44 | c = self.load_default_context() |
|
48 | 45 | |
@@ -76,9 +73,6 b' class AdminAuditLogsView(BaseAppView):' | |||
|
76 | 73 | |
|
77 | 74 | @LoginRequired() |
|
78 | 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 | 76 | def admin_audit_log_entry(self): |
|
83 | 77 | c = self.load_default_context() |
|
84 | 78 | audit_log_id = self.request.matchdict['audit_log_id'] |
@@ -23,7 +23,6 b' import logging' | |||
|
23 | 23 | import formencode |
|
24 | 24 | import formencode.htmlfill |
|
25 | 25 | |
|
26 | from pyramid.view import view_config | |
|
27 | 26 | from pyramid.httpexceptions import HTTPFound |
|
28 | 27 | from pyramid.renderers import render |
|
29 | 28 | from pyramid.response import Response |
@@ -41,17 +40,13 b' log = logging.getLogger(__name__)' | |||
|
41 | 40 | |
|
42 | 41 | |
|
43 | 42 | class AdminDefaultSettingsView(BaseAppView): |
|
43 | ||
|
44 | 44 | def load_default_context(self): |
|
45 | 45 | c = self._get_local_tmpl_context() |
|
46 | ||
|
47 | ||
|
48 | 46 | return c |
|
49 | 47 | |
|
50 | 48 | @LoginRequired() |
|
51 | 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 | 50 | def defaults_repository_show(self): |
|
56 | 51 | c = self.load_default_context() |
|
57 | 52 | c.backends = BACKENDS.keys() |
@@ -72,9 +67,6 b' class AdminDefaultSettingsView(BaseAppVi' | |||
|
72 | 67 | @LoginRequired() |
|
73 | 68 | @HasPermissionAllDecorator('hg.admin') |
|
74 | 69 | @CSRFRequired() |
|
75 | @view_config( | |
|
76 | route_name='admin_defaults_repositories_update', request_method='POST', | |
|
77 | renderer='rhodecode:templates/admin/defaults/defaults.mako') | |
|
78 | 70 | def defaults_repository_update(self): |
|
79 | 71 | _ = self.request.translate |
|
80 | 72 | c = self.load_default_context() |
@@ -21,7 +21,6 b' import os' | |||
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | 23 | from pyramid.httpexceptions import HTTPFound |
|
24 | from pyramid.view import view_config | |
|
25 | 24 | |
|
26 | 25 | from rhodecode.apps._base import BaseAppView |
|
27 | 26 | from rhodecode.apps._base.navigation import navigation_list |
@@ -99,9 +98,6 b' class ExceptionsTrackerView(BaseAppView)' | |||
|
99 | 98 | |
|
100 | 99 | @LoginRequired() |
|
101 | 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 | 101 | def browse_exceptions(self): |
|
106 | 102 | _ = self.request.translate |
|
107 | 103 | c = self.load_default_context() |
@@ -117,9 +113,6 b' class ExceptionsTrackerView(BaseAppView)' | |||
|
117 | 113 | |
|
118 | 114 | @LoginRequired() |
|
119 | 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 | 116 | def exception_show(self): |
|
124 | 117 | _ = self.request.translate |
|
125 | 118 | c = self.load_default_context() |
@@ -132,9 +125,6 b' class ExceptionsTrackerView(BaseAppView)' | |||
|
132 | 125 | @LoginRequired() |
|
133 | 126 | @HasPermissionAllDecorator('hg.admin') |
|
134 | 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 | 128 | def exception_delete_all(self): |
|
139 | 129 | _ = self.request.translate |
|
140 | 130 | c = self.load_default_context() |
@@ -159,9 +149,6 b' class ExceptionsTrackerView(BaseAppView)' | |||
|
159 | 149 | @LoginRequired() |
|
160 | 150 | @HasPermissionAllDecorator('hg.admin') |
|
161 | 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 | 152 | def exception_delete(self): |
|
166 | 153 | _ = self.request.translate |
|
167 | 154 | c = self.load_default_context() |
@@ -21,7 +21,6 b'' | |||
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | 23 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
24 | from pyramid.view import view_config | |
|
25 | 24 | |
|
26 | 25 | from rhodecode.apps._base import BaseAppView |
|
27 | 26 | from rhodecode.lib import helpers as h |
@@ -39,9 +38,6 b' class AdminMainView(BaseAppView):' | |||
|
39 | 38 | |
|
40 | 39 | @LoginRequired() |
|
41 | 40 | @NotAnonymous() |
|
42 | @view_config( | |
|
43 | route_name='admin_home', request_method='GET', | |
|
44 | renderer='rhodecode:templates/admin/main.mako') | |
|
45 | 41 | def admin_main(self): |
|
46 | 42 | c = self.load_default_context() |
|
47 | 43 | c.active = 'admin' |
@@ -52,9 +48,6 b' class AdminMainView(BaseAppView):' | |||
|
52 | 48 | return self._get_template_context(c) |
|
53 | 49 | |
|
54 | 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 | 51 | def pull_requests(self): |
|
59 | 52 | """ |
|
60 | 53 | Global redirect for Pull Requests |
@@ -21,8 +21,6 b'' | |||
|
21 | 21 | import collections |
|
22 | 22 | import logging |
|
23 | 23 | |
|
24 | from pyramid.view import view_config | |
|
25 | ||
|
26 | 24 | from rhodecode.apps._base import BaseAppView |
|
27 | 25 | from rhodecode.apps._base.navigation import navigation_list |
|
28 | 26 | from rhodecode.lib.auth import (LoginRequired, HasPermissionAllDecorator) |
@@ -39,9 +37,6 b' class OpenSourceLicensesAdminSettingsVie' | |||
|
39 | 37 | |
|
40 | 38 | @LoginRequired() |
|
41 | 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 | 40 | def open_source_licenses(self): |
|
46 | 41 | c = self.load_default_context() |
|
47 | 42 | c.active = 'open_source' |
@@ -25,7 +25,6 b' import formencode.htmlfill' | |||
|
25 | 25 | import datetime |
|
26 | 26 | from pyramid.interfaces import IRoutesMapper |
|
27 | 27 | |
|
28 | from pyramid.view import view_config | |
|
29 | 28 | from pyramid.httpexceptions import HTTPFound |
|
30 | 29 | from pyramid.renderers import render |
|
31 | 30 | from pyramid.response import Response |
@@ -59,9 +58,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
59 | 58 | |
|
60 | 59 | @LoginRequired() |
|
61 | 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 | 61 | def permissions_application(self): |
|
66 | 62 | c = self.load_default_context() |
|
67 | 63 | c.active = 'application' |
@@ -90,9 +86,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
90 | 86 | @LoginRequired() |
|
91 | 87 | @HasPermissionAllDecorator('hg.admin') |
|
92 | 88 | @CSRFRequired() |
|
93 | @view_config( | |
|
94 | route_name='admin_permissions_application_update', request_method='POST', | |
|
95 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |
|
96 | 89 | def permissions_application_update(self): |
|
97 | 90 | _ = self.request.translate |
|
98 | 91 | c = self.load_default_context() |
@@ -149,9 +142,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
149 | 142 | |
|
150 | 143 | @LoginRequired() |
|
151 | 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 | 145 | def permissions_objects(self): |
|
156 | 146 | c = self.load_default_context() |
|
157 | 147 | c.active = 'objects' |
@@ -174,9 +164,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
174 | 164 | @LoginRequired() |
|
175 | 165 | @HasPermissionAllDecorator('hg.admin') |
|
176 | 166 | @CSRFRequired() |
|
177 | @view_config( | |
|
178 | route_name='admin_permissions_object_update', request_method='POST', | |
|
179 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |
|
180 | 167 | def permissions_objects_update(self): |
|
181 | 168 | _ = self.request.translate |
|
182 | 169 | c = self.load_default_context() |
@@ -225,9 +212,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
225 | 212 | |
|
226 | 213 | @LoginRequired() |
|
227 | 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 | 215 | def permissions_branch(self): |
|
232 | 216 | c = self.load_default_context() |
|
233 | 217 | c.active = 'branch' |
@@ -249,9 +233,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
249 | 233 | |
|
250 | 234 | @LoginRequired() |
|
251 | 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 | 236 | def permissions_global(self): |
|
256 | 237 | c = self.load_default_context() |
|
257 | 238 | c.active = 'global' |
@@ -274,9 +255,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
274 | 255 | @LoginRequired() |
|
275 | 256 | @HasPermissionAllDecorator('hg.admin') |
|
276 | 257 | @CSRFRequired() |
|
277 | @view_config( | |
|
278 | route_name='admin_permissions_global_update', request_method='POST', | |
|
279 | renderer='rhodecode:templates/admin/permissions/permissions.mako') | |
|
280 | 258 | def permissions_global_update(self): |
|
281 | 259 | _ = self.request.translate |
|
282 | 260 | c = self.load_default_context() |
@@ -327,9 +305,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
327 | 305 | |
|
328 | 306 | @LoginRequired() |
|
329 | 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 | 308 | def permissions_ips(self): |
|
334 | 309 | c = self.load_default_context() |
|
335 | 310 | c.active = 'ips' |
@@ -342,9 +317,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
342 | 317 | |
|
343 | 318 | @LoginRequired() |
|
344 | 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 | 320 | def permissions_overview(self): |
|
349 | 321 | c = self.load_default_context() |
|
350 | 322 | c.active = 'perms' |
@@ -355,9 +327,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
355 | 327 | |
|
356 | 328 | @LoginRequired() |
|
357 | 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 | 330 | def auth_token_access(self): |
|
362 | 331 | from rhodecode import CONFIG |
|
363 | 332 | |
@@ -415,9 +384,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
415 | 384 | |
|
416 | 385 | @LoginRequired() |
|
417 | 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 | 387 | def ssh_keys(self): |
|
422 | 388 | c = self.load_default_context() |
|
423 | 389 | c.active = 'ssh_keys' |
@@ -426,9 +392,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
426 | 392 | |
|
427 | 393 | @LoginRequired() |
|
428 | 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 | 395 | def ssh_keys_data(self): |
|
433 | 396 | _ = self.request.translate |
|
434 | 397 | self.load_default_context() |
@@ -498,9 +461,6 b' class AdminPermissionsView(BaseAppView, ' | |||
|
498 | 461 | @LoginRequired() |
|
499 | 462 | @HasPermissionAllDecorator('hg.admin') |
|
500 | 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 | 464 | def ssh_keys_update(self): |
|
505 | 465 | _ = self.request.translate |
|
506 | 466 | self.load_default_context() |
@@ -22,7 +22,7 b' import logging' | |||
|
22 | 22 | |
|
23 | 23 | import psutil |
|
24 | 24 | import signal |
|
25 | from pyramid.view import view_config | |
|
25 | ||
|
26 | 26 | |
|
27 | 27 | from rhodecode.apps._base import BaseAppView |
|
28 | 28 | from rhodecode.apps._base.navigation import navigation_list |
@@ -84,9 +84,6 b' class AdminProcessManagementView(BaseApp' | |||
|
84 | 84 | |
|
85 | 85 | @LoginRequired() |
|
86 | 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 | 87 | def process_management(self): |
|
91 | 88 | _ = self.request.translate |
|
92 | 89 | c = self.load_default_context() |
@@ -99,9 +96,6 b' class AdminProcessManagementView(BaseApp' | |||
|
99 | 96 | |
|
100 | 97 | @LoginRequired() |
|
101 | 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 | 99 | def process_management_data(self): |
|
106 | 100 | _ = self.request.translate |
|
107 | 101 | c = self.load_default_context() |
@@ -111,9 +105,6 b' class AdminProcessManagementView(BaseApp' | |||
|
111 | 105 | @LoginRequired() |
|
112 | 106 | @HasPermissionAllDecorator('hg.admin') |
|
113 | 107 | @CSRFRequired() |
|
114 | @view_config( | |
|
115 | route_name='admin_settings_process_management_signal', | |
|
116 | request_method='POST', renderer='json_ext') | |
|
117 | 108 | def process_management_signal(self): |
|
118 | 109 | pids = self.request.json.get('pids', []) |
|
119 | 110 | result = [] |
@@ -155,9 +146,6 b' class AdminProcessManagementView(BaseApp' | |||
|
155 | 146 | @LoginRequired() |
|
156 | 147 | @HasPermissionAllDecorator('hg.admin') |
|
157 | 148 | @CSRFRequired() |
|
158 | @view_config( | |
|
159 | route_name='admin_settings_process_management_master_signal', | |
|
160 | request_method='POST', renderer='json_ext') | |
|
161 | 149 | def process_management_master_signal(self): |
|
162 | 150 | pid_data = self.request.json.get('pid_data', {}) |
|
163 | 151 | pid = safe_int(pid_data['pid']) |
@@ -25,7 +25,7 b' import formencode' | |||
|
25 | 25 | import formencode.htmlfill |
|
26 | 26 | |
|
27 | 27 | from pyramid.httpexceptions import HTTPFound, HTTPForbidden |
|
28 | from pyramid.view import view_config | |
|
28 | ||
|
29 | 29 | from pyramid.renderers import render |
|
30 | 30 | from pyramid.response import Response |
|
31 | 31 | |
@@ -96,9 +96,6 b' class AdminRepoGroupsView(BaseAppView, D' | |||
|
96 | 96 | # `repo_group_list_data` via RepoGroupList |
|
97 | 97 | @LoginRequired() |
|
98 | 98 | @NotAnonymous() |
|
99 | @view_config( | |
|
100 | route_name='repo_groups', request_method='GET', | |
|
101 | renderer='rhodecode:templates/admin/repo_groups/repo_groups.mako') | |
|
102 | 99 | def repo_group_list(self): |
|
103 | 100 | c = self.load_default_context() |
|
104 | 101 | return self._get_template_context(c) |
@@ -106,9 +103,6 b' class AdminRepoGroupsView(BaseAppView, D' | |||
|
106 | 103 | # permission check inside |
|
107 | 104 | @LoginRequired() |
|
108 | 105 | @NotAnonymous() |
|
109 | @view_config( | |
|
110 | route_name='repo_groups_data', request_method='GET', | |
|
111 | renderer='json_ext', xhr=True) | |
|
112 | 106 | def repo_group_list_data(self): |
|
113 | 107 | self.load_default_context() |
|
114 | 108 | column_map = { |
@@ -254,9 +248,6 b' class AdminRepoGroupsView(BaseAppView, D' | |||
|
254 | 248 | @LoginRequired() |
|
255 | 249 | @NotAnonymous() |
|
256 | 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 | 251 | def repo_group_new(self): |
|
261 | 252 | c = self.load_default_context() |
|
262 | 253 | |
@@ -296,9 +287,6 b' class AdminRepoGroupsView(BaseAppView, D' | |||
|
296 | 287 | @NotAnonymous() |
|
297 | 288 | @CSRFRequired() |
|
298 | 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 | 290 | def repo_group_create(self): |
|
303 | 291 | c = self.load_default_context() |
|
304 | 292 | _ = self.request.translate |
@@ -23,7 +23,7 b' import formencode' | |||
|
23 | 23 | import formencode.htmlfill |
|
24 | 24 | |
|
25 | 25 | from pyramid.httpexceptions import HTTPFound, HTTPForbidden |
|
26 | from pyramid.view import view_config | |
|
26 | ||
|
27 | 27 | from pyramid.renderers import render |
|
28 | 28 | from pyramid.response import Response |
|
29 | 29 | |
@@ -52,7 +52,6 b' class AdminReposView(BaseAppView, DataGr' | |||
|
52 | 52 | |
|
53 | 53 | def load_default_context(self): |
|
54 | 54 | c = self._get_local_tmpl_context() |
|
55 | ||
|
56 | 55 | return c |
|
57 | 56 | |
|
58 | 57 | def _load_form_data(self, c): |
@@ -65,9 +64,6 b' class AdminReposView(BaseAppView, DataGr' | |||
|
65 | 64 | @LoginRequired() |
|
66 | 65 | @NotAnonymous() |
|
67 | 66 | # perms check inside |
|
68 | @view_config( | |
|
69 | route_name='repos', request_method='GET', | |
|
70 | renderer='rhodecode:templates/admin/repos/repos.mako') | |
|
71 | 67 | def repository_list(self): |
|
72 | 68 | c = self.load_default_context() |
|
73 | 69 | return self._get_template_context(c) |
@@ -75,9 +71,6 b' class AdminReposView(BaseAppView, DataGr' | |||
|
75 | 71 | @LoginRequired() |
|
76 | 72 | @NotAnonymous() |
|
77 | 73 | # perms check inside |
|
78 | @view_config( | |
|
79 | route_name='repos_data', request_method='GET', | |
|
80 | renderer='json_ext', xhr=True) | |
|
81 | 74 | def repository_list_data(self): |
|
82 | 75 | self.load_default_context() |
|
83 | 76 | column_map = { |
@@ -162,9 +155,6 b' class AdminReposView(BaseAppView, DataGr' | |||
|
162 | 155 | @LoginRequired() |
|
163 | 156 | @NotAnonymous() |
|
164 | 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 | 158 | def repository_new(self): |
|
169 | 159 | c = self.load_default_context() |
|
170 | 160 | |
@@ -216,9 +206,6 b' class AdminReposView(BaseAppView, DataGr' | |||
|
216 | 206 | @NotAnonymous() |
|
217 | 207 | @CSRFRequired() |
|
218 | 208 | # perms check inside |
|
219 | @view_config( | |
|
220 | route_name='repo_create', request_method='POST', | |
|
221 | renderer='rhodecode:templates/admin/repos/repos.mako') | |
|
222 | 209 | def repository_create(self): |
|
223 | 210 | c = self.load_default_context() |
|
224 | 211 |
@@ -20,7 +20,7 b'' | |||
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | from pyramid.httpexceptions import HTTPFound |
|
25 | 25 | |
|
26 | 26 | from rhodecode.apps._base import BaseAppView |
@@ -37,17 +37,13 b' log = logging.getLogger(__name__)' | |||
|
37 | 37 | |
|
38 | 38 | |
|
39 | 39 | class AdminSessionSettingsView(BaseAppView): |
|
40 | ||
|
40 | 41 | def load_default_context(self): |
|
41 | 42 | c = self._get_local_tmpl_context() |
|
42 | ||
|
43 | ||
|
44 | 43 | return c |
|
45 | 44 | |
|
46 | 45 | @LoginRequired() |
|
47 | 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 | 47 | def settings_sessions(self): |
|
52 | 48 | c = self.load_default_context() |
|
53 | 49 | |
@@ -71,8 +67,6 b' class AdminSessionSettingsView(BaseAppVi' | |||
|
71 | 67 | @LoginRequired() |
|
72 | 68 | @HasPermissionAllDecorator('hg.admin') |
|
73 | 69 | @CSRFRequired() |
|
74 | @view_config( | |
|
75 | route_name='admin_settings_sessions_cleanup', request_method='POST') | |
|
76 | 70 | def settings_sessions_cleanup(self): |
|
77 | 71 | _ = self.request.translate |
|
78 | 72 | expire_days = safe_int(self.request.params.get('expire_days')) |
@@ -27,7 +27,7 b' import formencode' | |||
|
27 | 27 | import formencode.htmlfill |
|
28 | 28 | |
|
29 | 29 | import rhodecode |
|
30 | from pyramid.view import view_config | |
|
30 | ||
|
31 | 31 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
32 | 32 | from pyramid.renderers import render |
|
33 | 33 | from pyramid.response import Response |
@@ -68,7 +68,6 b' class AdminSettingsView(BaseAppView):' | |||
|
68 | 68 | c.labs_active = str2bool( |
|
69 | 69 | rhodecode.CONFIG.get('labs_settings_active', 'true')) |
|
70 | 70 | c.navlist = navigation_list(self.request) |
|
71 | ||
|
72 | 71 | return c |
|
73 | 72 | |
|
74 | 73 | @classmethod |
@@ -109,9 +108,6 b' class AdminSettingsView(BaseAppView):' | |||
|
109 | 108 | |
|
110 | 109 | @LoginRequired() |
|
111 | 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 | 111 | def settings_vcs(self): |
|
116 | 112 | c = self.load_default_context() |
|
117 | 113 | c.active = 'vcs' |
@@ -139,9 +135,6 b' class AdminSettingsView(BaseAppView):' | |||
|
139 | 135 | @LoginRequired() |
|
140 | 136 | @HasPermissionAllDecorator('hg.admin') |
|
141 | 137 | @CSRFRequired() |
|
142 | @view_config( | |
|
143 | route_name='admin_settings_vcs_update', request_method='POST', | |
|
144 | renderer='rhodecode:templates/admin/settings/settings.mako') | |
|
145 | 138 | def settings_vcs_update(self): |
|
146 | 139 | _ = self.request.translate |
|
147 | 140 | c = self.load_default_context() |
@@ -207,9 +200,6 b' class AdminSettingsView(BaseAppView):' | |||
|
207 | 200 | @LoginRequired() |
|
208 | 201 | @HasPermissionAllDecorator('hg.admin') |
|
209 | 202 | @CSRFRequired() |
|
210 | @view_config( | |
|
211 | route_name='admin_settings_vcs_svn_pattern_delete', request_method='POST', | |
|
212 | renderer='json_ext', xhr=True) | |
|
213 | 203 | def settings_vcs_delete_svn_pattern(self): |
|
214 | 204 | delete_pattern_id = self.request.POST.get('delete_svn_pattern') |
|
215 | 205 | model = VcsSettingsModel() |
@@ -225,9 +215,6 b' class AdminSettingsView(BaseAppView):' | |||
|
225 | 215 | |
|
226 | 216 | @LoginRequired() |
|
227 | 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 | 218 | def settings_mapping(self): |
|
232 | 219 | c = self.load_default_context() |
|
233 | 220 | c.active = 'mapping' |
@@ -245,9 +232,6 b' class AdminSettingsView(BaseAppView):' | |||
|
245 | 232 | @LoginRequired() |
|
246 | 233 | @HasPermissionAllDecorator('hg.admin') |
|
247 | 234 | @CSRFRequired() |
|
248 | @view_config( | |
|
249 | route_name='admin_settings_mapping_update', request_method='POST', | |
|
250 | renderer='rhodecode:templates/admin/settings/settings.mako') | |
|
251 | 235 | def settings_mapping_update(self): |
|
252 | 236 | _ = self.request.translate |
|
253 | 237 | c = self.load_default_context() |
@@ -274,12 +258,6 b' class AdminSettingsView(BaseAppView):' | |||
|
274 | 258 | |
|
275 | 259 | @LoginRequired() |
|
276 | 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 | 261 | def settings_global(self): |
|
284 | 262 | c = self.load_default_context() |
|
285 | 263 | c.active = 'global' |
@@ -299,12 +277,6 b' class AdminSettingsView(BaseAppView):' | |||
|
299 | 277 | @LoginRequired() |
|
300 | 278 | @HasPermissionAllDecorator('hg.admin') |
|
301 | 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 | 280 | def settings_global_update(self): |
|
309 | 281 | _ = self.request.translate |
|
310 | 282 | c = self.load_default_context() |
@@ -359,9 +331,6 b' class AdminSettingsView(BaseAppView):' | |||
|
359 | 331 | |
|
360 | 332 | @LoginRequired() |
|
361 | 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 | 334 | def settings_visual(self): |
|
366 | 335 | c = self.load_default_context() |
|
367 | 336 | c.active = 'visual' |
@@ -379,9 +348,6 b' class AdminSettingsView(BaseAppView):' | |||
|
379 | 348 | @LoginRequired() |
|
380 | 349 | @HasPermissionAllDecorator('hg.admin') |
|
381 | 350 | @CSRFRequired() |
|
382 | @view_config( | |
|
383 | route_name='admin_settings_visual_update', request_method='POST', | |
|
384 | renderer='rhodecode:templates/admin/settings/settings.mako') | |
|
385 | 351 | def settings_visual_update(self): |
|
386 | 352 | _ = self.request.translate |
|
387 | 353 | c = self.load_default_context() |
@@ -441,9 +407,6 b' class AdminSettingsView(BaseAppView):' | |||
|
441 | 407 | |
|
442 | 408 | @LoginRequired() |
|
443 | 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 | 410 | def settings_issuetracker(self): |
|
448 | 411 | c = self.load_default_context() |
|
449 | 412 | c.active = 'issuetracker' |
@@ -470,9 +433,6 b' class AdminSettingsView(BaseAppView):' | |||
|
470 | 433 | @LoginRequired() |
|
471 | 434 | @HasPermissionAllDecorator('hg.admin') |
|
472 | 435 | @CSRFRequired() |
|
473 | @view_config( | |
|
474 | route_name='admin_settings_issuetracker_test', request_method='POST', | |
|
475 | renderer='string', xhr=True) | |
|
476 | 436 | def settings_issuetracker_test(self): |
|
477 | 437 | error_container = [] |
|
478 | 438 | |
@@ -490,9 +450,6 b' class AdminSettingsView(BaseAppView):' | |||
|
490 | 450 | @LoginRequired() |
|
491 | 451 | @HasPermissionAllDecorator('hg.admin') |
|
492 | 452 | @CSRFRequired() |
|
493 | @view_config( | |
|
494 | route_name='admin_settings_issuetracker_update', request_method='POST', | |
|
495 | renderer='rhodecode:templates/admin/settings/settings.mako') | |
|
496 | 453 | def settings_issuetracker_update(self): |
|
497 | 454 | _ = self.request.translate |
|
498 | 455 | self.load_default_context() |
@@ -527,9 +484,6 b' class AdminSettingsView(BaseAppView):' | |||
|
527 | 484 | @LoginRequired() |
|
528 | 485 | @HasPermissionAllDecorator('hg.admin') |
|
529 | 486 | @CSRFRequired() |
|
530 | @view_config( | |
|
531 | route_name='admin_settings_issuetracker_delete', request_method='POST', | |
|
532 | renderer='json_ext', xhr=True) | |
|
533 | 487 | def settings_issuetracker_delete(self): |
|
534 | 488 | _ = self.request.translate |
|
535 | 489 | self.load_default_context() |
@@ -547,9 +501,6 b' class AdminSettingsView(BaseAppView):' | |||
|
547 | 501 | |
|
548 | 502 | @LoginRequired() |
|
549 | 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 | 504 | def settings_email(self): |
|
554 | 505 | c = self.load_default_context() |
|
555 | 506 | c.active = 'email' |
@@ -568,9 +519,6 b' class AdminSettingsView(BaseAppView):' | |||
|
568 | 519 | @LoginRequired() |
|
569 | 520 | @HasPermissionAllDecorator('hg.admin') |
|
570 | 521 | @CSRFRequired() |
|
571 | @view_config( | |
|
572 | route_name='admin_settings_email_update', request_method='POST', | |
|
573 | renderer='rhodecode:templates/admin/settings/settings.mako') | |
|
574 | 522 | def settings_email_update(self): |
|
575 | 523 | _ = self.request.translate |
|
576 | 524 | c = self.load_default_context() |
@@ -600,9 +548,6 b' class AdminSettingsView(BaseAppView):' | |||
|
600 | 548 | |
|
601 | 549 | @LoginRequired() |
|
602 | 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 | 551 | def settings_hooks(self): |
|
607 | 552 | c = self.load_default_context() |
|
608 | 553 | c.active = 'hooks' |
@@ -624,12 +569,6 b' class AdminSettingsView(BaseAppView):' | |||
|
624 | 569 | @LoginRequired() |
|
625 | 570 | @HasPermissionAllDecorator('hg.admin') |
|
626 | 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 | 572 | def settings_hooks_update(self): |
|
634 | 573 | _ = self.request.translate |
|
635 | 574 | c = self.load_default_context() |
@@ -671,9 +610,6 b' class AdminSettingsView(BaseAppView):' | |||
|
671 | 610 | |
|
672 | 611 | @LoginRequired() |
|
673 | 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 | 613 | def settings_search(self): |
|
678 | 614 | c = self.load_default_context() |
|
679 | 615 | c.active = 'search' |
@@ -685,9 +621,6 b' class AdminSettingsView(BaseAppView):' | |||
|
685 | 621 | |
|
686 | 622 | @LoginRequired() |
|
687 | 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 | 624 | def settings_automation(self): |
|
692 | 625 | c = self.load_default_context() |
|
693 | 626 | c.active = 'automation' |
@@ -696,9 +629,6 b' class AdminSettingsView(BaseAppView):' | |||
|
696 | 629 | |
|
697 | 630 | @LoginRequired() |
|
698 | 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 | 632 | def settings_labs(self): |
|
703 | 633 | c = self.load_default_context() |
|
704 | 634 | if not c.labs_active: |
@@ -720,9 +650,6 b' class AdminSettingsView(BaseAppView):' | |||
|
720 | 650 | @LoginRequired() |
|
721 | 651 | @HasPermissionAllDecorator('hg.admin') |
|
722 | 652 | @CSRFRequired() |
|
723 | @view_config( | |
|
724 | route_name='admin_settings_labs_update', request_method='POST', | |
|
725 | renderer='rhodecode:templates/admin/settings/settings.mako') | |
|
726 | 653 | def settings_labs_update(self): |
|
727 | 654 | _ = self.request.translate |
|
728 | 655 | c = self.load_default_context() |
@@ -20,7 +20,7 b'' | |||
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | |
|
25 | 25 | from rhodecode.apps._base import BaseAppView |
|
26 | 26 | from rhodecode.apps.svn_support.utils import generate_mod_dav_svn_config |
@@ -30,14 +30,11 b' from rhodecode.lib.auth import (' | |||
|
30 | 30 | log = logging.getLogger(__name__) |
|
31 | 31 | |
|
32 | 32 | |
|
33 |
class SvnConfig |
|
|
33 | class AdminSvnConfigView(BaseAppView): | |
|
34 | 34 | |
|
35 | 35 | @LoginRequired() |
|
36 | 36 | @HasPermissionAllDecorator('hg.admin') |
|
37 | 37 | @CSRFRequired() |
|
38 | @view_config( | |
|
39 | route_name='admin_settings_vcs_svn_generate_cfg', | |
|
40 | request_method='POST', renderer='json') | |
|
41 | 38 | def vcs_svn_generate_config(self): |
|
42 | 39 | _ = self.request.translate |
|
43 | 40 | try: |
@@ -21,7 +21,7 b'' | |||
|
21 | 21 | import logging |
|
22 | 22 | import urllib2 |
|
23 | 23 | |
|
24 | from pyramid.view import view_config | |
|
24 | ||
|
25 | 25 | |
|
26 | 26 | import rhodecode |
|
27 | 27 | from rhodecode.apps._base import BaseAppView |
@@ -42,9 +42,6 b' class AdminSystemInfoSettingsView(BaseAp' | |||
|
42 | 42 | |
|
43 | 43 | @LoginRequired() |
|
44 | 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 | 45 | def settings_system_info(self): |
|
49 | 46 | _ = self.request.translate |
|
50 | 47 | c = self.load_default_context() |
@@ -169,9 +166,6 b' class AdminSystemInfoSettingsView(BaseAp' | |||
|
169 | 166 | |
|
170 | 167 | @LoginRequired() |
|
171 | 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 | 169 | def settings_system_info_check_update(self): |
|
176 | 170 | _ = self.request.translate |
|
177 | 171 | c = self.load_default_context() |
@@ -24,7 +24,7 b' import formencode' | |||
|
24 | 24 | import formencode.htmlfill |
|
25 | 25 | |
|
26 | 26 | from pyramid.httpexceptions import HTTPFound |
|
27 | from pyramid.view import view_config | |
|
27 | ||
|
28 | 28 | from pyramid.response import Response |
|
29 | 29 | from pyramid.renderers import render |
|
30 | 30 | |
@@ -51,19 +51,14 b' class AdminUserGroupsView(BaseAppView, D' | |||
|
51 | 51 | |
|
52 | 52 | def load_default_context(self): |
|
53 | 53 | c = self._get_local_tmpl_context() |
|
54 | ||
|
55 | 54 | PermissionModel().set_global_permission_choices( |
|
56 | 55 | c, gettext_translator=self.request.translate) |
|
57 | ||
|
58 | 56 | return c |
|
59 | 57 | |
|
60 | 58 | # permission check in data loading of |
|
61 | 59 | # `user_groups_list_data` via UserGroupList |
|
62 | 60 | @LoginRequired() |
|
63 | 61 | @NotAnonymous() |
|
64 | @view_config( | |
|
65 | route_name='user_groups', request_method='GET', | |
|
66 | renderer='rhodecode:templates/admin/user_groups/user_groups.mako') | |
|
67 | 62 | def user_groups_list(self): |
|
68 | 63 | c = self.load_default_context() |
|
69 | 64 | return self._get_template_context(c) |
@@ -71,9 +66,6 b' class AdminUserGroupsView(BaseAppView, D' | |||
|
71 | 66 | # permission check inside |
|
72 | 67 | @LoginRequired() |
|
73 | 68 | @NotAnonymous() |
|
74 | @view_config( | |
|
75 | route_name='user_groups_data', request_method='GET', | |
|
76 | renderer='json_ext', xhr=True) | |
|
77 | 69 | def user_groups_list_data(self): |
|
78 | 70 | self.load_default_context() |
|
79 | 71 | column_map = { |
@@ -197,9 +189,6 b' class AdminUserGroupsView(BaseAppView, D' | |||
|
197 | 189 | |
|
198 | 190 | @LoginRequired() |
|
199 | 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 | 192 | def user_groups_new(self): |
|
204 | 193 | c = self.load_default_context() |
|
205 | 194 | return self._get_template_context(c) |
@@ -207,9 +196,6 b' class AdminUserGroupsView(BaseAppView, D' | |||
|
207 | 196 | @LoginRequired() |
|
208 | 197 | @HasPermissionAnyDecorator('hg.admin', 'hg.usergroup.create.true') |
|
209 | 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 | 199 | def user_groups_create(self): |
|
214 | 200 | _ = self.request.translate |
|
215 | 201 | c = self.load_default_context() |
@@ -24,7 +24,6 b' import formencode' | |||
|
24 | 24 | import formencode.htmlfill |
|
25 | 25 | |
|
26 | 26 | from pyramid.httpexceptions import HTTPFound |
|
27 | from pyramid.view import view_config | |
|
28 | 27 | from pyramid.renderers import render |
|
29 | 28 | from pyramid.response import Response |
|
30 | 29 | |
@@ -72,19 +71,12 b' class AdminUsersView(BaseAppView, DataGr' | |||
|
72 | 71 | |
|
73 | 72 | @LoginRequired() |
|
74 | 73 | @HasPermissionAllDecorator('hg.admin') |
|
75 | @view_config( | |
|
76 | route_name='users', request_method='GET', | |
|
77 | renderer='rhodecode:templates/admin/users/users.mako') | |
|
78 | 74 | def users_list(self): |
|
79 | 75 | c = self.load_default_context() |
|
80 | 76 | return self._get_template_context(c) |
|
81 | 77 | |
|
82 | 78 | @LoginRequired() |
|
83 | 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 | 80 | def users_list_data(self): |
|
89 | 81 | self.load_default_context() |
|
90 | 82 | column_map = { |
@@ -183,9 +175,6 b' class AdminUsersView(BaseAppView, DataGr' | |||
|
183 | 175 | |
|
184 | 176 | @LoginRequired() |
|
185 | 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 | 178 | def users_new(self): |
|
190 | 179 | _ = self.request.translate |
|
191 | 180 | c = self.load_default_context() |
@@ -196,9 +185,6 b' class AdminUsersView(BaseAppView, DataGr' | |||
|
196 | 185 | @LoginRequired() |
|
197 | 186 | @HasPermissionAllDecorator('hg.admin') |
|
198 | 187 | @CSRFRequired() |
|
199 | @view_config( | |
|
200 | route_name='users_create', request_method='POST', | |
|
201 | renderer='rhodecode:templates/admin/users/user_add.mako') | |
|
202 | 188 | def users_create(self): |
|
203 | 189 | _ = self.request.translate |
|
204 | 190 | c = self.load_default_context() |
@@ -309,9 +295,6 b' class UsersView(UserAppView):' | |||
|
309 | 295 | @LoginRequired() |
|
310 | 296 | @HasPermissionAllDecorator('hg.admin') |
|
311 | 297 | @CSRFRequired() |
|
312 | @view_config( | |
|
313 | route_name='user_update', request_method='POST', | |
|
314 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |
|
315 | 298 | def user_update(self): |
|
316 | 299 | _ = self.request.translate |
|
317 | 300 | c = self.load_default_context() |
@@ -371,9 +354,6 b' class UsersView(UserAppView):' | |||
|
371 | 354 | @LoginRequired() |
|
372 | 355 | @HasPermissionAllDecorator('hg.admin') |
|
373 | 356 | @CSRFRequired() |
|
374 | @view_config( | |
|
375 | route_name='user_delete', request_method='POST', | |
|
376 | renderer='rhodecode:templates/admin/users/user_edit.mako') | |
|
377 | 357 | def user_delete(self): |
|
378 | 358 | _ = self.request.translate |
|
379 | 359 | c = self.load_default_context() |
@@ -496,9 +476,6 b' class UsersView(UserAppView):' | |||
|
496 | 476 | |
|
497 | 477 | @LoginRequired() |
|
498 | 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 | 479 | def user_edit(self): |
|
503 | 480 | _ = self.request.translate |
|
504 | 481 | c = self.load_default_context() |
@@ -525,9 +502,6 b' class UsersView(UserAppView):' | |||
|
525 | 502 | |
|
526 | 503 | @LoginRequired() |
|
527 | 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 | 505 | def user_edit_advanced(self): |
|
532 | 506 | _ = self.request.translate |
|
533 | 507 | c = self.load_default_context() |
@@ -584,9 +558,6 b' class UsersView(UserAppView):' | |||
|
584 | 558 | |
|
585 | 559 | @LoginRequired() |
|
586 | 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 | 561 | def user_edit_global_perms(self): |
|
591 | 562 | _ = self.request.translate |
|
592 | 563 | c = self.load_default_context() |
@@ -614,9 +585,6 b' class UsersView(UserAppView):' | |||
|
614 | 585 | @LoginRequired() |
|
615 | 586 | @HasPermissionAllDecorator('hg.admin') |
|
616 | 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 | 588 | def user_edit_global_perms_update(self): |
|
621 | 589 | _ = self.request.translate |
|
622 | 590 | c = self.load_default_context() |
@@ -682,9 +650,6 b' class UsersView(UserAppView):' | |||
|
682 | 650 | @LoginRequired() |
|
683 | 651 | @HasPermissionAllDecorator('hg.admin') |
|
684 | 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 | 653 | def user_enable_force_password_reset(self): |
|
689 | 654 | _ = self.request.translate |
|
690 | 655 | c = self.load_default_context() |
@@ -711,9 +676,6 b' class UsersView(UserAppView):' | |||
|
711 | 676 | @LoginRequired() |
|
712 | 677 | @HasPermissionAllDecorator('hg.admin') |
|
713 | 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 | 679 | def user_disable_force_password_reset(self): |
|
718 | 680 | _ = self.request.translate |
|
719 | 681 | c = self.load_default_context() |
@@ -741,9 +703,6 b' class UsersView(UserAppView):' | |||
|
741 | 703 | @LoginRequired() |
|
742 | 704 | @HasPermissionAllDecorator('hg.admin') |
|
743 | 705 | @CSRFRequired() |
|
744 | @view_config( | |
|
745 | route_name='user_notice_dismiss', request_method='POST', | |
|
746 | renderer='json_ext', xhr=True) | |
|
747 | 706 | def user_notice_dismiss(self): |
|
748 | 707 | _ = self.request.translate |
|
749 | 708 | c = self.load_default_context() |
@@ -767,9 +726,6 b' class UsersView(UserAppView):' | |||
|
767 | 726 | @LoginRequired() |
|
768 | 727 | @HasPermissionAllDecorator('hg.admin') |
|
769 | 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 | 729 | def user_create_personal_repo_group(self): |
|
774 | 730 | """ |
|
775 | 731 | Create personal repository group for this user |
@@ -821,9 +777,6 b' class UsersView(UserAppView):' | |||
|
821 | 777 | |
|
822 | 778 | @LoginRequired() |
|
823 | 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 | 780 | def auth_tokens(self): |
|
828 | 781 | _ = self.request.translate |
|
829 | 782 | c = self.load_default_context() |
@@ -843,9 +796,6 b' class UsersView(UserAppView):' | |||
|
843 | 796 | |
|
844 | 797 | @LoginRequired() |
|
845 | 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 | 799 | def auth_tokens_view(self): |
|
850 | 800 | _ = self.request.translate |
|
851 | 801 | c = self.load_default_context() |
@@ -867,8 +817,6 b' class UsersView(UserAppView):' | |||
|
867 | 817 | @LoginRequired() |
|
868 | 818 | @HasPermissionAllDecorator('hg.admin') |
|
869 | 819 | @CSRFRequired() |
|
870 | @view_config( | |
|
871 | route_name='edit_user_auth_tokens_add', request_method='POST') | |
|
872 | 820 | def auth_tokens_add(self): |
|
873 | 821 | _ = self.request.translate |
|
874 | 822 | c = self.load_default_context() |
@@ -899,8 +847,6 b' class UsersView(UserAppView):' | |||
|
899 | 847 | @LoginRequired() |
|
900 | 848 | @HasPermissionAllDecorator('hg.admin') |
|
901 | 849 | @CSRFRequired() |
|
902 | @view_config( | |
|
903 | route_name='edit_user_auth_tokens_delete', request_method='POST') | |
|
904 | 850 | def auth_tokens_delete(self): |
|
905 | 851 | _ = self.request.translate |
|
906 | 852 | c = self.load_default_context() |
@@ -928,9 +874,6 b' class UsersView(UserAppView):' | |||
|
928 | 874 | |
|
929 | 875 | @LoginRequired() |
|
930 | 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 | 877 | def ssh_keys(self): |
|
935 | 878 | _ = self.request.translate |
|
936 | 879 | c = self.load_default_context() |
@@ -943,9 +886,6 b' class UsersView(UserAppView):' | |||
|
943 | 886 | |
|
944 | 887 | @LoginRequired() |
|
945 | 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 | 889 | def ssh_keys_generate_keypair(self): |
|
950 | 890 | _ = self.request.translate |
|
951 | 891 | c = self.load_default_context() |
@@ -964,8 +904,6 b' class UsersView(UserAppView):' | |||
|
964 | 904 | @LoginRequired() |
|
965 | 905 | @HasPermissionAllDecorator('hg.admin') |
|
966 | 906 | @CSRFRequired() |
|
967 | @view_config( | |
|
968 | route_name='edit_user_ssh_keys_add', request_method='POST') | |
|
969 | 907 | def ssh_keys_add(self): |
|
970 | 908 | _ = self.request.translate |
|
971 | 909 | c = self.load_default_context() |
@@ -1017,8 +955,6 b' class UsersView(UserAppView):' | |||
|
1017 | 955 | @LoginRequired() |
|
1018 | 956 | @HasPermissionAllDecorator('hg.admin') |
|
1019 | 957 | @CSRFRequired() |
|
1020 | @view_config( | |
|
1021 | route_name='edit_user_ssh_keys_delete', request_method='POST') | |
|
1022 | 958 | def ssh_keys_delete(self): |
|
1023 | 959 | _ = self.request.translate |
|
1024 | 960 | c = self.load_default_context() |
@@ -1048,9 +984,6 b' class UsersView(UserAppView):' | |||
|
1048 | 984 | |
|
1049 | 985 | @LoginRequired() |
|
1050 | 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 | 987 | def emails(self): |
|
1055 | 988 | _ = self.request.translate |
|
1056 | 989 | c = self.load_default_context() |
@@ -1065,8 +998,6 b' class UsersView(UserAppView):' | |||
|
1065 | 998 | @LoginRequired() |
|
1066 | 999 | @HasPermissionAllDecorator('hg.admin') |
|
1067 | 1000 | @CSRFRequired() |
|
1068 | @view_config( | |
|
1069 | route_name='edit_user_emails_add', request_method='POST') | |
|
1070 | 1001 | def emails_add(self): |
|
1071 | 1002 | _ = self.request.translate |
|
1072 | 1003 | c = self.load_default_context() |
@@ -1105,8 +1036,6 b' class UsersView(UserAppView):' | |||
|
1105 | 1036 | @LoginRequired() |
|
1106 | 1037 | @HasPermissionAllDecorator('hg.admin') |
|
1107 | 1038 | @CSRFRequired() |
|
1108 | @view_config( | |
|
1109 | route_name='edit_user_emails_delete', request_method='POST') | |
|
1110 | 1039 | def emails_delete(self): |
|
1111 | 1040 | _ = self.request.translate |
|
1112 | 1041 | c = self.load_default_context() |
@@ -1131,9 +1060,6 b' class UsersView(UserAppView):' | |||
|
1131 | 1060 | |
|
1132 | 1061 | @LoginRequired() |
|
1133 | 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 | 1063 | def ips(self): |
|
1138 | 1064 | _ = self.request.translate |
|
1139 | 1065 | c = self.load_default_context() |
@@ -1152,8 +1078,6 b' class UsersView(UserAppView):' | |||
|
1152 | 1078 | @LoginRequired() |
|
1153 | 1079 | @HasPermissionAllDecorator('hg.admin') |
|
1154 | 1080 | @CSRFRequired() |
|
1155 | @view_config( | |
|
1156 | route_name='edit_user_ips_add', request_method='POST') | |
|
1157 | 1081 | # NOTE(marcink): this view is allowed for default users, as we can |
|
1158 | 1082 | # edit their IP white list |
|
1159 | 1083 | def ips_add(self): |
@@ -1207,8 +1131,6 b' class UsersView(UserAppView):' | |||
|
1207 | 1131 | @LoginRequired() |
|
1208 | 1132 | @HasPermissionAllDecorator('hg.admin') |
|
1209 | 1133 | @CSRFRequired() |
|
1210 | @view_config( | |
|
1211 | route_name='edit_user_ips_delete', request_method='POST') | |
|
1212 | 1134 | # NOTE(marcink): this view is allowed for default users, as we can |
|
1213 | 1135 | # edit their IP white list |
|
1214 | 1136 | def ips_delete(self): |
@@ -1236,9 +1158,6 b' class UsersView(UserAppView):' | |||
|
1236 | 1158 | |
|
1237 | 1159 | @LoginRequired() |
|
1238 | 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 | 1161 | def groups_management(self): |
|
1243 | 1162 | c = self.load_default_context() |
|
1244 | 1163 | c.user = self.db_user |
@@ -1254,8 +1173,6 b' class UsersView(UserAppView):' | |||
|
1254 | 1173 | @LoginRequired() |
|
1255 | 1174 | @HasPermissionAllDecorator('hg.admin') |
|
1256 | 1175 | @CSRFRequired() |
|
1257 | @view_config( | |
|
1258 | route_name='edit_user_groups_management_updates', request_method='POST') | |
|
1259 | 1176 | def groups_management_updates(self): |
|
1260 | 1177 | _ = self.request.translate |
|
1261 | 1178 | c = self.load_default_context() |
@@ -1299,9 +1216,6 b' class UsersView(UserAppView):' | |||
|
1299 | 1216 | |
|
1300 | 1217 | @LoginRequired() |
|
1301 | 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 | 1219 | def user_audit_logs(self): |
|
1306 | 1220 | _ = self.request.translate |
|
1307 | 1221 | c = self.load_default_context() |
@@ -1329,9 +1243,6 b' class UsersView(UserAppView):' | |||
|
1329 | 1243 | |
|
1330 | 1244 | @LoginRequired() |
|
1331 | 1245 | @HasPermissionAllDecorator('hg.admin') |
|
1332 | @view_config( | |
|
1333 | route_name='edit_user_audit_logs_download', request_method='GET', | |
|
1334 | renderer='string') | |
|
1335 | 1246 | def user_audit_logs_download(self): |
|
1336 | 1247 | _ = self.request.translate |
|
1337 | 1248 | c = self.load_default_context() |
@@ -1352,9 +1263,6 b' class UsersView(UserAppView):' | |||
|
1352 | 1263 | |
|
1353 | 1264 | @LoginRequired() |
|
1354 | 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 | 1266 | def user_perms_summary(self): |
|
1359 | 1267 | _ = self.request.translate |
|
1360 | 1268 | c = self.load_default_context() |
@@ -1367,9 +1275,6 b' class UsersView(UserAppView):' | |||
|
1367 | 1275 | |
|
1368 | 1276 | @LoginRequired() |
|
1369 | 1277 | @HasPermissionAllDecorator('hg.admin') |
|
1370 | @view_config( | |
|
1371 | route_name='edit_user_perms_summary_json', request_method='GET', | |
|
1372 | renderer='json_ext') | |
|
1373 | 1278 | def user_perms_summary_json(self): |
|
1374 | 1279 | self.load_default_context() |
|
1375 | 1280 | perm_user = self.db_user.AuthUser(ip_addr=self.request.remote_addr) |
@@ -1378,9 +1283,6 b' class UsersView(UserAppView):' | |||
|
1378 | 1283 | |
|
1379 | 1284 | @LoginRequired() |
|
1380 | 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 | 1286 | def user_caches(self): |
|
1385 | 1287 | _ = self.request.translate |
|
1386 | 1288 | c = self.load_default_context() |
@@ -1399,8 +1301,6 b' class UsersView(UserAppView):' | |||
|
1399 | 1301 | @LoginRequired() |
|
1400 | 1302 | @HasPermissionAllDecorator('hg.admin') |
|
1401 | 1303 | @CSRFRequired() |
|
1402 | @view_config( | |
|
1403 | route_name='edit_user_caches_update', request_method='POST') | |
|
1404 | 1304 | def user_caches_update(self): |
|
1405 | 1305 | _ = self.request.translate |
|
1406 | 1306 | c = self.load_default_context() |
@@ -67,6 +67,8 b' def maybe_create_history_store(event):' | |||
|
67 | 67 | |
|
68 | 68 | |
|
69 | 69 | def includeme(config): |
|
70 | from rhodecode.apps.channelstream.views import ChannelstreamView | |
|
71 | ||
|
70 | 72 | settings = config.registry.settings |
|
71 | 73 | PLUGIN_DEFINITION['config']['enabled'] = asbool( |
|
72 | 74 | settings.get('channelstream.enabled')) |
@@ -85,12 +87,20 b' def includeme(config):' | |||
|
85 | 87 | config.add_route( |
|
86 | 88 | name='channelstream_connect', |
|
87 | 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 | 95 | config.add_route( |
|
89 | 96 | name='channelstream_subscribe', |
|
90 | 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 | 103 | config.add_route( |
|
92 | 104 | name='channelstream_proxy', |
|
93 | 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 | 21 | import logging |
|
22 | 22 | import uuid |
|
23 | 23 | |
|
24 | from pyramid.view import view_config | |
|
24 | ||
|
25 | 25 | from pyramid.httpexceptions import HTTPBadRequest, HTTPForbidden, HTTPBadGateway |
|
26 | 26 | |
|
27 | 27 | from rhodecode.apps._base import BaseAppView |
@@ -54,8 +54,7 b' class ChannelstreamView(BaseAppView):' | |||
|
54 | 54 | return c |
|
55 | 55 | |
|
56 | 56 | @NotAnonymous() |
|
57 | @view_config(route_name='channelstream_connect', renderer='json_ext') | |
|
58 | def connect(self): | |
|
57 | def channelstream_connect(self): | |
|
59 | 58 | """ handle authorization of users trying to connect """ |
|
60 | 59 | |
|
61 | 60 | self.load_default_context() |
@@ -132,8 +131,7 b' class ChannelstreamView(BaseAppView):' | |||
|
132 | 131 | return connect_result |
|
133 | 132 | |
|
134 | 133 | @NotAnonymous() |
|
135 | @view_config(route_name='channelstream_subscribe', renderer='json_ext') | |
|
136 | def subscribe(self): | |
|
134 | def channelstream_subscribe(self): | |
|
137 | 135 | """ can be used to subscribe specific connection to other channels """ |
|
138 | 136 | self.load_default_context() |
|
139 | 137 | try: |
@@ -35,6 +35,8 b' class DebugStylePredicate(object):' | |||
|
35 | 35 | |
|
36 | 36 | |
|
37 | 37 | def includeme(config): |
|
38 | from rhodecode.apps.debug_style.views import DebugStyleView | |
|
39 | ||
|
38 | 40 | config.add_route_predicate( |
|
39 | 41 | 'debug_style', DebugStylePredicate) |
|
40 | 42 | |
@@ -42,18 +44,38 b' def includeme(config):' | |||
|
42 | 44 | name='debug_style_home', |
|
43 | 45 | pattern=ADMIN_PREFIX + '/debug_style', |
|
44 | 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 | 53 | config.add_route( |
|
46 | 54 | name='debug_style_email', |
|
47 | 55 | pattern=ADMIN_PREFIX + '/debug_style/email/{email_id}', |
|
48 | 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 | 63 | config.add_route( |
|
50 | 64 | name='debug_style_email_plain_rendered', |
|
51 | 65 | pattern=ADMIN_PREFIX + '/debug_style/email-rendered/{email_id}', |
|
52 | 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 | 73 | config.add_route( |
|
54 | 74 | name='debug_style_template', |
|
55 | 75 | pattern=ADMIN_PREFIX + '/debug_style/t/{t_path}', |
|
56 | 76 | debug_style=True) |
|
57 | ||
|
58 | # Scan module for configuration decorators. | |
|
59 | config.scan('.views', ignore='.tests') | |
|
77 | config.add_view( | |
|
78 | DebugStyleView, | |
|
79 | attr='template', | |
|
80 | route_name='debug_style_template', request_method='GET', | |
|
81 | renderer=None) |
@@ -22,7 +22,6 b' import os' | |||
|
22 | 22 | import logging |
|
23 | 23 | import datetime |
|
24 | 24 | |
|
25 | from pyramid.view import view_config | |
|
26 | 25 | from pyramid.renderers import render_to_response |
|
27 | 26 | from rhodecode.apps._base import BaseAppView |
|
28 | 27 | from rhodecode.lib.celerylib import run_task, tasks |
@@ -37,12 +36,8 b' class DebugStyleView(BaseAppView):' | |||
|
37 | 36 | |
|
38 | 37 | def load_default_context(self): |
|
39 | 38 | c = self._get_local_tmpl_context() |
|
40 | ||
|
41 | 39 | return c |
|
42 | 40 | |
|
43 | @view_config( | |
|
44 | route_name='debug_style_home', request_method='GET', | |
|
45 | renderer=None) | |
|
46 | 41 | def index(self): |
|
47 | 42 | c = self.load_default_context() |
|
48 | 43 | c.active = 'index' |
@@ -51,12 +46,6 b' class DebugStyleView(BaseAppView):' | |||
|
51 | 46 | 'debug_style/index.html', self._get_template_context(c), |
|
52 | 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 | 49 | def render_email(self): |
|
61 | 50 | c = self.load_default_context() |
|
62 | 51 | email_id = self.request.matchdict['email_id'] |
@@ -457,9 +446,6 b' users: description edit fixes' | |||
|
457 | 446 | template, self._get_template_context(c), |
|
458 | 447 | request=self.request) |
|
459 | 448 | |
|
460 | @view_config( | |
|
461 | route_name='debug_style_template', request_method='GET', | |
|
462 | renderer=None) | |
|
463 | 449 | def template(self): |
|
464 | 450 | t_path = self.request.matchdict['t_path'] |
|
465 | 451 | c = self.load_default_context() |
@@ -483,4 +469,3 b' users: description edit fixes' | |||
|
483 | 469 | return render_to_response( |
|
484 | 470 | 'debug_style/' + t_path, self._get_template_context(c), |
|
485 | 471 | request=self.request) |
|
486 |
@@ -35,18 +35,31 b' def _sanitize_settings_and_apply_default' | |||
|
35 | 35 | |
|
36 | 36 | |
|
37 | 37 | def includeme(config): |
|
38 | from rhodecode.apps.file_store.views import FileStoreView | |
|
39 | ||
|
38 | 40 | settings = config.registry.settings |
|
39 | 41 | _sanitize_settings_and_apply_defaults(settings) |
|
40 | 42 | |
|
41 | 43 | config.add_route( |
|
42 | 44 | name='upload_file', |
|
43 | 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 | 51 | config.add_route( |
|
45 | 52 | name='download_file', |
|
46 | 53 | pattern='/_file_store/download/{fid:.*}') |
|
54 | config.add_view( | |
|
55 | FileStoreView, | |
|
56 | attr='download_file', | |
|
57 | route_name='download_file') | |
|
58 | ||
|
47 | 59 | config.add_route( |
|
48 | 60 | name='download_file_by_token', |
|
49 | 61 | pattern='/_file_store/token-download/{_auth_token}/{fid:.*}') |
|
50 | ||
|
51 | # Scan module for configuration decorators. | |
|
52 | config.scan('.views', ignore='.tests') | |
|
62 | config.add_view( | |
|
63 | FileStoreView, | |
|
64 | attr='download_file_by_token', | |
|
65 | route_name='download_file_by_token') |
@@ -21,7 +21,6 b'' | |||
|
21 | 21 | import os |
|
22 | 22 | import time |
|
23 | 23 | import errno |
|
24 | import shutil | |
|
25 | 24 | import hashlib |
|
26 | 25 | |
|
27 | 26 | from rhodecode.lib.ext_json import json |
@@ -212,10 +211,19 b' class LocalFileStorage(object):' | |||
|
212 | 211 | filename, path = self.resolve_name(uid_filename, dest_directory) |
|
213 | 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 | 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 | 228 | metadata = {} |
|
221 | 229 | if extra_metadata: |
@@ -19,7 +19,7 b'' | |||
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 20 | import logging |
|
21 | 21 | |
|
22 | from pyramid.view import view_config | |
|
22 | ||
|
23 | 23 | from pyramid.response import FileResponse |
|
24 | 24 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
25 | 25 | |
@@ -57,7 +57,6 b' class FileStoreView(BaseAppView):' | |||
|
57 | 57 | return _content_type, _encoding |
|
58 | 58 | |
|
59 | 59 | def _serve_file(self, file_uid): |
|
60 | ||
|
61 | 60 | if not self.storage.exists(file_uid): |
|
62 | 61 | store_path = self.storage.store_path(file_uid) |
|
63 | 62 | log.debug('File with FID:%s not found in the store under `%s`', |
@@ -112,13 +111,23 b' class FileStoreView(BaseAppView):' | |||
|
112 | 111 | # For file store we don't submit any session data, this logic tells the |
|
113 | 112 | # Session lib to skip it |
|
114 | 113 | setattr(self.request, '_file_response', True) |
|
115 | return FileResponse(file_path, request=self.request, | |
|
116 | content_type=content_type, content_encoding=content_encoding) | |
|
114 | response = FileResponse( | |
|
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 | 128 | @LoginRequired() |
|
119 | 129 | @NotAnonymous() |
|
120 | 130 | @CSRFRequired() |
|
121 | @view_config(route_name='upload_file', request_method='POST', renderer='json_ext') | |
|
122 | 131 | def upload_file(self): |
|
123 | 132 | self.load_default_context() |
|
124 | 133 | file_obj = self.request.POST.get(self.upload_key) |
@@ -172,7 +181,6 b' class FileStoreView(BaseAppView):' | |||
|
172 | 181 | 'access_path': h.route_path('download_file', fid=store_uid)} |
|
173 | 182 | |
|
174 | 183 | # ACL is checked by scopes, if no scope the file is accessible to all |
|
175 | @view_config(route_name='download_file') | |
|
176 | 184 | def download_file(self): |
|
177 | 185 | self.load_default_context() |
|
178 | 186 | file_uid = self.request.matchdict['fid'] |
@@ -182,7 +190,6 b' class FileStoreView(BaseAppView):' | |||
|
182 | 190 | # in addition to @LoginRequired ACL is checked by scopes |
|
183 | 191 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_ARTIFACT_DOWNLOAD]) |
|
184 | 192 | @NotAnonymous() |
|
185 | @view_config(route_name='download_file_by_token') | |
|
186 | 193 | def download_file_by_token(self): |
|
187 | 194 | """ |
|
188 | 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 | 23 | def admin_routes(config): |
|
24 | from rhodecode.apps.gist.views import GistView | |
|
25 | ||
|
24 | 26 | config.add_route( |
|
25 | 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 | 34 | config.add_route( |
|
27 | 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 | 42 | config.add_route( |
|
29 | 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 | 50 | config.add_route( |
|
32 | 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 | 86 | config.add_route( |
|
35 | 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 | 93 | config.add_route( |
|
38 | 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 | 109 | config.add_route( |
|
41 | 110 | name='gist_edit_check_revision', |
|
42 | 111 | pattern='/gists/{gist_id}/edit/check_revision') |
|
43 | ||
|
44 | config.add_route( | |
|
45 | name='gist_update', pattern='/gists/{gist_id}/update') | |
|
46 | ||
|
47 | config.add_route( | |
|
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:.*}') | |
|
112 | config.add_view( | |
|
113 | GistView, | |
|
114 | attr='gist_edit_check_revision', | |
|
115 | route_name='gist_edit_check_revision', request_method='GET', | |
|
116 | renderer='json_ext') | |
|
57 | 117 | |
|
58 | 118 | |
|
59 | 119 | def includeme(config): |
|
60 | 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 | 43 | 'gist_edit': ADMIN_PREFIX + '/gists/{gist_id}/edit', |
|
44 | 44 | 'gist_edit_check_revision': ADMIN_PREFIX + '/gists/{gist_id}/edit/check_revision', |
|
45 | 45 | 'gist_update': ADMIN_PREFIX + '/gists/{gist_id}/update', |
|
46 | 'gist_show_rev': ADMIN_PREFIX + '/gists/{gist_id}/{revision}', | |
|
47 | 'gist_show_formatted': ADMIN_PREFIX + '/gists/{gist_id}/{revision}/{format}', | |
|
48 | 'gist_show_formatted_path': ADMIN_PREFIX + '/gists/{gist_id}/{revision}/{format}/{f_path}', | |
|
46 | 'gist_show_rev': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}', | |
|
47 | 'gist_show_formatted': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}/{format}', | |
|
48 | 'gist_show_formatted_path': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}/{format}/{f_path}', | |
|
49 | 49 | |
|
50 | 50 | }[name].format(**kwargs) |
|
51 | 51 |
@@ -26,7 +26,6 b' import formencode.htmlfill' | |||
|
26 | 26 | import peppercorn |
|
27 | 27 | |
|
28 | 28 | from pyramid.httpexceptions import HTTPNotFound, HTTPFound, HTTPBadRequest |
|
29 | from pyramid.view import view_config | |
|
30 | 29 | from pyramid.renderers import render |
|
31 | 30 | from pyramid.response import Response |
|
32 | 31 | |
@@ -70,9 +69,6 b' class GistView(BaseAppView):' | |||
|
70 | 69 | return c |
|
71 | 70 | |
|
72 | 71 | @LoginRequired() |
|
73 | @view_config( | |
|
74 | route_name='gists_show', request_method='GET', | |
|
75 | renderer='rhodecode:templates/admin/gists/gist_index.mako') | |
|
76 | 72 | def gist_show_all(self): |
|
77 | 73 | c = self.load_default_context() |
|
78 | 74 | |
@@ -134,9 +130,6 b' class GistView(BaseAppView):' | |||
|
134 | 130 | |
|
135 | 131 | @LoginRequired() |
|
136 | 132 | @NotAnonymous() |
|
137 | @view_config( | |
|
138 | route_name='gists_new', request_method='GET', | |
|
139 | renderer='rhodecode:templates/admin/gists/gist_new.mako') | |
|
140 | 133 | def gist_new(self): |
|
141 | 134 | c = self.load_default_context() |
|
142 | 135 | return self._get_template_context(c) |
@@ -144,9 +137,6 b' class GistView(BaseAppView):' | |||
|
144 | 137 | @LoginRequired() |
|
145 | 138 | @NotAnonymous() |
|
146 | 139 | @CSRFRequired() |
|
147 | @view_config( | |
|
148 | route_name='gists_create', request_method='POST', | |
|
149 | renderer='rhodecode:templates/admin/gists/gist_new.mako') | |
|
150 | 140 | def gist_create(self): |
|
151 | 141 | _ = self.request.translate |
|
152 | 142 | c = self.load_default_context() |
@@ -222,8 +212,6 b' class GistView(BaseAppView):' | |||
|
222 | 212 | @LoginRequired() |
|
223 | 213 | @NotAnonymous() |
|
224 | 214 | @CSRFRequired() |
|
225 | @view_config( | |
|
226 | route_name='gist_delete', request_method='POST') | |
|
227 | 215 | def gist_delete(self): |
|
228 | 216 | _ = self.request.translate |
|
229 | 217 | gist_id = self.request.matchdict['gist_id'] |
@@ -263,18 +251,6 b' class GistView(BaseAppView):' | |||
|
263 | 251 | return gist |
|
264 | 252 | |
|
265 | 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 | 254 | def gist_show(self): |
|
279 | 255 | gist_id = self.request.matchdict['gist_id'] |
|
280 | 256 | |
@@ -307,9 +283,6 b' class GistView(BaseAppView):' | |||
|
307 | 283 | |
|
308 | 284 | @LoginRequired() |
|
309 | 285 | @NotAnonymous() |
|
310 | @view_config( | |
|
311 | route_name='gist_edit', request_method='GET', | |
|
312 | renderer='rhodecode:templates/admin/gists/gist_edit.mako') | |
|
313 | 286 | def gist_edit(self): |
|
314 | 287 | _ = self.request.translate |
|
315 | 288 | gist_id = self.request.matchdict['gist_id'] |
@@ -341,9 +314,6 b' class GistView(BaseAppView):' | |||
|
341 | 314 | @LoginRequired() |
|
342 | 315 | @NotAnonymous() |
|
343 | 316 | @CSRFRequired() |
|
344 | @view_config( | |
|
345 | route_name='gist_update', request_method='POST', | |
|
346 | renderer='rhodecode:templates/admin/gists/gist_edit.mako') | |
|
347 | 317 | def gist_update(self): |
|
348 | 318 | _ = self.request.translate |
|
349 | 319 | gist_id = self.request.matchdict['gist_id'] |
@@ -397,9 +367,6 b' class GistView(BaseAppView):' | |||
|
397 | 367 | |
|
398 | 368 | @LoginRequired() |
|
399 | 369 | @NotAnonymous() |
|
400 | @view_config( | |
|
401 | route_name='gist_edit_check_revision', request_method='GET', | |
|
402 | renderer='json_ext') | |
|
403 | 370 | def gist_edit_check_revision(self): |
|
404 | 371 | _ = self.request.translate |
|
405 | 372 | gist_id = self.request.matchdict['gist_id'] |
@@ -38,56 +38,110 b' class VCSCallPredicate(object):' | |||
|
38 | 38 | |
|
39 | 39 | |
|
40 | 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 | 46 | config.add_route( |
|
43 | 47 | name='home', |
|
44 | 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 | 55 | config.add_route( |
|
47 | 56 | name='main_page_repos_data', |
|
48 | 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 | 64 | config.add_route( |
|
51 | 65 | name='main_page_repo_groups_data', |
|
52 | 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 | 73 | config.add_route( |
|
55 | 74 | name='user_autocomplete_data', |
|
56 | 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 | 82 | config.add_route( |
|
59 | 83 | name='user_group_autocomplete_data', |
|
60 | 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 | 91 | config.add_route( |
|
63 | 92 | name='repo_list_data', |
|
64 | 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 | 100 | config.add_route( |
|
67 | 101 | name='repo_group_list_data', |
|
68 | 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 | 109 | config.add_route( |
|
71 | 110 | name='goto_switcher_data', |
|
72 | 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 | 118 | config.add_route( |
|
75 | 119 | name='markup_preview', |
|
76 | 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 | 127 | config.add_route( |
|
79 | 128 | name='file_preview', |
|
80 | 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 | 136 | config.add_route( |
|
83 | 137 | name='store_user_session_value', |
|
84 | 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 | 145 | # register our static links via redirection mechanism |
|
87 | 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 | 23 | import collections |
|
24 | 24 | |
|
25 | 25 | from pyramid.httpexceptions import HTTPNotFound |
|
26 | from pyramid.view import view_config | |
|
27 | 26 | |
|
28 | 27 | from rhodecode.apps._base import BaseAppView, DataGridAppView |
|
29 | 28 | from rhodecode.lib import helpers as h |
@@ -50,13 +49,9 b' class HomeView(BaseAppView, DataGridAppV' | |||
|
50 | 49 | def load_default_context(self): |
|
51 | 50 | c = self._get_local_tmpl_context() |
|
52 | 51 | c.user = c.auth_user.get_instance() |
|
53 | ||
|
54 | 52 | return c |
|
55 | 53 | |
|
56 | 54 | @LoginRequired() |
|
57 | @view_config( | |
|
58 | route_name='user_autocomplete_data', request_method='GET', | |
|
59 | renderer='json_ext', xhr=True) | |
|
60 | 55 | def user_autocomplete_data(self): |
|
61 | 56 | self.load_default_context() |
|
62 | 57 | query = self.request.GET.get('query') |
@@ -88,9 +83,6 b' class HomeView(BaseAppView, DataGridAppV' | |||
|
88 | 83 | |
|
89 | 84 | @LoginRequired() |
|
90 | 85 | @NotAnonymous() |
|
91 | @view_config( | |
|
92 | route_name='user_group_autocomplete_data', request_method='GET', | |
|
93 | renderer='json_ext', xhr=True) | |
|
94 | 86 | def user_group_autocomplete_data(self): |
|
95 | 87 | self.load_default_context() |
|
96 | 88 | query = self.request.GET.get('query') |
@@ -434,9 +426,6 b' class HomeView(BaseAppView, DataGridAppV' | |||
|
434 | 426 | return files, True |
|
435 | 427 | |
|
436 | 428 | @LoginRequired() |
|
437 | @view_config( | |
|
438 | route_name='repo_list_data', request_method='GET', | |
|
439 | renderer='json_ext', xhr=True) | |
|
440 | 429 | def repo_list_data(self): |
|
441 | 430 | _ = self.request.translate |
|
442 | 431 | self.load_default_context() |
@@ -461,9 +450,6 b' class HomeView(BaseAppView, DataGridAppV' | |||
|
461 | 450 | return data |
|
462 | 451 | |
|
463 | 452 | @LoginRequired() |
|
464 | @view_config( | |
|
465 | route_name='repo_group_list_data', request_method='GET', | |
|
466 | renderer='json_ext', xhr=True) | |
|
467 | 453 | def repo_group_list_data(self): |
|
468 | 454 | _ = self.request.translate |
|
469 | 455 | self.load_default_context() |
@@ -619,9 +605,6 b' class HomeView(BaseAppView, DataGridAppV' | |||
|
619 | 605 | return queries |
|
620 | 606 | |
|
621 | 607 | @LoginRequired() |
|
622 | @view_config( | |
|
623 | route_name='goto_switcher_data', request_method='GET', | |
|
624 | renderer='json_ext', xhr=True) | |
|
625 | 608 | def goto_switcher_data(self): |
|
626 | 609 | c = self.load_default_context() |
|
627 | 610 | |
@@ -750,9 +733,6 b' class HomeView(BaseAppView, DataGridAppV' | |||
|
750 | 733 | return {'suggestions': res} |
|
751 | 734 | |
|
752 | 735 | @LoginRequired() |
|
753 | @view_config( | |
|
754 | route_name='home', request_method='GET', | |
|
755 | renderer='rhodecode:templates/index.mako') | |
|
756 | 736 | def main_page(self): |
|
757 | 737 | c = self.load_default_context() |
|
758 | 738 | c.repo_group = None |
@@ -789,9 +769,6 b' class HomeView(BaseAppView, DataGridAppV' | |||
|
789 | 769 | self._rhodecode_user, repo_group_id) |
|
790 | 770 | |
|
791 | 771 | @LoginRequired() |
|
792 | @view_config( | |
|
793 | route_name='main_page_repo_groups_data', | |
|
794 | request_method='GET', renderer='json_ext', xhr=True) | |
|
795 | 772 | def main_page_repo_groups_data(self): |
|
796 | 773 | self.load_default_context() |
|
797 | 774 | repo_group_id = safe_int(self.request.GET.get('repo_group_id')) |
@@ -806,9 +783,6 b' class HomeView(BaseAppView, DataGridAppV' | |||
|
806 | 783 | return self._main_page_repo_groups_data(repo_group_id) |
|
807 | 784 | |
|
808 | 785 | @LoginRequired() |
|
809 | @view_config( | |
|
810 | route_name='main_page_repos_data', | |
|
811 | request_method='GET', renderer='json_ext', xhr=True) | |
|
812 | 786 | def main_page_repos_data(self): |
|
813 | 787 | self.load_default_context() |
|
814 | 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 | 799 | @LoginRequired() |
|
826 | 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 | 801 | def repo_group_main_page(self): |
|
834 | 802 | c = self.load_default_context() |
|
835 | 803 | c.repo_group = self.request.db_repo_group |
@@ -837,9 +805,6 b' class HomeView(BaseAppView, DataGridAppV' | |||
|
837 | 805 | |
|
838 | 806 | @LoginRequired() |
|
839 | 807 | @CSRFRequired() |
|
840 | @view_config( | |
|
841 | route_name='markup_preview', request_method='POST', | |
|
842 | renderer='string', xhr=True) | |
|
843 | 808 | def markup_preview(self): |
|
844 | 809 | # Technically a CSRF token is not needed as no state changes with this |
|
845 | 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 | 821 | @LoginRequired() |
|
857 | 822 | @CSRFRequired() |
|
858 | @view_config( | |
|
859 | route_name='file_preview', request_method='POST', | |
|
860 | renderer='string', xhr=True) | |
|
861 | 823 | def file_preview(self): |
|
862 | 824 | # Technically a CSRF token is not needed as no state changes with this |
|
863 | 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 | 846 | @LoginRequired() |
|
885 | 847 | @CSRFRequired() |
|
886 | @view_config( | |
|
887 | route_name='store_user_session_value', request_method='POST', | |
|
888 | renderer='string', xhr=True) | |
|
889 | 848 | def store_user_session_attr(self): |
|
890 | 849 | key = self.request.POST.get('key') |
|
891 | 850 | val = self.request.POST.get('val') |
@@ -20,26 +20,48 b'' | |||
|
20 | 20 | |
|
21 | 21 | |
|
22 | 22 | def includeme(config): |
|
23 | ||
|
23 | from rhodecode.apps.hovercards.views import HoverCardsView, HoverCardsRepoView | |
|
24 | 24 | config.add_route( |
|
25 | 25 | name='hovercard_user', |
|
26 | 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 | 33 | config.add_route( |
|
29 | 34 | name='hovercard_username', |
|
30 | 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 | 42 | config.add_route( |
|
33 | 43 | name='hovercard_user_group', |
|
34 | 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 | 51 | config.add_route( |
|
37 | 52 | name='hovercard_pull_request', |
|
38 | 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 | 60 | config.add_route( |
|
41 | 61 | name='hovercard_repo_commit', |
|
42 | 62 | pattern='/_hovercard/commit/{repo_name:.*?[^/]}/{commit_id}', repo_route=True) |
|
43 | ||
|
44 | # Scan module for configuration decorators. | |
|
45 | config.scan('.views', ignore='.tests') | |
|
63 | config.add_view( | |
|
64 | HoverCardsRepoView, | |
|
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 | 23 | import collections |
|
24 | 24 | |
|
25 | 25 | from pyramid.httpexceptions import HTTPNotFound |
|
26 | from pyramid.view import view_config | |
|
26 | ||
|
27 | 27 | |
|
28 | 28 | from rhodecode.apps._base import BaseAppView, RepoAppView |
|
29 | 29 | from rhodecode.lib import helpers as h |
@@ -54,9 +54,6 b' class HoverCardsView(BaseAppView):' | |||
|
54 | 54 | return c |
|
55 | 55 | |
|
56 | 56 | @LoginRequired() |
|
57 | @view_config( | |
|
58 | route_name='hovercard_user', request_method='GET', xhr=True, | |
|
59 | renderer='rhodecode:templates/hovercards/hovercard_user.mako') | |
|
60 | 57 | def hovercard_user(self): |
|
61 | 58 | c = self.load_default_context() |
|
62 | 59 | user_id = self.request.matchdict['user_id'] |
@@ -64,9 +61,6 b' class HoverCardsView(BaseAppView):' | |||
|
64 | 61 | return self._get_template_context(c) |
|
65 | 62 | |
|
66 | 63 | @LoginRequired() |
|
67 | @view_config( | |
|
68 | route_name='hovercard_username', request_method='GET', xhr=True, | |
|
69 | renderer='rhodecode:templates/hovercards/hovercard_user.mako') | |
|
70 | 64 | def hovercard_username(self): |
|
71 | 65 | c = self.load_default_context() |
|
72 | 66 | username = self.request.matchdict['username'] |
@@ -77,9 +71,6 b' class HoverCardsView(BaseAppView):' | |||
|
77 | 71 | return self._get_template_context(c) |
|
78 | 72 | |
|
79 | 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 | 74 | def hovercard_user_group(self): |
|
84 | 75 | c = self.load_default_context() |
|
85 | 76 | user_group_id = self.request.matchdict['user_group_id'] |
@@ -87,9 +78,6 b' class HoverCardsView(BaseAppView):' | |||
|
87 | 78 | return self._get_template_context(c) |
|
88 | 79 | |
|
89 | 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 | 81 | def hovercard_pull_request(self): |
|
94 | 82 | c = self.load_default_context() |
|
95 | 83 | c.pull_request = PullRequest.get_or_404( |
@@ -107,9 +95,6 b' class HoverCardsRepoView(RepoAppView):' | |||
|
107 | 95 | |
|
108 | 96 | @LoginRequired() |
|
109 | 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 | 98 | def hovercard_repo_commit(self): |
|
114 | 99 | c = self.load_default_context() |
|
115 | 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 | 25 | def admin_routes(config): |
|
26 | from rhodecode.apps.journal.views import JournalView | |
|
26 | 27 | |
|
27 | 28 | config.add_route( |
|
28 | 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 | 36 | config.add_route( |
|
30 | 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 | 44 | config.add_route( |
|
32 | 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 | 52 | config.add_route( |
|
35 | 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 | 60 | config.add_route( |
|
37 | 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 | 68 | config.add_route( |
|
39 | 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 | 76 | config.add_route( |
|
42 | 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 | 84 | config.add_route( |
|
44 | 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 | 92 | config.add_route( |
|
47 | 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 | 101 | def includeme(config): |
|
51 | 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 | 18 | # RhodeCode Enterprise Edition, including its added features, Support services, |
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 20 | |
|
21 | ||
|
22 | 21 | import logging |
|
23 | 22 | import itertools |
|
24 | 23 | |
|
25 | ||
|
26 | ||
|
27 | from pyramid.view import view_config | |
|
28 | 24 | from pyramid.httpexceptions import HTTPBadRequest |
|
29 | 25 | from pyramid.response import Response |
|
30 | 26 | from pyramid.renderers import render |
@@ -218,9 +214,6 b' class JournalView(BaseAppView):' | |||
|
218 | 214 | |
|
219 | 215 | @LoginRequired() |
|
220 | 216 | @NotAnonymous() |
|
221 | @view_config( | |
|
222 | route_name='journal', request_method='GET', | |
|
223 | renderer=None) | |
|
224 | 217 | def journal(self): |
|
225 | 218 | c = self.load_default_context() |
|
226 | 219 | |
@@ -258,9 +251,6 b' class JournalView(BaseAppView):' | |||
|
258 | 251 | |
|
259 | 252 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
260 | 253 | @NotAnonymous() |
|
261 | @view_config( | |
|
262 | route_name='journal_atom', request_method='GET', | |
|
263 | renderer=None) | |
|
264 | 254 | def journal_atom(self): |
|
265 | 255 | """ |
|
266 | 256 | Produce an atom-1.0 feed via feedgenerator module |
@@ -274,9 +264,6 b' class JournalView(BaseAppView):' | |||
|
274 | 264 | |
|
275 | 265 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
276 | 266 | @NotAnonymous() |
|
277 | @view_config( | |
|
278 | route_name='journal_rss', request_method='GET', | |
|
279 | renderer=None) | |
|
280 | 267 | def journal_rss(self): |
|
281 | 268 | """ |
|
282 | 269 | Produce an rss feed via feedgenerator module |
@@ -289,39 +276,6 b' class JournalView(BaseAppView):' | |||
|
289 | 276 | return self._rss_feed(following_repos, c.search_term, public=False) |
|
290 | 277 | |
|
291 | 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 | 279 | def journal_public(self): |
|
326 | 280 | c = self.load_default_context() |
|
327 | 281 | # Return a rendered template |
@@ -357,9 +311,6 b' class JournalView(BaseAppView):' | |||
|
357 | 311 | return Response(html) |
|
358 | 312 | |
|
359 | 313 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
360 | @view_config( | |
|
361 | route_name='journal_public_atom', request_method='GET', | |
|
362 | renderer=None) | |
|
363 | 314 | def journal_public_atom(self): |
|
364 | 315 | """ |
|
365 | 316 | Produce an atom-1.0 feed via feedgenerator module |
@@ -373,9 +324,6 b' class JournalView(BaseAppView):' | |||
|
373 | 324 | return self._atom_feed(following_repos, c.search_term) |
|
374 | 325 | |
|
375 | 326 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
376 | @view_config( | |
|
377 | route_name='journal_public_rss', request_method='GET', | |
|
378 | renderer=None) | |
|
379 | 327 | def journal_public_rss(self): |
|
380 | 328 | """ |
|
381 | 329 | Produce an rss2 feed via feedgenerator module |
@@ -387,3 +335,30 b' class JournalView(BaseAppView):' | |||
|
387 | 335 | .all() |
|
388 | 336 | |
|
389 | 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 | 25 | def includeme(config): |
|
26 | ||
|
26 | from rhodecode.apps.login.views import LoginView | |
|
27 | ||
|
27 | 28 | config.add_route( |
|
28 | 29 | name='login', |
|
29 | 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 | 42 | config.add_route( |
|
31 | 43 | name='logout', |
|
32 | 44 | pattern=ADMIN_PREFIX + '/logout') |
|
45 | config.add_view( | |
|
46 | LoginView, | |
|
47 | attr='logout', | |
|
48 | route_name='logout', request_method='POST') | |
|
49 | ||
|
33 | 50 | config.add_route( |
|
34 | 51 | name='register', |
|
35 | 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 | 64 | config.add_route( |
|
37 | 65 | name='reset_password', |
|
38 | 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 | 73 | config.add_route( |
|
40 | 74 | name='reset_password_confirmation', |
|
41 | 75 | pattern=ADMIN_PREFIX + '/password_reset_confirmation') |
|
42 | ||
|
43 | # Scan module for configuration decorators. | |
|
44 | config.scan('.views', ignore='.tests') | |
|
76 | config.add_view( | |
|
77 | LoginView, | |
|
78 | attr='password_reset_confirmation', | |
|
79 | route_name='reset_password_confirmation', request_method='GET') |
@@ -28,7 +28,7 b' import urlparse' | |||
|
28 | 28 | import requests |
|
29 | 29 | |
|
30 | 30 | from pyramid.httpexceptions import HTTPFound |
|
31 | from pyramid.view import view_config | |
|
31 | ||
|
32 | 32 | |
|
33 | 33 | from rhodecode.apps._base import BaseAppView |
|
34 | 34 | from rhodecode.authentication.base import authenticate, HTTP_TYPE |
@@ -114,7 +114,6 b' class LoginView(BaseAppView):' | |||
|
114 | 114 | def load_default_context(self): |
|
115 | 115 | c = self._get_local_tmpl_context() |
|
116 | 116 | c.came_from = get_came_from(self.request) |
|
117 | ||
|
118 | 117 | return c |
|
119 | 118 | |
|
120 | 119 | def _get_captcha_data(self): |
@@ -148,9 +147,6 b' class LoginView(BaseAppView):' | |||
|
148 | 147 | |
|
149 | 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 | 150 | def login(self): |
|
155 | 151 | c = self.load_default_context() |
|
156 | 152 | auth_user = self._rhodecode_user |
@@ -175,9 +171,6 b' class LoginView(BaseAppView):' | |||
|
175 | 171 | |
|
176 | 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 | 174 | def login_post(self): |
|
182 | 175 | c = self.load_default_context() |
|
183 | 176 | |
@@ -229,7 +222,6 b' class LoginView(BaseAppView):' | |||
|
229 | 222 | return self._get_template_context(c) |
|
230 | 223 | |
|
231 | 224 | @CSRFRequired() |
|
232 | @view_config(route_name='logout', request_method='POST') | |
|
233 | 225 | def logout(self): |
|
234 | 226 | auth_user = self._rhodecode_user |
|
235 | 227 | log.info('Deleting session for user: `%s`', auth_user) |
@@ -243,9 +235,6 b' class LoginView(BaseAppView):' | |||
|
243 | 235 | |
|
244 | 236 | @HasPermissionAnyDecorator( |
|
245 | 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 | 238 | def register(self, defaults=None, errors=None): |
|
250 | 239 | c = self.load_default_context() |
|
251 | 240 | defaults = defaults or {} |
@@ -270,9 +259,6 b' class LoginView(BaseAppView):' | |||
|
270 | 259 | |
|
271 | 260 | @HasPermissionAnyDecorator( |
|
272 | 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 | 262 | def register_post(self): |
|
277 | 263 | from rhodecode.authentication.plugins import auth_rhodecode |
|
278 | 264 | |
@@ -353,9 +339,6 b' class LoginView(BaseAppView):' | |||
|
353 | 339 | h.flash(e, category='error') |
|
354 | 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 | 342 | def password_reset(self): |
|
360 | 343 | c = self.load_default_context() |
|
361 | 344 | captcha = self._get_captcha_data() |
@@ -454,8 +437,6 b' class LoginView(BaseAppView):' | |||
|
454 | 437 | |
|
455 | 438 | return self._get_template_context(c, **template_context) |
|
456 | 439 | |
|
457 | @view_config(route_name='reset_password_confirmation', | |
|
458 | request_method='GET') | |
|
459 | 440 | def password_reset_confirmation(self): |
|
460 | 441 | self.load_default_context() |
|
461 | 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 | 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 | 30 | config.add_route( |
|
28 | 31 | name='my_account_profile', |
|
29 | 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 | 39 | # my account edit details |
|
32 | 40 | config.add_route( |
|
33 | 41 | name='my_account_edit', |
|
34 | 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 | 50 | config.add_route( |
|
36 | 51 | name='my_account_update', |
|
37 | 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 | 60 | # my account password |
|
40 | 61 | config.add_route( |
|
41 | 62 | name='my_account_password', |
|
42 | 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 | 70 | config.add_route( |
|
45 | 71 | name='my_account_password_update', |
|
46 | 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 | 79 | # my account tokens |
|
49 | 80 | config.add_route( |
|
50 | 81 | name='my_account_auth_tokens', |
|
51 | 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 | 89 | config.add_route( |
|
53 | 90 | name='my_account_auth_tokens_view', |
|
54 | 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 | 98 | config.add_route( |
|
56 | 99 | name='my_account_auth_tokens_add', |
|
57 | 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 | 106 | config.add_route( |
|
59 | 107 | name='my_account_auth_tokens_delete', |
|
60 | 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 | 114 | # my account ssh keys |
|
63 | 115 | config.add_route( |
|
64 | 116 | name='my_account_ssh_keys', |
|
65 | 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 | 124 | config.add_route( |
|
67 | 125 | name='my_account_ssh_keys_generate', |
|
68 | 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 | 133 | config.add_route( |
|
70 | 134 | name='my_account_ssh_keys_add', |
|
71 | 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 | 141 | config.add_route( |
|
73 | 142 | name='my_account_ssh_keys_delete', |
|
74 | 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 | 149 | # my account user group membership |
|
77 | 150 | config.add_route( |
|
78 | 151 | name='my_account_user_group_membership', |
|
79 | 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 | 160 | # my account emails |
|
82 | 161 | config.add_route( |
|
83 | 162 | name='my_account_emails', |
|
84 | 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 | 170 | config.add_route( |
|
86 | 171 | name='my_account_emails_add', |
|
87 | 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 | 179 | config.add_route( |
|
89 | 180 | name='my_account_emails_delete', |
|
90 | 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 | 187 | config.add_route( |
|
93 | 188 | name='my_account_repos', |
|
94 | 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 | 196 | config.add_route( |
|
97 | 197 | name='my_account_watched', |
|
98 | 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 | 205 | config.add_route( |
|
101 | 206 | name='my_account_bookmarks', |
|
102 | 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 | 214 | config.add_route( |
|
105 | 215 | name='my_account_bookmarks_update', |
|
106 | 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 | 222 | config.add_route( |
|
109 | 223 | name='my_account_goto_bookmark', |
|
110 | 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 | 231 | config.add_route( |
|
113 | 232 | name='my_account_perms', |
|
114 | 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 | 240 | config.add_route( |
|
117 | 241 | name='my_account_notifications', |
|
118 | 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 | 249 | config.add_route( |
|
121 | 250 | name='my_account_notifications_toggle_visibility', |
|
122 | 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 | 258 | # my account pull requests |
|
125 | 259 | config.add_route( |
|
126 | 260 | name='my_account_pullrequests', |
|
127 | 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 | 269 | config.add_route( |
|
129 | 270 | name='my_account_pullrequests_data', |
|
130 | 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 | 288 | # notifications |
|
133 | 289 | config.add_route( |
|
134 | 290 | name='notifications_show_all', |
|
135 | 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 | 298 | # notifications |
|
138 | 299 | config.add_route( |
|
139 | 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 | 308 | config.add_route( |
|
143 | 309 | name='notifications_show', |
|
144 | 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 | 317 | config.add_route( |
|
147 | 318 | name='notifications_update', |
|
148 | 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 | 326 | config.add_route( |
|
151 | 327 | name='notifications_delete', |
|
152 | 328 | pattern=ADMIN_PREFIX + '/notifications/{notification_id}/delete') |
|
153 | ||
|
154 | # channelstream test | |
|
155 | config.add_route( | |
|
156 | name='my_account_notifications_test_channelstream', | |
|
157 | pattern=ADMIN_PREFIX + '/my_account/test_channelstream') | |
|
158 | ||
|
159 | # Scan module for configuration decorators. | |
|
160 | config.scan('.views', ignore='.tests') | |
|
329 | config.add_view( | |
|
330 | MyAccountNotificationsView, | |
|
331 | attr='notification_delete', | |
|
332 | route_name='notifications_delete', request_method='POST', | |
|
333 | renderer='json_ext') |
@@ -40,7 +40,7 b' def route_path(name, params=None, **kwar' | |||
|
40 | 40 | |
|
41 | 41 | base_url = { |
|
42 | 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 | 44 | 'notifications_show': ADMIN_PREFIX + '/notifications/{notification_id}', |
|
45 | 45 | 'notifications_update': ADMIN_PREFIX + '/notifications/{notification_id}/update', |
|
46 | 46 | 'notifications_delete': ADMIN_PREFIX + '/notifications/{notification_id}/delete', |
@@ -60,6 +60,15 b' class TestNotificationsController(TestCo' | |||
|
60 | 60 | Session().delete(inst) |
|
61 | 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 | 72 | def test_show_all(self, user_util): |
|
64 | 73 | user = user_util.create_user(password='qweqwe') |
|
65 | 74 | user_id = user.user_id |
@@ -26,7 +26,6 b' import formencode' | |||
|
26 | 26 | import formencode.htmlfill |
|
27 | 27 | import peppercorn |
|
28 | 28 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
29 | from pyramid.view import view_config | |
|
30 | 29 | |
|
31 | 30 | from rhodecode.apps._base import BaseAppView, DataGridAppView |
|
32 | 31 | from rhodecode import forms |
@@ -65,14 +64,10 b' class MyAccountView(BaseAppView, DataGri' | |||
|
65 | 64 | c = self._get_local_tmpl_context() |
|
66 | 65 | c.user = c.auth_user.get_instance() |
|
67 | 66 | c.allow_scoped_tokens = self.ALLOW_SCOPED_TOKENS |
|
68 | ||
|
69 | 67 | return c |
|
70 | 68 | |
|
71 | 69 | @LoginRequired() |
|
72 | 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 | 71 | def my_account_profile(self): |
|
77 | 72 | c = self.load_default_context() |
|
78 | 73 | c.active = 'profile' |
@@ -81,9 +76,75 b' class MyAccountView(BaseAppView, DataGri' | |||
|
81 | 76 | |
|
82 | 77 | @LoginRequired() |
|
83 | 78 | @NotAnonymous() |
|
84 | @view_config( | |
|
85 | route_name='my_account_password', request_method='GET', | |
|
86 | renderer='rhodecode:templates/admin/my_account/my_account.mako') | |
|
79 | def my_account_edit(self): | |
|
80 | c = self.load_default_context() | |
|
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 | 148 | def my_account_password(self): |
|
88 | 149 | c = self.load_default_context() |
|
89 | 150 | c.active = 'password' |
@@ -103,9 +164,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
103 | 164 | @LoginRequired() |
|
104 | 165 | @NotAnonymous() |
|
105 | 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 | 167 | def my_account_password_update(self): |
|
110 | 168 | _ = self.request.translate |
|
111 | 169 | c = self.load_default_context() |
@@ -146,9 +204,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
146 | 204 | |
|
147 | 205 | @LoginRequired() |
|
148 | 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 | 207 | def my_account_auth_tokens(self): |
|
153 | 208 | _ = self.request.translate |
|
154 | 209 | |
@@ -167,9 +222,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
167 | 222 | @LoginRequired() |
|
168 | 223 | @NotAnonymous() |
|
169 | 224 | @CSRFRequired() |
|
170 | @view_config( | |
|
171 | route_name='my_account_auth_tokens_view', request_method='POST', xhr=True, | |
|
172 | renderer='json_ext') | |
|
173 | 225 | def my_account_auth_tokens_view(self): |
|
174 | 226 | _ = self.request.translate |
|
175 | 227 | c = self.load_default_context() |
@@ -192,8 +244,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
192 | 244 | @LoginRequired() |
|
193 | 245 | @NotAnonymous() |
|
194 | 246 | @CSRFRequired() |
|
195 | @view_config( | |
|
196 | route_name='my_account_auth_tokens_add', request_method='POST',) | |
|
197 | 247 | def my_account_auth_tokens_add(self): |
|
198 | 248 | _ = self.request.translate |
|
199 | 249 | c = self.load_default_context() |
@@ -220,8 +270,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
220 | 270 | @LoginRequired() |
|
221 | 271 | @NotAnonymous() |
|
222 | 272 | @CSRFRequired() |
|
223 | @view_config( | |
|
224 | route_name='my_account_auth_tokens_delete', request_method='POST') | |
|
225 | 273 | def my_account_auth_tokens_delete(self): |
|
226 | 274 | _ = self.request.translate |
|
227 | 275 | c = self.load_default_context() |
@@ -244,9 +292,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
244 | 292 | |
|
245 | 293 | @LoginRequired() |
|
246 | 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 | 295 | def my_account_emails(self): |
|
251 | 296 | _ = self.request.translate |
|
252 | 297 | |
@@ -269,9 +314,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
269 | 314 | @LoginRequired() |
|
270 | 315 | @NotAnonymous() |
|
271 | 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 | 317 | def my_account_emails_add(self): |
|
276 | 318 | _ = self.request.translate |
|
277 | 319 | c = self.load_default_context() |
@@ -312,8 +354,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
312 | 354 | @LoginRequired() |
|
313 | 355 | @NotAnonymous() |
|
314 | 356 | @CSRFRequired() |
|
315 | @view_config( | |
|
316 | route_name='my_account_emails_delete', request_method='POST') | |
|
317 | 357 | def my_account_emails_delete(self): |
|
318 | 358 | _ = self.request.translate |
|
319 | 359 | c = self.load_default_context() |
@@ -334,9 +374,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
334 | 374 | @LoginRequired() |
|
335 | 375 | @NotAnonymous() |
|
336 | 376 | @CSRFRequired() |
|
337 | @view_config( | |
|
338 | route_name='my_account_notifications_test_channelstream', | |
|
339 | request_method='POST', renderer='json_ext') | |
|
340 | 377 | def my_account_notifications_test_channelstream(self): |
|
341 | 378 | message = 'Test message sent via Channelstream by user: {}, on {}'.format( |
|
342 | 379 | self._rhodecode_user.username, datetime.datetime.now()) |
@@ -424,9 +461,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
424 | 461 | |
|
425 | 462 | @LoginRequired() |
|
426 | 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 | 464 | def my_account_repos(self): |
|
431 | 465 | c = self.load_default_context() |
|
432 | 466 | c.active = 'repos' |
@@ -437,9 +471,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
437 | 471 | |
|
438 | 472 | @LoginRequired() |
|
439 | 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 | 474 | def my_account_watched(self): |
|
444 | 475 | c = self.load_default_context() |
|
445 | 476 | c.active = 'watched' |
@@ -450,9 +481,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
450 | 481 | |
|
451 | 482 | @LoginRequired() |
|
452 | 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 | 484 | def my_account_bookmarks(self): |
|
457 | 485 | c = self.load_default_context() |
|
458 | 486 | c.active = 'bookmarks' |
@@ -519,8 +547,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
519 | 547 | @LoginRequired() |
|
520 | 548 | @NotAnonymous() |
|
521 | 549 | @CSRFRequired() |
|
522 | @view_config( | |
|
523 | route_name='my_account_bookmarks_update', request_method='POST') | |
|
524 | 550 | def my_account_bookmarks_update(self): |
|
525 | 551 | _ = self.request.translate |
|
526 | 552 | c = self.load_default_context() |
@@ -559,9 +585,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
559 | 585 | |
|
560 | 586 | @LoginRequired() |
|
561 | 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 | 588 | def my_account_goto_bookmark(self): |
|
566 | 589 | |
|
567 | 590 | bookmark_id = self.request.matchdict['bookmark_id'] |
@@ -606,9 +629,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
606 | 629 | |
|
607 | 630 | @LoginRequired() |
|
608 | 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 | 632 | def my_account_perms(self): |
|
613 | 633 | c = self.load_default_context() |
|
614 | 634 | c.active = 'perms' |
@@ -618,9 +638,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
618 | 638 | |
|
619 | 639 | @LoginRequired() |
|
620 | 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 | 641 | def my_notifications(self): |
|
625 | 642 | c = self.load_default_context() |
|
626 | 643 | c.active = 'notifications' |
@@ -630,9 +647,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
630 | 647 | @LoginRequired() |
|
631 | 648 | @NotAnonymous() |
|
632 | 649 | @CSRFRequired() |
|
633 | @view_config( | |
|
634 | route_name='my_account_notifications_toggle_visibility', | |
|
635 | request_method='POST', renderer='json_ext') | |
|
636 | 650 | def my_notifications_toggle_visibility(self): |
|
637 | 651 | user = self._rhodecode_db_user |
|
638 | 652 | new_status = not user.user_data.get('notification_status', True) |
@@ -640,83 +654,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
640 | 654 | Session().commit() |
|
641 | 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 | 657 | def _get_pull_requests_list(self, statuses): |
|
721 | 658 | draw, start, limit = self._extract_chunk(self.request) |
|
722 | 659 | search_q, order_by, order_dir = self._extract_ordering(self.request) |
@@ -781,10 +718,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
781 | 718 | |
|
782 | 719 | @LoginRequired() |
|
783 | 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 | 721 | def my_account_pullrequests(self): |
|
789 | 722 | c = self.load_default_context() |
|
790 | 723 | c.active = 'pullrequests' |
@@ -796,9 +729,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
796 | 729 | |
|
797 | 730 | @LoginRequired() |
|
798 | 731 | @NotAnonymous() |
|
799 | @view_config( | |
|
800 | route_name='my_account_pullrequests_data', | |
|
801 | request_method='GET', renderer='json_ext') | |
|
802 | 732 | def my_account_pullrequests_data(self): |
|
803 | 733 | self.load_default_context() |
|
804 | 734 | req_get = self.request.GET |
@@ -813,10 +743,6 b' class MyAccountView(BaseAppView, DataGri' | |||
|
813 | 743 | |
|
814 | 744 | @LoginRequired() |
|
815 | 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 | 746 | def my_account_user_group_membership(self): |
|
821 | 747 | c = self.load_default_context() |
|
822 | 748 | c.active = 'user_group_membership' |
@@ -22,7 +22,6 b' import logging' | |||
|
22 | 22 | |
|
23 | 23 | from pyramid.httpexceptions import ( |
|
24 | 24 | HTTPFound, HTTPNotFound, HTTPInternalServerError) |
|
25 | from pyramid.view import view_config | |
|
26 | 25 | |
|
27 | 26 | from rhodecode.apps._base import BaseAppView |
|
28 | 27 | from rhodecode.lib.auth import LoginRequired, NotAnonymous, CSRFRequired |
@@ -57,9 +56,6 b' class MyAccountNotificationsView(BaseApp' | |||
|
57 | 56 | |
|
58 | 57 | @LoginRequired() |
|
59 | 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 | 59 | def notifications_show_all(self): |
|
64 | 60 | c = self.load_default_context() |
|
65 | 61 | |
@@ -105,22 +101,6 b' class MyAccountNotificationsView(BaseApp' | |||
|
105 | 101 | |
|
106 | 102 | @LoginRequired() |
|
107 | 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 | 104 | def notifications_show(self): |
|
125 | 105 | c = self.load_default_context() |
|
126 | 106 | notification_id = self.request.matchdict['notification_id'] |
@@ -150,9 +130,16 b' class MyAccountNotificationsView(BaseApp' | |||
|
150 | 130 | @LoginRequired() |
|
151 | 131 | @NotAnonymous() |
|
152 | 132 | @CSRFRequired() |
|
153 | @view_config( | |
|
154 | route_name='notifications_update', request_method='POST', | |
|
155 | renderer='json_ext') | |
|
133 | def notifications_mark_all_read(self): | |
|
134 | NotificationModel().mark_all_read_for_user( | |
|
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 | 143 | def notification_update(self): |
|
157 | 144 | notification_id = self.request.matchdict['notification_id'] |
|
158 | 145 | notification = Notification.get_or_404(notification_id) |
@@ -177,9 +164,6 b' class MyAccountNotificationsView(BaseApp' | |||
|
177 | 164 | @LoginRequired() |
|
178 | 165 | @NotAnonymous() |
|
179 | 166 | @CSRFRequired() |
|
180 | @view_config( | |
|
181 | route_name='notifications_delete', request_method='POST', | |
|
182 | renderer='json_ext') | |
|
183 | 167 | def notification_delete(self): |
|
184 | 168 | notification_id = self.request.matchdict['notification_id'] |
|
185 | 169 | notification = Notification.get_or_404(notification_id) |
@@ -21,7 +21,6 b'' | |||
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | 23 | from pyramid.httpexceptions import HTTPFound |
|
24 | from pyramid.view import view_config | |
|
25 | 24 | |
|
26 | 25 | from rhodecode.apps._base import BaseAppView, DataGridAppView |
|
27 | 26 | from rhodecode.apps.ssh_support import SshKeyFileChangeEvent |
@@ -41,17 +40,12 b' class MyAccountSshKeysView(BaseAppView, ' | |||
|
41 | 40 | def load_default_context(self): |
|
42 | 41 | c = self._get_local_tmpl_context() |
|
43 | 42 | c.user = c.auth_user.get_instance() |
|
44 | ||
|
45 | 43 | c.ssh_enabled = self.request.registry.settings.get( |
|
46 | 44 | 'ssh.generate_authorized_keyfile') |
|
47 | ||
|
48 | 45 | return c |
|
49 | 46 | |
|
50 | 47 | @LoginRequired() |
|
51 | 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 | 49 | def my_account_ssh_keys(self): |
|
56 | 50 | _ = self.request.translate |
|
57 | 51 | |
@@ -63,9 +57,6 b' class MyAccountSshKeysView(BaseAppView, ' | |||
|
63 | 57 | |
|
64 | 58 | @LoginRequired() |
|
65 | 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 | 60 | def ssh_keys_generate_keypair(self): |
|
70 | 61 | _ = self.request.translate |
|
71 | 62 | c = self.load_default_context() |
@@ -84,8 +75,6 b' class MyAccountSshKeysView(BaseAppView, ' | |||
|
84 | 75 | @LoginRequired() |
|
85 | 76 | @NotAnonymous() |
|
86 | 77 | @CSRFRequired() |
|
87 | @view_config( | |
|
88 | route_name='my_account_ssh_keys_add', request_method='POST',) | |
|
89 | 78 | def my_account_ssh_keys_add(self): |
|
90 | 79 | _ = self.request.translate |
|
91 | 80 | c = self.load_default_context() |
@@ -132,8 +121,6 b' class MyAccountSshKeysView(BaseAppView, ' | |||
|
132 | 121 | @LoginRequired() |
|
133 | 122 | @NotAnonymous() |
|
134 | 123 | @CSRFRequired() |
|
135 | @view_config( | |
|
136 | route_name='my_account_ssh_keys_delete', request_method='POST') | |
|
137 | 124 | def my_account_ssh_keys_delete(self): |
|
138 | 125 | _ = self.request.translate |
|
139 | 126 | c = self.load_default_context() |
@@ -22,25 +22,35 b' from rhodecode.apps._base import ADMIN_P' | |||
|
22 | 22 | |
|
23 | 23 | |
|
24 | 24 | def admin_routes(config): |
|
25 | from rhodecode.apps.ops.views import OpsView | |
|
26 | ||
|
25 | 27 | config.add_route( |
|
26 | 28 | name='ops_ping', |
|
27 | 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 | 36 | config.add_route( |
|
29 | 37 | name='ops_error_test', |
|
30 | 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 | 45 | config.add_route( |
|
32 | 46 | name='ops_redirect_test', |
|
33 | 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 | 55 | def includeme(config): |
|
37 | ||
|
38 | 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 | 21 | import time |
|
22 | 22 | import logging |
|
23 | 23 | |
|
24 | from pyramid.view import view_config | |
|
24 | ||
|
25 | 25 | from pyramid.httpexceptions import HTTPFound |
|
26 | 26 | |
|
27 | 27 | from rhodecode.apps._base import BaseAppView |
@@ -38,12 +38,6 b' class OpsView(BaseAppView):' | |||
|
38 | 38 | |
|
39 | 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 | 41 | def ops_ping(self): |
|
48 | 42 | data = { |
|
49 | 43 | 'instance': self.request.registry.settings.get('instance_id'), |
@@ -59,12 +53,6 b' class OpsView(BaseAppView):' | |||
|
59 | 53 | }) |
|
60 | 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 | 56 | def ops_error_test(self): |
|
69 | 57 | """ |
|
70 | 58 | Test exception handling and emails on errors |
@@ -78,9 +66,6 b' class OpsView(BaseAppView):' | |||
|
78 | 66 | 'Client:{}. Generation time: {}.'.format(self.request.user, time.time())) |
|
79 | 67 | raise TestException(msg) |
|
80 | 68 | |
|
81 | @view_config( | |
|
82 | route_name='ops_redirect_test', request_method='GET', | |
|
83 | renderer='json_ext') | |
|
84 | 69 | def ops_redirect_test(self): |
|
85 | 70 | """ |
|
86 | 71 | Test redirect handling |
@@ -18,6 +18,10 b'' | |||
|
18 | 18 | # RhodeCode Enterprise Edition, including its added features, Support services, |
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 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 | 27 | def includeme(config): |
@@ -27,35 +31,72 b' def includeme(config):' | |||
|
27 | 31 | name='edit_repo_group', |
|
28 | 32 | pattern='/{repo_group_name:.*?[^/]}/_edit', |
|
29 | 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 | 45 | # Settings advanced |
|
33 | 46 | config.add_route( |
|
34 | 47 | name='edit_repo_group_advanced', |
|
35 | 48 | pattern='/{repo_group_name:.*?[^/]}/_settings/advanced', |
|
36 | 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 | 56 | config.add_route( |
|
39 | 57 | name='edit_repo_group_advanced_delete', |
|
40 | 58 | pattern='/{repo_group_name:.*?[^/]}/_settings/advanced/delete', |
|
41 | 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 | 66 | # settings permissions |
|
44 | 67 | config.add_route( |
|
45 | 68 | name='edit_repo_group_perms', |
|
46 | 69 | pattern='/{repo_group_name:.*?[^/]}/_settings/permissions', |
|
47 | 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 | 77 | config.add_route( |
|
50 | 78 | name='edit_repo_group_perms_update', |
|
51 | 79 | pattern='/{repo_group_name:.*?[^/]}/_settings/permissions/update', |
|
52 | 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 | 87 | # Summary, NOTE(marcink): needs to be at the end for catch-all |
|
55 | 88 | add_route_with_slash( |
|
56 | 89 | config, |
|
57 | 90 | name='repo_group_home', |
|
58 | 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 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | from pyramid.httpexceptions import HTTPFound |
|
25 | 25 | |
|
26 | 26 | from rhodecode.apps._base import RepoGroupAppView |
@@ -34,17 +34,13 b' from rhodecode.model.meta import Session' | |||
|
34 | 34 | log = logging.getLogger(__name__) |
|
35 | 35 | |
|
36 | 36 | |
|
37 | class RepoGroupSettingsView(RepoGroupAppView): | |
|
37 | class RepoGroupAdvancedSettingsView(RepoGroupAppView): | |
|
38 | 38 | def load_default_context(self): |
|
39 | 39 | c = self._get_local_tmpl_context() |
|
40 | ||
|
41 | 40 | return c |
|
42 | 41 | |
|
43 | 42 | @LoginRequired() |
|
44 | 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 | 44 | def edit_repo_group_advanced(self): |
|
49 | 45 | _ = self.request.translate |
|
50 | 46 | c = self.load_default_context() |
@@ -61,9 +57,6 b' class RepoGroupSettingsView(RepoGroupApp' | |||
|
61 | 57 | @LoginRequired() |
|
62 | 58 | @HasRepoGroupPermissionAnyDecorator('group.admin') |
|
63 | 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 | 60 | def edit_repo_group_delete(self): |
|
68 | 61 | _ = self.request.translate |
|
69 | 62 | _ungettext = self.request.plularize |
@@ -20,7 +20,7 b'' | |||
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | from pyramid.httpexceptions import HTTPFound |
|
25 | 25 | |
|
26 | 26 | from rhodecode.apps._base import RepoGroupAppView |
@@ -45,9 +45,6 b' class RepoGroupPermissionsView(RepoGroup' | |||
|
45 | 45 | |
|
46 | 46 | @LoginRequired() |
|
47 | 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 | 48 | def edit_repo_group_permissions(self): |
|
52 | 49 | c = self.load_default_context() |
|
53 | 50 | c.active = 'permissions' |
@@ -57,9 +54,6 b' class RepoGroupPermissionsView(RepoGroup' | |||
|
57 | 54 | @LoginRequired() |
|
58 | 55 | @HasRepoGroupPermissionAnyDecorator('group.admin') |
|
59 | 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 | 57 | def edit_repo_groups_permissions_update(self): |
|
64 | 58 | _ = self.request.translate |
|
65 | 59 | c = self.load_default_context() |
@@ -21,7 +21,7 b'' | |||
|
21 | 21 | import logging |
|
22 | 22 | import deform |
|
23 | 23 | |
|
24 | from pyramid.view import view_config | |
|
24 | ||
|
25 | 25 | from pyramid.httpexceptions import HTTPFound |
|
26 | 26 | |
|
27 | 27 | from rhodecode import events |
@@ -109,9 +109,6 b' class RepoGroupSettingsView(RepoGroupApp' | |||
|
109 | 109 | |
|
110 | 110 | @LoginRequired() |
|
111 | 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 | 112 | def edit_settings(self): |
|
116 | 113 | c = self.load_default_context() |
|
117 | 114 | c.active = 'settings' |
@@ -126,9 +123,6 b' class RepoGroupSettingsView(RepoGroupApp' | |||
|
126 | 123 | @LoginRequired() |
|
127 | 124 | @HasRepoGroupPermissionAnyDecorator('group.admin') |
|
128 | 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 | 126 | def edit_settings_update(self): |
|
133 | 127 | _ = self.request.translate |
|
134 | 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 | 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 | 52 | # repo creating checks, special cases that aren't repo routes |
|
26 | 53 | config.add_route( |
|
27 | 54 | name='repo_creating', |
|
28 | 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 | 62 | config.add_route( |
|
31 | 63 | name='repo_creating_check', |
|
32 | 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 | 71 | # Summary |
|
35 | 72 | # NOTE(marcink): one additional route is defined in very bottom, catch |
@@ -37,191 +74,467 b' def includeme(config):' | |||
|
37 | 74 | config.add_route( |
|
38 | 75 | name='repo_summary_explicit', |
|
39 | 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 | 83 | config.add_route( |
|
41 | 84 | name='repo_summary_commits', |
|
42 | 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 | 92 | # Commits |
|
45 | 93 | config.add_route( |
|
46 | 94 | name='repo_commit', |
|
47 | 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 | 102 | config.add_route( |
|
50 | 103 | name='repo_commit_children', |
|
51 | 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 | 111 | config.add_route( |
|
54 | 112 | name='repo_commit_parents', |
|
55 | 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 | 120 | config.add_route( |
|
58 | 121 | name='repo_commit_raw', |
|
59 | 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 | 129 | config.add_route( |
|
62 | 130 | name='repo_commit_patch', |
|
63 | 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 | 138 | config.add_route( |
|
66 | 139 | name='repo_commit_download', |
|
67 | 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 | 147 | config.add_route( |
|
70 | 148 | name='repo_commit_data', |
|
71 | 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 | 156 | config.add_route( |
|
74 | 157 | name='repo_commit_comment_create', |
|
75 | 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 | 165 | config.add_route( |
|
78 | 166 | name='repo_commit_comment_preview', |
|
79 | 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 | 174 | config.add_route( |
|
82 | 175 | name='repo_commit_comment_history_view', |
|
83 | 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 | 183 | config.add_route( |
|
86 | 184 | name='repo_commit_comment_attachment_upload', |
|
87 | 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 | 192 | config.add_route( |
|
90 | 193 | name='repo_commit_comment_delete', |
|
91 | 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 | 201 | config.add_route( |
|
94 | 202 | name='repo_commit_comment_edit', |
|
95 | 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 | 210 | # still working url for backward compat. |
|
98 | 211 | config.add_route( |
|
99 | 212 | name='repo_commit_raw_deprecated', |
|
100 | 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 | 220 | # Files |
|
103 | 221 | config.add_route( |
|
104 | 222 | name='repo_archivefile', |
|
105 | 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 | 230 | config.add_route( |
|
108 | 231 | name='repo_files_diff', |
|
109 | 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 | 239 | config.add_route( # legacy route to make old links work |
|
111 | 240 | name='repo_files_diff_2way_redirect', |
|
112 | 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 | 248 | config.add_route( |
|
115 | 249 | name='repo_files', |
|
116 | 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 | 257 | config.add_route( |
|
118 | 258 | name='repo_files:default_path', |
|
119 | 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 | 266 | config.add_route( |
|
121 | 267 | name='repo_files:default_commit', |
|
122 | 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 | 275 | config.add_route( |
|
125 | 276 | name='repo_files:rendered', |
|
126 | 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 | 284 | config.add_route( |
|
129 | 285 | name='repo_files:annotated', |
|
130 | 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 | 293 | config.add_route( |
|
132 | 294 | name='repo_files:annotated_previous', |
|
133 | 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 | 302 | config.add_route( |
|
136 | 303 | name='repo_nodetree_full', |
|
137 | 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 | 311 | config.add_route( |
|
139 | 312 | name='repo_nodetree_full:default_path', |
|
140 | 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 | 320 | config.add_route( |
|
143 | 321 | name='repo_files_nodelist', |
|
144 | 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 | 329 | config.add_route( |
|
147 | 330 | name='repo_file_raw', |
|
148 | 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 | 338 | config.add_route( |
|
151 | 339 | name='repo_file_download', |
|
152 | 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 | 347 | config.add_route( # backward compat to keep old links working |
|
154 | 348 | name='repo_file_download:legacy', |
|
155 | 349 | pattern='/{repo_name:.*?[^/]}/rawfile/{commit_id}/{f_path:.*}', |
|
156 | 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 | 357 | config.add_route( |
|
159 | 358 | name='repo_file_history', |
|
160 | 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 | 366 | config.add_route( |
|
163 | 367 | name='repo_file_authors', |
|
164 | 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 | 375 | config.add_route( |
|
167 | 376 | name='repo_files_check_head', |
|
168 | 377 | pattern='/{repo_name:.*?[^/]}/check_head/{commit_id}/{f_path:.*}', |
|
169 | 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 | 385 | config.add_route( |
|
171 | 386 | name='repo_files_remove_file', |
|
172 | 387 | pattern='/{repo_name:.*?[^/]}/remove_file/{commit_id}/{f_path:.*}', |
|
173 | 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 | 395 | config.add_route( |
|
175 | 396 | name='repo_files_delete_file', |
|
176 | 397 | pattern='/{repo_name:.*?[^/]}/delete_file/{commit_id}/{f_path:.*}', |
|
177 | 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 | 405 | config.add_route( |
|
179 | 406 | name='repo_files_edit_file', |
|
180 | 407 | pattern='/{repo_name:.*?[^/]}/edit_file/{commit_id}/{f_path:.*}', |
|
181 | 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 | 415 | config.add_route( |
|
183 | 416 | name='repo_files_update_file', |
|
184 | 417 | pattern='/{repo_name:.*?[^/]}/update_file/{commit_id}/{f_path:.*}', |
|
185 | 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 | 425 | config.add_route( |
|
187 | 426 | name='repo_files_add_file', |
|
188 | 427 | pattern='/{repo_name:.*?[^/]}/add_file/{commit_id}/{f_path:.*}', |
|
189 | 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 | 435 | config.add_route( |
|
191 | 436 | name='repo_files_upload_file', |
|
192 | 437 | pattern='/{repo_name:.*?[^/]}/upload_file/{commit_id}/{f_path:.*}', |
|
193 | 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 | 450 | config.add_route( |
|
195 | 451 | name='repo_files_create_file', |
|
196 | 452 | pattern='/{repo_name:.*?[^/]}/create_file/{commit_id}/{f_path:.*}', |
|
197 | 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 | 460 | # Refs data |
|
200 | 461 | config.add_route( |
|
201 | 462 | name='repo_refs_data', |
|
202 | 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 | 470 | config.add_route( |
|
205 | 471 | name='repo_refs_changelog_data', |
|
206 | 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 | 479 | config.add_route( |
|
209 | 480 | name='repo_stats', |
|
210 | 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 | 488 | # Commits |
|
213 | 489 | config.add_route( |
|
214 | 490 | name='repo_commits', |
|
215 | 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 | 524 | config.add_route( |
|
217 | 525 | name='repo_commits_file', |
|
218 | 526 | pattern='/{repo_name:.*?[^/]}/commits/{commit_id}/{f_path:.*}', repo_route=True) |
|
219 |
config.add_ |
|
|
220 | name='repo_commits_elements', | |
|
221 | pattern='/{repo_name:.*?[^/]}/commits_elements', repo_route=True) | |
|
222 | config.add_route( | |
|
223 | name='repo_commits_elements_file', | |
|
224 | pattern='/{repo_name:.*?[^/]}/commits_elements/{commit_id}/{f_path:.*}', repo_route=True) | |
|
527 | config.add_view( | |
|
528 | RepoChangelogView, | |
|
529 | attr='repo_changelog', | |
|
530 | route_name='repo_commits_file', request_method='GET', | |
|
531 | renderer='rhodecode:templates/commits/changelog.mako') | |
|
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 | 539 | # Changelog (old deprecated name for commits page) |
|
227 | 540 | config.add_route( |
@@ -235,25 +548,50 b' def includeme(config):' | |||
|
235 | 548 | config.add_route( |
|
236 | 549 | name='repo_compare_select', |
|
237 | 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 | 557 | config.add_route( |
|
240 | 558 | name='repo_compare', |
|
241 | 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 | 566 | # Tags |
|
244 | 567 | config.add_route( |
|
245 | 568 | name='tags_home', |
|
246 | 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 | 576 | # Branches |
|
249 | 577 | config.add_route( |
|
250 | 578 | name='branches_home', |
|
251 | 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 | 586 | # Bookmarks |
|
254 | 587 | config.add_route( |
|
255 | 588 | name='bookmarks_home', |
|
256 | 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 | 596 | # Forks |
|
259 | 597 | config.add_route( |
@@ -261,195 +599,426 b' def includeme(config):' | |||
|
261 | 599 | pattern='/{repo_name:.*?[^/]}/fork', repo_route=True, |
|
262 | 600 | repo_forbid_when_archived=True, |
|
263 | 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 | 608 | config.add_route( |
|
266 | 609 | name='repo_fork_create', |
|
267 | 610 | pattern='/{repo_name:.*?[^/]}/fork/create', repo_route=True, |
|
268 | 611 | repo_forbid_when_archived=True, |
|
269 | 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 | 619 | config.add_route( |
|
272 | 620 | name='repo_forks_show_all', |
|
273 | 621 | pattern='/{repo_name:.*?[^/]}/forks', repo_route=True, |
|
274 | 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 | 629 | config.add_route( |
|
276 | 630 | name='repo_forks_data', |
|
277 | 631 | pattern='/{repo_name:.*?[^/]}/forks/data', repo_route=True, |
|
278 | 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 | 639 | # Pull Requests |
|
281 | 640 | config.add_route( |
|
282 | 641 | name='pullrequest_show', |
|
283 | 642 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}', |
|
284 | 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 | 650 | config.add_route( |
|
287 | 651 | name='pullrequest_show_all', |
|
288 | 652 | pattern='/{repo_name:.*?[^/]}/pull-request', |
|
289 | 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 | 660 | config.add_route( |
|
292 | 661 | name='pullrequest_show_all_data', |
|
293 | 662 | pattern='/{repo_name:.*?[^/]}/pull-request-data', |
|
294 | 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 | 670 | config.add_route( |
|
297 | 671 | name='pullrequest_repo_refs', |
|
298 | 672 | pattern='/{repo_name:.*?[^/]}/pull-request/refs/{target_repo_name:.*?[^/]}', |
|
299 | 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 | 680 | config.add_route( |
|
302 | 681 | name='pullrequest_repo_targets', |
|
303 | 682 | pattern='/{repo_name:.*?[^/]}/pull-request/repo-targets', |
|
304 | 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 | 690 | config.add_route( |
|
307 | 691 | name='pullrequest_new', |
|
308 | 692 | pattern='/{repo_name:.*?[^/]}/pull-request/new', |
|
309 | 693 | repo_route=True, repo_accepted_types=['hg', 'git'], |
|
310 | 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 | 701 | config.add_route( |
|
313 | 702 | name='pullrequest_create', |
|
314 | 703 | pattern='/{repo_name:.*?[^/]}/pull-request/create', |
|
315 | 704 | repo_route=True, repo_accepted_types=['hg', 'git'], |
|
316 | 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 | 712 | config.add_route( |
|
319 | 713 | name='pullrequest_update', |
|
320 | 714 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/update', |
|
321 | 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 | 722 | config.add_route( |
|
324 | 723 | name='pullrequest_merge', |
|
325 | 724 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/merge', |
|
326 | 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 | 732 | config.add_route( |
|
329 | 733 | name='pullrequest_delete', |
|
330 | 734 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/delete', |
|
331 | 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 | 742 | config.add_route( |
|
334 | 743 | name='pullrequest_comment_create', |
|
335 | 744 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment', |
|
336 | 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 | 752 | config.add_route( |
|
339 | 753 | name='pullrequest_comment_edit', |
|
340 | 754 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/edit', |
|
341 | 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 | 762 | config.add_route( |
|
344 | 763 | name='pullrequest_comment_delete', |
|
345 | 764 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete', |
|
346 | 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 | 772 | config.add_route( |
|
349 | 773 | name='pullrequest_comments', |
|
350 | 774 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comments', |
|
351 | 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 | 782 | config.add_route( |
|
354 | 783 | name='pullrequest_todos', |
|
355 | 784 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/todos', |
|
356 | 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 | 792 | config.add_route( |
|
359 | 793 | name='pullrequest_drafts', |
|
360 | 794 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/drafts', |
|
361 | 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 | 802 | # Artifacts, (EE feature) |
|
364 | 803 | config.add_route( |
|
365 | 804 | name='repo_artifacts_list', |
|
366 | 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 | 812 | # Settings |
|
369 | 813 | config.add_route( |
|
370 | 814 | name='edit_repo', |
|
371 | 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 | 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 | 828 | # Settings advanced |
|
375 | 829 | config.add_route( |
|
376 | 830 | name='edit_repo_advanced', |
|
377 | 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 | 838 | config.add_route( |
|
379 | 839 | name='edit_repo_advanced_archive', |
|
380 | 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 | 847 | config.add_route( |
|
382 | 848 | name='edit_repo_advanced_delete', |
|
383 | 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 | 856 | config.add_route( |
|
385 | 857 | name='edit_repo_advanced_locking', |
|
386 | 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 | 865 | config.add_route( |
|
388 | 866 | name='edit_repo_advanced_journal', |
|
389 | 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 | 874 | config.add_route( |
|
391 | 875 | name='edit_repo_advanced_fork', |
|
392 | 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 | 883 | config.add_route( |
|
395 | 884 | name='edit_repo_advanced_hooks', |
|
396 | 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 | 892 | # Caches |
|
399 | 893 | config.add_route( |
|
400 | 894 | name='edit_repo_caches', |
|
401 | 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 | 906 | # Permissions |
|
404 | 907 | config.add_route( |
|
405 | 908 | name='edit_repo_perms', |
|
406 | 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 | 921 | config.add_route( |
|
409 | 922 | name='edit_repo_perms_set_private', |
|
410 | 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 | 930 | # Permissions Branch (EE feature) |
|
413 | 931 | config.add_route( |
|
414 | 932 | name='edit_repo_perms_branch', |
|
415 | 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 | 940 | config.add_route( |
|
417 | 941 | name='edit_repo_perms_branch_delete', |
|
418 | 942 | pattern='/{repo_name:.*?[^/]}/settings/branch_permissions/{rule_id}/delete', |
|
419 | 943 | repo_route=True) |
|
944 | ## Only implemented in EE | |
|
420 | 945 | |
|
421 | 946 | # Maintenance |
|
422 | 947 | config.add_route( |
|
423 | 948 | name='edit_repo_maintenance', |
|
424 | 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 | 956 | config.add_route( |
|
427 | 957 | name='edit_repo_maintenance_execute', |
|
428 | 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 | 965 | # Fields |
|
431 | 966 | config.add_route( |
|
432 | 967 | name='edit_repo_fields', |
|
433 | 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 | 975 | config.add_route( |
|
435 | 976 | name='edit_repo_fields_create', |
|
436 | 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 | 984 | config.add_route( |
|
438 | 985 | name='edit_repo_fields_delete', |
|
439 | 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 | 993 | # Locking |
|
442 | 994 | config.add_route( |
|
443 | 995 | name='repo_edit_toggle_locking', |
|
444 | 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 | 1003 | # Remote |
|
447 | 1004 | config.add_route( |
|
448 | 1005 | name='edit_repo_remote', |
|
449 | 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 | 1013 | config.add_route( |
|
451 | 1014 | name='edit_repo_remote_pull', |
|
452 | 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 | 1022 | config.add_route( |
|
454 | 1023 | name='edit_repo_remote_push', |
|
455 | 1024 | pattern='/{repo_name:.*?[^/]}/settings/remote/push', repo_route=True) |
@@ -458,91 +1027,201 b' def includeme(config):' | |||
|
458 | 1027 | config.add_route( |
|
459 | 1028 | name='edit_repo_statistics', |
|
460 | 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 | 1036 | config.add_route( |
|
462 | 1037 | name='edit_repo_statistics_reset', |
|
463 | 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 | 1045 | # Issue trackers |
|
466 | 1046 | config.add_route( |
|
467 | 1047 | name='edit_repo_issuetracker', |
|
468 | 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 | 1055 | config.add_route( |
|
470 | 1056 | name='edit_repo_issuetracker_test', |
|
471 | 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 | 1064 | config.add_route( |
|
473 | 1065 | name='edit_repo_issuetracker_delete', |
|
474 | 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 | 1073 | config.add_route( |
|
476 | 1074 | name='edit_repo_issuetracker_update', |
|
477 | 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 | 1082 | # VCS Settings |
|
480 | 1083 | config.add_route( |
|
481 | 1084 | name='edit_repo_vcs', |
|
482 | 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 | 1092 | config.add_route( |
|
484 | 1093 | name='edit_repo_vcs_update', |
|
485 | 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 | 1101 | # svn pattern |
|
488 | 1102 | config.add_route( |
|
489 | 1103 | name='edit_repo_vcs_svn_pattern_delete', |
|
490 | 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 | 1111 | # Repo Review Rules (EE feature) |
|
493 | 1112 | config.add_route( |
|
494 | 1113 | name='repo_reviewers', |
|
495 | 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 | 1121 | config.add_route( |
|
498 | 1122 | name='repo_default_reviewers_data', |
|
499 | 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 | 1130 | # Repo Automation (EE feature) |
|
502 | 1131 | config.add_route( |
|
503 | 1132 | name='repo_automation', |
|
504 | 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 | 1140 | # Strip |
|
507 | 1141 | config.add_route( |
|
508 | 1142 | name='edit_repo_strip', |
|
509 | 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 | 1150 | config.add_route( |
|
512 | 1151 | name='strip_check', |
|
513 | 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 | 1159 | config.add_route( |
|
516 | 1160 | name='strip_execute', |
|
517 | 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 | 1168 | # Audit logs |
|
520 | 1169 | config.add_route( |
|
521 | 1170 | name='edit_repo_audit_logs', |
|
522 | 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 | 1178 | # ATOM/RSS Feed, shouldn't contain slashes for outlook compatibility |
|
525 | 1179 | config.add_route( |
|
526 | 1180 | name='rss_feed_home', |
|
527 | 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 | 1195 | config.add_route( |
|
530 | 1196 | name='atom_feed_home', |
|
531 | 1197 | pattern='/{repo_name:.*?[^/]}/feed-atom', repo_route=True) |
|
532 | ||
|
533 | config.add_route( | |
|
534 | name='rss_feed_home_old', | |
|
535 | pattern='/{repo_name:.*?[^/]}/feed/rss', repo_route=True) | |
|
1198 | config.add_view( | |
|
1199 | RepoFeedView, | |
|
1200 | attr='atom', | |
|
1201 | route_name='atom_feed_home', request_method='GET', renderer=None) | |
|
536 | 1202 | |
|
537 | 1203 | config.add_route( |
|
538 | 1204 | name='atom_feed_home_old', |
|
539 | 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 | 1211 | # NOTE(marcink): needs to be at the end for catch-all |
|
542 | 1212 | add_route_with_slash( |
|
543 | 1213 | config, |
|
544 | 1214 | name='repo_summary', |
|
545 | 1215 | pattern='/{repo_name:.*?[^/]}', repo_route=True) |
|
546 | ||
|
547 | # Scan module for configuration decorators. | |
|
548 | config.scan('.views', ignore='.tests') | |
|
1216 | config.add_view( | |
|
1217 | RepoSummaryView, | |
|
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 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | |
|
25 | 25 | from rhodecode.apps._base import RepoAppView |
|
26 | 26 | from rhodecode.lib.auth import ( |
@@ -39,9 +39,6 b' class RepoArtifactsView(RepoAppView):' | |||
|
39 | 39 | @LoginRequired() |
|
40 | 40 | @HasRepoPermissionAnyDecorator( |
|
41 | 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 | 42 | def repo_artifacts(self): |
|
46 | 43 | c = self.load_default_context() |
|
47 | 44 | c.active = 'artifacts' |
@@ -19,7 +19,7 b'' | |||
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | from pyramid.view import view_config | |
|
22 | ||
|
23 | 23 | |
|
24 | 24 | from rhodecode.apps._base import RepoAppView |
|
25 | 25 | from rhodecode.lib.helpers import SqlPage |
@@ -38,9 +38,6 b' class AuditLogsView(RepoAppView):' | |||
|
38 | 38 | |
|
39 | 39 | @LoginRequired() |
|
40 | 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 | 41 | def repo_audit_logs(self): |
|
45 | 42 | _ = self.request.translate |
|
46 | 43 | c = self.load_default_context() |
@@ -20,7 +20,7 b'' | |||
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | |
|
25 | 25 | from rhodecode.apps._base import RepoAppView |
|
26 | 26 | from rhodecode.apps.repository.utils import get_default_reviewers_data |
@@ -36,9 +36,6 b' class RepoAutomationView(RepoAppView):' | |||
|
36 | 36 | |
|
37 | 37 | @LoginRequired() |
|
38 | 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 | 39 | def repo_automation(self): |
|
43 | 40 | c = self.load_default_context() |
|
44 | 41 | c.active = 'automation' |
@@ -20,7 +20,7 b'' | |||
|
20 | 20 | import logging |
|
21 | 21 | |
|
22 | 22 | from pyramid.httpexceptions import HTTPNotFound |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | |
|
25 | 25 | from rhodecode.apps._base import BaseReferencesView |
|
26 | 26 | from rhodecode.lib.ext_json import json |
@@ -36,9 +36,6 b' class RepoBookmarksView(BaseReferencesVi' | |||
|
36 | 36 | @LoginRequired() |
|
37 | 37 | @HasRepoPermissionAnyDecorator( |
|
38 | 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 | 39 | def bookmarks(self): |
|
43 | 40 | c = self.load_default_context() |
|
44 | 41 |
@@ -20,7 +20,7 b'' | |||
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | |
|
25 | 25 | from rhodecode.apps._base import RepoAppView |
|
26 | 26 | from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator |
@@ -36,9 +36,6 b' class RepoSettingsBranchPermissionsView(' | |||
|
36 | 36 | |
|
37 | 37 | @LoginRequired() |
|
38 | 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 | 39 | def branch_permissions(self): |
|
43 | 40 | c = self.load_default_context() |
|
44 | 41 | c.active = 'permissions_branch' |
@@ -19,7 +19,7 b'' | |||
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | from pyramid.view import view_config | |
|
22 | ||
|
23 | 23 | |
|
24 | 24 | from rhodecode.apps._base import BaseReferencesView |
|
25 | 25 | from rhodecode.lib.ext_json import json |
@@ -34,9 +34,6 b' class RepoBranchesView(BaseReferencesVie' | |||
|
34 | 34 | @LoginRequired() |
|
35 | 35 | @HasRepoPermissionAnyDecorator( |
|
36 | 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 | 37 | def branches(self): |
|
41 | 38 | c = self.load_default_context() |
|
42 | 39 |
@@ -22,7 +22,7 b' import os' | |||
|
22 | 22 | import logging |
|
23 | 23 | |
|
24 | 24 | from pyramid.httpexceptions import HTTPFound |
|
25 | from pyramid.view import view_config | |
|
25 | ||
|
26 | 26 | |
|
27 | 27 | from rhodecode.apps._base import RepoAppView |
|
28 | 28 | from rhodecode.lib.auth import ( |
@@ -42,9 +42,6 b' class RepoCachesView(RepoAppView):' | |||
|
42 | 42 | |
|
43 | 43 | @LoginRequired() |
|
44 | 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 | 45 | def repo_caches(self): |
|
49 | 46 | c = self.load_default_context() |
|
50 | 47 | c.active = 'caches' |
@@ -65,8 +62,6 b' class RepoCachesView(RepoAppView):' | |||
|
65 | 62 | @LoginRequired() |
|
66 | 63 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
67 | 64 | @CSRFRequired() |
|
68 | @view_config( | |
|
69 | route_name='edit_repo_caches', request_method='POST') | |
|
70 | 65 | def repo_caches_purge(self): |
|
71 | 66 | _ = self.request.translate |
|
72 | 67 | c = self.load_default_context() |
@@ -22,7 +22,7 b'' | |||
|
22 | 22 | import logging |
|
23 | 23 | |
|
24 | 24 | from pyramid.httpexceptions import HTTPNotFound, HTTPFound |
|
25 | from pyramid.view import view_config | |
|
25 | ||
|
26 | 26 | from pyramid.renderers import render |
|
27 | 27 | from pyramid.response import Response |
|
28 | 28 | |
@@ -176,19 +176,6 b' class RepoChangelogView(RepoAppView):' | |||
|
176 | 176 | @LoginRequired() |
|
177 | 177 | @HasRepoPermissionAnyDecorator( |
|
178 | 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 | 179 | def repo_changelog(self): |
|
193 | 180 | c = self.load_default_context() |
|
194 | 181 | |
@@ -216,6 +203,7 b' class RepoChangelogView(RepoAppView):' | |||
|
216 | 203 | pre_load = self._get_preload_attrs() |
|
217 | 204 | |
|
218 | 205 | partial_xhr = self.request.environ.get('HTTP_X_PARTIAL_XHR') |
|
206 | ||
|
219 | 207 | try: |
|
220 | 208 | if f_path: |
|
221 | 209 | log.debug('generating changelog for path %s', f_path) |
@@ -258,8 +246,15 b' class RepoChangelogView(RepoAppView):' | |||
|
258 | 246 | except (RepositoryError, CommitDoesNotExistError, Exception) as e: |
|
259 | 247 | log.exception(safe_str(e)) |
|
260 | 248 | h.flash(safe_str(h.escape(e)), category='error') |
|
261 | raise HTTPFound( | |
|
262 | h.route_path('repo_commits', repo_name=self.db_repo_name)) | |
|
249 | ||
|
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 | 259 | if partial_xhr or self.request.environ.get('HTTP_X_PJAX'): |
|
265 | 260 | # case when loading dynamic file history in file view |
@@ -283,14 +278,6 b' class RepoChangelogView(RepoAppView):' | |||
|
283 | 278 | @LoginRequired() |
|
284 | 279 | @HasRepoPermissionAnyDecorator( |
|
285 | 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 | 281 | def repo_commits_elements(self): |
|
295 | 282 | c = self.load_default_context() |
|
296 | 283 | commit_id = self.request.matchdict.get('commit_id') |
@@ -20,10 +20,8 b'' | |||
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
24 | 23 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
25 | 24 | |
|
26 | from rhodecode import events | |
|
27 | 25 | from rhodecode.apps._base import BaseAppView |
|
28 | 26 | from rhodecode.lib import helpers as h |
|
29 | 27 | from rhodecode.lib.auth import (NotAnonymous, HasRepoPermissionAny) |
@@ -37,13 +35,9 b' log = logging.getLogger(__name__)' | |||
|
37 | 35 | class RepoChecksView(BaseAppView): |
|
38 | 36 | def load_default_context(self): |
|
39 | 37 | c = self._get_local_tmpl_context() |
|
40 | ||
|
41 | 38 | return c |
|
42 | 39 | |
|
43 | 40 | @NotAnonymous() |
|
44 | @view_config( | |
|
45 | route_name='repo_creating', request_method='GET', | |
|
46 | renderer='rhodecode:templates/admin/repos/repo_creating.mako') | |
|
47 | 41 | def repo_creating(self): |
|
48 | 42 | c = self.load_default_context() |
|
49 | 43 | repo_name = self.request.matchdict['repo_name'] |
@@ -71,9 +65,6 b' class RepoChecksView(BaseAppView):' | |||
|
71 | 65 | return self._get_template_context(c) |
|
72 | 66 | |
|
73 | 67 | @NotAnonymous() |
|
74 | @view_config( | |
|
75 | route_name='repo_creating_check', request_method='GET', | |
|
76 | renderer='json_ext') | |
|
77 | 68 | def repo_creating_check(self): |
|
78 | 69 | _ = self.request.translate |
|
79 | 70 | task_id = self.request.GET.get('task_id') |
@@ -23,7 +23,6 b' import collections' | |||
|
23 | 23 | |
|
24 | 24 | from pyramid.httpexceptions import ( |
|
25 | 25 | HTTPNotFound, HTTPBadRequest, HTTPFound, HTTPForbidden, HTTPConflict) |
|
26 | from pyramid.view import view_config | |
|
27 | 26 | from pyramid.renderers import render |
|
28 | 27 | from pyramid.response import Response |
|
29 | 28 | |
@@ -41,7 +40,7 b' from rhodecode.lib.diffs import (' | |||
|
41 | 40 | get_diff_whitespace_flag) |
|
42 | 41 | from rhodecode.lib.exceptions import StatusChangeOnClosedPullRequestError, CommentVersionMismatch |
|
43 | 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 | 44 | from rhodecode.lib.vcs.backends.base import EmptyCommit |
|
46 | 45 | from rhodecode.lib.vcs.exceptions import ( |
|
47 | 46 | RepositoryError, CommitDoesNotExistError) |
@@ -110,7 +109,7 b' class RepoCommitsView(RepoAppView):' | |||
|
110 | 109 | if not c.commit_ranges: |
|
111 | 110 | raise RepositoryError('The commit range returned an empty result') |
|
112 | 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 | 113 | h.flash(msg, category='error') |
|
115 | 114 | raise HTTPNotFound() |
|
116 | 115 | except Exception: |
@@ -340,9 +339,6 b' class RepoCommitsView(RepoAppView):' | |||
|
340 | 339 | @LoginRequired() |
|
341 | 340 | @HasRepoPermissionAnyDecorator( |
|
342 | 341 | 'repository.read', 'repository.write', 'repository.admin') |
|
343 | @view_config( | |
|
344 | route_name='repo_commit', request_method='GET', | |
|
345 | renderer=None) | |
|
346 | 342 | def repo_commit_show(self): |
|
347 | 343 | commit_id = self.request.matchdict['commit_id'] |
|
348 | 344 | return self._commit(commit_id, method='show') |
@@ -350,12 +346,6 b' class RepoCommitsView(RepoAppView):' | |||
|
350 | 346 | @LoginRequired() |
|
351 | 347 | @HasRepoPermissionAnyDecorator( |
|
352 | 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 | 349 | def repo_commit_raw(self): |
|
360 | 350 | commit_id = self.request.matchdict['commit_id'] |
|
361 | 351 | return self._commit(commit_id, method='raw') |
@@ -363,9 +353,6 b' class RepoCommitsView(RepoAppView):' | |||
|
363 | 353 | @LoginRequired() |
|
364 | 354 | @HasRepoPermissionAnyDecorator( |
|
365 | 355 | 'repository.read', 'repository.write', 'repository.admin') |
|
366 | @view_config( | |
|
367 | route_name='repo_commit_patch', request_method='GET', | |
|
368 | renderer=None) | |
|
369 | 356 | def repo_commit_patch(self): |
|
370 | 357 | commit_id = self.request.matchdict['commit_id'] |
|
371 | 358 | return self._commit(commit_id, method='patch') |
@@ -373,9 +360,6 b' class RepoCommitsView(RepoAppView):' | |||
|
373 | 360 | @LoginRequired() |
|
374 | 361 | @HasRepoPermissionAnyDecorator( |
|
375 | 362 | 'repository.read', 'repository.write', 'repository.admin') |
|
376 | @view_config( | |
|
377 | route_name='repo_commit_download', request_method='GET', | |
|
378 | renderer=None) | |
|
379 | 363 | def repo_commit_download(self): |
|
380 | 364 | commit_id = self.request.matchdict['commit_id'] |
|
381 | 365 | return self._commit(commit_id, method='download') |
@@ -500,9 +484,6 b' class RepoCommitsView(RepoAppView):' | |||
|
500 | 484 | @HasRepoPermissionAnyDecorator( |
|
501 | 485 | 'repository.read', 'repository.write', 'repository.admin') |
|
502 | 486 | @CSRFRequired() |
|
503 | @view_config( | |
|
504 | route_name='repo_commit_comment_create', request_method='POST', | |
|
505 | renderer='json_ext') | |
|
506 | 487 | def repo_commit_comment_create(self): |
|
507 | 488 | _ = self.request.translate |
|
508 | 489 | commit_id = self.request.matchdict['commit_id'] |
@@ -538,9 +519,6 b' class RepoCommitsView(RepoAppView):' | |||
|
538 | 519 | @HasRepoPermissionAnyDecorator( |
|
539 | 520 | 'repository.read', 'repository.write', 'repository.admin') |
|
540 | 521 | @CSRFRequired() |
|
541 | @view_config( | |
|
542 | route_name='repo_commit_comment_preview', request_method='POST', | |
|
543 | renderer='string', xhr=True) | |
|
544 | 522 | def repo_commit_comment_preview(self): |
|
545 | 523 | # Technically a CSRF token is not needed as no state changes with this |
|
546 | 524 | # call. However, as this is a POST is better to have it, so automated |
@@ -559,9 +537,6 b' class RepoCommitsView(RepoAppView):' | |||
|
559 | 537 | @HasRepoPermissionAnyDecorator( |
|
560 | 538 | 'repository.read', 'repository.write', 'repository.admin') |
|
561 | 539 | @CSRFRequired() |
|
562 | @view_config( | |
|
563 | route_name='repo_commit_comment_history_view', request_method='POST', | |
|
564 | renderer='string', xhr=True) | |
|
565 | 540 | def repo_commit_comment_history_view(self): |
|
566 | 541 | c = self.load_default_context() |
|
567 | 542 | |
@@ -587,9 +562,6 b' class RepoCommitsView(RepoAppView):' | |||
|
587 | 562 | @HasRepoPermissionAnyDecorator( |
|
588 | 563 | 'repository.read', 'repository.write', 'repository.admin') |
|
589 | 564 | @CSRFRequired() |
|
590 | @view_config( | |
|
591 | route_name='repo_commit_comment_attachment_upload', request_method='POST', | |
|
592 | renderer='json_ext', xhr=True) | |
|
593 | 565 | def repo_commit_comment_attachment_upload(self): |
|
594 | 566 | c = self.load_default_context() |
|
595 | 567 | upload_key = 'attachment' |
@@ -682,9 +654,6 b' class RepoCommitsView(RepoAppView):' | |||
|
682 | 654 | @HasRepoPermissionAnyDecorator( |
|
683 | 655 | 'repository.read', 'repository.write', 'repository.admin') |
|
684 | 656 | @CSRFRequired() |
|
685 | @view_config( | |
|
686 | route_name='repo_commit_comment_delete', request_method='POST', | |
|
687 | renderer='json_ext') | |
|
688 | 657 | def repo_commit_comment_delete(self): |
|
689 | 658 | commit_id = self.request.matchdict['commit_id'] |
|
690 | 659 | comment_id = self.request.matchdict['comment_id'] |
@@ -719,9 +688,6 b' class RepoCommitsView(RepoAppView):' | |||
|
719 | 688 | @HasRepoPermissionAnyDecorator( |
|
720 | 689 | 'repository.read', 'repository.write', 'repository.admin') |
|
721 | 690 | @CSRFRequired() |
|
722 | @view_config( | |
|
723 | route_name='repo_commit_comment_edit', request_method='POST', | |
|
724 | renderer='json_ext') | |
|
725 | 691 | def repo_commit_comment_edit(self): |
|
726 | 692 | self.load_default_context() |
|
727 | 693 | |
@@ -802,9 +768,6 b' class RepoCommitsView(RepoAppView):' | |||
|
802 | 768 | @LoginRequired() |
|
803 | 769 | @HasRepoPermissionAnyDecorator( |
|
804 | 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 | 771 | def repo_commit_data(self): |
|
809 | 772 | commit_id = self.request.matchdict['commit_id'] |
|
810 | 773 | self.load_default_context() |
@@ -817,9 +780,6 b' class RepoCommitsView(RepoAppView):' | |||
|
817 | 780 | @LoginRequired() |
|
818 | 781 | @HasRepoPermissionAnyDecorator( |
|
819 | 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 | 783 | def repo_commit_children(self): |
|
824 | 784 | commit_id = self.request.matchdict['commit_id'] |
|
825 | 785 | self.load_default_context() |
@@ -836,9 +796,6 b' class RepoCommitsView(RepoAppView):' | |||
|
836 | 796 | @LoginRequired() |
|
837 | 797 | @HasRepoPermissionAnyDecorator( |
|
838 | 798 | 'repository.read', 'repository.write', 'repository.admin') |
|
839 | @view_config( | |
|
840 | route_name='repo_commit_parents', request_method='GET', | |
|
841 | renderer='json_ext') | |
|
842 | 799 | def repo_commit_parents(self): |
|
843 | 800 | commit_id = self.request.matchdict['commit_id'] |
|
844 | 801 | self.load_default_context() |
@@ -22,7 +22,7 b'' | |||
|
22 | 22 | import logging |
|
23 | 23 | |
|
24 | 24 | from pyramid.httpexceptions import HTTPBadRequest, HTTPNotFound, HTTPFound |
|
25 | from pyramid.view import view_config | |
|
25 | ||
|
26 | 26 | from pyramid.renderers import render |
|
27 | 27 | from pyramid.response import Response |
|
28 | 28 | |
@@ -79,9 +79,6 b' class RepoCompareView(RepoAppView):' | |||
|
79 | 79 | @LoginRequired() |
|
80 | 80 | @HasRepoPermissionAnyDecorator( |
|
81 | 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 | 82 | def compare_select(self): |
|
86 | 83 | _ = self.request.translate |
|
87 | 84 | c = self.load_default_context() |
@@ -111,9 +108,6 b' class RepoCompareView(RepoAppView):' | |||
|
111 | 108 | @LoginRequired() |
|
112 | 109 | @HasRepoPermissionAnyDecorator( |
|
113 | 110 | 'repository.read', 'repository.write', 'repository.admin') |
|
114 | @view_config( | |
|
115 | route_name='repo_compare', request_method='GET', | |
|
116 | renderer=None) | |
|
117 | 111 | def compare(self): |
|
118 | 112 | _ = self.request.translate |
|
119 | 113 | c = self.load_default_context() |
@@ -20,10 +20,8 b'' | |||
|
20 | 20 | import pytz |
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
24 | 23 | from pyramid.response import Response |
|
25 | 24 | |
|
26 | ||
|
27 | 25 | from rhodecode.apps._base import RepoAppView |
|
28 | 26 | from rhodecode.lib.feedgenerator import Rss201rev2Feed, Atom1Feed |
|
29 | 27 | from rhodecode.lib import audit_logger |
@@ -118,8 +116,6 b' class RepoFeedView(RepoAppView):' | |||
|
118 | 116 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
119 | 117 | @HasRepoPermissionAnyDecorator( |
|
120 | 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 | 119 | def atom(self): |
|
124 | 120 | """ |
|
125 | 121 | Produce an atom-1.0 feed via feedgenerator module |
@@ -166,8 +162,6 b' class RepoFeedView(RepoAppView):' | |||
|
166 | 162 | @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED]) |
|
167 | 163 | @HasRepoPermissionAnyDecorator( |
|
168 | 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 | 165 | def rss(self): |
|
172 | 166 | """ |
|
173 | 167 | Produce an rss2 feed via feedgenerator module |
@@ -28,7 +28,7 b' import urllib' | |||
|
28 | 28 | import pathlib2 |
|
29 | 29 | |
|
30 | 30 | from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest, HTTPFound |
|
31 | from pyramid.view import view_config | |
|
31 | ||
|
32 | 32 | from pyramid.renderers import render |
|
33 | 33 | from pyramid.response import Response |
|
34 | 34 | |
@@ -343,9 +343,6 b' class RepoFilesView(RepoAppView):' | |||
|
343 | 343 | @LoginRequired() |
|
344 | 344 | @HasRepoPermissionAnyDecorator( |
|
345 | 345 | 'repository.read', 'repository.write', 'repository.admin') |
|
346 | @view_config( | |
|
347 | route_name='repo_archivefile', request_method='GET', | |
|
348 | renderer=None) | |
|
349 | 346 | def repo_archivefile(self): |
|
350 | 347 | # archive cache config |
|
351 | 348 | from rhodecode import CONFIG |
@@ -496,9 +493,6 b' class RepoFilesView(RepoAppView):' | |||
|
496 | 493 | @LoginRequired() |
|
497 | 494 | @HasRepoPermissionAnyDecorator( |
|
498 | 495 | 'repository.read', 'repository.write', 'repository.admin') |
|
499 | @view_config( | |
|
500 | route_name='repo_files_diff', request_method='GET', | |
|
501 | renderer=None) | |
|
502 | 496 | def repo_files_diff(self): |
|
503 | 497 | c = self.load_default_context() |
|
504 | 498 | f_path = self._get_f_path(self.request.matchdict) |
@@ -581,9 +575,6 b' class RepoFilesView(RepoAppView):' | |||
|
581 | 575 | @LoginRequired() |
|
582 | 576 | @HasRepoPermissionAnyDecorator( |
|
583 | 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 | 578 | def repo_files_diff_2way_redirect(self): |
|
588 | 579 | """ |
|
589 | 580 | Kept only to make OLD links work |
@@ -610,10 +601,11 b' class RepoFilesView(RepoAppView):' | |||
|
610 | 601 | raise HTTPFound(compare_url) |
|
611 | 602 | |
|
612 | 603 | @LoginRequired() |
|
613 | @view_config( | |
|
614 | route_name='repo_files:default_commit', request_method='GET', | |
|
615 | renderer=None) | |
|
616 | def repo_files_default(self): | |
|
604 | def repo_files_default_commit_redirect(self): | |
|
605 | """ | |
|
606 | Special page that redirects to the landing page of files based on the default | |
|
607 | commit for repository | |
|
608 | """ | |
|
617 | 609 | c = self.load_default_context() |
|
618 | 610 | ref_name = c.rhodecode_db_repo.landing_ref_name |
|
619 | 611 | landing_url = h.repo_files_by_ref_url( |
@@ -630,18 +622,6 b' class RepoFilesView(RepoAppView):' | |||
|
630 | 622 | @LoginRequired() |
|
631 | 623 | @HasRepoPermissionAnyDecorator( |
|
632 | 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 | 625 | def repo_files(self): |
|
646 | 626 | c = self.load_default_context() |
|
647 | 627 | |
@@ -759,9 +739,6 b' class RepoFilesView(RepoAppView):' | |||
|
759 | 739 | |
|
760 | 740 | @HasRepoPermissionAnyDecorator( |
|
761 | 741 | 'repository.read', 'repository.write', 'repository.admin') |
|
762 | @view_config( | |
|
763 | route_name='repo_files:annotated_previous', request_method='GET', | |
|
764 | renderer=None) | |
|
765 | 742 | def repo_files_annotated_previous(self): |
|
766 | 743 | self.load_default_context() |
|
767 | 744 | |
@@ -790,12 +767,6 b' class RepoFilesView(RepoAppView):' | |||
|
790 | 767 | @LoginRequired() |
|
791 | 768 | @HasRepoPermissionAnyDecorator( |
|
792 | 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 | 770 | def repo_nodetree_full(self): |
|
800 | 771 | """ |
|
801 | 772 | Returns rendered html of file tree that contains commit date, |
@@ -835,9 +806,6 b' class RepoFilesView(RepoAppView):' | |||
|
835 | 806 | @LoginRequired() |
|
836 | 807 | @HasRepoPermissionAnyDecorator( |
|
837 | 808 | 'repository.read', 'repository.write', 'repository.admin') |
|
838 | @view_config( | |
|
839 | route_name='repo_file_raw', request_method='GET', | |
|
840 | renderer=None) | |
|
841 | 809 | def repo_file_raw(self): |
|
842 | 810 | """ |
|
843 | 811 | Action for show as raw, some mimetypes are "rendered", |
@@ -902,12 +870,6 b' class RepoFilesView(RepoAppView):' | |||
|
902 | 870 | @LoginRequired() |
|
903 | 871 | @HasRepoPermissionAnyDecorator( |
|
904 | 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 | 873 | def repo_file_download(self): |
|
912 | 874 | c = self.load_default_context() |
|
913 | 875 | |
@@ -972,9 +934,6 b' class RepoFilesView(RepoAppView):' | |||
|
972 | 934 | @LoginRequired() |
|
973 | 935 | @HasRepoPermissionAnyDecorator( |
|
974 | 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 | 937 | def repo_nodelist(self): |
|
979 | 938 | self.load_default_context() |
|
980 | 939 | |
@@ -1059,9 +1018,6 b' class RepoFilesView(RepoAppView):' | |||
|
1059 | 1018 | @LoginRequired() |
|
1060 | 1019 | @HasRepoPermissionAnyDecorator( |
|
1061 | 1020 | 'repository.read', 'repository.write', 'repository.admin') |
|
1062 | @view_config( | |
|
1063 | route_name='repo_file_history', request_method='GET', | |
|
1064 | renderer='json_ext') | |
|
1065 | 1021 | def repo_file_history(self): |
|
1066 | 1022 | self.load_default_context() |
|
1067 | 1023 | |
@@ -1105,9 +1061,6 b' class RepoFilesView(RepoAppView):' | |||
|
1105 | 1061 | @LoginRequired() |
|
1106 | 1062 | @HasRepoPermissionAnyDecorator( |
|
1107 | 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 | 1064 | def repo_file_authors(self): |
|
1112 | 1065 | c = self.load_default_context() |
|
1113 | 1066 | |
@@ -1149,9 +1102,6 b' class RepoFilesView(RepoAppView):' | |||
|
1149 | 1102 | |
|
1150 | 1103 | @LoginRequired() |
|
1151 | 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 | 1105 | def repo_files_check_head(self): |
|
1156 | 1106 | self.load_default_context() |
|
1157 | 1107 | |
@@ -1186,9 +1136,6 b' class RepoFilesView(RepoAppView):' | |||
|
1186 | 1136 | |
|
1187 | 1137 | @LoginRequired() |
|
1188 | 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 | 1139 | def repo_files_remove_file(self): |
|
1193 | 1140 | _ = self.request.translate |
|
1194 | 1141 | c = self.load_default_context() |
@@ -1214,9 +1161,6 b' class RepoFilesView(RepoAppView):' | |||
|
1214 | 1161 | @LoginRequired() |
|
1215 | 1162 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1216 | 1163 | @CSRFRequired() |
|
1217 | @view_config( | |
|
1218 | route_name='repo_files_delete_file', request_method='POST', | |
|
1219 | renderer=None) | |
|
1220 | 1164 | def repo_files_delete_file(self): |
|
1221 | 1165 | _ = self.request.translate |
|
1222 | 1166 | |
@@ -1266,9 +1210,6 b' class RepoFilesView(RepoAppView):' | |||
|
1266 | 1210 | |
|
1267 | 1211 | @LoginRequired() |
|
1268 | 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 | 1213 | def repo_files_edit_file(self): |
|
1273 | 1214 | _ = self.request.translate |
|
1274 | 1215 | c = self.load_default_context() |
@@ -1300,9 +1241,6 b' class RepoFilesView(RepoAppView):' | |||
|
1300 | 1241 | @LoginRequired() |
|
1301 | 1242 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1302 | 1243 | @CSRFRequired() |
|
1303 | @view_config( | |
|
1304 | route_name='repo_files_update_file', request_method='POST', | |
|
1305 | renderer=None) | |
|
1306 | 1244 | def repo_files_update_file(self): |
|
1307 | 1245 | _ = self.request.translate |
|
1308 | 1246 | c = self.load_default_context() |
@@ -1384,12 +1322,6 b' class RepoFilesView(RepoAppView):' | |||
|
1384 | 1322 | |
|
1385 | 1323 | @LoginRequired() |
|
1386 | 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 | 1325 | def repo_files_add_file(self): |
|
1394 | 1326 | _ = self.request.translate |
|
1395 | 1327 | c = self.load_default_context() |
@@ -1421,9 +1353,6 b' class RepoFilesView(RepoAppView):' | |||
|
1421 | 1353 | @LoginRequired() |
|
1422 | 1354 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1423 | 1355 | @CSRFRequired() |
|
1424 | @view_config( | |
|
1425 | route_name='repo_files_create_file', request_method='POST', | |
|
1426 | renderer=None) | |
|
1427 | 1356 | def repo_files_create_file(self): |
|
1428 | 1357 | _ = self.request.translate |
|
1429 | 1358 | c = self.load_default_context() |
@@ -1518,9 +1447,6 b' class RepoFilesView(RepoAppView):' | |||
|
1518 | 1447 | @LoginRequired() |
|
1519 | 1448 | @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin') |
|
1520 | 1449 | @CSRFRequired() |
|
1521 | @view_config( | |
|
1522 | route_name='repo_files_upload_file', request_method='POST', | |
|
1523 | renderer='json_ext') | |
|
1524 | 1450 | def repo_files_upload_file(self): |
|
1525 | 1451 | _ = self.request.translate |
|
1526 | 1452 | c = self.load_default_context() |
@@ -24,7 +24,7 b' import formencode' | |||
|
24 | 24 | import formencode.htmlfill |
|
25 | 25 | |
|
26 | 26 | from pyramid.httpexceptions import HTTPFound |
|
27 | from pyramid.view import view_config | |
|
27 | ||
|
28 | 28 | from pyramid.renderers import render |
|
29 | 29 | from pyramid.response import Response |
|
30 | 30 | |
@@ -64,9 +64,6 b' class RepoForksView(RepoAppView, DataGri' | |||
|
64 | 64 | @LoginRequired() |
|
65 | 65 | @HasRepoPermissionAnyDecorator( |
|
66 | 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 | 67 | def repo_forks_show_all(self): |
|
71 | 68 | c = self.load_default_context() |
|
72 | 69 | return self._get_template_context(c) |
@@ -74,9 +71,6 b' class RepoForksView(RepoAppView, DataGri' | |||
|
74 | 71 | @LoginRequired() |
|
75 | 72 | @HasRepoPermissionAnyDecorator( |
|
76 | 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 | 74 | def repo_forks_data(self): |
|
81 | 75 | _ = self.request.translate |
|
82 | 76 | self.load_default_context() |
@@ -174,9 +168,6 b' class RepoForksView(RepoAppView, DataGri' | |||
|
174 | 168 | @HasPermissionAnyDecorator('hg.admin', 'hg.fork.repository') |
|
175 | 169 | @HasRepoPermissionAnyDecorator( |
|
176 | 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 | 171 | def repo_fork_new(self): |
|
181 | 172 | c = self.load_default_context() |
|
182 | 173 | |
@@ -204,9 +195,6 b' class RepoForksView(RepoAppView, DataGri' | |||
|
204 | 195 | @HasRepoPermissionAnyDecorator( |
|
205 | 196 | 'repository.read', 'repository.write', 'repository.admin') |
|
206 | 197 | @CSRFRequired() |
|
207 | @view_config( | |
|
208 | route_name='repo_fork_create', request_method='POST', | |
|
209 | renderer='rhodecode:templates/forks/fork.mako') | |
|
210 | 198 | def repo_fork_create(self): |
|
211 | 199 | _ = self.request.translate |
|
212 | 200 | c = self.load_default_context() |
@@ -20,7 +20,7 b'' | |||
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | |
|
25 | 25 | from rhodecode.apps._base import RepoAppView |
|
26 | 26 | from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator |
@@ -36,9 +36,6 b' class RepoMaintenanceView(RepoAppView):' | |||
|
36 | 36 | |
|
37 | 37 | @LoginRequired() |
|
38 | 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 | 39 | def repo_maintenance(self): |
|
43 | 40 | c = self.load_default_context() |
|
44 | 41 | c.active = 'maintenance' |
@@ -48,9 +45,6 b' class RepoMaintenanceView(RepoAppView):' | |||
|
48 | 45 | |
|
49 | 46 | @LoginRequired() |
|
50 | 47 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
51 | @view_config( | |
|
52 | route_name='edit_repo_maintenance_execute', request_method='GET', | |
|
53 | renderer='json', xhr=True) | |
|
54 | 48 | def repo_maintenance_execute(self): |
|
55 | 49 | c = self.load_default_context() |
|
56 | 50 | c.active = 'maintenance' |
@@ -21,7 +21,6 b'' | |||
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | 23 | from pyramid.httpexceptions import HTTPFound |
|
24 | from pyramid.view import view_config | |
|
25 | 24 | |
|
26 | 25 | from rhodecode.apps._base import RepoAppView |
|
27 | 26 | from rhodecode.lib import helpers as h |
@@ -46,9 +45,6 b' class RepoSettingsPermissionsView(RepoAp' | |||
|
46 | 45 | |
|
47 | 46 | @LoginRequired() |
|
48 | 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 | 48 | def edit_permissions(self): |
|
53 | 49 | _ = self.request.translate |
|
54 | 50 | c = self.load_default_context() |
@@ -62,9 +58,6 b' class RepoSettingsPermissionsView(RepoAp' | |||
|
62 | 58 | @LoginRequired() |
|
63 | 59 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
64 | 60 | @CSRFRequired() |
|
65 | @view_config( | |
|
66 | route_name='edit_repo_perms', request_method='POST', | |
|
67 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |
|
68 | 61 | def edit_permissions_update(self): |
|
69 | 62 | _ = self.request.translate |
|
70 | 63 | c = self.load_default_context() |
@@ -104,9 +97,6 b' class RepoSettingsPermissionsView(RepoAp' | |||
|
104 | 97 | @LoginRequired() |
|
105 | 98 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
106 | 99 | @CSRFRequired() |
|
107 | @view_config( | |
|
108 | route_name='edit_repo_perms_set_private', request_method='POST', | |
|
109 | renderer='json_ext') | |
|
110 | 100 | def edit_permissions_set_private_repo(self): |
|
111 | 101 | _ = self.request.translate |
|
112 | 102 | self.load_default_context() |
@@ -26,7 +26,7 b' import formencode.htmlfill' | |||
|
26 | 26 | import peppercorn |
|
27 | 27 | from pyramid.httpexceptions import ( |
|
28 | 28 | HTTPFound, HTTPNotFound, HTTPForbidden, HTTPBadRequest, HTTPConflict) |
|
29 | from pyramid.view import view_config | |
|
29 | ||
|
30 | 30 | from pyramid.renderers import render |
|
31 | 31 | |
|
32 | 32 | from rhodecode.apps._base import RepoAppView, DataGridAppView |
@@ -147,9 +147,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
147 | 147 | @LoginRequired() |
|
148 | 148 | @HasRepoPermissionAnyDecorator( |
|
149 | 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 | 150 | def pull_request_list(self): |
|
154 | 151 | c = self.load_default_context() |
|
155 | 152 | |
@@ -177,9 +174,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
177 | 174 | @LoginRequired() |
|
178 | 175 | @HasRepoPermissionAnyDecorator( |
|
179 | 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 | 177 | def pull_request_list_data(self): |
|
184 | 178 | self.load_default_context() |
|
185 | 179 | |
@@ -221,9 +215,13 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
221 | 215 | target_commit, source_commit, diff_limit, file_limit, |
|
222 | 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 | 221 | if use_ancestor: |
|
225 | 222 | # we might want to not use it for versions |
|
226 | 223 | target_ref_id = ancestor_commit.raw_id |
|
224 | target_commit_final = ancestor_commit | |
|
227 | 225 | |
|
228 | 226 | vcs_diff = PullRequestModel().get_diff( |
|
229 | 227 | source_repo, source_ref_id, target_ref_id, |
@@ -238,11 +236,11 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
238 | 236 | diffset = codeblocks.DiffSet( |
|
239 | 237 | repo_name=self.db_repo_name, |
|
240 | 238 | source_repo_name=source_repo_name, |
|
241 | source_node_getter=codeblocks.diffset_node_getter(target_commit), | |
|
242 | target_node_getter=codeblocks.diffset_node_getter(source_commit), | |
|
239 | source_node_getter=codeblocks.diffset_node_getter(target_commit_final), | |
|
240 | target_node_getter=codeblocks.diffset_node_getter(source_commit_final), | |
|
243 | 241 | ) |
|
244 | 242 | diffset = self.path_filter.render_patchset_filtered( |
|
245 |
diffset, _parsed, target_ |
|
|
243 | diffset, _parsed, target_ref_id, source_ref_id) | |
|
246 | 244 | |
|
247 | 245 | return diffset |
|
248 | 246 | |
@@ -307,9 +305,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
307 | 305 | @LoginRequired() |
|
308 | 306 | @HasRepoPermissionAnyDecorator( |
|
309 | 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 | 308 | def pull_request_show(self): |
|
314 | 309 | _ = self.request.translate |
|
315 | 310 | c = self.load_default_context() |
@@ -838,9 +833,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
838 | 833 | @NotAnonymous() |
|
839 | 834 | @HasRepoPermissionAnyDecorator( |
|
840 | 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 | 836 | def pull_request_new(self): |
|
845 | 837 | _ = self.request.translate |
|
846 | 838 | c = self.load_default_context() |
@@ -898,9 +890,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
898 | 890 | @NotAnonymous() |
|
899 | 891 | @HasRepoPermissionAnyDecorator( |
|
900 | 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 | 893 | def pull_request_repo_refs(self): |
|
905 | 894 | self.load_default_context() |
|
906 | 895 | target_repo_name = self.request.matchdict['target_repo_name'] |
@@ -921,9 +910,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
921 | 910 | @NotAnonymous() |
|
922 | 911 | @HasRepoPermissionAnyDecorator( |
|
923 | 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 | 913 | def pullrequest_repo_targets(self): |
|
928 | 914 | _ = self.request.translate |
|
929 | 915 | filter_query = self.request.GET.get('query') |
@@ -994,9 +980,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
994 | 980 | @NotAnonymous() |
|
995 | 981 | @HasRepoPermissionAnyDecorator( |
|
996 | 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 | 983 | def pullrequest_comments(self): |
|
1001 | 984 | self.load_default_context() |
|
1002 | 985 | |
@@ -1034,9 +1017,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
1034 | 1017 | @NotAnonymous() |
|
1035 | 1018 | @HasRepoPermissionAnyDecorator( |
|
1036 | 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 | 1020 | def pullrequest_todos(self): |
|
1041 | 1021 | self.load_default_context() |
|
1042 | 1022 | |
@@ -1076,9 +1056,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
1076 | 1056 | @NotAnonymous() |
|
1077 | 1057 | @HasRepoPermissionAnyDecorator( |
|
1078 | 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 | 1059 | def pullrequest_drafts(self): |
|
1083 | 1060 | self.load_default_context() |
|
1084 | 1061 | |
@@ -1119,9 +1096,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
1119 | 1096 | @HasRepoPermissionAnyDecorator( |
|
1120 | 1097 | 'repository.read', 'repository.write', 'repository.admin') |
|
1121 | 1098 | @CSRFRequired() |
|
1122 | @view_config( | |
|
1123 | route_name='pullrequest_create', request_method='POST', | |
|
1124 | renderer=None) | |
|
1125 | 1099 | def pull_request_create(self): |
|
1126 | 1100 | _ = self.request.translate |
|
1127 | 1101 | self.assure_not_empty_repo() |
@@ -1277,9 +1251,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
1277 | 1251 | @HasRepoPermissionAnyDecorator( |
|
1278 | 1252 | 'repository.read', 'repository.write', 'repository.admin') |
|
1279 | 1253 | @CSRFRequired() |
|
1280 | @view_config( | |
|
1281 | route_name='pullrequest_update', request_method='POST', | |
|
1282 | renderer='json_ext') | |
|
1283 | 1254 | def pull_request_update(self): |
|
1284 | 1255 | pull_request = PullRequest.get_or_404( |
|
1285 | 1256 | self.request.matchdict['pull_request_id']) |
@@ -1461,9 +1432,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
1461 | 1432 | @HasRepoPermissionAnyDecorator( |
|
1462 | 1433 | 'repository.read', 'repository.write', 'repository.admin') |
|
1463 | 1434 | @CSRFRequired() |
|
1464 | @view_config( | |
|
1465 | route_name='pullrequest_merge', request_method='POST', | |
|
1466 | renderer='json_ext') | |
|
1467 | 1435 | def pull_request_merge(self): |
|
1468 | 1436 | """ |
|
1469 | 1437 | Merge will perform a server-side merge of the specified |
@@ -1537,9 +1505,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
1537 | 1505 | @HasRepoPermissionAnyDecorator( |
|
1538 | 1506 | 'repository.read', 'repository.write', 'repository.admin') |
|
1539 | 1507 | @CSRFRequired() |
|
1540 | @view_config( | |
|
1541 | route_name='pullrequest_delete', request_method='POST', | |
|
1542 | renderer='json_ext') | |
|
1543 | 1508 | def pull_request_delete(self): |
|
1544 | 1509 | _ = self.request.translate |
|
1545 | 1510 | |
@@ -1715,9 +1680,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
1715 | 1680 | @HasRepoPermissionAnyDecorator( |
|
1716 | 1681 | 'repository.read', 'repository.write', 'repository.admin') |
|
1717 | 1682 | @CSRFRequired() |
|
1718 | @view_config( | |
|
1719 | route_name='pullrequest_comment_create', request_method='POST', | |
|
1720 | renderer='json_ext') | |
|
1721 | 1683 | def pull_request_comment_create(self): |
|
1722 | 1684 | _ = self.request.translate |
|
1723 | 1685 | |
@@ -1752,9 +1714,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
1752 | 1714 | @HasRepoPermissionAnyDecorator( |
|
1753 | 1715 | 'repository.read', 'repository.write', 'repository.admin') |
|
1754 | 1716 | @CSRFRequired() |
|
1755 | @view_config( | |
|
1756 | route_name='pullrequest_comment_delete', request_method='POST', | |
|
1757 | renderer='json_ext') | |
|
1758 | 1717 | def pull_request_comment_delete(self): |
|
1759 | 1718 | pull_request = PullRequest.get_or_404( |
|
1760 | 1719 | self.request.matchdict['pull_request_id']) |
@@ -1806,9 +1765,6 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
1806 | 1765 | @HasRepoPermissionAnyDecorator( |
|
1807 | 1766 | 'repository.read', 'repository.write', 'repository.admin') |
|
1808 | 1767 | @CSRFRequired() |
|
1809 | @view_config( | |
|
1810 | route_name='pullrequest_comment_edit', request_method='POST', | |
|
1811 | renderer='json_ext') | |
|
1812 | 1768 | def pull_request_comment_edit(self): |
|
1813 | 1769 | self.load_default_context() |
|
1814 | 1770 |
@@ -20,7 +20,7 b'' | |||
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | |
|
25 | 25 | from rhodecode.apps._base import RepoAppView |
|
26 | 26 | from rhodecode.apps.repository.utils import get_default_reviewers_data |
@@ -38,9 +38,6 b' class RepoReviewRulesView(RepoAppView):' | |||
|
38 | 38 | |
|
39 | 39 | @LoginRequired() |
|
40 | 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 | 41 | def repo_review_rules(self): |
|
45 | 42 | c = self.load_default_context() |
|
46 | 43 | c.active = 'reviewers' |
@@ -50,9 +47,6 b' class RepoReviewRulesView(RepoAppView):' | |||
|
50 | 47 | @LoginRequired() |
|
51 | 48 | @HasRepoPermissionAnyDecorator( |
|
52 | 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 | 50 | def repo_default_reviewers_data(self): |
|
57 | 51 | self.load_default_context() |
|
58 | 52 |
@@ -22,7 +22,6 b' import logging' | |||
|
22 | 22 | |
|
23 | 23 | import deform |
|
24 | 24 | from pyramid.httpexceptions import HTTPFound |
|
25 | from pyramid.view import view_config | |
|
26 | 25 | |
|
27 | 26 | from rhodecode import events |
|
28 | 27 | from rhodecode.apps._base import RepoAppView |
@@ -90,9 +89,6 b' class RepoSettingsView(RepoAppView):' | |||
|
90 | 89 | |
|
91 | 90 | @LoginRequired() |
|
92 | 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 | 92 | def edit_settings(self): |
|
97 | 93 | c = self.load_default_context() |
|
98 | 94 | c.active = 'settings' |
@@ -108,9 +104,6 b' class RepoSettingsView(RepoAppView):' | |||
|
108 | 104 | @LoginRequired() |
|
109 | 105 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
110 | 106 | @CSRFRequired() |
|
111 | @view_config( | |
|
112 | route_name='edit_repo', request_method='POST', | |
|
113 | renderer='rhodecode:templates/admin/repos/repo_edit.mako') | |
|
114 | 107 | def edit_settings_update(self): |
|
115 | 108 | _ = self.request.translate |
|
116 | 109 | c = self.load_default_context() |
@@ -192,9 +185,6 b' class RepoSettingsView(RepoAppView):' | |||
|
192 | 185 | |
|
193 | 186 | @LoginRequired() |
|
194 | 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 | 188 | def toggle_locking(self): |
|
199 | 189 | """ |
|
200 | 190 | Toggle locking of repository by simple GET call to url |
@@ -224,9 +214,6 b' class RepoSettingsView(RepoAppView):' | |||
|
224 | 214 | |
|
225 | 215 | @LoginRequired() |
|
226 | 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 | 217 | def edit_statistics_form(self): |
|
231 | 218 | c = self.load_default_context() |
|
232 | 219 | |
@@ -250,9 +237,6 b' class RepoSettingsView(RepoAppView):' | |||
|
250 | 237 | @LoginRequired() |
|
251 | 238 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
252 | 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 | 240 | def repo_statistics_reset(self): |
|
257 | 241 | _ = self.request.translate |
|
258 | 242 |
@@ -20,7 +20,7 b'' | |||
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | from pyramid.httpexceptions import HTTPFound |
|
25 | 25 | from packaging.version import Version |
|
26 | 26 | |
@@ -42,7 +42,7 b' from rhodecode.model.scm import ScmModel' | |||
|
42 | 42 | log = logging.getLogger(__name__) |
|
43 | 43 | |
|
44 | 44 | |
|
45 | class RepoSettingsView(RepoAppView): | |
|
45 | class RepoSettingsAdvancedView(RepoAppView): | |
|
46 | 46 | |
|
47 | 47 | def load_default_context(self): |
|
48 | 48 | c = self._get_local_tmpl_context() |
@@ -57,9 +57,6 b' class RepoSettingsView(RepoAppView):' | |||
|
57 | 57 | |
|
58 | 58 | @LoginRequired() |
|
59 | 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 | 60 | def edit_advanced(self): |
|
64 | 61 | _ = self.request.translate |
|
65 | 62 | c = self.load_default_context() |
@@ -89,9 +86,6 b' class RepoSettingsView(RepoAppView):' | |||
|
89 | 86 | @LoginRequired() |
|
90 | 87 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
91 | 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 | 89 | def edit_advanced_archive(self): |
|
96 | 90 | """ |
|
97 | 91 | Archives the repository. It will become read-only, and not visible in search |
@@ -132,9 +126,6 b' class RepoSettingsView(RepoAppView):' | |||
|
132 | 126 | @LoginRequired() |
|
133 | 127 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
134 | 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 | 129 | def edit_advanced_delete(self): |
|
139 | 130 | """ |
|
140 | 131 | Deletes the repository, or shows warnings if deletion is not possible |
@@ -209,9 +200,6 b' class RepoSettingsView(RepoAppView):' | |||
|
209 | 200 | @LoginRequired() |
|
210 | 201 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
211 | 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 | 203 | def edit_advanced_journal(self): |
|
216 | 204 | """ |
|
217 | 205 | Set's this repository to be visible in public journal, |
@@ -236,9 +224,6 b' class RepoSettingsView(RepoAppView):' | |||
|
236 | 224 | @LoginRequired() |
|
237 | 225 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
238 | 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 | 227 | def edit_advanced_fork(self): |
|
243 | 228 | """ |
|
244 | 229 | Mark given repository as a fork of another |
@@ -281,10 +266,7 b' class RepoSettingsView(RepoAppView):' | |||
|
281 | 266 | @LoginRequired() |
|
282 | 267 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
283 | 268 | @CSRFRequired() |
|
284 | @view_config( | |
|
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): | |
|
269 | def edit_advanced_toggle_locking(self): | |
|
288 | 270 | """ |
|
289 | 271 | Toggle locking of repository |
|
290 | 272 | """ |
@@ -309,9 +291,6 b' class RepoSettingsView(RepoAppView):' | |||
|
309 | 291 | |
|
310 | 292 | @LoginRequired() |
|
311 | 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 | 294 | def edit_advanced_install_hooks(self): |
|
316 | 295 | """ |
|
317 | 296 | Install Hooks for repository |
@@ -24,7 +24,6 b' import formencode' | |||
|
24 | 24 | import formencode.htmlfill |
|
25 | 25 | |
|
26 | 26 | from pyramid.httpexceptions import HTTPFound |
|
27 | from pyramid.view import view_config | |
|
28 | 27 | |
|
29 | 28 | from rhodecode.apps._base import RepoAppView |
|
30 | 29 | from rhodecode.lib import audit_logger |
@@ -48,9 +47,6 b' class RepoSettingsFieldsView(RepoAppView' | |||
|
48 | 47 | |
|
49 | 48 | @LoginRequired() |
|
50 | 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 | 50 | def repo_field_edit(self): |
|
55 | 51 | c = self.load_default_context() |
|
56 | 52 | |
@@ -63,9 +59,6 b' class RepoSettingsFieldsView(RepoAppView' | |||
|
63 | 59 | @LoginRequired() |
|
64 | 60 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
65 | 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 | 62 | def repo_field_create(self): |
|
70 | 63 | _ = self.request.translate |
|
71 | 64 | |
@@ -94,9 +87,6 b' class RepoSettingsFieldsView(RepoAppView' | |||
|
94 | 87 | @LoginRequired() |
|
95 | 88 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
96 | 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 | 90 | def repo_field_delete(self): |
|
101 | 91 | _ = self.request.translate |
|
102 | 92 | field = RepositoryField.get_or_404(self.request.matchdict['field_id']) |
@@ -21,7 +21,7 b'' | |||
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | 23 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
|
24 | from pyramid.view import view_config | |
|
24 | ||
|
25 | 25 | import formencode |
|
26 | 26 | |
|
27 | 27 | from rhodecode.apps._base import RepoAppView |
@@ -45,9 +45,6 b' class RepoSettingsIssueTrackersView(Repo' | |||
|
45 | 45 | |
|
46 | 46 | @LoginRequired() |
|
47 | 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 | 48 | def repo_issuetracker(self): |
|
52 | 49 | c = self.load_default_context() |
|
53 | 50 | c.active = 'issuetracker' |
@@ -62,9 +59,6 b' class RepoSettingsIssueTrackersView(Repo' | |||
|
62 | 59 | @LoginRequired() |
|
63 | 60 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
64 | 61 | @CSRFRequired() |
|
65 | @view_config( | |
|
66 | route_name='edit_repo_issuetracker_test', request_method='POST', | |
|
67 | renderer='string', xhr=True) | |
|
68 | 62 | def repo_issuetracker_test(self): |
|
69 | 63 | return h.urlify_commit_message( |
|
70 | 64 | self.request.POST.get('test_text', ''), |
@@ -73,9 +67,6 b' class RepoSettingsIssueTrackersView(Repo' | |||
|
73 | 67 | @LoginRequired() |
|
74 | 68 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
75 | 69 | @CSRFRequired() |
|
76 | @view_config( | |
|
77 | route_name='edit_repo_issuetracker_delete', request_method='POST', | |
|
78 | renderer='json_ext', xhr=True) | |
|
79 | 70 | def repo_issuetracker_delete(self): |
|
80 | 71 | _ = self.request.translate |
|
81 | 72 | uid = self.request.POST.get('uid') |
@@ -107,9 +98,6 b' class RepoSettingsIssueTrackersView(Repo' | |||
|
107 | 98 | @LoginRequired() |
|
108 | 99 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
109 | 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 | 101 | def repo_issuetracker_update(self): |
|
114 | 102 | _ = self.request.translate |
|
115 | 103 | # Save inheritance |
@@ -21,7 +21,7 b'' | |||
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | 23 | from pyramid.httpexceptions import HTTPFound |
|
24 | from pyramid.view import view_config | |
|
24 | ||
|
25 | 25 | |
|
26 | 26 | from rhodecode.apps._base import RepoAppView |
|
27 | 27 | from rhodecode.lib import helpers as h |
@@ -39,9 +39,6 b' class RepoSettingsRemoteView(RepoAppView' | |||
|
39 | 39 | |
|
40 | 40 | @LoginRequired() |
|
41 | 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 | 42 | def repo_remote_edit_form(self): |
|
46 | 43 | c = self.load_default_context() |
|
47 | 44 | c.active = 'remote' |
@@ -51,9 +48,6 b' class RepoSettingsRemoteView(RepoAppView' | |||
|
51 | 48 | @LoginRequired() |
|
52 | 49 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
53 | 50 | @CSRFRequired() |
|
54 | @view_config( | |
|
55 | route_name='edit_repo_remote_pull', request_method='POST', | |
|
56 | renderer=None) | |
|
57 | 51 | def repo_remote_pull_changes(self): |
|
58 | 52 | _ = self.request.translate |
|
59 | 53 | self.load_default_context() |
@@ -25,10 +25,8 b' import formencode.htmlfill' | |||
|
25 | 25 | from pyramid.httpexceptions import HTTPFound, HTTPBadRequest |
|
26 | 26 | from pyramid.response import Response |
|
27 | 27 | from pyramid.renderers import render |
|
28 | from pyramid.view import view_config | |
|
29 | 28 | |
|
30 | 29 | from rhodecode.apps._base import RepoAppView |
|
31 | from rhodecode.lib import audit_logger | |
|
32 | 30 | from rhodecode.lib import helpers as h |
|
33 | 31 | from rhodecode.lib.auth import ( |
|
34 | 32 | LoginRequired, HasRepoPermissionAnyDecorator, CSRFRequired) |
@@ -71,9 +69,6 b' class RepoSettingsVcsView(RepoAppView):' | |||
|
71 | 69 | |
|
72 | 70 | @LoginRequired() |
|
73 | 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 | 72 | def repo_vcs_settings(self): |
|
78 | 73 | c = self.load_default_context() |
|
79 | 74 | model = VcsSettingsModel(repo=self.db_repo_name) |
@@ -100,9 +95,6 b' class RepoSettingsVcsView(RepoAppView):' | |||
|
100 | 95 | @LoginRequired() |
|
101 | 96 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
102 | 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 | 98 | def repo_settings_vcs_update(self): |
|
107 | 99 | _ = self.request.translate |
|
108 | 100 | c = self.load_default_context() |
@@ -153,9 +145,6 b' class RepoSettingsVcsView(RepoAppView):' | |||
|
153 | 145 | @LoginRequired() |
|
154 | 146 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
155 | 147 | @CSRFRequired() |
|
156 | @view_config( | |
|
157 | route_name='edit_repo_vcs_svn_pattern_delete', request_method='POST', | |
|
158 | renderer='json_ext', xhr=True) | |
|
159 | 148 | def repo_settings_delete_svn_pattern(self): |
|
160 | 149 | self.load_default_context() |
|
161 | 150 | delete_pattern_id = self.request.POST.get('delete_svn_pattern') |
@@ -19,7 +19,7 b'' | |||
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | from pyramid.view import view_config | |
|
22 | ||
|
23 | 23 | |
|
24 | 24 | from rhodecode.apps._base import RepoAppView |
|
25 | 25 | from rhodecode.lib import audit_logger |
@@ -31,7 +31,7 b' from rhodecode.lib.ext_json import json' | |||
|
31 | 31 | log = logging.getLogger(__name__) |
|
32 | 32 | |
|
33 | 33 | |
|
34 | class StripView(RepoAppView): | |
|
34 | class RepoStripView(RepoAppView): | |
|
35 | 35 | def load_default_context(self): |
|
36 | 36 | c = self._get_local_tmpl_context() |
|
37 | 37 | |
@@ -40,9 +40,6 b' class StripView(RepoAppView):' | |||
|
40 | 40 | |
|
41 | 41 | @LoginRequired() |
|
42 | 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 | 43 | def strip(self): |
|
47 | 44 | c = self.load_default_context() |
|
48 | 45 | c.active = 'strip' |
@@ -53,9 +50,6 b' class StripView(RepoAppView):' | |||
|
53 | 50 | @LoginRequired() |
|
54 | 51 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
55 | 52 | @CSRFRequired() |
|
56 | @view_config( | |
|
57 | route_name='strip_check', request_method='POST', | |
|
58 | renderer='json', xhr=True) | |
|
59 | 53 | def strip_check(self): |
|
60 | 54 | from rhodecode.lib.vcs.backends.base import EmptyCommit |
|
61 | 55 | data = {} |
@@ -79,9 +73,6 b' class StripView(RepoAppView):' | |||
|
79 | 73 | @LoginRequired() |
|
80 | 74 | @HasRepoPermissionAnyDecorator('repository.admin') |
|
81 | 75 | @CSRFRequired() |
|
82 | @view_config( | |
|
83 | route_name='strip_execute', request_method='POST', | |
|
84 | renderer='json', xhr=True) | |
|
85 | 76 | def strip_execute(self): |
|
86 | 77 | from rhodecode.model.scm import ScmModel |
|
87 | 78 |
@@ -24,7 +24,7 b' import time' | |||
|
24 | 24 | |
|
25 | 25 | import rhodecode |
|
26 | 26 | |
|
27 | from pyramid.view import view_config | |
|
27 | ||
|
28 | 28 | |
|
29 | 29 | from rhodecode.lib.view_utils import get_format_ref_id |
|
30 | 30 | from rhodecode.apps._base import RepoAppView |
@@ -101,9 +101,6 b' class RepoSummaryView(RepoAppView):' | |||
|
101 | 101 | @LoginRequired() |
|
102 | 102 | @HasRepoPermissionAnyDecorator( |
|
103 | 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 | 104 | def summary_commits(self): |
|
108 | 105 | c = self.load_default_context() |
|
109 | 106 | self._prepare_and_set_clone_url(c) |
@@ -113,15 +110,6 b' class RepoSummaryView(RepoAppView):' | |||
|
113 | 110 | @LoginRequired() |
|
114 | 111 | @HasRepoPermissionAnyDecorator( |
|
115 | 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 | 113 | def summary(self): |
|
126 | 114 | c = self.load_default_context() |
|
127 | 115 | |
@@ -176,9 +164,6 b' class RepoSummaryView(RepoAppView):' | |||
|
176 | 164 | @LoginRequired() |
|
177 | 165 | @HasRepoPermissionAnyDecorator( |
|
178 | 166 | 'repository.read', 'repository.write', 'repository.admin') |
|
179 | @view_config( | |
|
180 | route_name='repo_stats', request_method='GET', | |
|
181 | renderer='json_ext') | |
|
182 | 167 | def repo_stats(self): |
|
183 | 168 | show_stats = bool(self.db_repo.enable_statistics) |
|
184 | 169 | repo_id = self.db_repo.repo_id |
@@ -228,9 +213,6 b' class RepoSummaryView(RepoAppView):' | |||
|
228 | 213 | @LoginRequired() |
|
229 | 214 | @HasRepoPermissionAnyDecorator( |
|
230 | 215 | 'repository.read', 'repository.write', 'repository.admin') |
|
231 | @view_config( | |
|
232 | route_name='repo_refs_data', request_method='GET', | |
|
233 | renderer='json_ext') | |
|
234 | 216 | def repo_refs_data(self): |
|
235 | 217 | _ = self.request.translate |
|
236 | 218 | self.load_default_context() |
@@ -251,9 +233,6 b' class RepoSummaryView(RepoAppView):' | |||
|
251 | 233 | @LoginRequired() |
|
252 | 234 | @HasRepoPermissionAnyDecorator( |
|
253 | 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 | 236 | def repo_refs_changelog_data(self): |
|
258 | 237 | _ = self.request.translate |
|
259 | 238 | self.load_default_context() |
@@ -19,7 +19,6 b'' | |||
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 20 | |
|
21 | 21 | import logging |
|
22 | from pyramid.view import view_config | |
|
23 | 22 | |
|
24 | 23 | from rhodecode.apps._base import BaseReferencesView |
|
25 | 24 | from rhodecode.lib.ext_json import json |
@@ -33,9 +32,6 b' class RepoTagsView(BaseReferencesView):' | |||
|
33 | 32 | @LoginRequired() |
|
34 | 33 | @HasRepoPermissionAnyDecorator( |
|
35 | 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 | 35 | def tags(self): |
|
40 | 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 | 23 | def includeme(config): |
|
24 | from rhodecode.apps.search.views import ( | |
|
25 | SearchView, SearchRepoView, SearchRepoGroupView) | |
|
24 | 26 | |
|
25 | 27 | config.add_route( |
|
26 | 28 | name='search', |
|
27 | 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 | 36 | config.add_route( |
|
30 | 37 | name='search_repo', |
|
31 | 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 | 45 | config.add_route( |
|
34 | 46 | name='search_repo_alt', |
|
35 | 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 | 54 | config.add_route( |
|
38 | 55 | name='search_repo_group', |
|
39 | 56 | pattern='/{repo_group_name:.*?[^/]}/_search', |
|
40 | 57 | repo_group_route=True) |
|
41 | ||
|
42 | # Scan module for configuration decorators. | |
|
43 | config.scan('.views', ignore='.tests') | |
|
58 | config.add_view( | |
|
59 | SearchRepoGroupView, | |
|
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 | 21 | import logging |
|
22 | 22 | import urllib |
|
23 | from pyramid.view import view_config | |
|
23 | ||
|
24 | 24 | from webhelpers2.html.tools import update_params |
|
25 | 25 | |
|
26 | 26 | from rhodecode.apps._base import BaseAppView, RepoAppView, RepoGroupAppView |
@@ -130,9 +130,6 b' class SearchView(BaseAppView):' | |||
|
130 | 130 | return c |
|
131 | 131 | |
|
132 | 132 | @LoginRequired() |
|
133 | @view_config( | |
|
134 | route_name='search', request_method='GET', | |
|
135 | renderer='rhodecode:templates/search/search.mako') | |
|
136 | 133 | def search(self): |
|
137 | 134 | c = self.load_default_context() |
|
138 | 135 | perform_search(self.request, c) |
@@ -148,12 +145,6 b' class SearchRepoView(RepoAppView):' | |||
|
148 | 145 | @LoginRequired() |
|
149 | 146 | @HasRepoPermissionAnyDecorator( |
|
150 | 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 | 148 | def search_repo(self): |
|
158 | 149 | c = self.load_default_context() |
|
159 | 150 | perform_search(self.request, c, repo_name=self.db_repo_name) |
@@ -169,9 +160,6 b' class SearchRepoGroupView(RepoGroupAppVi' | |||
|
169 | 160 | @LoginRequired() |
|
170 | 161 | @HasRepoGroupPermissionAnyDecorator( |
|
171 | 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 | 163 | def search_repo_group(self): |
|
176 | 164 | c = self.load_default_context() |
|
177 | 165 | perform_search(self.request, c, repo_group_name=self.db_repo_group_name) |
@@ -37,25 +37,6 b' from . import config_keys' | |||
|
37 | 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 | 40 | def _sanitize_settings_and_apply_defaults(settings): |
|
60 | 41 | """ |
|
61 | 42 | Set defaults, convert to python types and validate settings. |
@@ -88,3 +69,22 b' def _append_path_sep(path):' | |||
|
88 | 69 | if isinstance(path, compat.string_types) and not path.endswith(os.path.sep): |
|
89 | 70 | path += os.path.sep |
|
90 | 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 | 29 | User groups /_admin prefixed routes |
|
30 | 30 | """ |
|
31 | from rhodecode.apps.user_group.views import UserGroupsView | |
|
31 | 32 | |
|
32 | 33 | config.add_route( |
|
33 | 34 | name='user_group_members_data', |
|
34 | 35 | pattern='/user_groups/{user_group_id:\d+}/members', |
|
35 | 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 | 43 | # user groups perms |
|
38 | 44 | config.add_route( |
|
39 | 45 | name='edit_user_group_perms_summary', |
|
40 | 46 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary', |
|
41 | 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 | 54 | config.add_route( |
|
43 | 55 | name='edit_user_group_perms_summary_json', |
|
44 | 56 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary/json', |
|
45 | 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 | 64 | # user groups edit |
|
48 | 65 | config.add_route( |
|
49 | 66 | name='edit_user_group', |
|
50 | 67 | pattern='/user_groups/{user_group_id:\d+}/edit', |
|
51 | 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 | 75 | # user groups update |
|
54 | 76 | config.add_route( |
|
55 | 77 | name='user_groups_update', |
|
56 | 78 | pattern='/user_groups/{user_group_id:\d+}/update', |
|
57 | 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 | 86 | config.add_route( |
|
60 | 87 | name='edit_user_group_global_perms', |
|
61 | 88 | pattern='/user_groups/{user_group_id:\d+}/edit/global_permissions', |
|
62 | 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 | 96 | config.add_route( |
|
65 | 97 | name='edit_user_group_global_perms_update', |
|
66 | 98 | pattern='/user_groups/{user_group_id:\d+}/edit/global_permissions/update', |
|
67 | 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 | 106 | config.add_route( |
|
70 | 107 | name='edit_user_group_perms', |
|
71 | 108 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions', |
|
72 | 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 | 116 | config.add_route( |
|
75 | 117 | name='edit_user_group_perms_update', |
|
76 | 118 | pattern='/user_groups/{user_group_id:\d+}/edit/permissions/update', |
|
77 | 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 | 126 | config.add_route( |
|
80 | 127 | name='edit_user_group_advanced', |
|
81 | 128 | pattern='/user_groups/{user_group_id:\d+}/edit/advanced', |
|
82 | 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 | 136 | config.add_route( |
|
85 | 137 | name='edit_user_group_advanced_sync', |
|
86 | 138 | pattern='/user_groups/{user_group_id:\d+}/edit/advanced/sync', |
|
87 | 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 | 146 | # user groups delete |
|
90 | 147 | config.add_route( |
|
91 | 148 | name='user_groups_delete', |
|
92 | 149 | pattern='/user_groups/{user_group_id:\d+}/delete', |
|
93 | 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 | 158 | def includeme(config): |
|
97 | 159 | # main admin routes |
|
98 | 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 | 24 | import formencode |
|
25 | 25 | import formencode.htmlfill |
|
26 | 26 | from pyramid.httpexceptions import HTTPFound |
|
27 | from pyramid.view import view_config | |
|
27 | ||
|
28 | 28 | from pyramid.response import Response |
|
29 | 29 | from pyramid.renderers import render |
|
30 | 30 | |
@@ -60,9 +60,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
60 | 60 | |
|
61 | 61 | @LoginRequired() |
|
62 | 62 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
63 | @view_config( | |
|
64 | route_name='user_group_members_data', request_method='GET', | |
|
65 | renderer='json_ext', xhr=True) | |
|
66 | 63 | def user_group_members(self): |
|
67 | 64 | """ |
|
68 | 65 | Return members of given user group |
@@ -93,9 +90,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
93 | 90 | |
|
94 | 91 | @LoginRequired() |
|
95 | 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 | 93 | def user_group_perms_summary(self): |
|
100 | 94 | c = self.load_default_context() |
|
101 | 95 | c.user_group = self.db_user_group |
@@ -106,9 +100,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
106 | 100 | |
|
107 | 101 | @LoginRequired() |
|
108 | 102 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
109 | @view_config( | |
|
110 | route_name='edit_user_group_perms_summary_json', request_method='GET', | |
|
111 | renderer='json_ext') | |
|
112 | 103 | def user_group_perms_summary_json(self): |
|
113 | 104 | self.load_default_context() |
|
114 | 105 | user_group = self.db_user_group |
@@ -131,9 +122,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
131 | 122 | @LoginRequired() |
|
132 | 123 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
133 | 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 | 125 | def user_group_update(self): |
|
138 | 126 | _ = self.request.translate |
|
139 | 127 | |
@@ -230,9 +218,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
230 | 218 | @LoginRequired() |
|
231 | 219 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
232 | 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 | 221 | def user_group_delete(self): |
|
237 | 222 | _ = self.request.translate |
|
238 | 223 | user_group = self.db_user_group |
@@ -258,9 +243,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
258 | 243 | |
|
259 | 244 | @LoginRequired() |
|
260 | 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 | 246 | def user_group_edit(self): |
|
265 | 247 | user_group = self.db_user_group |
|
266 | 248 | |
@@ -293,9 +275,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
293 | 275 | |
|
294 | 276 | @LoginRequired() |
|
295 | 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 | 278 | def user_group_edit_perms(self): |
|
300 | 279 | user_group = self.db_user_group |
|
301 | 280 | c = self.load_default_context() |
@@ -326,9 +305,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
326 | 305 | @LoginRequired() |
|
327 | 306 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
328 | 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 | 308 | def user_group_update_perms(self): |
|
333 | 309 | """ |
|
334 | 310 | grant permission for given user group |
@@ -390,9 +366,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
390 | 366 | |
|
391 | 367 | @LoginRequired() |
|
392 | 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 | 369 | def user_group_global_perms_edit(self): |
|
397 | 370 | user_group = self.db_user_group |
|
398 | 371 | c = self.load_default_context() |
@@ -418,9 +391,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
418 | 391 | @LoginRequired() |
|
419 | 392 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
420 | 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 | 394 | def user_group_global_perms_update(self): |
|
425 | 395 | _ = self.request.translate |
|
426 | 396 | user_group = self.db_user_group |
@@ -485,9 +455,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
485 | 455 | |
|
486 | 456 | @LoginRequired() |
|
487 | 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 | 458 | def user_group_edit_advanced(self): |
|
492 | 459 | user_group = self.db_user_group |
|
493 | 460 | |
@@ -515,9 +482,6 b' class UserGroupsView(UserGroupAppView):' | |||
|
515 | 482 | @LoginRequired() |
|
516 | 483 | @HasUserGroupPermissionAnyDecorator('usergroup.admin') |
|
517 | 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 | 485 | def user_group_edit_advanced_set_synchronization(self): |
|
522 | 486 | _ = self.request.translate |
|
523 | 487 | user_group = self.db_user_group |
@@ -20,8 +20,13 b'' | |||
|
20 | 20 | |
|
21 | 21 | |
|
22 | 22 | def includeme(config): |
|
23 | from rhodecode.apps.user_group_profile.views import UserGroupProfileView | |
|
24 | ||
|
23 | 25 | config.add_route( |
|
24 | 26 | name='user_group_profile', |
|
25 | 27 | pattern='/_profile_user_group/{user_group_name}') |
|
26 | # Scan module for configuration decorators. | |
|
27 | config.scan('.views', ignore='.tests') | |
|
28 | config.add_view( | |
|
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 | 21 | import logging |
|
22 | 22 | |
|
23 | 23 | from pyramid.httpexceptions import HTTPNotFound |
|
24 | from pyramid.view import view_config | |
|
24 | ||
|
25 | 25 | |
|
26 | 26 | from rhodecode.apps._base import BaseAppView |
|
27 | 27 | from rhodecode.lib.auth import HasUserGroupPermissionAnyDecorator, LoginRequired, NotAnonymous |
@@ -36,9 +36,6 b' class UserGroupProfileView(BaseAppView):' | |||
|
36 | 36 | @LoginRequired() |
|
37 | 37 | @NotAnonymous() |
|
38 | 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 | 39 | def user_group_profile(self): |
|
43 | 40 | c = self._get_local_tmpl_context() |
|
44 | 41 | c.active = 'profile' |
@@ -20,9 +20,13 b'' | |||
|
20 | 20 | |
|
21 | 21 | |
|
22 | 22 | def includeme(config): |
|
23 | from rhodecode.apps.user_profile.views import UserProfileView | |
|
24 | ||
|
23 | 25 | config.add_route( |
|
24 | 26 | name='user_profile', |
|
25 | 27 | pattern='/_profiles/{username}') |
|
26 | ||
|
27 | # Scan module for configuration decorators. | |
|
28 | config.scan('.views', ignore='.tests') | |
|
28 | config.add_view( | |
|
29 | UserProfileView, | |
|
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 | 21 | import logging |
|
22 | 22 | |
|
23 | 23 | from pyramid.httpexceptions import HTTPNotFound |
|
24 | from pyramid.view import view_config | |
|
25 | 24 | |
|
26 | 25 | from rhodecode.apps._base import BaseAppView |
|
27 | 26 | from rhodecode.lib.auth import LoginRequired, NotAnonymous |
@@ -36,9 +35,6 b' class UserProfileView(BaseAppView):' | |||
|
36 | 35 | |
|
37 | 36 | @LoginRequired() |
|
38 | 37 | @NotAnonymous() |
|
39 | @view_config( | |
|
40 | route_name='user_profile', request_method='GET', | |
|
41 | renderer='rhodecode:templates/users/user.mako') | |
|
42 | 38 | def user_profile(self): |
|
43 | 39 | # register local template context |
|
44 | 40 | c = self._get_local_tmpl_context() |
@@ -20,7 +20,7 b'' | |||
|
20 | 20 | |
|
21 | 21 | def generate_jsroutes_content(jsroutes): |
|
22 | 22 | statements = [] |
|
23 | for url_name, url, fields in jsroutes: | |
|
23 | for url_name, url, fields in sorted(jsroutes): | |
|
24 | 24 | statements.append( |
|
25 | 25 | "pyroutes.register('%s', '%s', %s);" % (url_name, url, fields)) |
|
26 | 26 | return u''' |
@@ -92,6 +92,7 b' def make_pyramid_app(global_config, **se' | |||
|
92 | 92 | # Allows to use format style "{ENV_NAME}" placeholders in the configuration. It |
|
93 | 93 | # will be replaced by the value of the environment variable "NAME" in this case. |
|
94 | 94 | start_time = time.time() |
|
95 | log.info('Pyramid app config starting') | |
|
95 | 96 | |
|
96 | 97 | debug = asbool(global_config.get('debug')) |
|
97 | 98 | if debug: |
@@ -121,6 +122,7 b' def make_pyramid_app(global_config, **se' | |||
|
121 | 122 | pyramid_app.config = config |
|
122 | 123 | |
|
123 | 124 | config.configure_celery(global_config['__file__']) |
|
125 | ||
|
124 | 126 | # creating the app uses a connection - return it after we are done |
|
125 | 127 | meta.Session.remove() |
|
126 | 128 | total_time = time.time() - start_time |
@@ -234,7 +236,7 b' def includeme_first(config):' | |||
|
234 | 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 | 240 | log.debug('Initializing main includeme from %s', os.path.basename(__file__)) |
|
239 | 241 | settings = config.registry.settings |
|
240 | 242 | config.set_request_factory(Request) |
@@ -256,24 +258,29 b' def includeme(config):' | |||
|
256 | 258 | config.include('pyramid_mako') |
|
257 | 259 | config.include('rhodecode.lib.rc_beaker') |
|
258 | 260 | config.include('rhodecode.lib.rc_cache') |
|
259 | ||
|
260 | 261 | config.include('rhodecode.apps._base.navigation') |
|
261 | 262 | config.include('rhodecode.apps._base.subscribers') |
|
262 | 263 | config.include('rhodecode.tweens') |
|
263 | 264 | config.include('rhodecode.authentication') |
|
264 | 265 | |
|
265 | 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 | 277 | # load CE authentication plugins |
|
270 | config.include('rhodecode.authentication.plugins.auth_crowd') | |
|
271 | config.include('rhodecode.authentication.plugins.auth_headers') | |
|
272 | config.include('rhodecode.authentication.plugins.auth_jasig_cas') | |
|
273 | config.include('rhodecode.authentication.plugins.auth_ldap') | |
|
274 | config.include('rhodecode.authentication.plugins.auth_pam') | |
|
275 | config.include('rhodecode.authentication.plugins.auth_rhodecode') | |
|
276 | config.include('rhodecode.authentication.plugins.auth_token') | |
|
278 | ||
|
279 | if auth_resources: | |
|
280 | ce_auth_resources.extend(auth_resources) | |
|
281 | ||
|
282 | for resource in ce_auth_resources: | |
|
283 | config.include(resource) | |
|
277 | 284 | |
|
278 | 285 | # Auto discover authentication plugins and include their configuration. |
|
279 | 286 | if asbool(settings.get('auth_plugin.import_legacy_plugins', 'true')): |
@@ -282,15 +289,17 b' def includeme(config):' | |||
|
282 | 289 | |
|
283 | 290 | # apps |
|
284 | 291 | if load_all: |
|
292 | config.include('rhodecode.api') | |
|
285 | 293 | config.include('rhodecode.apps._base') |
|
286 | 294 | config.include('rhodecode.apps.hovercards') |
|
287 | 295 | config.include('rhodecode.apps.ops') |
|
288 | config.include('rhodecode.apps.admin') | |
|
289 | 296 | config.include('rhodecode.apps.channelstream') |
|
290 | 297 | config.include('rhodecode.apps.file_store') |
|
298 | config.include('rhodecode.apps.admin') | |
|
291 | 299 | config.include('rhodecode.apps.login') |
|
292 | 300 | config.include('rhodecode.apps.home') |
|
293 | 301 | config.include('rhodecode.apps.journal') |
|
302 | ||
|
294 | 303 | config.include('rhodecode.apps.repository') |
|
295 | 304 | config.include('rhodecode.apps.repo_group') |
|
296 | 305 | config.include('rhodecode.apps.user_group') |
@@ -298,11 +307,14 b' def includeme(config):' | |||
|
298 | 307 | config.include('rhodecode.apps.user_profile') |
|
299 | 308 | config.include('rhodecode.apps.user_group_profile') |
|
300 | 309 | config.include('rhodecode.apps.my_account') |
|
310 | config.include('rhodecode.apps.gist') | |
|
311 | ||
|
301 | 312 | config.include('rhodecode.apps.svn_support') |
|
302 | 313 | config.include('rhodecode.apps.ssh_support') |
|
303 | config.include('rhodecode.apps.gist') | |
|
304 | 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 | 319 | config.add_route('rhodecode_support', 'https://rhodecode.com/help/', static=True) |
|
308 | 320 | config.add_translation_dirs('rhodecode:i18n/') |
@@ -46,7 +46,7 b' def _pre_push_hook(*args, **kwargs):' | |||
|
46 | 46 | # e.g store a list of patterns to be forbidden e.g `*.exe, *.dump` |
|
47 | 47 | forbid_files = extra_fields.get_field(repo_extra_fields, key='forbid_files_glob', |
|
48 | 48 | convert_type=False, default=[]) |
|
49 | forbid_files = aslist(forbid_files) | |
|
49 | forbid_files = aslist(forbid_files, sep=',') | |
|
50 | 50 | |
|
51 | 51 | # forbid_files = ['*'] # example pattern |
|
52 | 52 |
@@ -37,6 +37,7 b' from rhodecode.lib.vcs.backends.git.diff' | |||
|
37 | 37 | def get_svn_files(repo, vcs_repo, refs): |
|
38 | 38 | txn_id = refs[0] |
|
39 | 39 | files = [] |
|
40 | ||
|
40 | 41 | stdout, stderr = vcs_repo.run_svn_command( |
|
41 | 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 | 64 | parsed_entry['operation'] = rc_op |
|
64 | 65 | |
|
65 | 66 | if rc_op in ['A', 'M']: |
|
67 | ||
|
66 | 68 | stdout, stderr = vcs_repo.run_svn_command( |
|
67 |
['svnlook', 'filesize', repo.repo_full_path, path, '--transaction', txn_id] |
|
|
68 | file_size = int(stdout.strip()) | |
|
69 | parsed_entry['file_size'] = file_size | |
|
69 | ['svnlook', 'filesize', repo.repo_full_path, path, '--transaction', txn_id], | |
|
70 | _safe=True | |
|
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 | 79 | files.append(parsed_entry) |
|
72 | 80 |
@@ -20,29 +20,9 b' import logging' | |||
|
20 | 20 | from pyramid.threadlocal import get_current_registry |
|
21 | 21 | from rhodecode.events.base import RhodeCodeIntegrationEvent |
|
22 | 22 | |
|
23 | ||
|
24 | log = logging.getLogger(__name__) | |
|
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 | ||
|
23 | from rhodecode.events.base import ( # pragma: no cover | |
|
24 | FtsBuild | |
|
25 | ) | |
|
46 | 26 | |
|
47 | 27 | from rhodecode.events.user import ( # pragma: no cover |
|
48 | 28 | UserPreCreate, |
@@ -78,3 +58,26 b' from rhodecode.events.pullrequest import' | |||
|
78 | 58 | PullRequestMergeEvent, |
|
79 | 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 | 120 | Special subclass for Integration events |
|
121 | 121 | """ |
|
122 | 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 | 6 | #, fuzzy |
|
7 | 7 | msgid "" |
|
8 | 8 | msgstr "" |
|
9 |
"Project-Id-Version: rhodecode-enterprise-ce 4.2 |
|
|
9 | "Project-Id-Version: rhodecode-enterprise-ce 4.23.0\n" | |
|
10 | 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 | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
|
13 | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
|
14 | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
@@ -18,9 +18,7 b' msgstr ""' | |||
|
18 | 18 | "Generated-By: Babel 1.3\n" |
|
19 | 19 | |
|
20 | 20 | #: rhodecode/api/views/pull_request_api.py:646 |
|
21 |
#: rhodecode/api/views/repo_api.py:168 |
|
|
22 | #: rhodecode/apps/repository/views/repo_commits.py:471 | |
|
23 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1658 | |
|
21 | #: rhodecode/api/views/repo_api.py:1686 | |
|
24 | 22 | msgid "posted a new {} comment" |
|
25 | 23 | msgstr "" |
|
26 | 24 | |
@@ -63,9 +61,9 b' msgstr ""' | |||
|
63 | 61 | #: rhodecode/templates/admin/integrations/list.mako:172 |
|
64 | 62 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:7 |
|
65 | 63 | #: rhodecode/templates/base/issue_tracker_settings.mako:138 |
|
66 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
67 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
68 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
64 | #: rhodecode/templates/changeset/changeset_file_comment.mako:233 | |
|
65 | #: rhodecode/templates/changeset/changeset_file_comment.mako:247 | |
|
66 | #: rhodecode/templates/changeset/changeset_file_comment.mako:256 | |
|
69 | 67 | #: rhodecode/templates/data_table/_dt_elements.mako:173 |
|
70 | 68 | #: rhodecode/templates/data_table/_dt_elements.mako:251 |
|
71 | 69 | #: rhodecode/templates/data_table/_dt_elements.mako:266 |
@@ -76,9 +74,9 b' msgstr ""' | |||
|
76 | 74 | #: rhodecode/templates/files/files_edit.mako:57 |
|
77 | 75 | #: rhodecode/templates/files/files_source.mako:39 |
|
78 | 76 | #: rhodecode/templates/files/files_source.mako:52 |
|
79 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
|
80 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
81 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
|
77 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:81 | |
|
78 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:622 | |
|
79 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:679 | |
|
82 | 80 | #: rhodecode/templates/user_group/profile.mako:8 |
|
83 | 81 | #: rhodecode/templates/users/user_profile.mako:8 |
|
84 | 82 | msgid "Edit" |
@@ -377,200 +375,200 b' msgstr ""' | |||
|
377 | 375 | msgid "Error occurred during creation of user %s" |
|
378 | 376 | msgstr "" |
|
379 | 377 | |
|
380 |
#: rhodecode/apps/admin/views/users.py:34 |
|
|
378 | #: rhodecode/apps/admin/views/users.py:349 | |
|
381 | 379 | msgid "User updated successfully" |
|
382 | 380 | msgstr "" |
|
383 | 381 | |
|
384 |
#: rhodecode/apps/admin/views/users.py:36 |
|
|
382 | #: rhodecode/apps/admin/views/users.py:367 | |
|
385 | 383 | #, python-format |
|
386 | 384 | msgid "Error occurred during update of user %s" |
|
387 | 385 | msgstr "" |
|
388 | 386 | |
|
389 |
#: rhodecode/apps/admin/views/users.py:39 |
|
|
387 | #: rhodecode/apps/admin/views/users.py:398 | |
|
390 | 388 | #, python-format |
|
391 | 389 | msgid "Detached %s repositories" |
|
392 | 390 | msgstr "" |
|
393 | 391 | |
|
394 |
#: rhodecode/apps/admin/views/users.py: |
|
|
392 | #: rhodecode/apps/admin/views/users.py:401 | |
|
395 | 393 | #, python-format |
|
396 | 394 | msgid "Deleted %s repositories" |
|
397 | 395 | msgstr "" |
|
398 | 396 | |
|
399 |
#: rhodecode/apps/admin/views/users.py:40 |
|
|
397 | #: rhodecode/apps/admin/views/users.py:407 | |
|
400 | 398 | #, python-format |
|
401 | 399 | msgid "Detached %s repository groups" |
|
402 | 400 | msgstr "" |
|
403 | 401 | |
|
404 |
#: rhodecode/apps/admin/views/users.py:40 |
|
|
402 | #: rhodecode/apps/admin/views/users.py:410 | |
|
405 | 403 | #, python-format |
|
406 | 404 | msgid "Deleted %s repository groups" |
|
407 | 405 | msgstr "" |
|
408 | 406 | |
|
409 |
#: rhodecode/apps/admin/views/users.py:41 |
|
|
407 | #: rhodecode/apps/admin/views/users.py:416 | |
|
410 | 408 | #, python-format |
|
411 | 409 | msgid "Detached %s user groups" |
|
412 | 410 | msgstr "" |
|
413 | 411 | |
|
414 |
#: rhodecode/apps/admin/views/users.py:41 |
|
|
412 | #: rhodecode/apps/admin/views/users.py:419 | |
|
415 | 413 | #, python-format |
|
416 | 414 | msgid "Deleted %s user groups" |
|
417 | 415 | msgstr "" |
|
418 | 416 | |
|
419 |
#: rhodecode/apps/admin/views/users.py:42 |
|
|
417 | #: rhodecode/apps/admin/views/users.py:425 | |
|
420 | 418 | #, python-format |
|
421 | 419 | msgid "Detached %s pull requests" |
|
422 | 420 | msgstr "" |
|
423 | 421 | |
|
424 |
#: rhodecode/apps/admin/views/users.py:42 |
|
|
422 | #: rhodecode/apps/admin/views/users.py:428 | |
|
425 | 423 | #, python-format |
|
426 | 424 | msgid "Deleted %s pull requests" |
|
427 | 425 | msgstr "" |
|
428 | 426 | |
|
429 |
#: rhodecode/apps/admin/views/users.py:43 |
|
|
427 | #: rhodecode/apps/admin/views/users.py:434 | |
|
430 | 428 | #, python-format |
|
431 | 429 | msgid "Detached %s artifacts" |
|
432 | 430 | msgstr "" |
|
433 | 431 | |
|
434 |
#: rhodecode/apps/admin/views/users.py:43 |
|
|
432 | #: rhodecode/apps/admin/views/users.py:437 | |
|
435 | 433 | #, python-format |
|
436 | 434 | msgid "Deleted %s artifacts" |
|
437 | 435 | msgstr "" |
|
438 | 436 | |
|
439 |
#: rhodecode/apps/admin/views/users.py:48 |
|
|
437 | #: rhodecode/apps/admin/views/users.py:486 | |
|
440 | 438 | msgid "Successfully deleted user `{}`" |
|
441 | 439 | msgstr "" |
|
442 | 440 | |
|
443 |
#: rhodecode/apps/admin/views/users.py:4 |
|
|
441 | #: rhodecode/apps/admin/views/users.py:493 | |
|
444 | 442 | msgid "An error occurred during deletion of user" |
|
445 | 443 | msgstr "" |
|
446 | 444 | |
|
447 |
#: rhodecode/apps/admin/views/users.py:5 |
|
|
445 | #: rhodecode/apps/admin/views/users.py:562 | |
|
448 | 446 | msgid "" |
|
449 | 447 | "The user participates as reviewer in {} pull request and cannot be deleted. \n" |
|
450 | 448 | "You can set the user to \"{}\" instead of deleting it." |
|
451 | 449 | msgstr "" |
|
452 | 450 | |
|
453 |
#: rhodecode/apps/admin/views/users.py:56 |
|
|
451 | #: rhodecode/apps/admin/views/users.py:568 | |
|
454 | 452 | msgid "" |
|
455 | 453 | "The user participates as reviewer in {} pull requests and cannot be deleted. \n" |
|
456 | 454 | "You can set the user to \"{}\" instead of deleting it." |
|
457 | 455 | msgstr "" |
|
458 | 456 | |
|
459 |
#: rhodecode/apps/admin/views/users.py:65 |
|
|
457 | #: rhodecode/apps/admin/views/users.py:657 | |
|
460 | 458 | msgid "User global permissions updated successfully" |
|
461 | 459 | msgstr "" |
|
462 | 460 | |
|
463 |
#: rhodecode/apps/admin/views/users.py:67 |
|
|
461 | #: rhodecode/apps/admin/views/users.py:675 | |
|
464 | 462 | #: rhodecode/apps/user_group/views/__init__.py:479 |
|
465 | 463 | msgid "An error occurred during permissions saving" |
|
466 | 464 | msgstr "" |
|
467 | 465 | |
|
468 |
#: rhodecode/apps/admin/views/users.py:69 |
|
|
466 | #: rhodecode/apps/admin/views/users.py:698 | |
|
469 | 467 | msgid "Force password change enabled for user" |
|
470 | 468 | msgstr "" |
|
471 | 469 | |
|
472 |
#: rhodecode/apps/admin/views/users.py:70 |
|
|
473 |
#: rhodecode/apps/admin/views/users.py:73 |
|
|
470 | #: rhodecode/apps/admin/views/users.py:706 | |
|
471 | #: rhodecode/apps/admin/views/users.py:736 | |
|
474 | 472 | msgid "An error occurred during password reset for user" |
|
475 | 473 | msgstr "" |
|
476 | 474 | |
|
477 |
#: rhodecode/apps/admin/views/users.py:72 |
|
|
475 | #: rhodecode/apps/admin/views/users.py:727 | |
|
478 | 476 | msgid "Force password change disabled for user" |
|
479 | 477 | msgstr "" |
|
480 | 478 | |
|
481 |
#: rhodecode/apps/admin/views/users.py: |
|
|
479 | #: rhodecode/apps/admin/views/users.py:800 | |
|
482 | 480 | #, python-format |
|
483 | 481 | msgid "Linked repository group `%s` as personal" |
|
484 | 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 | 484 | #: rhodecode/apps/admin/views/users.py:806 |
|
492 | 485 | #, python-format |
|
486 | msgid "Created repository group `%s`" | |
|
487 | msgstr "" | |
|
488 | ||
|
489 | #: rhodecode/apps/admin/views/users.py:810 | |
|
490 | #, python-format | |
|
493 | 491 | msgid "Repository group `%s` is already taken" |
|
494 | 492 | msgstr "" |
|
495 | 493 | |
|
496 |
#: rhodecode/apps/admin/views/users.py:81 |
|
|
494 | #: rhodecode/apps/admin/views/users.py:815 | |
|
497 | 495 | msgid "An error occurred during repository group creation for user" |
|
498 | 496 | msgstr "" |
|
499 | 497 | |
|
500 |
#: rhodecode/apps/admin/views/users.py:83 |
|
|
498 | #: rhodecode/apps/admin/views/users.py:838 | |
|
501 | 499 | #: rhodecode/apps/my_account/views/my_account.py:161 |
|
502 | 500 | #: rhodecode/templates/admin/my_account/my_account_auth_tokens.mako:28 |
|
503 | 501 | #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:33 |
|
504 | 502 | msgid "Role" |
|
505 | 503 | msgstr "" |
|
506 | 504 | |
|
507 |
#: rhodecode/apps/admin/views/users.py:89 |
|
|
505 | #: rhodecode/apps/admin/views/users.py:896 | |
|
508 | 506 | #: rhodecode/apps/my_account/views/my_account.py:217 |
|
509 | 507 | msgid "Auth token successfully created" |
|
510 | 508 | msgstr "" |
|
511 | 509 | |
|
512 |
#: rhodecode/apps/admin/views/users.py:92 |
|
|
510 | #: rhodecode/apps/admin/views/users.py:925 | |
|
513 | 511 | #: rhodecode/apps/my_account/views/my_account.py:241 |
|
514 | 512 | msgid "Auth token successfully deleted" |
|
515 | 513 | msgstr "" |
|
516 | 514 | |
|
517 |
#: rhodecode/apps/admin/views/users.py: |
|
|
515 | #: rhodecode/apps/admin/views/users.py:1001 | |
|
518 | 516 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:117 |
|
519 | 517 | msgid "Ssh Key successfully created" |
|
520 | 518 | msgstr "" |
|
521 | 519 | |
|
522 | #: rhodecode/apps/admin/views/users.py:1003 | |
|
523 | 520 | #: rhodecode/apps/admin/views/users.py:1007 |
|
521 | #: rhodecode/apps/admin/views/users.py:1011 | |
|
524 | 522 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:123 |
|
525 | 523 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:127 |
|
526 | 524 | msgid "An error occurred during ssh key saving: {}" |
|
527 | 525 | msgstr "" |
|
528 | 526 | |
|
529 |
#: rhodecode/apps/admin/views/users.py:104 |
|
|
527 | #: rhodecode/apps/admin/views/users.py:1045 | |
|
530 | 528 | #: rhodecode/apps/my_account/views/my_account_ssh_keys.py:157 |
|
531 | 529 | msgid "Ssh key successfully deleted" |
|
532 | 530 | msgstr "" |
|
533 | 531 | |
|
534 |
#: rhodecode/apps/admin/views/users.py:10 |
|
|
532 | #: rhodecode/apps/admin/views/users.py:1091 | |
|
535 | 533 | #, python-format |
|
536 | 534 | msgid "Added new email address `%s` for user account" |
|
537 | 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 | 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 | 542 | msgid "An error occurred during email saving" |
|
545 | 543 | msgstr "" |
|
546 | 544 | |
|
547 |
#: rhodecode/apps/admin/views/users.py:112 |
|
|
545 | #: rhodecode/apps/admin/views/users.py:1128 | |
|
548 | 546 | msgid "Removed email address from user account" |
|
549 | 547 | msgstr "" |
|
550 | 548 | |
|
551 |
#: rhodecode/apps/admin/views/users.py:117 |
|
|
549 | #: rhodecode/apps/admin/views/users.py:1174 | |
|
552 | 550 | #, python-format |
|
553 | 551 | msgid "An error occurred during ip saving:%s" |
|
554 | 552 | msgstr "" |
|
555 | 553 | |
|
556 | #: rhodecode/apps/admin/views/users.py:1192 | |
|
557 | msgid "An error occurred during ip saving" | |
|
558 | msgstr "" | |
|
559 | ||
|
560 | 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 | 559 | #, python-format |
|
562 | 560 | msgid "Added ips %s to user whitelist" |
|
563 | 561 | msgstr "" |
|
564 | 562 | |
|
565 |
#: rhodecode/apps/admin/views/users.py:12 |
|
|
563 | #: rhodecode/apps/admin/views/users.py:1230 | |
|
566 | 564 | msgid "Removed ip address from user whitelist" |
|
567 | 565 | msgstr "" |
|
568 | 566 | |
|
569 |
#: rhodecode/apps/admin/views/users.py:129 |
|
|
567 | #: rhodecode/apps/admin/views/users.py:1295 | |
|
570 | 568 | msgid "Groups successfully changed" |
|
571 | 569 | msgstr "" |
|
572 | 570 | |
|
573 |
#: rhodecode/apps/admin/views/users.py:141 |
|
|
571 | #: rhodecode/apps/admin/views/users.py:1415 | |
|
574 | 572 | msgid "Deleted {} cache keys" |
|
575 | 573 | msgstr "" |
|
576 | 574 | |
@@ -649,7 +647,7 b' msgid "Error occurred during update of g' | |||
|
649 | 647 | msgstr "" |
|
650 | 648 | |
|
651 | 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 | 651 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:219 |
|
654 | 652 | #: rhodecode/templates/admin/repos/repo_add.mako:15 |
|
655 | 653 | #: rhodecode/templates/admin/repos/repo_add.mako:19 |
@@ -736,11 +734,11 b' msgstr ""' | |||
|
736 | 734 | msgid "Failed to update bookmarks. Make sure an unique position is used." |
|
737 | 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 | 738 | msgid "Your account was updated successfully" |
|
741 | 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 | 742 | msgid "Error occurred during update of user" |
|
745 | 743 | msgstr "" |
|
746 | 744 | |
@@ -787,7 +785,7 b' msgstr ""' | |||
|
787 | 785 | |
|
788 | 786 | #: rhodecode/apps/repository/views/repo_changelog.py:66 |
|
789 | 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 | 789 | msgid "There are no commits yet" |
|
792 | 790 | msgstr "" |
|
793 | 791 | |
@@ -811,20 +809,30 b' msgstr ""' | |||
|
811 | 809 | msgid "Created repository %s" |
|
812 | 810 | msgstr "" |
|
813 | 811 | |
|
814 |
#: rhodecode/apps/repository/views/repo_commits.py:11 |
|
|
812 | #: rhodecode/apps/repository/views/repo_commits.py:113 | |
|
815 | 813 | msgid "No such commit exists. Org exception: `{}`" |
|
816 | 814 | msgstr "" |
|
817 | 815 | |
|
818 |
#: rhodecode/apps/repository/views/repo_commits.py: |
|
|
819 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:1 |
|
|
816 | #: rhodecode/apps/repository/views/repo_commits.py:404 | |
|
817 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1620 | |
|
820 | 818 | #, python-format |
|
821 | 819 | msgid "Status change %(transition_icon)s %(status)s" |
|
822 | 820 | msgstr "" |
|
823 | 821 | |
|
824 |
#: rhodecode/apps/repository/views/repo_commits.py:4 |
|
|
822 | #: rhodecode/apps/repository/views/repo_commits.py:442 | |
|
825 | 823 | msgid "Changing the status of a commit associated with a closed pull request is not allowed" |
|
826 | 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 | 836 | #: rhodecode/apps/repository/views/repo_compare.py:102 |
|
829 | 837 | msgid "Select commit" |
|
830 | 838 | msgstr "" |
@@ -886,104 +894,104 b' msgstr ""' | |||
|
886 | 894 | msgid "No such commit exists for this repository. Commit: {}" |
|
887 | 895 | msgstr "" |
|
888 | 896 | |
|
889 |
#: rhodecode/apps/repository/views/repo_files.py:3 |
|
|
897 | #: rhodecode/apps/repository/views/repo_files.py:361 | |
|
890 | 898 | msgid "Downloads disabled" |
|
891 | 899 | msgstr "" |
|
892 | 900 | |
|
893 |
#: rhodecode/apps/repository/views/repo_files.py:3 |
|
|
901 | #: rhodecode/apps/repository/views/repo_files.py:367 | |
|
894 | 902 | msgid "Unknown archive type for: `{}`" |
|
895 | 903 | msgstr "" |
|
896 | 904 | |
|
897 |
#: rhodecode/apps/repository/views/repo_files.py:3 |
|
|
905 | #: rhodecode/apps/repository/views/repo_files.py:373 | |
|
898 | 906 | msgid "Unknown commit_id {}" |
|
899 | 907 | msgstr "" |
|
900 | 908 | |
|
901 |
#: rhodecode/apps/repository/views/repo_files.py:36 |
|
|
909 | #: rhodecode/apps/repository/views/repo_files.py:376 | |
|
902 | 910 | msgid "Empty repository" |
|
903 | 911 | msgstr "" |
|
904 | 912 | |
|
905 |
#: rhodecode/apps/repository/views/repo_files.py:3 |
|
|
913 | #: rhodecode/apps/repository/views/repo_files.py:381 | |
|
906 | 914 | msgid "No node at path {} for this repository" |
|
907 | 915 | msgstr "" |
|
908 | 916 | |
|
909 |
#: rhodecode/apps/repository/views/repo_files.py:4 |
|
|
917 | #: rhodecode/apps/repository/views/repo_files.py:432 | |
|
910 | 918 | msgid "Unknown archive type" |
|
911 | 919 | msgstr "" |
|
912 | 920 | |
|
913 |
#: rhodecode/apps/repository/views/repo_files.py:10 |
|
|
921 | #: rhodecode/apps/repository/views/repo_files.py:1027 | |
|
914 | 922 | msgid "Changesets" |
|
915 | 923 | msgstr "" |
|
916 | 924 | |
|
917 |
#: rhodecode/apps/repository/views/repo_files.py:10 |
|
|
925 | #: rhodecode/apps/repository/views/repo_files.py:1048 | |
|
918 | 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 | 928 | #: rhodecode/templates/base/vcs_settings.mako:235 |
|
921 | 929 | #: rhodecode/templates/summary/components.mako:10 |
|
922 | 930 | msgid "Branches" |
|
923 | 931 | msgstr "" |
|
924 | 932 | |
|
925 |
#: rhodecode/apps/repository/views/repo_files.py:10 |
|
|
926 |
#: rhodecode/model/scm.py:101 |
|
|
933 | #: rhodecode/apps/repository/views/repo_files.py:1052 | |
|
934 | #: rhodecode/model/scm.py:1016 rhodecode/templates/base/vcs_settings.mako:260 | |
|
927 | 935 | #: rhodecode/templates/summary/components.mako:34 |
|
928 | 936 | msgid "Tags" |
|
929 | 937 | msgstr "" |
|
930 | 938 | |
|
931 |
#: rhodecode/apps/repository/views/repo_files.py:1 |
|
|
932 |
#: rhodecode/apps/repository/views/repo_files.py:12 |
|
|
939 | #: rhodecode/apps/repository/views/repo_files.py:1208 | |
|
940 | #: rhodecode/apps/repository/views/repo_files.py:1237 | |
|
933 | 941 | msgid "Deleted file {} via RhodeCode Enterprise" |
|
934 | 942 | msgstr "" |
|
935 | 943 | |
|
936 |
#: rhodecode/apps/repository/views/repo_files.py:12 |
|
|
944 | #: rhodecode/apps/repository/views/repo_files.py:1258 | |
|
937 | 945 | msgid "Successfully deleted file `{}`" |
|
938 | 946 | msgstr "" |
|
939 | 947 | |
|
940 |
#: rhodecode/apps/repository/views/repo_files.py:12 |
|
|
941 |
#: rhodecode/apps/repository/views/repo_files.py:13 |
|
|
942 |
#: rhodecode/apps/repository/views/repo_files.py:14 |
|
|
943 |
#: rhodecode/apps/repository/views/repo_files.py:16 |
|
|
948 | #: rhodecode/apps/repository/views/repo_files.py:1262 | |
|
949 | #: rhodecode/apps/repository/views/repo_files.py:1381 | |
|
950 | #: rhodecode/apps/repository/views/repo_files.py:1514 | |
|
951 | #: rhodecode/apps/repository/views/repo_files.py:1638 | |
|
944 | 952 | msgid "Error occurred during commit" |
|
945 | 953 | msgstr "" |
|
946 | 954 | |
|
947 |
#: rhodecode/apps/repository/views/repo_files.py:12 |
|
|
948 |
#: rhodecode/apps/repository/views/repo_files.py:13 |
|
|
955 | #: rhodecode/apps/repository/views/repo_files.py:1295 | |
|
956 | #: rhodecode/apps/repository/views/repo_files.py:1327 | |
|
949 | 957 | msgid "Edited file {} via RhodeCode Enterprise" |
|
950 | 958 | msgstr "" |
|
951 | 959 | |
|
952 |
#: rhodecode/apps/repository/views/repo_files.py:13 |
|
|
960 | #: rhodecode/apps/repository/views/repo_files.py:1350 | |
|
953 | 961 | msgid "No changes detected on {}" |
|
954 | 962 | msgstr "" |
|
955 | 963 | |
|
956 |
#: rhodecode/apps/repository/views/repo_files.py:13 |
|
|
964 | #: rhodecode/apps/repository/views/repo_files.py:1374 | |
|
957 | 965 | msgid "Successfully committed changes to file `{}`" |
|
958 | 966 | msgstr "" |
|
959 | 967 | |
|
960 |
#: rhodecode/apps/repository/views/repo_files.py:1 |
|
|
961 |
#: rhodecode/apps/repository/views/repo_files.py:14 |
|
|
968 | #: rhodecode/apps/repository/views/repo_files.py:1416 | |
|
969 | #: rhodecode/apps/repository/views/repo_files.py:1458 | |
|
962 | 970 | msgid "Added file via RhodeCode Enterprise" |
|
963 | 971 | msgstr "" |
|
964 | 972 | |
|
965 |
#: rhodecode/apps/repository/views/repo_files.py:14 |
|
|
973 | #: rhodecode/apps/repository/views/repo_files.py:1474 | |
|
966 | 974 | msgid "No filename specified" |
|
967 | 975 | msgstr "" |
|
968 | 976 | |
|
969 |
#: rhodecode/apps/repository/views/repo_files.py:14 |
|
|
977 | #: rhodecode/apps/repository/views/repo_files.py:1499 | |
|
970 | 978 | msgid "Successfully committed new file `{}`" |
|
971 | 979 | msgstr "" |
|
972 | 980 | |
|
973 |
#: rhodecode/apps/repository/views/repo_files.py:1 |
|
|
974 |
#: rhodecode/apps/repository/views/repo_files.py:160 |
|
|
981 | #: rhodecode/apps/repository/views/repo_files.py:1507 | |
|
982 | #: rhodecode/apps/repository/views/repo_files.py:1620 | |
|
975 | 983 | msgid "The location specified must be a relative path and must not contain .. in the path" |
|
976 | 984 | msgstr "" |
|
977 | 985 | |
|
978 |
#: rhodecode/apps/repository/views/repo_files.py:15 |
|
|
986 | #: rhodecode/apps/repository/views/repo_files.py:1565 | |
|
979 | 987 | msgid "Uploaded file via RhodeCode Enterprise" |
|
980 | 988 | msgstr "" |
|
981 | 989 | |
|
982 |
#: rhodecode/apps/repository/views/repo_files.py:1 |
|
|
990 | #: rhodecode/apps/repository/views/repo_files.py:1609 | |
|
983 | 991 | msgid "Successfully committed {} new files" |
|
984 | 992 | msgstr "" |
|
985 | 993 | |
|
986 |
#: rhodecode/apps/repository/views/repo_files.py:1 |
|
|
994 | #: rhodecode/apps/repository/views/repo_files.py:1611 | |
|
987 | 995 | msgid "Successfully committed 1 new file" |
|
988 | 996 | msgstr "" |
|
989 | 997 | |
@@ -1013,72 +1021,72 b' msgstr ""' | |||
|
1013 | 1021 | msgid "Error occurred during update of repository {}" |
|
1014 | 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 | 1025 | msgid "Pull Request state was force changed to `{}`" |
|
1018 | 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 | 1029 | msgid "Commit does not exist" |
|
1022 | 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 | 1033 | msgid "Error creating pull request: {}" |
|
1026 | 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 | 1037 | msgid "source_repo or target repo not found" |
|
1030 | 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 | 1041 | msgid "Not Enough permissions to source repo `{}`." |
|
1034 | 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 | 1045 | msgid "Not Enough permissions to target repo `{}`." |
|
1038 | 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 | 1049 | msgid "Successfully opened new pull request" |
|
1042 | 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 | 1053 | msgid "Error occurred during creation of this pull request." |
|
1046 | 1054 | msgstr "" |
|
1047 | 1055 | |
|
1048 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:12 |
|
|
1049 |
#: rhodecode/apps/repository/views/repo_pull_requests.py:13 |
|
|
1056 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1293 | |
|
1057 | #: rhodecode/apps/repository/views/repo_pull_requests.py:1362 | |
|
1050 | 1058 | msgid "Cannot update closed pull requests." |
|
1051 | 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 | 1062 | msgid "Cannot update pull requests commits in state other than `{}`. Current state is: `{}`" |
|
1055 | 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 | 1066 | msgid "Pull request title & description updated." |
|
1059 | 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 | 1070 | msgid "Pull request updated to \"{source_commit_id}\" with {count_added} added, {count_removed} removed commits. Source of changes: {change_source}." |
|
1063 | 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 | 1074 | msgid "Pull request reviewers updated." |
|
1067 | 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 | 1078 | msgid "Pull request observers updated." |
|
1071 | 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 | 1082 | msgid "Cannot merge pull requests in state other than `{}`. Current state is: `{}`" |
|
1075 | 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 | 1086 | msgid "Pull request was successfully merged and closed." |
|
1079 | 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 | 1090 | msgid "Successfully deleted pull request" |
|
1083 | 1091 | msgstr "" |
|
1084 | 1092 | |
@@ -1830,10 +1838,10 b' msgstr ""' | |||
|
1830 | 1838 | #: rhodecode/templates/base/issue_tracker_settings.mako:147 |
|
1831 | 1839 | #: rhodecode/templates/base/vcs_settings.mako:244 |
|
1832 | 1840 | #: rhodecode/templates/base/vcs_settings.mako:269 |
|
1833 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
1834 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
1835 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
1836 |
#: rhodecode/templates/data_table/_dt_elements.mako:43 |
|
|
1841 | #: rhodecode/templates/changeset/changeset_file_comment.mako:236 | |
|
1842 | #: rhodecode/templates/changeset/changeset_file_comment.mako:250 | |
|
1843 | #: rhodecode/templates/changeset/changeset_file_comment.mako:259 | |
|
1844 | #: rhodecode/templates/data_table/_dt_elements.mako:439 | |
|
1837 | 1845 | #: rhodecode/templates/debug_style/buttons.html:132 |
|
1838 | 1846 | #: rhodecode/templates/files/files_source.mako:40 |
|
1839 | 1847 | #: rhodecode/templates/files/files_source.mako:47 |
@@ -1915,7 +1923,7 b' msgid "Email address"' | |||
|
1915 | 1923 | msgstr "" |
|
1916 | 1924 | |
|
1917 | 1925 | #: rhodecode/integrations/types/email.py:175 |
|
1918 |
#: rhodecode/templates/register.mako:9 |
|
|
1926 | #: rhodecode/templates/register.mako:97 | |
|
1919 | 1927 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:78 |
|
1920 | 1928 | #: rhodecode/templates/admin/users/user_add.mako:86 |
|
1921 | 1929 | #: rhodecode/templates/admin/users/user_edit_profile.mako:65 |
@@ -1991,7 +1999,7 b' msgstr ""' | |||
|
1991 | 1999 | |
|
1992 | 2000 | #: rhodecode/integrations/types/slack.py:86 |
|
1993 | 2001 | #: rhodecode/integrations/types/webhook.py:81 rhodecode/templates/login.mako:44 |
|
1994 |
#: rhodecode/templates/register.mako: |
|
|
2002 | #: rhodecode/templates/register.mako:50 | |
|
1995 | 2003 | #: rhodecode/templates/admin/admin_log_base.mako:7 |
|
1996 | 2004 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:38 |
|
1997 | 2005 | #: rhodecode/templates/admin/my_account/my_account_profile_edit.mako:29 |
@@ -2056,7 +2064,7 b' msgid "Optional username to authenticate' | |||
|
2056 | 2064 | msgstr "" |
|
2057 | 2065 | |
|
2058 | 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 | 2068 | #: rhodecode/templates/admin/my_account/my_account.mako:31 |
|
2061 | 2069 | #: rhodecode/templates/admin/users/user_add.mako:44 |
|
2062 | 2070 | #: rhodecode/templates/debug_style/login.html:45 |
@@ -2237,10 +2245,6 b' msgstr ""' | |||
|
2237 | 2245 | msgid " Reload page to load changes" |
|
2238 | 2246 | msgstr "" |
|
2239 | 2247 | |
|
2240 | #: rhodecode/lib/channelstream.py:348 | |
|
2241 | msgid "Reload page to see new comments" | |
|
2242 | msgstr "" | |
|
2243 | ||
|
2244 | 2248 | #: rhodecode/lib/diffs.py:903 |
|
2245 | 2249 | msgid "Click to select line" |
|
2246 | 2250 | msgstr "" |
@@ -2755,10 +2759,10 b' msgstr ""' | |||
|
2755 | 2759 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2910 |
|
2756 | 2760 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3011 |
|
2757 | 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 | 2763 | #: rhodecode/public/js/scripts.js:42424 rhodecode/public/js/scripts.min.js:1 |
|
2760 | 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 | 2766 | msgid "Not Reviewed" |
|
2763 | 2767 | msgstr "" |
|
2764 | 2768 | |
@@ -2801,7 +2805,7 b' msgstr ""' | |||
|
2801 | 2805 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2911 |
|
2802 | 2806 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3012 |
|
2803 | 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 | 2809 | msgid "Approved" |
|
2806 | 2810 | msgstr "" |
|
2807 | 2811 | |
@@ -2844,7 +2848,7 b' msgstr ""' | |||
|
2844 | 2848 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2912 |
|
2845 | 2849 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3013 |
|
2846 | 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 | 2852 | msgid "Rejected" |
|
2849 | 2853 | msgstr "" |
|
2850 | 2854 | |
@@ -2887,7 +2891,7 b' msgstr ""' | |||
|
2887 | 2891 | #: rhodecode/lib/dbmigrate/schema/db_4_5_0_0.py:2913 |
|
2888 | 2892 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3014 |
|
2889 | 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 | 2895 | msgid "Under Review" |
|
2892 | 2896 | msgstr "" |
|
2893 | 2897 | |
@@ -4064,72 +4068,72 b' msgstr ""' | |||
|
4064 | 4068 | msgid "Enter %(min)i characters or more" |
|
4065 | 4069 | msgstr "" |
|
4066 | 4070 | |
|
4067 |
#: rhodecode/model/notification.py:2 |
|
|
4071 | #: rhodecode/model/notification.py:263 | |
|
4068 | 4072 | #, python-format |
|
4069 | 4073 | msgid "%(user)s commented on commit %(date_or_age)s" |
|
4070 | 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 | 4076 | #: rhodecode/model/notification.py:264 |
|
4108 | 4077 | #, python-format |
|
4109 |
msgid "%(user)s |
|
|
4110 | msgstr "" | |
|
4111 | ||
|
4112 |
#: rhodecode/model/notification.py:26 |
|
|
4113 | #, python-format | |
|
4114 |
msgid "%(user)s |
|
|
4078 | msgid "%(user)s commented on commit at %(date_or_age)s" | |
|
4079 | msgstr "" | |
|
4080 | ||
|
4081 | #: rhodecode/model/notification.py:267 | |
|
4082 | #, python-format | |
|
4083 | msgid "%(user)s sent message %(date_or_age)s" | |
|
4115 | 4084 | msgstr "" |
|
4116 | 4085 | |
|
4117 | 4086 | #: rhodecode/model/notification.py:268 |
|
4118 | 4087 | #, python-format |
|
4119 |
msgid "%(user)s |
|
|
4120 | msgstr "" | |
|
4121 | ||
|
4122 |
#: rhodecode/model/notification.py:2 |
|
|
4123 | #, python-format | |
|
4124 |
msgid "%(user)s |
|
|
4088 | msgid "%(user)s sent message at %(date_or_age)s" | |
|
4089 | msgstr "" | |
|
4090 | ||
|
4091 | #: rhodecode/model/notification.py:271 | |
|
4092 | #, python-format | |
|
4093 | msgid "%(user)s mentioned you %(date_or_age)s" | |
|
4125 | 4094 | msgstr "" |
|
4126 | 4095 | |
|
4127 | 4096 | #: rhodecode/model/notification.py:272 |
|
4128 | 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 | 4133 | msgid "%(user)s commented on pull request %(date_or_age)s" |
|
4130 | 4134 | msgstr "" |
|
4131 | 4135 | |
|
4132 |
#: rhodecode/model/notification.py:2 |
|
|
4136 | #: rhodecode/model/notification.py:288 | |
|
4133 | 4137 | #, python-format |
|
4134 | 4138 | msgid "%(user)s commented on pull request at %(date_or_age)s" |
|
4135 | 4139 | msgstr "" |
@@ -4156,9 +4160,9 b' msgstr ""' | |||
|
4156 | 4160 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:13 |
|
4157 | 4161 | #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:13 |
|
4158 | 4162 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:17 |
|
4159 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:3 |
|
|
4160 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:4 |
|
|
4161 |
#: rhodecode/templates/data_table/_dt_elements.mako:45 |
|
|
4163 | #: rhodecode/templates/changeset/changeset_file_comment.mako:392 | |
|
4164 | #: rhodecode/templates/changeset/changeset_file_comment.mako:443 | |
|
4165 | #: rhodecode/templates/data_table/_dt_elements.mako:453 | |
|
4162 | 4166 | msgid "Write" |
|
4163 | 4167 | msgstr "" |
|
4164 | 4168 | |
@@ -4257,79 +4261,79 b' msgstr ""' | |||
|
4257 | 4261 | msgid "This pull request cannot be updated because the source reference is missing." |
|
4258 | 4262 | msgstr "" |
|
4259 | 4263 | |
|
4260 |
#: rhodecode/model/pull_request.py:16 |
|
|
4264 | #: rhodecode/model/pull_request.py:1674 | |
|
4261 | 4265 | msgid "Server-side pull request merging is disabled." |
|
4262 | 4266 | msgstr "" |
|
4263 | 4267 | |
|
4264 |
#: rhodecode/model/pull_request.py:16 |
|
|
4268 | #: rhodecode/model/pull_request.py:1677 | |
|
4265 | 4269 | msgid "This pull request is closed." |
|
4266 | 4270 | msgstr "" |
|
4267 | 4271 | |
|
4268 |
#: rhodecode/model/pull_request.py:169 |
|
|
4272 | #: rhodecode/model/pull_request.py:1691 | |
|
4269 | 4273 | msgid "Pull request merging is not supported." |
|
4270 | 4274 | msgstr "" |
|
4271 | 4275 | |
|
4272 |
#: rhodecode/model/pull_request.py:17 |
|
|
4276 | #: rhodecode/model/pull_request.py:1708 | |
|
4273 | 4277 | msgid "Target repository large files support is disabled." |
|
4274 | 4278 | msgstr "" |
|
4275 | 4279 | |
|
4276 |
#: rhodecode/model/pull_request.py:171 |
|
|
4280 | #: rhodecode/model/pull_request.py:1711 | |
|
4277 | 4281 | msgid "Source repository large files support is disabled." |
|
4278 | 4282 | msgstr "" |
|
4279 | 4283 | |
|
4280 |
#: rhodecode/model/pull_request.py:1 |
|
|
4284 | #: rhodecode/model/pull_request.py:1895 rhodecode/model/scm.py:1008 | |
|
4281 | 4285 | #: rhodecode/templates/admin/my_account/my_account.mako:32 |
|
4282 | 4286 | #: rhodecode/templates/base/base.mako:638 |
|
4283 | 4287 | #: rhodecode/templates/summary/components.mako:46 |
|
4284 | 4288 | msgid "Bookmarks" |
|
4285 | 4289 | msgstr "" |
|
4286 | 4290 | |
|
4287 |
#: rhodecode/model/pull_request.py:190 |
|
|
4291 | #: rhodecode/model/pull_request.py:1900 | |
|
4288 | 4292 | msgid "Commit IDs" |
|
4289 | 4293 | msgstr "" |
|
4290 | 4294 | |
|
4291 |
#: rhodecode/model/pull_request.py:19 |
|
|
4295 | #: rhodecode/model/pull_request.py:1903 | |
|
4292 | 4296 | #: rhodecode/templates/summary/components.mako:22 |
|
4293 | 4297 | msgid "Closed Branches" |
|
4294 | 4298 | msgstr "" |
|
4295 | 4299 | |
|
4296 |
#: rhodecode/model/pull_request.py:209 |
|
|
4300 | #: rhodecode/model/pull_request.py:2089 | |
|
4297 | 4301 | msgid "WIP marker in title prevents from accidental merge." |
|
4298 | 4302 | msgstr "" |
|
4299 | 4303 | |
|
4300 |
#: rhodecode/model/pull_request.py:2 |
|
|
4304 | #: rhodecode/model/pull_request.py:2099 | |
|
4301 | 4305 | msgid "User `{}` not allowed to perform merge." |
|
4302 | 4306 | msgstr "" |
|
4303 | 4307 | |
|
4304 |
#: rhodecode/model/pull_request.py:21 |
|
|
4308 | #: rhodecode/model/pull_request.py:2117 | |
|
4305 | 4309 | msgid "Target branch `{}` changes rejected by rule {}." |
|
4306 | 4310 | msgstr "" |
|
4307 | 4311 | |
|
4308 |
#: rhodecode/model/pull_request.py:213 |
|
|
4312 | #: rhodecode/model/pull_request.py:2132 | |
|
4309 | 4313 | msgid "Pull request reviewer approval is pending." |
|
4310 | 4314 | msgstr "" |
|
4311 | 4315 | |
|
4312 |
#: rhodecode/model/pull_request.py:21 |
|
|
4316 | #: rhodecode/model/pull_request.py:2146 | |
|
4313 | 4317 | msgid "Cannot merge, {} TODO still not resolved." |
|
4314 | 4318 | msgstr "" |
|
4315 | 4319 | |
|
4316 |
#: rhodecode/model/pull_request.py:21 |
|
|
4320 | #: rhodecode/model/pull_request.py:2149 | |
|
4317 | 4321 | msgid "Cannot merge, {} TODOs still not resolved." |
|
4318 | 4322 | msgstr "" |
|
4319 | 4323 | |
|
4320 |
#: rhodecode/model/pull_request.py:220 |
|
|
4324 | #: rhodecode/model/pull_request.py:2204 | |
|
4321 | 4325 | msgid "Merge strategy: rebase" |
|
4322 | 4326 | msgstr "" |
|
4323 | 4327 | |
|
4324 |
#: rhodecode/model/pull_request.py:22 |
|
|
4328 | #: rhodecode/model/pull_request.py:2209 | |
|
4325 | 4329 | msgid "Merge strategy: explicit merge commit" |
|
4326 | 4330 | msgstr "" |
|
4327 | 4331 | |
|
4328 |
#: rhodecode/model/pull_request.py:22 |
|
|
4332 | #: rhodecode/model/pull_request.py:2217 | |
|
4329 | 4333 | msgid "Source branch will be closed before the merge." |
|
4330 | 4334 | msgstr "" |
|
4331 | 4335 | |
|
4332 |
#: rhodecode/model/pull_request.py:22 |
|
|
4336 | #: rhodecode/model/pull_request.py:2219 | |
|
4333 | 4337 | msgid "Source branch will be deleted after the merge." |
|
4334 | 4338 | msgstr "" |
|
4335 | 4339 | |
@@ -4850,49 +4854,49 b' msgstr ""' | |||
|
4850 | 4854 | |
|
4851 | 4855 | #: rhodecode/public/js/scripts.js:39232 rhodecode/public/js/scripts.min.js:1 |
|
4852 | 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 | 4858 | msgid "Set status to Approved" |
|
4855 | 4859 | msgstr "" |
|
4856 | 4860 | |
|
4857 | 4861 | #: rhodecode/public/js/scripts.js:39252 rhodecode/public/js/scripts.min.js:1 |
|
4858 | 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 | 4864 | msgid "Set status to Rejected" |
|
4861 | 4865 | msgstr "" |
|
4862 | 4866 | |
|
4863 | 4867 | #: rhodecode/public/js/scripts.js:39271 rhodecode/public/js/scripts.min.js:1 |
|
4864 | 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 | 4870 | msgid "TODO comment" |
|
4867 | 4871 | msgstr "" |
|
4868 | 4872 | |
|
4869 | 4873 | #: rhodecode/public/js/scripts.js:39291 rhodecode/public/js/scripts.min.js:1 |
|
4870 | 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 | 4876 | msgid "Note Comment" |
|
4873 | 4877 | msgstr "" |
|
4874 | 4878 | |
|
4875 | 4879 | #: rhodecode/public/js/scripts.js:39592 rhodecode/public/js/scripts.js:39967 |
|
4876 | 4880 | #: rhodecode/public/js/scripts.min.js:1 |
|
4877 | 4881 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:99 |
|
4878 |
#: rhodecode/public/js/src/rhodecode/codemirror.js:7 |
|
|
4879 |
#: rhodecode/public/js/src/rhodecode/comments.js:2 |
|
|
4882 | #: rhodecode/public/js/src/rhodecode/codemirror.js:730 | |
|
4883 | #: rhodecode/public/js/src/rhodecode/comments.js:267 | |
|
4880 | 4884 | msgid "Status Review" |
|
4881 | 4885 | msgstr "" |
|
4882 | 4886 | |
|
4883 | 4887 | #: rhodecode/public/js/scripts.js:39607 rhodecode/public/js/scripts.js:39982 |
|
4884 | 4888 | #: rhodecode/public/js/scripts.min.js:1 |
|
4885 | 4889 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:24 |
|
4886 |
#: rhodecode/public/js/src/rhodecode/codemirror.js:7 |
|
|
4887 |
#: rhodecode/public/js/src/rhodecode/comments.js:2 |
|
|
4890 | #: rhodecode/public/js/src/rhodecode/codemirror.js:745 | |
|
4891 | #: rhodecode/public/js/src/rhodecode/comments.js:284 | |
|
4888 | 4892 | msgid "Comment text will be set automatically based on currently selected status ({0}) ..." |
|
4889 | 4893 | msgstr "" |
|
4890 | 4894 | |
|
4891 | 4895 | #: rhodecode/public/js/scripts.js:39688 rhodecode/public/js/scripts.js:40177 |
|
4892 | 4896 | #: rhodecode/public/js/scripts.js:41535 rhodecode/public/js/scripts.min.js:1 |
|
4893 | 4897 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:48 |
|
4894 |
#: rhodecode/public/js/src/rhodecode/codemirror.js:8 |
|
|
4895 |
#: rhodecode/public/js/src/rhodecode/comments.js:4 |
|
|
4898 | #: rhodecode/public/js/src/rhodecode/codemirror.js:826 | |
|
4899 | #: rhodecode/public/js/src/rhodecode/comments.js:493 | |
|
4896 | 4900 | #: rhodecode/public/js/src/rhodecode/files.js:499 |
|
4897 | 4901 | #: rhodecode/templates/files/files_browser_tree.mako:57 |
|
4898 | 4902 | msgid "Loading ..." |
@@ -4900,49 +4904,47 b' msgstr ""' | |||
|
4900 | 4904 | |
|
4901 | 4905 | #: rhodecode/public/js/scripts.js:39849 rhodecode/public/js/scripts.min.js:1 |
|
4902 | 4906 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:117 |
|
4903 | #: rhodecode/public/js/src/rhodecode/comments.js:136 | |
|
4904 | 4907 | msgid "Updated Comment" |
|
4905 | 4908 | msgstr "" |
|
4906 | 4909 | |
|
4907 | 4910 | #: rhodecode/public/js/scripts.js:39873 rhodecode/public/js/scripts.min.js:1 |
|
4908 | 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 | 4913 | msgid "resolve comment" |
|
4911 | 4914 | msgstr "" |
|
4912 | 4915 | |
|
4913 | 4916 | #: rhodecode/public/js/scripts.js:40126 rhodecode/public/js/scripts.min.js:1 |
|
4914 | 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 | 4919 | msgid "Submitting..." |
|
4917 | 4920 | msgstr "" |
|
4918 | 4921 | |
|
4919 | 4922 | #: rhodecode/public/js/scripts.js:40423 rhodecode/public/js/scripts.min.js:1 |
|
4920 | 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 | 4925 | msgid "Yes, delete comment #{0}!" |
|
4923 | 4926 | msgstr "" |
|
4924 | 4927 | |
|
4925 | 4928 | #: rhodecode/public/js/scripts.js:40487 rhodecode/public/js/scripts.min.js:1 |
|
4926 | 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 | 4931 | msgid "Leave a resolution comment, or click resolve button to resolve TODO comment #{0}" |
|
4929 | 4932 | msgstr "" |
|
4930 | 4933 | |
|
4931 | 4934 | #: rhodecode/public/js/scripts.js:40696 rhodecode/public/js/scripts.min.js:1 |
|
4932 | 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 | 4937 | msgid "Comment body was not changed." |
|
4935 | 4938 | msgstr "" |
|
4936 | 4939 | |
|
4937 | 4940 | #: rhodecode/public/js/scripts.js:40875 rhodecode/public/js/scripts.min.js:1 |
|
4938 | 4941 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:44 |
|
4939 | #: rhodecode/public/js/src/rhodecode/comments.js:1162 | |
|
4940 | 4942 | msgid "Leave a comment on line {0}." |
|
4941 | 4943 | msgstr "" |
|
4942 | 4944 | |
|
4943 | 4945 | #: rhodecode/public/js/scripts.js:41006 rhodecode/public/js/scripts.min.js:1 |
|
4944 | 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 | 4948 | msgid "TODO from comment {0} was fixed." |
|
4947 | 4949 | msgstr "" |
|
4948 | 4950 | |
@@ -5024,102 +5026,94 b' msgstr ""' | |||
|
5024 | 5026 | |
|
5025 | 5027 | #: rhodecode/public/js/scripts.js:42165 rhodecode/public/js/scripts.min.js:1 |
|
5026 | 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 | 5030 | msgid "All reviewers must vote." |
|
5029 | 5031 | msgstr "" |
|
5030 | 5032 | |
|
5031 | 5033 | #: rhodecode/public/js/scripts.js:42174 rhodecode/public/js/scripts.min.js:1 |
|
5032 | 5034 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:11 |
|
5033 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:195 | |
|
5034 | 5035 | msgid "All individual reviewers must vote." |
|
5035 | 5036 | msgstr "" |
|
5036 | 5037 | |
|
5037 | 5038 | #: rhodecode/public/js/scripts.js:42179 rhodecode/public/js/scripts.min.js:1 |
|
5038 | 5039 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:14 |
|
5039 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:200 | |
|
5040 | 5040 | msgid "At least {0} reviewer must vote." |
|
5041 | 5041 | msgstr "" |
|
5042 | 5042 | |
|
5043 | 5043 | #: rhodecode/public/js/scripts.js:42185 rhodecode/public/js/scripts.min.js:1 |
|
5044 | 5044 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:15 |
|
5045 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:206 | |
|
5046 | 5045 | msgid "At least {0} reviewers must vote." |
|
5047 | 5046 | msgstr "" |
|
5048 | 5047 | |
|
5049 | 5048 | #: rhodecode/public/js/scripts.js:42201 rhodecode/public/js/scripts.min.js:1 |
|
5050 | 5049 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:80 |
|
5051 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:222 | |
|
5052 | 5050 | msgid "Reviewers picked from source code changes." |
|
5053 | 5051 | msgstr "" |
|
5054 | 5052 | |
|
5055 | 5053 | #: rhodecode/public/js/scripts.js:42209 rhodecode/public/js/scripts.min.js:1 |
|
5056 | 5054 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:8 |
|
5057 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:230 | |
|
5058 | 5055 | msgid "Adding new reviewers is forbidden." |
|
5059 | 5056 | msgstr "" |
|
5060 | 5057 | |
|
5061 | 5058 | #: rhodecode/public/js/scripts.js:42217 rhodecode/public/js/scripts.min.js:1 |
|
5062 | 5059 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:17 |
|
5063 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:238 | |
|
5064 | 5060 | msgid "Author is not allowed to be a reviewer." |
|
5065 | 5061 | msgstr "" |
|
5066 | 5062 | |
|
5067 | 5063 | #: rhodecode/public/js/scripts.js:42231 rhodecode/public/js/scripts.min.js:1 |
|
5068 | 5064 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:25 |
|
5069 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:252 | |
|
5070 | 5065 | msgid "Commit Authors are not allowed to be a reviewer." |
|
5071 | 5066 | msgstr "" |
|
5072 | 5067 | |
|
5073 | 5068 | #: rhodecode/public/js/scripts.js:42238 rhodecode/public/js/scripts.min.js:1 |
|
5074 | 5069 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:65 |
|
5075 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:259 | |
|
5076 | 5070 | msgid "No review rules set." |
|
5077 | 5071 | msgstr "" |
|
5078 | 5072 | |
|
5079 | 5073 | #: rhodecode/public/js/scripts.js:42283 rhodecode/public/js/scripts.min.js:1 |
|
5080 | 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 | 5076 | msgid "Loading diff ..." |
|
5083 | 5077 | msgstr "" |
|
5084 | 5078 | |
|
5085 | 5079 | #: rhodecode/public/js/scripts.js:42336 rhodecode/public/js/scripts.min.js:1 |
|
5086 | 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 | 5082 | msgid "There are no commits to merge." |
|
5089 | 5083 | msgstr "" |
|
5090 | 5084 | |
|
5091 | 5085 | #: rhodecode/public/js/scripts.js:42408 rhodecode/public/js/scripts.min.js:1 |
|
5092 | 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 | 5088 | msgid "User `{0}` not allowed to be a reviewer" |
|
5095 | 5089 | msgstr "" |
|
5096 | 5090 | |
|
5097 | 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 | 5093 | msgid "User `{0}` already in reviewers/observers" |
|
5100 | 5094 | msgstr "" |
|
5101 | 5095 | |
|
5102 | 5096 | #: rhodecode/public/js/scripts.js:42528 rhodecode/public/js/scripts.min.js:1 |
|
5103 | 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 | 5099 | msgid "added manually by \"{0}\"" |
|
5106 | 5100 | msgstr "" |
|
5107 | 5101 | |
|
5108 | 5102 | #: rhodecode/public/js/scripts.js:42533 rhodecode/public/js/scripts.min.js:1 |
|
5109 | 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 | 5105 | msgid "member of \"{0}\"" |
|
5112 | 5106 | msgstr "" |
|
5113 | 5107 | |
|
5114 | 5108 | #: rhodecode/public/js/scripts.js:42766 rhodecode/public/js/scripts.min.js:1 |
|
5115 | 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 | 5111 | msgid "Updating..." |
|
5118 | 5112 | msgstr "" |
|
5119 | 5113 | |
|
5120 | 5114 | #: rhodecode/public/js/scripts.js:42776 rhodecode/public/js/scripts.min.js:1 |
|
5121 | 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 | 5117 | msgid "Force updating..." |
|
5124 | 5118 | msgstr "" |
|
5125 | 5119 | |
@@ -5198,8 +5192,6 b' msgid "<strong>{0} files</strong> change' | |||
|
5198 | 5192 | msgstr "" |
|
5199 | 5193 | |
|
5200 | 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 | 5195 | msgid "Add another comment" |
|
5204 | 5196 | msgstr "" |
|
5205 | 5197 | |
@@ -5213,14 +5205,14 b' msgstr ""' | |||
|
5213 | 5205 | |
|
5214 | 5206 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:19 |
|
5215 | 5207 | #: rhodecode/public/js/src/i18n_messages.js:5 |
|
5216 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
5217 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
5218 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
|
5208 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:623 | |
|
5209 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:626 | |
|
5210 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:680 | |
|
5219 | 5211 | msgid "Close" |
|
5220 | 5212 | msgstr "" |
|
5221 | 5213 | |
|
5222 | 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 | 5216 | msgid "Collapse all files" |
|
5225 | 5217 | msgstr "" |
|
5226 | 5218 | |
@@ -5257,7 +5249,7 b' msgid "Error during search operation"' | |||
|
5257 | 5249 | msgstr "" |
|
5258 | 5250 | |
|
5259 | 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 | 5253 | msgid "Expand all files" |
|
5262 | 5254 | msgstr "" |
|
5263 | 5255 | |
@@ -5557,6 +5549,30 b' msgstr ""' | |||
|
5557 | 5549 | msgid "MathML" |
|
5558 | 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 | 5576 | #: rhodecode/templates/index.mako:5 |
|
5561 | 5577 | msgid "Dashboard" |
|
5562 | 5578 | msgstr "" |
@@ -5622,7 +5638,7 b' msgstr ""' | |||
|
5622 | 5638 | #: rhodecode/templates/forks/fork.mako:56 |
|
5623 | 5639 | #: rhodecode/templates/forks/forks.mako:62 |
|
5624 | 5640 | #: rhodecode/templates/pullrequests/pullrequest.mako:104 |
|
5625 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
5641 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:398 | |
|
5626 | 5642 | #: rhodecode/templates/summary/components.mako:159 |
|
5627 | 5643 | #: rhodecode/templates/user_group/profile.mako:25 |
|
5628 | 5644 | #: rhodecode/templates/users/user_profile.mako:59 |
@@ -5664,7 +5680,7 b' msgstr ""' | |||
|
5664 | 5680 | #: rhodecode/templates/email_templates/commit_comment.mako:114 |
|
5665 | 5681 | #: rhodecode/templates/email_templates/commit_comment.mako:141 |
|
5666 | 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 | 5684 | #: rhodecode/templates/search/search_commit.mako:9 |
|
5669 | 5685 | #: rhodecode/templates/summary/components.mako:117 |
|
5670 | 5686 | #: rhodecode/templates/summary/components.mako:125 |
@@ -5716,16 +5732,16 b' msgstr ""' | |||
|
5716 | 5732 | msgid "Please contact " |
|
5717 | 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 | 5736 | #: rhodecode/templates/base/base.mako:63 |
|
5721 | 5737 | msgid "Support" |
|
5722 | 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 | 5741 | msgid "or" |
|
5726 | 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 | 5745 | msgid "an administrator if you need help." |
|
5730 | 5746 | msgstr "" |
|
5731 | 5747 | |
@@ -5737,32 +5753,32 b' msgstr ""' | |||
|
5737 | 5753 | msgid "Reset Password" |
|
5738 | 5754 | msgstr "" |
|
5739 | 5755 | |
|
5740 |
#: rhodecode/templates/password_reset.mako:3 |
|
|
5756 | #: rhodecode/templates/password_reset.mako:38 | |
|
5741 | 5757 | msgid "Password reset is disabled. Please contact " |
|
5742 | 5758 | msgstr "" |
|
5743 | 5759 | |
|
5744 | #: rhodecode/templates/password_reset.mako:49 | |
|
5745 | msgid "Reset your Password" | |
|
5746 | msgstr "" | |
|
5747 | ||
|
5748 | 5760 | #: rhodecode/templates/password_reset.mako:50 |
|
5761 | msgid "Reset your Password" | |
|
5762 | msgstr "" | |
|
5763 | ||
|
5764 | #: rhodecode/templates/password_reset.mako:51 | |
|
5749 | 5765 | msgid "Go to the login page to sign in." |
|
5750 | 5766 | msgstr "" |
|
5751 | 5767 | |
|
5752 |
#: rhodecode/templates/password_reset.mako:5 |
|
|
5768 | #: rhodecode/templates/password_reset.mako:55 | |
|
5753 | 5769 | msgid "Email Address" |
|
5754 | 5770 | msgstr "" |
|
5755 | 5771 | |
|
5756 |
#: rhodecode/templates/password_reset.mako:6 |
|
|
5772 | #: rhodecode/templates/password_reset.mako:61 | |
|
5757 | 5773 | msgid "Password reset link will be sent to matching email address" |
|
5758 | 5774 | msgstr "" |
|
5759 | 5775 | |
|
5760 |
#: rhodecode/templates/password_reset.mako:6 |
|
|
5761 |
#: rhodecode/templates/register.mako:10 |
|
|
5776 | #: rhodecode/templates/password_reset.mako:65 | |
|
5777 | #: rhodecode/templates/register.mako:106 | |
|
5762 | 5778 | msgid "Captcha" |
|
5763 | 5779 | msgstr "" |
|
5764 | 5780 | |
|
5765 |
#: rhodecode/templates/password_reset.mako:7 |
|
|
5781 | #: rhodecode/templates/password_reset.mako:76 | |
|
5766 | 5782 | msgid "Send password reset email" |
|
5767 | 5783 | msgstr "" |
|
5768 | 5784 | |
@@ -5770,23 +5786,23 b' msgstr ""' | |||
|
5770 | 5786 | msgid "Create an Account" |
|
5771 | 5787 | msgstr "" |
|
5772 | 5788 | |
|
5773 |
#: rhodecode/templates/register.mako: |
|
|
5789 | #: rhodecode/templates/register.mako:40 | |
|
5774 | 5790 | msgid "Create an account linked with {}" |
|
5775 | 5791 | msgstr "" |
|
5776 | 5792 | |
|
5777 |
#: rhodecode/templates/register.mako:4 |
|
|
5793 | #: rhodecode/templates/register.mako:42 | |
|
5778 | 5794 | msgid "Create an account" |
|
5779 | 5795 | msgstr "" |
|
5780 | 5796 | |
|
5781 |
#: rhodecode/templates/register.mako:4 |
|
|
5797 | #: rhodecode/templates/register.mako:45 | |
|
5782 | 5798 | msgid "Go to the login page to sign in with an existing account." |
|
5783 | 5799 | msgstr "" |
|
5784 | 5800 | |
|
5785 |
#: rhodecode/templates/register.mako: |
|
|
5801 | #: rhodecode/templates/register.mako:71 | |
|
5786 | 5802 | msgid "Re-enter password" |
|
5787 | 5803 | msgstr "" |
|
5788 | 5804 | |
|
5789 |
#: rhodecode/templates/register.mako:8 |
|
|
5805 | #: rhodecode/templates/register.mako:83 | |
|
5790 | 5806 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:48 |
|
5791 | 5807 | #: rhodecode/templates/admin/my_account/my_account_profile_edit.mako:38 |
|
5792 | 5808 | #: rhodecode/templates/admin/users/user_add.mako:68 |
@@ -5795,7 +5811,7 b' msgstr ""' | |||
|
5795 | 5811 | msgid "First Name" |
|
5796 | 5812 | msgstr "" |
|
5797 | 5813 | |
|
5798 |
#: rhodecode/templates/register.mako: |
|
|
5814 | #: rhodecode/templates/register.mako:90 | |
|
5799 | 5815 | #: rhodecode/templates/admin/my_account/my_account_profile.mako:58 |
|
5800 | 5816 | #: rhodecode/templates/admin/my_account/my_account_profile_edit.mako:47 |
|
5801 | 5817 | #: rhodecode/templates/admin/users/user_add.mako:77 |
@@ -5804,15 +5820,15 b' msgstr ""' | |||
|
5804 | 5820 | msgid "Last Name" |
|
5805 | 5821 | msgstr "" |
|
5806 | 5822 | |
|
5807 |
#: rhodecode/templates/register.mako:11 |
|
|
5823 | #: rhodecode/templates/register.mako:118 | |
|
5808 | 5824 | msgid "Account activation requires admin approval." |
|
5809 | 5825 | msgstr "" |
|
5810 | 5826 | |
|
5811 |
#: rhodecode/templates/register.mako:12 |
|
|
5827 | #: rhodecode/templates/register.mako:125 | |
|
5812 | 5828 | msgid "Create Account" |
|
5813 | 5829 | msgstr "" |
|
5814 | 5830 | |
|
5815 |
#: rhodecode/templates/register.mako:12 |
|
|
5831 | #: rhodecode/templates/register.mako:125 | |
|
5816 | 5832 | msgid "Create Account in {}" |
|
5817 | 5833 | msgstr "" |
|
5818 | 5834 | |
@@ -6108,9 +6124,7 b' msgstr ""' | |||
|
6108 | 6124 | |
|
6109 | 6125 | #: rhodecode/templates/admin/gists/gist_edit.mako:100 |
|
6110 | 6126 | #: rhodecode/templates/base/issue_tracker_settings.mako:151 |
|
6111 |
#: rhodecode/templates/ |
|
|
6112 | #: rhodecode/templates/codeblocks/diffs.mako:90 | |
|
6113 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:84 | |
|
6127 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:82 | |
|
6114 | 6128 | msgid "Cancel" |
|
6115 | 6129 | msgstr "" |
|
6116 | 6130 | |
@@ -6173,14 +6187,14 b' msgid "quick filter..."' | |||
|
6173 | 6187 | msgstr "" |
|
6174 | 6188 | |
|
6175 | 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 | 6191 | #: rhodecode/templates/bookmarks/bookmarks.mako:73 |
|
6178 | 6192 | #: rhodecode/templates/branches/branches.mako:72 |
|
6179 |
#: rhodecode/templates/commits/changelog.mako:1 |
|
|
6193 | #: rhodecode/templates/commits/changelog.mako:138 | |
|
6180 | 6194 | #: rhodecode/templates/compare/compare_commits.mako:16 |
|
6181 | 6195 | #: rhodecode/templates/files/files_browser_tree.mako:20 |
|
6182 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:39 |
|
|
6183 |
#: rhodecode/templates/pullrequests/pullrequests.mako: |
|
|
6196 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:395 | |
|
6197 | #: rhodecode/templates/pullrequests/pullrequests.mako:100 | |
|
6184 | 6198 | #: rhodecode/templates/search/search_commit.mako:18 |
|
6185 | 6199 | #: rhodecode/templates/summary/summary_commits.mako:11 |
|
6186 | 6200 | #: rhodecode/templates/tags/tags.mako:73 |
@@ -6195,7 +6209,7 b' msgstr ""' | |||
|
6195 | 6209 | #: rhodecode/templates/admin/user_groups/user_group_edit_advanced.mako:7 |
|
6196 | 6210 | #: rhodecode/templates/admin/users/user_edit_advanced.mako:6 |
|
6197 | 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 | 6213 | msgid "Created on" |
|
6200 | 6214 | msgstr "" |
|
6201 | 6215 | |
@@ -6691,26 +6705,26 b' msgstr ""' | |||
|
6691 | 6705 | msgid "Pull Requests You Participate In" |
|
6692 | 6706 | msgstr "" |
|
6693 | 6707 | |
|
6694 |
#: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:7 |
|
|
6695 |
#: rhodecode/templates/pullrequests/pullrequests.mako:9 |
|
|
6708 | #: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:75 | |
|
6709 | #: rhodecode/templates/pullrequests/pullrequests.mako:96 | |
|
6696 | 6710 | msgid "Id" |
|
6697 | 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 | 6714 | #: rhodecode/templates/admin/settings/settings_global.mako:9 |
|
6701 | 6715 | #: rhodecode/templates/email_templates/pull_request_review.mako:47 |
|
6702 | 6716 | #: rhodecode/templates/email_templates/pull_request_update.mako:43 |
|
6703 | 6717 | #: rhodecode/templates/pullrequests/pullrequest.mako:91 |
|
6704 |
#: rhodecode/templates/pullrequests/pullrequests.mako:9 |
|
|
6718 | #: rhodecode/templates/pullrequests/pullrequests.mako:98 | |
|
6705 | 6719 | msgid "Title" |
|
6706 | 6720 | msgstr "" |
|
6707 | 6721 | |
|
6708 |
#: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:9 |
|
|
6709 |
#: rhodecode/templates/pullrequests/pullrequests.mako:10 |
|
|
6722 | #: rhodecode/templates/admin/my_account/my_account_pullrequests.mako:99 | |
|
6723 | #: rhodecode/templates/pullrequests/pullrequests.mako:104 | |
|
6710 | 6724 | msgid "Last Update" |
|
6711 | 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 | 6728 | msgid "Target Repo" |
|
6715 | 6729 | msgstr "" |
|
6716 | 6730 | |
@@ -6816,10 +6830,10 b' msgid "Unread"' | |||
|
6816 | 6830 | msgstr "" |
|
6817 | 6831 | |
|
6818 | 6832 | #: rhodecode/templates/admin/notifications/notifications_show_all.mako:41 |
|
6819 |
#: rhodecode/templates/changeset/changeset.mako:25 |
|
|
6820 |
#: rhodecode/templates/changeset/changeset.mako:26 |
|
|
6821 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:7 |
|
|
6822 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:73 |
|
|
6833 | #: rhodecode/templates/changeset/changeset.mako:252 | |
|
6834 | #: rhodecode/templates/changeset/changeset.mako:262 | |
|
6835 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:763 | |
|
6836 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:773 | |
|
6823 | 6837 | msgid "Comments" |
|
6824 | 6838 | msgstr "" |
|
6825 | 6839 | |
@@ -7858,7 +7872,7 b' msgid "Private repository"' | |||
|
7858 | 7872 | msgstr "" |
|
7859 | 7873 | |
|
7860 | 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 | 7876 | msgid "Enable statistics" |
|
7863 | 7877 | msgstr "" |
|
7864 | 7878 | |
@@ -9043,10 +9057,10 b' msgstr ""' | |||
|
9043 | 9057 | |
|
9044 | 9058 | #: rhodecode/templates/base/base.mako:161 |
|
9045 | 9059 | #: rhodecode/templates/base/base.mako:201 |
|
9046 |
#: rhodecode/templates/changeset/changeset.mako:14 |
|
|
9060 | #: rhodecode/templates/changeset/changeset.mako:140 | |
|
9047 | 9061 | #: rhodecode/templates/files/files_source_header.mako:57 |
|
9048 | 9062 | #: rhodecode/templates/files/files_tree_header.mako:44 |
|
9049 |
#: rhodecode/templates/summary/components.mako:27 |
|
|
9063 | #: rhodecode/templates/summary/components.mako:274 | |
|
9050 | 9064 | msgid "Show More" |
|
9051 | 9065 | msgstr "" |
|
9052 | 9066 | |
@@ -9358,9 +9372,9 b' msgid "Confirm to remove this pattern:"' | |||
|
9358 | 9372 | msgstr "" |
|
9359 | 9373 | |
|
9360 | 9374 | #: rhodecode/templates/base/issue_tracker_settings.mako:300 |
|
9361 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:3 |
|
|
9362 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:4 |
|
|
9363 |
#: rhodecode/templates/data_table/_dt_elements.mako:45 |
|
|
9375 | #: rhodecode/templates/changeset/changeset_file_comment.mako:395 | |
|
9376 | #: rhodecode/templates/changeset/changeset_file_comment.mako:446 | |
|
9377 | #: rhodecode/templates/data_table/_dt_elements.mako:456 | |
|
9364 | 9378 | #: rhodecode/templates/files/files_add.mako:59 |
|
9365 | 9379 | #: rhodecode/templates/files/files_edit.mako:61 |
|
9366 | 9380 | msgid "Preview" |
@@ -9708,7 +9722,7 b' msgstr ""' | |||
|
9708 | 9722 | msgid "{} Commit" |
|
9709 | 9723 | msgstr "" |
|
9710 | 9724 | |
|
9711 |
#: rhodecode/templates/changeset/changeset.mako:8 |
|
|
9725 | #: rhodecode/templates/changeset/changeset.mako:78 | |
|
9712 | 9726 | #: rhodecode/templates/commits/changelog_elements.mako:56 |
|
9713 | 9727 | #: rhodecode/templates/files/files_source_header.mako:48 |
|
9714 | 9728 | #: rhodecode/templates/files/files_tree_header.mako:35 |
@@ -9716,119 +9730,127 b' msgstr ""' | |||
|
9716 | 9730 | msgid "Copy the full commit id" |
|
9717 | 9731 | msgstr "" |
|
9718 | 9732 | |
|
9719 |
#: rhodecode/templates/changeset/changeset.mako:8 |
|
|
9733 | #: rhodecode/templates/changeset/changeset.mako:83 | |
|
9720 | 9734 | msgid "Commit phase" |
|
9721 | 9735 | msgstr "" |
|
9722 | 9736 | |
|
9723 |
#: rhodecode/templates/changeset/changeset.mako:9 |
|
|
9724 |
#: rhodecode/templates/changeset/changeset.mako:9 |
|
|
9737 | #: rhodecode/templates/changeset/changeset.mako:90 | |
|
9738 | #: rhodecode/templates/changeset/changeset.mako:97 | |
|
9725 | 9739 | msgid "Evolve State" |
|
9726 | 9740 | msgstr "" |
|
9727 | 9741 | |
|
9728 |
#: rhodecode/templates/changeset/changeset.mako:9 |
|
|
9742 | #: rhodecode/templates/changeset/changeset.mako:91 | |
|
9729 | 9743 | msgid "obsolete" |
|
9730 | 9744 | msgstr "" |
|
9731 | 9745 | |
|
9732 |
#: rhodecode/templates/changeset/changeset.mako: |
|
|
9746 | #: rhodecode/templates/changeset/changeset.mako:98 | |
|
9733 | 9747 | msgid "hidden" |
|
9734 | 9748 | msgstr "" |
|
9735 | 9749 | |
|
9736 |
#: rhodecode/templates/changeset/changeset.mako:10 |
|
|
9750 | #: rhodecode/templates/changeset/changeset.mako:104 | |
|
9737 | 9751 | msgid "Parent Commit" |
|
9738 | 9752 | msgstr "" |
|
9739 | 9753 | |
|
9740 |
#: rhodecode/templates/changeset/changeset.mako:10 |
|
|
9754 | #: rhodecode/templates/changeset/changeset.mako:104 | |
|
9741 | 9755 | msgid "parent" |
|
9742 | 9756 | msgstr "" |
|
9743 | 9757 | |
|
9744 |
#: rhodecode/templates/changeset/changeset.mako:1 |
|
|
9758 | #: rhodecode/templates/changeset/changeset.mako:108 | |
|
9745 | 9759 | msgid "Child Commit" |
|
9746 | 9760 | msgstr "" |
|
9747 | 9761 | |
|
9748 |
#: rhodecode/templates/changeset/changeset.mako:1 |
|
|
9762 | #: rhodecode/templates/changeset/changeset.mako:108 | |
|
9749 | 9763 | msgid "child" |
|
9750 | 9764 | msgstr "" |
|
9751 | 9765 | |
|
9752 |
#: rhodecode/templates/changeset/changeset.mako:1 |
|
|
9766 | #: rhodecode/templates/changeset/changeset.mako:118 | |
|
9753 | 9767 | msgid "Diff options" |
|
9754 | 9768 | msgstr "" |
|
9755 | 9769 | |
|
9756 |
#: rhodecode/templates/changeset/changeset.mako:12 |
|
|
9770 | #: rhodecode/templates/changeset/changeset.mako:122 | |
|
9757 | 9771 | msgid "Raw Diff" |
|
9758 | 9772 | msgstr "" |
|
9759 | 9773 | |
|
9760 |
#: rhodecode/templates/changeset/changeset.mako:12 |
|
|
9774 | #: rhodecode/templates/changeset/changeset.mako:126 | |
|
9761 | 9775 | msgid "Patch Diff" |
|
9762 | 9776 | msgstr "" |
|
9763 | 9777 | |
|
9764 |
#: rhodecode/templates/changeset/changeset.mako:13 |
|
|
9778 | #: rhodecode/templates/changeset/changeset.mako:130 | |
|
9765 | 9779 | msgid "Download Diff" |
|
9766 | 9780 | msgstr "" |
|
9767 | 9781 | |
|
9768 |
#: rhodecode/templates/changeset/changeset.mako:16 |
|
|
9769 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:50 |
|
|
9782 | #: rhodecode/templates/changeset/changeset.mako:160 | |
|
9783 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:502 | |
|
9770 | 9784 | msgid "General Comments" |
|
9771 | 9785 | msgstr "" |
|
9772 | 9786 | |
|
9773 |
#: rhodecode/templates/changeset/changeset.mako:20 |
|
|
9774 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
9787 | #: rhodecode/templates/changeset/changeset.mako:201 | |
|
9788 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:619 | |
|
9775 | 9789 | msgid "Reviewers" |
|
9776 | 9790 | msgstr "" |
|
9777 | 9791 | |
|
9778 |
#: rhodecode/templates/changeset/changeset.mako:24 |
|
|
9779 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
9792 | #: rhodecode/templates/changeset/changeset.mako:242 | |
|
9793 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:579 | |
|
9794 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:752 | |
|
9780 | 9795 | msgid "No TODOs yet" |
|
9781 | 9796 | msgstr "" |
|
9782 | 9797 | |
|
9783 |
#: rhodecode/templates/changeset/changeset.mako:27 |
|
|
9784 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
9798 | #: rhodecode/templates/changeset/changeset.mako:274 | |
|
9799 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:803 | |
|
9785 | 9800 | msgid "No Comments yet" |
|
9786 | 9801 | msgstr "" |
|
9787 | 9802 | |
|
9788 |
#: rhodecode/templates/changeset/changeset.mako:33 |
|
|
9803 | #: rhodecode/templates/changeset/changeset.mako:330 | |
|
9789 | 9804 | msgid "No Child Commits" |
|
9790 | 9805 | msgstr "" |
|
9791 | 9806 | |
|
9792 |
#: rhodecode/templates/changeset/changeset.mako:37 |
|
|
9807 | #: rhodecode/templates/changeset/changeset.mako:377 | |
|
9793 | 9808 | msgid "No Parent Commits" |
|
9794 | 9809 | msgstr "" |
|
9795 | 9810 | |
|
9796 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
|
9797 | msgid "Resolved by comment #{}" | |
|
9811 | #: rhodecode/templates/changeset/changeset_file_comment.mako:51 | |
|
9812 | msgid "Draft comments are only visible to the author until submitted" | |
|
9798 | 9813 | msgstr "" |
|
9799 | 9814 | |
|
9800 | 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 | 9824 | msgid "Click to create resolution comment." |
|
9802 | 9825 | msgstr "" |
|
9803 | 9826 | |
|
9804 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
|
9827 | #: rhodecode/templates/changeset/changeset_file_comment.mako:82 | |
|
9805 | 9828 | msgid "This comment resolves TODO #{}" |
|
9806 | 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 | 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 | 9840 | msgid "author" |
|
9818 | 9841 | msgstr "" |
|
9819 | 9842 | |
|
9820 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:1 |
|
|
9821 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
|
9843 | #: rhodecode/templates/changeset/changeset_file_comment.mako:187 | |
|
9844 | #: rhodecode/templates/changeset/changeset_file_comment.mako:201 | |
|
9822 | 9845 | msgid "Outdated comment from pull request version v{0}, latest v{1}" |
|
9823 | 9846 | msgstr "" |
|
9824 | 9847 | |
|
9825 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:1 |
|
|
9826 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
|
9848 | #: rhodecode/templates/changeset/changeset_file_comment.mako:190 | |
|
9849 | #: rhodecode/templates/changeset/changeset_file_comment.mako:206 | |
|
9827 | 9850 | msgid "Comment from pull request version v{0}, latest v{1}" |
|
9828 | 9851 | msgstr "" |
|
9829 | 9852 | |
|
9830 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
9831 | #: rhodecode/templates/changeset/changeset_file_comment.mako:480 | |
|
9853 | #: rhodecode/templates/changeset/changeset_file_comment.mako:222 | |
|
9832 | 9854 | #: rhodecode/templates/compare/compare_diff.mako:108 |
|
9833 | 9855 | #: rhodecode/templates/compare/compare_diff.mako:116 |
|
9834 | 9856 | #: rhodecode/templates/compare/compare_diff.mako:124 |
@@ -9836,98 +9858,93 b' msgstr ""' | |||
|
9836 | 9858 | msgid "Comment" |
|
9837 | 9859 | msgstr "" |
|
9838 | 9860 | |
|
9839 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
9861 | #: rhodecode/templates/changeset/changeset_file_comment.mako:223 | |
|
9840 | 9862 | #: rhodecode/templates/files/files_source.mako:117 |
|
9841 | 9863 | msgid "Copy permalink" |
|
9842 | 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 | 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 | 9878 | msgid "Jump to the previous outdated comment" |
|
9853 | 9879 | msgstr "" |
|
9854 | 9880 | |
|
9855 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
9881 | #: rhodecode/templates/changeset/changeset_file_comment.mako:268 | |
|
9856 | 9882 | msgid "Jump to the next outdated comment" |
|
9857 | 9883 | msgstr "" |
|
9858 | 9884 | |
|
9859 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
9885 | #: rhodecode/templates/changeset/changeset_file_comment.mako:270 | |
|
9860 | 9886 | msgid "Jump to the previous comment" |
|
9861 | 9887 | msgstr "" |
|
9862 | 9888 | |
|
9863 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:2 |
|
|
9889 | #: rhodecode/templates/changeset/changeset_file_comment.mako:271 | |
|
9864 | 9890 | msgid "Jump to the next comment" |
|
9865 | 9891 | msgstr "" |
|
9866 | 9892 | |
|
9867 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
|
9893 | #: rhodecode/templates/changeset/changeset_file_comment.mako:311 | |
|
9868 | 9894 | msgid "Leave a comment on this Pull Request." |
|
9869 | 9895 | msgstr "" |
|
9870 | 9896 | |
|
9871 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
|
9897 | #: rhodecode/templates/changeset/changeset_file_comment.mako:313 | |
|
9872 | 9898 | msgid "Leave a comment on {} commits in this range." |
|
9873 | 9899 | msgstr "" |
|
9874 | 9900 | |
|
9875 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
|
9901 | #: rhodecode/templates/changeset/changeset_file_comment.mako:315 | |
|
9876 | 9902 | msgid "Leave a comment on this Commit." |
|
9877 | 9903 | msgstr "" |
|
9878 | 9904 | |
|
9879 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:3 |
|
|
9880 | #: rhodecode/templates/codeblocks/diffs.mako:85 | |
|
9905 | #: rhodecode/templates/changeset/changeset_file_comment.mako:403 | |
|
9881 | 9906 | msgid "You need to be logged in to leave comments." |
|
9882 | 9907 | msgstr "" |
|
9883 | 9908 | |
|
9884 |
#: rhodecode/templates/changeset/changeset_file_comment.mako: |
|
|
9885 | #: rhodecode/templates/codeblocks/diffs.mako:85 | |
|
9909 | #: rhodecode/templates/changeset/changeset_file_comment.mako:404 | |
|
9886 | 9910 | msgid "Login now" |
|
9887 | 9911 | msgstr "" |
|
9888 | 9912 | |
|
9889 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:4 |
|
|
9913 | #: rhodecode/templates/changeset/changeset_file_comment.mako:451 | |
|
9890 | 9914 | msgid "Mark as" |
|
9891 | 9915 | msgstr "" |
|
9892 | 9916 | |
|
9893 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:44 |
|
|
9917 | #: rhodecode/templates/changeset/changeset_file_comment.mako:474 | |
|
9894 | 9918 | #: rhodecode/templates/files/files_upload.mako:86 |
|
9895 | 9919 | msgid "Drag'n Drop files here or" |
|
9896 | 9920 | msgstr "" |
|
9897 | 9921 | |
|
9898 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:44 |
|
|
9922 | #: rhodecode/templates/changeset/changeset_file_comment.mako:474 | |
|
9899 | 9923 | #: rhodecode/templates/files/files_upload.mako:86 |
|
9900 | 9924 | msgid "Choose your files" |
|
9901 | 9925 | msgstr "" |
|
9902 | 9926 | |
|
9903 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:4 |
|
|
9927 | #: rhodecode/templates/changeset/changeset_file_comment.mako:477 | |
|
9904 | 9928 | msgid "uploading..." |
|
9905 | 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 | 9931 | #: rhodecode/templates/changeset/changeset_file_comment.mako:508 |
|
9914 | msgid "Comments parsed using {} syntax." | |
|
9915 | msgstr "" | |
|
9916 | ||
|
9917 |
#: rhodecode/templates/changeset/changeset_file_comment.mako:5 |
|
|
9918 | msgid "Use @username inside this text to send notification to this RhodeCode user" | |
|
9919 | msgstr "" | |
|
9920 | ||
|
9921 | #: rhodecode/templates/changeset/changeset_file_comment.mako:510 | |
|
9922 | msgid "and" | |
|
9923 | msgstr "" | |
|
9924 | ||
|
9925 | #: rhodecode/templates/changeset/changeset_file_comment.mako:511 | |
|
9926 | msgid "Start typing with / for certain actions to be triggered via text box." | |
|
9927 | msgstr "" | |
|
9928 | ||
|
9929 | #: rhodecode/templates/changeset/changeset_file_comment.mako:512 | |
|
9930 | msgid "actions supported." | |
|
9932 | msgid "Add comment" | |
|
9933 | msgstr "" | |
|
9934 | ||
|
9935 | #: rhodecode/templates/changeset/changeset_file_comment.mako:513 | |
|
9936 | #: rhodecode/templates/changeset/changeset_file_comment.mako:515 | |
|
9937 | msgid "Add draft" | |
|
9938 | msgstr "" | |
|
9939 | ||
|
9940 | #: rhodecode/templates/changeset/changeset_file_comment.mako:526 | |
|
9941 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:46 | |
|
9942 | #: rhodecode/templates/pullrequests/pullrequests.mako:31 | |
|
9943 | msgid "Closed" | |
|
9944 | msgstr "" | |
|
9945 | ||
|
9946 | #: rhodecode/templates/changeset/changeset_file_comment.mako:545 | |
|
9947 | msgid "{} is supported." | |
|
9931 | 9948 | msgstr "" |
|
9932 | 9949 | |
|
9933 | 9950 | #: rhodecode/templates/changeset/changeset_range.mako:5 |
@@ -9948,6 +9965,7 b' msgid "Diff Option"' | |||
|
9948 | 9965 | msgstr "" |
|
9949 | 9966 | |
|
9950 | 9967 | #: rhodecode/templates/changeset/changeset_range.mako:71 |
|
9968 | #: rhodecode/templates/commits/changelog.mako:124 | |
|
9951 | 9969 | msgid "Show combined diff" |
|
9952 | 9970 | msgstr "" |
|
9953 | 9971 | |
@@ -9959,8 +9977,8 b' msgstr ""' | |||
|
9959 | 9977 | #: rhodecode/templates/changeset/diff_block.mako:10 |
|
9960 | 9978 | #: rhodecode/templates/changeset/diff_block.mako:25 |
|
9961 | 9979 | #: rhodecode/templates/changeset/diff_block.mako:46 |
|
9962 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
|
9963 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
|
9980 | #: rhodecode/templates/codeblocks/diffs.mako:196 | |
|
9981 | #: rhodecode/templates/codeblocks/diffs.mako:327 | |
|
9964 | 9982 | msgid "Showing a big diff might take some time and resources, continue?" |
|
9965 | 9983 | msgstr "" |
|
9966 | 9984 | |
@@ -9968,8 +9986,8 b' msgstr ""' | |||
|
9968 | 9986 | #: rhodecode/templates/changeset/diff_block.mako:10 |
|
9969 | 9987 | #: rhodecode/templates/changeset/diff_block.mako:25 |
|
9970 | 9988 | #: rhodecode/templates/changeset/diff_block.mako:46 |
|
9971 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
|
9972 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
|
9989 | #: rhodecode/templates/codeblocks/diffs.mako:196 | |
|
9990 | #: rhodecode/templates/codeblocks/diffs.mako:327 | |
|
9973 | 9991 | msgid "Show full diff" |
|
9974 | 9992 | msgstr "" |
|
9975 | 9993 | |
@@ -9982,148 +10000,149 b' msgstr ""' | |||
|
9982 | 10000 | msgid "Diff was truncated. File content available only in full diff." |
|
9983 | 10001 | msgstr "" |
|
9984 | 10002 | |
|
9985 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
|
10003 | #: rhodecode/templates/codeblocks/diffs.mako:129 | |
|
9986 | 10004 | msgid "not available in this view" |
|
9987 | 10005 | msgstr "" |
|
9988 | 10006 | |
|
9989 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
|
10007 | #: rhodecode/templates/codeblocks/diffs.mako:138 | |
|
9990 | 10008 | msgid "{} unresolved" |
|
9991 | 10009 | msgstr "" |
|
9992 | 10010 | |
|
9993 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
|
10011 | #: rhodecode/templates/codeblocks/diffs.mako:141 | |
|
9994 | 10012 | msgid "0 unresolved" |
|
9995 | 10013 | msgstr "" |
|
9996 | 10014 | |
|
9997 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
|
10015 | #: rhodecode/templates/codeblocks/diffs.mako:144 | |
|
9998 | 10016 | msgid "{} Resolved" |
|
9999 | 10017 | msgstr "" |
|
10000 | 10018 | |
|
10001 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
|
10019 | #: rhodecode/templates/codeblocks/diffs.mako:195 | |
|
10002 | 10020 | msgid "The requested changes are too big and content was truncated." |
|
10003 | 10021 | msgstr "" |
|
10004 | 10022 | |
|
10005 |
#: rhodecode/templates/codeblocks/diffs.mako:22 |
|
|
10023 | #: rhodecode/templates/codeblocks/diffs.mako:212 | |
|
10006 | 10024 | msgid "Some changes may be hidden" |
|
10007 | 10025 | msgstr "" |
|
10008 | 10026 | |
|
10009 |
#: rhodecode/templates/codeblocks/diffs.mako:2 |
|
|
10027 | #: rhodecode/templates/codeblocks/diffs.mako:214 | |
|
10010 | 10028 | msgid "No files" |
|
10011 | 10029 | msgstr "" |
|
10012 | 10030 | |
|
10013 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
|
10031 | #: rhodecode/templates/codeblocks/diffs.mako:327 | |
|
10014 | 10032 | msgid "The requested commit or file is too big and content was truncated." |
|
10015 | 10033 | msgstr "" |
|
10016 | 10034 | |
|
10017 |
#: rhodecode/templates/codeblocks/diffs.mako:34 |
|
|
10035 | #: rhodecode/templates/codeblocks/diffs.mako:334 | |
|
10018 | 10036 | #, python-format |
|
10019 | 10037 | msgid "This diff has been collapsed as it changes many lines, (%i lines changed)" |
|
10020 | 10038 | msgstr "" |
|
10021 | 10039 | |
|
10022 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
|
10040 | #: rhodecode/templates/codeblocks/diffs.mako:336 | |
|
10023 | 10041 | msgid "Show them" |
|
10024 | 10042 | msgstr "" |
|
10025 | 10043 | |
|
10026 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
|
10044 | #: rhodecode/templates/codeblocks/diffs.mako:339 | |
|
10027 | 10045 | msgid "Hide them" |
|
10028 | 10046 | msgstr "" |
|
10029 | 10047 | |
|
10030 |
#: rhodecode/templates/codeblocks/diffs.mako:3 |
|
|
10031 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
|
10048 | #: rhodecode/templates/codeblocks/diffs.mako:376 | |
|
10049 | #: rhodecode/templates/codeblocks/diffs.mako:395 | |
|
10032 | 10050 | msgid "Unmatched/outdated inline comments below" |
|
10033 | 10051 | msgstr "" |
|
10034 | 10052 | |
|
10035 |
#: rhodecode/templates/codeblocks/diffs.mako:41 |
|
|
10053 | #: rhodecode/templates/codeblocks/diffs.mako:401 | |
|
10036 | 10054 | msgid "Unmatched/outdated comments below" |
|
10037 | 10055 | msgstr "" |
|
10038 | 10056 | |
|
10039 |
#: rhodecode/templates/codeblocks/diffs.mako:4 |
|
|
10057 | #: rhodecode/templates/codeblocks/diffs.mako:475 | |
|
10040 | 10058 | msgid "This file was removed from diff during updates to this pull-request." |
|
10041 | 10059 | msgstr "" |
|
10042 | 10060 | |
|
10043 |
#: rhodecode/templates/codeblocks/diffs.mako:4 |
|
|
10061 | #: rhodecode/templates/codeblocks/diffs.mako:476 | |
|
10044 | 10062 | msgid "There are still outdated/unresolved comments attached to it." |
|
10045 | 10063 | msgstr "" |
|
10046 | 10064 | |
|
10047 |
#: rhodecode/templates/codeblocks/diffs.mako:5 |
|
|
10048 |
#: rhodecode/templates/codeblocks/diffs.mako:6 |
|
|
10065 | #: rhodecode/templates/codeblocks/diffs.mako:582 | |
|
10066 | #: rhodecode/templates/codeblocks/diffs.mako:600 | |
|
10049 | 10067 | #, python-format |
|
10050 | 10068 | msgid "Show file at commit: %(commit_id)s" |
|
10051 | 10069 | msgstr "" |
|
10052 | 10070 | |
|
10053 |
#: rhodecode/templates/codeblocks/diffs.mako:5 |
|
|
10054 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
|
10071 | #: rhodecode/templates/codeblocks/diffs.mako:584 | |
|
10072 | #: rhodecode/templates/codeblocks/diffs.mako:591 | |
|
10055 | 10073 | msgid "Show file before" |
|
10056 | 10074 | msgstr "" |
|
10057 | 10075 | |
|
10058 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
|
10059 |
#: rhodecode/templates/codeblocks/diffs.mako:6 |
|
|
10076 | #: rhodecode/templates/codeblocks/diffs.mako:589 | |
|
10077 | #: rhodecode/templates/codeblocks/diffs.mako:607 | |
|
10060 | 10078 | #, python-format |
|
10061 | 10079 | msgid "File not present at commit: %(commit_id)s" |
|
10062 | 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 | 10087 | #: rhodecode/templates/codeblocks/diffs.mako:616 |
|
10065 |
#: rhodecode/templates/codeblocks/diffs.mako:6 |
|
|
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 | |
|
10088 | #: rhodecode/templates/codeblocks/diffs.mako:618 | |
|
10074 | 10089 | msgid "Hide comments" |
|
10075 | 10090 | msgstr "" |
|
10076 | 10091 | |
|
10077 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
|
10078 | #: rhodecode/templates/codeblocks/diffs.mako:764 | |
|
10079 | #: rhodecode/templates/codeblocks/diffs.mako:826 | |
|
10080 | msgid "comments including outdated: {}. Click here to display them." | |
|
10081 | msgstr "" | |
|
10082 | ||
|
10083 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
|
10084 | #: rhodecode/templates/codeblocks/diffs.mako:766 | |
|
10085 | #: rhodecode/templates/codeblocks/diffs.mako:828 | |
|
10086 | msgid "comments: {}. Click to toggle them." | |
|
10087 | msgstr "" | |
|
10088 | ||
|
10089 |
#: rhodecode/templates/codeblocks/diffs.mako:8 |
|
|
10092 | #: rhodecode/templates/codeblocks/diffs.mako:617 | |
|
10093 | msgid "Show comments" | |
|
10094 | msgstr "" | |
|
10095 | ||
|
10096 | #: rhodecode/templates/codeblocks/diffs.mako:726 | |
|
10097 | #: rhodecode/templates/codeblocks/diffs.mako:773 | |
|
10098 | #: rhodecode/templates/codeblocks/diffs.mako:840 | |
|
10099 | msgid "Comments including outdated: {}. Click here to toggle them." | |
|
10100 | msgstr "" | |
|
10101 | ||
|
10102 | #: rhodecode/templates/codeblocks/diffs.mako:728 | |
|
10103 | #: rhodecode/templates/codeblocks/diffs.mako:775 | |
|
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 | 10109 | msgid "Toggle wide diff" |
|
10091 | 10110 | msgstr "" |
|
10092 | 10111 | |
|
10093 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
|
10112 | #: rhodecode/templates/codeblocks/diffs.mako:922 | |
|
10094 | 10113 | msgid "View diff as side by side" |
|
10095 | 10114 | msgstr "" |
|
10096 | 10115 | |
|
10097 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
|
10116 | #: rhodecode/templates/codeblocks/diffs.mako:924 | |
|
10098 | 10117 | msgid "Side by Side" |
|
10099 | 10118 | msgstr "" |
|
10100 | 10119 | |
|
10101 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
|
10120 | #: rhodecode/templates/codeblocks/diffs.mako:929 | |
|
10102 | 10121 | msgid "View diff as unified" |
|
10103 | 10122 | msgstr "" |
|
10104 | 10123 | |
|
10105 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
|
10124 | #: rhodecode/templates/codeblocks/diffs.mako:930 | |
|
10106 | 10125 | msgid "Unified" |
|
10107 | 10126 | msgstr "" |
|
10108 | 10127 | |
|
10109 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
|
10128 | #: rhodecode/templates/codeblocks/diffs.mako:935 | |
|
10110 | 10129 | msgid "Turn off: Show the diff as commit range" |
|
10111 | 10130 | msgstr "" |
|
10112 | 10131 | |
|
10113 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
|
10114 |
#: rhodecode/templates/codeblocks/diffs.mako:9 |
|
|
10132 | #: rhodecode/templates/codeblocks/diffs.mako:938 | |
|
10133 | #: rhodecode/templates/codeblocks/diffs.mako:945 | |
|
10115 | 10134 | msgid "Range Diff" |
|
10116 | 10135 | msgstr "" |
|
10117 | 10136 | |
|
10118 |
#: rhodecode/templates/codeblocks/diffs.mako:92 |
|
|
10137 | #: rhodecode/templates/codeblocks/diffs.mako:942 | |
|
10119 | 10138 | msgid "Show the diff as commit range" |
|
10120 | 10139 | msgstr "" |
|
10121 | 10140 | |
|
10122 |
#: rhodecode/templates/codeblocks/diffs.mako: |
|
|
10141 | #: rhodecode/templates/codeblocks/diffs.mako:1007 | |
|
10123 | 10142 | msgid "Disabled on range diff" |
|
10124 | 10143 | msgstr "" |
|
10125 | 10144 | |
|
10126 |
#: rhodecode/templates/codeblocks/diffs.mako:1 |
|
|
10145 | #: rhodecode/templates/codeblocks/diffs.mako:1314 | |
|
10127 | 10146 | msgid "..." |
|
10128 | 10147 | msgstr "" |
|
10129 | 10148 | |
@@ -10171,25 +10190,25 b' msgstr ""' | |||
|
10171 | 10190 | msgid "Select second commit" |
|
10172 | 10191 | msgstr "" |
|
10173 | 10192 | |
|
10174 |
#: rhodecode/templates/commits/changelog.mako:1 |
|
|
10193 | #: rhodecode/templates/commits/changelog.mako:135 | |
|
10175 | 10194 | msgid "Commit Message" |
|
10176 | 10195 | msgstr "" |
|
10177 | 10196 | |
|
10178 |
#: rhodecode/templates/commits/changelog.mako:1 |
|
|
10197 | #: rhodecode/templates/commits/changelog.mako:137 | |
|
10179 | 10198 | #: rhodecode/templates/summary/summary_commits.mako:10 |
|
10180 | 10199 | msgid "Age" |
|
10181 | 10200 | msgstr "" |
|
10182 | 10201 | |
|
10183 |
#: rhodecode/templates/commits/changelog.mako:1 |
|
|
10202 | #: rhodecode/templates/commits/changelog.mako:140 | |
|
10184 | 10203 | #: rhodecode/templates/summary/summary_commits.mako:12 |
|
10185 | 10204 | msgid "Refs" |
|
10186 | 10205 | msgstr "" |
|
10187 | 10206 | |
|
10188 |
#: rhodecode/templates/commits/changelog.mako:2 |
|
|
10207 | #: rhodecode/templates/commits/changelog.mako:289 | |
|
10189 | 10208 | msgid "Branch filter" |
|
10190 | 10209 | msgstr "" |
|
10191 | 10210 | |
|
10192 |
#: rhodecode/templates/commits/changelog.mako:3 |
|
|
10211 | #: rhodecode/templates/commits/changelog.mako:350 | |
|
10193 | 10212 | msgid "There are no changes yet" |
|
10194 | 10213 | msgstr "" |
|
10195 | 10214 | |
@@ -10229,7 +10248,7 b' msgstr ""' | |||
|
10229 | 10248 | |
|
10230 | 10249 | #: rhodecode/templates/commits/changelog_elements.mako:80 |
|
10231 | 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 | 10252 | #: rhodecode/templates/search/search_commit.mako:34 |
|
10234 | 10253 | msgid "Expand commit message" |
|
10235 | 10254 | msgstr "" |
@@ -10281,7 +10300,7 b' msgid "Compare was calculated based on t' | |||
|
10281 | 10300 | msgstr "" |
|
10282 | 10301 | |
|
10283 | 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 | 10304 | msgid "Time" |
|
10286 | 10305 | msgstr "" |
|
10287 | 10306 | |
@@ -10402,7 +10421,7 b' msgid "personal"' | |||
|
10402 | 10421 | msgstr "" |
|
10403 | 10422 | |
|
10404 | 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 | 10425 | msgid "Pull request !{}" |
|
10407 | 10426 | msgstr "" |
|
10408 | 10427 | |
@@ -10410,11 +10429,11 b' msgstr ""' | |||
|
10410 | 10429 | msgid "Work in progress" |
|
10411 | 10430 | msgstr "" |
|
10412 | 10431 | |
|
10413 |
#: rhodecode/templates/data_table/_dt_elements.mako:42 |
|
|
10432 | #: rhodecode/templates/data_table/_dt_elements.mako:432 | |
|
10414 | 10433 | msgid "Info" |
|
10415 | 10434 | msgstr "" |
|
10416 | 10435 | |
|
10417 |
#: rhodecode/templates/data_table/_dt_elements.mako:47 |
|
|
10436 | #: rhodecode/templates/data_table/_dt_elements.mako:473 | |
|
10418 | 10437 | #, python-format |
|
10419 | 10438 | msgid "Parsed using %s syntax" |
|
10420 | 10439 | msgstr "" |
@@ -10553,11 +10572,11 b' msgid "Don\'t have an account ?"' | |||
|
10553 | 10572 | msgstr "" |
|
10554 | 10573 | |
|
10555 | 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 | 10576 | msgid "This is a notification from RhodeCode." |
|
10558 | 10577 | msgstr "" |
|
10559 | 10578 | |
|
10560 |
#: rhodecode/templates/email_templates/base.mako:61 |
|
|
10579 | #: rhodecode/templates/email_templates/base.mako:619 | |
|
10561 | 10580 | msgid "RhodeCode" |
|
10562 | 10581 | msgstr "" |
|
10563 | 10582 | |
@@ -10718,8 +10737,8 b' msgstr ""' | |||
|
10718 | 10737 | #: rhodecode/templates/email_templates/pull_request_review.mako:129 |
|
10719 | 10738 | #: rhodecode/templates/email_templates/pull_request_update.mako:132 |
|
10720 | 10739 | #: rhodecode/templates/email_templates/pull_request_update.mako:134 |
|
10721 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:11 |
|
|
10722 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:12 |
|
|
10740 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:112 | |
|
10741 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:121 | |
|
10723 | 10742 | msgid "of" |
|
10724 | 10743 | msgstr "" |
|
10725 | 10744 | |
@@ -10857,15 +10876,20 b' msgstr ""' | |||
|
10857 | 10876 | msgid "Upload File" |
|
10858 | 10877 | msgstr "" |
|
10859 | 10878 | |
|
10860 |
#: rhodecode/templates/files/files_browser.mako:5 |
|
|
10861 |
msgid " |
|
|
10862 | msgstr "" | |
|
10863 | ||
|
10864 |
#: rhodecode/templates/files/files_browser.mako:5 |
|
|
10865 |
msgid " |
|
|
10866 | msgstr "" | |
|
10867 | ||
|
10868 |
#: rhodecode/templates/files/files_browser.mako: |
|
|
10879 | #: rhodecode/templates/files/files_browser.mako:50 | |
|
10880 | msgid "Full tree as {}" | |
|
10881 | msgstr "" | |
|
10882 | ||
|
10883 | #: rhodecode/templates/files/files_browser.mako:53 | |
|
10884 | msgid "This tree as {}" | |
|
10885 | msgstr "" | |
|
10886 | ||
|
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 | 10893 | #: rhodecode/templates/summary/summary.mako:37 |
|
10870 | 10894 | #, python-format |
|
10871 | 10895 | msgid "Readme file from commit %s:%s" |
@@ -11064,7 +11088,7 b' msgid "New pull request"' | |||
|
11064 | 11088 | msgstr "" |
|
11065 | 11089 | |
|
11066 | 11090 | #: rhodecode/templates/pullrequests/pullrequest.mako:33 |
|
11067 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:10 |
|
|
11091 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:102 | |
|
11068 | 11092 | msgid "Commit flow" |
|
11069 | 11093 | msgstr "" |
|
11070 | 11094 | |
@@ -11085,17 +11109,17 b' msgid "Reviewers / Observers"' | |||
|
11085 | 11109 | msgstr "" |
|
11086 | 11110 | |
|
11087 | 11111 | #: rhodecode/templates/pullrequests/pullrequest.mako:121 |
|
11088 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:5 |
|
|
11112 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:605 | |
|
11089 | 11113 | msgid "Reviewer rules" |
|
11090 | 11114 | msgstr "" |
|
11091 | 11115 | |
|
11092 | 11116 | #: rhodecode/templates/pullrequests/pullrequest.mako:167 |
|
11093 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
|
11117 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:647 | |
|
11094 | 11118 | msgid "Add reviewer or reviewer group" |
|
11095 | 11119 | msgstr "" |
|
11096 | 11120 | |
|
11097 | 11121 | #: rhodecode/templates/pullrequests/pullrequest.mako:191 |
|
11098 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
11122 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:700 | |
|
11099 | 11123 | msgid "Add observer or observer group" |
|
11100 | 11124 | msgstr "" |
|
11101 | 11125 | |
@@ -11151,223 +11175,232 b' msgstr ""' | |||
|
11151 | 11175 | msgid "{} Pull Request !{}" |
|
11152 | 11176 | msgstr "" |
|
11153 | 11177 | |
|
11154 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
11178 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:59 | |
|
11155 | 11179 | msgid "Last updated on" |
|
11156 | 11180 | msgstr "" |
|
11157 | 11181 | |
|
11158 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
|
11182 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:60 | |
|
11159 | 11183 | msgid "by" |
|
11160 | 11184 | msgstr "" |
|
11161 | 11185 | |
|
11162 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
11186 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:69 | |
|
11163 | 11187 | msgid "Update title & description" |
|
11164 | 11188 | msgstr "" |
|
11165 | 11189 | |
|
11166 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:7 |
|
|
11167 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
|
11190 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:75 | |
|
11191 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:78 | |
|
11168 | 11192 | msgid "Delete pull request" |
|
11169 | 11193 | msgstr "" |
|
11170 | 11194 | |
|
11171 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
|
11195 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:78 | |
|
11172 | 11196 | msgid "Not allowed to delete this pull request" |
|
11173 | 11197 | msgstr "" |
|
11174 | 11198 | |
|
11175 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
11199 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:88 | |
|
11176 | 11200 | msgid "Rendered using {} renderer" |
|
11177 | 11201 | msgstr "" |
|
11178 | 11202 | |
|
11179 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:13 |
|
|
11203 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:135 | |
|
11180 | 11204 | msgid "Common ancestor" |
|
11181 | 11205 | msgstr "" |
|
11182 | 11206 | |
|
11183 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:1 |
|
|
11207 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:139 | |
|
11184 | 11208 | msgid "not available" |
|
11185 | 11209 | msgstr "" |
|
11186 | 11210 | |
|
11187 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:15 |
|
|
11211 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:151 | |
|
11188 | 11212 | msgid "Pull changes from source" |
|
11189 | 11213 | msgstr "" |
|
11190 | 11214 | |
|
11191 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:15 |
|
|
11215 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:152 | |
|
11192 | 11216 | msgid "Copy the pull url" |
|
11193 | 11217 | msgstr "" |
|
11194 | 11218 | |
|
11195 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:16 |
|
|
11219 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:164 | |
|
11196 | 11220 | msgid "Clone repository in its merged state using shadow repository" |
|
11197 | 11221 | msgstr "" |
|
11198 | 11222 | |
|
11199 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:16 |
|
|
11223 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:164 | |
|
11200 | 11224 | msgid "Clone from shadow repository" |
|
11201 | 11225 | msgstr "" |
|
11202 | 11226 | |
|
11203 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:16 |
|
|
11227 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:165 | |
|
11204 | 11228 | #: rhodecode/templates/summary/components.mako:78 |
|
11205 | 11229 | msgid "Copy the clone url" |
|
11206 | 11230 | msgstr "" |
|
11207 | 11231 | |
|
11208 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:1 |
|
|
11232 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:169 | |
|
11209 | 11233 | msgid "Shadow repository data not available" |
|
11210 | 11234 | msgstr "" |
|
11211 | 11235 | |
|
11212 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:18 |
|
|
11236 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:185 | |
|
11213 | 11237 | msgid "Versions" |
|
11214 | 11238 | msgstr "" |
|
11215 | 11239 | |
|
11240 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:197 | |
|
11216 | 11241 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:199 |
|
11217 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:201 | |
|
11218 | 11242 | msgid "show versions" |
|
11219 | 11243 | msgstr "" |
|
11220 | 11244 | |
|
11221 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
11245 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:198 | |
|
11222 | 11246 | msgid "hide versions" |
|
11223 | 11247 | msgstr "" |
|
11224 | 11248 | |
|
11225 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:22 |
|
|
11249 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:223 | |
|
11226 | 11250 | msgid "Your review status at this version" |
|
11227 | 11251 | msgstr "" |
|
11228 | 11252 | |
|
11229 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:2 |
|
|
11253 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:228 | |
|
11230 | 11254 | msgid "Comments from pull request version v{0}" |
|
11231 | 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 | 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 | 11267 | msgid "show pull request for this version" |
|
11244 | 11268 | msgstr "" |
|
11245 | 11269 | |
|
11246 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:25 |
|
|
11270 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:257 | |
|
11247 | 11271 | msgid "Pull request versions not available" |
|
11248 | 11272 | msgstr "" |
|
11249 | 11273 | |
|
11250 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:27 |
|
|
11274 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:277 | |
|
11251 | 11275 | msgid "Cannot show diff when pull request state is changing. Current progress state" |
|
11252 | 11276 | msgstr "" |
|
11253 | 11277 | |
|
11254 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:29 |
|
|
11278 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:295 | |
|
11255 | 11279 | msgid "Missing requirements:" |
|
11256 | 11280 | msgstr "" |
|
11257 | 11281 | |
|
11258 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:29 |
|
|
11282 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:296 | |
|
11259 | 11283 | msgid "These commits cannot be displayed, because this repository uses the Mercurial largefiles extension, which was not enabled." |
|
11260 | 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 | 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 | 11296 | msgstr "" |
|
11265 | 11297 | |
|
11266 | 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 | 11299 | msgid "Consider doing a `force update commits` in case you think this is an error." |
|
11276 | 11300 | msgstr "" |
|
11277 | 11301 | |
|
11278 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:31 |
|
|
11302 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:315 | |
|
11279 | 11303 | msgid "There are new changes for `{}:{}` in source repository, please consider updating this pull request." |
|
11280 | 11304 | msgstr "" |
|
11281 | 11305 | |
|
11282 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:32 |
|
|
11306 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:326 | |
|
11283 | 11307 | msgid "Showing changes at v{}, commenting is disabled." |
|
11284 | 11308 | msgstr "" |
|
11285 | 11309 | |
|
11286 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:3 |
|
|
11287 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:37 |
|
|
11310 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:349 | |
|
11311 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:371 | |
|
11288 | 11312 | msgid "Update commits" |
|
11289 | 11313 | msgstr "" |
|
11290 | 11314 | |
|
11291 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:35 |
|
|
11315 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:352 | |
|
11292 | 11316 | msgid "more update options" |
|
11293 | 11317 | msgstr "" |
|
11294 | 11318 | |
|
11295 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:36 |
|
|
11319 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:360 | |
|
11296 | 11320 | msgid "Force update commits" |
|
11297 | 11321 | msgstr "" |
|
11298 | 11322 | |
|
11299 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:36 |
|
|
11323 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:363 | |
|
11300 | 11324 | msgid "Update commits and force refresh this pull request." |
|
11301 | 11325 | msgstr "" |
|
11302 | 11326 | |
|
11303 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:37 |
|
|
11327 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:371 | |
|
11304 | 11328 | msgid "Update is disabled for current view" |
|
11305 | 11329 | msgstr "" |
|
11306 | 11330 | |
|
11307 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:38 |
|
|
11331 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:383 | |
|
11308 | 11332 | msgid "Commits and changes between v{ver_from} and {ver_to} of this pull request, commenting is disabled" |
|
11309 | 11333 | msgstr "" |
|
11310 | 11334 | |
|
11311 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:38 |
|
|
11335 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:387 | |
|
11312 | 11336 | msgid "commits added: {}, removed: {}" |
|
11313 | 11337 | msgstr "" |
|
11314 | 11338 | |
|
11339 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:405 | |
|
11340 | msgid "Commit added in displayed changes" | |
|
11341 | msgstr "" | |
|
11342 | ||
|
11315 | 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 | 11344 | msgid "Commit removed in displayed changes" |
|
11321 | 11345 | msgstr "" |
|
11322 | 11346 | |
|
11323 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:51 |
|
|
11347 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:510 | |
|
11324 | 11348 | msgid "there is {num} general comment from older versions" |
|
11325 | 11349 | msgstr "" |
|
11326 | 11350 | |
|
11351 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:511 | |
|
11352 | msgid "show it" | |
|
11353 | msgstr "" | |
|
11354 | ||
|
11327 | 11355 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:513 |
|
11328 | msgid "show it" | |
|
11329 | msgstr "" | |
|
11330 | ||
|
11331 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:515 | |
|
11332 | 11356 | msgid "there are {num} general comments from older versions" |
|
11333 | 11357 | msgstr "" |
|
11334 | 11358 | |
|
11335 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:51 |
|
|
11359 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:514 | |
|
11336 | 11360 | msgid "show them" |
|
11337 | 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 | 11373 | msgid "Show rules" |
|
11341 | 11374 | msgstr "" |
|
11342 | 11375 | |
|
11343 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
|
11344 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
11376 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:652 | |
|
11377 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:705 | |
|
11345 | 11378 | msgid "Save Changes" |
|
11346 | 11379 | msgstr "" |
|
11347 | 11380 | |
|
11348 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:6 |
|
|
11381 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:676 | |
|
11349 | 11382 | msgid "Observers" |
|
11350 | 11383 | msgstr "" |
|
11351 | 11384 | |
|
11352 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:7 |
|
|
11385 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:742 | |
|
11353 | 11386 | msgid "TODOs unavailable when browsing versions" |
|
11354 | 11387 | msgstr "" |
|
11355 | 11388 | |
|
11356 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
11357 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
11389 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:814 | |
|
11390 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:822 | |
|
11358 | 11391 | msgid "Referenced Tickets" |
|
11359 | 11392 | msgstr "" |
|
11360 | 11393 | |
|
11361 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako: |
|
|
11394 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:828 | |
|
11362 | 11395 | msgid "In pull request description" |
|
11363 | 11396 | msgstr "" |
|
11364 | 11397 | |
|
11365 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
|
11366 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
|
11398 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:842 | |
|
11399 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:861 | |
|
11367 | 11400 | msgid "No Ticket data found." |
|
11368 | 11401 | msgstr "" |
|
11369 | 11402 | |
|
11370 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
|
11403 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:847 | |
|
11371 | 11404 | msgid "In commit messages" |
|
11372 | 11405 | msgstr "" |
|
11373 | 11406 | |
@@ -11496,23 +11529,19 b' msgstr ""' | |||
|
11496 | 11529 | msgid "Downloads are disabled for this repository" |
|
11497 | 11530 | msgstr "" |
|
11498 | 11531 | |
|
11499 |
#: rhodecode/templates/summary/components.mako: |
|
|
11500 | msgid "more download options" | |
|
11501 | msgstr "" | |
|
11502 | ||
|
11503 | #: rhodecode/templates/summary/components.mako:228 | |
|
11532 | #: rhodecode/templates/summary/components.mako:227 | |
|
11504 | 11533 | msgid "Repository size" |
|
11505 | 11534 | msgstr "" |
|
11506 | 11535 | |
|
11507 |
#: rhodecode/templates/summary/components.mako:2 |
|
|
11536 | #: rhodecode/templates/summary/components.mako:239 | |
|
11508 | 11537 | msgid "Calculating Repository Size..." |
|
11509 | 11538 | msgstr "" |
|
11510 | 11539 | |
|
11511 |
#: rhodecode/templates/summary/components.mako:25 |
|
|
11540 | #: rhodecode/templates/summary/components.mako:250 | |
|
11512 | 11541 | msgid "Code Statistics" |
|
11513 | 11542 | msgstr "" |
|
11514 | 11543 | |
|
11515 |
#: rhodecode/templates/summary/components.mako:2 |
|
|
11544 | #: rhodecode/templates/summary/components.mako:259 | |
|
11516 | 11545 | msgid "Statistics are disabled for this repository" |
|
11517 | 11546 | msgstr "" |
|
11518 | 11547 |
@@ -24,6 +24,9 b' from rhodecode.apps._base import ADMIN_P' | |||
|
24 | 24 | from rhodecode.lib.utils2 import safe_int |
|
25 | 25 | from rhodecode.model.db import Repository, Integration, RepoGroup |
|
26 | 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 | 31 | log = logging.getLogger(__name__) |
|
29 | 32 | |
@@ -83,7 +86,7 b' def includeme(config):' | |||
|
83 | 86 | # global integrations |
|
84 | 87 | config.add_route('global_integrations_new', |
|
85 | 88 | ADMIN_PREFIX + '/integrations/new') |
|
86 |
config.add_view( |
|
|
89 | config.add_view(GlobalIntegrationsView, | |
|
87 | 90 | attr='new_integration', |
|
88 | 91 | renderer='rhodecode:templates/admin/integrations/new.mako', |
|
89 | 92 | request_method='GET', |
@@ -94,7 +97,7 b' def includeme(config):' | |||
|
94 | 97 | config.add_route('global_integrations_list', |
|
95 | 98 | ADMIN_PREFIX + '/integrations/{integration}') |
|
96 | 99 | for route_name in ['global_integrations_home', 'global_integrations_list']: |
|
97 |
config.add_view( |
|
|
100 | config.add_view(GlobalIntegrationsView, | |
|
98 | 101 | attr='integration_list', |
|
99 | 102 | renderer='rhodecode:templates/admin/integrations/list.mako', |
|
100 | 103 | request_method='GET', |
@@ -108,12 +111,12 b' def includeme(config):' | |||
|
108 | 111 | valid_integration=True) |
|
109 | 112 | |
|
110 | 113 | for route_name in ['global_integrations_create', 'global_integrations_edit']: |
|
111 |
config.add_view( |
|
|
114 | config.add_view(GlobalIntegrationsView, | |
|
112 | 115 | attr='settings_get', |
|
113 | 116 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
114 | 117 | request_method='GET', |
|
115 | 118 | route_name=route_name) |
|
116 |
config.add_view( |
|
|
119 | config.add_view(GlobalIntegrationsView, | |
|
117 | 120 | attr='settings_post', |
|
118 | 121 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
119 | 122 | request_method='POST', |
@@ -124,7 +127,7 b' def includeme(config):' | |||
|
124 | 127 | add_route_requirements('/{repo_group_name}/_settings/integrations'), |
|
125 | 128 | repo_group_route=True) |
|
126 | 129 | |
|
127 |
config.add_view( |
|
|
130 | config.add_view(RepoGroupIntegrationsView, | |
|
128 | 131 | attr='integration_list', |
|
129 | 132 | renderer='rhodecode:templates/admin/integrations/list.mako', |
|
130 | 133 | request_method='GET', |
@@ -133,7 +136,7 b' def includeme(config):' | |||
|
133 | 136 | config.add_route('repo_group_integrations_new', |
|
134 | 137 | add_route_requirements('/{repo_group_name}/_settings/integrations/new'), |
|
135 | 138 | repo_group_route=True) |
|
136 |
config.add_view( |
|
|
139 | config.add_view(RepoGroupIntegrationsView, | |
|
137 | 140 | attr='new_integration', |
|
138 | 141 | renderer='rhodecode:templates/admin/integrations/new.mako', |
|
139 | 142 | request_method='GET', |
@@ -143,7 +146,7 b' def includeme(config):' | |||
|
143 | 146 | add_route_requirements('/{repo_group_name}/_settings/integrations/{integration}'), |
|
144 | 147 | repo_group_route=True, |
|
145 | 148 | valid_integration=True) |
|
146 |
config.add_view( |
|
|
149 | config.add_view(RepoGroupIntegrationsView, | |
|
147 | 150 | attr='integration_list', |
|
148 | 151 | renderer='rhodecode:templates/admin/integrations/list.mako', |
|
149 | 152 | request_method='GET', |
@@ -153,12 +156,12 b' def includeme(config):' | |||
|
153 | 156 | add_route_requirements('/{repo_group_name}/_settings/integrations/{integration}/new'), |
|
154 | 157 | repo_group_route=True, |
|
155 | 158 | valid_integration=True) |
|
156 |
config.add_view( |
|
|
159 | config.add_view(RepoGroupIntegrationsView, | |
|
157 | 160 | attr='settings_get', |
|
158 | 161 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
159 | 162 | request_method='GET', |
|
160 | 163 | route_name='repo_group_integrations_create') |
|
161 |
config.add_view( |
|
|
164 | config.add_view(RepoGroupIntegrationsView, | |
|
162 | 165 | attr='settings_post', |
|
163 | 166 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
164 | 167 | request_method='POST', |
@@ -169,12 +172,12 b' def includeme(config):' | |||
|
169 | 172 | repo_group_route=True, |
|
170 | 173 | valid_integration=True) |
|
171 | 174 | |
|
172 |
config.add_view( |
|
|
175 | config.add_view(RepoGroupIntegrationsView, | |
|
173 | 176 | attr='settings_get', |
|
174 | 177 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
175 | 178 | request_method='GET', |
|
176 | 179 | route_name='repo_group_integrations_edit') |
|
177 |
config.add_view( |
|
|
180 | config.add_view(RepoGroupIntegrationsView, | |
|
178 | 181 | attr='settings_post', |
|
179 | 182 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
180 | 183 | request_method='POST', |
@@ -184,7 +187,7 b' def includeme(config):' | |||
|
184 | 187 | config.add_route('repo_integrations_home', |
|
185 | 188 | add_route_requirements('/{repo_name}/settings/integrations'), |
|
186 | 189 | repo_route=True) |
|
187 |
config.add_view( |
|
|
190 | config.add_view(RepoIntegrationsView, | |
|
188 | 191 | attr='integration_list', |
|
189 | 192 | request_method='GET', |
|
190 | 193 | renderer='rhodecode:templates/admin/integrations/list.mako', |
@@ -193,7 +196,7 b' def includeme(config):' | |||
|
193 | 196 | config.add_route('repo_integrations_new', |
|
194 | 197 | add_route_requirements('/{repo_name}/settings/integrations/new'), |
|
195 | 198 | repo_route=True) |
|
196 |
config.add_view( |
|
|
199 | config.add_view(RepoIntegrationsView, | |
|
197 | 200 | attr='new_integration', |
|
198 | 201 | renderer='rhodecode:templates/admin/integrations/new.mako', |
|
199 | 202 | request_method='GET', |
@@ -203,7 +206,7 b' def includeme(config):' | |||
|
203 | 206 | add_route_requirements('/{repo_name}/settings/integrations/{integration}'), |
|
204 | 207 | repo_route=True, |
|
205 | 208 | valid_integration=True) |
|
206 |
config.add_view( |
|
|
209 | config.add_view(RepoIntegrationsView, | |
|
207 | 210 | attr='integration_list', |
|
208 | 211 | request_method='GET', |
|
209 | 212 | renderer='rhodecode:templates/admin/integrations/list.mako', |
@@ -213,12 +216,12 b' def includeme(config):' | |||
|
213 | 216 | add_route_requirements('/{repo_name}/settings/integrations/{integration}/new'), |
|
214 | 217 | repo_route=True, |
|
215 | 218 | valid_integration=True) |
|
216 |
config.add_view( |
|
|
219 | config.add_view(RepoIntegrationsView, | |
|
217 | 220 | attr='settings_get', |
|
218 | 221 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
219 | 222 | request_method='GET', |
|
220 | 223 | route_name='repo_integrations_create') |
|
221 |
config.add_view( |
|
|
224 | config.add_view(RepoIntegrationsView, | |
|
222 | 225 | attr='settings_post', |
|
223 | 226 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
224 | 227 | request_method='POST', |
@@ -228,12 +231,12 b' def includeme(config):' | |||
|
228 | 231 | add_route_requirements('/{repo_name}/settings/integrations/{integration}/{integration_id}'), |
|
229 | 232 | repo_route=True, |
|
230 | 233 | valid_integration=True) |
|
231 |
config.add_view( |
|
|
234 | config.add_view(RepoIntegrationsView, | |
|
232 | 235 | attr='settings_get', |
|
233 | 236 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
234 | 237 | request_method='GET', |
|
235 | 238 | route_name='repo_integrations_edit') |
|
236 |
config.add_view( |
|
|
239 | config.add_view(RepoIntegrationsView, | |
|
237 | 240 | attr='settings_post', |
|
238 | 241 | renderer='rhodecode:templates/admin/integrations/form.mako', |
|
239 | 242 | request_method='POST', |
@@ -469,7 +469,14 b' def get_auth_user(request):' | |||
|
469 | 469 | ip_addr = get_ip_addr(environ) |
|
470 | 470 | |
|
471 | 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 | 480 | if not _auth_token and request.matchdict: |
|
474 | 481 | url_auth_token = request.matchdict.get('_auth_token') |
|
475 | 482 | _auth_token = url_auth_token |
@@ -354,7 +354,7 b' def check_for_update():' | |||
|
354 | 354 | @async_task(ignore_result=False) |
|
355 | 355 | def beat_check(*args, **kwargs): |
|
356 | 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 | 358 | return time.time() |
|
359 | 359 | |
|
360 | 360 |
@@ -398,7 +398,10 b' class DiffSet(object):' | |||
|
398 | 398 | ): |
|
399 | 399 | |
|
400 | 400 | self.highlight_mode = highlight_mode |
|
401 |
self.highlighted_filenodes = { |
|
|
401 | self.highlighted_filenodes = { | |
|
402 | 'before': {}, | |
|
403 | 'after': {} | |
|
404 | } | |
|
402 | 405 | self.source_node_getter = source_node_getter |
|
403 | 406 | self.target_node_getter = target_node_getter |
|
404 | 407 | self.source_nodes = source_nodes or {} |
@@ -657,7 +660,7 b' class DiffSet(object):' | |||
|
657 | 660 | else: |
|
658 | 661 | before_tokens = self.get_line_tokens( |
|
659 | 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 | 664 | original.lineno = before['old_lineno'] |
|
662 | 665 | original.content = before['line'] |
|
663 | 666 | original.action = self.action_to_op(before['action']) |
@@ -671,7 +674,7 b' class DiffSet(object):' | |||
|
671 | 674 | else: |
|
672 | 675 | after_tokens = self.get_line_tokens( |
|
673 | 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 | 678 | modified.lineno = after['new_lineno'] |
|
676 | 679 | modified.content = after['line'] |
|
677 | 680 | modified.action = self.action_to_op(after['action']) |
@@ -705,7 +708,7 b' class DiffSet(object):' | |||
|
705 | 708 | |
|
706 | 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 | 712 | filenode = None |
|
710 | 713 | filename = None |
|
711 | 714 | |
@@ -720,8 +723,7 b' class DiffSet(object):' | |||
|
720 | 723 | lexer = self._get_lexer_for_filename(filename) |
|
721 | 724 | file_size_allowed = input_file.size < self.max_file_size_limit |
|
722 | 725 | if line_number and file_size_allowed: |
|
723 | return self.get_tokenized_filenode_line( | |
|
724 | input_file, line_number, lexer) | |
|
726 | return self.get_tokenized_filenode_line(input_file, line_number, lexer, source) | |
|
725 | 727 | |
|
726 | 728 | if hl_mode in (self.HL_REAL, self.HL_FAST) and filename: |
|
727 | 729 | lexer = self._get_lexer_for_filename(filename) |
@@ -729,16 +731,19 b' class DiffSet(object):' | |||
|
729 | 731 | |
|
730 | 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: | |
|
735 |
|
|
|
736 | self.highlighted_filenodes[filenode] = tokenized_lines | |
|
736 | def tokenize(_filenode): | |
|
737 | self.highlighted_filenodes[source][filenode] = filenode_as_lines_tokens(filenode, lexer) | |
|
738 | ||
|
739 | if filenode not in self.highlighted_filenodes[source]: | |
|
740 | tokenize(filenode) | |
|
737 | 741 | |
|
738 | 742 | try: |
|
739 | return self.highlighted_filenodes[filenode][line_number - 1] | |
|
743 | return self.highlighted_filenodes[source][filenode][line_number - 1] | |
|
740 | 744 | except Exception: |
|
741 |
|
|
|
745 | log.exception('diff rendering error') | |
|
746 | return [('', u'L{}: rhodecode diff rendering error'.format(line_number))] | |
|
742 | 747 | |
|
743 | 748 | def action_to_op(self, action): |
|
744 | 749 | return { |
@@ -27,11 +27,14 b' def pyramid_ext_json(info):' | |||
|
27 | 27 | """ |
|
28 | 28 | def _render(value, system): |
|
29 | 29 | request = system.get('request') |
|
30 | indent = None | |
|
30 | 31 | if request is not None: |
|
31 | 32 | response = request.response |
|
32 | 33 | ct = response.content_type |
|
33 | 34 | if ct == response.default_content_type: |
|
34 | 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 | 40 | return _render |
@@ -145,60 +145,6 b' def session_factory_from_settings(settin' | |||
|
145 | 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 | 148 | def includeme(config): |
|
202 | 149 | session_factory = session_factory_from_settings(config.registry.settings) |
|
203 | 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 | 62 | avail_regions = set() |
|
63 | 63 | for key in rc_cache_data.keys(): |
|
64 | 64 | namespace_name = key.split('.', 1)[0] |
|
65 | avail_regions.add(namespace_name) | |
|
66 | log.debug('dogpile: found following cache regions: %s', avail_regions) | |
|
65 | if namespace_name in avail_regions: | |
|
66 | continue | |
|
67 | 67 | |
|
68 | # register them into namespace | |
|
69 | for region_name in avail_regions: | |
|
68 | avail_regions.add(namespace_name) | |
|
69 | log.debug('dogpile: found following cache regions: %s', namespace_name) | |
|
70 | ||
|
70 | 71 | new_region = make_region( |
|
71 |
name= |
|
|
72 | name=namespace_name, | |
|
72 | 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 | 77 | new_region.function_key_generator = backend_key_generator(new_region.actual_backend) |
|
77 | 78 | if log.isEnabledFor(logging.DEBUG): |
|
78 | 79 | region_args = dict(backend=new_region.actual_backend.__class__, |
|
79 | 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 | 86 | def includeme(config): |
@@ -218,8 +218,9 b' def map_vcs_exceptions(func):' | |||
|
218 | 218 | |
|
219 | 219 | if kind: |
|
220 | 220 | if any(e.args): |
|
221 | args = [a for a in e.args] | |
|
222 |
|
|
|
221 | _args = [a for a in e.args] | |
|
222 | # replace the first argument with a prefix exc name | |
|
223 | args = ['{}:'.format(exc_name, _args[0] if _args else '?')] + _args[1:] | |
|
223 | 224 | else: |
|
224 | 225 | args = [__traceback_info__ or '{}: UnhandledException'.format(exc_name)] |
|
225 | 226 | if debug or __traceback_info__ and kind not in ['unhandled', 'lookup']: |
@@ -749,8 +749,11 b' class User(Base, BaseModel):' | |||
|
749 | 749 | |
|
750 | 750 | def get_artifact_token(self, cache=True): |
|
751 | 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 | 755 | .filter(UserApiKeys.role == UserApiKeys.ROLE_ARTIFACT_DOWNLOAD) |
|
756 | ||
|
754 | 757 | if cache: |
|
755 | 758 | artifacts_tokens = artifacts_tokens.options( |
|
756 | 759 | FromCache("sql_cache_short", "get_user_artifact_token_%s" % self.user_id)) |
@@ -760,6 +763,24 b' class User(Base, BaseModel):' | |||
|
760 | 763 | return artifacts_tokens[0].api_key |
|
761 | 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 | 784 | @classmethod |
|
764 | 785 | def get(cls, user_id, cache=False): |
|
765 | 786 | if not user_id: |
@@ -3967,7 +3988,7 b' class ChangesetStatus(Base, BaseModel):' | |||
|
3967 | 3988 | STATUS_APPROVED = 'approved' |
|
3968 | 3989 | STATUS_REJECTED = 'rejected' |
|
3969 | 3990 | STATUS_UNDER_REVIEW = 'under_review' |
|
3970 | ||
|
3991 | CheckConstraint, | |
|
3971 | 3992 | STATUSES = [ |
|
3972 | 3993 | (STATUS_NOT_REVIEWED, _("Not Reviewed")), # (no icon) and default |
|
3973 | 3994 | (STATUS_APPROVED, _("Approved")), |
@@ -4810,6 +4831,7 b' class Gist(Base, BaseModel):' | |||
|
4810 | 4831 | |
|
4811 | 4832 | res = cls.query().filter(cls.gist_access_id == id_).scalar() |
|
4812 | 4833 | if not res: |
|
4834 | log.debug('WARN: No DB entry with id %s', id_) | |
|
4813 | 4835 | raise HTTPNotFound() |
|
4814 | 4836 | return res |
|
4815 | 4837 | |
@@ -5322,11 +5344,11 b' class ScheduleEntry(Base, BaseModel):' | |||
|
5322 | 5344 | except ValueError: |
|
5323 | 5345 | return dict() |
|
5324 | 5346 | |
|
5325 | def _as_raw(self, val): | |
|
5347 | def _as_raw(self, val, indent=None): | |
|
5326 | 5348 | if hasattr(val, 'de_coerce'): |
|
5327 | 5349 | val = val.de_coerce() |
|
5328 | 5350 | if val: |
|
5329 | val = json.dumps(val) | |
|
5351 | val = json.dumps(val, indent=indent, sort_keys=True) | |
|
5330 | 5352 | |
|
5331 | 5353 | return val |
|
5332 | 5354 | |
@@ -5334,13 +5356,11 b' class ScheduleEntry(Base, BaseModel):' | |||
|
5334 | 5356 | def schedule_definition_raw(self): |
|
5335 | 5357 | return self._as_raw(self.schedule_definition) |
|
5336 | 5358 | |
|
5337 | @property | |
|
5338 | def args_raw(self): | |
|
5339 | return self._as_raw(self.task_args) | |
|
5340 | ||
|
5341 | @property | |
|
5342 | def kwargs_raw(self): | |
|
5343 | return self._as_raw(self.task_kwargs) | |
|
5359 | def args_raw(self, indent=None): | |
|
5360 | return self._as_raw(self.task_args, indent) | |
|
5361 | ||
|
5362 | def kwargs_raw(self, indent=None): | |
|
5363 | return self._as_raw(self.task_kwargs, indent) | |
|
5344 | 5364 | |
|
5345 | 5365 | def __repr__(self): |
|
5346 | 5366 | return '<DB:ScheduleEntry({}:{})>'.format( |
@@ -60,6 +60,9 b' class RepoGroupModel(BaseModel):' | |||
|
60 | 60 | return self._get_instance(RepoGroup, repo_group, |
|
61 | 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 | 66 | @LazyProperty |
|
64 | 67 | def repos_path(self): |
|
65 | 68 | """ |
@@ -147,6 +147,14 b' class CloneUriValidator(object):' | |||
|
147 | 147 | def json_validator(node, value): |
|
148 | 148 | try: |
|
149 | 149 | json.loads(value) |
|
150 | except (Exception,): | |
|
150 | except (Exception,) as e: | |
|
151 | 151 | msg = _(u'Please enter a valid json object') |
|
152 | 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 | 229 | .btn-approved-status { |
|
229 | 230 | .border ( @border-thickness, @alert1 ); |
|
230 | 231 | background-color: white; |
@@ -262,6 +263,10 b' input[type="button"] {' | |||
|
262 | 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 | 270 | // middle elements |
|
266 | 271 | &:not(:first-of-type):not(:last-of-type) { |
|
267 | 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 | 463 | input[type="submit"].btn-warning { |
|
434 | 464 | &:extend(.btn-warning); |
@@ -657,6 +657,7 b' form.comment-form {' | |||
|
657 | 657 | |
|
658 | 658 | .resolve-action { |
|
659 | 659 | padding: 1px 0px 0px 6px; |
|
660 | list-style: none; | |
|
660 | 661 | } |
|
661 | 662 | |
|
662 | 663 | } |
@@ -1540,7 +1540,6 b' table.integrations {' | |||
|
1540 | 1540 | .reviewer_name { |
|
1541 | 1541 | display: inline-block; |
|
1542 | 1542 | max-width: 83%; |
|
1543 | padding-right: 20px; | |
|
1544 | 1543 | vertical-align: middle; |
|
1545 | 1544 | line-height: 1; |
|
1546 | 1545 |
@@ -194,6 +194,7 b'' | |||
|
194 | 194 | .icon-comment-toggle:before { content: '\e830'; } /* '' */ |
|
195 | 195 | .icon-rhodecode:before { content: '\e831'; } /* '' */ |
|
196 | 196 | .icon-up:before { content: '\e832'; } /* '' */ |
|
197 | .icon-down:before { content: '\e832'; } /* '' */ | |
|
197 | 198 | .icon-merge:before { content: '\e833'; } /* '' */ |
|
198 | 199 | .icon-spin-alt:before { content: '\e834'; } /* '' */ |
|
199 | 200 | .icon-spin:before { content: '\e838'; } /* '' */ |
@@ -235,6 +236,7 b'' | |||
|
235 | 236 | .icon-rss-sign:before { &:extend(.icon-feed:before); } |
|
236 | 237 | .icon-code-fork:before { &:extend(.icon-fork:before); } |
|
237 | 238 | .icon-arrow_up:before { &:extend(.icon-up:before); } |
|
239 | .icon-arrow_down:before { &:extend(.icon-down:before); } | |
|
238 | 240 | .icon-file:before { &:extend(.icon-file-code:before); } |
|
239 | 241 | .icon-file-text:before { &:extend(.icon-file-code:before); } |
|
240 | 242 | .icon-directory:before { &:extend(.icon-folder:before); } |
@@ -253,6 +255,8 b'' | |||
|
253 | 255 | .icon-merge:before {transform: rotate(180deg);} |
|
254 | 256 | .icon-wide-mode:before {transform: rotate(90deg);} |
|
255 | 257 | .icon-options:before {transform: rotate(90deg);} |
|
258 | .icon-down:before {transform: rotate(180deg);} | |
|
259 | ||
|
256 | 260 | |
|
257 | 261 | // -- END ICON CLASSES -- // |
|
258 | 262 |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': 'Loading failed', |
|
57 | 58 | 'Loading more results...': 'Loading more results...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
60 | 62 | 'No branches available yet.': 'No branches available yet.', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': 'Searching...', |
|
89 | 92 | 'Selection link': 'Selection link', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'Show more', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'Status Review', |
|
106 | 110 | 'Stop following this repository': 'Stop following this repository', |
|
107 | 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 | 114 | 'Submitting...': 'Submitting...', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'Unfollow', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': 'You can only select {0} item', |
|
130 | 139 | 'You can only select {0} items': 'You can only select {0} items', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} ago', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} day', |
|
160 | 173 | '{0} days': '{0} days', |
|
161 | 174 | '{0} hour': '{0} hour', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 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 | 186 | '{0} sec': '{0} sec', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': 'Loading failed', |
|
57 | 58 | 'Loading more results...': 'Loading more results...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
60 | 62 | 'No branches available yet.': 'No branches available yet.', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': 'Bitte {0} oder mehr Zeichen eingeben', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': 'Searching...', |
|
89 | 92 | 'Selection link': 'Selection link', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'Show more', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'Status Review', |
|
106 | 110 | 'Stop following this repository': 'Stop following this repository', |
|
107 | 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 | 114 | 'Submitting...': 'Submitting...', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'Unfollow', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': 'You can only select {0} item', |
|
130 | 139 | 'You can only select {0} items': 'You can only select {0} items', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} ago', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} day', |
|
160 | 173 | '{0} days': '{0} days', |
|
161 | 174 | '{0} hour': '{0} hour', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 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 | 186 | '{0} sec': '{0} sec', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': 'Loading failed', |
|
57 | 58 | 'Loading more results...': 'Loading more results...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
60 | 62 | 'No branches available yet.': 'No branches available yet.', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': 'Searching...', |
|
89 | 92 | 'Selection link': 'Selection link', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'Show more', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'Status Review', |
|
106 | 110 | 'Stop following this repository': 'Stop following this repository', |
|
107 | 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 | 114 | 'Submitting...': 'Submitting...', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'Unfollow', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': 'You can only select {0} item', |
|
130 | 139 | 'You can only select {0} items': 'You can only select {0} items', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} ago', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} day', |
|
160 | 173 | '{0} days': '{0} days', |
|
161 | 174 | '{0} hour': '{0} hour', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 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 | 186 | '{0} sec': '{0} sec', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': 'Loading failed', |
|
57 | 58 | 'Loading more results...': 'Loading more results...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
60 | 62 | 'No branches available yet.': 'No branches available yet.', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': 'Searching...', |
|
89 | 92 | 'Selection link': 'Selection link', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'Show more', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'Status Review', |
|
106 | 110 | 'Stop following this repository': 'Stop following this repository', |
|
107 | 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 | 114 | 'Submitting...': 'Submitting...', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'Unfollow', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': 'You can only select {0} item', |
|
130 | 139 | 'You can only select {0} items': 'You can only select {0} items', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} ago', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} day', |
|
160 | 173 | '{0} days': '{0} days', |
|
161 | 174 | '{0} hour': '{0} hour', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 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 | 186 | '{0} sec': '{0} sec', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': 'Loading failed', |
|
57 | 58 | 'Loading more results...': 'Loading more results...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
60 | 62 | 'No branches available yet.': 'No branches available yet.', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': 'Searching...', |
|
89 | 92 | 'Selection link': 'Lien vers la sélection', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'Show more', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'Status Review', |
|
106 | 110 | 'Stop following this repository': 'Arrêter de suivre ce dépôt', |
|
107 | 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 | 114 | 'Submitting...': 'Envoi…', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'Unfollow', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': 'You can only select {0} item', |
|
130 | 139 | 'You can only select {0} items': 'You can only select {0} items', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} ago', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} day', |
|
160 | 173 | '{0} days': '{0} jours', |
|
161 | 174 | '{0} hour': '{0} hour', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 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 | 186 | '{0} sec': '{0} sec', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': 'Loading failed', |
|
57 | 58 | 'Loading more results...': 'Loading more results...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
60 | 62 | 'No branches available yet.': 'No branches available yet.', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': 'Searching...', |
|
89 | 92 | 'Selection link': 'Collegamento selezione', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'Mostra ancora', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'Status Review', |
|
106 | 110 | 'Stop following this repository': 'Smetti di seguire il repository', |
|
107 | 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 | 114 | 'Submitting...': 'Inoltro...', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'Smetti di seguire', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': 'You can only select {0} item', |
|
130 | 139 | 'You can only select {0} items': 'You can only select {0} items', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} ago', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} day', |
|
160 | 173 | '{0} days': '{0} days', |
|
161 | 174 | '{0} hour': '{0} hour', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 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 | 186 | '{0} sec': '{0} sec', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': '読み込み失敗', |
|
57 | 58 | 'Loading more results...': '結果を読み込み中...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'まだブックマークがありません。', |
|
60 | 62 | 'No branches available yet.': 'まだブランチがありません。', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': '{0} 文字以上入力してください', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': '検索中...', |
|
89 | 92 | 'Selection link': 'セレクション・リンク', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'もっと表示', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'ステータスレビュー', |
|
106 | 110 | 'Stop following this repository': 'このリポジトリのフォローをやめる', |
|
107 | 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 | 114 | 'Submitting...': '送信中...', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'アンフォロー', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': '{0} 件のみ選択できます', |
|
130 | 139 | 'You can only select {0} items': '{0} 件のみ選択できます', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} 前', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} 日', |
|
160 | 173 | '{0} days': '{0} days', |
|
161 | 174 | '{0} hour': '{0} 時間', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 185 | '{0} results are available, use up and down arrow keys to navigate.': '{0} 件の結果があります。矢印キーの上下で選択できます。', |
|
173 | 186 | '{0} sec': '{0} 秒', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} 年', |
@@ -41,6 +41,7 b'' | |||
|
41 | 41 | _gettext('Hide full context diff'); |
|
42 | 42 | _gettext('Hide whitespace changes'); |
|
43 | 43 | _gettext('Invite reviewers to this discussion'); |
|
44 | _gettext('Leave a comment on file {0} line {1}.'); | |
|
44 | 45 | _gettext('Leave a comment on line {0}.'); |
|
45 | 46 | _gettext('Leave a comment, or click resolve button to resolve TODO comment #{0}'); |
|
46 | 47 | _gettext('Leave a resolution comment, or click resolve button to resolve TODO comment #{0}'); |
@@ -50,6 +51,7 b'' | |||
|
50 | 51 | _gettext('Loading failed'); |
|
51 | 52 | _gettext('Loading more results...'); |
|
52 | 53 | _gettext('Loading...'); |
|
54 | _gettext('No additional review rules set.'); | |
|
53 | 55 | _gettext('No bookmarks available yet.'); |
|
54 | 56 | _gettext('No branches available yet.'); |
|
55 | 57 | _gettext('No forks available yet.'); |
@@ -78,6 +80,7 b'' | |||
|
78 | 80 | _gettext('Please enter {0} or more characters'); |
|
79 | 81 | _gettext('Please wait creating pull request...'); |
|
80 | 82 | _gettext('Reviewers picked from source code changes.'); |
|
83 | _gettext('Saving Draft...'); | |
|
81 | 84 | _gettext('Saving...'); |
|
82 | 85 | _gettext('Searching...'); |
|
83 | 86 | _gettext('Selection link'); |
@@ -87,6 +90,7 b'' | |||
|
87 | 90 | _gettext('Show'); |
|
88 | 91 | _gettext('Show at Commit '); |
|
89 | 92 | _gettext('Show commit range {0} ... {1}'); |
|
93 | _gettext('Show commit range {0}<i class="icon-angle-right"></i>{1}'); | |
|
90 | 94 | _gettext('Show full context diff'); |
|
91 | 95 | _gettext('Show more'); |
|
92 | 96 | _gettext('Show selected commit __S'); |
@@ -99,6 +103,8 b'' | |||
|
99 | 103 | _gettext('Status Review'); |
|
100 | 104 | _gettext('Stop following this repository'); |
|
101 | 105 | _gettext('Stopped watching this repository'); |
|
106 | _gettext('Submit {0} draft comment.'); | |
|
107 | _gettext('Submit {0} draft comments.'); | |
|
102 | 108 | _gettext('Submitting...'); |
|
103 | 109 | _gettext('Switch target repository with the source.'); |
|
104 | 110 | _gettext('Switch to chat'); |
@@ -114,11 +120,14 b'' | |||
|
114 | 120 | _gettext('Toggle Wide Mode diff'); |
|
115 | 121 | _gettext('Unfollow'); |
|
116 | 122 | _gettext('Unwatch'); |
|
123 | _gettext('Update Comment'); | |
|
117 | 124 | _gettext('Updated Comment'); |
|
118 | 125 | _gettext('Updating...'); |
|
119 | 126 | _gettext('User `{0}` already in reviewers'); |
|
127 | _gettext('User `{0}` already in reviewers/observers'); | |
|
120 | 128 | _gettext('User `{0}` not allowed to be a reviewer'); |
|
121 | 129 | _gettext('Watch'); |
|
130 | _gettext('Yes'); | |
|
122 | 131 | _gettext('Yes, delete comment #{0}!'); |
|
123 | 132 | _gettext('You can only select {0} item'); |
|
124 | 133 | _gettext('You can only select {0} items'); |
@@ -150,6 +159,10 b'' | |||
|
150 | 159 | _gettext('{0} ago'); |
|
151 | 160 | _gettext('{0} and {1}'); |
|
152 | 161 | _gettext('{0} and {1} ago'); |
|
162 | _gettext('{0} bookmark'); | |
|
163 | _gettext('{0} bookmarks'); | |
|
164 | _gettext('{0} branch'); | |
|
165 | _gettext('{0} branches'); | |
|
153 | 166 | _gettext('{0} day'); |
|
154 | 167 | _gettext('{0} days'); |
|
155 | 168 | _gettext('{0} hour'); |
@@ -165,6 +178,8 b'' | |||
|
165 | 178 | _gettext('{0} repository groups'); |
|
166 | 179 | _gettext('{0} results are available, use up and down arrow keys to navigate.'); |
|
167 | 180 | _gettext('{0} sec'); |
|
181 | _gettext('{0} tag'); | |
|
182 | _gettext('{0} tags'); | |
|
168 | 183 | _gettext('{0} user groups ({1} inactive)'); |
|
169 | 184 | _gettext('{0} users ({1} inactive)'); |
|
170 | 185 | _gettext('{0} year'); |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': 'Loading failed', |
|
57 | 58 | 'Loading more results...': 'Loading more results...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
60 | 62 | 'No branches available yet.': 'No branches available yet.', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': 'Searching...', |
|
89 | 92 | 'Selection link': 'Wybór linku', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'Pokaż więcej', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'Status Review', |
|
106 | 110 | 'Stop following this repository': 'Zakończyć obserwację tego repozytorium', |
|
107 | 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 | 114 | 'Submitting...': 'Przesyłanie...', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'Nie obserwuj', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': 'You can only select {0} item', |
|
130 | 139 | 'You can only select {0} items': 'You can only select {0} items', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} ago', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} day', |
|
160 | 173 | '{0} days': '{0} days', |
|
161 | 174 | '{0} hour': '{0} hour', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 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 | 186 | '{0} sec': '{0} sec', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': 'Loading failed', |
|
57 | 58 | 'Loading more results...': 'Loading more results...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
60 | 62 | 'No branches available yet.': 'No branches available yet.', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': 'Searching...', |
|
89 | 92 | 'Selection link': 'Link da seleção', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'Mostrar mais', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'Status Review', |
|
106 | 110 | 'Stop following this repository': 'Parar de seguir este repositório', |
|
107 | 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 | 114 | 'Submitting...': 'Enviando...', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'Parar de seguir', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': 'You can only select {0} item', |
|
130 | 139 | 'You can only select {0} items': 'You can only select {0} items', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} ago', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} day', |
|
160 | 173 | '{0} days': '{0} days', |
|
161 | 174 | '{0} hour': '{0} hour', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 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 | 186 | '{0} sec': '{0} sec', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': 'Loading failed', |
|
57 | 58 | 'Loading more results...': 'Loading more results...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
60 | 62 | 'No branches available yet.': 'No branches available yet.', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': 'Searching...', |
|
89 | 92 | 'Selection link': 'Ссылка выбора', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'Показать еще', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'Status Review', |
|
106 | 110 | 'Stop following this repository': 'Отменить наблюдение за репозиторием', |
|
107 | 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 | 114 | 'Submitting...': 'Применение...', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'Не наблюдать', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': 'You can only select {0} item', |
|
130 | 139 | 'You can only select {0} items': 'You can only select {0} items', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} ago', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} day', |
|
160 | 173 | '{0} days': '{0} days', |
|
161 | 174 | '{0} hour': '{0} hour', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 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 | 186 | '{0} sec': '{0} sec', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} year', |
@@ -47,6 +47,7 b' var _TM = {' | |||
|
47 | 47 | 'Hide full context diff': 'Hide full context diff', |
|
48 | 48 | 'Hide whitespace changes': 'Hide whitespace changes', |
|
49 | 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 | 51 | 'Leave a comment on line {0}.': 'Leave a comment on line {0}.', |
|
51 | 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 | 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 | 57 | 'Loading failed': 'Loading failed', |
|
57 | 58 | 'Loading more results...': 'Loading more results...', |
|
58 | 59 | 'Loading...': 'Loading...', |
|
60 | 'No additional review rules set.': 'No additional review rules set.', | |
|
59 | 61 | 'No bookmarks available yet.': 'No bookmarks available yet.', |
|
60 | 62 | 'No branches available yet.': 'No branches available yet.', |
|
61 | 63 | 'No forks available yet.': 'No forks available yet.', |
@@ -84,6 +86,7 b' var _TM = {' | |||
|
84 | 86 | 'Please enter {0} or more characters': 'Please enter {0} or more characters', |
|
85 | 87 | 'Please wait creating pull request...': 'Please wait creating pull request...', |
|
86 | 88 | 'Reviewers picked from source code changes.': 'Reviewers picked from source code changes.', |
|
89 | 'Saving Draft...': 'Saving Draft...', | |
|
87 | 90 | 'Saving...': 'Saving...', |
|
88 | 91 | 'Searching...': 'Searching...', |
|
89 | 92 | 'Selection link': '选择链接', |
@@ -93,6 +96,7 b' var _TM = {' | |||
|
93 | 96 | 'Show': 'Show', |
|
94 | 97 | 'Show at Commit ': 'Show at Commit ', |
|
95 | 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 | 100 | 'Show full context diff': 'Show full context diff', |
|
97 | 101 | 'Show more': 'Show more', |
|
98 | 102 | 'Show selected commit __S': 'Show selected commit __S', |
@@ -105,6 +109,8 b' var _TM = {' | |||
|
105 | 109 | 'Status Review': 'Status Review', |
|
106 | 110 | 'Stop following this repository': '停止关注该版本库', |
|
107 | 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 | 114 | 'Submitting...': '提交中……', |
|
109 | 115 | 'Switch target repository with the source.': 'Switch target repository with the source.', |
|
110 | 116 | 'Switch to chat': 'Switch to chat', |
@@ -120,11 +126,14 b' var _TM = {' | |||
|
120 | 126 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
121 | 127 | 'Unfollow': 'Unfollow', |
|
122 | 128 | 'Unwatch': 'Unwatch', |
|
129 | 'Update Comment': 'Update Comment', | |
|
123 | 130 | 'Updated Comment': 'Updated Comment', |
|
124 | 131 | 'Updating...': 'Updating...', |
|
125 | 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 | 134 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
127 | 135 | 'Watch': 'Watch', |
|
136 | 'Yes': 'Yes', | |
|
128 | 137 | 'Yes, delete comment #{0}!': 'Yes, delete comment #{0}!', |
|
129 | 138 | 'You can only select {0} item': 'You can only select {0} item', |
|
130 | 139 | 'You can only select {0} items': 'You can only select {0} items', |
@@ -156,6 +165,10 b' var _TM = {' | |||
|
156 | 165 | '{0} ago': '{0} ago', |
|
157 | 166 | '{0} and {1}': '{0} and {1}', |
|
158 | 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 | 172 | '{0} day': '{0} day', |
|
160 | 173 | '{0} days': '{0} days', |
|
161 | 174 | '{0} hour': '{0} hour', |
@@ -171,6 +184,8 b' var _TM = {' | |||
|
171 | 184 | '{0} repository groups': '{0} repository groups', |
|
172 | 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 | 186 | '{0} sec': '{0} sec', |
|
187 | '{0} tag': '{0} tag', | |
|
188 | '{0} tags': '{0} tags', | |
|
174 | 189 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
175 | 190 | '{0} users ({1} inactive)': '{0} users ({1} inactive)', |
|
176 | 191 | '{0} year': '{0} year', |
This diff has been collapsed as it changes many lines, (696 lines changed) Show them Hide them | |||
@@ -12,394 +12,394 b'' | |||
|
12 | 12 | ******************************************************************************/ |
|
13 | 13 | function registerRCRoutes() { |
|
14 | 14 | // routes registration |
|
15 | pyroutes.register('favicon', '/favicon.ico', []); | |
|
16 | pyroutes.register('robots', '/robots.txt', []); | |
|
17 | pyroutes.register('auth_home', '/_admin/auth*traverse', []); | |
|
18 | pyroutes.register('global_integrations_new', '/_admin/integrations/new', []); | |
|
19 | pyroutes.register('global_integrations_home', '/_admin/integrations', []); | |
|
20 | pyroutes.register('global_integrations_list', '/_admin/integrations/%(integration)s', ['integration']); | |
|
21 | pyroutes.register('global_integrations_create', '/_admin/integrations/%(integration)s/new', ['integration']); | |
|
22 | pyroutes.register('global_integrations_edit', '/_admin/integrations/%(integration)s/%(integration_id)s', ['integration', 'integration_id']); | |
|
23 | pyroutes.register('repo_group_integrations_home', '/%(repo_group_name)s/_settings/integrations', ['repo_group_name']); | |
|
24 | pyroutes.register('repo_group_integrations_new', '/%(repo_group_name)s/_settings/integrations/new', ['repo_group_name']); | |
|
25 | pyroutes.register('repo_group_integrations_list', '/%(repo_group_name)s/_settings/integrations/%(integration)s', ['repo_group_name', 'integration']); | |
|
26 | pyroutes.register('repo_group_integrations_create', '/%(repo_group_name)s/_settings/integrations/%(integration)s/new', ['repo_group_name', 'integration']); | |
|
27 | pyroutes.register('repo_group_integrations_edit', '/%(repo_group_name)s/_settings/integrations/%(integration)s/%(integration_id)s', ['repo_group_name', 'integration', 'integration_id']); | |
|
28 | pyroutes.register('repo_integrations_home', '/%(repo_name)s/settings/integrations', ['repo_name']); | |
|
29 | pyroutes.register('repo_integrations_new', '/%(repo_name)s/settings/integrations/new', ['repo_name']); | |
|
30 | pyroutes.register('repo_integrations_list', '/%(repo_name)s/settings/integrations/%(integration)s', ['repo_name', 'integration']); | |
|
31 | pyroutes.register('repo_integrations_create', '/%(repo_name)s/settings/integrations/%(integration)s/new', ['repo_name', 'integration']); | |
|
32 | pyroutes.register('repo_integrations_edit', '/%(repo_name)s/settings/integrations/%(integration)s/%(integration_id)s', ['repo_name', 'integration', 'integration_id']); | |
|
33 | pyroutes.register('hovercard_user', '/_hovercard/user/%(user_id)s', ['user_id']); | |
|
34 | pyroutes.register('hovercard_username', '/_hovercard/username/%(username)s', ['username']); | |
|
35 | pyroutes.register('hovercard_user_group', '/_hovercard/user_group/%(user_group_id)s', ['user_group_id']); | |
|
36 | pyroutes.register('hovercard_pull_request', '/_hovercard/pull_request/%(pull_request_id)s', ['pull_request_id']); | |
|
37 | pyroutes.register('hovercard_repo_commit', '/_hovercard/commit/%(repo_name)s/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
38 | pyroutes.register('ops_ping', '/_admin/ops/ping', []); | |
|
39 | pyroutes.register('ops_error_test', '/_admin/ops/error', []); | |
|
40 | pyroutes.register('ops_redirect_test', '/_admin/ops/redirect', []); | |
|
41 | pyroutes.register('ops_ping_legacy', '/_admin/ping', []); | |
|
42 | pyroutes.register('ops_error_test_legacy', '/_admin/error_test', []); | |
|
43 | pyroutes.register('admin_home', '/_admin', []); | |
|
15 | pyroutes.register('admin_audit_log_entry', '/_admin/audit_logs/%(audit_log_id)s', ['audit_log_id']); | |
|
44 | 16 | pyroutes.register('admin_audit_logs', '/_admin/audit_logs', []); |
|
45 | pyroutes.register('admin_audit_log_entry', '/_admin/audit_logs/%(audit_log_id)s', ['audit_log_id']); | |
|
46 | pyroutes.register('pull_requests_global_0', '/_admin/pull_requests/%(pull_request_id)s', ['pull_request_id']); | |
|
47 | pyroutes.register('pull_requests_global_1', '/_admin/pull-requests/%(pull_request_id)s', ['pull_request_id']); | |
|
48 | pyroutes.register('pull_requests_global', '/_admin/pull-request/%(pull_request_id)s', ['pull_request_id']); | |
|
49 | pyroutes.register('admin_settings_open_source', '/_admin/settings/open_source', []); | |
|
50 | pyroutes.register('admin_settings_vcs_svn_generate_cfg', '/_admin/settings/vcs/svn_generate_cfg', []); | |
|
51 | pyroutes.register('admin_settings_system', '/_admin/settings/system', []); | |
|
52 | pyroutes.register('admin_settings_system_update', '/_admin/settings/system/updates', []); | |
|
53 | pyroutes.register('admin_settings_exception_tracker', '/_admin/settings/exceptions', []); | |
|
54 | pyroutes.register('admin_settings_exception_tracker_delete_all', '/_admin/settings/exceptions/delete', []); | |
|
55 | pyroutes.register('admin_settings_exception_tracker_show', '/_admin/settings/exceptions/%(exception_id)s', ['exception_id']); | |
|
56 | pyroutes.register('admin_settings_exception_tracker_delete', '/_admin/settings/exceptions/%(exception_id)s/delete', ['exception_id']); | |
|
57 | pyroutes.register('admin_settings_sessions', '/_admin/settings/sessions', []); | |
|
58 | pyroutes.register('admin_settings_sessions_cleanup', '/_admin/settings/sessions/cleanup', []); | |
|
59 | pyroutes.register('admin_settings_process_management', '/_admin/settings/process_management', []); | |
|
60 | pyroutes.register('admin_settings_process_management_data', '/_admin/settings/process_management/data', []); | |
|
61 | pyroutes.register('admin_settings_process_management_signal', '/_admin/settings/process_management/signal', []); | |
|
62 | pyroutes.register('admin_settings_process_management_master_signal', '/_admin/settings/process_management/master_signal', []); | |
|
63 | 17 | pyroutes.register('admin_defaults_repositories', '/_admin/defaults/repositories', []); |
|
64 | 18 | pyroutes.register('admin_defaults_repositories_update', '/_admin/defaults/repositories/update', []); |
|
65 |
pyroutes.register('admin_ |
|
|
66 | pyroutes.register('admin_settings_update', '/_admin/settings/update', []); | |
|
67 | pyroutes.register('admin_settings_global', '/_admin/settings/global', []); | |
|
68 | pyroutes.register('admin_settings_global_update', '/_admin/settings/global/update', []); | |
|
69 | pyroutes.register('admin_settings_vcs', '/_admin/settings/vcs', []); | |
|
70 | pyroutes.register('admin_settings_vcs_update', '/_admin/settings/vcs/update', []); | |
|
71 | pyroutes.register('admin_settings_vcs_svn_pattern_delete', '/_admin/settings/vcs/svn_pattern_delete', []); | |
|
72 | pyroutes.register('admin_settings_mapping', '/_admin/settings/mapping', []); | |
|
73 | pyroutes.register('admin_settings_mapping_update', '/_admin/settings/mapping/update', []); | |
|
74 | pyroutes.register('admin_settings_visual', '/_admin/settings/visual', []); | |
|
75 | pyroutes.register('admin_settings_visual_update', '/_admin/settings/visual/update', []); | |
|
76 | pyroutes.register('admin_settings_issuetracker', '/_admin/settings/issue-tracker', []); | |
|
77 | pyroutes.register('admin_settings_issuetracker_update', '/_admin/settings/issue-tracker/update', []); | |
|
78 | pyroutes.register('admin_settings_issuetracker_test', '/_admin/settings/issue-tracker/test', []); | |
|
79 | pyroutes.register('admin_settings_issuetracker_delete', '/_admin/settings/issue-tracker/delete', []); | |
|
80 | pyroutes.register('admin_settings_email', '/_admin/settings/email', []); | |
|
81 | pyroutes.register('admin_settings_email_update', '/_admin/settings/email/update', []); | |
|
82 | pyroutes.register('admin_settings_hooks', '/_admin/settings/hooks', []); | |
|
83 | pyroutes.register('admin_settings_hooks_update', '/_admin/settings/hooks/update', []); | |
|
84 | pyroutes.register('admin_settings_hooks_delete', '/_admin/settings/hooks/delete', []); | |
|
85 | pyroutes.register('admin_settings_search', '/_admin/settings/search', []); | |
|
86 | pyroutes.register('admin_settings_labs', '/_admin/settings/labs', []); | |
|
87 | pyroutes.register('admin_settings_labs_update', '/_admin/settings/labs/update', []); | |
|
19 | pyroutes.register('admin_home', '/_admin', []); | |
|
88 | 20 | pyroutes.register('admin_permissions_application', '/_admin/permissions/application', []); |
|
89 | 21 | pyroutes.register('admin_permissions_application_update', '/_admin/permissions/application/update', []); |
|
22 | pyroutes.register('admin_permissions_auth_token_access', '/_admin/permissions/auth_token_access', []); | |
|
23 | pyroutes.register('admin_permissions_branch', '/_admin/permissions/branch', []); | |
|
24 | pyroutes.register('admin_permissions_branch_update', '/_admin/permissions/branch/update', []); | |
|
90 | 25 | pyroutes.register('admin_permissions_global', '/_admin/permissions/global', []); |
|
91 | 26 | pyroutes.register('admin_permissions_global_update', '/_admin/permissions/global/update', []); |
|
27 | pyroutes.register('admin_permissions_ips', '/_admin/permissions/ips', []); | |
|
92 | 28 | pyroutes.register('admin_permissions_object', '/_admin/permissions/object', []); |
|
93 | 29 | pyroutes.register('admin_permissions_object_update', '/_admin/permissions/object/update', []); |
|
94 | pyroutes.register('admin_permissions_ips', '/_admin/permissions/ips', []); | |
|
95 | 30 | pyroutes.register('admin_permissions_overview', '/_admin/permissions/overview', []); |
|
96 | pyroutes.register('admin_permissions_auth_token_access', '/_admin/permissions/auth_token_access', []); | |
|
97 | 31 | pyroutes.register('admin_permissions_ssh_keys', '/_admin/permissions/ssh_keys', []); |
|
98 | 32 | pyroutes.register('admin_permissions_ssh_keys_data', '/_admin/permissions/ssh_keys/data', []); |
|
99 | 33 | pyroutes.register('admin_permissions_ssh_keys_update', '/_admin/permissions/ssh_keys/update', []); |
|
100 |
pyroutes.register(' |
|
|
101 |
pyroutes.register(' |
|
|
102 |
pyroutes.register(' |
|
|
103 |
pyroutes.register(' |
|
|
104 |
pyroutes.register(' |
|
|
105 | pyroutes.register('user_edit_advanced', '/_admin/users/%(user_id)s/edit/advanced', ['user_id']); | |
|
106 | pyroutes.register('user_edit_global_perms', '/_admin/users/%(user_id)s/edit/global_permissions', ['user_id']); | |
|
107 | pyroutes.register('user_edit_global_perms_update', '/_admin/users/%(user_id)s/edit/global_permissions/update', ['user_id']); | |
|
108 | pyroutes.register('user_update', '/_admin/users/%(user_id)s/update', ['user_id']); | |
|
109 |
pyroutes.register(' |
|
|
110 | pyroutes.register('user_enable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_enable', ['user_id']); | |
|
111 | pyroutes.register('user_disable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_disable', ['user_id']); | |
|
112 | pyroutes.register('user_create_personal_repo_group', '/_admin/users/%(user_id)s/create_repo_group', ['user_id']); | |
|
113 | pyroutes.register('user_notice_dismiss', '/_admin/users/%(user_id)s/notice_dismiss', ['user_id']); | |
|
34 | pyroutes.register('admin_settings', '/_admin/settings', []); | |
|
35 | pyroutes.register('admin_settings_automation', '/_admin/settings/automation', []); | |
|
36 | pyroutes.register('admin_settings_automation_update', '/_admin/settings/automation/%(entry_id)s/update', ['entry_id']); | |
|
37 | pyroutes.register('admin_settings_email', '/_admin/settings/email', []); | |
|
38 | pyroutes.register('admin_settings_email_update', '/_admin/settings/email/update', []); | |
|
39 | pyroutes.register('admin_settings_exception_tracker', '/_admin/settings/exceptions', []); | |
|
40 | pyroutes.register('admin_settings_exception_tracker_delete', '/_admin/settings/exceptions/%(exception_id)s/delete', ['exception_id']); | |
|
41 | pyroutes.register('admin_settings_exception_tracker_delete_all', '/_admin/settings/exceptions_delete_all', []); | |
|
42 | pyroutes.register('admin_settings_exception_tracker_show', '/_admin/settings/exceptions/%(exception_id)s', ['exception_id']); | |
|
43 | pyroutes.register('admin_settings_global', '/_admin/settings/global', []); | |
|
44 | pyroutes.register('admin_settings_global_update', '/_admin/settings/global/update', []); | |
|
45 | pyroutes.register('admin_settings_hooks', '/_admin/settings/hooks', []); | |
|
46 | pyroutes.register('admin_settings_hooks_delete', '/_admin/settings/hooks/delete', []); | |
|
47 | pyroutes.register('admin_settings_hooks_update', '/_admin/settings/hooks/update', []); | |
|
48 | pyroutes.register('admin_settings_issuetracker', '/_admin/settings/issue-tracker', []); | |
|
49 | pyroutes.register('admin_settings_issuetracker_delete', '/_admin/settings/issue-tracker/delete', []); | |
|
50 | pyroutes.register('admin_settings_issuetracker_test', '/_admin/settings/issue-tracker/test', []); | |
|
51 | pyroutes.register('admin_settings_issuetracker_update', '/_admin/settings/issue-tracker/update', []); | |
|
52 | pyroutes.register('admin_settings_labs', '/_admin/settings/labs', []); | |
|
53 | pyroutes.register('admin_settings_labs_update', '/_admin/settings/labs/update', []); | |
|
54 | pyroutes.register('admin_settings_license', '/_admin/settings/license', []); | |
|
55 | pyroutes.register('admin_settings_license_unlock', '/_admin/settings/license_unlock', []); | |
|
56 | pyroutes.register('admin_settings_mapping', '/_admin/settings/mapping', []); | |
|
57 | pyroutes.register('admin_settings_mapping_update', '/_admin/settings/mapping/update', []); | |
|
58 | pyroutes.register('admin_settings_open_source', '/_admin/settings/open_source', []); | |
|
59 | pyroutes.register('admin_settings_process_management', '/_admin/settings/process_management', []); | |
|
60 | pyroutes.register('admin_settings_process_management_data', '/_admin/settings/process_management/data', []); | |
|
61 | pyroutes.register('admin_settings_process_management_master_signal', '/_admin/settings/process_management/master_signal', []); | |
|
62 | pyroutes.register('admin_settings_process_management_signal', '/_admin/settings/process_management/signal', []); | |
|
63 | pyroutes.register('admin_settings_scheduler_create', '/_admin/settings/scheduler/create', []); | |
|
64 | pyroutes.register('admin_settings_scheduler_delete', '/_admin/settings/scheduler/%(schedule_id)s/delete', ['schedule_id']); | |
|
65 | pyroutes.register('admin_settings_scheduler_edit', '/_admin/settings/scheduler/%(schedule_id)s', ['schedule_id']); | |
|
66 | pyroutes.register('admin_settings_scheduler_execute', '/_admin/settings/scheduler/%(schedule_id)s/execute', ['schedule_id']); | |
|
67 | pyroutes.register('admin_settings_scheduler_new', '/_admin/settings/scheduler/new', []); | |
|
68 | pyroutes.register('admin_settings_scheduler_show_all', '/_admin/settings/scheduler', []); | |
|
69 | pyroutes.register('admin_settings_scheduler_show_tasks', '/_admin/settings/scheduler/_tasks', []); | |
|
70 | pyroutes.register('admin_settings_scheduler_update', '/_admin/settings/scheduler/%(schedule_id)s/update', ['schedule_id']); | |
|
71 | pyroutes.register('admin_settings_search', '/_admin/settings/search', []); | |
|
72 | pyroutes.register('admin_settings_sessions', '/_admin/settings/sessions', []); | |
|
73 | pyroutes.register('admin_settings_sessions_cleanup', '/_admin/settings/sessions/cleanup', []); | |
|
74 | pyroutes.register('admin_settings_system', '/_admin/settings/system', []); | |
|
75 | pyroutes.register('admin_settings_system_update', '/_admin/settings/system/updates', []); | |
|
76 | pyroutes.register('admin_settings_update', '/_admin/settings/update', []); | |
|
77 | pyroutes.register('admin_settings_vcs', '/_admin/settings/vcs', []); | |
|
78 | pyroutes.register('admin_settings_vcs_svn_generate_cfg', '/_admin/settings/vcs/svn_generate_cfg', []); | |
|
79 | pyroutes.register('admin_settings_vcs_svn_pattern_delete', '/_admin/settings/vcs/svn_pattern_delete', []); | |
|
80 | pyroutes.register('admin_settings_vcs_update', '/_admin/settings/vcs/update', []); | |
|
81 | pyroutes.register('admin_settings_visual', '/_admin/settings/visual', []); | |
|
82 | pyroutes.register('admin_settings_visual_update', '/_admin/settings/visual/update', []); | |
|
83 | pyroutes.register('apiv2', '/_admin/api', []); | |
|
84 | pyroutes.register('atom_feed_home', '/%(repo_name)s/feed-atom', ['repo_name']); | |
|
85 | pyroutes.register('atom_feed_home_old', '/%(repo_name)s/feed/atom', ['repo_name']); | |
|
86 | pyroutes.register('auth_home', '/_admin/auth*traverse', []); | |
|
87 | pyroutes.register('bookmarks_home', '/%(repo_name)s/bookmarks', ['repo_name']); | |
|
88 | pyroutes.register('branches_home', '/%(repo_name)s/branches', ['repo_name']); | |
|
89 | pyroutes.register('channelstream_connect', '/_admin/channelstream/connect', []); | |
|
90 | pyroutes.register('channelstream_proxy', '/_channelstream', []); | |
|
91 | pyroutes.register('channelstream_subscribe', '/_admin/channelstream/subscribe', []); | |
|
92 | pyroutes.register('commit_draft_comments_submit', '/%(repo_name)s/changeset/%(commit_id)s/draft_comments_submit', ['repo_name', 'commit_id']); | |
|
93 | pyroutes.register('debug_style_email', '/_admin/debug_style/email/%(email_id)s', ['email_id']); | |
|
94 | pyroutes.register('debug_style_email_plain_rendered', '/_admin/debug_style/email-rendered/%(email_id)s', ['email_id']); | |
|
95 | pyroutes.register('debug_style_home', '/_admin/debug_style', []); | |
|
96 | pyroutes.register('debug_style_template', '/_admin/debug_style/t/%(t_path)s', ['t_path']); | |
|
97 | pyroutes.register('download_file', '/_file_store/download/%(fid)s', ['fid']); | |
|
98 | pyroutes.register('download_file_by_token', '/_file_store/token-download/%(_auth_token)s/%(fid)s', ['_auth_token', 'fid']); | |
|
99 | pyroutes.register('edit_repo', '/%(repo_name)s/settings', ['repo_name']); | |
|
100 | pyroutes.register('edit_repo_advanced', '/%(repo_name)s/settings/advanced', ['repo_name']); | |
|
101 | pyroutes.register('edit_repo_advanced_archive', '/%(repo_name)s/settings/advanced/archive', ['repo_name']); | |
|
102 | pyroutes.register('edit_repo_advanced_delete', '/%(repo_name)s/settings/advanced/delete', ['repo_name']); | |
|
103 | pyroutes.register('edit_repo_advanced_fork', '/%(repo_name)s/settings/advanced/fork', ['repo_name']); | |
|
104 | pyroutes.register('edit_repo_advanced_hooks', '/%(repo_name)s/settings/advanced/hooks', ['repo_name']); | |
|
105 | pyroutes.register('edit_repo_advanced_journal', '/%(repo_name)s/settings/advanced/journal', ['repo_name']); | |
|
106 | pyroutes.register('edit_repo_advanced_locking', '/%(repo_name)s/settings/advanced/locking', ['repo_name']); | |
|
107 | pyroutes.register('edit_repo_audit_logs', '/%(repo_name)s/settings/audit_logs', ['repo_name']); | |
|
108 | pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']); | |
|
109 | pyroutes.register('edit_repo_fields', '/%(repo_name)s/settings/fields', ['repo_name']); | |
|
110 | pyroutes.register('edit_repo_fields_create', '/%(repo_name)s/settings/fields/create', ['repo_name']); | |
|
111 | pyroutes.register('edit_repo_fields_delete', '/%(repo_name)s/settings/fields/%(field_id)s/delete', ['repo_name', 'field_id']); | |
|
112 | pyroutes.register('edit_repo_group', '/%(repo_group_name)s/_edit', ['repo_group_name']); | |
|
113 | pyroutes.register('edit_repo_group_advanced', '/%(repo_group_name)s/_settings/advanced', ['repo_group_name']); | |
|
114 | pyroutes.register('edit_repo_group_advanced_delete', '/%(repo_group_name)s/_settings/advanced/delete', ['repo_group_name']); | |
|
115 | pyroutes.register('edit_repo_group_perms', '/%(repo_group_name)s/_settings/permissions', ['repo_group_name']); | |
|
116 | pyroutes.register('edit_repo_group_perms_update', '/%(repo_group_name)s/_settings/permissions/update', ['repo_group_name']); | |
|
117 | pyroutes.register('edit_repo_issuetracker', '/%(repo_name)s/settings/issue_trackers', ['repo_name']); | |
|
118 | pyroutes.register('edit_repo_issuetracker_delete', '/%(repo_name)s/settings/issue_trackers/delete', ['repo_name']); | |
|
119 | pyroutes.register('edit_repo_issuetracker_test', '/%(repo_name)s/settings/issue_trackers/test', ['repo_name']); | |
|
120 | pyroutes.register('edit_repo_issuetracker_update', '/%(repo_name)s/settings/issue_trackers/update', ['repo_name']); | |
|
121 | pyroutes.register('edit_repo_maintenance', '/%(repo_name)s/settings/maintenance', ['repo_name']); | |
|
122 | pyroutes.register('edit_repo_maintenance_execute', '/%(repo_name)s/settings/maintenance/execute', ['repo_name']); | |
|
123 | pyroutes.register('edit_repo_perms', '/%(repo_name)s/settings/permissions', ['repo_name']); | |
|
124 | pyroutes.register('edit_repo_perms_branch', '/%(repo_name)s/settings/branch_permissions', ['repo_name']); | |
|
125 | pyroutes.register('edit_repo_perms_branch_delete', '/%(repo_name)s/settings/branch_permissions/%(rule_id)s/delete', ['repo_name', 'rule_id']); | |
|
126 | pyroutes.register('edit_repo_perms_set_private', '/%(repo_name)s/settings/permissions/set_private', ['repo_name']); | |
|
127 | pyroutes.register('edit_repo_remote', '/%(repo_name)s/settings/remote', ['repo_name']); | |
|
128 | pyroutes.register('edit_repo_remote_pull', '/%(repo_name)s/settings/remote/pull', ['repo_name']); | |
|
129 | pyroutes.register('edit_repo_remote_push', '/%(repo_name)s/settings/remote/push', ['repo_name']); | |
|
130 | pyroutes.register('edit_repo_statistics', '/%(repo_name)s/settings/statistics', ['repo_name']); | |
|
131 | pyroutes.register('edit_repo_statistics_reset', '/%(repo_name)s/settings/statistics/update', ['repo_name']); | |
|
132 | pyroutes.register('edit_repo_strip', '/%(repo_name)s/settings/strip', ['repo_name']); | |
|
133 | pyroutes.register('edit_repo_vcs', '/%(repo_name)s/settings/vcs', ['repo_name']); | |
|
134 | pyroutes.register('edit_repo_vcs_svn_pattern_delete', '/%(repo_name)s/settings/vcs/svn_pattern/delete', ['repo_name']); | |
|
135 | pyroutes.register('edit_repo_vcs_update', '/%(repo_name)s/settings/vcs/update', ['repo_name']); | |
|
136 | pyroutes.register('edit_user_audit_logs', '/_admin/users/%(user_id)s/edit/audit', ['user_id']); | |
|
137 | pyroutes.register('edit_user_audit_logs_download', '/_admin/users/%(user_id)s/edit/audit/download', ['user_id']); | |
|
138 | pyroutes.register('edit_user_auth_tokens', '/_admin/users/%(user_id)s/edit/auth_tokens', ['user_id']); | |
|
139 | pyroutes.register('edit_user_auth_tokens_add', '/_admin/users/%(user_id)s/edit/auth_tokens/new', ['user_id']); | |
|
140 | pyroutes.register('edit_user_auth_tokens_delete', '/_admin/users/%(user_id)s/edit/auth_tokens/delete', ['user_id']); | |
|
114 | 141 | pyroutes.register('edit_user_auth_tokens_view', '/_admin/users/%(user_id)s/edit/auth_tokens/view', ['user_id']); |
|
115 |
pyroutes.register('edit_user_ |
|
|
116 |
pyroutes.register('edit_user_ |
|
|
117 | pyroutes.register('edit_user_ssh_keys_generate_keypair', '/_admin/users/%(user_id)s/edit/ssh_keys/generate', ['user_id']); | |
|
118 | pyroutes.register('edit_user_ssh_keys_add', '/_admin/users/%(user_id)s/edit/ssh_keys/new', ['user_id']); | |
|
119 | pyroutes.register('edit_user_ssh_keys_delete', '/_admin/users/%(user_id)s/edit/ssh_keys/delete', ['user_id']); | |
|
142 | pyroutes.register('edit_user_caches', '/_admin/users/%(user_id)s/edit/caches', ['user_id']); | |
|
143 | pyroutes.register('edit_user_caches_update', '/_admin/users/%(user_id)s/edit/caches/update', ['user_id']); | |
|
120 | 144 | pyroutes.register('edit_user_emails', '/_admin/users/%(user_id)s/edit/emails', ['user_id']); |
|
121 | 145 | pyroutes.register('edit_user_emails_add', '/_admin/users/%(user_id)s/edit/emails/new', ['user_id']); |
|
122 | 146 | pyroutes.register('edit_user_emails_delete', '/_admin/users/%(user_id)s/edit/emails/delete', ['user_id']); |
|
147 | pyroutes.register('edit_user_group', '/_admin/user_groups/%(user_group_id)s/edit', ['user_group_id']); | |
|
148 | pyroutes.register('edit_user_group_advanced', '/_admin/user_groups/%(user_group_id)s/edit/advanced', ['user_group_id']); | |
|
149 | pyroutes.register('edit_user_group_advanced_sync', '/_admin/user_groups/%(user_group_id)s/edit/advanced/sync', ['user_group_id']); | |
|
150 | pyroutes.register('edit_user_group_global_perms', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions', ['user_group_id']); | |
|
151 | pyroutes.register('edit_user_group_global_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions/update', ['user_group_id']); | |
|
152 | pyroutes.register('edit_user_group_perms', '/_admin/user_groups/%(user_group_id)s/edit/permissions', ['user_group_id']); | |
|
153 | pyroutes.register('edit_user_group_perms_summary', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary', ['user_group_id']); | |
|
154 | pyroutes.register('edit_user_group_perms_summary_json', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary/json', ['user_group_id']); | |
|
155 | pyroutes.register('edit_user_group_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/permissions/update', ['user_group_id']); | |
|
156 | pyroutes.register('edit_user_groups_management', '/_admin/users/%(user_id)s/edit/groups_management', ['user_id']); | |
|
157 | pyroutes.register('edit_user_groups_management_updates', '/_admin/users/%(user_id)s/edit/edit_user_groups_management/updates', ['user_id']); | |
|
123 | 158 | pyroutes.register('edit_user_ips', '/_admin/users/%(user_id)s/edit/ips', ['user_id']); |
|
124 | 159 | pyroutes.register('edit_user_ips_add', '/_admin/users/%(user_id)s/edit/ips/new', ['user_id']); |
|
125 | 160 | pyroutes.register('edit_user_ips_delete', '/_admin/users/%(user_id)s/edit/ips/delete', ['user_id']); |
|
126 | 161 | pyroutes.register('edit_user_perms_summary', '/_admin/users/%(user_id)s/edit/permissions_summary', ['user_id']); |
|
127 | 162 | pyroutes.register('edit_user_perms_summary_json', '/_admin/users/%(user_id)s/edit/permissions_summary/json', ['user_id']); |
|
128 |
pyroutes.register('edit_user_ |
|
|
129 |
pyroutes.register('edit_user_ |
|
|
130 |
pyroutes.register('edit_user_ |
|
|
131 |
pyroutes.register('edit_user_ |
|
|
132 | pyroutes.register('edit_user_caches', '/_admin/users/%(user_id)s/edit/caches', ['user_id']); | |
|
133 | pyroutes.register('edit_user_caches_update', '/_admin/users/%(user_id)s/edit/caches/update', ['user_id']); | |
|
134 |
pyroutes.register(' |
|
|
135 |
pyroutes.register(' |
|
|
136 | pyroutes.register('user_groups_new', '/_admin/user_groups/new', []); | |
|
137 |
pyroutes.register(' |
|
|
138 | pyroutes.register('repos', '/_admin/repos', []); | |
|
139 | pyroutes.register('repos_data', '/_admin/repos_data', []); | |
|
140 | pyroutes.register('repo_new', '/_admin/repos/new', []); | |
|
141 |
pyroutes.register(' |
|
|
142 |
pyroutes.register(' |
|
|
143 |
pyroutes.register(' |
|
|
144 |
pyroutes.register(' |
|
|
145 |
pyroutes.register(' |
|
|
146 | pyroutes.register('channelstream_connect', '/_admin/channelstream/connect', []); | |
|
147 | pyroutes.register('channelstream_subscribe', '/_admin/channelstream/subscribe', []); | |
|
148 | pyroutes.register('channelstream_proxy', '/_channelstream', []); | |
|
149 |
pyroutes.register(' |
|
|
150 | pyroutes.register('download_file', '/_file_store/download/%(fid)s', ['fid']); | |
|
151 | pyroutes.register('download_file_by_token', '/_file_store/token-download/%(_auth_token)s/%(fid)s', ['_auth_token', 'fid']); | |
|
152 | pyroutes.register('logout', '/_admin/logout', []); | |
|
153 | pyroutes.register('reset_password', '/_admin/password_reset', []); | |
|
154 | pyroutes.register('reset_password_confirmation', '/_admin/password_reset_confirmation', []); | |
|
163 | pyroutes.register('edit_user_ssh_keys', '/_admin/users/%(user_id)s/edit/ssh_keys', ['user_id']); | |
|
164 | pyroutes.register('edit_user_ssh_keys_add', '/_admin/users/%(user_id)s/edit/ssh_keys/new', ['user_id']); | |
|
165 | pyroutes.register('edit_user_ssh_keys_delete', '/_admin/users/%(user_id)s/edit/ssh_keys/delete', ['user_id']); | |
|
166 | pyroutes.register('edit_user_ssh_keys_generate_keypair', '/_admin/users/%(user_id)s/edit/ssh_keys/generate', ['user_id']); | |
|
167 | pyroutes.register('favicon', '/favicon.ico', []); | |
|
168 | pyroutes.register('file_preview', '/_file_preview', []); | |
|
169 | pyroutes.register('gist_delete', '/_admin/gists/%(gist_id)s/delete', ['gist_id']); | |
|
170 | pyroutes.register('gist_edit', '/_admin/gists/%(gist_id)s/edit', ['gist_id']); | |
|
171 | pyroutes.register('gist_edit_check_revision', '/_admin/gists/%(gist_id)s/edit/check_revision', ['gist_id']); | |
|
172 | pyroutes.register('gist_show', '/_admin/gists/%(gist_id)s', ['gist_id']); | |
|
173 | pyroutes.register('gist_show_formatted', '/_admin/gists/%(gist_id)s/rev/%(revision)s/%(format)s', ['gist_id', 'revision', 'format']); | |
|
174 | pyroutes.register('gist_show_formatted_path', '/_admin/gists/%(gist_id)s/rev/%(revision)s/%(format)s/%(f_path)s', ['gist_id', 'revision', 'format', 'f_path']); | |
|
175 | pyroutes.register('gist_show_rev', '/_admin/gists/%(gist_id)s/rev/%(revision)s', ['gist_id', 'revision']); | |
|
176 | pyroutes.register('gist_update', '/_admin/gists/%(gist_id)s/update', ['gist_id']); | |
|
177 | pyroutes.register('gists_create', '/_admin/gists/create', []); | |
|
178 | pyroutes.register('gists_new', '/_admin/gists/new', []); | |
|
179 | pyroutes.register('gists_show', '/_admin/gists', []); | |
|
180 | pyroutes.register('global_integrations_create', '/_admin/integrations/%(integration)s/new', ['integration']); | |
|
181 | pyroutes.register('global_integrations_edit', '/_admin/integrations/%(integration)s/%(integration_id)s', ['integration', 'integration_id']); | |
|
182 | pyroutes.register('global_integrations_home', '/_admin/integrations', []); | |
|
183 | pyroutes.register('global_integrations_list', '/_admin/integrations/%(integration)s', ['integration']); | |
|
184 | pyroutes.register('global_integrations_new', '/_admin/integrations/new', []); | |
|
185 | pyroutes.register('goto_switcher_data', '/_goto_data', []); | |
|
155 | 186 | pyroutes.register('home', '/', []); |
|
156 | pyroutes.register('main_page_repos_data', '/_home_repos', []); | |
|
157 | pyroutes.register('main_page_repo_groups_data', '/_home_repo_groups', []); | |
|
158 |
pyroutes.register(' |
|
|
159 | pyroutes.register('user_group_autocomplete_data', '/_user_groups', []); | |
|
160 | pyroutes.register('repo_list_data', '/_repos', []); | |
|
161 | pyroutes.register('repo_group_list_data', '/_repo_groups', []); | |
|
162 | pyroutes.register('goto_switcher_data', '/_goto_data', []); | |
|
163 | pyroutes.register('markup_preview', '/_markup_preview', []); | |
|
164 | pyroutes.register('file_preview', '/_file_preview', []); | |
|
165 | pyroutes.register('store_user_session_value', '/_store_session_attr', []); | |
|
187 | pyroutes.register('hovercard_pull_request', '/_hovercard/pull_request/%(pull_request_id)s', ['pull_request_id']); | |
|
188 | pyroutes.register('hovercard_repo_commit', '/_hovercard/commit/%(repo_name)s/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
189 | pyroutes.register('hovercard_user', '/_hovercard/user/%(user_id)s', ['user_id']); | |
|
190 | pyroutes.register('hovercard_user_group', '/_hovercard/user_group/%(user_group_id)s', ['user_group_id']); | |
|
191 | pyroutes.register('hovercard_username', '/_hovercard/username/%(username)s', ['username']); | |
|
166 | 192 | pyroutes.register('journal', '/_admin/journal', []); |
|
167 | pyroutes.register('journal_rss', '/_admin/journal/rss', []); | |
|
168 | 193 | pyroutes.register('journal_atom', '/_admin/journal/atom', []); |
|
169 | 194 | pyroutes.register('journal_public', '/_admin/public_journal', []); |
|
170 | 195 | pyroutes.register('journal_public_atom', '/_admin/public_journal/atom', []); |
|
171 | 196 | pyroutes.register('journal_public_atom_old', '/_admin/public_journal_atom', []); |
|
172 | 197 | pyroutes.register('journal_public_rss', '/_admin/public_journal/rss', []); |
|
173 | 198 | pyroutes.register('journal_public_rss_old', '/_admin/public_journal_rss', []); |
|
174 |
pyroutes.register(' |
|
|
175 |
pyroutes.register(' |
|
|
176 | pyroutes.register('repo_creating_check', '/%(repo_name)s/repo_creating_check', ['repo_name']); | |
|
177 | pyroutes.register('repo_summary_explicit', '/%(repo_name)s/summary', ['repo_name']); | |
|
178 | pyroutes.register('repo_summary_commits', '/%(repo_name)s/summary-commits', ['repo_name']); | |
|
179 | pyroutes.register('repo_commit', '/%(repo_name)s/changeset/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
180 | pyroutes.register('repo_commit_children', '/%(repo_name)s/changeset_children/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
181 | pyroutes.register('repo_commit_parents', '/%(repo_name)s/changeset_parents/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
182 | pyroutes.register('repo_commit_raw', '/%(repo_name)s/changeset-diff/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
183 | pyroutes.register('repo_commit_patch', '/%(repo_name)s/changeset-patch/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
184 | pyroutes.register('repo_commit_download', '/%(repo_name)s/changeset-download/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
185 | pyroutes.register('repo_commit_data', '/%(repo_name)s/changeset-data/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
186 | pyroutes.register('repo_commit_comment_create', '/%(repo_name)s/changeset/%(commit_id)s/comment/create', ['repo_name', 'commit_id']); | |
|
187 | pyroutes.register('repo_commit_comment_preview', '/%(repo_name)s/changeset/%(commit_id)s/comment/preview', ['repo_name', 'commit_id']); | |
|
188 | pyroutes.register('repo_commit_comment_history_view', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_history_id)s/history_view', ['repo_name', 'commit_id', 'comment_history_id']); | |
|
189 | pyroutes.register('repo_commit_comment_attachment_upload', '/%(repo_name)s/changeset/%(commit_id)s/comment/attachment_upload', ['repo_name', 'commit_id']); | |
|
190 | pyroutes.register('repo_commit_comment_delete', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/delete', ['repo_name', 'commit_id', 'comment_id']); | |
|
191 | pyroutes.register('repo_commit_comment_edit', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/edit', ['repo_name', 'commit_id', 'comment_id']); | |
|
192 | pyroutes.register('repo_commit_raw_deprecated', '/%(repo_name)s/raw-changeset/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
193 | pyroutes.register('repo_archivefile', '/%(repo_name)s/archive/%(fname)s', ['repo_name', 'fname']); | |
|
194 | pyroutes.register('repo_files_diff', '/%(repo_name)s/diff/%(f_path)s', ['repo_name', 'f_path']); | |
|
195 | pyroutes.register('repo_files_diff_2way_redirect', '/%(repo_name)s/diff-2way/%(f_path)s', ['repo_name', 'f_path']); | |
|
196 | pyroutes.register('repo_files', '/%(repo_name)s/files/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
197 | pyroutes.register('repo_files:default_path', '/%(repo_name)s/files/%(commit_id)s/', ['repo_name', 'commit_id']); | |
|
198 | pyroutes.register('repo_files:default_commit', '/%(repo_name)s/files', ['repo_name']); | |
|
199 | pyroutes.register('repo_files:rendered', '/%(repo_name)s/render/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
200 | pyroutes.register('repo_files:annotated', '/%(repo_name)s/annotate/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
201 | pyroutes.register('repo_files:annotated_previous', '/%(repo_name)s/annotate-previous/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
202 | pyroutes.register('repo_nodetree_full', '/%(repo_name)s/nodetree_full/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
203 | pyroutes.register('repo_nodetree_full:default_path', '/%(repo_name)s/nodetree_full/%(commit_id)s/', ['repo_name', 'commit_id']); | |
|
204 | pyroutes.register('repo_files_nodelist', '/%(repo_name)s/nodelist/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
205 | pyroutes.register('repo_file_raw', '/%(repo_name)s/raw/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
206 | pyroutes.register('repo_file_download', '/%(repo_name)s/download/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
207 | pyroutes.register('repo_file_download:legacy', '/%(repo_name)s/rawfile/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
208 | pyroutes.register('repo_file_history', '/%(repo_name)s/history/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
209 | pyroutes.register('repo_file_authors', '/%(repo_name)s/authors/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
210 | pyroutes.register('repo_files_check_head', '/%(repo_name)s/check_head/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
211 | pyroutes.register('repo_files_remove_file', '/%(repo_name)s/remove_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
212 | pyroutes.register('repo_files_delete_file', '/%(repo_name)s/delete_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
213 | pyroutes.register('repo_files_edit_file', '/%(repo_name)s/edit_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
214 | pyroutes.register('repo_files_update_file', '/%(repo_name)s/update_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
215 | pyroutes.register('repo_files_add_file', '/%(repo_name)s/add_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
216 | pyroutes.register('repo_files_upload_file', '/%(repo_name)s/upload_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
217 | pyroutes.register('repo_files_create_file', '/%(repo_name)s/create_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
218 | pyroutes.register('repo_refs_data', '/%(repo_name)s/refs-data', ['repo_name']); | |
|
219 | pyroutes.register('repo_refs_changelog_data', '/%(repo_name)s/refs-data-changelog', ['repo_name']); | |
|
220 | pyroutes.register('repo_stats', '/%(repo_name)s/repo_stats/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
221 | pyroutes.register('repo_commits', '/%(repo_name)s/commits', ['repo_name']); | |
|
222 |
pyroutes.register(' |
|
|
223 | pyroutes.register('repo_commits_elements', '/%(repo_name)s/commits_elements', ['repo_name']); | |
|
224 |
pyroutes.register(' |
|
|
225 |
pyroutes.register(' |
|
|
226 |
pyroutes.register(' |
|
|
227 |
pyroutes.register(' |
|
|
228 | pyroutes.register('repo_compare', '/%(repo_name)s/compare/%(source_ref_type)s@%(source_ref)s...%(target_ref_type)s@%(target_ref)s', ['repo_name', 'source_ref_type', 'source_ref', 'target_ref_type', 'target_ref']); | |
|
229 |
pyroutes.register(' |
|
|
230 |
pyroutes.register(' |
|
|
231 |
pyroutes.register(' |
|
|
232 |
pyroutes.register(' |
|
|
233 |
pyroutes.register(' |
|
|
234 | pyroutes.register('repo_forks_show_all', '/%(repo_name)s/forks', ['repo_name']); | |
|
235 | pyroutes.register('repo_forks_data', '/%(repo_name)s/forks/data', ['repo_name']); | |
|
199 | pyroutes.register('journal_rss', '/_admin/journal/rss', []); | |
|
200 | pyroutes.register('login', '/_admin/login', []); | |
|
201 | pyroutes.register('logout', '/_admin/logout', []); | |
|
202 | pyroutes.register('main_page_repo_groups_data', '/_home_repo_groups', []); | |
|
203 | pyroutes.register('main_page_repos_data', '/_home_repos', []); | |
|
204 | pyroutes.register('markup_preview', '/_markup_preview', []); | |
|
205 | pyroutes.register('my_account_auth_tokens', '/_admin/my_account/auth_tokens', []); | |
|
206 | pyroutes.register('my_account_auth_tokens_add', '/_admin/my_account/auth_tokens/new', []); | |
|
207 | pyroutes.register('my_account_auth_tokens_delete', '/_admin/my_account/auth_tokens/delete', []); | |
|
208 | pyroutes.register('my_account_auth_tokens_view', '/_admin/my_account/auth_tokens/view', []); | |
|
209 | pyroutes.register('my_account_bookmarks', '/_admin/my_account/bookmarks', []); | |
|
210 | pyroutes.register('my_account_bookmarks_update', '/_admin/my_account/bookmarks/update', []); | |
|
211 | pyroutes.register('my_account_edit', '/_admin/my_account/edit', []); | |
|
212 | pyroutes.register('my_account_emails', '/_admin/my_account/emails', []); | |
|
213 | pyroutes.register('my_account_emails_add', '/_admin/my_account/emails/new', []); | |
|
214 | pyroutes.register('my_account_emails_delete', '/_admin/my_account/emails/delete', []); | |
|
215 | pyroutes.register('my_account_external_identity', '/_admin/my_account/external-identity', []); | |
|
216 | pyroutes.register('my_account_external_identity_delete', '/_admin/my_account/external-identity/delete', []); | |
|
217 | pyroutes.register('my_account_goto_bookmark', '/_admin/my_account/bookmark/%(bookmark_id)s', ['bookmark_id']); | |
|
218 | pyroutes.register('my_account_notifications', '/_admin/my_account/notifications', []); | |
|
219 | pyroutes.register('my_account_notifications_test_channelstream', '/_admin/my_account/test_channelstream', []); | |
|
220 | pyroutes.register('my_account_notifications_toggle_visibility', '/_admin/my_account/toggle_visibility', []); | |
|
221 | pyroutes.register('my_account_password', '/_admin/my_account/password', []); | |
|
222 | pyroutes.register('my_account_password_update', '/_admin/my_account/password/update', []); | |
|
223 | pyroutes.register('my_account_perms', '/_admin/my_account/perms', []); | |
|
224 | pyroutes.register('my_account_profile', '/_admin/my_account/profile', []); | |
|
225 | pyroutes.register('my_account_pullrequests', '/_admin/my_account/pull_requests', []); | |
|
226 | pyroutes.register('my_account_pullrequests_data', '/_admin/my_account/pull_requests/data', []); | |
|
227 | pyroutes.register('my_account_repos', '/_admin/my_account/repos', []); | |
|
228 | pyroutes.register('my_account_ssh_keys', '/_admin/my_account/ssh_keys', []); | |
|
229 | pyroutes.register('my_account_ssh_keys_add', '/_admin/my_account/ssh_keys/new', []); | |
|
230 | pyroutes.register('my_account_ssh_keys_delete', '/_admin/my_account/ssh_keys/delete', []); | |
|
231 | pyroutes.register('my_account_ssh_keys_generate', '/_admin/my_account/ssh_keys/generate', []); | |
|
232 | pyroutes.register('my_account_update', '/_admin/my_account/update', []); | |
|
233 | pyroutes.register('my_account_user_group_membership', '/_admin/my_account/user_group_membership', []); | |
|
234 | pyroutes.register('my_account_watched', '/_admin/my_account/watched', []); | |
|
235 | pyroutes.register('notifications_delete', '/_admin/notifications/%(notification_id)s/delete', ['notification_id']); | |
|
236 | pyroutes.register('notifications_mark_all_read', '/_admin/notifications_mark_all_read', []); | |
|
237 | pyroutes.register('notifications_show', '/_admin/notifications/%(notification_id)s', ['notification_id']); | |
|
238 | pyroutes.register('notifications_show_all', '/_admin/notifications', []); | |
|
239 | pyroutes.register('notifications_update', '/_admin/notifications/%(notification_id)s/update', ['notification_id']); | |
|
240 | pyroutes.register('ops_error_test', '/_admin/ops/error', []); | |
|
241 | pyroutes.register('ops_ping', '/_admin/ops/ping', []); | |
|
242 | pyroutes.register('ops_redirect_test', '/_admin/ops/redirect', []); | |
|
243 | pyroutes.register('plugin_admin_chat', '/_admin/plugin_admin_chat/%(action)s', ['action']); | |
|
244 | pyroutes.register('pull_requests_global', '/_admin/pull-request/%(pull_request_id)s', ['pull_request_id']); | |
|
245 | pyroutes.register('pull_requests_global_0', '/_admin/pull_requests/%(pull_request_id)s', ['pull_request_id']); | |
|
246 | pyroutes.register('pull_requests_global_1', '/_admin/pull-requests/%(pull_request_id)s', ['pull_request_id']); | |
|
247 | pyroutes.register('pullrequest_comment_create', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment', ['repo_name', 'pull_request_id']); | |
|
248 | pyroutes.register('pullrequest_comment_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/delete', ['repo_name', 'pull_request_id', 'comment_id']); | |
|
249 | pyroutes.register('pullrequest_comment_edit', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/edit', ['repo_name', 'pull_request_id', 'comment_id']); | |
|
250 | pyroutes.register('pullrequest_comments', '/%(repo_name)s/pull-request/%(pull_request_id)s/comments', ['repo_name', 'pull_request_id']); | |
|
251 | pyroutes.register('pullrequest_create', '/%(repo_name)s/pull-request/create', ['repo_name']); | |
|
252 | pyroutes.register('pullrequest_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/delete', ['repo_name', 'pull_request_id']); | |
|
253 | pyroutes.register('pullrequest_draft_comments_submit', '/%(repo_name)s/pull-request/%(pull_request_id)s/draft_comments_submit', ['repo_name', 'pull_request_id']); | |
|
254 | pyroutes.register('pullrequest_drafts', '/%(repo_name)s/pull-request/%(pull_request_id)s/drafts', ['repo_name', 'pull_request_id']); | |
|
255 | pyroutes.register('pullrequest_merge', '/%(repo_name)s/pull-request/%(pull_request_id)s/merge', ['repo_name', 'pull_request_id']); | |
|
256 | pyroutes.register('pullrequest_new', '/%(repo_name)s/pull-request/new', ['repo_name']); | |
|
257 | pyroutes.register('pullrequest_repo_refs', '/%(repo_name)s/pull-request/refs/%(target_repo_name)s', ['repo_name', 'target_repo_name']); | |
|
258 | pyroutes.register('pullrequest_repo_targets', '/%(repo_name)s/pull-request/repo-targets', ['repo_name']); | |
|
236 | 259 | pyroutes.register('pullrequest_show', '/%(repo_name)s/pull-request/%(pull_request_id)s', ['repo_name', 'pull_request_id']); |
|
237 | 260 | pyroutes.register('pullrequest_show_all', '/%(repo_name)s/pull-request', ['repo_name']); |
|
238 | 261 | pyroutes.register('pullrequest_show_all_data', '/%(repo_name)s/pull-request-data', ['repo_name']); |
|
239 |
pyroutes.register('pullrequest_ |
|
|
240 | pyroutes.register('pullrequest_repo_targets', '/%(repo_name)s/pull-request/repo-targets', ['repo_name']); | |
|
241 | pyroutes.register('pullrequest_new', '/%(repo_name)s/pull-request/new', ['repo_name']); | |
|
242 | pyroutes.register('pullrequest_create', '/%(repo_name)s/pull-request/create', ['repo_name']); | |
|
262 | pyroutes.register('pullrequest_todos', '/%(repo_name)s/pull-request/%(pull_request_id)s/todos', ['repo_name', 'pull_request_id']); | |
|
243 | 263 | pyroutes.register('pullrequest_update', '/%(repo_name)s/pull-request/%(pull_request_id)s/update', ['repo_name', 'pull_request_id']); |
|
244 | pyroutes.register('pullrequest_merge', '/%(repo_name)s/pull-request/%(pull_request_id)s/merge', ['repo_name', 'pull_request_id']); | |
|
245 |
pyroutes.register(' |
|
|
246 | pyroutes.register('pullrequest_comment_create', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment', ['repo_name', 'pull_request_id']); | |
|
247 | pyroutes.register('pullrequest_comment_edit', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/edit', ['repo_name', 'pull_request_id', 'comment_id']); | |
|
248 | pyroutes.register('pullrequest_comment_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/delete', ['repo_name', 'pull_request_id', 'comment_id']); | |
|
249 |
pyroutes.register(' |
|
|
250 |
pyroutes.register(' |
|
|
251 |
pyroutes.register(' |
|
|
252 |
pyroutes.register(' |
|
|
253 | pyroutes.register('edit_repo_advanced', '/%(repo_name)s/settings/advanced', ['repo_name']); | |
|
254 | pyroutes.register('edit_repo_advanced_archive', '/%(repo_name)s/settings/advanced/archive', ['repo_name']); | |
|
255 |
pyroutes.register(' |
|
|
256 |
pyroutes.register(' |
|
|
257 |
pyroutes.register(' |
|
|
258 |
pyroutes.register(' |
|
|
259 |
pyroutes.register(' |
|
|
260 |
pyroutes.register(' |
|
|
261 |
pyroutes.register(' |
|
|
262 |
pyroutes.register(' |
|
|
263 |
pyroutes.register(' |
|
|
264 |
pyroutes.register(' |
|
|
265 |
pyroutes.register(' |
|
|
266 | pyroutes.register('edit_repo_fields_create', '/%(repo_name)s/settings/fields/create', ['repo_name']); | |
|
267 |
pyroutes.register(' |
|
|
264 | pyroutes.register('register', '/_admin/register', []); | |
|
265 | pyroutes.register('repo_archivefile', '/%(repo_name)s/archive/%(fname)s', ['repo_name', 'fname']); | |
|
266 | pyroutes.register('repo_artifacts_data', '/%(repo_name)s/artifacts_data', ['repo_name']); | |
|
267 | pyroutes.register('repo_artifacts_delete', '/%(repo_name)s/artifacts/delete/%(uid)s', ['repo_name', 'uid']); | |
|
268 | pyroutes.register('repo_artifacts_get', '/%(repo_name)s/artifacts/download/%(uid)s', ['repo_name', 'uid']); | |
|
269 | pyroutes.register('repo_artifacts_info', '/%(repo_name)s/artifacts/info/%(uid)s', ['repo_name', 'uid']); | |
|
270 | pyroutes.register('repo_artifacts_list', '/%(repo_name)s/artifacts', ['repo_name']); | |
|
271 | pyroutes.register('repo_artifacts_new', '/%(repo_name)s/artifacts/new', ['repo_name']); | |
|
272 | pyroutes.register('repo_artifacts_store', '/%(repo_name)s/artifacts/store', ['repo_name']); | |
|
273 | pyroutes.register('repo_artifacts_stream_script', '/_file_store/stream-upload-script', []); | |
|
274 | pyroutes.register('repo_artifacts_stream_store', '/_file_store/stream-upload', []); | |
|
275 | pyroutes.register('repo_artifacts_update', '/%(repo_name)s/artifacts/update/%(uid)s', ['repo_name', 'uid']); | |
|
276 | pyroutes.register('repo_automation', '/%(repo_name)s/settings/automation', ['repo_name']); | |
|
277 | pyroutes.register('repo_automation_update', '/%(repo_name)s/settings/automation/%(entry_id)s/update', ['repo_name', 'entry_id']); | |
|
278 | pyroutes.register('repo_changelog', '/%(repo_name)s/changelog', ['repo_name']); | |
|
279 | pyroutes.register('repo_changelog_file', '/%(repo_name)s/changelog/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
280 | pyroutes.register('repo_commit', '/%(repo_name)s/changeset/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
281 | pyroutes.register('repo_commit_children', '/%(repo_name)s/changeset_children/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
282 | pyroutes.register('repo_commit_comment_attachment_upload', '/%(repo_name)s/changeset/%(commit_id)s/comment/attachment_upload', ['repo_name', 'commit_id']); | |
|
283 | pyroutes.register('repo_commit_comment_create', '/%(repo_name)s/changeset/%(commit_id)s/comment/create', ['repo_name', 'commit_id']); | |
|
284 | pyroutes.register('repo_commit_comment_delete', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/delete', ['repo_name', 'commit_id', 'comment_id']); | |
|
285 | pyroutes.register('repo_commit_comment_edit', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/edit', ['repo_name', 'commit_id', 'comment_id']); | |
|
286 | pyroutes.register('repo_commit_comment_history_view', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_history_id)s/history_view', ['repo_name', 'commit_id', 'comment_history_id']); | |
|
287 | pyroutes.register('repo_commit_comment_preview', '/%(repo_name)s/changeset/%(commit_id)s/comment/preview', ['repo_name', 'commit_id']); | |
|
288 | pyroutes.register('repo_commit_data', '/%(repo_name)s/changeset-data/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
289 | pyroutes.register('repo_commit_download', '/%(repo_name)s/changeset-download/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
290 | pyroutes.register('repo_commit_parents', '/%(repo_name)s/changeset_parents/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
291 | pyroutes.register('repo_commit_patch', '/%(repo_name)s/changeset-patch/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
292 | pyroutes.register('repo_commit_raw', '/%(repo_name)s/changeset-diff/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
293 | pyroutes.register('repo_commit_raw_deprecated', '/%(repo_name)s/raw-changeset/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
294 | pyroutes.register('repo_commits', '/%(repo_name)s/commits', ['repo_name']); | |
|
295 | pyroutes.register('repo_commits_elements', '/%(repo_name)s/commits_elements', ['repo_name']); | |
|
296 | pyroutes.register('repo_commits_elements_file', '/%(repo_name)s/commits_elements/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
297 | pyroutes.register('repo_commits_file', '/%(repo_name)s/commits/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
298 | pyroutes.register('repo_compare', '/%(repo_name)s/compare/%(source_ref_type)s@%(source_ref)s...%(target_ref_type)s@%(target_ref)s', ['repo_name', 'source_ref_type', 'source_ref', 'target_ref_type', 'target_ref']); | |
|
299 | pyroutes.register('repo_compare_select', '/%(repo_name)s/compare', ['repo_name']); | |
|
300 | pyroutes.register('repo_create', '/_admin/repos/create', []); | |
|
301 | pyroutes.register('repo_creating', '/%(repo_name)s/repo_creating', ['repo_name']); | |
|
302 | pyroutes.register('repo_creating_check', '/%(repo_name)s/repo_creating_check', ['repo_name']); | |
|
303 | pyroutes.register('repo_default_reviewers_data', '/%(repo_name)s/settings/review/default-reviewers', ['repo_name']); | |
|
268 | 304 | pyroutes.register('repo_edit_toggle_locking', '/%(repo_name)s/settings/toggle_locking', ['repo_name']); |
|
269 |
pyroutes.register(' |
|
|
270 |
pyroutes.register(' |
|
|
271 |
pyroutes.register(' |
|
|
272 |
pyroutes.register(' |
|
|
273 |
pyroutes.register(' |
|
|
274 |
pyroutes.register(' |
|
|
275 | pyroutes.register('edit_repo_issuetracker_delete', '/%(repo_name)s/settings/issue_trackers/delete', ['repo_name']); | |
|
276 | pyroutes.register('edit_repo_issuetracker_update', '/%(repo_name)s/settings/issue_trackers/update', ['repo_name']); | |
|
277 |
pyroutes.register(' |
|
|
278 |
pyroutes.register(' |
|
|
279 |
pyroutes.register(' |
|
|
280 |
pyroutes.register('repo_ |
|
|
281 |
pyroutes.register('repo_ |
|
|
282 |
pyroutes.register(' |
|
|
283 |
pyroutes.register(' |
|
|
284 |
pyroutes.register(' |
|
|
285 |
pyroutes.register(' |
|
|
286 |
pyroutes.register('r |
|
|
287 |
pyroutes.register(' |
|
|
288 |
pyroutes.register('r |
|
|
289 |
pyroutes.register(' |
|
|
290 |
pyroutes.register('repo_ |
|
|
291 |
pyroutes.register('repo_ |
|
|
292 |
pyroutes.register(' |
|
|
293 |
pyroutes.register(' |
|
|
294 |
pyroutes.register(' |
|
|
295 |
pyroutes.register(' |
|
|
296 | pyroutes.register('edit_repo_group_perms_update', '/%(repo_group_name)s/_settings/permissions/update', ['repo_group_name']); | |
|
305 | pyroutes.register('repo_file_authors', '/%(repo_name)s/authors/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
306 | pyroutes.register('repo_file_download', '/%(repo_name)s/download/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
307 | pyroutes.register('repo_file_download:legacy', '/%(repo_name)s/rawfile/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
308 | pyroutes.register('repo_file_history', '/%(repo_name)s/history/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
309 | pyroutes.register('repo_file_raw', '/%(repo_name)s/raw/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
310 | pyroutes.register('repo_files', '/%(repo_name)s/files/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
311 | pyroutes.register('repo_files:annotated', '/%(repo_name)s/annotate/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
312 | pyroutes.register('repo_files:annotated_previous', '/%(repo_name)s/annotate-previous/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
313 | pyroutes.register('repo_files:default_commit', '/%(repo_name)s/files', ['repo_name']); | |
|
314 | pyroutes.register('repo_files:default_path', '/%(repo_name)s/files/%(commit_id)s/', ['repo_name', 'commit_id']); | |
|
315 | pyroutes.register('repo_files:rendered', '/%(repo_name)s/render/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
316 | pyroutes.register('repo_files_add_file', '/%(repo_name)s/add_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
317 | pyroutes.register('repo_files_check_head', '/%(repo_name)s/check_head/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
318 | pyroutes.register('repo_files_create_file', '/%(repo_name)s/create_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
319 | pyroutes.register('repo_files_delete_file', '/%(repo_name)s/delete_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
320 | pyroutes.register('repo_files_diff', '/%(repo_name)s/diff/%(f_path)s', ['repo_name', 'f_path']); | |
|
321 | pyroutes.register('repo_files_diff_2way_redirect', '/%(repo_name)s/diff-2way/%(f_path)s', ['repo_name', 'f_path']); | |
|
322 | pyroutes.register('repo_files_edit_file', '/%(repo_name)s/edit_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
323 | pyroutes.register('repo_files_nodelist', '/%(repo_name)s/nodelist/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
324 | pyroutes.register('repo_files_remove_file', '/%(repo_name)s/remove_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
325 | pyroutes.register('repo_files_update_file', '/%(repo_name)s/update_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
326 | pyroutes.register('repo_files_upload_file', '/%(repo_name)s/upload_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
327 | pyroutes.register('repo_fork_create', '/%(repo_name)s/fork/create', ['repo_name']); | |
|
328 | pyroutes.register('repo_fork_new', '/%(repo_name)s/fork', ['repo_name']); | |
|
329 | pyroutes.register('repo_forks_data', '/%(repo_name)s/forks/data', ['repo_name']); | |
|
330 | pyroutes.register('repo_forks_show_all', '/%(repo_name)s/forks', ['repo_name']); | |
|
331 | pyroutes.register('repo_group_create', '/_admin/repo_group/create', []); | |
|
297 | 332 | pyroutes.register('repo_group_home', '/%(repo_group_name)s', ['repo_group_name']); |
|
298 | 333 | pyroutes.register('repo_group_home_slash', '/%(repo_group_name)s/', ['repo_group_name']); |
|
299 | pyroutes.register('user_group_members_data', '/_admin/user_groups/%(user_group_id)s/members', ['user_group_id']); | |
|
300 | pyroutes.register('edit_user_group_perms_summary', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary', ['user_group_id']); | |
|
301 | pyroutes.register('edit_user_group_perms_summary_json', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary/json', ['user_group_id']); | |
|
302 | pyroutes.register('edit_user_group', '/_admin/user_groups/%(user_group_id)s/edit', ['user_group_id']); | |
|
303 | pyroutes.register('user_groups_update', '/_admin/user_groups/%(user_group_id)s/update', ['user_group_id']); | |
|
304 | pyroutes.register('edit_user_group_global_perms', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions', ['user_group_id']); | |
|
305 | pyroutes.register('edit_user_group_global_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions/update', ['user_group_id']); | |
|
306 |
pyroutes.register(' |
|
|
307 |
pyroutes.register(' |
|
|
308 | pyroutes.register('edit_user_group_advanced', '/_admin/user_groups/%(user_group_id)s/edit/advanced', ['user_group_id']); | |
|
309 | pyroutes.register('edit_user_group_advanced_sync', '/_admin/user_groups/%(user_group_id)s/edit/advanced/sync', ['user_group_id']); | |
|
310 | pyroutes.register('user_groups_delete', '/_admin/user_groups/%(user_group_id)s/delete', ['user_group_id']); | |
|
334 | pyroutes.register('repo_group_integrations_create', '/%(repo_group_name)s/_settings/integrations/%(integration)s/new', ['repo_group_name', 'integration']); | |
|
335 | pyroutes.register('repo_group_integrations_edit', '/%(repo_group_name)s/_settings/integrations/%(integration)s/%(integration_id)s', ['repo_group_name', 'integration', 'integration_id']); | |
|
336 | pyroutes.register('repo_group_integrations_home', '/%(repo_group_name)s/_settings/integrations', ['repo_group_name']); | |
|
337 | pyroutes.register('repo_group_integrations_list', '/%(repo_group_name)s/_settings/integrations/%(integration)s', ['repo_group_name', 'integration']); | |
|
338 | pyroutes.register('repo_group_integrations_new', '/%(repo_group_name)s/_settings/integrations/new', ['repo_group_name']); | |
|
339 | pyroutes.register('repo_group_list_data', '/_repo_groups', []); | |
|
340 | pyroutes.register('repo_group_new', '/_admin/repo_group/new', []); | |
|
341 | pyroutes.register('repo_groups', '/_admin/repo_groups', []); | |
|
342 | pyroutes.register('repo_groups_data', '/_admin/repo_groups_data', []); | |
|
343 | pyroutes.register('repo_integrations_create', '/%(repo_name)s/settings/integrations/%(integration)s/new', ['repo_name', 'integration']); | |
|
344 | pyroutes.register('repo_integrations_edit', '/%(repo_name)s/settings/integrations/%(integration)s/%(integration_id)s', ['repo_name', 'integration', 'integration_id']); | |
|
345 | pyroutes.register('repo_integrations_home', '/%(repo_name)s/settings/integrations', ['repo_name']); | |
|
346 | pyroutes.register('repo_integrations_list', '/%(repo_name)s/settings/integrations/%(integration)s', ['repo_name', 'integration']); | |
|
347 | pyroutes.register('repo_integrations_new', '/%(repo_name)s/settings/integrations/new', ['repo_name']); | |
|
348 | pyroutes.register('repo_list_data', '/_repos', []); | |
|
349 | pyroutes.register('repo_new', '/_admin/repos/new', []); | |
|
350 | pyroutes.register('repo_nodetree_full', '/%(repo_name)s/nodetree_full/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']); | |
|
351 | pyroutes.register('repo_nodetree_full:default_path', '/%(repo_name)s/nodetree_full/%(commit_id)s/', ['repo_name', 'commit_id']); | |
|
352 | pyroutes.register('repo_refs_changelog_data', '/%(repo_name)s/refs-data-changelog', ['repo_name']); | |
|
353 | pyroutes.register('repo_refs_data', '/%(repo_name)s/refs-data', ['repo_name']); | |
|
354 | pyroutes.register('repo_reviewers', '/%(repo_name)s/settings/review/rules', ['repo_name']); | |
|
355 | pyroutes.register('repo_reviewers_review_rule_delete', '/%(repo_name)s/settings/review/rules/%(rule_id)s/delete', ['repo_name', 'rule_id']); | |
|
356 | pyroutes.register('repo_reviewers_review_rule_edit', '/%(repo_name)s/settings/review/rules/%(rule_id)s', ['repo_name', 'rule_id']); | |
|
357 | pyroutes.register('repo_reviewers_review_rule_new', '/%(repo_name)s/settings/review/rules/new', ['repo_name']); | |
|
358 | pyroutes.register('repo_stats', '/%(repo_name)s/repo_stats/%(commit_id)s', ['repo_name', 'commit_id']); | |
|
359 | pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']); | |
|
360 | pyroutes.register('repo_summary_commits', '/%(repo_name)s/summary-commits', ['repo_name']); | |
|
361 | pyroutes.register('repo_summary_explicit', '/%(repo_name)s/summary', ['repo_name']); | |
|
362 | pyroutes.register('repo_summary_slash', '/%(repo_name)s/', ['repo_name']); | |
|
363 | pyroutes.register('repos', '/_admin/repos', []); | |
|
364 | pyroutes.register('repos_data', '/_admin/repos_data', []); | |
|
365 | pyroutes.register('reset_password', '/_admin/password_reset', []); | |
|
366 | pyroutes.register('reset_password_confirmation', '/_admin/password_reset_confirmation', []); | |
|
367 | pyroutes.register('robots', '/robots.txt', []); | |
|
368 | pyroutes.register('rss_feed_home', '/%(repo_name)s/feed-rss', ['repo_name']); | |
|
369 | pyroutes.register('rss_feed_home_old', '/%(repo_name)s/feed/rss', ['repo_name']); | |
|
311 | 370 | pyroutes.register('search', '/_admin/search', []); |
|
312 | 371 | pyroutes.register('search_repo', '/%(repo_name)s/_search', ['repo_name']); |
|
313 | 372 | pyroutes.register('search_repo_alt', '/%(repo_name)s/search', ['repo_name']); |
|
314 | 373 | pyroutes.register('search_repo_group', '/%(repo_group_name)s/_search', ['repo_group_name']); |
|
315 |
pyroutes.register(' |
|
|
374 | pyroutes.register('store_user_session_value', '/_store_session_attr', []); | |
|
375 | pyroutes.register('strip_check', '/%(repo_name)s/settings/strip_check', ['repo_name']); | |
|
376 | pyroutes.register('strip_execute', '/%(repo_name)s/settings/strip_execute', ['repo_name']); | |
|
377 | pyroutes.register('tags_home', '/%(repo_name)s/tags', ['repo_name']); | |
|
378 | pyroutes.register('toggle_following', '/_admin/toggle_following', []); | |
|
379 | pyroutes.register('upload_file', '/_file_store/upload', []); | |
|
380 | pyroutes.register('user_autocomplete_data', '/_users', []); | |
|
381 | pyroutes.register('user_create_personal_repo_group', '/_admin/users/%(user_id)s/create_repo_group', ['user_id']); | |
|
382 | pyroutes.register('user_delete', '/_admin/users/%(user_id)s/delete', ['user_id']); | |
|
383 | pyroutes.register('user_disable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_disable', ['user_id']); | |
|
384 | pyroutes.register('user_edit', '/_admin/users/%(user_id)s/edit', ['user_id']); | |
|
385 | pyroutes.register('user_edit_advanced', '/_admin/users/%(user_id)s/edit/advanced', ['user_id']); | |
|
386 | pyroutes.register('user_edit_global_perms', '/_admin/users/%(user_id)s/edit/global_permissions', ['user_id']); | |
|
387 | pyroutes.register('user_edit_global_perms_update', '/_admin/users/%(user_id)s/edit/global_permissions/update', ['user_id']); | |
|
388 | pyroutes.register('user_enable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_enable', ['user_id']); | |
|
389 | pyroutes.register('user_group_autocomplete_data', '/_user_groups', []); | |
|
390 | pyroutes.register('user_group_members_data', '/_admin/user_groups/%(user_group_id)s/members', ['user_group_id']); | |
|
316 | 391 | pyroutes.register('user_group_profile', '/_profile_user_group/%(user_group_name)s', ['user_group_name']); |
|
317 |
pyroutes.register(' |
|
|
318 |
pyroutes.register(' |
|
|
319 |
pyroutes.register(' |
|
|
320 | pyroutes.register('my_account_password', '/_admin/my_account/password', []); | |
|
321 |
pyroutes.register(' |
|
|
322 | pyroutes.register('my_account_auth_tokens_view', '/_admin/my_account/auth_tokens/view', []); | |
|
323 | pyroutes.register('my_account_auth_tokens_delete', '/_admin/my_account/auth_tokens/delete', []); | |
|
324 | pyroutes.register('my_account_ssh_keys', '/_admin/my_account/ssh_keys', []); | |
|
325 |
pyroutes.register(' |
|
|
326 |
pyroutes.register(' |
|
|
327 |
pyroutes.register(' |
|
|
328 |
pyroutes.register(' |
|
|
329 |
pyroutes.register(' |
|
|
330 | pyroutes.register('my_account_emails_add', '/_admin/my_account/emails/new', []); | |
|
331 | pyroutes.register('my_account_emails_delete', '/_admin/my_account/emails/delete', []); | |
|
332 | pyroutes.register('my_account_repos', '/_admin/my_account/repos', []); | |
|
333 | pyroutes.register('my_account_watched', '/_admin/my_account/watched', []); | |
|
334 | pyroutes.register('my_account_bookmarks', '/_admin/my_account/bookmarks', []); | |
|
335 | pyroutes.register('my_account_bookmarks_update', '/_admin/my_account/bookmarks/update', []); | |
|
336 | pyroutes.register('my_account_goto_bookmark', '/_admin/my_account/bookmark/%(bookmark_id)s', ['bookmark_id']); | |
|
337 | pyroutes.register('my_account_perms', '/_admin/my_account/perms', []); | |
|
338 | pyroutes.register('my_account_notifications', '/_admin/my_account/notifications', []); | |
|
339 | pyroutes.register('my_account_notifications_toggle_visibility', '/_admin/my_account/toggle_visibility', []); | |
|
340 | pyroutes.register('my_account_pullrequests', '/_admin/my_account/pull_requests', []); | |
|
341 | pyroutes.register('my_account_pullrequests_data', '/_admin/my_account/pull_requests/data', []); | |
|
342 | pyroutes.register('notifications_show_all', '/_admin/notifications', []); | |
|
343 | pyroutes.register('notifications_mark_all_read', '/_admin/notifications/mark_all_read', []); | |
|
344 | pyroutes.register('notifications_show', '/_admin/notifications/%(notification_id)s', ['notification_id']); | |
|
345 | pyroutes.register('notifications_update', '/_admin/notifications/%(notification_id)s/update', ['notification_id']); | |
|
346 | pyroutes.register('notifications_delete', '/_admin/notifications/%(notification_id)s/delete', ['notification_id']); | |
|
347 | pyroutes.register('my_account_notifications_test_channelstream', '/_admin/my_account/test_channelstream', []); | |
|
348 | pyroutes.register('gists_show', '/_admin/gists', []); | |
|
349 | pyroutes.register('gists_new', '/_admin/gists/new', []); | |
|
350 | pyroutes.register('gists_create', '/_admin/gists/create', []); | |
|
351 | pyroutes.register('gist_show', '/_admin/gists/%(gist_id)s', ['gist_id']); | |
|
352 | pyroutes.register('gist_delete', '/_admin/gists/%(gist_id)s/delete', ['gist_id']); | |
|
353 | pyroutes.register('gist_edit', '/_admin/gists/%(gist_id)s/edit', ['gist_id']); | |
|
354 | pyroutes.register('gist_edit_check_revision', '/_admin/gists/%(gist_id)s/edit/check_revision', ['gist_id']); | |
|
355 | pyroutes.register('gist_update', '/_admin/gists/%(gist_id)s/update', ['gist_id']); | |
|
356 | pyroutes.register('gist_show_rev', '/_admin/gists/%(gist_id)s/%(revision)s', ['gist_id', 'revision']); | |
|
357 | pyroutes.register('gist_show_formatted', '/_admin/gists/%(gist_id)s/%(revision)s/%(format)s', ['gist_id', 'revision', 'format']); | |
|
358 | pyroutes.register('gist_show_formatted_path', '/_admin/gists/%(gist_id)s/%(revision)s/%(format)s/%(f_path)s', ['gist_id', 'revision', 'format', 'f_path']); | |
|
359 | pyroutes.register('debug_style_home', '/_admin/debug_style', []); | |
|
360 | pyroutes.register('debug_style_email', '/_admin/debug_style/email/%(email_id)s', ['email_id']); | |
|
361 | pyroutes.register('debug_style_email_plain_rendered', '/_admin/debug_style/email-rendered/%(email_id)s', ['email_id']); | |
|
362 | pyroutes.register('debug_style_template', '/_admin/debug_style/t/%(t_path)s', ['t_path']); | |
|
363 | pyroutes.register('apiv2', '/_admin/api', []); | |
|
364 | pyroutes.register('admin_settings_license', '/_admin/settings/license', []); | |
|
365 | pyroutes.register('admin_settings_license_unlock', '/_admin/settings/license_unlock', []); | |
|
366 | pyroutes.register('login', '/_admin/login', []); | |
|
367 | pyroutes.register('register', '/_admin/register', []); | |
|
368 | pyroutes.register('repo_reviewers_review_rule_new', '/%(repo_name)s/settings/review/rules/new', ['repo_name']); | |
|
369 | pyroutes.register('repo_reviewers_review_rule_edit', '/%(repo_name)s/settings/review/rules/%(rule_id)s', ['repo_name', 'rule_id']); | |
|
370 | pyroutes.register('repo_reviewers_review_rule_delete', '/%(repo_name)s/settings/review/rules/%(rule_id)s/delete', ['repo_name', 'rule_id']); | |
|
371 | pyroutes.register('plugin_admin_chat', '/_admin/plugin_admin_chat/%(action)s', ['action']); | |
|
372 | pyroutes.register('edit_user_auth_tokens', '/_admin/users/%(user_id)s/edit/auth_tokens', ['user_id']); | |
|
373 | pyroutes.register('edit_user_auth_tokens_add', '/_admin/users/%(user_id)s/edit/auth_tokens/new', ['user_id']); | |
|
374 | pyroutes.register('admin_settings_scheduler_show_tasks', '/_admin/settings/scheduler/_tasks', []); | |
|
375 | pyroutes.register('admin_settings_scheduler_show_all', '/_admin/settings/scheduler', []); | |
|
376 | pyroutes.register('admin_settings_scheduler_new', '/_admin/settings/scheduler/new', []); | |
|
377 | pyroutes.register('admin_settings_scheduler_create', '/_admin/settings/scheduler/create', []); | |
|
378 | pyroutes.register('admin_settings_scheduler_edit', '/_admin/settings/scheduler/%(schedule_id)s', ['schedule_id']); | |
|
379 | pyroutes.register('admin_settings_scheduler_update', '/_admin/settings/scheduler/%(schedule_id)s/update', ['schedule_id']); | |
|
380 | pyroutes.register('admin_settings_scheduler_delete', '/_admin/settings/scheduler/%(schedule_id)s/delete', ['schedule_id']); | |
|
381 | pyroutes.register('admin_settings_scheduler_execute', '/_admin/settings/scheduler/%(schedule_id)s/execute', ['schedule_id']); | |
|
382 | pyroutes.register('admin_settings_automation', '/_admin/settings/automation', []); | |
|
383 | pyroutes.register('admin_settings_automation_update', '/_admin/settings/automation/%(entry_id)s/update', ['entry_id']); | |
|
384 | pyroutes.register('admin_permissions_branch', '/_admin/permissions/branch', []); | |
|
385 | pyroutes.register('admin_permissions_branch_update', '/_admin/permissions/branch/update', []); | |
|
386 | pyroutes.register('my_account_auth_tokens', '/_admin/my_account/auth_tokens', []); | |
|
387 | pyroutes.register('my_account_auth_tokens_add', '/_admin/my_account/auth_tokens/new', []); | |
|
388 | pyroutes.register('my_account_external_identity', '/_admin/my_account/external-identity', []); | |
|
389 | pyroutes.register('my_account_external_identity_delete', '/_admin/my_account/external-identity/delete', []); | |
|
390 | pyroutes.register('pullrequest_draft_comments_submit', '/%(repo_name)s/pull-request/%(pull_request_id)s/draft_comments_submit', ['repo_name', 'pull_request_id']); | |
|
391 | pyroutes.register('commit_draft_comments_submit', '/%(repo_name)s/changeset/%(commit_id)s/draft_comments_submit', ['repo_name', 'commit_id']); | |
|
392 | pyroutes.register('repo_artifacts_list', '/%(repo_name)s/artifacts', ['repo_name']); | |
|
393 | pyroutes.register('repo_artifacts_data', '/%(repo_name)s/artifacts_data', ['repo_name']); | |
|
394 | pyroutes.register('repo_artifacts_new', '/%(repo_name)s/artifacts/new', ['repo_name']); | |
|
395 | pyroutes.register('repo_artifacts_get', '/%(repo_name)s/artifacts/download/%(uid)s', ['repo_name', 'uid']); | |
|
396 | pyroutes.register('repo_artifacts_store', '/%(repo_name)s/artifacts/store', ['repo_name']); | |
|
397 | pyroutes.register('repo_artifacts_info', '/%(repo_name)s/artifacts/info/%(uid)s', ['repo_name', 'uid']); | |
|
398 | pyroutes.register('repo_artifacts_delete', '/%(repo_name)s/artifacts/delete/%(uid)s', ['repo_name', 'uid']); | |
|
399 | pyroutes.register('repo_artifacts_update', '/%(repo_name)s/artifacts/update/%(uid)s', ['repo_name', 'uid']); | |
|
400 | pyroutes.register('repo_automation', '/%(repo_name)s/settings/automation', ['repo_name']); | |
|
401 | pyroutes.register('repo_automation_update', '/%(repo_name)s/settings/automation/%(entry_id)s/update', ['repo_name', 'entry_id']); | |
|
402 | pyroutes.register('edit_repo_remote_push', '/%(repo_name)s/settings/remote/push', ['repo_name']); | |
|
403 | pyroutes.register('edit_repo_perms_branch', '/%(repo_name)s/settings/branch_permissions', ['repo_name']); | |
|
404 | pyroutes.register('edit_repo_perms_branch_delete', '/%(repo_name)s/settings/branch_permissions/%(rule_id)s/delete', ['repo_name', 'rule_id']); | |
|
392 | pyroutes.register('user_groups', '/_admin/user_groups', []); | |
|
393 | pyroutes.register('user_groups_create', '/_admin/user_groups/create', []); | |
|
394 | pyroutes.register('user_groups_data', '/_admin/user_groups_data', []); | |
|
395 | pyroutes.register('user_groups_delete', '/_admin/user_groups/%(user_group_id)s/delete', ['user_group_id']); | |
|
396 | pyroutes.register('user_groups_new', '/_admin/user_groups/new', []); | |
|
397 | pyroutes.register('user_groups_update', '/_admin/user_groups/%(user_group_id)s/update', ['user_group_id']); | |
|
398 | pyroutes.register('user_notice_dismiss', '/_admin/users/%(user_id)s/notice_dismiss', ['user_id']); | |
|
399 | pyroutes.register('user_profile', '/_profiles/%(username)s', ['username']); | |
|
400 | pyroutes.register('user_update', '/_admin/users/%(user_id)s/update', ['user_id']); | |
|
401 | pyroutes.register('users', '/_admin/users', []); | |
|
402 | pyroutes.register('users_create', '/_admin/users/create', []); | |
|
403 | pyroutes.register('users_data', '/_admin/users_data', []); | |
|
404 | pyroutes.register('users_new', '/_admin/users/new', []); | |
|
405 | 405 | } |
@@ -618,7 +618,7 b' function scrollToElement(element, percen' | |||
|
618 | 618 | offsetScroll($line, 70); |
|
619 | 619 | } |
|
620 | 620 | if (!$line.hasClass('comment-outdated') && result.remainder === '/ReplyToComment') { |
|
621 |
$line. |
|
|
621 | $line.parent().find('.cb-comment-add-button').trigger('click'); | |
|
622 | 622 | } |
|
623 | 623 | } |
|
624 | 624 | |
@@ -714,3 +714,11 b' var getUserSessionAttr = function(key) {' | |||
|
714 | 714 | } |
|
715 | 715 | return null |
|
716 | 716 | } |
|
717 | ||
|
718 | window.scrollDown = function () { | |
|
719 | $(document).scrollTop($(document).height()); | |
|
720 | } | |
|
721 | ||
|
722 | window.scrollUp = function scrollUp() { | |
|
723 | $(window).scrollTop(0); | |
|
724 | } |
@@ -371,7 +371,7 b' var _submitAjaxPOST = function(url, post' | |||
|
371 | 371 | location.reload(true); |
|
372 | 372 | } else { |
|
373 | 373 | // inject newly created comments, json_data is {<comment_id>: {}} |
|
374 |
|
|
|
374 | Rhodecode.comments.attachGeneralComment(json_data) | |
|
375 | 375 | |
|
376 | 376 | self.resetCommentFormState(); |
|
377 | 377 | timeagoActivate(); |
@@ -1462,10 +1462,11 b' var CommentsController = function() {' | |||
|
1462 | 1462 | |
|
1463 | 1463 | var comment = $('#comment-'+commentId); |
|
1464 | 1464 | var commentData = comment.data(); |
|
1465 | console.log(commentData); | |
|
1466 | ||
|
1465 | 1467 | if (commentData.commentInline) { |
|
1466 |
var f_path = commentData. |
|
|
1467 |
var line_no = commentData. |
|
|
1468 | //TODO check this if we need to give f_path/line_no | |
|
1468 | var f_path = commentData.commentFPath; | |
|
1469 | var line_no = commentData.commentLineNo; | |
|
1469 | 1470 | this.createComment(comment, f_path, line_no, commentId) |
|
1470 | 1471 | } else { |
|
1471 | 1472 | this.createGeneralComment('general', "$placeholder", commentId) |
@@ -269,8 +269,8 b' window.ReviewersController = function ()' | |||
|
269 | 269 | 'source_ref': sourceRef[2], |
|
270 | 270 | 'target_repo': targetRepo, |
|
271 | 271 | 'target_ref': targetRef[2], |
|
272 |
'target_ref_type': |
|
|
273 |
'target_ref_name': |
|
|
272 | 'target_ref_type': targetRef[0], | |
|
273 | 'target_ref_name': targetRef[1] | |
|
274 | 274 | }); |
|
275 | 275 | |
|
276 | 276 | self.currentRequest = $.ajax({ |
@@ -397,6 +397,7 b' window.ReviewersController = function ()' | |||
|
397 | 397 | 'user_group': reviewer_obj.user_group, |
|
398 | 398 | 'create': true, |
|
399 | 399 | 'rule_show': true, |
|
400 | 'rhodecode_user': templateContext.rhodecode_user | |
|
400 | 401 | }) |
|
401 | 402 | |
|
402 | 403 | if (role === self.ROLE_REVIEWER) { |
@@ -820,7 +821,8 b' window.ReviewersPanel = {' | |||
|
820 | 821 | 'review_status': member.review_status, |
|
821 | 822 | 'review_status_label': member.review_status_label, |
|
822 | 823 | 'user_group': member.user_group, |
|
823 | 'create': false | |
|
824 | 'create': false, | |
|
825 | 'rhodecode_user': templateContext.rhodecode_user | |
|
824 | 826 | }); |
|
825 | 827 | |
|
826 | 828 | $(self.controller.$reviewMembers.selector).append(entry) |
@@ -915,7 +917,8 b' window.ObserversPanel = {' | |||
|
915 | 917 | 'review_status': member.review_status, |
|
916 | 918 | 'review_status_label': member.review_status_label, |
|
917 | 919 | 'user_group': member.user_group, |
|
918 | 'create': false | |
|
920 | 'create': false, | |
|
921 | 'rhodecode_user': templateContext.rhodecode_user | |
|
919 | 922 | }); |
|
920 | 923 | |
|
921 | 924 | $(self.controller.$observerMembers.selector).append(entry) |
@@ -18,6 +18,8 b'' | |||
|
18 | 18 | # RhodeCode Enterprise Edition, including its added features, Support services, |
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 20 | import io |
|
21 | import shlex | |
|
22 | ||
|
21 | 23 | import math |
|
22 | 24 | import re |
|
23 | 25 | import os |
@@ -231,7 +233,7 b' def write_usage_data(event):' | |||
|
231 | 233 | |
|
232 | 234 | # write every 6th hour |
|
233 | 235 | if age_in_min and age_in_min < 60 * 6: |
|
234 |
log.debug('Usage file created %s minutes ago, skipping (thre |
|
|
236 | log.debug('Usage file created %s minutes ago, skipping (threshold: %s minutes)...', | |
|
235 | 237 | age_in_min, 60 * 6) |
|
236 | 238 | return |
|
237 | 239 | |
@@ -357,10 +359,16 b' class AsyncSubscriber(Subscriber):' | |||
|
357 | 359 | class AsyncSubprocessSubscriber(AsyncSubscriber): |
|
358 | 360 | """ |
|
359 | 361 | Subscriber that uses the subprocess32 module to execute a command if an |
|
360 |
event is received. Events are handled asynchronously |
|
|
362 | event is received. Events are handled asynchronously:: | |
|
363 | ||
|
364 | subscriber = AsyncSubprocessSubscriber('ls -la', timeout=10) | |
|
365 | subscriber(dummyEvent) # running __call__(event) | |
|
366 | ||
|
361 | 367 | """ |
|
362 | 368 | |
|
363 | 369 | def __init__(self, cmd, timeout=None): |
|
370 | if not isinstance(cmd, (list, tuple)): | |
|
371 | cmd = shlex.split(cmd) | |
|
364 | 372 | super(AsyncSubprocessSubscriber, self).__init__() |
|
365 | 373 | self._cmd = cmd |
|
366 | 374 | self._timeout = timeout |
@@ -384,6 +392,6 b' class AsyncSubprocessSubscriber(AsyncSub' | |||
|
384 | 392 | log.exception('Error while executing command.') |
|
385 | 393 | if e.output: |
|
386 | 394 | log.error('Command output: %s', e.output) |
|
387 | except: | |
|
395 | except Exception: | |
|
388 | 396 | log.exception( |
|
389 | 397 | 'Exception while executing command %s.', cmd) |
@@ -235,13 +235,14 b'' | |||
|
235 | 235 | %for field in c.repo_fields: |
|
236 | 236 | <div class="field"> |
|
237 | 237 | <div class="label"> |
|
238 |
<label for="${field.field_key_prefixed}">${field.field_label |
|
|
238 | <label for="${field.field_key_prefixed}">${(field.field_label or field.field_key)}:</label> | |
|
239 | 239 | </div> |
|
240 | 240 | <div class="input input-medium"> |
|
241 | 241 | ${h.text(field.field_key_prefixed, field.field_value, class_='medium')} |
|
242 |
|
|
|
243 |
|
|
|
244 |
|
|
|
242 | <span class="help-block"> | |
|
243 | key: ${field.field_key}; | |
|
244 | ${field.field_desc} | |
|
245 | </span> | |
|
245 | 246 | </div> |
|
246 | 247 | </div> |
|
247 | 248 | %endfor |
@@ -510,9 +510,9 b'' | |||
|
510 | 510 | % if form_type == 'inline': |
|
511 | 511 | % if c.rhodecode_edition_id == 'EE': |
|
512 | 512 | ## Disable the button for CE, the "real" validation is in the backend code anyway |
|
513 |
<input class="btn btn- |
|
|
513 | <input class="btn btn-draft comment-button-input submit-draft-action" id="save_draft_${lineno_id}" name="save_draft" type="submit" value="${_('Add draft')}" data-is-draft=true onclick="$(this).addClass('submitter')"> | |
|
514 | 514 | % else: |
|
515 |
<input class="btn btn- |
|
|
515 | <input class="btn btn-draft comment-button-input submit-draft-action disabled" disabled="disabled" type="submit" value="${_('Add draft')}" onclick="return false;" title="Draft comments only available in EE edition of RhodeCode"> | |
|
516 | 516 | % endif |
|
517 | 517 | % endif |
|
518 | 518 | |
@@ -534,9 +534,9 b'' | |||
|
534 | 534 | % if form_type == 'inline': |
|
535 | 535 | <input type="hidden" name="f_path" value="{0}"> |
|
536 | 536 | <input type="hidden" name="line" value="${lineno_id}"> |
|
537 |
< |
|
|
538 | <i class="icon-cancel-circled2"></i> | |
|
539 |
</ |
|
|
537 | <span style="opacity: 0.7" class="cursor-pointer cb-comment-cancel" onclick="return Rhodecode.comments.cancelComment(this);"> | |
|
538 | ${_('dismiss')} | |
|
539 | </span> | |
|
540 | 540 | % endif |
|
541 | 541 | </div> |
|
542 | 542 |
@@ -645,12 +645,18 b" return '%s_%s_%i' % (h.md5_safe(commit+f" | |||
|
645 | 645 | <div class="reply-thread-container-wrapper${extra_class}" style="${extra_style}"> |
|
646 | 646 | <div class="reply-thread-container${extra_class}"> |
|
647 | 647 | <div class="reply-thread-gravatar"> |
|
648 | % if c.rhodecode_user.username != h.DEFAULT_USER: | |
|
648 | 649 | ${base.gravatar(c.rhodecode_user.email, 20, tooltip=True, user=c.rhodecode_user)} |
|
650 | % endif | |
|
649 | 651 | </div> |
|
652 | ||
|
650 | 653 | <div class="reply-thread-reply-button"> |
|
654 | % if c.rhodecode_user.username != h.DEFAULT_USER: | |
|
651 | 655 | ## initial reply button, some JS logic can append here a FORM to leave a first comment. |
|
652 | 656 | <button class="cb-comment-add-button" onclick="return Rhodecode.comments.createComment(this, '${f_path}', '${line_no}', null)">Reply...</button> |
|
657 | % endif | |
|
653 | 658 | </div> |
|
659 | ##% endif | |
|
654 | 660 | <div class="reply-thread-last"></div> |
|
655 | 661 | </div> |
|
656 | 662 | </div> |
@@ -910,6 +916,16 b' def get_comments_for(diff_type, comments' | |||
|
910 | 916 | <div class="sidebar__inner"> |
|
911 | 917 | <div class="sidebar__bar"> |
|
912 | 918 | <div class="pull-right"> |
|
919 | ||
|
920 | <div class="btn-group" style="margin-right: 5px;"> | |
|
921 | <a class="tooltip btn" onclick="scrollDown();return false" title="${_('Scroll to page bottom')}"> | |
|
922 | <i class="icon-arrow_down"></i> | |
|
923 | </a> | |
|
924 | <a class="tooltip btn" onclick="scrollUp();return false" title="${_('Scroll to page top')}"> | |
|
925 | <i class="icon-arrow_up"></i> | |
|
926 | </a> | |
|
927 | </div> | |
|
928 | ||
|
913 | 929 | <div class="btn-group"> |
|
914 | 930 | <a class="btn tooltip toggle-wide-diff" href="#toggle-wide-diff" onclick="toggleWideDiff(this); return false" title="${h.tooltip(_('Toggle wide diff'))}"> |
|
915 | 931 | <i class="icon-wide-mode"></i> |
@@ -948,9 +964,37 b' def get_comments_for(diff_type, comments' | |||
|
948 | 964 | </div> |
|
949 | 965 | <div class="btn-group"> |
|
950 | 966 | |
|
951 |
<d |
|
|
952 | ${h.hidden('diff_menu_{}'.format(diffset_container_id))} | |
|
953 | </div> | |
|
967 | <details class="details-reset details-inline-block"> | |
|
968 | <summary class="noselect btn"> | |
|
969 | <i class="icon-options cursor-pointer" op="options"></i> | |
|
970 | </summary> | |
|
971 | ||
|
972 | <div> | |
|
973 | <details-menu class="details-dropdown" style="top: 35px;"> | |
|
974 | ||
|
975 | <div class="dropdown-item"> | |
|
976 | <div style="padding: 2px 0px"> | |
|
977 | % if request.GET.get('ignorews', '') == '1': | |
|
978 | <a href="${h.current_route_path(request, ignorews=0)}">${_('Show whitespace changes')}</a> | |
|
979 | % else: | |
|
980 | <a href="${h.current_route_path(request, ignorews=1)}">${_('Hide whitespace changes')}</a> | |
|
981 | % endif | |
|
982 | </div> | |
|
983 | </div> | |
|
984 | ||
|
985 | <div class="dropdown-item"> | |
|
986 | <div style="padding: 2px 0px"> | |
|
987 | % if request.GET.get('fullcontext', '') == '1': | |
|
988 | <a href="${h.current_route_path(request, fullcontext=0)}">${_('Hide full context diff')}</a> | |
|
989 | % else: | |
|
990 | <a href="${h.current_route_path(request, fullcontext=1)}">${_('Show full context diff')}</a> | |
|
991 | % endif | |
|
992 | </div> | |
|
993 | </div> | |
|
994 | ||
|
995 | </details-menu> | |
|
996 | </div> | |
|
997 | </details> | |
|
954 | 998 | |
|
955 | 999 | </div> |
|
956 | 1000 | </div> |
@@ -970,7 +1014,6 b' def get_comments_for(diff_type, comments' | |||
|
970 | 1014 | </strong> |
|
971 | 1015 | </div> |
|
972 | 1016 | <div class="pull-right noselect"> |
|
973 | ||
|
974 | 1017 | %if commit: |
|
975 | 1018 | <span> |
|
976 | 1019 | <code>${h.show_id(commit)}</code> |
@@ -1264,61 +1307,6 b' def get_comments_for(diff_type, comments' | |||
|
1264 | 1307 | return null; |
|
1265 | 1308 | }; |
|
1266 | 1309 | |
|
1267 | var preloadDiffMenuData = { | |
|
1268 | results: [ | |
|
1269 | ||
|
1270 | ## Whitespace change | |
|
1271 | % if request.GET.get('ignorews', '') == '1': | |
|
1272 | { | |
|
1273 | id: 2, | |
|
1274 | text: _gettext('Show whitespace changes'), | |
|
1275 | action: function () {}, | |
|
1276 | url: "${h.current_route_path(request, ignorews=0)|n}" | |
|
1277 | }, | |
|
1278 | % else: | |
|
1279 | { | |
|
1280 | id: 2, | |
|
1281 | text: _gettext('Hide whitespace changes'), | |
|
1282 | action: function () {}, | |
|
1283 | url: "${h.current_route_path(request, ignorews=1)|n}" | |
|
1284 | }, | |
|
1285 | % endif | |
|
1286 | ||
|
1287 | ## FULL CONTEXT | |
|
1288 | % if request.GET.get('fullcontext', '') == '1': | |
|
1289 | { | |
|
1290 | id: 3, | |
|
1291 | text: _gettext('Hide full context diff'), | |
|
1292 | action: function () {}, | |
|
1293 | url: "${h.current_route_path(request, fullcontext=0)|n}" | |
|
1294 | }, | |
|
1295 | % else: | |
|
1296 | { | |
|
1297 | id: 3, | |
|
1298 | text: _gettext('Show full context diff'), | |
|
1299 | action: function () {}, | |
|
1300 | url: "${h.current_route_path(request, fullcontext=1)|n}" | |
|
1301 | }, | |
|
1302 | % endif | |
|
1303 | ||
|
1304 | ] | |
|
1305 | }; | |
|
1306 | ||
|
1307 | var diffMenuId = "#diff_menu_" + "${diffset_container_id}"; | |
|
1308 | $(diffMenuId).select2({ | |
|
1309 | minimumResultsForSearch: -1, | |
|
1310 | containerCssClass: "drop-menu-no-width", | |
|
1311 | dropdownCssClass: "drop-menu-dropdown", | |
|
1312 | dropdownAutoWidth: true, | |
|
1313 | data: preloadDiffMenuData, | |
|
1314 | placeholder: "${_('...')}", | |
|
1315 | }); | |
|
1316 | $(diffMenuId).on('select2-selecting', function (e) { | |
|
1317 | e.choice.action(); | |
|
1318 | if (e.choice.url !== null) { | |
|
1319 | window.location = e.choice.url | |
|
1320 | } | |
|
1321 | }); | |
|
1322 | 1310 | toggleExpand = function (el, diffsetEl) { |
|
1323 | 1311 | var el = $(el); |
|
1324 | 1312 | if (el.hasClass('collapsed')) { |
@@ -65,6 +65,9 b" var data_hovercard_url = pyroutes.url('h" | |||
|
65 | 65 | |
|
66 | 66 | <tr id="reviewer_<%= member.user_id %>" class="reviewer_entry" tooltip="Review Group" data-reviewer-user-id="<%= member.user_id %>"> |
|
67 | 67 | |
|
68 | <% if (create) { %> | |
|
69 | <td style="width: 1px"></td> | |
|
70 | <% } else { %> | |
|
68 | 71 | <td style="width: 20px"> |
|
69 | 72 | <div class="tooltip presence-state" style="display: none; position: absolute; left: 2px" title="This users is currently at this page"> |
|
70 | 73 | <i class="icon-eye" style="color: #0ac878"></i> |
@@ -79,6 +82,25 b" var data_hovercard_url = pyroutes.url('h" | |||
|
79 | 82 | </div> |
|
80 | 83 | <% } %> |
|
81 | 84 | </td> |
|
85 | <% } %> | |
|
86 | ||
|
87 | ||
|
88 | <% if (mandatory) { %> | |
|
89 | <td style="text-align: right;width: 10px;"> | |
|
90 | <div class="reviewer_member_mandatory tooltip" title="Mandatory reviewer"> | |
|
91 | <i class="icon-lock"></i> | |
|
92 | </div> | |
|
93 | </td> | |
|
94 | ||
|
95 | <% } else { %> | |
|
96 | <td style="text-align: right;width: 10px;"> | |
|
97 | <% if (allowed_to_update) { %> | |
|
98 | <div class="<%=role %>_member_remove" onclick="reviewersController.removeMember(<%= member.user_id %>, true)" style="visibility: <%= edit_visibility %>;"> | |
|
99 | <i class="icon-remove" style="color: #e85e4d;"></i> | |
|
100 | </div> | |
|
101 | <% } %> | |
|
102 | </td> | |
|
103 | <% } %> | |
|
82 | 104 |
|
|
83 | 105 | <td> |
|
84 | 106 | <div id="reviewer_<%= member.user_id %>_name" class="reviewer_name"> |
@@ -94,9 +116,6 b" var data_hovercard_url = pyroutes.url('h" | |||
|
94 | 116 | }) |
|
95 | 117 | %> |
|
96 | 118 | </div> |
|
97 | </td> | |
|
98 | ||
|
99 | <td style="width: 10px"> | |
|
100 | 119 | <% if (reviewGroup !== null) { %> |
|
101 | 120 | <span class="tooltip" title="Member of review group from rule: `<%= member.user_group.name %>`" style="color: <%= reviewGroupColor %>"> |
|
102 | 121 | <%- reviewGroup %> |
@@ -104,23 +123,6 b" var data_hovercard_url = pyroutes.url('h" | |||
|
104 | 123 | <% } %> |
|
105 | 124 | </td> |
|
106 | 125 | |
|
107 | <% if (mandatory) { %> | |
|
108 | <td style="text-align: right;width: 10px;"> | |
|
109 | <div class="reviewer_member_mandatory tooltip" title="Mandatory reviewer"> | |
|
110 | <i class="icon-lock"></i> | |
|
111 | </div> | |
|
112 | </td> | |
|
113 | ||
|
114 | <% } else { %> | |
|
115 | <td style="text-align: right;width: 10px;"> | |
|
116 | <% if (allowed_to_update) { %> | |
|
117 | <div class="<%=role %>_member_remove" onclick="reviewersController.removeMember(<%= member.user_id %>, true)" style="visibility: <%= edit_visibility %>;"> | |
|
118 | <i class="icon-remove"></i> | |
|
119 | </div> | |
|
120 | <% } %> | |
|
121 | </td> | |
|
122 | <% } %> | |
|
123 | ||
|
124 | 126 | </tr> |
|
125 | 127 | |
|
126 | 128 | <tr id="reviewer_<%= member.user_id %>_rules"> |
@@ -194,9 +196,10 b' if (show_disabled) {' | |||
|
194 | 196 | <script id="ejs_sideBarCommentHovercard" type="text/template" class="ejsTemplate"> |
|
195 | 197 | |
|
196 | 198 | <div> |
|
199 | ||
|
197 | 200 | <% if (is_todo) { %> |
|
198 | 201 | <% if (inline) { %> |
|
199 | <strong>Inline</strong> TODO on line: <%= line_no %> | |
|
202 | <strong>Inline</strong> TODO (<code>#<%- comment_id -%></code>) on line: <%= line_no %> | |
|
200 | 203 | <% if (version_info) { %> |
|
201 | 204 | <%= version_info %> |
|
202 | 205 | <% } %> |
@@ -206,14 +209,14 b' if (show_disabled) {' | |||
|
206 | 209 | <% if (review_status) { %> |
|
207 | 210 | <i class="icon-circle review-status-<%= review_status %>"></i> |
|
208 | 211 | <% } %> |
|
209 | <strong>General</strong> TODO | |
|
212 | <strong>General</strong> TODO (<code>#<%- comment_id -%></code>) | |
|
210 | 213 | <% if (version_info) { %> |
|
211 | 214 | <%= version_info %> |
|
212 | 215 | <% } %> |
|
213 | 216 | <% } %> |
|
214 | 217 | <% } else { %> |
|
215 | 218 | <% if (inline) { %> |
|
216 | <strong>Inline</strong> comment on line: <%= line_no %> | |
|
219 | <strong>Inline</strong> comment (<code>#<%- comment_id -%></code>) on line: <%= line_no %> | |
|
217 | 220 | <% if (version_info) { %> |
|
218 | 221 | <%= version_info %> |
|
219 | 222 | <% } %> |
@@ -223,7 +226,7 b' if (show_disabled) {' | |||
|
223 | 226 | <% if (review_status) { %> |
|
224 | 227 | <i class="icon-circle review-status-<%= review_status %>"></i> |
|
225 | 228 | <% } %> |
|
226 | <strong>General</strong> comment | |
|
229 | <strong>General</strong> comment (<code>#<%- comment_id -%></code>) | |
|
227 | 230 | <% if (version_info) { %> |
|
228 | 231 | <%= version_info %> |
|
229 | 232 | <% } %> |
@@ -598,26 +598,13 b'' | |||
|
598 | 598 | ${c.reviewers_count} |
|
599 | 599 | </div> |
|
600 | 600 | |
|
601 | ## REVIEW RULES | |
|
602 | <div id="review_rules" style="display: none" class=""> | |
|
603 | <div class="right-sidebar-expanded-state pr-details-title"> | |
|
604 | <span class="sidebar-heading"> | |
|
605 | ${_('Reviewer rules')} | |
|
606 | </span> | |
|
607 | ||
|
608 | </div> | |
|
609 | <div class="pr-reviewer-rules"> | |
|
610 | ## review rules will be appended here, by default reviewers logic | |
|
611 | </div> | |
|
612 | <input id="review_data" type="hidden" name="review_data" value=""> | |
|
613 | </div> | |
|
614 | ||
|
615 | 601 | ## REVIEWERS |
|
616 | 602 | <div class="right-sidebar-expanded-state pr-details-title"> |
|
617 | 603 | <span class="tooltip sidebar-heading" title="${vote_title}"> |
|
618 | 604 | <i class="icon-circle review-status-${c.pull_request_review_status}"></i> |
|
619 | 605 | ${_('Reviewers')} |
|
620 | 606 | </span> |
|
607 | ||
|
621 | 608 |
|
|
622 | 609 | <span id="open_edit_reviewers" class="block-right action_button last-item">${_('Edit')}</span> |
|
623 | 610 | <span id="close_edit_reviewers" class="block-right action_button last-item" style="display: none;">${_('Close')}</span> |
@@ -629,6 +616,15 b'' | |||
|
629 | 616 | |
|
630 | 617 | <div id="reviewers" class="right-sidebar-expanded-state pr-details-content reviewers"> |
|
631 | 618 | |
|
619 | <div id="review_rules" style="display: none" class=""> | |
|
620 | ||
|
621 | <strong>${_('Reviewer rules')}</strong> | |
|
622 | <div class="pr-reviewer-rules"> | |
|
623 | ## review rules will be appended here, by default reviewers logic | |
|
624 | </div> | |
|
625 | <input id="review_data" type="hidden" name="review_data" value=""> | |
|
626 | </div> | |
|
627 | ||
|
632 | 628 | ## members redering block |
|
633 | 629 | <input type="hidden" name="__start__" value="review_members:sequence"> |
|
634 | 630 | |
@@ -649,7 +645,7 b'' | |||
|
649 | 645 | </div> |
|
650 | 646 | % endif |
|
651 | 647 | <div class="pull-right" style="margin-bottom: 15px"> |
|
652 |
<button data-role="reviewer" id="update_reviewers" class="btn btn-sm |
|
|
648 | <button data-role="reviewer" id="update_reviewers" class="btn btn-sm no-margin">${_('Save Changes')}</button> | |
|
653 | 649 | </div> |
|
654 | 650 | %endif |
|
655 | 651 | </div> |
@@ -702,7 +698,7 b'' | |||
|
702 | 698 | </div> |
|
703 | 699 | % endif |
|
704 | 700 | <div class="pull-right" style="margin-bottom: 15px"> |
|
705 |
<button data-role="observer" id="update_observers" class="btn btn-sm |
|
|
701 | <button data-role="observer" id="update_observers" class="btn btn-sm no-margin">${_('Save Changes')}</button> | |
|
706 | 702 | </div> |
|
707 | 703 | %endif |
|
708 | 704 | </div> |
General Comments 0
You need to be logged in to leave comments.
Login now