Show More
The requested changes are too big and content was truncated. Show full diff
@@ -0,0 +1,41 b'' | |||||
|
1 | |RCE| 4.17.1 |RNS| | |||
|
2 | ------------------ | |||
|
3 | ||||
|
4 | Release Date | |||
|
5 | ^^^^^^^^^^^^ | |||
|
6 | ||||
|
7 | - 2019-07-04 | |||
|
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 | Fixes | |||
|
31 | ^^^^^ | |||
|
32 | ||||
|
33 | - Database: fixed mysql migration issues. | |||
|
34 | - Artifacts: fixed problem with non-ascii file uploads. | |||
|
35 | - Artifacts: increase timeout, and allow setting custom time via ?timeout=N GET flag | |||
|
36 | ||||
|
37 | ||||
|
38 | Upgrade notes | |||
|
39 | ^^^^^^^^^^^^^ | |||
|
40 | ||||
|
41 | - Un-scheduled release addressing problems in 4.17.X releases. |
@@ -0,0 +1,40 b'' | |||||
|
1 | |RCE| 4.17.2 |RNS| | |||
|
2 | ------------------ | |||
|
3 | ||||
|
4 | Release Date | |||
|
5 | ^^^^^^^^^^^^ | |||
|
6 | ||||
|
7 | - 2019-07-05 | |||
|
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 | Fixes | |||
|
31 | ^^^^^ | |||
|
32 | ||||
|
33 | - UI: fixed missing icons on some cases. | |||
|
34 | - Commits: hide links icon of message that don't expand. | |||
|
35 | ||||
|
36 | ||||
|
37 | Upgrade notes | |||
|
38 | ^^^^^^^^^^^^^ | |||
|
39 | ||||
|
40 | - Un-scheduled release addressing problems in 4.17.X releases. |
@@ -41,6 +41,7 b' syntax: regexp' | |||||
41 | ^result$ |
|
41 | ^result$ | |
42 | ^rhodecode/public/css/style.css$ |
|
42 | ^rhodecode/public/css/style.css$ | |
43 | ^rhodecode/public/css/style-polymer.css$ |
|
43 | ^rhodecode/public/css/style-polymer.css$ | |
|
44 | ^rhodecode/public/css/style-ipython.css$ | |||
44 | ^rhodecode/public/js/rhodecode-components.html$ |
|
45 | ^rhodecode/public/js/rhodecode-components.html$ | |
45 | ^rhodecode/public/js/rhodecode-components.js$ |
|
46 | ^rhodecode/public/js/rhodecode-components.js$ | |
46 | ^rhodecode/public/js/scripts.js$ |
|
47 | ^rhodecode/public/js/scripts.js$ |
@@ -52,3 +52,6 b' 4aaa40b605b01af78a9f6882eca561c54b525ef0' | |||||
52 | 797744642eca86640ed20bef2cd77445780abaec v4.16.0 |
|
52 | 797744642eca86640ed20bef2cd77445780abaec v4.16.0 | |
53 | 6c3452c7c25ed35ff269690929e11960ed6ad7d3 v4.16.1 |
|
53 | 6c3452c7c25ed35ff269690929e11960ed6ad7d3 v4.16.1 | |
54 | 5d8057df561c4b6b81b6401aed7d2f911e6e77f7 v4.16.2 |
|
54 | 5d8057df561c4b6b81b6401aed7d2f911e6e77f7 v4.16.2 | |
|
55 | 13acfc008896ef4c62546bab5074e8f6f89b4fa7 v4.17.0 | |||
|
56 | 45b9b610976f483877142fe75321808ce9ebac59 v4.17.1 | |||
|
57 | ad5bd0c4bd322fdbd04bb825a3d027e08f7a3901 v4.17.2 |
@@ -9,6 +9,8 b' Release Notes' | |||||
9 | .. toctree:: |
|
9 | .. toctree:: | |
10 | :maxdepth: 1 |
|
10 | :maxdepth: 1 | |
11 |
|
11 | |||
|
12 | release-notes-4.17.2.rst | |||
|
13 | release-notes-4.17.1.rst | |||
12 | release-notes-4.17.0.rst |
|
14 | release-notes-4.17.0.rst | |
13 | release-notes-4.16.2.rst |
|
15 | release-notes-4.16.2.rst | |
14 | release-notes-4.16.1.rst |
|
16 | release-notes-4.16.1.rst |
@@ -1718,7 +1718,7 b' self: super: {' | |||||
1718 | }; |
|
1718 | }; | |
1719 | }; |
|
1719 | }; | |
1720 | "rhodecode-enterprise-ce" = super.buildPythonPackage { |
|
1720 | "rhodecode-enterprise-ce" = super.buildPythonPackage { | |
1721 |
name = "rhodecode-enterprise-ce-4.17. |
|
1721 | name = "rhodecode-enterprise-ce-4.17.2"; | |
1722 | buildInputs = [ |
|
1722 | buildInputs = [ | |
1723 | self."pytest" |
|
1723 | self."pytest" | |
1724 | self."py" |
|
1724 | self."py" |
@@ -369,6 +369,10 b' def includeme(config):' | |||||
369 | name='edit_repo_perms', |
|
369 | name='edit_repo_perms', | |
370 | pattern='/{repo_name:.*?[^/]}/settings/permissions', repo_route=True) |
|
370 | pattern='/{repo_name:.*?[^/]}/settings/permissions', repo_route=True) | |
371 |
|
371 | |||
|
372 | config.add_route( | |||
|
373 | name='edit_repo_perms_set_private', | |||
|
374 | pattern='/{repo_name:.*?[^/]}/settings/permissions/set_private', repo_route=True) | |||
|
375 | ||||
372 | # Permissions Branch (EE feature) |
|
376 | # Permissions Branch (EE feature) | |
373 | config.add_route( |
|
377 | config.add_route( | |
374 | name='edit_repo_perms_branch', |
|
378 | name='edit_repo_perms_branch', | |
@@ -481,13 +485,21 b' def includeme(config):' | |||||
481 | name='edit_repo_audit_logs', |
|
485 | name='edit_repo_audit_logs', | |
482 | pattern='/{repo_name:.*?[^/]}/settings/audit_logs', repo_route=True) |
|
486 | pattern='/{repo_name:.*?[^/]}/settings/audit_logs', repo_route=True) | |
483 |
|
487 | |||
484 | # ATOM/RSS Feed |
|
488 | # ATOM/RSS Feed, shouldn't contain slashes for outlook compatibility | |
485 | config.add_route( |
|
489 | config.add_route( | |
486 | name='rss_feed_home', |
|
490 | name='rss_feed_home', | |
|
491 | pattern='/{repo_name:.*?[^/]}/feed-rss', repo_route=True) | |||
|
492 | ||||
|
493 | config.add_route( | |||
|
494 | name='atom_feed_home', | |||
|
495 | pattern='/{repo_name:.*?[^/]}/feed-atom', repo_route=True) | |||
|
496 | ||||
|
497 | config.add_route( | |||
|
498 | name='rss_feed_home_old', | |||
487 | pattern='/{repo_name:.*?[^/]}/feed/rss', repo_route=True) |
|
499 | pattern='/{repo_name:.*?[^/]}/feed/rss', repo_route=True) | |
488 |
|
500 | |||
489 | config.add_route( |
|
501 | config.add_route( | |
490 | name='atom_feed_home', |
|
502 | name='atom_feed_home_old', | |
491 | pattern='/{repo_name:.*?[^/]}/feed/atom', repo_route=True) |
|
503 | pattern='/{repo_name:.*?[^/]}/feed/atom', repo_route=True) | |
492 |
|
504 | |||
493 | # NOTE(marcink): needs to be at the end for catch-all |
|
505 | # NOTE(marcink): needs to be at the end for catch-all |
@@ -27,8 +27,10 b' def route_path(name, params=None, **kwar' | |||||
27 | import urllib |
|
27 | import urllib | |
28 |
|
28 | |||
29 | base_url = { |
|
29 | base_url = { | |
30 |
'rss_feed_home': '/{repo_name}/feed |
|
30 | 'rss_feed_home': '/{repo_name}/feed-rss', | |
31 |
'atom_feed_home': '/{repo_name}/feed |
|
31 | 'atom_feed_home': '/{repo_name}/feed-atom', | |
|
32 | 'rss_feed_home_old': '/{repo_name}/feed/rss', | |||
|
33 | 'atom_feed_home_old': '/{repo_name}/feed/atom', | |||
32 | }[name].format(**kwargs) |
|
34 | }[name].format(**kwargs) | |
33 |
|
35 | |||
34 | if params: |
|
36 | if params: | |
@@ -73,6 +75,42 b' class TestFeedView(TestController):' | |||||
73 |
|
75 | |||
74 | assert response.content_type == content_type |
|
76 | assert response.content_type == content_type | |
75 |
|
77 | |||
|
78 | @pytest.mark.parametrize("feed_type, content_type", [ | |||
|
79 | ('rss', "application/rss+xml"), | |||
|
80 | ('atom', "application/atom+xml") | |||
|
81 | ]) | |||
|
82 | def test_feed_with_auth_token_by_uid( | |||
|
83 | self, backend, user_admin, feed_type, content_type): | |||
|
84 | auth_token = user_admin.feed_token | |||
|
85 | assert auth_token != '' | |||
|
86 | ||||
|
87 | response = self.app.get( | |||
|
88 | route_path( | |||
|
89 | '{}_feed_home'.format(feed_type), | |||
|
90 | repo_name='_{}'.format(backend.repo.repo_id), | |||
|
91 | params=dict(auth_token=auth_token)), | |||
|
92 | status=200) | |||
|
93 | ||||
|
94 | assert response.content_type == content_type | |||
|
95 | ||||
|
96 | @pytest.mark.parametrize("feed_type, content_type", [ | |||
|
97 | ('rss', "application/rss+xml"), | |||
|
98 | ('atom', "application/atom+xml") | |||
|
99 | ]) | |||
|
100 | def test_feed_old_urls_with_auth_token( | |||
|
101 | self, backend, user_admin, feed_type, content_type): | |||
|
102 | auth_token = user_admin.feed_token | |||
|
103 | assert auth_token != '' | |||
|
104 | ||||
|
105 | response = self.app.get( | |||
|
106 | route_path( | |||
|
107 | '{}_feed_home_old'.format(feed_type), | |||
|
108 | repo_name=backend.repo_name, | |||
|
109 | params=dict(auth_token=auth_token)), | |||
|
110 | status=200) | |||
|
111 | ||||
|
112 | assert response.content_type == content_type | |||
|
113 | ||||
76 | @pytest.mark.parametrize("feed_type", ['rss', 'atom']) |
|
114 | @pytest.mark.parametrize("feed_type", ['rss', 'atom']) | |
77 | def test_feed_with_auth_token_of_wrong_type( |
|
115 | def test_feed_with_auth_token_of_wrong_type( | |
78 | self, backend, user_util, feed_type): |
|
116 | self, backend, user_util, feed_type): |
@@ -40,8 +40,6 b' log = logging.getLogger(__name__)' | |||||
40 | class RepoFeedView(RepoAppView): |
|
40 | class RepoFeedView(RepoAppView): | |
41 | def load_default_context(self): |
|
41 | def load_default_context(self): | |
42 | c = self._get_local_tmpl_context() |
|
42 | c = self._get_local_tmpl_context() | |
43 |
|
||||
44 |
|
||||
45 | self._load_defaults() |
|
43 | self._load_defaults() | |
46 | return c |
|
44 | return c | |
47 |
|
45 | |||
@@ -117,6 +115,9 b' class RepoFeedView(RepoAppView):' | |||||
117 | @view_config( |
|
115 | @view_config( | |
118 | route_name='atom_feed_home', request_method='GET', |
|
116 | route_name='atom_feed_home', request_method='GET', | |
119 | renderer=None) |
|
117 | renderer=None) | |
|
118 | @view_config( | |||
|
119 | route_name='atom_feed_home_old', request_method='GET', | |||
|
120 | renderer=None) | |||
120 | def atom(self): |
|
121 | def atom(self): | |
121 | """ |
|
122 | """ | |
122 | Produce an atom-1.0 feed via feedgenerator module |
|
123 | Produce an atom-1.0 feed via feedgenerator module | |
@@ -181,6 +182,9 b' class RepoFeedView(RepoAppView):' | |||||
181 | @view_config( |
|
182 | @view_config( | |
182 | route_name='rss_feed_home', request_method='GET', |
|
183 | route_name='rss_feed_home', request_method='GET', | |
183 | renderer=None) |
|
184 | renderer=None) | |
|
185 | @view_config( | |||
|
186 | route_name='rss_feed_home_old', request_method='GET', | |||
|
187 | renderer=None) | |||
184 | def rss(self): |
|
188 | def rss(self): | |
185 | """ |
|
189 | """ | |
186 | Produce an rss2 feed via feedgenerator module |
|
190 | Produce an rss2 feed via feedgenerator module |
@@ -105,3 +105,30 b' class RepoSettingsPermissionsView(RepoAp' | |||||
105 |
|
105 | |||
106 | raise HTTPFound( |
|
106 | raise HTTPFound( | |
107 | h.route_path('edit_repo_perms', repo_name=self.db_repo_name)) |
|
107 | h.route_path('edit_repo_perms', repo_name=self.db_repo_name)) | |
|
108 | ||||
|
109 | @LoginRequired() | |||
|
110 | @HasRepoPermissionAnyDecorator('repository.admin') | |||
|
111 | @CSRFRequired() | |||
|
112 | @view_config( | |||
|
113 | route_name='edit_repo_perms_set_private', request_method='POST', | |||
|
114 | renderer='json_ext') | |||
|
115 | def edit_permissions_set_private_repo(self): | |||
|
116 | _ = self.request.translate | |||
|
117 | self.load_default_context() | |||
|
118 | ||||
|
119 | try: | |||
|
120 | RepoModel().update( | |||
|
121 | self.db_repo, **{'repo_private': True, 'repo_name': self.db_repo_name}) | |||
|
122 | Session().commit() | |||
|
123 | ||||
|
124 | h.flash(_('Repository `{}` private mode set successfully').format(self.db_repo_name), | |||
|
125 | category='success') | |||
|
126 | except Exception: | |||
|
127 | log.exception("Exception during update of repository") | |||
|
128 | h.flash(_('Error occurred during update of repository {}').format( | |||
|
129 | self.db_repo_name), category='error') | |||
|
130 | ||||
|
131 | return { | |||
|
132 | 'redirect_url': h.route_path('edit_repo_perms', repo_name=self.db_repo_name), | |||
|
133 | 'private': True | |||
|
134 | } |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
@@ -4,6 +4,7 b' import logging' | |||||
4 |
|
4 | |||
5 | from alembic.migration import MigrationContext |
|
5 | from alembic.migration import MigrationContext | |
6 | from alembic.operations import Operations |
|
6 | from alembic.operations import Operations | |
|
7 | from sqlalchemy import String | |||
7 |
|
8 | |||
8 | from rhodecode.lib.dbmigrate.versions import _reset_base |
|
9 | from rhodecode.lib.dbmigrate.versions import _reset_base | |
9 | from rhodecode.model import init_model_encryption |
|
10 | from rhodecode.model import init_model_encryption | |
@@ -28,7 +29,7 b' def upgrade(migrate_engine):' | |||||
28 | repo_group = db_4_16_0_2.RepoGroup.__table__ |
|
29 | repo_group = db_4_16_0_2.RepoGroup.__table__ | |
29 |
|
30 | |||
30 | with op.batch_alter_table(repo_group.name) as batch_op: |
|
31 | with op.batch_alter_table(repo_group.name) as batch_op: | |
31 | batch_op.alter_column("repo_group_name_hash", nullable=False) |
|
32 | batch_op.alter_column("repo_group_name_hash", type_=String(1024), nullable=False) | |
32 |
|
33 | |||
33 |
|
34 | |||
34 | def downgrade(migrate_engine): |
|
35 | def downgrade(migrate_engine): |
@@ -147,7 +147,7 b' class RemoteRepo(object):' | |||||
147 |
|
147 | |||
148 | def _call_with_logging(self, name, *args, **kwargs): |
|
148 | def _call_with_logging(self, name, *args, **kwargs): | |
149 | context_uid = self._wire.get('context') |
|
149 | context_uid = self._wire.get('context') | |
150 | log.debug('Calling %s@%s with args:%r. wire_context: %s', |
|
150 | log.debug('Calling %s@%s with args:%.10240r. wire_context: %s', | |
151 | self.url, name, args, context_uid) |
|
151 | self.url, name, args, context_uid) | |
152 | return RemoteRepo._call(self, name, *args, **kwargs) |
|
152 | return RemoteRepo._call(self, name, *args, **kwargs) | |
153 |
|
153 |
@@ -1841,6 +1841,10 b' class Repository(Base, BaseModel):' | |||||
1841 | return q.all() |
|
1841 | return q.all() | |
1842 |
|
1842 | |||
1843 | @property |
|
1843 | @property | |
|
1844 | def repo_uid(self): | |||
|
1845 | return '_{}'.format(self.repo_id) | |||
|
1846 | ||||
|
1847 | @property | |||
1844 | def forks(self): |
|
1848 | def forks(self): | |
1845 | """ |
|
1849 | """ | |
1846 | Return forks of this repo |
|
1850 | Return forks of this repo | |
@@ -4111,7 +4115,7 b' class PullRequest(Base, _PullRequestBase' | |||||
4111 | def pull_request_version_id(self): |
|
4115 | def pull_request_version_id(self): | |
4112 | return getattr(pull_request_obj, 'pull_request_version_id', None) |
|
4116 | return getattr(pull_request_obj, 'pull_request_version_id', None) | |
4113 |
|
4117 | |||
4114 | attrs = StrictAttributeDict(pull_request_obj.get_api_data()) |
|
4118 | attrs = StrictAttributeDict(pull_request_obj.get_api_data(with_merge_state=False)) | |
4115 |
|
4119 | |||
4116 | attrs.author = StrictAttributeDict( |
|
4120 | attrs.author = StrictAttributeDict( | |
4117 | pull_request_obj.author.get_api_data()) |
|
4121 | pull_request_obj.author.get_api_data()) |
@@ -33,7 +33,7 b' from rhodecode import events' | |||||
33 | from rhodecode.integrations.types.base import EEIntegration |
|
33 | from rhodecode.integrations.types.base import EEIntegration | |
34 | from rhodecode.lib.caching_query import FromCache |
|
34 | from rhodecode.lib.caching_query import FromCache | |
35 | from rhodecode.model import BaseModel |
|
35 | from rhodecode.model import BaseModel | |
36 | from rhodecode.model.db import Integration, Repository, RepoGroup, true, false |
|
36 | from rhodecode.model.db import Integration, Repository, RepoGroup, true, false, case | |
37 | from rhodecode.integrations import integration_type_registry |
|
37 | from rhodecode.integrations import integration_type_registry | |
38 |
|
38 | |||
39 | log = logging.getLogger(__name__) |
|
39 | log = logging.getLogger(__name__) | |
@@ -155,6 +155,7 b' class IntegrationModel(BaseModel):' | |||||
155 | """ |
|
155 | """ | |
156 | Get integrations that match an event |
|
156 | Get integrations that match an event | |
157 | """ |
|
157 | """ | |
|
158 | # base query | |||
158 | query = self.sa.query( |
|
159 | query = self.sa.query( | |
159 | Integration |
|
160 | Integration | |
160 | ).filter( |
|
161 | ).filter( | |
@@ -164,7 +165,7 b' class IntegrationModel(BaseModel):' | |||||
164 | global_integrations_filter = and_( |
|
165 | global_integrations_filter = and_( | |
165 | Integration.repo_id == None, |
|
166 | Integration.repo_id == None, | |
166 | Integration.repo_group_id == None, |
|
167 | Integration.repo_group_id == None, | |
167 |
Integration.child_repos_only == |
|
168 | Integration.child_repos_only == false(), | |
168 | ) |
|
169 | ) | |
169 |
|
170 | |||
170 | if isinstance(event, events.RepoEvent): |
|
171 | if isinstance(event, events.RepoEvent): | |
@@ -177,42 +178,61 b' class IntegrationModel(BaseModel):' | |||||
177 | clauses = [ |
|
178 | clauses = [ | |
178 | global_integrations_filter, |
|
179 | global_integrations_filter, | |
179 | ] |
|
180 | ] | |
|
181 | cases = [ | |||
|
182 | (global_integrations_filter, 1), | |||
|
183 | (root_repos_integrations_filter, 2), | |||
|
184 | ] | |||
180 |
|
185 | |||
181 | # repo integrations |
|
186 | # repo group integrations | |
182 | if event.repo.repo_id: # pre create events dont have a repo_id yet |
|
187 | if event.repo.group: | |
183 | clauses.append( |
|
188 | # repo group with only root level repos | |
184 | Integration.repo_id == event.repo.repo_id |
|
189 | group_child_repos_filter = and_( | |
|
190 | Integration.repo_group_id == event.repo.group.group_id, | |||
|
191 | Integration.child_repos_only == true() | |||
185 | ) |
|
192 | ) | |
186 |
|
193 | |||
187 | if event.repo.group: |
|
194 | clauses.append(group_child_repos_filter) | |
188 |
c |
|
195 | cases.append( | |
189 | and_( |
|
196 | (group_child_repos_filter, 3), | |
190 | Integration.repo_group_id == event.repo.group.group_id, |
|
|||
191 | Integration.child_repos_only == true() |
|
|||
192 | ) |
|
|||
193 | ) |
|
197 | ) | |
|
198 | ||||
194 | # repo group cascade to kids |
|
199 | # repo group cascade to kids | |
195 | clauses.append( |
|
200 | group_recursive_repos_filter = and_( | |
196 | and_( |
|
201 | Integration.repo_group_id.in_( | |
197 | Integration.repo_group_id.in_( |
|
202 | [group.group_id for group in event.repo.groups_with_parents] | |
198 | [group.group_id for group in |
|
203 | ), | |
199 | event.repo.groups_with_parents] |
|
204 | Integration.child_repos_only == false() | |
200 |
|
|
205 | ) | |
201 | Integration.child_repos_only == false() |
|
206 | clauses.append(group_recursive_repos_filter) | |
202 |
|
|
207 | cases.append( | |
|
208 | (group_recursive_repos_filter, 4), | |||
203 | ) |
|
209 | ) | |
204 |
|
210 | |||
205 | if not event.repo.group: # root repo |
|
211 | if not event.repo.group: # root repo | |
206 | clauses.append(root_repos_integrations_filter) |
|
212 | clauses.append(root_repos_integrations_filter) | |
207 |
|
213 | |||
|
214 | # repo integrations | |||
|
215 | if event.repo.repo_id: # pre create events dont have a repo_id yet | |||
|
216 | specific_repo_filter = Integration.repo_id == event.repo.repo_id | |||
|
217 | clauses.append(specific_repo_filter) | |||
|
218 | cases.append( | |||
|
219 | (specific_repo_filter, 5), | |||
|
220 | ) | |||
|
221 | ||||
|
222 | order_by_criterion = case(cases) | |||
|
223 | ||||
208 | query = query.filter(or_(*clauses)) |
|
224 | query = query.filter(or_(*clauses)) | |
|
225 | query = query.order_by(order_by_criterion) | |||
209 |
|
226 | |||
210 | if cache: |
|
227 | if cache: | |
211 | cache_key = "get_enabled_repo_integrations_%i" % event.repo.repo_id |
|
228 | cache_key = "get_enabled_repo_integrations_%i" % event.repo.repo_id | |
212 | query = query.options( |
|
229 | query = query.options( | |
213 | FromCache("sql_cache_short", cache_key)) |
|
230 | FromCache("sql_cache_short", cache_key)) | |
214 | else: # only global integrations |
|
231 | else: # only global integrations | |
|
232 | order_by_criterion = Integration.integration_id | |||
|
233 | ||||
215 | query = query.filter(global_integrations_filter) |
|
234 | query = query.filter(global_integrations_filter) | |
|
235 | query = query.order_by(order_by_criterion) | |||
216 | if cache: |
|
236 | if cache: | |
217 | query = query.options( |
|
237 | query = query.options( | |
218 | FromCache("sql_cache_short", "get_enabled_global_integrations")) |
|
238 | FromCache("sql_cache_short", "get_enabled_global_integrations")) |
@@ -374,8 +374,7 b' class RepoModel(BaseModel):' | |||||
374 | ) |
|
374 | ) | |
375 |
|
375 | |||
376 | # handle extra fields |
|
376 | # handle extra fields | |
377 | for field in filter(lambda k: k.startswith(RepositoryField.PREFIX), |
|
377 | for field in filter(lambda k: k.startswith(RepositoryField.PREFIX), kwargs): | |
378 | kwargs): |
|
|||
379 | k = RepositoryField.un_prefix_key(field) |
|
378 | k = RepositoryField.un_prefix_key(field) | |
380 | ex_field = RepositoryField.get_by_key_name( |
|
379 | ex_field = RepositoryField.get_by_key_name( | |
381 | key=k, repo=cur_repo) |
|
380 | key=k, repo=cur_repo) |
@@ -53,7 +53,7 b' input[type="button"] {' | |||||
53 | .border ( @border-thickness, @grey4 ); |
|
53 | .border ( @border-thickness, @grey4 ); | |
54 | } |
|
54 | } | |
55 |
|
55 | |||
56 |
.icon-remove |
|
56 | .icon-remove { | |
57 | display: none; |
|
57 | display: none; | |
58 | } |
|
58 | } | |
59 |
|
59 |
@@ -536,7 +536,7 b' th {' | |||||
536 | .glyphicon-minus-sign:before { |
|
536 | .glyphicon-minus-sign:before { | |
537 | content: "\e082"; |
|
537 | content: "\e082"; | |
538 | } |
|
538 | } | |
539 |
.glyphicon-remove |
|
539 | .glyphicon-remove:before { | |
540 | content: "\e083"; |
|
540 | content: "\e083"; | |
541 | } |
|
541 | } | |
542 | .glyphicon-ok-sign:before { |
|
542 | .glyphicon-ok-sign:before { |
@@ -1622,8 +1622,14 b' table.integrations {' | |||||
1622 | margin-left: 8px; |
|
1622 | margin-left: 8px; | |
1623 | } |
|
1623 | } | |
1624 |
|
1624 | |||
|
1625 | #pull_request_overview { | |||
|
1626 | div.ancestor { | |||
|
1627 | margin: -33px 0; | |||
|
1628 | } | |||
|
1629 | } | |||
|
1630 | ||||
1625 | div.ancestor { |
|
1631 | div.ancestor { | |
1626 | margin: -30px 0px; |
|
1632 | line-height: 33px; | |
1627 | } |
|
1633 | } | |
1628 |
|
1634 | |||
1629 | .cs_icon_td input[type="checkbox"] { |
|
1635 | .cs_icon_td input[type="checkbox"] { |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': 'Add another comment', |
|
9 | 'Add another comment': 'Add another comment', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'Set status to Approved', |
|
64 | 'Set status to Approved': 'Set status to Approved', | |
64 | 'Set status to Rejected': 'Set status to Rejected', |
|
65 | 'Set status to Rejected': 'Set status to Rejected', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'Show more', |
|
69 | 'Show more': 'Show more', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': 'Start following this repository', |
|
74 | 'Start following this repository': 'Start following this repository', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'Status Review', |
|
76 | 'Status Review': 'Status Review', | |
74 | 'Stop following this repository': 'Stop following this repository', |
|
77 | 'Stop following this repository': 'Stop following this repository', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': 'Submitting...', |
|
79 | 'Submitting...': 'Submitting...', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'Unfollow', |
|
86 | 'Unfollow': 'Unfollow', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': 'You can only select {0} item', |
|
92 | 'You can only select {0} item': 'You can only select {0} item', | |
87 | 'You can only select {0} items': 'You can only select {0} items', |
|
93 | 'You can only select {0} items': 'You can only select {0} items', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': 'enabled', |
|
98 | 'enabled': 'enabled', | |
93 | 'file': 'file', |
|
99 | 'file': 'file', | |
94 | 'files': 'files', |
|
100 | 'files': 'files', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} min', |
|
125 | '{0} min': '{0} min', | |
119 | '{0} month': '{0} month', |
|
126 | '{0} month': '{0} month', | |
120 | '{0} months': '{0} months', |
|
127 | '{0} months': '{0} months', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
124 | '{0} sec': '{0} sec', |
|
133 | '{0} sec': '{0} sec', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': 'Add another comment', |
|
9 | 'Add another comment': 'Add another comment', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'Set status to Approved', |
|
64 | 'Set status to Approved': 'Set status to Approved', | |
64 | 'Set status to Rejected': 'Set status to Rejected', |
|
65 | 'Set status to Rejected': 'Set status to Rejected', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'Show more', |
|
69 | 'Show more': 'Show more', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': 'Start following this repository', |
|
74 | 'Start following this repository': 'Start following this repository', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'Status Review', |
|
76 | 'Status Review': 'Status Review', | |
74 | 'Stop following this repository': 'Stop following this repository', |
|
77 | 'Stop following this repository': 'Stop following this repository', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': 'Submitting...', |
|
79 | 'Submitting...': 'Submitting...', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'Unfollow', |
|
86 | 'Unfollow': 'Unfollow', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': 'You can only select {0} item', |
|
92 | 'You can only select {0} item': 'You can only select {0} item', | |
87 | 'You can only select {0} items': 'You can only select {0} items', |
|
93 | 'You can only select {0} items': 'You can only select {0} items', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': 'enabled', |
|
98 | 'enabled': 'enabled', | |
93 | 'file': 'file', |
|
99 | 'file': 'file', | |
94 | 'files': 'files', |
|
100 | 'files': 'files', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} min', |
|
125 | '{0} min': '{0} min', | |
119 | '{0} month': '{0} month', |
|
126 | '{0} month': '{0} month', | |
120 | '{0} months': '{0} months', |
|
127 | '{0} months': '{0} months', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
124 | '{0} sec': '{0} sec', |
|
133 | '{0} sec': '{0} sec', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': 'Add another comment', |
|
9 | 'Add another comment': 'Add another comment', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'Set status to Approved', |
|
64 | 'Set status to Approved': 'Set status to Approved', | |
64 | 'Set status to Rejected': 'Set status to Rejected', |
|
65 | 'Set status to Rejected': 'Set status to Rejected', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'Show more', |
|
69 | 'Show more': 'Show more', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': 'Start following this repository', |
|
74 | 'Start following this repository': 'Start following this repository', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'Status Review', |
|
76 | 'Status Review': 'Status Review', | |
74 | 'Stop following this repository': 'Stop following this repository', |
|
77 | 'Stop following this repository': 'Stop following this repository', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': 'Submitting...', |
|
79 | 'Submitting...': 'Submitting...', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'Unfollow', |
|
86 | 'Unfollow': 'Unfollow', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': 'You can only select {0} item', |
|
92 | 'You can only select {0} item': 'You can only select {0} item', | |
87 | 'You can only select {0} items': 'You can only select {0} items', |
|
93 | 'You can only select {0} items': 'You can only select {0} items', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': 'enabled', |
|
98 | 'enabled': 'enabled', | |
93 | 'file': 'file', |
|
99 | 'file': 'file', | |
94 | 'files': 'files', |
|
100 | 'files': 'files', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} min', |
|
125 | '{0} min': '{0} min', | |
119 | '{0} month': '{0} month', |
|
126 | '{0} month': '{0} month', | |
120 | '{0} months': '{0} months', |
|
127 | '{0} months': '{0} months', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
124 | '{0} sec': '{0} sec', |
|
133 | '{0} sec': '{0} sec', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': 'Add another comment', |
|
9 | 'Add another comment': 'Add another comment', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'Set status to Approved', |
|
64 | 'Set status to Approved': 'Set status to Approved', | |
64 | 'Set status to Rejected': 'Set status to Rejected', |
|
65 | 'Set status to Rejected': 'Set status to Rejected', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'Show more', |
|
69 | 'Show more': 'Show more', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': 'Start following this repository', |
|
74 | 'Start following this repository': 'Start following this repository', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'Status Review', |
|
76 | 'Status Review': 'Status Review', | |
74 | 'Stop following this repository': 'Stop following this repository', |
|
77 | 'Stop following this repository': 'Stop following this repository', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': 'Submitting...', |
|
79 | 'Submitting...': 'Submitting...', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'Unfollow', |
|
86 | 'Unfollow': 'Unfollow', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': 'You can only select {0} item', |
|
92 | 'You can only select {0} item': 'You can only select {0} item', | |
87 | 'You can only select {0} items': 'You can only select {0} items', |
|
93 | 'You can only select {0} items': 'You can only select {0} items', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': 'enabled', |
|
98 | 'enabled': 'enabled', | |
93 | 'file': 'file', |
|
99 | 'file': 'file', | |
94 | 'files': 'files', |
|
100 | 'files': 'files', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} min', |
|
125 | '{0} min': '{0} min', | |
119 | '{0} month': '{0} month', |
|
126 | '{0} month': '{0} month', | |
120 | '{0} months': '{0} months', |
|
127 | '{0} months': '{0} months', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
124 | '{0} sec': '{0} sec', |
|
133 | '{0} sec': '{0} sec', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': 'Add another comment', |
|
9 | 'Add another comment': 'Add another comment', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'Set status to Approved', |
|
64 | 'Set status to Approved': 'Set status to Approved', | |
64 | 'Set status to Rejected': 'Set status to Rejected', |
|
65 | 'Set status to Rejected': 'Set status to Rejected', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'Show more', |
|
69 | 'Show more': 'Show more', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': 'Suivre ce dépôt', |
|
74 | 'Start following this repository': 'Suivre ce dépôt', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'Status Review', |
|
76 | 'Status Review': 'Status Review', | |
74 | 'Stop following this repository': 'Arrêter de suivre ce dépôt', |
|
77 | 'Stop following this repository': 'Arrêter de suivre ce dépôt', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': 'Envoi…', |
|
79 | 'Submitting...': 'Envoi…', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'Unfollow', |
|
86 | 'Unfollow': 'Unfollow', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': 'You can only select {0} item', |
|
92 | 'You can only select {0} item': 'You can only select {0} item', | |
87 | 'You can only select {0} items': 'You can only select {0} items', |
|
93 | 'You can only select {0} items': 'You can only select {0} items', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': 'Activé', |
|
98 | 'enabled': 'Activé', | |
93 | 'file': 'file', |
|
99 | 'file': 'file', | |
94 | 'files': 'Fichiers', |
|
100 | 'files': 'Fichiers', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} min', |
|
125 | '{0} min': '{0} min', | |
119 | '{0} month': '{0} month', |
|
126 | '{0} month': '{0} month', | |
120 | '{0} months': '{0} mois', |
|
127 | '{0} months': '{0} mois', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
124 | '{0} sec': '{0} sec', |
|
133 | '{0} sec': '{0} sec', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': 'Aggiungi un altro commento', |
|
9 | 'Add another comment': 'Aggiungi un altro commento', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'Set status to Approved', |
|
64 | 'Set status to Approved': 'Set status to Approved', | |
64 | 'Set status to Rejected': 'Set status to Rejected', |
|
65 | 'Set status to Rejected': 'Set status to Rejected', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'Mostra ancora', |
|
69 | 'Show more': 'Mostra ancora', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': 'Inizia a seguire il repository', |
|
74 | 'Start following this repository': 'Inizia a seguire il repository', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'Status Review', |
|
76 | 'Status Review': 'Status Review', | |
74 | 'Stop following this repository': 'Smetti di seguire il repository', |
|
77 | 'Stop following this repository': 'Smetti di seguire il repository', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': 'Inoltro...', |
|
79 | 'Submitting...': 'Inoltro...', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'Al momento non ci sono richieste di PULL che richiedono il tuo intervento', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'Al momento non ci sono richieste di PULL che richiedono il tuo intervento', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'Smetti di seguire', |
|
86 | 'Unfollow': 'Smetti di seguire', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': 'You can only select {0} item', |
|
92 | 'You can only select {0} item': 'You can only select {0} item', | |
87 | 'You can only select {0} items': 'You can only select {0} items', |
|
93 | 'You can only select {0} items': 'You can only select {0} items', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': 'abilitato', |
|
98 | 'enabled': 'abilitato', | |
93 | 'file': 'file', |
|
99 | 'file': 'file', | |
94 | 'files': 'i file', |
|
100 | 'files': 'i file', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} min', |
|
125 | '{0} min': '{0} min', | |
119 | '{0} month': '{0} month', |
|
126 | '{0} month': '{0} month', | |
120 | '{0} months': '{0} months', |
|
127 | '{0} months': '{0} months', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
124 | '{0} sec': '{0} sec', |
|
133 | '{0} sec': '{0} sec', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': '別のコメントを追加', |
|
9 | 'Add another comment': '別のコメントを追加', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'ステータスを承認にする', |
|
64 | 'Set status to Approved': 'ステータスを承認にする', | |
64 | 'Set status to Rejected': 'ステータスを拒否にする', |
|
65 | 'Set status to Rejected': 'ステータスを拒否にする', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'もっと表示', |
|
69 | 'Show more': 'もっと表示', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': 'このリポジトリのフォローする', |
|
74 | 'Start following this repository': 'このリポジトリのフォローする', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'ステータスレビュー', |
|
76 | 'Status Review': 'ステータスレビュー', | |
74 | 'Stop following this repository': 'このリポジトリのフォローをやめる', |
|
77 | 'Stop following this repository': 'このリポジトリのフォローをやめる', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': '送信中...', |
|
79 | 'Submitting...': '送信中...', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'アンフォロー', |
|
86 | 'Unfollow': 'アンフォロー', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': '{0} 件のみ選択できます', |
|
92 | 'You can only select {0} item': '{0} 件のみ選択できます', | |
87 | 'You can only select {0} items': '{0} 件のみ選択できます', |
|
93 | 'You can only select {0} items': '{0} 件のみ選択できます', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': '有効', |
|
98 | 'enabled': '有効', | |
93 | 'file': 'ファイル', |
|
99 | 'file': 'ファイル', | |
94 | 'files': 'ファイル', |
|
100 | 'files': 'ファイル', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} 分', |
|
125 | '{0} min': '{0} 分', | |
119 | '{0} month': '{0} ヶ月', |
|
126 | '{0} month': '{0} ヶ月', | |
120 | '{0} months': '{0} months', |
|
127 | '{0} months': '{0} months', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} 件の結果があります。矢印キーの上下で選択できます。', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} 件の結果があります。矢印キーの上下で選択できます。', | |
124 | '{0} sec': '{0} 秒', |
|
133 | '{0} sec': '{0} 秒', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -2,6 +2,7 b'' | |||||
2 | _gettext('(from usergroup {0})'); |
|
2 | _gettext('(from usergroup {0})'); | |
3 | _gettext('Add another comment'); |
|
3 | _gettext('Add another comment'); | |
4 | _gettext('Adding new reviewers is forbidden.'); |
|
4 | _gettext('Adding new reviewers is forbidden.'); | |
|
5 | _gettext('All Authors'); | |||
5 | _gettext('All individual reviewers must vote.'); |
|
6 | _gettext('All individual reviewers must vote.'); | |
6 | _gettext('All reviewers must vote.'); |
|
7 | _gettext('All reviewers must vote.'); | |
7 | _gettext('At least {0} reviewer must vote.'); |
|
8 | _gettext('At least {0} reviewer must vote.'); | |
@@ -57,6 +58,7 b'' | |||||
57 | _gettext('Set status to Approved'); |
|
58 | _gettext('Set status to Approved'); | |
58 | _gettext('Set status to Rejected'); |
|
59 | _gettext('Set status to Rejected'); | |
59 | _gettext('Show at Commit '); |
|
60 | _gettext('Show at Commit '); | |
|
61 | _gettext('Show commit range {0} ... {1}'); | |||
60 | _gettext('Show full context diff'); |
|
62 | _gettext('Show full context diff'); | |
61 | _gettext('Show more'); |
|
63 | _gettext('Show more'); | |
62 | _gettext('Show selected commit __S'); |
|
64 | _gettext('Show selected commit __S'); | |
@@ -64,8 +66,10 b'' | |||||
64 | _gettext('Show whitespace changes'); |
|
66 | _gettext('Show whitespace changes'); | |
65 | _gettext('Specified expiration date'); |
|
67 | _gettext('Specified expiration date'); | |
66 | _gettext('Start following this repository'); |
|
68 | _gettext('Start following this repository'); | |
|
69 | _gettext('Started watching this repository'); | |||
67 | _gettext('Status Review'); |
|
70 | _gettext('Status Review'); | |
68 | _gettext('Stop following this repository'); |
|
71 | _gettext('Stop following this repository'); | |
|
72 | _gettext('Stopped watching this repository'); | |||
69 | _gettext('Submitting...'); |
|
73 | _gettext('Submitting...'); | |
70 | _gettext('Switch to chat'); |
|
74 | _gettext('Switch to chat'); | |
71 | _gettext('Switch to comment'); |
|
75 | _gettext('Switch to comment'); | |
@@ -74,9 +78,11 b'' | |||||
74 | _gettext('There are currently no open pull requests requiring your participation.'); |
|
78 | _gettext('There are currently no open pull requests requiring your participation.'); | |
75 | _gettext('Toggle Wide Mode diff'); |
|
79 | _gettext('Toggle Wide Mode diff'); | |
76 | _gettext('Unfollow'); |
|
80 | _gettext('Unfollow'); | |
|
81 | _gettext('Unwatch'); | |||
77 | _gettext('Updating...'); |
|
82 | _gettext('Updating...'); | |
78 | _gettext('User `{0}` already in reviewers'); |
|
83 | _gettext('User `{0}` already in reviewers'); | |
79 | _gettext('User `{0}` not allowed to be a reviewer'); |
|
84 | _gettext('User `{0}` not allowed to be a reviewer'); | |
|
85 | _gettext('Watch'); | |||
80 | _gettext('You can only select {0} item'); |
|
86 | _gettext('You can only select {0} item'); | |
81 | _gettext('You can only select {0} items'); |
|
87 | _gettext('You can only select {0} items'); | |
82 | _gettext('activated'); |
|
88 | _gettext('activated'); | |
@@ -86,6 +92,7 b'' | |||||
86 | _gettext('enabled'); |
|
92 | _gettext('enabled'); | |
87 | _gettext('file'); |
|
93 | _gettext('file'); | |
88 | _gettext('files'); |
|
94 | _gettext('files'); | |
|
95 | _gettext('go to numeric commit'); | |||
89 | _gettext('in {0}'); |
|
96 | _gettext('in {0}'); | |
90 | _gettext('in {0} and {1}'); |
|
97 | _gettext('in {0} and {1}'); | |
91 | _gettext('in {0}, {1}'); |
|
98 | _gettext('in {0}, {1}'); | |
@@ -112,8 +119,10 b'' | |||||
112 | _gettext('{0} min'); |
|
119 | _gettext('{0} min'); | |
113 | _gettext('{0} month'); |
|
120 | _gettext('{0} month'); | |
114 | _gettext('{0} months'); |
|
121 | _gettext('{0} months'); | |
|
122 | _gettext('{0} of {1} repository groups'); | |||
115 | _gettext('{0} out of {1} ssh keys'); |
|
123 | _gettext('{0} out of {1} ssh keys'); | |
116 | _gettext('{0} out of {1} users'); |
|
124 | _gettext('{0} out of {1} users'); | |
|
125 | _gettext('{0} repository groups'); | |||
117 | _gettext('{0} results are available, use up and down arrow keys to navigate.'); |
|
126 | _gettext('{0} results are available, use up and down arrow keys to navigate.'); | |
118 | _gettext('{0} sec'); |
|
127 | _gettext('{0} sec'); | |
119 | _gettext('{0} user groups ({1} inactive)'); |
|
128 | _gettext('{0} user groups ({1} inactive)'); |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': 'Dodaj kolejny komentarz', |
|
9 | 'Add another comment': 'Dodaj kolejny komentarz', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'Set status to Approved', |
|
64 | 'Set status to Approved': 'Set status to Approved', | |
64 | 'Set status to Rejected': 'Set status to Rejected', |
|
65 | 'Set status to Rejected': 'Set status to Rejected', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'Pokaż więcej', |
|
69 | 'Show more': 'Pokaż więcej', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': 'Zacznij obserwację tego repozytorium', |
|
74 | 'Start following this repository': 'Zacznij obserwację tego repozytorium', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'Status Review', |
|
76 | 'Status Review': 'Status Review', | |
74 | 'Stop following this repository': 'Zakończyć obserwację tego repozytorium', |
|
77 | 'Stop following this repository': 'Zakończyć obserwację tego repozytorium', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': 'Przesyłanie...', |
|
79 | 'Submitting...': 'Przesyłanie...', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'Nie obserwuj', |
|
86 | 'Unfollow': 'Nie obserwuj', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': 'You can only select {0} item', |
|
92 | 'You can only select {0} item': 'You can only select {0} item', | |
87 | 'You can only select {0} items': 'You can only select {0} items', |
|
93 | 'You can only select {0} items': 'You can only select {0} items', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': 'enabled', |
|
98 | 'enabled': 'enabled', | |
93 | 'file': 'file', |
|
99 | 'file': 'file', | |
94 | 'files': 'pliki', |
|
100 | 'files': 'pliki', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} min', |
|
125 | '{0} min': '{0} min', | |
119 | '{0} month': '{0} month', |
|
126 | '{0} month': '{0} month', | |
120 | '{0} months': '{0} months', |
|
127 | '{0} months': '{0} months', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
124 | '{0} sec': '{0} sec', |
|
133 | '{0} sec': '{0} sec', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': 'Adicionar outro comentário', |
|
9 | 'Add another comment': 'Adicionar outro comentário', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'Set status to Approved', |
|
64 | 'Set status to Approved': 'Set status to Approved', | |
64 | 'Set status to Rejected': 'Set status to Rejected', |
|
65 | 'Set status to Rejected': 'Set status to Rejected', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'Mostrar mais', |
|
69 | 'Show more': 'Mostrar mais', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': 'Passar a seguir este repositório', |
|
74 | 'Start following this repository': 'Passar a seguir este repositório', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'Status Review', |
|
76 | 'Status Review': 'Status Review', | |
74 | 'Stop following this repository': 'Parar de seguir este repositório', |
|
77 | 'Stop following this repository': 'Parar de seguir este repositório', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': 'Enviando...', |
|
79 | 'Submitting...': 'Enviando...', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'Parar de seguir', |
|
86 | 'Unfollow': 'Parar de seguir', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': 'You can only select {0} item', |
|
92 | 'You can only select {0} item': 'You can only select {0} item', | |
87 | 'You can only select {0} items': 'You can only select {0} items', |
|
93 | 'You can only select {0} items': 'You can only select {0} items', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': 'enabled', |
|
98 | 'enabled': 'enabled', | |
93 | 'file': 'file', |
|
99 | 'file': 'file', | |
94 | 'files': 'arquivos', |
|
100 | 'files': 'arquivos', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} min', |
|
125 | '{0} min': '{0} min', | |
119 | '{0} month': '{0} month', |
|
126 | '{0} month': '{0} month', | |
120 | '{0} months': '{0} months', |
|
127 | '{0} months': '{0} months', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
124 | '{0} sec': '{0} sec', |
|
133 | '{0} sec': '{0} sec', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': 'Добавить другой комментарий', |
|
9 | 'Add another comment': 'Добавить другой комментарий', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'Set status to Approved', |
|
64 | 'Set status to Approved': 'Set status to Approved', | |
64 | 'Set status to Rejected': 'Set status to Rejected', |
|
65 | 'Set status to Rejected': 'Set status to Rejected', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'Показать еще', |
|
69 | 'Show more': 'Показать еще', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': 'Наблюдать за репозиторием', |
|
74 | 'Start following this repository': 'Наблюдать за репозиторием', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'Status Review', |
|
76 | 'Status Review': 'Status Review', | |
74 | 'Stop following this repository': 'Отменить наблюдение за репозиторием', |
|
77 | 'Stop following this repository': 'Отменить наблюдение за репозиторием', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': 'Применение...', |
|
79 | 'Submitting...': 'Применение...', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'Не наблюдать', |
|
86 | 'Unfollow': 'Не наблюдать', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': 'You can only select {0} item', |
|
92 | 'You can only select {0} item': 'You can only select {0} item', | |
87 | 'You can only select {0} items': 'You can only select {0} items', |
|
93 | 'You can only select {0} items': 'You can only select {0} items', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': 'enabled', |
|
98 | 'enabled': 'enabled', | |
93 | 'file': 'file', |
|
99 | 'file': 'file', | |
94 | 'files': 'файлы', |
|
100 | 'files': 'файлы', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} min', |
|
125 | '{0} min': '{0} min', | |
119 | '{0} month': '{0} month', |
|
126 | '{0} month': '{0} month', | |
120 | '{0} months': '{0} months', |
|
127 | '{0} months': '{0} months', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
124 | '{0} sec': '{0} sec', |
|
133 | '{0} sec': '{0} sec', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -8,6 +8,7 b' var _TM = {' | |||||
8 | '(from usergroup {0})': '(from usergroup {0})', |
|
8 | '(from usergroup {0})': '(from usergroup {0})', | |
9 | 'Add another comment': 'Add another comment', |
|
9 | 'Add another comment': 'Add another comment', | |
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', |
|
10 | 'Adding new reviewers is forbidden.': 'Adding new reviewers is forbidden.', | |
|
11 | 'All Authors': 'All Authors', | |||
11 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', |
|
12 | 'All individual reviewers must vote.': 'All individual reviewers must vote.', | |
12 | 'All reviewers must vote.': 'All reviewers must vote.', |
|
13 | 'All reviewers must vote.': 'All reviewers must vote.', | |
13 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', |
|
14 | 'At least {0} reviewer must vote.': 'At least {0} reviewer must vote.', | |
@@ -63,6 +64,7 b' var _TM = {' | |||||
63 | 'Set status to Approved': 'Set status to Approved', |
|
64 | 'Set status to Approved': 'Set status to Approved', | |
64 | 'Set status to Rejected': 'Set status to Rejected', |
|
65 | 'Set status to Rejected': 'Set status to Rejected', | |
65 | 'Show at Commit ': 'Show at Commit ', |
|
66 | 'Show at Commit ': 'Show at Commit ', | |
|
67 | 'Show commit range {0} ... {1}': 'Show commit range {0} ... {1}', | |||
66 | 'Show full context diff': 'Show full context diff', |
|
68 | 'Show full context diff': 'Show full context diff', | |
67 | 'Show more': 'Show more', |
|
69 | 'Show more': 'Show more', | |
68 | 'Show selected commit __S': 'Show selected commit __S', |
|
70 | 'Show selected commit __S': 'Show selected commit __S', | |
@@ -70,8 +72,10 b' var _TM = {' | |||||
70 | 'Show whitespace changes': 'Show whitespace changes', |
|
72 | 'Show whitespace changes': 'Show whitespace changes', | |
71 | 'Specified expiration date': 'Specified expiration date', |
|
73 | 'Specified expiration date': 'Specified expiration date', | |
72 | 'Start following this repository': '开始关注该版本库', |
|
74 | 'Start following this repository': '开始关注该版本库', | |
|
75 | 'Started watching this repository': 'Started watching this repository', | |||
73 | 'Status Review': 'Status Review', |
|
76 | 'Status Review': 'Status Review', | |
74 | 'Stop following this repository': '停止关注该版本库', |
|
77 | 'Stop following this repository': '停止关注该版本库', | |
|
78 | 'Stopped watching this repository': 'Stopped watching this repository', | |||
75 | 'Submitting...': '提交中……', |
|
79 | 'Submitting...': '提交中……', | |
76 | 'Switch to chat': 'Switch to chat', |
|
80 | 'Switch to chat': 'Switch to chat', | |
77 | 'Switch to comment': 'Switch to comment', |
|
81 | 'Switch to comment': 'Switch to comment', | |
@@ -80,9 +84,11 b' var _TM = {' | |||||
80 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', |
|
84 | 'There are currently no open pull requests requiring your participation.': 'There are currently no open pull requests requiring your participation.', | |
81 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', |
|
85 | 'Toggle Wide Mode diff': 'Toggle Wide Mode diff', | |
82 | 'Unfollow': 'Unfollow', |
|
86 | 'Unfollow': 'Unfollow', | |
|
87 | 'Unwatch': 'Unwatch', | |||
83 | 'Updating...': 'Updating...', |
|
88 | 'Updating...': 'Updating...', | |
84 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', |
|
89 | 'User `{0}` already in reviewers': 'User `{0}` already in reviewers', | |
85 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', |
|
90 | 'User `{0}` not allowed to be a reviewer': 'User `{0}` not allowed to be a reviewer', | |
|
91 | 'Watch': 'Watch', | |||
86 | 'You can only select {0} item': 'You can only select {0} item', |
|
92 | 'You can only select {0} item': 'You can only select {0} item', | |
87 | 'You can only select {0} items': 'You can only select {0} items', |
|
93 | 'You can only select {0} items': 'You can only select {0} items', | |
88 | 'activated': 'activated', |
|
94 | 'activated': 'activated', | |
@@ -92,6 +98,7 b' var _TM = {' | |||||
92 | 'enabled': 'enabled', |
|
98 | 'enabled': 'enabled', | |
93 | 'file': 'file', |
|
99 | 'file': 'file', | |
94 | 'files': '文件', |
|
100 | 'files': '文件', | |
|
101 | 'go to numeric commit': 'go to numeric commit', | |||
95 | 'in {0}': 'in {0}', |
|
102 | 'in {0}': 'in {0}', | |
96 | 'in {0} and {1}': 'in {0} and {1}', |
|
103 | 'in {0} and {1}': 'in {0} and {1}', | |
97 | 'in {0}, {1}': 'in {0}, {1}', |
|
104 | 'in {0}, {1}': 'in {0}, {1}', | |
@@ -118,8 +125,10 b' var _TM = {' | |||||
118 | '{0} min': '{0} min', |
|
125 | '{0} min': '{0} min', | |
119 | '{0} month': '{0} month', |
|
126 | '{0} month': '{0} month', | |
120 | '{0} months': '{0} months', |
|
127 | '{0} months': '{0} months', | |
|
128 | '{0} of {1} repository groups': '{0} of {1} repository groups', | |||
121 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', |
|
129 | '{0} out of {1} ssh keys': '{0} out of {1} ssh keys', | |
122 | '{0} out of {1} users': '{0} out of {1} users', |
|
130 | '{0} out of {1} users': '{0} out of {1} users', | |
|
131 | '{0} repository groups': '{0} repository groups', | |||
123 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', |
|
132 | '{0} results are available, use up and down arrow keys to navigate.': '{0} results are available, use up and down arrow keys to navigate.', | |
124 | '{0} sec': '{0} sec', |
|
133 | '{0} sec': '{0} sec', | |
125 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
|
134 | '{0} user groups ({1} inactive)': '{0} user groups ({1} inactive)', |
@@ -239,6 +239,7 b' function registerRCRoutes() {' | |||||
239 | pyroutes.register('edit_repo_advanced_hooks', '/%(repo_name)s/settings/advanced/hooks', ['repo_name']); |
|
239 | pyroutes.register('edit_repo_advanced_hooks', '/%(repo_name)s/settings/advanced/hooks', ['repo_name']); | |
240 | pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']); |
|
240 | pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']); | |
241 | pyroutes.register('edit_repo_perms', '/%(repo_name)s/settings/permissions', ['repo_name']); |
|
241 | pyroutes.register('edit_repo_perms', '/%(repo_name)s/settings/permissions', ['repo_name']); | |
|
242 | pyroutes.register('edit_repo_perms_set_private', '/%(repo_name)s/settings/permissions/set_private', ['repo_name']); | |||
242 | pyroutes.register('edit_repo_maintenance', '/%(repo_name)s/settings/maintenance', ['repo_name']); |
|
243 | pyroutes.register('edit_repo_maintenance', '/%(repo_name)s/settings/maintenance', ['repo_name']); | |
243 | pyroutes.register('edit_repo_maintenance_execute', '/%(repo_name)s/settings/maintenance/execute', ['repo_name']); |
|
244 | pyroutes.register('edit_repo_maintenance_execute', '/%(repo_name)s/settings/maintenance/execute', ['repo_name']); | |
244 | pyroutes.register('edit_repo_fields', '/%(repo_name)s/settings/fields', ['repo_name']); |
|
245 | pyroutes.register('edit_repo_fields', '/%(repo_name)s/settings/fields', ['repo_name']); | |
@@ -262,8 +263,10 b' function registerRCRoutes() {' | |||||
262 | pyroutes.register('strip_check', '/%(repo_name)s/settings/strip_check', ['repo_name']); |
|
263 | pyroutes.register('strip_check', '/%(repo_name)s/settings/strip_check', ['repo_name']); | |
263 | pyroutes.register('strip_execute', '/%(repo_name)s/settings/strip_execute', ['repo_name']); |
|
264 | pyroutes.register('strip_execute', '/%(repo_name)s/settings/strip_execute', ['repo_name']); | |
264 | pyroutes.register('edit_repo_audit_logs', '/%(repo_name)s/settings/audit_logs', ['repo_name']); |
|
265 | pyroutes.register('edit_repo_audit_logs', '/%(repo_name)s/settings/audit_logs', ['repo_name']); | |
265 |
pyroutes.register('rss_feed_home', '/%(repo_name)s/feed |
|
266 | pyroutes.register('rss_feed_home', '/%(repo_name)s/feed-rss', ['repo_name']); | |
266 |
pyroutes.register('atom_feed_home', '/%(repo_name)s/feed |
|
267 | pyroutes.register('atom_feed_home', '/%(repo_name)s/feed-atom', ['repo_name']); | |
|
268 | pyroutes.register('rss_feed_home_old', '/%(repo_name)s/feed/rss', ['repo_name']); | |||
|
269 | pyroutes.register('atom_feed_home_old', '/%(repo_name)s/feed/atom', ['repo_name']); | |||
267 | pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']); |
|
270 | pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']); | |
268 | pyroutes.register('repo_summary_slash', '/%(repo_name)s/', ['repo_name']); |
|
271 | pyroutes.register('repo_summary_slash', '/%(repo_name)s/', ['repo_name']); | |
269 | pyroutes.register('edit_repo_group', '/%(repo_group_name)s/_edit', ['repo_group_name']); |
|
272 | pyroutes.register('edit_repo_group', '/%(repo_group_name)s/_edit', ['repo_group_name']); |
@@ -107,7 +107,10 b' var CommitsController = function () {' | |||||
107 |
|
107 | |||
108 | $.each($('.message.truncate'), function(idx, value) { |
|
108 | $.each($('.message.truncate'), function(idx, value) { | |
109 | if(!(value.offsetWidth < value.scrollWidth)){ |
|
109 | if(!(value.offsetWidth < value.scrollWidth)){ | |
110 |
$(this).closest('td').siblings('.expand_commit') |
|
110 | var expandTd = $(this).closest('td').siblings('.expand_commit'); | |
|
111 | expandTd.find('i').hide(); | |||
|
112 | expandTd.removeAttr('title'); | |||
|
113 | expandTd.removeClass('expand_commit'); | |||
111 | } |
|
114 | } | |
112 | }); |
|
115 | }); | |
113 |
|
116 |
@@ -11,7 +11,7 b'' | |||||
11 | <div class="input"> |
|
11 | <div class="input"> | |
12 | ${h.text('repo_name', class_="medium")} |
|
12 | ${h.text('repo_name', class_="medium")} | |
13 | <div class="info-block"> |
|
13 | <div class="info-block"> | |
14 |
<a id="remote_clone_toggle" href="#"> |
|
14 | <a id="remote_clone_toggle" href="#">${_('Import Existing Repository ?')}</a> | |
15 | </div> |
|
15 | </div> | |
16 | %if not c.rhodecode_user.is_admin: |
|
16 | %if not c.rhodecode_user.is_admin: | |
17 | ${h.hidden('user_created',True)} |
|
17 | ${h.hidden('user_created',True)} |
@@ -161,7 +161,7 b'' | |||||
161 | <div class="field"> |
|
161 | <div class="field"> | |
162 | <button class="btn btn-small btn-danger" type="submit" |
|
162 | <button class="btn btn-small btn-danger" type="submit" | |
163 | onclick="return confirm('${_('Confirm to archive this repository: %s') % c.repo_name}');"> |
|
163 | onclick="return confirm('${_('Confirm to archive this repository: %s') % c.repo_name}');"> | |
164 |
<i class="icon-remove |
|
164 | <i class="icon-remove"></i> | |
165 | ${_('Archive this repository')} |
|
165 | ${_('Archive this repository')} | |
166 | </button> |
|
166 | </button> | |
167 | </div> |
|
167 | </div> | |
@@ -217,7 +217,7 b'' | |||||
217 | <div class="field"> |
|
217 | <div class="field"> | |
218 | <button class="btn btn-small btn-danger" type="submit" |
|
218 | <button class="btn btn-small btn-danger" type="submit" | |
219 | onclick="return confirm('${_('Confirm to delete this repository: %s') % c.repo_name}');"> |
|
219 | onclick="return confirm('${_('Confirm to delete this repository: %s') % c.repo_name}');"> | |
220 |
<i class="icon-remove |
|
220 | <i class="icon-remove"></i> | |
221 | ${_('Delete this repository')} |
|
221 | ${_('Delete this repository')} | |
222 | </button> |
|
222 | </button> | |
223 | </div> |
|
223 | </div> |
@@ -105,6 +105,10 b'' | |||||
105 | member="${_user.user_id}" member_type="user"> |
|
105 | member="${_user.user_id}" member_type="user"> | |
106 | ${_('Remove')} |
|
106 | ${_('Remove')} | |
107 | </span> |
|
107 | </span> | |
|
108 | %elif _user.username == h.DEFAULT_USER: | |||
|
109 | <span class="tooltip btn btn-link btn-default" onclick="enablePrivateRepo(); return false" title="${_('Private repositories are only visible to people explicitly added as collaborators.')}"> | |||
|
110 | ${_('set private mode')} | |||
|
111 | </span> | |||
108 | %endif |
|
112 | %endif | |
109 | </td> |
|
113 | </td> | |
110 | <td class="quick_repo_menu"> |
|
114 | <td class="quick_repo_menu"> | |
@@ -199,4 +203,20 b'' | |||||
199 | markRevokePermInput($(this), 'repository'); |
|
203 | markRevokePermInput($(this), 'repository'); | |
200 | }); |
|
204 | }); | |
201 | quick_repo_menu(); |
|
205 | quick_repo_menu(); | |
|
206 | ||||
|
207 | var enablePrivateRepo = function () { | |||
|
208 | var postData = { | |||
|
209 | 'csrf_token': CSRF_TOKEN | |||
|
210 | }; | |||
|
211 | ||||
|
212 | var success = function(o) { | |||
|
213 | var defaultUrl = pyroutes.url('edit_repo_perms', {"repo_name": templateContext.repo_name}); | |||
|
214 | window.location = o.redirect_url || defaultUrl; | |||
|
215 | }; | |||
|
216 | ||||
|
217 | ajaxPOST( | |||
|
218 | pyroutes.url('edit_repo_perms_set_private', {"repo_name": templateContext.repo_name}), | |||
|
219 | postData, | |||
|
220 | success); | |||
|
221 | } | |||
202 | </script> |
|
222 | </script> |
@@ -57,7 +57,7 b'' | |||||
57 | % if not c.form['repo_clone_uri'].error: |
|
57 | % if not c.form['repo_clone_uri'].error: | |
58 | <div id="clone_uri_hidden" class='text-as-placeholder'> |
|
58 | <div id="clone_uri_hidden" class='text-as-placeholder'> | |
59 | <span id="clone_uri_hidden_value">${c.rhodecode_db_repo.clone_uri_hidden}</span> |
|
59 | <span id="clone_uri_hidden_value">${c.rhodecode_db_repo.clone_uri_hidden}</span> | |
60 |
<span class="link" id="edit_clone_uri" |
|
60 | <span class="link" id="edit_clone_uri">${_('edit')}</span> | |
61 | </div> |
|
61 | </div> | |
62 | % endif |
|
62 | % endif | |
63 |
|
63 | |||
@@ -99,7 +99,7 b'' | |||||
99 | % if not c.form['repo_push_uri'].error: |
|
99 | % if not c.form['repo_push_uri'].error: | |
100 | <div id="push_uri_hidden" class='text-as-placeholder'> |
|
100 | <div id="push_uri_hidden" class='text-as-placeholder'> | |
101 | <span id="push_uri_hidden_value">${c.rhodecode_db_repo.push_uri_hidden}</span> |
|
101 | <span id="push_uri_hidden_value">${c.rhodecode_db_repo.push_uri_hidden}</span> | |
102 |
<span class="link" id="edit_push_uri" |
|
102 | <span class="link" id="edit_push_uri">${_('edit')}</span> | |
103 | </div> |
|
103 | </div> | |
104 | % endif |
|
104 | % endif | |
105 |
|
105 |
@@ -27,7 +27,7 b'' | |||||
27 | <div class="field"> |
|
27 | <div class="field"> | |
28 | <button class="btn btn-small btn-danger" type="submit" |
|
28 | <button class="btn btn-small btn-danger" type="submit" | |
29 | onclick="return confirm('${_('Confirm to delete this exception')}');"> |
|
29 | onclick="return confirm('${_('Confirm to delete this exception')}');"> | |
30 |
<i class="icon-remove |
|
30 | <i class="icon-remove"></i> | |
31 | ${_('Delete This Exception')} |
|
31 | ${_('Delete This Exception')} | |
32 | </button> |
|
32 | </button> | |
33 | </div> |
|
33 | </div> |
@@ -17,7 +17,7 b'' | |||||
17 | <div class="field"> |
|
17 | <div class="field"> | |
18 | <button class="btn btn-small btn-danger" type="submit" |
|
18 | <button class="btn btn-small btn-danger" type="submit" | |
19 | onclick="return confirm('${_('Confirm to delete all exceptions')}');"> |
|
19 | onclick="return confirm('${_('Confirm to delete all exceptions')}');"> | |
20 |
<i class="icon-remove |
|
20 | <i class="icon-remove"></i> | |
21 | % if c.type_filter: |
|
21 | % if c.type_filter: | |
22 | ${_('Delete All `{}`').format(c.type_filter)} |
|
22 | ${_('Delete All `{}`').format(c.type_filter)} | |
23 | % else: |
|
23 | % else: |
@@ -108,8 +108,8 b'' | |||||
108 | <div style="padding: 10px 0px"></div> |
|
108 | <div style="padding: 10px 0px"></div> | |
109 | <div class="textarea text-area"> |
|
109 | <div class="textarea text-area"> | |
110 | ${h.textarea('rhodecode_pre_code',cols=23,rows=5,class_="medium")} |
|
110 | ${h.textarea('rhodecode_pre_code',cols=23,rows=5,class_="medium")} | |
111 |
<span class="help-block">${_('Custom js/css code added at the end of the <head |
|
111 | <span class="help-block">${_('Custom js/css code added at the end of the <head/> tag.')} | |
112 |
${_('Use <script/> or < |
|
112 | ${_('Use <script/> or <style/> tags to define custom scripting or styling.')}</span> | |
113 | </div> |
|
113 | </div> | |
114 | </div> |
|
114 | </div> | |
115 | </div> |
|
115 | </div> | |
@@ -131,7 +131,7 b'' | |||||
131 | <div class="textarea text-area"> |
|
131 | <div class="textarea text-area"> | |
132 | ${h.textarea('rhodecode_post_code',cols=23,rows=5, class_="medium")} |
|
132 | ${h.textarea('rhodecode_post_code',cols=23,rows=5, class_="medium")} | |
133 | <span class="help-block">${_('Custom js/css code added at the end of the <body> tag.')} |
|
133 | <span class="help-block">${_('Custom js/css code added at the end of the <body> tag.')} | |
134 |
${_('Use <script> or < |
|
134 | ${_('Use <script> or <style> tags to define custom scripting or styling.')}</span> | |
135 | </div> |
|
135 | </div> | |
136 | </div> |
|
136 | </div> | |
137 | </div> |
|
137 | </div> |
@@ -77,7 +77,7 b'' | |||||
77 | ${h.hidden('force', 1)} |
|
77 | ${h.hidden('force', 1)} | |
78 | <button class="btn btn-small btn-danger" type="submit" |
|
78 | <button class="btn btn-small btn-danger" type="submit" | |
79 | onclick="return confirm('${_('Confirm to delete user group `%(ugroup)s` with all permission assignments') % {'ugroup': c.user_group.users_group_name}}');"> |
|
79 | onclick="return confirm('${_('Confirm to delete user group `%(ugroup)s` with all permission assignments') % {'ugroup': c.user_group.users_group_name}}');"> | |
80 |
<i class="icon-remove |
|
80 | <i class="icon-remove"></i> | |
81 | ${_('Delete This User Group')} |
|
81 | ${_('Delete This User Group')} | |
82 | </button> |
|
82 | </button> | |
83 | ${h.end_form()} |
|
83 | ${h.end_form()} |
@@ -86,7 +86,7 b'' | |||||
86 | </td> |
|
86 | </td> | |
87 | <td class=""> |
|
87 | <td class=""> | |
88 | <div class="usergroup_member_remove action_button" onclick="removeUserGroupMember(${user.user_id}, true)" style="visibility: visible;"> |
|
88 | <div class="usergroup_member_remove action_button" onclick="removeUserGroupMember(${user.user_id}, true)" style="visibility: visible;"> | |
89 |
<i class="icon-remove |
|
89 | <i class="icon-remove"></i> | |
90 | </div> |
|
90 | </div> | |
91 | </td> |
|
91 | </td> | |
92 | </tr> |
|
92 | </tr> | |
@@ -155,7 +155,7 b'' | |||||
155 | '</td>'+ |
|
155 | '</td>'+ | |
156 | '<td class="td-author-new-entry">'+ |
|
156 | '<td class="td-author-new-entry">'+ | |
157 | '<div class="usergroup_member_remove action_button" onclick="removeUserGroupMember({5}, true)" style="visibility: visible;">'+ |
|
157 | '<div class="usergroup_member_remove action_button" onclick="removeUserGroupMember({5}, true)" style="visibility: visible;">'+ | |
158 |
'<i class="icon-remove |
|
158 | '<i class="icon-remove"></i>'+ | |
159 | '</div>'+ |
|
159 | '</div>'+ | |
160 | '</td>'+ |
|
160 | '</td>'+ | |
161 | '</tr>').format(gravatar, userLink, username, |
|
161 | '</tr>').format(gravatar, userLink, username, |
@@ -217,7 +217,7 b'' | |||||
217 | ## Context Actions |
|
217 | ## Context Actions | |
218 | <div class="pull-right"> |
|
218 | <div class="pull-right"> | |
219 | %if c.rhodecode_user.username != h.DEFAULT_USER: |
|
219 | %if c.rhodecode_user.username != h.DEFAULT_USER: | |
220 |
<a href="${h.route_path('atom_feed_home', repo_name=c.rhodecode_db_repo.repo_ |
|
220 | <a href="${h.route_path('atom_feed_home', repo_name=c.rhodecode_db_repo.repo_uid, _query=dict(auth_token=c.rhodecode_user.feed_token))}" title="${_('RSS Feed')}" class="btn btn-sm"><i class="icon-rss-sign"></i>RSS</a> | |
221 |
|
221 | |||
222 | <a href="#WatchRepo" onclick="toggleFollowingRepo(this, templateContext.repo_id); return false" title="${_('Watch this Repository and actions on it in your personalized journal')}" class="btn btn-sm ${('watching' if c.repository_is_user_following else '')}"> |
|
222 | <a href="#WatchRepo" onclick="toggleFollowingRepo(this, templateContext.repo_id); return false" title="${_('Watch this Repository and actions on it in your personalized journal')}" class="btn btn-sm ${('watching' if c.repository_is_user_following else '')}"> | |
223 | % if c.repository_is_user_following: |
|
223 | % if c.repository_is_user_following: | |
@@ -228,7 +228,7 b'' | |||||
228 |
|
228 | |||
229 | </a> |
|
229 | </a> | |
230 | %else: |
|
230 | %else: | |
231 |
<a href="${h.route_path('atom_feed_home', repo_name=c.rhodecode_db_repo.repo_ |
|
231 | <a href="${h.route_path('atom_feed_home', repo_name=c.rhodecode_db_repo.repo_uid)}" title="${_('RSS Feed')}" class="btn btn-sm"><i class="icon-rss-sign"></i>RSS</a> | |
232 | %endif |
|
232 | %endif | |
233 | </div> |
|
233 | </div> | |
234 |
|
234 |
@@ -556,7 +556,7 b' def get_comments_for(diff_type, comments' | |||||
556 | %if line_old_comments: |
|
556 | %if line_old_comments: | |
557 | <% has_outdated = any([x.outdated for x in line_old_comments]) %> |
|
557 | <% has_outdated = any([x.outdated for x in line_old_comments]) %> | |
558 | % if has_outdated: |
|
558 | % if has_outdated: | |
559 |
<i title="${_('comments including outdated')}:${len(line_old_comments)}" class="icon-comment |
|
559 | <i title="${_('comments including outdated')}:${len(line_old_comments)}" class="icon-comment-toggle" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
560 | % else: |
|
560 | % else: | |
561 | <i title="${_('comments')}: ${len(line_old_comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> |
|
561 | <i title="${_('comments')}: ${len(line_old_comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
562 | % endif |
|
562 | % endif | |
@@ -599,7 +599,7 b' def get_comments_for(diff_type, comments' | |||||
599 | %if line_new_comments: |
|
599 | %if line_new_comments: | |
600 | <% has_outdated = any([x.outdated for x in line_new_comments]) %> |
|
600 | <% has_outdated = any([x.outdated for x in line_new_comments]) %> | |
601 | % if has_outdated: |
|
601 | % if has_outdated: | |
602 |
<i title="${_('comments including outdated')}:${len(line_new_comments)}" class="icon-comment |
|
602 | <i title="${_('comments including outdated')}:${len(line_new_comments)}" class="icon-comment-toggle" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
603 | % else: |
|
603 | % else: | |
604 | <i title="${_('comments')}: ${len(line_new_comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> |
|
604 | <i title="${_('comments')}: ${len(line_new_comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
605 | % endif |
|
605 | % endif | |
@@ -655,7 +655,7 b' def get_comments_for(diff_type, comments' | |||||
655 | % if comments: |
|
655 | % if comments: | |
656 | <% has_outdated = any([x.outdated for x in comments]) %> |
|
656 | <% has_outdated = any([x.outdated for x in comments]) %> | |
657 | % if has_outdated: |
|
657 | % if has_outdated: | |
658 |
<i title="${_('comments including outdated')}:${len(comments)}" class="icon-comment |
|
658 | <i title="${_('comments including outdated')}:${len(comments)}" class="icon-comment-toggle" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
659 | % else: |
|
659 | % else: | |
660 | <i title="${_('comments')}: ${len(comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> |
|
660 | <i title="${_('comments')}: ${len(comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
661 | % endif |
|
661 | % endif |
@@ -165,7 +165,8 b'' | |||||
165 | <div> |
|
165 | <div> | |
166 | <div class="grid_edit"> |
|
166 | <div class="grid_edit"> | |
167 | <a href="${h.route_path('edit_repo',repo_name=repo_name)}" title="${_('Edit')}"> |
|
167 | <a href="${h.route_path('edit_repo',repo_name=repo_name)}" title="${_('Edit')}"> | |
168 | <i class="icon-pencil"></i>Edit</a> |
|
168 | Edit | |
|
169 | </a> | |||
169 | </div> |
|
170 | </div> | |
170 | <div class="grid_delete"> |
|
171 | <div class="grid_delete"> | |
171 | ${h.secure_form(h.route_path('edit_repo_advanced_delete', repo_name=repo_name), request=request)} |
|
172 | ${h.secure_form(h.route_path('edit_repo_advanced_delete', repo_name=repo_name), request=request)} | |
@@ -252,7 +253,8 b'' | |||||
252 | <%def name="user_actions(user_id, username)"> |
|
253 | <%def name="user_actions(user_id, username)"> | |
253 | <div class="grid_edit"> |
|
254 | <div class="grid_edit"> | |
254 | <a href="${h.route_path('user_edit',user_id=user_id)}" title="${_('Edit')}"> |
|
255 | <a href="${h.route_path('user_edit',user_id=user_id)}" title="${_('Edit')}"> | |
255 | <i class="icon-pencil"></i>${_('Edit')}</a> |
|
256 | ${_('Edit')} | |
|
257 | </a> | |||
256 | </div> |
|
258 | </div> | |
257 | <div class="grid_delete"> |
|
259 | <div class="grid_delete"> | |
258 | ${h.secure_form(h.route_path('user_delete', user_id=user_id), request=request)} |
|
260 | ${h.secure_form(h.route_path('user_delete', user_id=user_id), request=request)} |
@@ -470,7 +470,7 b'' | |||||
470 | <a class="btn btn-mini" href="/example/annotate/fc252256eb0fcb4f2613e66f0126ea27967ae28c/rhodecode/websetup.py">annotation</a> |
|
470 | <a class="btn btn-mini" href="/example/annotate/fc252256eb0fcb4f2613e66f0126ea27967ae28c/rhodecode/websetup.py">annotation</a> | |
471 | <a class="btn btn-mini" href="/example/raw/fc252256eb0fcb4f2613e66f0126ea27967ae28c/rhodecode/websetup.py">raw</a> |
|
471 | <a class="btn btn-mini" href="/example/raw/fc252256eb0fcb4f2613e66f0126ea27967ae28c/rhodecode/websetup.py">raw</a> | |
472 | <a class="btn btn-mini" href="/example/rawfile/fc252256eb0fcb4f2613e66f0126ea27967ae28c/rhodecode/websetup.py"> |
|
472 | <a class="btn btn-mini" href="/example/rawfile/fc252256eb0fcb4f2613e66f0126ea27967ae28c/rhodecode/websetup.py"> | |
473 |
|
|
473 | download | |
474 | </a> |
|
474 | </a> | |
475 |
|
475 | |||
476 | <a class="btn btn-mini disabled tooltip" href="#" title="Editing files allowed only when on branch head commit">edit</a> |
|
476 | <a class="btn btn-mini disabled tooltip" href="#" title="Editing files allowed only when on branch head commit">edit</a> | |
@@ -648,7 +648,7 b' File Edit' | |||||
648 | <a class="btn btn-mini" href="/example/files/80ead1899f50a894889e19ffeb49c9cebf5bf045/rhodecode/websetup.py">source</a> |
|
648 | <a class="btn btn-mini" href="/example/files/80ead1899f50a894889e19ffeb49c9cebf5bf045/rhodecode/websetup.py">source</a> | |
649 | <a class="btn btn-mini" href="/example/raw/80ead1899f50a894889e19ffeb49c9cebf5bf045/rhodecode/websetup.py">raw</a> |
|
649 | <a class="btn btn-mini" href="/example/raw/80ead1899f50a894889e19ffeb49c9cebf5bf045/rhodecode/websetup.py">raw</a> | |
650 | <a class="btn btn-mini" href="/example/rawfile/80ead1899f50a894889e19ffeb49c9cebf5bf045/rhodecode/websetup.py"> |
|
650 | <a class="btn btn-mini" href="/example/rawfile/80ead1899f50a894889e19ffeb49c9cebf5bf045/rhodecode/websetup.py"> | |
651 |
|
|
651 | download | |
652 | </a> |
|
652 | </a> | |
653 | </div> |
|
653 | </div> | |
654 | </div> |
|
654 | </div> |
@@ -150,7 +150,7 b'' | |||||
150 | </div> |
|
150 | </div> | |
151 | <input id="reviewer_70_input" type="hidden" value="70" name="review_members"> |
|
151 | <input id="reviewer_70_input" type="hidden" value="70" name="review_members"> | |
152 | <div class="reviewer_member_remove action_button" onclick="removeReviewMember(70, true)" style="visibility: hidden;"> |
|
152 | <div class="reviewer_member_remove action_button" onclick="removeReviewMember(70, true)" style="visibility: hidden;"> | |
153 |
<i class="icon-remove |
|
153 | <i class="icon-remove"></i> | |
154 | </div> |
|
154 | </div> | |
155 | </li> |
|
155 | </li> | |
156 | <li id="reviewer_33" class="collapsable-content" data-toggle="reviewers"> |
|
156 | <li id="reviewer_33" class="collapsable-content" data-toggle="reviewers"> |
@@ -250,7 +250,7 b'' | |||||
250 | <div class='input'> |
|
250 | <div class='input'> | |
251 | <input id="05_example_input" type="text" readonly="readonly" placeholder="Example input"> |
|
251 | <input id="05_example_input" type="text" readonly="readonly" placeholder="Example input"> | |
252 | <span class="btn action_button btn-x"> |
|
252 | <span class="btn action_button btn-x"> | |
253 |
<i class="icon-remove |
|
253 | <i class="icon-remove"></i> | |
254 | delete |
|
254 | delete | |
255 | </span> |
|
255 | </span> | |
256 | <span class="help-block"> |
|
256 | <span class="help-block"> |
@@ -42,7 +42,7 b'' | |||||
42 | <div class='input'> |
|
42 | <div class='input'> | |
43 | <div class='text-as-placeholder'> |
|
43 | <div class='text-as-placeholder'> | |
44 | http://something.example.com |
|
44 | http://something.example.com | |
45 |
<span class="link" id="edit_clone_uri"> |
|
45 | <span class="link" id="edit_clone_uri">${_('edit')}</span> | |
46 | </div> |
|
46 | </div> | |
47 | <p class='help-block'>Help text in a paragraph.</p> |
|
47 | <p class='help-block'>Help text in a paragraph.</p> | |
48 | </div> |
|
48 | </div> | |
@@ -339,7 +339,7 b'' | |||||
339 | <div class='input'> |
|
339 | <div class='input'> | |
340 | <input id="05_example_input" type="text" readonly="readonly" placeholder="Example input"> |
|
340 | <input id="05_example_input" type="text" readonly="readonly" placeholder="Example input"> | |
341 | <span class="btn btn-x"> |
|
341 | <span class="btn btn-x"> | |
342 |
<i class="icon-remove |
|
342 | <i class="icon-remove"></i> | |
343 | delete |
|
343 | delete | |
344 | </span> |
|
344 | </span> | |
345 | <button class='btn btn-primary'>Action</button> |
|
345 | <button class='btn btn-primary'>Action</button> |
@@ -47,7 +47,6 b'' | |||||
47 | <td> |
|
47 | <td> | |
48 | <div class="grid_edit"> |
|
48 | <div class="grid_edit"> | |
49 | <a class="edit_issuetracker_entry" uid="4980baa2985b361e6e91b932f4a897d5" title="edit" href="#"> |
|
49 | <a class="edit_issuetracker_entry" uid="4980baa2985b361e6e91b932f4a897d5" title="edit" href="#"> | |
50 | <i class="icon-pencil"></i> |
|
|||
51 | <input type="submit" value="edit" class="btn btn-link"> |
|
50 | <input type="submit" value="edit" class="btn btn-link"> | |
52 | </a> |
|
51 | </a> | |
53 | </div> |
|
52 | </div> | |
@@ -59,7 +58,7 b'' | |||||
59 |
|
58 | |||
60 | <div style="display: none;"><input type="hidden" value="05adf5bfb9be3766186f25db19b545134c6b0077" name="csrf_token" id="csrf_token"></div> |
|
59 | <div style="display: none;"><input type="hidden" value="05adf5bfb9be3766186f25db19b545134c6b0077" name="csrf_token" id="csrf_token"></div> | |
61 | <input type="hidden" value="4980baa2985b361e6e91b932f4a897d5" name="del_uid" id="del_uid"> |
|
60 | <input type="hidden" value="4980baa2985b361e6e91b932f4a897d5" name="del_uid" id="del_uid"> | |
62 |
<i class="icon-remove |
|
61 | <i class="icon-remove"></i> | |
63 | <input type="submit" value="delete" onclick="return confirm('Confirm to remove this pattern: kjlakjlkjlkj;lkjl;kjl;kjl;kjl;kj;lkj');" id="remove_user_3" class="btn btn-link btn-danger"> |
|
62 | <input type="submit" value="delete" onclick="return confirm('Confirm to remove this pattern: kjlakjlkjlkj;lkjl;kjl;kjl;kjl;kj;lkj');" id="remove_user_3" class="btn btn-link btn-danger"> | |
64 | </form> |
|
63 | </form> | |
65 | </div> |
|
64 | </div> | |
@@ -74,7 +73,6 b'' | |||||
74 | <td> |
|
73 | <td> | |
75 | <div class="grid_edit"> |
|
74 | <div class="grid_edit"> | |
76 | <a class="edit_issuetracker_entry" uid="98ac51a4ab43bb36a4feceed15ac5b21" title="edit" href="#"> |
|
75 | <a class="edit_issuetracker_entry" uid="98ac51a4ab43bb36a4feceed15ac5b21" title="edit" href="#"> | |
77 | <i class="icon-pencil"></i> |
|
|||
78 | <input type="submit" value="edit" class="btn btn-link"> |
|
76 | <input type="submit" value="edit" class="btn btn-link"> | |
79 | </a> |
|
77 | </a> | |
80 | </div> |
|
78 | </div> | |
@@ -86,7 +84,7 b'' | |||||
86 |
|
84 | |||
87 | <div style="display: none;"><input type="hidden" value="05adf5bfb9be3766186f25db19b545134c6b0077" name="csrf_token" id="csrf_token"></div> |
|
85 | <div style="display: none;"><input type="hidden" value="05adf5bfb9be3766186f25db19b545134c6b0077" name="csrf_token" id="csrf_token"></div> | |
88 | <input type="hidden" value="98ac51a4ab43bb36a4feceed15ac5b21" name="del_uid" id="del_uid"> |
|
86 | <input type="hidden" value="98ac51a4ab43bb36a4feceed15ac5b21" name="del_uid" id="del_uid"> | |
89 |
<i class="icon-remove |
|
87 | <i class="icon-remove"></i> | |
90 | <input type="submit" value="delete" onclick="return confirm('Confirm to remove this pattern: kajls;kdjfal;skdjflaskdjflksjdlfksjdlfksjdlfkjsldkfjslkdjflskdjflkdsjf');" id="remove_user_3" class="btn btn-link btn-danger"> |
|
88 | <input type="submit" value="delete" onclick="return confirm('Confirm to remove this pattern: kajls;kdjfal;skdjflaskdjflksjdlfksjdlfksjdlfkjsldkfjslkdjflskdjflkdsjf');" id="remove_user_3" class="btn btn-link btn-danger"> | |
91 | </form> |
|
89 | </form> | |
92 | </div> |
|
90 | </div> | |
@@ -101,7 +99,6 b'' | |||||
101 | <td> |
|
99 | <td> | |
102 | <div class="grid_edit"> |
|
100 | <div class="grid_edit"> | |
103 | <a class="edit_issuetracker_entry" uid="098f6bcd4621d373cade4e832627b4f6" title="edit" href="#"> |
|
101 | <a class="edit_issuetracker_entry" uid="098f6bcd4621d373cade4e832627b4f6" title="edit" href="#"> | |
104 | <i class="icon-pencil"></i> |
|
|||
105 | <input type="submit" value="edit" class="btn btn-link"> |
|
102 | <input type="submit" value="edit" class="btn btn-link"> | |
106 | </a> |
|
103 | </a> | |
107 | </div> |
|
104 | </div> | |
@@ -113,7 +110,7 b'' | |||||
113 |
|
110 | |||
114 | <div style="display: none;"><input type="hidden" value="05adf5bfb9be3766186f25db19b545134c6b0077" name="csrf_token" id="csrf_token"></div> |
|
111 | <div style="display: none;"><input type="hidden" value="05adf5bfb9be3766186f25db19b545134c6b0077" name="csrf_token" id="csrf_token"></div> | |
115 | <input type="hidden" value="098f6bcd4621d373cade4e832627b4f6" name="del_uid" id="del_uid"> |
|
112 | <input type="hidden" value="098f6bcd4621d373cade4e832627b4f6" name="del_uid" id="del_uid"> | |
116 |
<i class="icon-remove |
|
113 | <i class="icon-remove"></i> | |
117 | <input type="submit" value="delete" onclick="return confirm('Confirm to remove this pattern: test');" id="remove_user_3" class="btn btn-link btn-danger"> |
|
114 | <input type="submit" value="delete" onclick="return confirm('Confirm to remove this pattern: test');" id="remove_user_3" class="btn btn-link btn-danger"> | |
118 | </form> |
|
115 | </form> | |
119 | </div> |
|
116 | </div> |
@@ -236,11 +236,12 b'' | |||||
236 | <td class="td-action"> |
|
236 | <td class="td-action"> | |
237 | <div class="grid_edit"> |
|
237 | <div class="grid_edit"> | |
238 | <a href="/_admin/users/2/edit" title="edit"> |
|
238 | <a href="/_admin/users/2/edit" title="edit"> | |
239 | <i class="icon-pencil"></i>Edit</a> |
|
239 | Edit | |
|
240 | </a> | |||
240 | </div> |
|
241 | </div> | |
241 | <div class="grid_delete"> |
|
242 | <div class="grid_delete"> | |
242 | <form action="/_admin/users/2" method="post"> |
|
243 | <form action="/_admin/users/2" method="post"> | |
243 |
<i class="icon-remove |
|
244 | <i class="icon-remove"></i> | |
244 | <input class="btn btn-danger btn-link" id="remove_user_2" name="remove_" type="submit" value="delete"> |
|
245 | <input class="btn btn-danger btn-link" id="remove_user_2" name="remove_" type="submit" value="delete"> | |
245 | </form> |
|
246 | </form> | |
246 | </div> |
|
247 | </div> |
@@ -104,12 +104,12 b' var CG = new ColorGenerator();' | |||||
104 |
|
104 | |||
105 | <% if (mandatory) { %> |
|
105 | <% if (mandatory) { %> | |
106 | <div class="reviewer_member_mandatory_remove" style="visibility: <%= edit_visibility %>;"> |
|
106 | <div class="reviewer_member_mandatory_remove" style="visibility: <%= edit_visibility %>;"> | |
107 |
<i class="icon-remove |
|
107 | <i class="icon-remove"></i> | |
108 | </div> |
|
108 | </div> | |
109 | <% } else { %> |
|
109 | <% } else { %> | |
110 | <% if (allowed_to_update) { %> |
|
110 | <% if (allowed_to_update) { %> | |
111 | <div class="reviewer_member_remove action_button" onclick="reviewersController.removeReviewMember(<%= member.user_id %>, true)" style="visibility: <%= edit_visibility %>;"> |
|
111 | <div class="reviewer_member_remove action_button" onclick="reviewersController.removeReviewMember(<%= member.user_id %>, true)" style="visibility: <%= edit_visibility %>;"> | |
112 |
<i class="icon-remove |
|
112 | <i class="icon-remove" ></i> | |
113 | </div> |
|
113 | </div> | |
114 | <% } %> |
|
114 | <% } %> | |
115 | <% } %> |
|
115 | <% } %> |
@@ -186,7 +186,7 b'' | |||||
186 | % else: |
|
186 | % else: | |
187 | <span class="enabled"> |
|
187 | <span class="enabled"> | |
188 | <a id="archive_link" class="btn btn-small" href="${h.route_path('repo_archivefile',repo_name=c.rhodecode_db_repo.repo_name,fname='tip.zip')}"> |
|
188 | <a id="archive_link" class="btn btn-small" href="${h.route_path('repo_archivefile',repo_name=c.rhodecode_db_repo.repo_name,fname='tip.zip')}"> | |
189 |
|
|
189 | tip.zip | |
190 | ## replaced by some JS on select |
|
190 | ## replaced by some JS on select | |
191 | </a> |
|
191 | </a> | |
192 | </span> |
|
192 | </span> |
@@ -90,7 +90,7 b'' | |||||
90 | var fname = e.added.raw_id + ext; |
|
90 | var fname = e.added.raw_id + ext; | |
91 | var href = pyroutes.url('repo_archivefile', {'repo_name': templateContext.repo_name, 'fname':fname}); |
|
91 | var href = pyroutes.url('repo_archivefile', {'repo_name': templateContext.repo_name, 'fname':fname}); | |
92 | // set new label |
|
92 | // set new label | |
93 |
$('#archive_link').html(' |
|
93 | $('#archive_link').html('{0}{1}'.format(escapeHtml(e.added.text), ext)); | |
94 |
|
94 | |||
95 | // set new url to button, |
|
95 | // set new url to button, | |
96 | $('#archive_link').attr('href', href) |
|
96 | $('#archive_link').attr('href', href) |
@@ -2,7 +2,7 b'' | |||||
2 |
|
2 | |||
3 | <%def name="title()"> |
|
3 | <%def name="title()"> | |
4 | ## represents page title |
|
4 | ## represents page title | |
5 |
${_(' |
|
5 | ${_('{} Summary').format(c.repo_name)} | |
6 | %if c.rhodecode_name: |
|
6 | %if c.rhodecode_name: | |
7 | · ${h.branding(c.rhodecode_name)} |
|
7 | · ${h.branding(c.rhodecode_name)} | |
8 | %endif |
|
8 | %endif | |
@@ -10,8 +10,8 b'' | |||||
10 |
|
10 | |||
11 |
|
11 | |||
12 | <%def name="head_extra()"> |
|
12 | <%def name="head_extra()"> | |
13 |
<link href="${h.route_path('atom_feed_home', repo_name=c.rhodecode_db_repo.repo_ |
|
13 | <link href="${h.route_path('atom_feed_home', repo_name=c.rhodecode_db_repo.repo_uid, _query=dict(auth_token=c.rhodecode_user.feed_token))}" rel="alternate" title="${h.tooltip(_('%s ATOM feed') % c.repo_name)}" type="application/atom+xml" /> | |
14 |
<link href="${h.route_path('rss_feed_home', repo_name=c.rhodecode_db_repo.repo_ |
|
14 | <link href="${h.route_path('rss_feed_home', repo_name=c.rhodecode_db_repo.repo_uid, _query=dict(auth_token=c.rhodecode_user.feed_token))}" rel="alternate" title="${h.tooltip(_('%s RSS feed') % c.repo_name)}" type="application/rss+xml" /> | |
15 | </%def> |
|
15 | </%def> | |
16 |
|
16 | |||
17 |
|
17 |
@@ -128,7 +128,7 b' def integration_repos(request, StubInteg' | |||||
128 | 'root_repo': root_repo, |
|
128 | 'root_repo': root_repo, | |
129 | 'other_repo': other_repo, |
|
129 | 'other_repo': other_repo, | |
130 | 'parent_repo': parent_repo, |
|
130 | 'parent_repo': parent_repo, | |
131 |
|
|
131 | 'child_repo': child_repo, | |
132 | } |
|
132 | } | |
133 | } |
|
133 | } | |
134 |
|
134 | |||
@@ -151,9 +151,9 b' def test_enabled_integration_repo_scopes' | |||||
151 |
|
151 | |||
152 | assert triggered_integrations == [ |
|
152 | assert triggered_integrations == [ | |
153 | integrations['global'], |
|
153 | integrations['global'], | |
154 | integrations['other_repo'], |
|
|||
155 | integrations['other_group'], |
|
154 | integrations['other_group'], | |
156 | integrations['other_group_recursive'], |
|
155 | integrations['other_group_recursive'], | |
|
156 | integrations['other_repo'], | |||
157 | ] |
|
157 | ] | |
158 |
|
158 | |||
159 | triggered_integrations = IntegrationModel().get_for_event( |
|
159 | triggered_integrations = IntegrationModel().get_for_event( | |
@@ -161,9 +161,9 b' def test_enabled_integration_repo_scopes' | |||||
161 |
|
161 | |||
162 | assert triggered_integrations == [ |
|
162 | assert triggered_integrations == [ | |
163 | integrations['global'], |
|
163 | integrations['global'], | |
164 | integrations['parent_repo'], |
|
|||
165 | integrations['parent_group'], |
|
164 | integrations['parent_group'], | |
166 | integrations['parent_group_recursive'], |
|
165 | integrations['parent_group_recursive'], | |
|
166 | integrations['parent_repo'], | |||
167 | ] |
|
167 | ] | |
168 |
|
168 | |||
169 | triggered_integrations = IntegrationModel().get_for_event( |
|
169 | triggered_integrations = IntegrationModel().get_for_event( | |
@@ -171,10 +171,10 b' def test_enabled_integration_repo_scopes' | |||||
171 |
|
171 | |||
172 | assert triggered_integrations == [ |
|
172 | assert triggered_integrations == [ | |
173 | integrations['global'], |
|
173 | integrations['global'], | |
174 |
integrations['child_ |
|
174 | integrations['child_group'], | |
175 | integrations['parent_group_recursive'], |
|
175 | integrations['parent_group_recursive'], | |
176 | integrations['child_group'], |
|
|||
177 | integrations['child_group_recursive'], |
|
176 | integrations['child_group_recursive'], | |
|
177 | integrations['child_repo'], | |||
178 | ] |
|
178 | ] | |
179 |
|
179 | |||
180 |
|
180 |
@@ -19,51 +19,55 b'' | |||||
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 |
|
20 | |||
21 | import timeit |
|
21 | import timeit | |
|
22 | import logging | |||
|
23 | import click | |||
22 |
|
24 | |||
23 | server = "localhost:5000" |
|
25 | log = logging.getLogger(__name__) | |
|
26 | ||||
24 |
|
27 | |||
25 | pages = [ |
|
28 | @click.command() | |
26 | "cpython", |
|
29 | @click.option('--server', help='Server url to connect to. e.g http://rc.local.com', required=True) | |
27 | "cpython/annotate/74236c8bf064188516b32bf95016971227ec72a9/Makefile.pre.in", |
|
30 | @click.option('--pages', help='load pages to visit from a file', required=True, type=click.File()) | |
28 | "cpython/changelog", |
|
31 | @click.option('--repeat', help='number of times to repeat', default=10, type=int) | |
29 | "cpython/changeset/e0f681f4ade3af52915d5f32daac97ada580d71a", |
|
32 | def main(server, repeat, pages): | |
30 | "cpython/compare/tag@v3.4.1rc1...tag@v3.4.1?target_repo=cpython", |
|
33 | ||
31 | "cpython/files/tip/", |
|
34 | print("Repeating each URL %d times\n" % repeat) | |
32 | "cpython/files/74236c8bf064188516b32bf95016971227ec72a9/Grammar", |
|
35 | pages = pages.readlines() | |
33 | "", |
|
36 | ||
34 | "git", |
|
37 | for page_url in pages: | |
35 | "git/annotate/6c4ab27f2378ce67940b4496365043119d7ffff2/gitk-git/.gitignore", |
|
38 | ||
36 | "git/changelog", |
|
39 | url = "%s/%s" % (server, page_url.strip()) | |
37 | "git/changeset/d299e9e550c1bf8640907fdba1f03cc585ee71df", |
|
40 | print(url) | |
38 | "git/compare/rev@1200...rev@1300?target_repo=git", |
|
41 | ||
39 | "git/files/tip/", |
|
42 | stmt = "requests.get('%s', timeout=120)" % url | |
40 | "git/files/6c4ab27f2378ce67940b4496365043119d7ffff2/.gitignore" |
|
43 | t = timeit.Timer(stmt=stmt, setup="import requests") | |
41 | ] |
|
|||
42 |
|
44 | |||
43 | svn_pages = [ |
|
45 | result = t.repeat(repeat=repeat, number=1) | |
44 | "svn-apache", |
|
46 | print(" %.3f (min) - %.3f (max) - %.3f (avg)\n" % | |
45 | "svn-apache/annotate/672129/cocoon/trunk/README.txt", |
|
47 | (min(result), max(result), sum(result) / len(result))) | |
46 | "svn-apache/changelog", |
|
48 | ||
47 | "svn-apache/changeset/1164362", |
|
|||
48 | "svn-apache/compare/rev@1164350...rev@1164360?target_repo=svn-apache", |
|
|||
49 | "svn-apache/compare/rev@1164300...rev@1164360?target_repo=svn-apache", |
|
|||
50 | "svn-apache/files/tip/", |
|
|||
51 | "svn-apache/files/1164363/cocoon/trunk/README.txt", |
|
|||
52 | ] |
|
|||
53 |
|
49 | |||
54 | # Uncomment to check also svn performance |
|
50 | if __name__ == '__main__': | |
55 | # pages = pages + svn_pages |
|
51 | main() | |
|
52 | ||||
|
53 | ||||
|
54 | ||||
|
55 | ||||
|
56 | ||||
|
57 | ||||
|
58 | ||||
56 |
|
59 | |||
57 | repeat = 10 |
|
60 | ||
|
61 | ||||
58 |
|
62 | |||
59 | print("Repeating each URL x%d\n" % repeat) |
|
63 | ||
60 | for page in pages: |
|
64 | ||
61 | url = "http://%s/%s" % (server, page) |
|
65 | ||
62 | print(url) |
|
|||
63 |
|
66 | |||
64 | stmt = "urllib2.urlopen('%s', timeout=120)" % url |
|
67 | ||
65 | t = timeit.Timer(stmt=stmt, setup="import urllib2") |
|
68 | ||
|
69 | ||||
66 |
|
70 | |||
67 | result = t.repeat(repeat=repeat, number=1) |
|
71 | ||
68 | print("\t%.3f (min) - %.3f (max) - %.3f (avg)\n" % |
|
72 | ||
69 | (min(result), max(result), sum(result)/len(result))) |
|
73 |
@@ -108,12 +108,12 b' class Repository(object):' | |||||
108 | self.name = name |
|
108 | self.name = name | |
109 | self.path = os.path.join(base_path, name) |
|
109 | self.path = os.path.join(base_path, name) | |
110 | self.api = api |
|
110 | self.api = api | |
|
111 | self.url = None | |||
111 |
|
112 | |||
112 | def create(self): |
|
113 | def create(self): | |
113 | self._create_filesystem_repo(self.path) |
|
114 | self._create_filesystem_repo(self.path) | |
114 | try: |
|
115 | try: | |
115 | self.url = self.api.create_repo( |
|
116 | self.url = self.api.create_repo(self.name, self.TYPE, 'Performance tests') | |
116 | self.name, self.TYPE, 'Performance tests') |
|
|||
117 | except ApiError as e: |
|
117 | except ApiError as e: | |
118 | log.error('api: {}'.format(e)) |
|
118 | log.error('api: {}'.format(e)) | |
119 |
|
119 | |||
@@ -127,7 +127,7 b' class Repository(object):' | |||||
127 | def create_commits(self, number, file_size): |
|
127 | def create_commits(self, number, file_size): | |
128 | for i in xrange(number): |
|
128 | for i in xrange(number): | |
129 | file_name = self.FILE_NAME_TEMPLATE.format(i) |
|
129 | file_name = self.FILE_NAME_TEMPLATE.format(i) | |
130 | log.debug("Create commit {}".format(file_name)) |
|
130 | log.debug("Create commit[{}] {}".format(self.name, file_name)) | |
131 | self._create_file(file_name, file_size) |
|
131 | self._create_file(file_name, file_size) | |
132 | self._create_commit(file_name) |
|
132 | self._create_commit(file_name) | |
133 |
|
133 | |||
@@ -258,8 +258,8 b' class Benchmark(object):' | |||||
258 | for operation in operations: |
|
258 | for operation in operations: | |
259 | for type_ in repos: |
|
259 | for type_ in repos: | |
260 | times = self._measure(repos[type_], *operation) |
|
260 | times = self._measure(repos[type_], *operation) | |
261 | print("Mean {} {} time: {:.3f} sec.".format( |
|
261 | print("Mean[of {}] {:5s} {:5s} time: {:.3f} sec.".format( | |
262 | type_, operation[0], mean(times))) |
|
262 | len(times), type_, operation[0], mean(times))) | |
263 |
|
263 | |||
264 | def cleanup(self): |
|
264 | def cleanup(self): | |
265 | log.info("Cleaning up...") |
|
265 | log.info("Cleaning up...") | |
@@ -296,6 +296,7 b' class Benchmark(object):' | |||||
296 | log.addHandler(handler) |
|
296 | log.addHandler(handler) | |
297 | log.setLevel(log_level) |
|
297 | log.setLevel(log_level) | |
298 |
|
298 | |||
|
299 | ||||
299 | if __name__ == '__main__': |
|
300 | if __name__ == '__main__': | |
300 | config = Config() |
|
301 | config = Config() | |
301 | benchmark = Benchmark(config) |
|
302 | benchmark = Benchmark(config) |
@@ -392,7 +392,7 b' def is_url_reachable(url):' | |||||
392 | try: |
|
392 | try: | |
393 | urllib2.urlopen(url) |
|
393 | urllib2.urlopen(url) | |
394 | except urllib2.URLError: |
|
394 | except urllib2.URLError: | |
395 |
log.exception('URL |
|
395 | log.exception('URL `{}` reach error'.format(url)) | |
396 | return False |
|
396 | return False | |
397 | return True |
|
397 | return True | |
398 |
|
398 |
General Comments 0
You need to be logged in to leave comments.
Login now