Auto status change to "Under Review"
Pull request !2362
Created on
Thu, 01 Jul 2021 12:06:29,
# import all the libraries
import numpy as np
import re
import nltk
from sklearn.datasets import load_files
nltk.download('stopwords')
import pickle
import pandas as pd
from sklearn.multioutput import MultiOutputClassifier
from sklearn.preprocessing import LabelEncoder
from nltk.corpus import stopwords
from collections import defaultdict
from sklearn.model_selection import RepeatedStratifiedKFold
from sklearn.model_selection import GridSearchCV
from sklearn.pipeline import make_pipeline
import joblib
pd.options.display.float_format = "{:,.2f}".format
df = pd.read_csv(r'/Users/tabetibrahim/Desktop/Vona/vef/facture_mobile_mars_avril_2021.csv', sep=";")
data_set = df[['Tem section 1', 'Tem section 2','Tem section 3','Description facture operateur']]
data_set.head()
tem_section= data_set[['Tem section 1', 'Tem section 2','Tem section 3']]
tem_en= data_set[['Tem section 1', 'Tem section 2','Tem section 3']]
labelencoder = LabelEncoder()
le = LabelEncoder()
encoder_dict = defaultdict(LabelEncoder)
df_encode = tem_en.apply(lambda x: encoder_dict[x.name].fit_transform(x))
inverse_transform_lambda = df_encode.apply(lambda x: encoder_dict[x.name].inverse_transform(x))
X, y = data_set[['Description facture operateur']], tem_section
import nltk
import pandas as pd
import numpy as np
from nltk.stem import PorterStemmer
from nltk.corpus import stopwords
# If not previously performed:
# nltk.download('stopwords')
stemming = PorterStemmer()
stops = set(stopwords.words("french"))
def apply_cleaning_function_to_list(X):
cleaned_X = []
for element in X:
cleaned_X.append(clean_text(element))
return cleaned_X
def clean_text(raw_text):
"""This function works on a raw text string, and:
1) changes to lower case
2) tokenizes (breaks down into words
3) removes punctuation and non-word text
4) finds word stems
5) removes stop words
6) rejoins meaningful stem words"""
# Convert to lower case
text = raw_text.lower()
# Tokenize
tokens = nltk.word_tokenize(text)
# Keep only words (removes punctuation + numbers)
# use .isalnum to keep also numbers
token_words = [w for w in tokens if w.isalpha()]
# Stemming
stemmed_words = [stemming.stem(w) for w in token_words]
# Remove stop words
meaningful_words = [w for w in stemmed_words if not w in stops]
# Rejoin meaningful stemmed words
joined_words = ( " ".join(meaningful_words))
# Return cleaned data
return joined_words
# Get text to clean
text_to_clean = list(data_set['Description facture operateur'])
# Clean text
cleaned_text = apply_cleaning_function_to_list(text_to_clean)
# Add cleaned data back into DataFrame
data_set['cleaned_review'] = cleaned_text
# Remove temporary cleaned_text list (after transfer to DataFrame)
del cleaned_text
from sklearn.model_selection import train_test_split
X = list(data_set['cleaned_review'])
y = df_encode
X_train, X_test, y_train, y_test = train_test_split(
X,y, test_size = 0.25)
def create_bag_of_words(X):
from sklearn.feature_extraction.text import CountVectorizer
print ('Creating bag of words...')
# Initialize the "CountVectorizer" object, which is scikit-learn's
# bag of words tool.
# In this example features may be single words or two consecutive words
# (as shown by ngram_range = 1,2)
vectorizer = CountVectorizer(analyzer = "word", \
tokenizer = None, \
preprocessor = None, \
stop_words = None, \
ngram_range = (1,2), \
max_features = 10000
)
# fit_transform() does two functions: First, it fits the model
# and learns the vocabulary; second, it transforms our training data
# into feature vectors. The input to fit_transform should be a list of
# strings. The output is a sparse array
train_data_features = vectorizer.fit_transform(X)
# Convert to a NumPy array for easy of handling
train_data_features = train_data_features.toarray()
# tfidf transform
from sklearn.feature_extraction.text import TfidfTransformer
tfidf = TfidfTransformer()
tfidf_features = tfidf.fit_transform(train_data_features).toarray()
# Get words in the vocabulary
vocab = vectorizer.get_feature_names()
return vectorizer, vocab, train_data_features, tfidf_features, tfidf
vectorizer, vocab, train_data_features, tfidf_features, tfidf = \
create_bag_of_words(X_train)
def train_logistic_regression(features, label):
print ("Training the logistic regression model...")
from sklearn.linear_model import LogisticRegression
ml_model = MultiOutputClassifier(LogisticRegression(C = 0.1, solver = 'newton-cg', penalty = 'l2',multi_class = 'multinomial'))
ml_model.fit(features, label)
print ('Finished')
return ml_model
ml_model = train_logistic_regression(tfidf_features, y_train)
test_data_features = vectorizer.transform(X_test)
# Convert to numpy array
test_data_features = test_data_features.toarray()
test_data_tfidf_features = tfidf.fit_transform(test_data_features)
# Convert to numpy array
test_data_tfidf_features = test_data_tfidf_features.toarray()
predicted_y = ml_model.predict(test_data_tfidf_features)
correctly_identified_y = predicted_y == y_test
accuracy = np.mean(correctly_identified_y) * 100
1 version available for this pull request,
show versions.
There are new changes for `branch:stable` in source repository, please consider updating this pull request.
ver | Time | Author | Commit | Description | ||
---|---|---|---|---|---|---|
24 commits hidden, click expand to show them. |
@@ -0,0 +1,40 b'' | |||||
|
1 | |RCE| 4.25.1 |RNS| | |||
|
2 | ------------------ | |||
|
3 | ||||
|
4 | Release Date | |||
|
5 | ^^^^^^^^^^^^ | |||
|
6 | ||||
|
7 | - 2021-04-06 | |||
|
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 | - Artifacts: fixed admin panel bad urls generated for the new artifacts admin view in CE edition. | |||
|
34 | ||||
|
35 | ||||
|
36 | ||||
|
37 | Upgrade notes | |||
|
38 | ^^^^^^^^^^^^^ | |||
|
39 | ||||
|
40 | - Un-scheduled release addressing problems in 4.25.X releases. |
@@ -0,0 +1,53 b'' | |||||
|
1 | |RCE| 4.25.2 |RNS| | |||
|
2 | ------------------ | |||
|
3 | ||||
|
4 | Release Date | |||
|
5 | ^^^^^^^^^^^^ | |||
|
6 | ||||
|
7 | - 2021-04-14 | |||
|
8 | ||||
|
9 | ||||
|
10 | New Features | |||
|
11 | ^^^^^^^^^^^^ | |||
|
12 | ||||
|
13 | ||||
|
14 | ||||
|
15 | General | |||
|
16 | ^^^^^^^ | |||
|
17 | ||||
|
18 | - Comments: refresh on draft sidebar on draft submit. | |||
|
19 | - Vcsserver: log exceptions into the logs | |||
|
20 | - Archiving: make it explicit archiving a repo is irreversible. | |||
|
21 | - My-account: updated bookmarks UX | |||
|
22 | - Pull requests: added awaiting my review filter for users pull-requests. | |||
|
23 | Additionally the awaiting my review now properly filters pull requests that have no review votes on them. | |||
|
24 | ||||
|
25 | ||||
|
26 | Security | |||
|
27 | ^^^^^^^^ | |||
|
28 | ||||
|
29 | ||||
|
30 | ||||
|
31 | Performance | |||
|
32 | ^^^^^^^^^^^ | |||
|
33 | ||||
|
34 | ||||
|
35 | ||||
|
36 | Fixes | |||
|
37 | ^^^^^ | |||
|
38 | ||||
|
39 | - Draft comments: fixed logic in toggle all draft for submit. | |||
|
40 | - Draft comments: when submitting edited drafts also clear the history to prevent DB problems. | |||
|
41 | - Mercurial: fixed a case of lookup branches that had 40 characters in length. | |||
|
42 | - Gists: block id input for public gists. | |||
|
43 | - Pull requests: fixed problems with unicode characters in branches. | |||
|
44 | - Pull requests: small ui fix for grid. | |||
|
45 | - Summary: fixed ui on summary page for non-admins. | |||
|
46 | The setup instructions were broken if user had no write permissions. | |||
|
47 | - Users: make user data loading more resilient to errors. | |||
|
48 | ||||
|
49 | ||||
|
50 | Upgrade notes | |||
|
51 | ^^^^^^^^^^^^^ | |||
|
52 | ||||
|
53 | - Scheduled release addressing problems in 4.25.X releases. |
@@ -0,0 +1,40 b'' | |||||
|
1 | # -*- coding: utf-8 -*- | |||
|
2 | ||||
|
3 | # Copyright (C) 2016-2020 RhodeCode GmbH | |||
|
4 | # | |||
|
5 | # This program is free software: you can redistribute it and/or modify | |||
|
6 | # it under the terms of the GNU Affero General Public License, version 3 | |||
|
7 | # (only), as published by the Free Software Foundation. | |||
|
8 | # | |||
|
9 | # This program is distributed in the hope that it will be useful, | |||
|
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|
12 | # GNU General Public License for more details. | |||
|
13 | # | |||
|
14 | # You should have received a copy of the GNU Affero General Public License | |||
|
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
|
16 | # | |||
|
17 | # This program is dual-licensed. If you wish to learn more about the | |||
|
18 | # RhodeCode Enterprise Edition, including its added features, Support services, | |||
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |||
|
20 | ||||
|
21 | import logging | |||
|
22 | ||||
|
23 | from rhodecode.apps._base import BaseAppView, DataGridAppView | |||
|
24 | from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator | |||
|
25 | ||||
|
26 | log = logging.getLogger(__name__) | |||
|
27 | ||||
|
28 | ||||
|
29 | class AdminArtifactsView(BaseAppView, DataGridAppView): | |||
|
30 | ||||
|
31 | def load_default_context(self): | |||
|
32 | c = self._get_local_tmpl_context() | |||
|
33 | return c | |||
|
34 | ||||
|
35 | @LoginRequired() | |||
|
36 | @HasPermissionAllDecorator('hg.admin') | |||
|
37 | def artifacts(self): | |||
|
38 | c = self.load_default_context() | |||
|
39 | c.active = 'artifacts' | |||
|
40 | return self._get_template_context(c) |
@@ -0,0 +1,39 b'' | |||||
|
1 | ## -*- coding: utf-8 -*- | |||
|
2 | <%inherit file="/base/base.mako"/> | |||
|
3 | ||||
|
4 | <%def name="title()"> | |||
|
5 | ${_('Artifacts Admin')} | |||
|
6 | %if c.rhodecode_name: | |||
|
7 | · ${h.branding(c.rhodecode_name)} | |||
|
8 | %endif | |||
|
9 | </%def> | |||
|
10 | ||||
|
11 | <%def name="breadcrumbs_links()"></%def> | |||
|
12 | ||||
|
13 | <%def name="menu_bar_nav()"> | |||
|
14 | ${self.menu_items(active='admin')} | |||
|
15 | </%def> | |||
|
16 | ||||
|
17 | <%def name="menu_bar_subnav()"> | |||
|
18 | ${self.admin_menu(active='artifacts')} | |||
|
19 | </%def> | |||
|
20 | ||||
|
21 | <%def name="main()"> | |||
|
22 | ||||
|
23 | <div class="box"> | |||
|
24 | ||||
|
25 | <div class="panel panel-default"> | |||
|
26 | <div class="panel-heading"> | |||
|
27 | <h3 class="panel-title">${_('Artifacts Administration.')}</h3> | |||
|
28 | </div> | |||
|
29 | <div class="panel-body"> | |||
|
30 | <h4>${_('This feature is available in RhodeCode EE edition only. Contact {sales_email} to obtain a trial license.').format(sales_email='<a href="mailto:sales@rhodecode.com">sales@rhodecode.com</a>')|n}</h4> | |||
|
31 | ||||
|
32 | </div> | |||
|
33 | </div> | |||
|
34 | ||||
|
35 | </div> | |||
|
36 | ||||
|
37 | ||||
|
38 | </%def> | |||
|
39 |
@@ -1,5 +1,6 b'' | |||||
1 | [bumpversion] |
|
1 | [bumpversion] | |
2 |
current_version = 4.25. |
|
2 | current_version = 4.25.2 | |
3 | message = release: Bump version {current_version} to {new_version} |
|
3 | message = release: Bump version {current_version} to {new_version} | |
4 |
|
4 | |||
5 | [bumpversion:file:rhodecode/VERSION] |
|
5 | [bumpversion:file:rhodecode/VERSION] | |
|
6 |
@@ -75,3 +75,5 b' 56310d93b33b97535908ef9c7b0985b89bb7fad2' | |||||
75 | 7637c38528fa38c1eabc1fde6a869c20995a0da7 v4.23.2 |
|
75 | 7637c38528fa38c1eabc1fde6a869c20995a0da7 v4.23.2 | |
76 | 6aeb4ac3ef7f0ac699c914740dad3688c9495e83 v4.24.0 |
|
76 | 6aeb4ac3ef7f0ac699c914740dad3688c9495e83 v4.24.0 | |
77 | 6eaf953da06e468a4c4e5239d3d0e700bda6b163 v4.24.1 |
|
77 | 6eaf953da06e468a4c4e5239d3d0e700bda6b163 v4.24.1 | |
|
78 | f8161cbc2d94a935d3c395a0e758d9a094287169 v4.25.0 | |||
|
79 | 77fe47b5b39338e71b2c040de2c0359b529b6251 v4.25.1 |
@@ -21,7 +21,7 b' done = true' | |||||
21 |
|
21 | |||
22 | [release] |
|
22 | [release] | |
23 | state = prepared |
|
23 | state = prepared | |
24 |
version = 4. |
|
24 | version = 4.25.2 | |
25 |
|
25 | |||
26 | [task:updated_translation] |
|
26 | [task:updated_translation] | |
27 |
|
27 |
@@ -9,6 +9,8 b' Release Notes' | |||||
9 | .. toctree:: |
|
9 | .. toctree:: | |
10 | :maxdepth: 1 |
|
10 | :maxdepth: 1 | |
11 |
|
11 | |||
|
12 | release-notes-4.25.2.rst | |||
|
13 | release-notes-4.25.1.rst | |||
12 | release-notes-4.25.0.rst |
|
14 | release-notes-4.25.0.rst | |
13 | release-notes-4.24.1.rst |
|
15 | release-notes-4.24.1.rst | |
14 | release-notes-4.24.0.rst |
|
16 | release-notes-4.24.0.rst |
@@ -1883,7 +1883,7 b' self: super: {' | |||||
1883 | }; |
|
1883 | }; | |
1884 | }; |
|
1884 | }; | |
1885 | "rhodecode-enterprise-ce" = super.buildPythonPackage { |
|
1885 | "rhodecode-enterprise-ce" = super.buildPythonPackage { | |
1886 |
name = "rhodecode-enterprise-ce-4.25. |
|
1886 | name = "rhodecode-enterprise-ce-4.25.2"; | |
1887 | buildInputs = [ |
|
1887 | buildInputs = [ | |
1888 | self."pytest" |
|
1888 | self."pytest" | |
1889 | self."py" |
|
1889 | self."py" |
@@ -27,6 +27,7 b' def admin_routes(config):' | |||||
27 | Admin prefixed routes |
|
27 | Admin prefixed routes | |
28 | """ |
|
28 | """ | |
29 | from rhodecode.apps.admin.views.audit_logs import AdminAuditLogsView |
|
29 | from rhodecode.apps.admin.views.audit_logs import AdminAuditLogsView | |
|
30 | from rhodecode.apps.admin.views.artifacts import AdminArtifactsView | |||
30 | from rhodecode.apps.admin.views.defaults import AdminDefaultSettingsView |
|
31 | from rhodecode.apps.admin.views.defaults import AdminDefaultSettingsView | |
31 | from rhodecode.apps.admin.views.exception_tracker import ExceptionsTrackerView |
|
32 | from rhodecode.apps.admin.views.exception_tracker import ExceptionsTrackerView | |
32 | from rhodecode.apps.admin.views.main_views import AdminMainView |
|
33 | from rhodecode.apps.admin.views.main_views import AdminMainView | |
@@ -60,6 +61,34 b' def admin_routes(config):' | |||||
60 | route_name='admin_audit_log_entry', request_method='GET', |
|
61 | route_name='admin_audit_log_entry', request_method='GET', | |
61 | renderer='rhodecode:templates/admin/admin_audit_log_entry.mako') |
|
62 | renderer='rhodecode:templates/admin/admin_audit_log_entry.mako') | |
62 |
|
63 | |||
|
64 | # Artifacts EE feature | |||
|
65 | config.add_route( | |||
|
66 | 'admin_artifacts', | |||
|
67 | pattern=ADMIN_PREFIX + '/artifacts') | |||
|
68 | config.add_route( | |||
|
69 | 'admin_artifacts_show_all', | |||
|
70 | pattern=ADMIN_PREFIX + '/artifacts') | |||
|
71 | config.add_view( | |||
|
72 | AdminArtifactsView, | |||
|
73 | attr='artifacts', | |||
|
74 | route_name='admin_artifacts', request_method='GET', | |||
|
75 | renderer='rhodecode:templates/admin/artifacts/artifacts.mako') | |||
|
76 | config.add_view( | |||
|
77 | AdminArtifactsView, | |||
|
78 | attr='artifacts', | |||
|
79 | route_name='admin_artifacts_show_all', request_method='GET', | |||
|
80 | renderer='rhodecode:templates/admin/artifacts/artifacts.mako') | |||
|
81 | # EE views | |||
|
82 | config.add_route( | |||
|
83 | name='admin_artifacts_show_info', | |||
|
84 | pattern=ADMIN_PREFIX + '/artifacts/{uid}') | |||
|
85 | config.add_route( | |||
|
86 | name='admin_artifacts_delete', | |||
|
87 | pattern=ADMIN_PREFIX + '/artifacts/{uid}/delete') | |||
|
88 | config.add_route( | |||
|
89 | name='admin_artifacts_update', | |||
|
90 | pattern=ADMIN_PREFIX + '/artifacts/{uid}/update') | |||
|
91 | ||||
63 | config.add_route( |
|
92 | config.add_route( | |
64 | name='admin_settings_open_source', |
|
93 | name='admin_settings_open_source', | |
65 | pattern='/settings/open_source') |
|
94 | pattern='/settings/open_source') |
@@ -76,7 +76,11 b' class TestMyAccountEdit(TestController):' | |||||
76 | 'requests requiring your participation.') |
|
76 | 'requests requiring your participation.') | |
77 |
|
77 | |||
78 | @pytest.mark.backends("git", "hg") |
|
78 | @pytest.mark.backends("git", "hg") | |
79 | def test_my_account_my_pullrequests_data(self, pr_util, xhr_header): |
|
79 | @pytest.mark.parametrize('params, expected_title', [ | |
|
80 | ({'closed': 1}, 'Closed'), | |||
|
81 | ({'awaiting_my_review': 1}, 'Awaiting my review'), | |||
|
82 | ]) | |||
|
83 | def test_my_account_my_pullrequests_data(self, pr_util, xhr_header, params, expected_title): | |||
80 | self.log_user() |
|
84 | self.log_user() | |
81 | response = self.app.get(route_path('my_account_pullrequests_data'), |
|
85 | response = self.app.get(route_path('my_account_pullrequests_data'), | |
82 | extra_environ=xhr_header) |
|
86 | extra_environ=xhr_header) |
@@ -43,7 +43,7 b' from rhodecode.model.comment import Comm' | |||||
43 | from rhodecode.model.db import ( |
|
43 | from rhodecode.model.db import ( | |
44 | IntegrityError, or_, in_filter_generator, |
|
44 | IntegrityError, or_, in_filter_generator, | |
45 | Repository, UserEmailMap, UserApiKeys, UserFollowing, |
|
45 | Repository, UserEmailMap, UserApiKeys, UserFollowing, | |
46 | PullRequest, UserBookmark, RepoGroup) |
|
46 | PullRequest, UserBookmark, RepoGroup, ChangesetStatus) | |
47 | from rhodecode.model.meta import Session |
|
47 | from rhodecode.model.meta import Session | |
48 | from rhodecode.model.pull_request import PullRequestModel |
|
48 | from rhodecode.model.pull_request import PullRequestModel | |
49 | from rhodecode.model.user import UserModel |
|
49 | from rhodecode.model.user import UserModel | |
@@ -654,21 +654,31 b' class MyAccountView(BaseAppView, DataGri' | |||||
654 | Session().commit() |
|
654 | Session().commit() | |
655 | return user.user_data['notification_status'] |
|
655 | return user.user_data['notification_status'] | |
656 |
|
656 | |||
657 | def _get_pull_requests_list(self, statuses): |
|
657 | def _get_pull_requests_list(self, statuses, filter_type=None): | |
658 | draw, start, limit = self._extract_chunk(self.request) |
|
658 | draw, start, limit = self._extract_chunk(self.request) | |
659 | search_q, order_by, order_dir = self._extract_ordering(self.request) |
|
659 | search_q, order_by, order_dir = self._extract_ordering(self.request) | |
660 |
|
660 | |||
661 | _render = self.request.get_partial_renderer( |
|
661 | _render = self.request.get_partial_renderer( | |
662 | 'rhodecode:templates/data_table/_dt_elements.mako') |
|
662 | 'rhodecode:templates/data_table/_dt_elements.mako') | |
663 |
|
663 | |||
664 | pull_requests = PullRequestModel().get_im_participating_in( |
|
664 | if filter_type == 'awaiting_my_review': | |
665 | user_id=self._rhodecode_user.user_id, |
|
665 | pull_requests = PullRequestModel().get_im_participating_in_for_review( | |
666 | statuses=statuses, query=search_q, |
|
666 | user_id=self._rhodecode_user.user_id, | |
667 | offset=start, length=limit, order_by=order_by, |
|
667 | statuses=statuses, query=search_q, | |
668 | order_dir=order_dir) |
|
668 | offset=start, length=limit, order_by=order_by, | |
|
669 | order_dir=order_dir) | |||
669 |
|
670 | |||
670 | pull_requests_total_count = PullRequestModel().count_im_participating_in( |
|
671 | pull_requests_total_count = PullRequestModel().count_im_participating_in_for_review( | |
671 | user_id=self._rhodecode_user.user_id, statuses=statuses, query=search_q) |
|
672 | user_id=self._rhodecode_user.user_id, statuses=statuses, query=search_q) | |
|
673 | else: | |||
|
674 | pull_requests = PullRequestModel().get_im_participating_in( | |||
|
675 | user_id=self._rhodecode_user.user_id, | |||
|
676 | statuses=statuses, query=search_q, | |||
|
677 | offset=start, length=limit, order_by=order_by, | |||
|
678 | order_dir=order_dir) | |||
|
679 | ||||
|
680 | pull_requests_total_count = PullRequestModel().count_im_participating_in( | |||
|
681 | user_id=self._rhodecode_user.user_id, statuses=statuses, query=search_q) | |||
672 |
|
682 | |||
673 | data = [] |
|
683 | data = [] | |
674 | comments_model = CommentsModel() |
|
684 | comments_model = CommentsModel() | |
@@ -678,6 +688,12 b' class MyAccountView(BaseAppView, DataGri' | |||||
678 | repo_id, pull_request=pr, include_drafts=False, count_only=True) |
|
688 | repo_id, pull_request=pr, include_drafts=False, count_only=True) | |
679 | owned = pr.user_id == self._rhodecode_user.user_id |
|
689 | owned = pr.user_id == self._rhodecode_user.user_id | |
680 |
|
690 | |||
|
691 | review_statuses = pr.reviewers_statuses(user=self._rhodecode_db_user) | |||
|
692 | my_review_status = ChangesetStatus.STATUS_NOT_REVIEWED | |||
|
693 | if review_statuses and review_statuses[4]: | |||
|
694 | _review_obj, _user, _reasons, _mandatory, statuses = review_statuses | |||
|
695 | my_review_status = statuses[0][1].status | |||
|
696 | ||||
681 | data.append({ |
|
697 | data.append({ | |
682 | 'target_repo': _render('pullrequest_target_repo', |
|
698 | 'target_repo': _render('pullrequest_target_repo', | |
683 | pr.target_repo.repo_name), |
|
699 | pr.target_repo.repo_name), | |
@@ -688,6 +704,8 b' class MyAccountView(BaseAppView, DataGri' | |||||
688 | 'name_raw': pr.pull_request_id, |
|
704 | 'name_raw': pr.pull_request_id, | |
689 | 'status': _render('pullrequest_status', |
|
705 | 'status': _render('pullrequest_status', | |
690 | pr.calculated_review_status()), |
|
706 | pr.calculated_review_status()), | |
|
707 | 'my_status': _render('pullrequest_status', | |||
|
708 | my_review_status), | |||
691 | 'title': _render('pullrequest_title', pr.title, pr.description), |
|
709 | 'title': _render('pullrequest_title', pr.title, pr.description), | |
692 | 'description': h.escape(pr.description), |
|
710 | 'description': h.escape(pr.description), | |
693 | 'updated_on': _render('pullrequest_updated_on', |
|
711 | 'updated_on': _render('pullrequest_updated_on', | |
@@ -723,7 +741,14 b' class MyAccountView(BaseAppView, DataGri' | |||||
723 | c.active = 'pullrequests' |
|
741 | c.active = 'pullrequests' | |
724 | req_get = self.request.GET |
|
742 | req_get = self.request.GET | |
725 |
|
743 | |||
726 |
c.closed = str2bool(req_get.get(' |
|
744 | c.closed = str2bool(req_get.get('closed')) | |
|
745 | c.awaiting_my_review = str2bool(req_get.get('awaiting_my_review')) | |||
|
746 | ||||
|
747 | c.selected_filter = 'all' | |||
|
748 | if c.closed: | |||
|
749 | c.selected_filter = 'all_closed' | |||
|
750 | if c.awaiting_my_review: | |||
|
751 | c.selected_filter = 'awaiting_my_review' | |||
727 |
|
752 | |||
728 | return self._get_template_context(c) |
|
753 | return self._get_template_context(c) | |
729 |
|
754 | |||
@@ -732,13 +757,19 b' class MyAccountView(BaseAppView, DataGri' | |||||
732 | def my_account_pullrequests_data(self): |
|
757 | def my_account_pullrequests_data(self): | |
733 | self.load_default_context() |
|
758 | self.load_default_context() | |
734 | req_get = self.request.GET |
|
759 | req_get = self.request.GET | |
|
760 | ||||
|
761 | awaiting_my_review = str2bool(req_get.get('awaiting_my_review')) | |||
735 | closed = str2bool(req_get.get('closed')) |
|
762 | closed = str2bool(req_get.get('closed')) | |
736 |
|
763 | |||
737 | statuses = [PullRequest.STATUS_NEW, PullRequest.STATUS_OPEN] |
|
764 | statuses = [PullRequest.STATUS_NEW, PullRequest.STATUS_OPEN] | |
738 | if closed: |
|
765 | if closed: | |
739 | statuses += [PullRequest.STATUS_CLOSED] |
|
766 | statuses += [PullRequest.STATUS_CLOSED] | |
740 |
|
767 | |||
741 | data = self._get_pull_requests_list(statuses=statuses) |
|
768 | filter_type = \ | |
|
769 | 'awaiting_my_review' if awaiting_my_review \ | |||
|
770 | else None | |||
|
771 | ||||
|
772 | data = self._get_pull_requests_list(statuses=statuses, filter_type=filter_type) | |||
742 | return data |
|
773 | return data | |
743 |
|
774 | |||
744 | @LoginRequired() |
|
775 | @LoginRequired() |
@@ -41,7 +41,7 b' class TestPullRequestList(object):' | |||||
41 |
|
41 | |||
42 | @pytest.mark.parametrize('params, expected_title', [ |
|
42 | @pytest.mark.parametrize('params, expected_title', [ | |
43 | ({'source': 0, 'closed': 1}, 'Closed'), |
|
43 | ({'source': 0, 'closed': 1}, 'Closed'), | |
44 |
({'source': 0, 'my': 1}, ' |
|
44 | ({'source': 0, 'my': 1}, 'Created by me'), | |
45 | ({'source': 0, 'awaiting_review': 1}, 'Awaiting review'), |
|
45 | ({'source': 0, 'awaiting_review': 1}, 'Awaiting review'), | |
46 | ({'source': 0, 'awaiting_my_review': 1}, 'Awaiting my review'), |
|
46 | ({'source': 0, 'awaiting_my_review': 1}, 'Awaiting my review'), | |
47 | ({'source': 1}, 'From this repo'), |
|
47 | ({'source': 1}, 'From this repo'), |
@@ -79,21 +79,20 b' class RepoPullRequestsView(RepoAppView, ' | |||||
79 |
|
79 | |||
80 | if filter_type == 'awaiting_review': |
|
80 | if filter_type == 'awaiting_review': | |
81 | pull_requests = PullRequestModel().get_awaiting_review( |
|
81 | pull_requests = PullRequestModel().get_awaiting_review( | |
82 | repo_name, search_q=search_q, source=source, opened_by=opened_by, |
|
82 | repo_name, | |
83 | statuses=statuses, offset=start, length=limit, |
|
83 | search_q=search_q, statuses=statuses, | |
84 | order_by=order_by, order_dir=order_dir) |
|
84 | offset=start, length=limit, order_by=order_by, order_dir=order_dir) | |
85 | pull_requests_total_count = PullRequestModel().count_awaiting_review( |
|
85 | pull_requests_total_count = PullRequestModel().count_awaiting_review( | |
86 | repo_name, search_q=search_q, source=source, statuses=statuses, |
|
86 | repo_name, | |
87 | opened_by=opened_by) |
|
87 | search_q=search_q, statuses=statuses) | |
88 | elif filter_type == 'awaiting_my_review': |
|
88 | elif filter_type == 'awaiting_my_review': | |
89 | pull_requests = PullRequestModel().get_awaiting_my_review( |
|
89 | pull_requests = PullRequestModel().get_awaiting_my_review( | |
90 | repo_name, search_q=search_q, source=source, opened_by=opened_by, |
|
90 | repo_name, self._rhodecode_user.user_id, | |
91 |
|
|
91 | search_q=search_q, statuses=statuses, | |
92 | offset=start, length=limit, order_by=order_by, |
|
92 | offset=start, length=limit, order_by=order_by, order_dir=order_dir) | |
93 | order_dir=order_dir) |
|
|||
94 | pull_requests_total_count = PullRequestModel().count_awaiting_my_review( |
|
93 | pull_requests_total_count = PullRequestModel().count_awaiting_my_review( | |
95 |
repo_name, |
|
94 | repo_name, self._rhodecode_user.user_id, | |
96 |
statuses=statuses |
|
95 | search_q=search_q, statuses=statuses) | |
97 | else: |
|
96 | else: | |
98 | pull_requests = PullRequestModel().get_all( |
|
97 | pull_requests = PullRequestModel().get_all( | |
99 | repo_name, search_q=search_q, source=source, opened_by=opened_by, |
|
98 | repo_name, search_q=search_q, source=source, opened_by=opened_by, | |
@@ -110,6 +109,12 b' class RepoPullRequestsView(RepoAppView, ' | |||||
110 | self.db_repo.repo_id, pull_request=pr, |
|
109 | self.db_repo.repo_id, pull_request=pr, | |
111 | include_drafts=False, count_only=True) |
|
110 | include_drafts=False, count_only=True) | |
112 |
|
111 | |||
|
112 | review_statuses = pr.reviewers_statuses(user=self._rhodecode_db_user) | |||
|
113 | my_review_status = ChangesetStatus.STATUS_NOT_REVIEWED | |||
|
114 | if review_statuses and review_statuses[4]: | |||
|
115 | _review_obj, _user, _reasons, _mandatory, statuses = review_statuses | |||
|
116 | my_review_status = statuses[0][1].status | |||
|
117 | ||||
113 | data.append({ |
|
118 | data.append({ | |
114 | 'name': _render('pullrequest_name', |
|
119 | 'name': _render('pullrequest_name', | |
115 | pr.pull_request_id, pr.pull_request_state, |
|
120 | pr.pull_request_id, pr.pull_request_state, | |
@@ -118,6 +123,8 b' class RepoPullRequestsView(RepoAppView, ' | |||||
118 | 'name_raw': pr.pull_request_id, |
|
123 | 'name_raw': pr.pull_request_id, | |
119 | 'status': _render('pullrequest_status', |
|
124 | 'status': _render('pullrequest_status', | |
120 | pr.calculated_review_status()), |
|
125 | pr.calculated_review_status()), | |
|
126 | 'my_status': _render('pullrequest_status', | |||
|
127 | my_review_status), | |||
121 | 'title': _render('pullrequest_title', pr.title, pr.description), |
|
128 | 'title': _render('pullrequest_title', pr.title, pr.description), | |
122 | 'description': h.escape(pr.description), |
|
129 | 'description': h.escape(pr.description), | |
123 | 'updated_on': _render('pullrequest_updated_on', |
|
130 | 'updated_on': _render('pullrequest_updated_on', |
This diff has been collapsed as it changes many lines, (635 lines changed) Show them Hide them | |||||
@@ -6,9 +6,9 b'' | |||||
6 | #, fuzzy |
|
6 | #, fuzzy | |
7 | msgid "" |
|
7 | msgid "" | |
8 | msgstr "" |
|
8 | msgstr "" | |
9 |
"Project-Id-Version: rhodecode-enterprise-ce 4.2 |
|
9 | "Project-Id-Version: rhodecode-enterprise-ce 4.25.0\n" | |
10 | "Report-Msgid-Bugs-To: marcin@rhodecode.com\n" |
|
10 | "Report-Msgid-Bugs-To: marcin@rhodecode.com\n" | |
11 |
"POT-Creation-Date: 2021-0 |
|
11 | "POT-Creation-Date: 2021-04-05 19:29+0000\n" | |
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
|
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | |
13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
|
13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
|
14 | "Language-Team: LANGUAGE <LL@li.org>\n" | |
@@ -111,7 +111,7 b' msgstr ""' | |||||
111 | #: rhodecode/apps/admin/views/settings.py:156 |
|
111 | #: rhodecode/apps/admin/views/settings.py:156 | |
112 | #: rhodecode/apps/admin/views/settings.py:291 |
|
112 | #: rhodecode/apps/admin/views/settings.py:291 | |
113 | #: rhodecode/apps/admin/views/settings.py:360 |
|
113 | #: rhodecode/apps/admin/views/settings.py:360 | |
114 |
#: rhodecode/apps/admin/views/settings.py:66 |
|
114 | #: rhodecode/apps/admin/views/settings.py:664 | |
115 | #: rhodecode/apps/repository/views/repo_settings_vcs.py:116 |
|
115 | #: rhodecode/apps/repository/views/repo_settings_vcs.py:116 | |
116 | msgid "Some form inputs contain invalid data." |
|
116 | msgid "Some form inputs contain invalid data." | |
117 | msgstr "" |
|
117 | msgstr "" | |
@@ -135,54 +135,54 b' msgstr ""' | |||||
135 | msgid "Updated application settings" |
|
135 | msgid "Updated application settings" | |
136 | msgstr "" |
|
136 | msgstr "" | |
137 |
|
137 | |||
138 |
#: rhodecode/apps/admin/views/settings.py: |
|
138 | #: rhodecode/apps/admin/views/settings.py:400 | |
139 | msgid "Updated visualisation settings" |
|
139 | msgid "Updated visualisation settings" | |
140 | msgstr "" |
|
140 | msgstr "" | |
141 |
|
141 | |||
142 |
#: rhodecode/apps/admin/views/settings.py:40 |
|
142 | #: rhodecode/apps/admin/views/settings.py:403 | |
143 | msgid "Error occurred during updating visualisation settings" |
|
143 | msgid "Error occurred during updating visualisation settings" | |
144 | msgstr "" |
|
144 | msgstr "" | |
145 |
|
145 | |||
146 |
#: rhodecode/apps/admin/views/settings.py:46 |
|
146 | #: rhodecode/apps/admin/views/settings.py:465 | |
147 | #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:115 |
|
147 | #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:115 | |
148 | msgid "Invalid issue tracker pattern: {}" |
|
148 | msgid "Invalid issue tracker pattern: {}" | |
149 | msgstr "" |
|
149 | msgstr "" | |
150 |
|
150 | |||
151 |
#: rhodecode/apps/admin/views/settings.py:48 |
|
151 | #: rhodecode/apps/admin/views/settings.py:482 | |
152 | #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:124 |
|
152 | #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:124 | |
153 | msgid "Updated issue tracker entries" |
|
153 | msgid "Updated issue tracker entries" | |
154 | msgstr "" |
|
154 | msgstr "" | |
155 |
|
155 | |||
156 |
#: rhodecode/apps/admin/views/settings.py:49 |
|
156 | #: rhodecode/apps/admin/views/settings.py:499 | |
157 | #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:82 |
|
157 | #: rhodecode/apps/repository/views/repo_settings_issue_trackers.py:82 | |
158 | msgid "Removed issue tracker entry." |
|
158 | msgid "Removed issue tracker entry." | |
159 | msgstr "" |
|
159 | msgstr "" | |
160 |
|
160 | |||
161 |
#: rhodecode/apps/admin/views/settings.py:53 |
|
161 | #: rhodecode/apps/admin/views/settings.py:531 | |
162 | msgid "Please enter email address" |
|
162 | msgid "Please enter email address" | |
163 | msgstr "" |
|
163 | msgstr "" | |
164 |
|
164 | |||
165 |
#: rhodecode/apps/admin/views/settings.py:54 |
|
165 | #: rhodecode/apps/admin/views/settings.py:547 | |
166 | msgid "Send email task created" |
|
166 | msgid "Send email task created" | |
167 | msgstr "" |
|
167 | msgstr "" | |
168 |
|
168 | |||
169 |
#: rhodecode/apps/admin/views/settings.py:58 |
|
169 | #: rhodecode/apps/admin/views/settings.py:588 | |
170 | msgid "Added new hook" |
|
170 | msgid "Added new hook" | |
171 | msgstr "" |
|
171 | msgstr "" | |
172 |
|
172 | |||
173 |
#: rhodecode/apps/admin/views/settings.py:60 |
|
173 | #: rhodecode/apps/admin/views/settings.py:603 | |
174 | msgid "Updated hooks" |
|
174 | msgid "Updated hooks" | |
175 | msgstr "" |
|
175 | msgstr "" | |
176 |
|
176 | |||
177 |
#: rhodecode/apps/admin/views/settings.py:60 |
|
177 | #: rhodecode/apps/admin/views/settings.py:607 | |
178 | msgid "Error occurred during hook creation" |
|
178 | msgid "Error occurred during hook creation" | |
179 | msgstr "" |
|
179 | msgstr "" | |
180 |
|
180 | |||
181 |
#: rhodecode/apps/admin/views/settings.py:68 |
|
181 | #: rhodecode/apps/admin/views/settings.py:688 | |
182 | msgid "Error occurred during updating labs settings" |
|
182 | msgid "Error occurred during updating labs settings" | |
183 | msgstr "" |
|
183 | msgstr "" | |
184 |
|
184 | |||
185 |
#: rhodecode/apps/admin/views/settings.py:69 |
|
185 | #: rhodecode/apps/admin/views/settings.py:693 | |
186 | msgid "Updated Labs settings" |
|
186 | msgid "Updated Labs settings" | |
187 | msgstr "" |
|
187 | msgstr "" | |
188 |
|
188 | |||
@@ -592,7 +592,7 b' msgstr ""' | |||||
592 | msgid "1 month" |
|
592 | msgid "1 month" | |
593 | msgstr "" |
|
593 | msgstr "" | |
594 |
|
594 | |||
595 |
#: rhodecode/apps/gist/views.py:63 rhodecode/public/js/scripts.js:48 |
|
595 | #: rhodecode/apps/gist/views.py:63 rhodecode/public/js/scripts.js:48670 | |
596 | #: rhodecode/public/js/scripts.min.js:1 |
|
596 | #: rhodecode/public/js/scripts.min.js:1 | |
597 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:48 |
|
597 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:48 | |
598 | #: rhodecode/public/js/src/rhodecode.js:634 |
|
598 | #: rhodecode/public/js/src/rhodecode.js:634 | |
@@ -653,8 +653,8 b' msgstr ""' | |||||
653 | #: rhodecode/templates/admin/repos/repo_add.mako:19 |
|
653 | #: rhodecode/templates/admin/repos/repo_add.mako:19 | |
654 | #: rhodecode/templates/admin/users/user_edit_advanced.mako:12 |
|
654 | #: rhodecode/templates/admin/users/user_edit_advanced.mako:12 | |
655 | #: rhodecode/templates/base/base.mako:114 |
|
655 | #: rhodecode/templates/base/base.mako:114 | |
656 |
#: rhodecode/templates/base/base.mako:13 |
|
656 | #: rhodecode/templates/base/base.mako:134 | |
657 |
#: rhodecode/templates/base/base.mako:119 |
|
657 | #: rhodecode/templates/base/base.mako:1192 | |
658 | msgid "Repositories" |
|
658 | msgid "Repositories" | |
659 | msgstr "" |
|
659 | msgstr "" | |
660 |
|
660 | |||
@@ -894,104 +894,104 b' msgstr ""' | |||||
894 | msgid "No such commit exists for this repository. Commit: {}" |
|
894 | msgid "No such commit exists for this repository. Commit: {}" | |
895 | msgstr "" |
|
895 | msgstr "" | |
896 |
|
896 | |||
897 |
#: rhodecode/apps/repository/views/repo_files.py:35 |
|
897 | #: rhodecode/apps/repository/views/repo_files.py:359 | |
898 | msgid "Downloads disabled" |
|
898 | msgid "Downloads disabled" | |
899 | msgstr "" |
|
899 | msgstr "" | |
900 |
|
900 | |||
901 |
#: rhodecode/apps/repository/views/repo_files.py:36 |
|
901 | #: rhodecode/apps/repository/views/repo_files.py:365 | |
902 | msgid "Unknown archive type for: `{}`" |
|
902 | msgid "Unknown archive type for: `{}`" | |
903 | msgstr "" |
|
903 | msgstr "" | |
904 |
|
904 | |||
905 |
#: rhodecode/apps/repository/views/repo_files.py:37 |
|
905 | #: rhodecode/apps/repository/views/repo_files.py:371 | |
906 | msgid "Unknown commit_id {}" |
|
906 | msgid "Unknown commit_id {}" | |
907 | msgstr "" |
|
907 | msgstr "" | |
908 |
|
908 | |||
909 |
#: rhodecode/apps/repository/views/repo_files.py:37 |
|
909 | #: rhodecode/apps/repository/views/repo_files.py:374 | |
910 | msgid "Empty repository" |
|
910 | msgid "Empty repository" | |
911 | msgstr "" |
|
911 | msgstr "" | |
912 |
|
912 | |||
913 |
#: rhodecode/apps/repository/views/repo_files.py:3 |
|
913 | #: rhodecode/apps/repository/views/repo_files.py:384 | |
914 | msgid "No node at path {} for this repository" |
|
914 | msgid "No node at path {} for this repository" | |
915 | msgstr "" |
|
915 | msgstr "" | |
916 |
|
916 | |||
917 |
#: rhodecode/apps/repository/views/repo_files.py:4 |
|
917 | #: rhodecode/apps/repository/views/repo_files.py:436 | |
918 | msgid "Unknown archive type" |
|
918 | msgid "Unknown archive type" | |
919 | msgstr "" |
|
919 | msgstr "" | |
920 |
|
920 | |||
921 |
#: rhodecode/apps/repository/views/repo_files.py:9 |
|
921 | #: rhodecode/apps/repository/views/repo_files.py:993 | |
922 | msgid "Changesets" |
|
922 | msgid "Changesets" | |
923 | msgstr "" |
|
923 | msgstr "" | |
924 |
|
924 | |||
925 |
#: rhodecode/apps/repository/views/repo_files.py:10 |
|
925 | #: rhodecode/apps/repository/views/repo_files.py:1014 | |
926 |
#: rhodecode/apps/repository/views/repo_summary.py:2 |
|
926 | #: rhodecode/apps/repository/views/repo_summary.py:239 | |
927 |
#: rhodecode/model/pull_request.py:191 |
|
927 | #: rhodecode/model/pull_request.py:1912 rhodecode/model/scm.py:999 | |
928 | #: rhodecode/templates/base/vcs_settings.mako:235 |
|
928 | #: rhodecode/templates/base/vcs_settings.mako:235 | |
929 | #: rhodecode/templates/summary/components.mako:10 |
|
929 | #: rhodecode/templates/summary/components.mako:10 | |
930 | msgid "Branches" |
|
930 | msgid "Branches" | |
931 | msgstr "" |
|
931 | msgstr "" | |
932 |
|
932 | |||
933 |
#: rhodecode/apps/repository/views/repo_files.py:101 |
|
933 | #: rhodecode/apps/repository/views/repo_files.py:1018 | |
934 | #: rhodecode/model/scm.py:1016 rhodecode/templates/base/vcs_settings.mako:260 |
|
934 | #: rhodecode/model/scm.py:1016 rhodecode/templates/base/vcs_settings.mako:260 | |
935 | #: rhodecode/templates/summary/components.mako:34 |
|
935 | #: rhodecode/templates/summary/components.mako:34 | |
936 | msgid "Tags" |
|
936 | msgid "Tags" | |
937 | msgstr "" |
|
937 | msgstr "" | |
938 |
|
938 | |||
939 |
#: rhodecode/apps/repository/views/repo_files.py:11 |
|
939 | #: rhodecode/apps/repository/views/repo_files.py:1162 | |
940 |
#: rhodecode/apps/repository/views/repo_files.py:118 |
|
940 | #: rhodecode/apps/repository/views/repo_files.py:1188 | |
941 | msgid "Deleted file {} via RhodeCode Enterprise" |
|
941 | msgid "Deleted file {} via RhodeCode Enterprise" | |
942 | msgstr "" |
|
942 | msgstr "" | |
943 |
|
943 | |||
944 |
#: rhodecode/apps/repository/views/repo_files.py:120 |
|
944 | #: rhodecode/apps/repository/views/repo_files.py:1209 | |
945 | msgid "Successfully deleted file `{}`" |
|
945 | msgid "Successfully deleted file `{}`" | |
946 | msgstr "" |
|
946 | msgstr "" | |
947 |
|
947 | |||
948 |
#: rhodecode/apps/repository/views/repo_files.py:12 |
|
948 | #: rhodecode/apps/repository/views/repo_files.py:1213 | |
|
949 | #: rhodecode/apps/repository/views/repo_files.py:1326 | |||
|
950 | #: rhodecode/apps/repository/views/repo_files.py:1450 | |||
|
951 | #: rhodecode/apps/repository/views/repo_files.py:1571 | |||
|
952 | msgid "Error occurred during commit" | |||
|
953 | msgstr "" | |||
|
954 | ||||
|
955 | #: rhodecode/apps/repository/views/repo_files.py:1243 | |||
|
956 | #: rhodecode/apps/repository/views/repo_files.py:1272 | |||
|
957 | msgid "Edited file {} via RhodeCode Enterprise" | |||
|
958 | msgstr "" | |||
|
959 | ||||
|
960 | #: rhodecode/apps/repository/views/repo_files.py:1295 | |||
|
961 | msgid "No changes detected on {}" | |||
|
962 | msgstr "" | |||
|
963 | ||||
949 | #: rhodecode/apps/repository/views/repo_files.py:1319 |
|
964 | #: rhodecode/apps/repository/views/repo_files.py:1319 | |
950 | #: rhodecode/apps/repository/views/repo_files.py:1443 |
|
|||
951 | #: rhodecode/apps/repository/views/repo_files.py:1564 |
|
|||
952 | msgid "Error occurred during commit" |
|
|||
953 | msgstr "" |
|
|||
954 |
|
||||
955 | #: rhodecode/apps/repository/views/repo_files.py:1236 |
|
|||
956 | #: rhodecode/apps/repository/views/repo_files.py:1265 |
|
|||
957 | msgid "Edited file {} via RhodeCode Enterprise" |
|
|||
958 | msgstr "" |
|
|||
959 |
|
||||
960 | #: rhodecode/apps/repository/views/repo_files.py:1288 |
|
|||
961 | msgid "No changes detected on {}" |
|
|||
962 | msgstr "" |
|
|||
963 |
|
||||
964 | #: rhodecode/apps/repository/views/repo_files.py:1312 |
|
|||
965 | msgid "Successfully committed changes to file `{}`" |
|
965 | msgid "Successfully committed changes to file `{}`" | |
966 | msgstr "" |
|
966 | msgstr "" | |
967 |
|
967 | |||
968 |
#: rhodecode/apps/repository/views/repo_files.py:13 |
|
968 | #: rhodecode/apps/repository/views/repo_files.py:1355 | |
969 |
#: rhodecode/apps/repository/views/repo_files.py:13 |
|
969 | #: rhodecode/apps/repository/views/repo_files.py:1394 | |
970 | msgid "Added file via RhodeCode Enterprise" |
|
970 | msgid "Added file via RhodeCode Enterprise" | |
971 | msgstr "" |
|
971 | msgstr "" | |
972 |
|
972 | |||
973 |
#: rhodecode/apps/repository/views/repo_files.py:140 |
|
973 | #: rhodecode/apps/repository/views/repo_files.py:1410 | |
974 | msgid "No filename specified" |
|
974 | msgid "No filename specified" | |
975 | msgstr "" |
|
975 | msgstr "" | |
976 |
|
976 | |||
977 |
#: rhodecode/apps/repository/views/repo_files.py:14 |
|
977 | #: rhodecode/apps/repository/views/repo_files.py:1435 | |
978 | msgid "Successfully committed new file `{}`" |
|
978 | msgid "Successfully committed new file `{}`" | |
979 | msgstr "" |
|
979 | msgstr "" | |
980 |
|
980 | |||
981 |
#: rhodecode/apps/repository/views/repo_files.py:143 |
|
981 | #: rhodecode/apps/repository/views/repo_files.py:1443 | |
982 |
#: rhodecode/apps/repository/views/repo_files.py:15 |
|
982 | #: rhodecode/apps/repository/views/repo_files.py:1553 | |
983 | msgid "The location specified must be a relative path and must not contain .. in the path" |
|
983 | msgid "The location specified must be a relative path and must not contain .. in the path" | |
984 | msgstr "" |
|
984 | msgstr "" | |
985 |
|
985 | |||
986 |
#: rhodecode/apps/repository/views/repo_files.py:149 |
|
986 | #: rhodecode/apps/repository/views/repo_files.py:1498 | |
987 | msgid "Uploaded file via RhodeCode Enterprise" |
|
987 | msgid "Uploaded file via RhodeCode Enterprise" | |
988 | msgstr "" |
|
988 | msgstr "" | |
989 |
|
989 | |||
990 |
#: rhodecode/apps/repository/views/repo_files.py:15 |
|
990 | #: rhodecode/apps/repository/views/repo_files.py:1542 | |
991 | msgid "Successfully committed {} new files" |
|
991 | msgid "Successfully committed {} new files" | |
992 | msgstr "" |
|
992 | msgstr "" | |
993 |
|
993 | |||
994 |
#: rhodecode/apps/repository/views/repo_files.py:15 |
|
994 | #: rhodecode/apps/repository/views/repo_files.py:1544 | |
995 | msgid "Successfully committed 1 new file" |
|
995 | msgid "Successfully committed 1 new file" | |
996 | msgstr "" |
|
996 | msgstr "" | |
997 |
|
997 | |||
@@ -1215,23 +1215,23 b' msgstr ""' | |||||
1215 | msgid "Error occurred during updating repository VCS settings" |
|
1215 | msgid "Error occurred during updating repository VCS settings" | |
1216 | msgstr "" |
|
1216 | msgstr "" | |
1217 |
|
1217 | |||
1218 |
#: rhodecode/apps/repository/views/repo_summary.py:2 |
|
1218 | #: rhodecode/apps/repository/views/repo_summary.py:218 | |
1219 | #: rhodecode/templates/admin/permissions/permissions.mako:42 |
|
1219 | #: rhodecode/templates/admin/permissions/permissions.mako:42 | |
1220 | #: rhodecode/templates/summary/components.mako:8 |
|
1220 | #: rhodecode/templates/summary/components.mako:8 | |
1221 | msgid "Branch" |
|
1221 | msgid "Branch" | |
1222 | msgstr "" |
|
1222 | msgstr "" | |
1223 |
|
1223 | |||
1224 |
#: rhodecode/apps/repository/views/repo_summary.py:2 |
|
1224 | #: rhodecode/apps/repository/views/repo_summary.py:219 | |
1225 | #: rhodecode/templates/summary/components.mako:32 |
|
1225 | #: rhodecode/templates/summary/components.mako:32 | |
1226 | msgid "Tag" |
|
1226 | msgid "Tag" | |
1227 | msgstr "" |
|
1227 | msgstr "" | |
1228 |
|
1228 | |||
1229 |
#: rhodecode/apps/repository/views/repo_summary.py:22 |
|
1229 | #: rhodecode/apps/repository/views/repo_summary.py:220 | |
1230 | #: rhodecode/templates/summary/components.mako:44 |
|
1230 | #: rhodecode/templates/summary/components.mako:44 | |
1231 | msgid "Bookmark" |
|
1231 | msgid "Bookmark" | |
1232 | msgstr "" |
|
1232 | msgstr "" | |
1233 |
|
1233 | |||
1234 |
#: rhodecode/apps/repository/views/repo_summary.py:24 |
|
1234 | #: rhodecode/apps/repository/views/repo_summary.py:240 | |
1235 | msgid "Closed branches" |
|
1235 | msgid "Closed branches" | |
1236 | msgstr "" |
|
1236 | msgstr "" | |
1237 |
|
1237 | |||
@@ -1291,9 +1291,9 b' msgid "Enable or disable this authentica' | |||||
1291 | msgstr "" |
|
1291 | msgstr "" | |
1292 |
|
1292 | |||
1293 | #: rhodecode/authentication/schema.py:38 rhodecode/integrations/schema.py:32 |
|
1293 | #: rhodecode/authentication/schema.py:38 rhodecode/integrations/schema.py:32 | |
1294 |
#: rhodecode/model/permission.py:11 |
|
1294 | #: rhodecode/model/permission.py:112 rhodecode/model/permission.py:116 | |
1295 |
#: rhodecode/model/permission.py:1 |
|
1295 | #: rhodecode/model/permission.py:120 rhodecode/model/permission.py:124 | |
1296 |
#: rhodecode/model/permission.py:12 |
|
1296 | #: rhodecode/model/permission.py:128 rhodecode/model/permission.py:132 | |
1297 | #: rhodecode/model/validation_schema/schemas/integration_schema.py:195 |
|
1297 | #: rhodecode/model/validation_schema/schemas/integration_schema.py:195 | |
1298 | #: rhodecode/templates/admin/auth/auth_settings.mako:64 |
|
1298 | #: rhodecode/templates/admin/auth/auth_settings.mako:64 | |
1299 | #: rhodecode/templates/admin/integrations/list.mako:71 |
|
1299 | #: rhodecode/templates/admin/integrations/list.mako:71 | |
@@ -1806,7 +1806,7 b' msgstr ""' | |||||
1806 | #: rhodecode/templates/admin/settings/settings_issuetracker.mako:16 |
|
1806 | #: rhodecode/templates/admin/settings/settings_issuetracker.mako:16 | |
1807 | #: rhodecode/templates/admin/settings/settings_labs.mako:49 |
|
1807 | #: rhodecode/templates/admin/settings/settings_labs.mako:49 | |
1808 | #: rhodecode/templates/admin/settings/settings_vcs.mako:14 |
|
1808 | #: rhodecode/templates/admin/settings/settings_vcs.mako:14 | |
1809 |
#: rhodecode/templates/admin/settings/settings_visual.mako:21 |
|
1809 | #: rhodecode/templates/admin/settings/settings_visual.mako:218 | |
1810 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:217 |
|
1810 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:217 | |
1811 | #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:107 |
|
1811 | #: rhodecode/templates/admin/users/user_edit_auth_tokens.mako:107 | |
1812 | #: rhodecode/templates/admin/users/user_edit_emails.mako:66 |
|
1812 | #: rhodecode/templates/admin/users/user_edit_emails.mako:66 | |
@@ -1841,7 +1841,7 b' msgstr ""' | |||||
1841 | #: rhodecode/templates/changeset/changeset_file_comment.mako:236 |
|
1841 | #: rhodecode/templates/changeset/changeset_file_comment.mako:236 | |
1842 | #: rhodecode/templates/changeset/changeset_file_comment.mako:250 |
|
1842 | #: rhodecode/templates/changeset/changeset_file_comment.mako:250 | |
1843 | #: rhodecode/templates/changeset/changeset_file_comment.mako:259 |
|
1843 | #: rhodecode/templates/changeset/changeset_file_comment.mako:259 | |
1844 |
#: rhodecode/templates/data_table/_dt_elements.mako:4 |
|
1844 | #: rhodecode/templates/data_table/_dt_elements.mako:445 | |
1845 | #: rhodecode/templates/debug_style/buttons.html:132 |
|
1845 | #: rhodecode/templates/debug_style/buttons.html:132 | |
1846 | #: rhodecode/templates/files/files_source.mako:40 |
|
1846 | #: rhodecode/templates/files/files_source.mako:40 | |
1847 | #: rhodecode/templates/files/files_source.mako:47 |
|
1847 | #: rhodecode/templates/files/files_source.mako:47 | |
@@ -2229,15 +2229,15 b' msgstr ""' | |||||
2229 | msgid "Commit not found" |
|
2229 | msgid "Commit not found" | |
2230 | msgstr "" |
|
2230 | msgstr "" | |
2231 |
|
2231 | |||
2232 |
#: rhodecode/lib/auth.py:17 |
|
2232 | #: rhodecode/lib/auth.py:1771 | |
2233 | msgid "IP {} not allowed" |
|
2233 | msgid "IP {} not allowed" | |
2234 | msgstr "" |
|
2234 | msgstr "" | |
2235 |
|
2235 | |||
2236 |
#: rhodecode/lib/auth.py:186 |
|
2236 | #: rhodecode/lib/auth.py:1863 | |
2237 | msgid "You need to be a registered user to perform this action" |
|
2237 | msgid "You need to be a registered user to perform this action" | |
2238 | msgstr "" |
|
2238 | msgstr "" | |
2239 |
|
2239 | |||
2240 |
#: rhodecode/lib/auth.py:190 |
|
2240 | #: rhodecode/lib/auth.py:1907 | |
2241 | msgid "You need to be signed in to view this page" |
|
2241 | msgid "You need to be signed in to view this page" | |
2242 | msgstr "" |
|
2242 | msgstr "" | |
2243 |
|
2243 | |||
@@ -2249,7 +2249,7 b' msgstr ""' | |||||
2249 | msgid "Click to select line" |
|
2249 | msgid "Click to select line" | |
2250 | msgstr "" |
|
2250 | msgstr "" | |
2251 |
|
2251 | |||
2252 |
#: rhodecode/lib/helpers.py:18 |
|
2252 | #: rhodecode/lib/helpers.py:1883 | |
2253 | msgid "" |
|
2253 | msgid "" | |
2254 | "Example filter terms:\n" |
|
2254 | "Example filter terms:\n" | |
2255 | " repository:vcs\n" |
|
2255 | " repository:vcs\n" | |
@@ -2271,7 +2271,7 b' msgid ""' | |||||
2271 | " \"username:test AND repository:test*\"\n" |
|
2271 | " \"username:test AND repository:test*\"\n" | |
2272 | msgstr "" |
|
2272 | msgstr "" | |
2273 |
|
2273 | |||
2274 |
#: rhodecode/lib/helpers.py:190 |
|
2274 | #: rhodecode/lib/helpers.py:1907 | |
2275 | #, python-format |
|
2275 | #, python-format | |
2276 | msgid "%s repository is not mapped to db perhaps it was created or renamed from the filesystem please run the application again in order to rescan repositories" |
|
2276 | msgid "%s repository is not mapped to db perhaps it was created or renamed from the filesystem please run the application again in order to rescan repositories" | |
2277 | msgstr "" |
|
2277 | msgstr "" | |
@@ -2760,7 +2760,7 b' msgstr ""' | |||||
2760 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3011 |
|
2760 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:3011 | |
2761 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3012 |
|
2761 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:3012 | |
2762 | #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3230 rhodecode/model/db.py:3997 |
|
2762 | #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:3230 rhodecode/model/db.py:3997 | |
2763 |
#: rhodecode/public/js/scripts.js:42 |
|
2763 | #: rhodecode/public/js/scripts.js:42733 rhodecode/public/js/scripts.min.js:1 | |
2764 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:72 |
|
2764 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:72 | |
2765 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:396 |
|
2765 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:396 | |
2766 | msgid "Not Reviewed" |
|
2766 | msgid "Not Reviewed" | |
@@ -3520,7 +3520,7 b' msgstr ""' | |||||
3520 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2358 |
|
3520 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2358 | |
3521 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2359 |
|
3521 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2359 | |
3522 | #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2559 rhodecode/model/db.py:3174 |
|
3522 | #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2559 rhodecode/model/db.py:3174 | |
3523 |
#: rhodecode/model/permission.py:10 |
|
3523 | #: rhodecode/model/permission.py:107 | |
3524 | msgid "Manual activation of external account" |
|
3524 | msgid "Manual activation of external account" | |
3525 | msgstr "" |
|
3525 | msgstr "" | |
3526 |
|
3526 | |||
@@ -3560,7 +3560,7 b' msgstr ""' | |||||
3560 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2359 |
|
3560 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_0.py:2359 | |
3561 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2360 |
|
3561 | #: rhodecode/lib/dbmigrate/schema/db_4_7_0_1.py:2360 | |
3562 | #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2560 rhodecode/model/db.py:3175 |
|
3562 | #: rhodecode/lib/dbmigrate/schema/db_4_9_0_0.py:2560 rhodecode/model/db.py:3175 | |
3563 |
#: rhodecode/model/permission.py:10 |
|
3563 | #: rhodecode/model/permission.py:108 | |
3564 | msgid "Automatic activation of external account" |
|
3564 | msgid "Automatic activation of external account" | |
3565 | msgstr "" |
|
3565 | msgstr "" | |
3566 |
|
3566 | |||
@@ -3986,51 +3986,51 b' msgstr ""' | |||||
3986 | msgid "Commit index" |
|
3986 | msgid "Commit index" | |
3987 | msgstr "" |
|
3987 | msgstr "" | |
3988 |
|
3988 | |||
3989 |
#: rhodecode/lib/vcs/backends/base.py:1 |
|
3989 | #: rhodecode/lib/vcs/backends/base.py:190 | |
3990 | msgid "This pull request can be automatically merged." |
|
3990 | msgid "This pull request can be automatically merged." | |
3991 | msgstr "" |
|
3991 | msgstr "" | |
3992 |
|
3992 | |||
3993 |
#: rhodecode/lib/vcs/backends/base.py:1 |
|
3993 | #: rhodecode/lib/vcs/backends/base.py:192 | |
3994 | msgid "This pull request cannot be merged because of an unhandled exception. {exception}" |
|
3994 | msgid "This pull request cannot be merged because of an unhandled exception. {exception}" | |
3995 | msgstr "" |
|
3995 | msgstr "" | |
3996 |
|
3996 | |||
3997 |
#: rhodecode/lib/vcs/backends/base.py:19 |
|
3997 | #: rhodecode/lib/vcs/backends/base.py:195 | |
3998 | msgid "This pull request cannot be merged because of merge conflicts. {unresolved_files}" |
|
3998 | msgid "This pull request cannot be merged because of merge conflicts. {unresolved_files}" | |
3999 | msgstr "" |
|
3999 | msgstr "" | |
4000 |
|
4000 | |||
4001 |
#: rhodecode/lib/vcs/backends/base.py:19 |
|
4001 | #: rhodecode/lib/vcs/backends/base.py:197 | |
4002 | msgid "This pull request could not be merged because push to target:`{target}@{merge_commit}` failed." |
|
4002 | msgid "This pull request could not be merged because push to target:`{target}@{merge_commit}` failed." | |
4003 | msgstr "" |
|
4003 | msgstr "" | |
4004 |
|
4004 | |||
4005 |
#: rhodecode/lib/vcs/backends/base.py: |
|
4005 | #: rhodecode/lib/vcs/backends/base.py:200 | |
4006 | msgid "This pull request cannot be merged because the target `{target_ref.name}` is not a head." |
|
4006 | msgid "This pull request cannot be merged because the target `{target_ref.name}` is not a head." | |
4007 | msgstr "" |
|
4007 | msgstr "" | |
4008 |
|
4008 | |||
4009 |
#: rhodecode/lib/vcs/backends/base.py: |
|
4009 | #: rhodecode/lib/vcs/backends/base.py:203 | |
4010 | msgid "This pull request cannot be merged because the source contains more branches than the target." |
|
4010 | msgid "This pull request cannot be merged because the source contains more branches than the target." | |
4011 | msgstr "" |
|
4011 | msgstr "" | |
4012 |
|
4012 | |||
4013 |
#: rhodecode/lib/vcs/backends/base.py:20 |
|
4013 | #: rhodecode/lib/vcs/backends/base.py:206 | |
4014 | msgid "This pull request cannot be merged because the target `{target_ref.name}` has multiple heads: `{heads}`." |
|
4014 | msgid "This pull request cannot be merged because the target `{target_ref.name}` has multiple heads: `{heads}`." | |
4015 | msgstr "" |
|
4015 | msgstr "" | |
4016 |
|
4016 | |||
4017 | #: rhodecode/lib/vcs/backends/base.py:205 |
|
|||
4018 | msgid "This pull request cannot be merged because the target repository is locked by {locked_by}." |
|
|||
4019 | msgstr "" |
|
|||
4020 |
|
||||
4021 | #: rhodecode/lib/vcs/backends/base.py:209 |
|
4017 | #: rhodecode/lib/vcs/backends/base.py:209 | |
|
4018 | msgid "This pull request cannot be merged because the target repository is locked by {locked_by}." | |||
|
4019 | msgstr "" | |||
|
4020 | ||||
|
4021 | #: rhodecode/lib/vcs/backends/base.py:213 | |||
4022 | msgid "This pull request cannot be merged because the target reference `{target_ref.name}` is missing." |
|
4022 | msgid "This pull request cannot be merged because the target reference `{target_ref.name}` is missing." | |
4023 | msgstr "" |
|
4023 | msgstr "" | |
4024 |
|
4024 | |||
4025 |
#: rhodecode/lib/vcs/backends/base.py:21 |
|
4025 | #: rhodecode/lib/vcs/backends/base.py:216 | |
4026 | msgid "This pull request cannot be merged because the source reference `{source_ref.name}` is missing." |
|
4026 | msgid "This pull request cannot be merged because the source reference `{source_ref.name}` is missing." | |
4027 | msgstr "" |
|
4027 | msgstr "" | |
4028 |
|
4028 | |||
4029 |
#: rhodecode/lib/vcs/backends/base.py:21 |
|
4029 | #: rhodecode/lib/vcs/backends/base.py:219 | |
4030 | msgid "This pull request cannot be merged because of conflicts related to sub repositories." |
|
4030 | msgid "This pull request cannot be merged because of conflicts related to sub repositories." | |
4031 | msgstr "" |
|
4031 | msgstr "" | |
4032 |
|
4032 | |||
4033 |
#: rhodecode/lib/vcs/backends/base.py:22 |
|
4033 | #: rhodecode/lib/vcs/backends/base.py:224 | |
4034 | msgid "This pull request cannot be merged because the target or the source reference is missing." |
|
4034 | msgid "This pull request cannot be merged because the target or the source reference is missing." | |
4035 | msgstr "" |
|
4035 | msgstr "" | |
4036 |
|
4036 | |||
@@ -4138,8 +4138,8 b' msgstr ""' | |||||
4138 | msgid "%(user)s commented on pull request at %(date_or_age)s" |
|
4138 | msgid "%(user)s commented on pull request at %(date_or_age)s" | |
4139 | msgstr "" |
|
4139 | msgstr "" | |
4140 |
|
4140 | |||
4141 |
#: rhodecode/model/permission.py:7 |
|
4141 | #: rhodecode/model/permission.py:73 rhodecode/model/permission.py:79 | |
4142 |
#: rhodecode/model/permission.py:8 |
|
4142 | #: rhodecode/model/permission.py:85 | |
4143 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:11 |
|
4143 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:11 | |
4144 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:217 |
|
4144 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:217 | |
4145 | #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:11 |
|
4145 | #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:11 | |
@@ -4147,27 +4147,27 b' msgstr ""' | |||||
4147 | msgid "None" |
|
4147 | msgid "None" | |
4148 | msgstr "" |
|
4148 | msgstr "" | |
4149 |
|
4149 | |||
4150 |
#: rhodecode/model/permission.py:7 |
|
4150 | #: rhodecode/model/permission.py:74 rhodecode/model/permission.py:80 | |
4151 |
#: rhodecode/model/permission.py:8 |
|
4151 | #: rhodecode/model/permission.py:86 | |
4152 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:12 |
|
4152 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:12 | |
4153 | #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:12 |
|
4153 | #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:12 | |
4154 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:16 |
|
4154 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:16 | |
4155 | msgid "Read" |
|
4155 | msgid "Read" | |
4156 | msgstr "" |
|
4156 | msgstr "" | |
4157 |
|
4157 | |||
4158 |
#: rhodecode/model/permission.py:7 |
|
4158 | #: rhodecode/model/permission.py:75 rhodecode/model/permission.py:81 | |
4159 |
#: rhodecode/model/permission.py:8 |
|
4159 | #: rhodecode/model/permission.py:87 | |
4160 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:13 |
|
4160 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_permissions.mako:13 | |
4161 | #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:13 |
|
4161 | #: rhodecode/templates/admin/repos/repo_edit_permissions.mako:13 | |
4162 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:17 |
|
4162 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:17 | |
4163 | #: rhodecode/templates/changeset/changeset_file_comment.mako:392 |
|
4163 | #: rhodecode/templates/changeset/changeset_file_comment.mako:392 | |
4164 | #: rhodecode/templates/changeset/changeset_file_comment.mako:443 |
|
4164 | #: rhodecode/templates/changeset/changeset_file_comment.mako:443 | |
4165 |
#: rhodecode/templates/data_table/_dt_elements.mako:4 |
|
4165 | #: rhodecode/templates/data_table/_dt_elements.mako:460 | |
4166 | msgid "Write" |
|
4166 | msgid "Write" | |
4167 | msgstr "" |
|
4167 | msgstr "" | |
4168 |
|
4168 | |||
4169 |
#: rhodecode/model/permission.py:7 |
|
4169 | #: rhodecode/model/permission.py:76 rhodecode/model/permission.py:82 | |
4170 |
#: rhodecode/model/permission.py:8 |
|
4170 | #: rhodecode/model/permission.py:88 | |
4171 | #: rhodecode/templates/admin/auth/plugin_settings.mako:12 |
|
4171 | #: rhodecode/templates/admin/auth/plugin_settings.mako:12 | |
4172 | #: rhodecode/templates/admin/defaults/defaults.mako:12 |
|
4172 | #: rhodecode/templates/admin/defaults/defaults.mako:12 | |
4173 | #: rhodecode/templates/admin/integrations/base.mako:21 |
|
4173 | #: rhodecode/templates/admin/integrations/base.mako:21 | |
@@ -4189,51 +4189,51 b' msgstr ""' | |||||
4189 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:18 |
|
4189 | #: rhodecode/templates/admin/user_groups/user_group_edit_perms.mako:18 | |
4190 | #: rhodecode/templates/admin/users/user_add.mako:11 |
|
4190 | #: rhodecode/templates/admin/users/user_add.mako:11 | |
4191 | #: rhodecode/templates/admin/users/user_edit.mako:12 |
|
4191 | #: rhodecode/templates/admin/users/user_edit.mako:12 | |
4192 |
#: rhodecode/templates/base/base.mako:83 |
|
4192 | #: rhodecode/templates/base/base.mako:839 | |
4193 | msgid "Admin" |
|
4193 | msgid "Admin" | |
4194 | msgstr "" |
|
4194 | msgstr "" | |
4195 |
|
4195 | |||
4196 | #: rhodecode/model/permission.py:89 |
|
|||
4197 | msgid "Protected/No Access" |
|
|||
4198 | msgstr "" |
|
|||
4199 |
|
||||
4200 | #: rhodecode/model/permission.py:90 |
|
|||
4201 | msgid "Web merge" |
|
|||
4202 | msgstr "" |
|
|||
4203 |
|
||||
4204 | #: rhodecode/model/permission.py:91 |
|
4196 | #: rhodecode/model/permission.py:91 | |
4205 | msgid "Push" |
|
4197 | msgid "Protected/No Access" | |
4206 | msgstr "" |
|
4198 | msgstr "" | |
4207 |
|
4199 | |||
4208 | #: rhodecode/model/permission.py:92 |
|
4200 | #: rhodecode/model/permission.py:92 | |
|
4201 | msgid "Web merge" | |||
|
4202 | msgstr "" | |||
|
4203 | ||||
|
4204 | #: rhodecode/model/permission.py:93 | |||
|
4205 | msgid "Push" | |||
|
4206 | msgstr "" | |||
|
4207 | ||||
|
4208 | #: rhodecode/model/permission.py:94 | |||
4209 | msgid "Force Push" |
|
4209 | msgid "Force Push" | |
4210 | msgstr "" |
|
4210 | msgstr "" | |
4211 |
|
4211 | |||
4212 |
#: rhodecode/model/permission.py:9 |
|
4212 | #: rhodecode/model/permission.py:97 rhodecode/model/permission.py:111 | |
4213 |
#: rhodecode/model/permission.py:11 |
|
4213 | #: rhodecode/model/permission.py:115 rhodecode/model/permission.py:119 | |
4214 |
#: rhodecode/model/permission.py:12 |
|
4214 | #: rhodecode/model/permission.py:123 rhodecode/model/permission.py:127 | |
4215 |
#: rhodecode/model/permission.py:1 |
|
4215 | #: rhodecode/model/permission.py:131 | |
4216 | #: rhodecode/templates/admin/my_account/my_account_notifications.mako:27 |
|
4216 | #: rhodecode/templates/admin/my_account/my_account_notifications.mako:27 | |
4217 | msgid "Disabled" |
|
4217 | msgid "Disabled" | |
4218 | msgstr "" |
|
4218 | msgstr "" | |
4219 |
|
4219 | |||
4220 |
#: rhodecode/model/permission.py:9 |
|
4220 | #: rhodecode/model/permission.py:98 | |
4221 | msgid "Allowed with manual account activation" |
|
4221 | msgid "Allowed with manual account activation" | |
4222 | msgstr "" |
|
4222 | msgstr "" | |
4223 |
|
4223 | |||
4224 |
#: rhodecode/model/permission.py:9 |
|
4224 | #: rhodecode/model/permission.py:99 | |
4225 | msgid "Allowed with automatic account activation" |
|
4225 | msgid "Allowed with automatic account activation" | |
4226 | msgstr "" |
|
4226 | msgstr "" | |
4227 |
|
4227 | |||
4228 | #: rhodecode/model/permission.py:100 |
|
|||
4229 | msgid "Allow password recovery" |
|
|||
4230 | msgstr "" |
|
|||
4231 |
|
||||
4232 | #: rhodecode/model/permission.py:101 |
|
|||
4233 | msgid "Hide password recovery link" |
|
|||
4234 | msgstr "" |
|
|||
4235 |
|
||||
4236 | #: rhodecode/model/permission.py:102 |
|
4228 | #: rhodecode/model/permission.py:102 | |
|
4229 | msgid "Allow password recovery" | |||
|
4230 | msgstr "" | |||
|
4231 | ||||
|
4232 | #: rhodecode/model/permission.py:103 | |||
|
4233 | msgid "Hide password recovery link" | |||
|
4234 | msgstr "" | |||
|
4235 | ||||
|
4236 | #: rhodecode/model/permission.py:104 | |||
4237 | msgid "Disable password recovery" |
|
4237 | msgid "Disable password recovery" | |
4238 | msgstr "" |
|
4238 | msgstr "" | |
4239 |
|
4239 | |||
@@ -4261,79 +4261,79 b' msgstr ""' | |||||
4261 | msgid "This pull request cannot be updated because the source reference is missing." |
|
4261 | msgid "This pull request cannot be updated because the source reference is missing." | |
4262 | msgstr "" |
|
4262 | msgstr "" | |
4263 |
|
4263 | |||
4264 |
#: rhodecode/model/pull_request.py:16 |
|
4264 | #: rhodecode/model/pull_request.py:1690 | |
4265 | msgid "Server-side pull request merging is disabled." |
|
4265 | msgid "Server-side pull request merging is disabled." | |
4266 | msgstr "" |
|
4266 | msgstr "" | |
4267 |
|
4267 | |||
4268 |
#: rhodecode/model/pull_request.py:169 |
|
4268 | #: rhodecode/model/pull_request.py:1693 | |
4269 | msgid "This pull request is closed." |
|
4269 | msgid "This pull request is closed." | |
4270 | msgstr "" |
|
4270 | msgstr "" | |
4271 |
|
4271 | |||
4272 |
#: rhodecode/model/pull_request.py:170 |
|
4272 | #: rhodecode/model/pull_request.py:1707 | |
4273 | msgid "Pull request merging is not supported." |
|
4273 | msgid "Pull request merging is not supported." | |
4274 | msgstr "" |
|
4274 | msgstr "" | |
4275 |
|
4275 | |||
4276 |
#: rhodecode/model/pull_request.py:172 |
|
4276 | #: rhodecode/model/pull_request.py:1724 | |
4277 | msgid "Target repository large files support is disabled." |
|
4277 | msgid "Target repository large files support is disabled." | |
4278 | msgstr "" |
|
4278 | msgstr "" | |
4279 |
|
4279 | |||
4280 |
#: rhodecode/model/pull_request.py:172 |
|
4280 | #: rhodecode/model/pull_request.py:1727 | |
4281 | msgid "Source repository large files support is disabled." |
|
4281 | msgid "Source repository large files support is disabled." | |
4282 | msgstr "" |
|
4282 | msgstr "" | |
4283 |
|
4283 | |||
4284 |
#: rhodecode/model/pull_request.py:19 |
|
4284 | #: rhodecode/model/pull_request.py:1911 rhodecode/model/scm.py:1008 | |
4285 | #: rhodecode/templates/admin/my_account/my_account.mako:32 |
|
4285 | #: rhodecode/templates/admin/my_account/my_account.mako:32 | |
4286 |
#: rhodecode/templates/base/base.mako:63 |
|
4286 | #: rhodecode/templates/base/base.mako:639 | |
4287 | #: rhodecode/templates/summary/components.mako:46 |
|
4287 | #: rhodecode/templates/summary/components.mako:46 | |
4288 | msgid "Bookmarks" |
|
4288 | msgid "Bookmarks" | |
4289 | msgstr "" |
|
4289 | msgstr "" | |
4290 |
|
4290 | |||
4291 |
#: rhodecode/model/pull_request.py:191 |
|
4291 | #: rhodecode/model/pull_request.py:1916 | |
4292 | msgid "Commit IDs" |
|
4292 | msgid "Commit IDs" | |
4293 | msgstr "" |
|
4293 | msgstr "" | |
4294 |
|
4294 | |||
4295 |
#: rhodecode/model/pull_request.py:191 |
|
4295 | #: rhodecode/model/pull_request.py:1919 | |
4296 | #: rhodecode/templates/summary/components.mako:22 |
|
4296 | #: rhodecode/templates/summary/components.mako:22 | |
4297 | msgid "Closed Branches" |
|
4297 | msgid "Closed Branches" | |
4298 | msgstr "" |
|
4298 | msgstr "" | |
4299 |
|
4299 | |||
4300 |
#: rhodecode/model/pull_request.py:210 |
|
4300 | #: rhodecode/model/pull_request.py:2105 | |
4301 | msgid "WIP marker in title prevents from accidental merge." |
|
4301 | msgid "WIP marker in title prevents from accidental merge." | |
4302 | msgstr "" |
|
4302 | msgstr "" | |
4303 |
|
4303 | |||
4304 |
#: rhodecode/model/pull_request.py:211 |
|
4304 | #: rhodecode/model/pull_request.py:2115 | |
4305 | msgid "User `{}` not allowed to perform merge." |
|
4305 | msgid "User `{}` not allowed to perform merge." | |
4306 | msgstr "" |
|
4306 | msgstr "" | |
4307 |
|
4307 | |||
4308 |
#: rhodecode/model/pull_request.py:213 |
|
4308 | #: rhodecode/model/pull_request.py:2133 | |
4309 | msgid "Target branch `{}` changes rejected by rule {}." |
|
4309 | msgid "Target branch `{}` changes rejected by rule {}." | |
4310 | msgstr "" |
|
4310 | msgstr "" | |
4311 |
|
4311 | |||
4312 |
#: rhodecode/model/pull_request.py:214 |
|
4312 | #: rhodecode/model/pull_request.py:2148 | |
4313 | msgid "Pull request reviewer approval is pending." |
|
4313 | msgid "Pull request reviewer approval is pending." | |
4314 | msgstr "" |
|
4314 | msgstr "" | |
4315 |
|
4315 | |||
4316 |
#: rhodecode/model/pull_request.py:216 |
|
4316 | #: rhodecode/model/pull_request.py:2162 | |
4317 | msgid "Cannot merge, {} TODO still not resolved." |
|
4317 | msgid "Cannot merge, {} TODO still not resolved." | |
4318 | msgstr "" |
|
4318 | msgstr "" | |
4319 |
|
4319 | |||
4320 |
#: rhodecode/model/pull_request.py:216 |
|
4320 | #: rhodecode/model/pull_request.py:2165 | |
4321 | msgid "Cannot merge, {} TODOs still not resolved." |
|
4321 | msgid "Cannot merge, {} TODOs still not resolved." | |
4322 | msgstr "" |
|
4322 | msgstr "" | |
4323 |
|
4323 | |||
4324 |
#: rhodecode/model/pull_request.py:22 |
|
4324 | #: rhodecode/model/pull_request.py:2220 | |
4325 | msgid "Merge strategy: rebase" |
|
4325 | msgid "Merge strategy: rebase" | |
4326 | msgstr "" |
|
4326 | msgstr "" | |
4327 |
|
4327 | |||
4328 |
#: rhodecode/model/pull_request.py:222 |
|
4328 | #: rhodecode/model/pull_request.py:2225 | |
4329 | msgid "Merge strategy: explicit merge commit" |
|
4329 | msgid "Merge strategy: explicit merge commit" | |
4330 | msgstr "" |
|
4330 | msgstr "" | |
4331 |
|
4331 | |||
4332 | #: rhodecode/model/pull_request.py:2231 |
|
|||
4333 | msgid "Source branch will be closed before the merge." |
|
|||
4334 | msgstr "" |
|
|||
4335 |
|
||||
4336 | #: rhodecode/model/pull_request.py:2233 |
|
4332 | #: rhodecode/model/pull_request.py:2233 | |
|
4333 | msgid "Source branch will be closed before the merge." | |||
|
4334 | msgstr "" | |||
|
4335 | ||||
|
4336 | #: rhodecode/model/pull_request.py:2235 | |||
4337 | msgid "Source branch will be deleted after the merge." |
|
4337 | msgid "Source branch will be deleted after the merge." | |
4338 | msgstr "" |
|
4338 | msgstr "" | |
4339 |
|
4339 | |||
@@ -4880,129 +4880,133 b' msgstr ""' | |||||
4880 | msgid "Note Comment" |
|
4880 | msgid "Note Comment" | |
4881 | msgstr "" |
|
4881 | msgstr "" | |
4882 |
|
4882 | |||
4883 |
#: rhodecode/public/js/scripts.js:39599 rhodecode/public/js/scripts.js:3998 |
|
4883 | #: rhodecode/public/js/scripts.js:39599 rhodecode/public/js/scripts.js:39985 | |
4884 | #: rhodecode/public/js/scripts.min.js:1 |
|
4884 | #: rhodecode/public/js/scripts.min.js:1 | |
4885 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:103 |
|
4885 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:103 | |
4886 | #: rhodecode/public/js/src/rhodecode/codemirror.js:730 |
|
4886 | #: rhodecode/public/js/src/rhodecode/codemirror.js:730 | |
4887 |
#: rhodecode/public/js/src/rhodecode/comments.js:26 |
|
4887 | #: rhodecode/public/js/src/rhodecode/comments.js:265 | |
4888 | msgid "Status Review" |
|
4888 | msgid "Status Review" | |
4889 | msgstr "" |
|
4889 | msgstr "" | |
4890 |
|
4890 | |||
4891 |
#: rhodecode/public/js/scripts.js:39614 rhodecode/public/js/scripts.js:4000 |
|
4891 | #: rhodecode/public/js/scripts.js:39614 rhodecode/public/js/scripts.js:40002 | |
4892 | #: rhodecode/public/js/scripts.min.js:1 |
|
4892 | #: rhodecode/public/js/scripts.min.js:1 | |
4893 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:24 |
|
4893 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:24 | |
4894 | #: rhodecode/public/js/src/rhodecode/codemirror.js:745 |
|
4894 | #: rhodecode/public/js/src/rhodecode/codemirror.js:745 | |
4895 |
#: rhodecode/public/js/src/rhodecode/comments.js:28 |
|
4895 | #: rhodecode/public/js/src/rhodecode/comments.js:282 | |
4896 | msgid "Comment text will be set automatically based on currently selected status ({0}) ..." |
|
4896 | msgid "Comment text will be set automatically based on currently selected status ({0}) ..." | |
4897 | msgstr "" |
|
4897 | msgstr "" | |
4898 |
|
4898 | |||
4899 |
#: rhodecode/public/js/scripts.js:39695 rhodecode/public/js/scripts.js:4021 |
|
4899 | #: rhodecode/public/js/scripts.js:39695 rhodecode/public/js/scripts.js:40211 | |
4900 |
#: rhodecode/public/js/scripts.js:41 |
|
4900 | #: rhodecode/public/js/scripts.js:41883 rhodecode/public/js/scripts.min.js:1 | |
4901 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:49 |
|
4901 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:49 | |
4902 | #: rhodecode/public/js/src/rhodecode/codemirror.js:826 |
|
4902 | #: rhodecode/public/js/src/rhodecode/codemirror.js:826 | |
4903 |
#: rhodecode/public/js/src/rhodecode/comments.js:49 |
|
4903 | #: rhodecode/public/js/src/rhodecode/comments.js:491 | |
4904 | #: rhodecode/public/js/src/rhodecode/files.js:499 |
|
4904 | #: rhodecode/public/js/src/rhodecode/files.js:499 | |
4905 | #: rhodecode/templates/files/files_browser_tree.mako:57 |
|
4905 | #: rhodecode/templates/files/files_browser_tree.mako:57 | |
4906 | msgid "Loading ..." |
|
4906 | msgid "Loading ..." | |
4907 | msgstr "" |
|
4907 | msgstr "" | |
4908 |
|
4908 | |||
4909 |
#: rhodecode/public/js/scripts.js:398 |
|
4909 | #: rhodecode/public/js/scripts.js:39859 rhodecode/public/js/scripts.min.js:1 | |
4910 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:123 |
|
4910 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:123 | |
4911 |
#: rhodecode/public/js/src/rhodecode/comments.js:1 |
|
4911 | #: rhodecode/public/js/src/rhodecode/comments.js:139 | |
4912 | msgid "Update Comment" |
|
4912 | msgid "Update Comment" | |
4913 | msgstr "" |
|
4913 | msgstr "" | |
4914 |
|
4914 | |||
4915 |
#: rhodecode/public/js/scripts.js:3988 |
|
4915 | #: rhodecode/public/js/scripts.js:39883 rhodecode/public/js/scripts.min.js:1 | |
4916 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:150 |
|
4916 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:150 | |
4917 |
#: rhodecode/public/js/src/rhodecode/comments.js:16 |
|
4917 | #: rhodecode/public/js/src/rhodecode/comments.js:163 | |
4918 | msgid "resolve comment" |
|
4918 | msgid "resolve comment" | |
4919 | msgstr "" |
|
4919 | msgstr "" | |
4920 |
|
4920 | |||
|
4921 | #: rhodecode/public/js/scripts.js:40155 rhodecode/public/js/scripts.min.js:1 | |||
|
4922 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:83 | |||
|
4923 | #: rhodecode/public/js/src/rhodecode/comments.js:435 | |||
|
4924 | msgid "Saving Draft..." | |||
|
4925 | msgstr "" | |||
|
4926 | ||||
4921 | #: rhodecode/public/js/scripts.js:40157 rhodecode/public/js/scripts.min.js:1 |
|
4927 | #: rhodecode/public/js/scripts.js:40157 rhodecode/public/js/scripts.min.js:1 | |
4922 |
#: rhodecode/public/js/rhodecode/i18n/js_translations.js:8 |
|
4928 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:108 | |
4923 | #: rhodecode/public/js/src/rhodecode/comments.js:437 |
|
4929 | #: rhodecode/public/js/src/rhodecode/comments.js:437 | |
4924 | msgid "Saving Draft..." |
|
|||
4925 | msgstr "" |
|
|||
4926 |
|
||||
4927 | #: rhodecode/public/js/scripts.js:40159 rhodecode/public/js/scripts.min.js:1 |
|
|||
4928 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:108 |
|
|||
4929 | #: rhodecode/public/js/src/rhodecode/comments.js:439 |
|
|||
4930 | msgid "Submitting..." |
|
4930 | msgid "Submitting..." | |
4931 | msgstr "" |
|
4931 | msgstr "" | |
4932 |
|
4932 | |||
4933 |
#: rhodecode/public/js/scripts.js:404 |
|
4933 | #: rhodecode/public/js/scripts.js:40479 rhodecode/public/js/scripts.min.js:1 | |
4934 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:131 |
|
4934 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:131 | |
4935 |
#: rhodecode/public/js/src/rhodecode/comments.js:7 |
|
4935 | #: rhodecode/public/js/src/rhodecode/comments.js:759 | |
4936 | msgid "Yes, delete comment #{0}!" |
|
4936 | msgid "Yes, delete comment #{0}!" | |
4937 | msgstr "" |
|
4937 | msgstr "" | |
4938 |
|
4938 | |||
4939 |
#: rhodecode/public/js/scripts.js:4052 |
|
4939 | #: rhodecode/public/js/scripts.js:40524 rhodecode/public/js/scripts.min.js:1 | |
4940 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:106 |
|
4940 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:106 | |
4941 |
#: rhodecode/public/js/src/rhodecode/comments.js:80 |
|
4941 | #: rhodecode/public/js/src/rhodecode/comments.js:804 | |
4942 | msgid "Submit {0} draft comment." |
|
4942 | msgid "Submit {0} draft comment." | |
4943 | msgstr "" |
|
4943 | msgstr "" | |
4944 |
|
4944 | |||
4945 |
#: rhodecode/public/js/scripts.js:4052 |
|
4945 | #: rhodecode/public/js/scripts.js:40527 rhodecode/public/js/scripts.js:41225 | |
|
4946 | #: rhodecode/public/js/scripts.min.js:1 | |||
4946 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:130 |
|
4947 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:130 | |
4947 |
#: rhodecode/public/js/src/rhodecode/comments.js:80 |
|
4948 | #: rhodecode/public/js/src/rhodecode/comments.js:807 | |
|
4949 | #: rhodecode/public/js/src/rhodecode/comments.js:1505 | |||
4948 | msgid "Yes" |
|
4950 | msgid "Yes" | |
4949 | msgstr "" |
|
4951 | msgstr "" | |
4950 |
|
4952 | |||
4951 |
#: rhodecode/public/js/scripts.js:406 |
|
4953 | #: rhodecode/public/js/scripts.js:40619 rhodecode/public/js/scripts.min.js:1 | |
4952 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:47 |
|
4954 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:47 | |
4953 |
#: rhodecode/public/js/src/rhodecode/comments.js: |
|
4955 | #: rhodecode/public/js/src/rhodecode/comments.js:899 | |
4954 | msgid "Leave a resolution comment, or click resolve button to resolve TODO comment #{0}" |
|
4956 | msgid "Leave a resolution comment, or click resolve button to resolve TODO comment #{0}" | |
4955 | msgstr "" |
|
4957 | msgstr "" | |
4956 |
|
4958 | |||
4957 |
#: rhodecode/public/js/scripts.js:4082 |
|
4959 | #: rhodecode/public/js/scripts.js:40823 rhodecode/public/js/scripts.min.js:1 | |
4958 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:23 |
|
4960 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:23 | |
4959 |
#: rhodecode/public/js/src/rhodecode/comments.js:110 |
|
4961 | #: rhodecode/public/js/src/rhodecode/comments.js:1103 | |
4960 | msgid "Comment body was not changed." |
|
4962 | msgid "Comment body was not changed." | |
4961 | msgstr "" |
|
4963 | msgstr "" | |
4962 |
|
4964 | |||
4963 |
#: rhodecode/public/js/scripts.js:4107 |
|
4965 | #: rhodecode/public/js/scripts.js:41074 rhodecode/public/js/scripts.min.js:1 | |
4964 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:44 |
|
4966 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:44 | |
4965 |
#: rhodecode/public/js/src/rhodecode/comments.js:135 |
|
4967 | #: rhodecode/public/js/src/rhodecode/comments.js:1354 | |
4966 | msgid "Leave a comment on file {0} line {1}." |
|
4968 | msgid "Leave a comment on file {0} line {1}." | |
4967 | msgstr "" |
|
4969 | msgstr "" | |
4968 |
|
4970 | |||
4969 |
#: rhodecode/public/js/scripts.js:4121 |
|
4971 | #: rhodecode/public/js/scripts.js:41214 rhodecode/public/js/scripts.js:41267 | |
|
4972 | #: rhodecode/public/js/scripts.min.js:1 | |||
4970 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:113 |
|
4973 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:113 | |
4971 |
#: rhodecode/public/js/src/rhodecode/comments.js:149 |
|
4974 | #: rhodecode/public/js/src/rhodecode/comments.js:1494 | |
|
4975 | #: rhodecode/public/js/src/rhodecode/comments.js:1547 | |||
4972 | msgid "TODO from comment {0} was fixed." |
|
4976 | msgid "TODO from comment {0} was fixed." | |
4973 | msgstr "" |
|
4977 | msgstr "" | |
4974 |
|
4978 | |||
4975 |
#: rhodecode/public/js/scripts.js:41 |
|
4979 | #: rhodecode/public/js/scripts.js:41632 rhodecode/public/js/scripts.min.js:1 | |
4976 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:154 |
|
4980 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:154 | |
4977 | #: rhodecode/public/js/src/rhodecode/files.js:248 |
|
4981 | #: rhodecode/public/js/src/rhodecode/files.js:248 | |
4978 | msgid "truncated result" |
|
4982 | msgid "truncated result" | |
4979 | msgstr "" |
|
4983 | msgstr "" | |
4980 |
|
4984 | |||
4981 |
#: rhodecode/public/js/scripts.js:41 |
|
4985 | #: rhodecode/public/js/scripts.js:41634 rhodecode/public/js/scripts.min.js:1 | |
4982 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:155 |
|
4986 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:155 | |
4983 | #: rhodecode/public/js/src/rhodecode/files.js:250 |
|
4987 | #: rhodecode/public/js/src/rhodecode/files.js:250 | |
4984 | msgid "truncated results" |
|
4988 | msgid "truncated results" | |
4985 | msgstr "" |
|
4989 | msgstr "" | |
4986 |
|
4990 | |||
4987 |
#: rhodecode/public/js/scripts.js:41 |
|
4991 | #: rhodecode/public/js/scripts.js:41643 rhodecode/public/js/scripts.min.js:1 | |
4988 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:60 |
|
4992 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:60 | |
4989 | #: rhodecode/public/js/src/rhodecode/files.js:259 |
|
4993 | #: rhodecode/public/js/src/rhodecode/files.js:259 | |
4990 | msgid "No matching files" |
|
4994 | msgid "No matching files" | |
4991 | msgstr "" |
|
4995 | msgstr "" | |
4992 |
|
4996 | |||
4993 |
#: rhodecode/public/js/scripts.js:41 |
|
4997 | #: rhodecode/public/js/scripts.js:41701 rhodecode/public/js/scripts.min.js:1 | |
4994 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:86 |
|
4998 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:86 | |
4995 | #: rhodecode/public/js/src/rhodecode/files.js:317 |
|
4999 | #: rhodecode/public/js/src/rhodecode/files.js:317 | |
4996 | msgid "Selection link" |
|
5000 | msgid "Selection link" | |
4997 | msgstr "" |
|
5001 | msgstr "" | |
4998 |
|
5002 | |||
4999 |
#: rhodecode/public/js/scripts.js:41 |
|
5003 | #: rhodecode/public/js/scripts.js:41798 rhodecode/public/js/scripts.min.js:1 | |
5000 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:10 |
|
5004 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:10 | |
5001 | #: rhodecode/public/js/src/rhodecode/files.js:414 |
|
5005 | #: rhodecode/public/js/src/rhodecode/files.js:414 | |
5002 | msgid "All Authors" |
|
5006 | msgid "All Authors" | |
5003 | msgstr "" |
|
5007 | msgstr "" | |
5004 |
|
5008 | |||
5005 |
#: rhodecode/public/js/scripts.js:418 |
|
5009 | #: rhodecode/public/js/scripts.js:41948 rhodecode/public/js/scripts.js:41951 | |
5006 | #: rhodecode/public/js/scripts.min.js:1 |
|
5010 | #: rhodecode/public/js/scripts.min.js:1 | |
5007 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:38 |
|
5011 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:38 | |
5008 | #: rhodecode/public/js/src/rhodecode/files.js:564 |
|
5012 | #: rhodecode/public/js/src/rhodecode/files.js:564 | |
@@ -5010,141 +5014,141 b' msgstr ""' | |||||
5010 | msgid "File `{0}` has a newer version available, or has been removed. Click {1} to see the latest version." |
|
5014 | msgid "File `{0}` has a newer version available, or has been removed. Click {1} to see the latest version." | |
5011 | msgstr "" |
|
5015 | msgstr "" | |
5012 |
|
5016 | |||
5013 |
#: rhodecode/public/js/scripts.js:41 |
|
5017 | #: rhodecode/public/js/scripts.js:41954 rhodecode/public/js/scripts.min.js:1 | |
5014 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:117 |
|
5018 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:117 | |
5015 | #: rhodecode/public/js/src/rhodecode/files.js:570 |
|
5019 | #: rhodecode/public/js/src/rhodecode/files.js:570 | |
5016 | msgid "There is an existing path `{0}` at this commit." |
|
5020 | msgid "There is an existing path `{0}` at this commit." | |
5017 | msgstr "" |
|
5021 | msgstr "" | |
5018 |
|
5022 | |||
5019 |
#: rhodecode/public/js/scripts.js:41 |
|
5023 | #: rhodecode/public/js/scripts.js:41957 rhodecode/public/js/scripts.min.js:1 | |
5020 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:116 |
|
5024 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:116 | |
5021 | #: rhodecode/public/js/src/rhodecode/files.js:573 |
|
5025 | #: rhodecode/public/js/src/rhodecode/files.js:573 | |
5022 | msgid "There is a later version of file tree available. Click {0} to create a file at the latest tree." |
|
5026 | msgid "There is a later version of file tree available. Click {0} to create a file at the latest tree." | |
5023 | msgstr "" |
|
5027 | msgstr "" | |
5024 |
|
5028 | |||
5025 |
#: rhodecode/public/js/scripts.js:4 |
|
5029 | #: rhodecode/public/js/scripts.js:42011 rhodecode/public/js/scripts.min.js:1 | |
5026 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:105 |
|
5030 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:105 | |
5027 | #: rhodecode/public/js/src/rhodecode/followers.js:26 |
|
5031 | #: rhodecode/public/js/src/rhodecode/followers.js:26 | |
5028 | msgid "Stopped watching this repository" |
|
5032 | msgid "Stopped watching this repository" | |
5029 | msgstr "" |
|
5033 | msgstr "" | |
5030 |
|
5034 | |||
5031 |
#: rhodecode/public/js/scripts.js:4 |
|
5035 | #: rhodecode/public/js/scripts.js:42012 rhodecode/public/js/scripts.min.js:1 | |
5032 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:129 |
|
5036 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:129 | |
5033 | #: rhodecode/public/js/src/rhodecode/followers.js:27 |
|
5037 | #: rhodecode/public/js/src/rhodecode/followers.js:27 | |
5034 |
#: rhodecode/templates/base/base.mako:31 |
|
5038 | #: rhodecode/templates/base/base.mako:311 | |
5035 | msgid "Watch" |
|
5039 | msgid "Watch" | |
5036 | msgstr "" |
|
5040 | msgstr "" | |
5037 |
|
5041 | |||
5038 |
#: rhodecode/public/js/scripts.js:4 |
|
5042 | #: rhodecode/public/js/scripts.js:42015 rhodecode/public/js/scripts.min.js:1 | |
5039 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:102 |
|
5043 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:102 | |
5040 | #: rhodecode/public/js/src/rhodecode/followers.js:30 |
|
5044 | #: rhodecode/public/js/src/rhodecode/followers.js:30 | |
5041 | msgid "Started watching this repository" |
|
5045 | msgid "Started watching this repository" | |
5042 | msgstr "" |
|
5046 | msgstr "" | |
5043 |
|
5047 | |||
5044 |
#: rhodecode/public/js/scripts.js:4 |
|
5048 | #: rhodecode/public/js/scripts.js:42016 rhodecode/public/js/scripts.min.js:1 | |
5045 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:122 |
|
5049 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:122 | |
5046 | #: rhodecode/public/js/src/rhodecode/followers.js:31 |
|
5050 | #: rhodecode/public/js/src/rhodecode/followers.js:31 | |
5047 |
#: rhodecode/templates/base/base.mako:30 |
|
5051 | #: rhodecode/templates/base/base.mako:309 | |
5048 | msgid "Unwatch" |
|
5052 | msgid "Unwatch" | |
5049 | msgstr "" |
|
5053 | msgstr "" | |
5050 |
|
5054 | |||
5051 |
#: rhodecode/public/js/scripts.js:42 |
|
5055 | #: rhodecode/public/js/scripts.js:42522 rhodecode/public/js/scripts.min.js:1 | |
5052 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:12 |
|
5056 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:12 | |
5053 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:185 |
|
5057 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:185 | |
5054 | msgid "All reviewers must vote." |
|
5058 | msgid "All reviewers must vote." | |
5055 | msgstr "" |
|
5059 | msgstr "" | |
5056 |
|
5060 | |||
5057 |
#: rhodecode/public/js/scripts.js:42 |
|
5061 | #: rhodecode/public/js/scripts.js:42546 rhodecode/public/js/scripts.min.js:1 | |
5058 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:54 |
|
5062 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:54 | |
5059 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:209 |
|
5063 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:209 | |
5060 | msgid "No additional review rules set." |
|
5064 | msgid "No additional review rules set." | |
5061 | msgstr "" |
|
5065 | msgstr "" | |
5062 |
|
5066 | |||
5063 |
#: rhodecode/public/js/scripts.js:42 |
|
5067 | #: rhodecode/public/js/scripts.js:42592 rhodecode/public/js/scripts.min.js:1 | |
5064 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:50 |
|
5068 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:50 | |
5065 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:255 |
|
5069 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:255 | |
5066 | msgid "Loading diff ..." |
|
5070 | msgid "Loading diff ..." | |
5067 | msgstr "" |
|
5071 | msgstr "" | |
5068 |
|
5072 | |||
5069 |
#: rhodecode/public/js/scripts.js:425 |
|
5073 | #: rhodecode/public/js/scripts.js:42645 rhodecode/public/js/scripts.min.js:1 | |
5070 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:115 |
|
5074 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:115 | |
5071 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:308 |
|
5075 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:308 | |
5072 | msgid "There are no commits to merge." |
|
5076 | msgid "There are no commits to merge." | |
5073 | msgstr "" |
|
5077 | msgstr "" | |
5074 |
|
5078 | |||
5075 |
#: rhodecode/public/js/scripts.js:42 |
|
5079 | #: rhodecode/public/js/scripts.js:42717 rhodecode/public/js/scripts.min.js:1 | |
5076 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:128 |
|
5080 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:128 | |
5077 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:380 |
|
5081 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:380 | |
5078 | msgid "User `{0}` not allowed to be a reviewer" |
|
5082 | msgid "User `{0}` not allowed to be a reviewer" | |
5079 | msgstr "" |
|
5083 | msgstr "" | |
5080 |
|
5084 | |||
5081 |
#: rhodecode/public/js/scripts.js:42 |
|
5085 | #: rhodecode/public/js/scripts.js:42723 rhodecode/public/js/scripts.min.js:1 | |
5082 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:127 |
|
5086 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:127 | |
5083 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:386 |
|
5087 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:386 | |
5084 | msgid "User `{0}` already in reviewers/observers" |
|
5088 | msgid "User `{0}` already in reviewers/observers" | |
5085 | msgstr "" |
|
5089 | msgstr "" | |
5086 |
|
5090 | |||
5087 |
#: rhodecode/public/js/scripts.js:42 |
|
5091 | #: rhodecode/public/js/scripts.js:42838 rhodecode/public/js/scripts.min.js:1 | |
5088 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:135 |
|
5092 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:135 | |
5089 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:501 |
|
5093 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:501 | |
5090 | msgid "added manually by \"{0}\"" |
|
5094 | msgid "added manually by \"{0}\"" | |
5091 | msgstr "" |
|
5095 | msgstr "" | |
5092 |
|
5096 | |||
5093 |
#: rhodecode/public/js/scripts.js:42 |
|
5097 | #: rhodecode/public/js/scripts.js:42843 rhodecode/public/js/scripts.min.js:1 | |
5094 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:147 |
|
5098 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:147 | |
5095 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:506 |
|
5099 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:506 | |
5096 | msgid "member of \"{0}\"" |
|
5100 | msgid "member of \"{0}\"" | |
5097 | msgstr "" |
|
5101 | msgstr "" | |
5098 |
|
5102 | |||
5099 |
#: rhodecode/public/js/scripts.js:4 |
|
5103 | #: rhodecode/public/js/scripts.js:43076 rhodecode/public/js/scripts.min.js:1 | |
5100 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:125 |
|
5104 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:125 | |
5101 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:739 |
|
5105 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:739 | |
5102 | msgid "Updating..." |
|
5106 | msgid "Updating..." | |
5103 | msgstr "" |
|
5107 | msgstr "" | |
5104 |
|
5108 | |||
5105 |
#: rhodecode/public/js/scripts.js:4 |
|
5109 | #: rhodecode/public/js/scripts.js:43086 rhodecode/public/js/scripts.min.js:1 | |
5106 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:40 |
|
5110 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:40 | |
5107 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:749 |
|
5111 | #: rhodecode/public/js/src/rhodecode/pullrequests.js:749 | |
5108 | msgid "Force updating..." |
|
5112 | msgid "Force updating..." | |
5109 | msgstr "" |
|
5113 | msgstr "" | |
5110 |
|
5114 | |||
5111 |
#: rhodecode/public/js/scripts.js:47 |
|
5115 | #: rhodecode/public/js/scripts.js:47953 rhodecode/public/js/scripts.min.js:1 | |
5112 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:98 |
|
5116 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:98 | |
5113 | #: rhodecode/public/js/src/rhodecode/users.js:54 |
|
5117 | #: rhodecode/public/js/src/rhodecode/users.js:54 | |
5114 | msgid "Show this authentication token?" |
|
5118 | msgid "Show this authentication token?" | |
5115 | msgstr "" |
|
5119 | msgstr "" | |
5116 |
|
5120 | |||
5117 |
#: rhodecode/public/js/scripts.js:47 |
|
5121 | #: rhodecode/public/js/scripts.js:47955 rhodecode/public/js/scripts.min.js:1 | |
5118 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:90 |
|
5122 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:90 | |
5119 | #: rhodecode/public/js/src/rhodecode/users.js:56 |
|
5123 | #: rhodecode/public/js/src/rhodecode/users.js:56 | |
5120 | msgid "Show" |
|
5124 | msgid "Show" | |
5121 | msgstr "" |
|
5125 | msgstr "" | |
5122 |
|
5126 | |||
5123 |
#: rhodecode/public/js/scripts.js:47 |
|
5127 | #: rhodecode/public/js/scripts.js:47991 rhodecode/public/js/scripts.min.js:1 | |
5124 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:16 |
|
5128 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:16 | |
5125 | #: rhodecode/public/js/src/rhodecode/users.js:92 |
|
5129 | #: rhodecode/public/js/src/rhodecode/users.js:92 | |
5126 | msgid "Authentication Token" |
|
5130 | msgid "Authentication Token" | |
5127 | msgstr "" |
|
5131 | msgstr "" | |
5128 |
|
5132 | |||
5129 |
#: rhodecode/public/js/scripts.js:480 |
|
5133 | #: rhodecode/public/js/scripts.js:48180 rhodecode/public/js/scripts.min.js:1 | |
5130 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:139 |
|
5134 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:139 | |
5131 | #: rhodecode/public/js/src/rhodecode.js:144 |
|
5135 | #: rhodecode/public/js/src/rhodecode.js:144 | |
5132 | msgid "file" |
|
5136 | msgid "file" | |
5133 | msgstr "" |
|
5137 | msgstr "" | |
5134 |
|
5138 | |||
5135 |
#: rhodecode/public/js/scripts.js:48 |
|
5139 | #: rhodecode/public/js/scripts.js:48324 rhodecode/public/js/scripts.min.js:1 | |
5136 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:53 |
|
5140 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:53 | |
5137 | #: rhodecode/public/js/src/rhodecode.js:288 |
|
5141 | #: rhodecode/public/js/src/rhodecode.js:288 | |
5138 | msgid "Loading..." |
|
5142 | msgid "Loading..." | |
5139 | msgstr "" |
|
5143 | msgstr "" | |
5140 |
|
5144 | |||
5141 |
#: rhodecode/public/js/scripts.js:48 |
|
5145 | #: rhodecode/public/js/scripts.js:48706 rhodecode/public/js/scripts.min.js:1 | |
5142 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:136 |
|
5146 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:136 | |
5143 | #: rhodecode/public/js/src/rhodecode.js:670 |
|
5147 | #: rhodecode/public/js/src/rhodecode.js:670 | |
5144 | msgid "date not in future" |
|
5148 | msgid "date not in future" | |
5145 | msgstr "" |
|
5149 | msgstr "" | |
5146 |
|
5150 | |||
5147 |
#: rhodecode/public/js/scripts.js:48 |
|
5151 | #: rhodecode/public/js/scripts.js:48714 rhodecode/public/js/scripts.min.js:1 | |
5148 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:100 |
|
5152 | #: rhodecode/public/js/rhodecode/i18n/js_translations.js:100 | |
5149 | #: rhodecode/public/js/src/rhodecode.js:678 |
|
5153 | #: rhodecode/public/js/src/rhodecode.js:678 | |
5150 | msgid "Specified expiration date" |
|
5154 | msgid "Specified expiration date" | |
@@ -5737,8 +5741,8 b' msgid "%s Repository group dashboard"' | |||||
5737 | msgstr "" |
|
5741 | msgstr "" | |
5738 |
|
5742 | |||
5739 | #: rhodecode/templates/index_repo_group.mako:13 |
|
5743 | #: rhodecode/templates/index_repo_group.mako:13 | |
5740 | #: rhodecode/templates/base/base.mako:810 |
|
|||
5741 | #: rhodecode/templates/base/base.mako:811 |
|
5744 | #: rhodecode/templates/base/base.mako:811 | |
|
5745 | #: rhodecode/templates/base/base.mako:812 | |||
5742 | msgid "Home" |
|
5746 | msgid "Home" | |
5743 | msgstr "" |
|
5747 | msgstr "" | |
5744 |
|
5748 | |||
@@ -5933,9 +5937,9 b' msgstr ""' | |||||
5933 | #: rhodecode/templates/admin/admin_log_base.mako:10 |
|
5937 | #: rhodecode/templates/admin/admin_log_base.mako:10 | |
5934 | #: rhodecode/templates/admin/defaults/defaults.mako:32 |
|
5938 | #: rhodecode/templates/admin/defaults/defaults.mako:32 | |
5935 | #: rhodecode/templates/admin/permissions/permissions_objects.mako:16 |
|
5939 | #: rhodecode/templates/admin/permissions/permissions_objects.mako:16 | |
5936 |
#: rhodecode/templates/base/base.mako:65 |
|
5940 | #: rhodecode/templates/base/base.mako:659 | |
5937 |
#: rhodecode/templates/base/base.mako:66 |
|
5941 | #: rhodecode/templates/base/base.mako:661 | |
5938 |
#: rhodecode/templates/base/base.mako:66 |
|
5942 | #: rhodecode/templates/base/base.mako:663 | |
5939 | #: rhodecode/templates/search/search_commit.mako:8 |
|
5943 | #: rhodecode/templates/search/search_commit.mako:8 | |
5940 | #: rhodecode/templates/search/search_path.mako:7 |
|
5944 | #: rhodecode/templates/search/search_path.mako:7 | |
5941 | msgid "Repository" |
|
5945 | msgid "Repository" | |
@@ -6261,7 +6265,7 b' msgid "Expires"' | |||||
6261 | msgstr "" |
|
6265 | msgstr "" | |
6262 |
|
6266 | |||
6263 | #: rhodecode/templates/admin/gists/gist_new.mako:5 |
|
6267 | #: rhodecode/templates/admin/gists/gist_new.mako:5 | |
6264 |
#: rhodecode/templates/base/base.mako:57 |
|
6268 | #: rhodecode/templates/base/base.mako:578 | |
6265 | msgid "New Gist" |
|
6269 | msgid "New Gist" | |
6266 | msgstr "" |
|
6270 | msgstr "" | |
6267 |
|
6271 | |||
@@ -6353,7 +6357,7 b' msgstr ""' | |||||
6353 | #: rhodecode/templates/admin/integrations/new.mako:15 |
|
6357 | #: rhodecode/templates/admin/integrations/new.mako:15 | |
6354 | #: rhodecode/templates/admin/repo_groups/repo_group_edit.mako:33 |
|
6358 | #: rhodecode/templates/admin/repo_groups/repo_group_edit.mako:33 | |
6355 | #: rhodecode/templates/admin/repos/repo_edit.mako:74 |
|
6359 | #: rhodecode/templates/admin/repos/repo_edit.mako:74 | |
6356 |
#: rhodecode/templates/base/base.mako:12 |
|
6360 | #: rhodecode/templates/base/base.mako:121 | |
6357 | msgid "Integrations" |
|
6361 | msgid "Integrations" | |
6358 | msgstr "" |
|
6362 | msgstr "" | |
6359 |
|
6363 | |||
@@ -6368,7 +6372,7 b' msgstr ""' | |||||
6368 | #: rhodecode/templates/admin/settings/settings.mako:14 |
|
6372 | #: rhodecode/templates/admin/settings/settings.mako:14 | |
6369 | #: rhodecode/templates/admin/user_groups/user_group_edit.mako:34 |
|
6373 | #: rhodecode/templates/admin/user_groups/user_group_edit.mako:34 | |
6370 | #: rhodecode/templates/admin/user_groups/user_group_edit_settings.mako:9 |
|
6374 | #: rhodecode/templates/admin/user_groups/user_group_edit_settings.mako:9 | |
6371 |
#: rhodecode/templates/base/base.mako:12 |
|
6375 | #: rhodecode/templates/base/base.mako:123 | |
6372 | msgid "Settings" |
|
6376 | msgid "Settings" | |
6373 | msgstr "" |
|
6377 | msgstr "" | |
6374 |
|
6378 | |||
@@ -6469,7 +6473,7 b' msgid "No description available"' | |||||
6469 | msgstr "" |
|
6473 | msgstr "" | |
6470 |
|
6474 | |||
6471 | #: rhodecode/templates/admin/my_account/my_account.mako:5 |
|
6475 | #: rhodecode/templates/admin/my_account/my_account.mako:5 | |
6472 |
#: rhodecode/templates/base/base.mako:62 |
|
6476 | #: rhodecode/templates/base/base.mako:623 | |
6473 | msgid "My account" |
|
6477 | msgid "My account" | |
6474 | msgstr "" |
|
6478 | msgstr "" | |
6475 |
|
6479 | |||
@@ -6520,15 +6524,15 b' msgstr ""' | |||||
6520 |
|
6524 | |||
6521 | #: rhodecode/templates/admin/my_account/my_account.mako:45 |
|
6525 | #: rhodecode/templates/admin/my_account/my_account.mako:45 | |
6522 | #: rhodecode/templates/admin/notifications/notifications_show_all.mako:42 |
|
6526 | #: rhodecode/templates/admin/notifications/notifications_show_all.mako:42 | |
6523 |
#: rhodecode/templates/base/base.mako:38 |
|
6527 | #: rhodecode/templates/base/base.mako:386 | |
6524 |
#: rhodecode/templates/base/base.mako:62 |
|
6528 | #: rhodecode/templates/base/base.mako:627 | |
6525 | msgid "Pull Requests" |
|
6529 | msgid "Pull Requests" | |
6526 | msgstr "" |
|
6530 | msgstr "" | |
6527 |
|
6531 | |||
6528 | #: rhodecode/templates/admin/my_account/my_account.mako:46 |
|
6532 | #: rhodecode/templates/admin/my_account/my_account.mako:46 | |
6529 | #: rhodecode/templates/admin/permissions/permissions.mako:14 |
|
6533 | #: rhodecode/templates/admin/permissions/permissions.mako:14 | |
6530 | #: rhodecode/templates/admin/user_groups/user_group_edit.mako:35 |
|
6534 | #: rhodecode/templates/admin/user_groups/user_group_edit.mako:35 | |
6531 |
#: rhodecode/templates/base/base.mako:11 |
|
6535 | #: rhodecode/templates/base/base.mako:119 | |
6532 | msgid "Permissions" |
|
6536 | msgid "Permissions" | |
6533 | msgstr "" |
|
6537 | msgstr "" | |
6534 |
|
6538 | |||
@@ -7047,7 +7051,7 b' msgstr ""' | |||||
7047 | #: rhodecode/templates/admin/repo_groups/repo_group_add.mako:14 |
|
7051 | #: rhodecode/templates/admin/repo_groups/repo_group_add.mako:14 | |
7048 | #: rhodecode/templates/admin/users/user_edit_advanced.mako:13 |
|
7052 | #: rhodecode/templates/admin/users/user_edit_advanced.mako:13 | |
7049 | #: rhodecode/templates/base/base.mako:115 |
|
7053 | #: rhodecode/templates/base/base.mako:115 | |
7050 |
#: rhodecode/templates/base/base.mako:13 |
|
7054 | #: rhodecode/templates/base/base.mako:137 | |
7051 | msgid "Repository groups" |
|
7055 | msgid "Repository groups" | |
7052 | msgstr "" |
|
7056 | msgstr "" | |
7053 |
|
7057 | |||
@@ -7062,7 +7066,7 b' msgstr ""' | |||||
7062 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_settings.mako:25 |
|
7066 | #: rhodecode/templates/admin/repo_groups/repo_group_edit_settings.mako:25 | |
7063 | #: rhodecode/templates/admin/repos/repo_add_base.mako:43 |
|
7067 | #: rhodecode/templates/admin/repos/repo_add_base.mako:43 | |
7064 | #: rhodecode/templates/admin/repos/repo_edit_settings.mako:33 |
|
7068 | #: rhodecode/templates/admin/repos/repo_edit_settings.mako:33 | |
7065 |
#: rhodecode/templates/base/base.mako:67 |
|
7069 | #: rhodecode/templates/base/base.mako:672 | |
7066 | #: rhodecode/templates/data_table/_dt_elements.mako:217 |
|
7070 | #: rhodecode/templates/data_table/_dt_elements.mako:217 | |
7067 | #: rhodecode/templates/forks/fork.mako:41 |
|
7071 | #: rhodecode/templates/forks/fork.mako:41 | |
7068 | msgid "Repository group" |
|
7072 | msgid "Repository group" | |
@@ -7312,7 +7316,7 b' msgid "Import Existing Repository ?"' | |||||
7312 | msgstr "" |
|
7316 | msgstr "" | |
7313 |
|
7317 | |||
7314 | #: rhodecode/templates/admin/repos/repo_add_base.mako:23 |
|
7318 | #: rhodecode/templates/admin/repos/repo_add_base.mako:23 | |
7315 |
#: rhodecode/templates/base/base.mako:33 |
|
7319 | #: rhodecode/templates/base/base.mako:333 | |
7316 | msgid "Clone from" |
|
7320 | msgid "Clone from" | |
7317 | msgstr "" |
|
7321 | msgstr "" | |
7318 |
|
7322 | |||
@@ -8024,7 +8028,7 b' msgstr ""' | |||||
8024 | #: rhodecode/templates/admin/settings/settings_global.mako:140 |
|
8028 | #: rhodecode/templates/admin/settings/settings_global.mako:140 | |
8025 | #: rhodecode/templates/admin/settings/settings_labs.mako:48 |
|
8029 | #: rhodecode/templates/admin/settings/settings_labs.mako:48 | |
8026 | #: rhodecode/templates/admin/settings/settings_vcs.mako:13 |
|
8030 | #: rhodecode/templates/admin/settings/settings_vcs.mako:13 | |
8027 |
#: rhodecode/templates/admin/settings/settings_visual.mako:21 |
|
8031 | #: rhodecode/templates/admin/settings/settings_visual.mako:217 | |
8028 | msgid "Save settings" |
|
8032 | msgid "Save settings" | |
8029 | msgstr "" |
|
8033 | msgstr "" | |
8030 |
|
8034 | |||
@@ -8550,7 +8554,7 b' msgstr ""' | |||||
8550 | msgid "Clone URL templates" |
|
8554 | msgid "Clone URL templates" | |
8551 | msgstr "" |
|
8555 | msgstr "" | |
8552 |
|
8556 | |||
8553 |
#: rhodecode/templates/admin/settings/settings_visual.mako:18 |
|
8557 | #: rhodecode/templates/admin/settings/settings_visual.mako:184 | |
8554 | msgid "" |
|
8558 | msgid "" | |
8555 | "Schema of clone url construction eg. '{scheme}://{user}@{netloc}/{repo}', available vars:\n" |
|
8559 | "Schema of clone url construction eg. '{scheme}://{user}@{netloc}/{repo}', available vars:\n" | |
8556 | " {scheme} 'http' or 'https' sent from running RhodeCode server,\n" |
|
8560 | " {scheme} 'http' or 'https' sent from running RhodeCode server,\n" | |
@@ -8562,11 +8566,11 b' msgid ""' | |||||
8562 | " {repoid} ID of repository, can be used to contruct clone-by-id" |
|
8566 | " {repoid} ID of repository, can be used to contruct clone-by-id" | |
8563 | msgstr "" |
|
8567 | msgstr "" | |
8564 |
|
8568 | |||
8565 |
#: rhodecode/templates/admin/settings/settings_visual.mako:19 |
|
8569 | #: rhodecode/templates/admin/settings/settings_visual.mako:199 | |
8566 | msgid "Custom Support Link" |
|
8570 | msgid "Custom Support Link" | |
8567 | msgstr "" |
|
8571 | msgstr "" | |
8568 |
|
8572 | |||
8569 |
#: rhodecode/templates/admin/settings/settings_visual.mako:20 |
|
8573 | #: rhodecode/templates/admin/settings/settings_visual.mako:207 | |
8570 | #, python-format |
|
8574 | #, python-format | |
8571 | msgid "" |
|
8575 | msgid "" | |
8572 | "Custom url for the support link located at the bottom.\n" |
|
8576 | "Custom url for the support link located at the bottom.\n" | |
@@ -8582,7 +8586,7 b' msgstr ""' | |||||
8582 | #: rhodecode/templates/admin/user_groups/user_group_add.mako:13 |
|
8586 | #: rhodecode/templates/admin/user_groups/user_group_add.mako:13 | |
8583 | #: rhodecode/templates/admin/users/user_edit_advanced.mako:14 |
|
8587 | #: rhodecode/templates/admin/users/user_edit_advanced.mako:14 | |
8584 | #: rhodecode/templates/base/base.mako:117 |
|
8588 | #: rhodecode/templates/base/base.mako:117 | |
8585 |
#: rhodecode/templates/base/base.mako:1 |
|
8589 | #: rhodecode/templates/base/base.mako:140 | |
8586 | msgid "User groups" |
|
8590 | msgid "User groups" | |
8587 | msgstr "" |
|
8591 | msgstr "" | |
8588 |
|
8592 | |||
@@ -9090,16 +9094,21 b' msgstr ""' | |||||
9090 | msgid "Delegated Admin Panel" |
|
9094 | msgid "Delegated Admin Panel" | |
9091 | msgstr "" |
|
9095 | msgstr "" | |
9092 |
|
9096 | |||
9093 |
#: rhodecode/templates/base/base.mako:11 |
|
9097 | #: rhodecode/templates/base/base.mako:118 | |
|
9098 | #: rhodecode/templates/base/base.mako:395 | |||
|
9099 | msgid "Artifacts" | |||
|
9100 | msgstr "" | |||
|
9101 | ||||
|
9102 | #: rhodecode/templates/base/base.mako:120 | |||
9094 | msgid "Authentication" |
|
9103 | msgid "Authentication" | |
9095 | msgstr "" |
|
9104 | msgstr "" | |
9096 |
|
9105 | |||
9097 |
#: rhodecode/templates/base/base.mako:12 |
|
9106 | #: rhodecode/templates/base/base.mako:122 | |
9098 | msgid "Defaults" |
|
9107 | msgid "Defaults" | |
9099 | msgstr "" |
|
9108 | msgstr "" | |
9100 |
|
9109 | |||
9101 |
#: rhodecode/templates/base/base.mako:16 |
|
9110 | #: rhodecode/templates/base/base.mako:162 | |
9102 |
#: rhodecode/templates/base/base.mako:20 |
|
9111 | #: rhodecode/templates/base/base.mako:202 | |
9103 | #: rhodecode/templates/changeset/changeset.mako:140 |
|
9112 | #: rhodecode/templates/changeset/changeset.mako:140 | |
9104 | #: rhodecode/templates/files/files_source_header.mako:57 |
|
9113 | #: rhodecode/templates/files/files_source_header.mako:57 | |
9105 | #: rhodecode/templates/files/files_tree_header.mako:44 |
|
9114 | #: rhodecode/templates/files/files_tree_header.mako:44 | |
@@ -9107,40 +9116,40 b' msgstr ""' | |||||
9107 | msgid "Show More" |
|
9116 | msgid "Show More" | |
9108 | msgstr "" |
|
9117 | msgstr "" | |
9109 |
|
9118 | |||
9110 |
#: rhodecode/templates/base/base.mako:30 |
|
9119 | #: rhodecode/templates/base/base.mako:305 | |
9111 |
#: rhodecode/templates/base/base.mako:31 |
|
9120 | #: rhodecode/templates/base/base.mako:316 | |
9112 | msgid "RSS Feed" |
|
9121 | msgid "RSS Feed" | |
9113 | msgstr "" |
|
9122 | msgstr "" | |
9114 |
|
9123 | |||
9115 |
#: rhodecode/templates/base/base.mako:30 |
|
9124 | #: rhodecode/templates/base/base.mako:307 | |
9116 | msgid "Watch this Repository and actions on it in your personalized journal" |
|
9125 | msgid "Watch this Repository and actions on it in your personalized journal" | |
9117 | msgstr "" |
|
9126 | msgstr "" | |
9118 |
|
9127 | |||
9119 |
#: rhodecode/templates/base/base.mako:32 |
|
9128 | #: rhodecode/templates/base/base.mako:325 | |
9120 | msgid "Fork of" |
|
9129 | msgid "Fork of" | |
9121 | msgstr "" |
|
9130 | msgstr "" | |
9122 |
|
9131 | |||
9123 |
#: rhodecode/templates/base/base.mako:34 |
|
9132 | #: rhodecode/templates/base/base.mako:342 | |
9124 | #, python-format |
|
9133 | #, python-format | |
9125 | msgid "Repository locked by %(user)s" |
|
9134 | msgid "Repository locked by %(user)s" | |
9126 | msgstr "" |
|
9135 | msgstr "" | |
9127 |
|
9136 | |||
9128 |
#: rhodecode/templates/base/base.mako:34 |
|
9137 | #: rhodecode/templates/base/base.mako:347 | |
9129 | msgid "Repository not locked. Pull repository to lock it." |
|
9138 | msgid "Repository not locked. Pull repository to lock it." | |
9130 | msgstr "" |
|
9139 | msgstr "" | |
9131 |
|
9140 | |||
9132 |
#: rhodecode/templates/base/base.mako:36 |
|
9141 | #: rhodecode/templates/base/base.mako:363 | |
9133 | msgid "This repository has been archived. It is now read-only." |
|
9142 | msgid "This repository has been archived. It is now read-only." | |
9134 | msgstr "" |
|
9143 | msgstr "" | |
9135 |
|
9144 | |||
9136 |
#: rhodecode/templates/base/base.mako:37 |
|
9145 | #: rhodecode/templates/base/base.mako:376 | |
9137 | #: rhodecode/templates/data_table/_dt_elements.mako:58 |
|
9146 | #: rhodecode/templates/data_table/_dt_elements.mako:58 | |
9138 | #: rhodecode/templates/data_table/_dt_elements.mako:59 |
|
9147 | #: rhodecode/templates/data_table/_dt_elements.mako:59 | |
9139 | #: rhodecode/templates/data_table/_dt_elements.mako:207 |
|
9148 | #: rhodecode/templates/data_table/_dt_elements.mako:207 | |
9140 | msgid "Summary" |
|
9149 | msgid "Summary" | |
9141 | msgstr "" |
|
9150 | msgstr "" | |
9142 |
|
9151 | |||
9143 |
#: rhodecode/templates/base/base.mako:37 |
|
9152 | #: rhodecode/templates/base/base.mako:377 | |
9144 | #: rhodecode/templates/data_table/_dt_elements.mako:63 |
|
9153 | #: rhodecode/templates/data_table/_dt_elements.mako:63 | |
9145 | #: rhodecode/templates/data_table/_dt_elements.mako:64 |
|
9154 | #: rhodecode/templates/data_table/_dt_elements.mako:64 | |
9146 | #: rhodecode/templates/files/file_authors_box.mako:30 |
|
9155 | #: rhodecode/templates/files/file_authors_box.mako:30 | |
@@ -9150,7 +9159,7 b' msgstr ""' | |||||
9150 | msgid "Commits" |
|
9159 | msgid "Commits" | |
9151 | msgstr "" |
|
9160 | msgstr "" | |
9152 |
|
9161 | |||
9153 |
#: rhodecode/templates/base/base.mako:37 |
|
9162 | #: rhodecode/templates/base/base.mako:378 | |
9154 | #: rhodecode/templates/data_table/_dt_elements.mako:68 |
|
9163 | #: rhodecode/templates/data_table/_dt_elements.mako:68 | |
9155 | #: rhodecode/templates/data_table/_dt_elements.mako:69 |
|
9164 | #: rhodecode/templates/data_table/_dt_elements.mako:69 | |
9156 | #: rhodecode/templates/files/files.mako:15 |
|
9165 | #: rhodecode/templates/files/files.mako:15 | |
@@ -9158,87 +9167,83 b' msgstr ""' | |||||
9158 | msgid "Files" |
|
9167 | msgid "Files" | |
9159 | msgstr "" |
|
9168 | msgstr "" | |
9160 |
|
9169 | |||
9161 |
#: rhodecode/templates/base/base.mako:37 |
|
9170 | #: rhodecode/templates/base/base.mako:379 | |
9162 | #: rhodecode/templates/bookmarks/bookmarks.mako:78 |
|
9171 | #: rhodecode/templates/bookmarks/bookmarks.mako:78 | |
9163 | #: rhodecode/templates/branches/branches.mako:77 |
|
9172 | #: rhodecode/templates/branches/branches.mako:77 | |
9164 | #: rhodecode/templates/tags/tags.mako:78 |
|
9173 | #: rhodecode/templates/tags/tags.mako:78 | |
9165 | msgid "Compare" |
|
9174 | msgid "Compare" | |
9166 | msgstr "" |
|
9175 | msgstr "" | |
9167 |
|
9176 | |||
9168 |
#: rhodecode/templates/base/base.mako:38 |
|
9177 | #: rhodecode/templates/base/base.mako:384 | |
9169 | #, python-format |
|
9178 | #, python-format | |
9170 | msgid "Show Pull Requests for %s" |
|
9179 | msgid "Show Pull Requests for %s" | |
9171 | msgstr "" |
|
9180 | msgstr "" | |
9172 |
|
9181 | |||
9173 |
#: rhodecode/templates/base/base.mako: |
|
9182 | #: rhodecode/templates/base/base.mako:401 | |
9174 | msgid "Artifacts" |
|
|||
9175 | msgstr "" |
|
|||
9176 |
|
||||
9177 | #: rhodecode/templates/base/base.mako:400 |
|
|||
9178 | msgid "Repository Settings" |
|
9183 | msgid "Repository Settings" | |
9179 | msgstr "" |
|
9184 | msgstr "" | |
9180 |
|
9185 | |||
9181 |
#: rhodecode/templates/base/base.mako:40 |
|
9186 | #: rhodecode/templates/base/base.mako:407 | |
9182 | msgid "Options" |
|
9187 | msgid "Options" | |
9183 | msgstr "" |
|
9188 | msgstr "" | |
9184 |
|
9189 | |||
9185 |
#: rhodecode/templates/base/base.mako:41 |
|
9190 | #: rhodecode/templates/base/base.mako:412 | |
9186 | msgid "Unlock Repository" |
|
9191 | msgid "Unlock Repository" | |
9187 | msgstr "" |
|
9192 | msgstr "" | |
9188 |
|
9193 | |||
9189 |
#: rhodecode/templates/base/base.mako:41 |
|
9194 | #: rhodecode/templates/base/base.mako:414 | |
9190 | msgid "Lock Repository" |
|
9195 | msgid "Lock Repository" | |
9191 | msgstr "" |
|
9196 | msgstr "" | |
9192 |
|
9197 | |||
9193 |
#: rhodecode/templates/base/base.mako:46 |
|
9198 | #: rhodecode/templates/base/base.mako:467 | |
9194 | msgid "Group Home" |
|
9199 | msgid "Group Home" | |
9195 | msgstr "" |
|
9200 | msgstr "" | |
9196 |
|
9201 | |||
9197 |
#: rhodecode/templates/base/base.mako:47 |
|
9202 | #: rhodecode/templates/base/base.mako:471 | |
9198 | msgid "You have admin right to this group, and can edit it" |
|
9203 | msgid "You have admin right to this group, and can edit it" | |
9199 | msgstr "" |
|
9204 | msgstr "" | |
9200 |
|
9205 | |||
9201 |
#: rhodecode/templates/base/base.mako:47 |
|
9206 | #: rhodecode/templates/base/base.mako:471 | |
9202 | msgid "Group Settings" |
|
9207 | msgid "Group Settings" | |
9203 | msgstr "" |
|
9208 | msgstr "" | |
9204 |
|
9209 | |||
9205 |
#: rhodecode/templates/base/base.mako:52 |
|
9210 | #: rhodecode/templates/base/base.mako:522 | |
9206 | msgid "This Repository" |
|
9211 | msgid "This Repository" | |
9207 | msgstr "" |
|
9212 | msgstr "" | |
9208 |
|
9213 | |||
9209 |
#: rhodecode/templates/base/base.mako:52 |
|
9214 | #: rhodecode/templates/base/base.mako:524 | |
9210 | msgid "Create Pull Request" |
|
9215 | msgid "Create Pull Request" | |
9211 | msgstr "" |
|
9216 | msgstr "" | |
9212 |
|
9217 | |||
9213 |
#: rhodecode/templates/base/base.mako:52 |
|
9218 | #: rhodecode/templates/base/base.mako:528 | |
9214 | msgid "Fork this repository" |
|
9219 | msgid "Fork this repository" | |
9215 | msgstr "" |
|
9220 | msgstr "" | |
9216 |
|
9221 | |||
9217 |
#: rhodecode/templates/base/base.mako:53 |
|
9222 | #: rhodecode/templates/base/base.mako:535 | |
9218 | msgid "This Repository Group" |
|
9223 | msgid "This Repository Group" | |
9219 | msgstr "" |
|
9224 | msgstr "" | |
9220 |
|
9225 | |||
9221 |
#: rhodecode/templates/base/base.mako:53 |
|
9226 | #: rhodecode/templates/base/base.mako:539 | |
9222 |
#: rhodecode/templates/base/base.mako:55 |
|
9227 | #: rhodecode/templates/base/base.mako:555 | |
9223 |
#: rhodecode/templates/base/base.mako:56 |
|
9228 | #: rhodecode/templates/base/base.mako:567 | |
9224 | msgid "New Repository" |
|
9229 | msgid "New Repository" | |
9225 | msgstr "" |
|
9230 | msgstr "" | |
9226 |
|
9231 | |||
9227 |
#: rhodecode/templates/base/base.mako:54 |
|
9232 | #: rhodecode/templates/base/base.mako:545 | |
9228 |
#: rhodecode/templates/base/base.mako:55 |
|
9233 | #: rhodecode/templates/base/base.mako:559 | |
9229 |
#: rhodecode/templates/base/base.mako:57 |
|
9234 | #: rhodecode/templates/base/base.mako:573 | |
9230 | msgid "New Repository Group" |
|
9235 | msgid "New Repository Group" | |
9231 | msgstr "" |
|
9236 | msgstr "" | |
9232 |
|
9237 | |||
9233 |
#: rhodecode/templates/base/base.mako: |
|
9238 | #: rhodecode/templates/base/base.mako:600 | |
9234 | msgid "Sign in" |
|
9239 | msgid "Sign in" | |
9235 | msgstr "" |
|
9240 | msgstr "" | |
9236 |
|
9241 | |||
9237 |
#: rhodecode/templates/base/base.mako:62 |
|
9242 | #: rhodecode/templates/base/base.mako:625 | |
9238 | msgid "My personal group" |
|
9243 | msgid "My personal group" | |
9239 | msgstr "" |
|
9244 | msgstr "" | |
9240 |
|
9245 | |||
9241 |
#: rhodecode/templates/base/base.mako:63 |
|
9246 | #: rhodecode/templates/base/base.mako:631 | |
9242 | #: rhodecode/templates/debug_style/alerts.html:5 |
|
9247 | #: rhodecode/templates/debug_style/alerts.html:5 | |
9243 | #: rhodecode/templates/debug_style/buttons.html:5 |
|
9248 | #: rhodecode/templates/debug_style/buttons.html:5 | |
9244 | #: rhodecode/templates/debug_style/code-block.html:6 |
|
9249 | #: rhodecode/templates/debug_style/code-block.html:6 | |
@@ -9261,62 +9266,62 b' msgstr ""' | |||||
9261 | msgid "Style" |
|
9266 | msgid "Style" | |
9262 | msgstr "" |
|
9267 | msgstr "" | |
9263 |
|
9268 | |||
9264 |
#: rhodecode/templates/base/base.mako:63 |
|
9269 | #: rhodecode/templates/base/base.mako:632 | |
9265 | msgid "[Style]" |
|
9270 | msgid "[Style]" | |
9266 | msgstr "" |
|
9271 | msgstr "" | |
9267 |
|
9272 | |||
9268 |
#: rhodecode/templates/base/base.mako:64 |
|
9273 | #: rhodecode/templates/base/base.mako:649 | |
9269 | msgid "No Bookmarks yet." |
|
9274 | msgid "No Bookmarks yet." | |
9270 | msgstr "" |
|
9275 | msgstr "" | |
9271 |
|
9276 | |||
9272 |
#: rhodecode/templates/base/base.mako:68 |
|
9277 | #: rhodecode/templates/base/base.mako:687 | |
9273 | msgid "Sign Out" |
|
9278 | msgid "Sign Out" | |
9274 | msgstr "" |
|
9279 | msgstr "" | |
9275 |
|
9280 | |||
9276 |
#: rhodecode/templates/base/base.mako:73 |
|
9281 | #: rhodecode/templates/base/base.mako:732 | |
9277 | #: rhodecode/templates/changeset/changeset_file_comment.mako:538 |
|
9282 | #: rhodecode/templates/changeset/changeset_file_comment.mako:538 | |
9278 | msgid "dismiss" |
|
9283 | msgid "dismiss" | |
9279 | msgstr "" |
|
9284 | msgstr "" | |
9280 |
|
9285 | |||
9281 |
#: rhodecode/templates/base/base.mako:77 |
|
9286 | #: rhodecode/templates/base/base.mako:773 | |
9282 | msgid "search / go to..." |
|
9287 | msgid "search / go to..." | |
9283 | msgstr "" |
|
9288 | msgstr "" | |
9284 |
|
9289 | |||
9285 | #: rhodecode/templates/base/base.mako:817 |
|
|||
9286 | msgid "Show activity journal" |
|
|||
9287 | msgstr "" |
|
|||
9288 |
|
||||
9289 | #: rhodecode/templates/base/base.mako:818 |
|
9290 | #: rhodecode/templates/base/base.mako:818 | |
|
9291 | msgid "Show activity journal" | |||
|
9292 | msgstr "" | |||
|
9293 | ||||
|
9294 | #: rhodecode/templates/base/base.mako:819 | |||
9290 | #: rhodecode/templates/journal/journal.mako:4 |
|
9295 | #: rhodecode/templates/journal/journal.mako:4 | |
9291 | #: rhodecode/templates/journal/journal.mako:14 |
|
9296 | #: rhodecode/templates/journal/journal.mako:14 | |
9292 | msgid "Journal" |
|
9297 | msgid "Journal" | |
9293 | msgstr "" |
|
9298 | msgstr "" | |
9294 |
|
9299 | |||
9295 | #: rhodecode/templates/base/base.mako:823 |
|
|||
9296 | msgid "Show Public activity journal" |
|
|||
9297 | msgstr "" |
|
|||
9298 |
|
||||
9299 | #: rhodecode/templates/base/base.mako:824 |
|
9300 | #: rhodecode/templates/base/base.mako:824 | |
|
9301 | msgid "Show Public activity journal" | |||
|
9302 | msgstr "" | |||
|
9303 | ||||
|
9304 | #: rhodecode/templates/base/base.mako:825 | |||
9300 | msgid "Public journal" |
|
9305 | msgid "Public journal" | |
9301 | msgstr "" |
|
9306 | msgstr "" | |
9302 |
|
9307 | |||
9303 | #: rhodecode/templates/base/base.mako:830 |
|
|||
9304 | msgid "Show Gists" |
|
|||
9305 | msgstr "" |
|
|||
9306 |
|
||||
9307 | #: rhodecode/templates/base/base.mako:831 |
|
9308 | #: rhodecode/templates/base/base.mako:831 | |
|
9309 | msgid "Show Gists" | |||
|
9310 | msgstr "" | |||
|
9311 | ||||
|
9312 | #: rhodecode/templates/base/base.mako:832 | |||
9308 | msgid "Gists" |
|
9313 | msgid "Gists" | |
9309 | msgstr "" |
|
9314 | msgstr "" | |
9310 |
|
9315 | |||
9311 |
#: rhodecode/templates/base/base.mako:83 |
|
9316 | #: rhodecode/templates/base/base.mako:838 | |
9312 | msgid "Admin settings" |
|
9317 | msgid "Admin settings" | |
9313 | msgstr "" |
|
9318 | msgstr "" | |
9314 |
|
9319 | |||
9315 |
#: rhodecode/templates/base/base.mako:115 |
|
9320 | #: rhodecode/templates/base/base.mako:1155 | |
9316 | msgid "Keyboard shortcuts" |
|
9321 | msgid "Keyboard shortcuts" | |
9317 | msgstr "" |
|
9322 | msgstr "" | |
9318 |
|
9323 | |||
9319 |
#: rhodecode/templates/base/base.mako:116 |
|
9324 | #: rhodecode/templates/base/base.mako:1163 | |
9320 | msgid "Site-wide shortcuts" |
|
9325 | msgid "Site-wide shortcuts" | |
9321 | msgstr "" |
|
9326 | msgstr "" | |
9322 |
|
9327 | |||
@@ -9357,7 +9362,7 b' msgid "Repository Forking"' | |||||
9357 | msgstr "" |
|
9362 | msgstr "" | |
9358 |
|
9363 | |||
9359 | #: rhodecode/templates/base/default_perms_box.mako:65 |
|
9364 | #: rhodecode/templates/base/default_perms_box.mako:65 | |
9360 |
msgid "Permission to create r |
|
9365 | msgid "Permission to create repository forks. Root level forks will only work if repository creation is enabled." | |
9361 | msgstr "" |
|
9366 | msgstr "" | |
9362 |
|
9367 | |||
9363 | #: rhodecode/templates/base/default_perms_box.mako:70 |
|
9368 | #: rhodecode/templates/base/default_perms_box.mako:70 | |
@@ -9418,7 +9423,7 b' msgstr ""' | |||||
9418 | #: rhodecode/templates/base/issue_tracker_settings.mako:300 |
|
9423 | #: rhodecode/templates/base/issue_tracker_settings.mako:300 | |
9419 | #: rhodecode/templates/changeset/changeset_file_comment.mako:395 |
|
9424 | #: rhodecode/templates/changeset/changeset_file_comment.mako:395 | |
9420 | #: rhodecode/templates/changeset/changeset_file_comment.mako:446 |
|
9425 | #: rhodecode/templates/changeset/changeset_file_comment.mako:446 | |
9421 |
#: rhodecode/templates/data_table/_dt_elements.mako:4 |
|
9426 | #: rhodecode/templates/data_table/_dt_elements.mako:463 | |
9422 | #: rhodecode/templates/files/files_add.mako:59 |
|
9427 | #: rhodecode/templates/files/files_add.mako:59 | |
9423 | #: rhodecode/templates/files/files_edit.mako:61 |
|
9428 | #: rhodecode/templates/files/files_edit.mako:61 | |
9424 | msgid "Preview" |
|
9429 | msgid "Preview" | |
@@ -10481,11 +10486,11 b' msgstr ""' | |||||
10481 | msgid "Work in progress" |
|
10486 | msgid "Work in progress" | |
10482 | msgstr "" |
|
10487 | msgstr "" | |
10483 |
|
10488 | |||
10484 |
#: rhodecode/templates/data_table/_dt_elements.mako:43 |
|
10489 | #: rhodecode/templates/data_table/_dt_elements.mako:438 | |
10485 | msgid "Info" |
|
10490 | msgid "Info" | |
10486 | msgstr "" |
|
10491 | msgstr "" | |
10487 |
|
10492 | |||
10488 |
#: rhodecode/templates/data_table/_dt_elements.mako:4 |
|
10493 | #: rhodecode/templates/data_table/_dt_elements.mako:480 | |
10489 | #, python-format |
|
10494 | #, python-format | |
10490 | msgid "Parsed using %s syntax" |
|
10495 | msgid "Parsed using %s syntax" | |
10491 | msgstr "" |
|
10496 | msgstr "" | |
@@ -10645,7 +10650,7 b' msgid "{mention_prefix}{user} left a {co' | |||||
10645 | msgstr "" |
|
10650 | msgstr "" | |
10646 |
|
10651 | |||
10647 | #: rhodecode/templates/email_templates/commit_comment.mako:54 |
|
10652 | #: rhodecode/templates/email_templates/commit_comment.mako:54 | |
10648 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:6 |
|
10653 | #: rhodecode/templates/email_templates/pull_request_comment.mako:62 | |
10649 | msgid "Comment link" |
|
10654 | msgid "Comment link" | |
10650 | msgstr "" |
|
10655 | msgstr "" | |
10651 |
|
10656 | |||
@@ -10662,26 +10667,26 b' msgid "Commit message"' | |||||
10662 | msgstr "" |
|
10667 | msgstr "" | |
10663 |
|
10668 | |||
10664 | #: rhodecode/templates/email_templates/commit_comment.mako:65 |
|
10669 | #: rhodecode/templates/email_templates/commit_comment.mako:65 | |
10665 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:7 |
|
10670 | #: rhodecode/templates/email_templates/pull_request_comment.mako:76 | |
10666 | msgid "File: {comment_file} on line {comment_line}" |
|
10671 | msgid "File: {comment_file} on line {comment_line}" | |
10667 | msgstr "" |
|
10672 | msgstr "" | |
10668 |
|
10673 | |||
10669 | #: rhodecode/templates/email_templates/commit_comment.mako:69 |
|
10674 | #: rhodecode/templates/email_templates/commit_comment.mako:69 | |
10670 | #: rhodecode/templates/email_templates/commit_comment.mako:161 |
|
10675 | #: rhodecode/templates/email_templates/commit_comment.mako:161 | |
10671 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:8 |
|
10676 | #: rhodecode/templates/email_templates/pull_request_comment.mako:80 | |
10672 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:19 |
|
10677 | #: rhodecode/templates/email_templates/pull_request_comment.mako:190 | |
10673 | msgid "`TODO` number" |
|
10678 | msgid "`TODO` number" | |
10674 | msgstr "" |
|
10679 | msgstr "" | |
10675 |
|
10680 | |||
10676 | #: rhodecode/templates/email_templates/commit_comment.mako:71 |
|
10681 | #: rhodecode/templates/email_templates/commit_comment.mako:71 | |
10677 | #: rhodecode/templates/email_templates/commit_comment.mako:163 |
|
10682 | #: rhodecode/templates/email_templates/commit_comment.mako:163 | |
10678 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:8 |
|
10683 | #: rhodecode/templates/email_templates/pull_request_comment.mako:82 | |
10679 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:19 |
|
10684 | #: rhodecode/templates/email_templates/pull_request_comment.mako:192 | |
10680 | msgid "`Note` number" |
|
10685 | msgid "`Note` number" | |
10681 | msgstr "" |
|
10686 | msgstr "" | |
10682 |
|
10687 | |||
10683 | #: rhodecode/templates/email_templates/commit_comment.mako:104 |
|
10688 | #: rhodecode/templates/email_templates/commit_comment.mako:104 | |
10684 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:12 |
|
10689 | #: rhodecode/templates/email_templates/pull_request_comment.mako:123 | |
10685 | msgid "left a" |
|
10690 | msgid "left a" | |
10686 | msgstr "" |
|
10691 | msgstr "" | |
10687 |
|
10692 | |||
@@ -10702,18 +10707,18 b' msgid "Commit Status"' | |||||
10702 | msgstr "" |
|
10707 | msgstr "" | |
10703 |
|
10708 | |||
10704 | #: rhodecode/templates/email_templates/commit_comment.mako:153 |
|
10709 | #: rhodecode/templates/email_templates/commit_comment.mako:153 | |
10705 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:18 |
|
10710 | #: rhodecode/templates/email_templates/pull_request_comment.mako:182 | |
10706 | #: rhodecode/templates/search/search_path.mako:9 |
|
10711 | #: rhodecode/templates/search/search_path.mako:9 | |
10707 | msgid "File" |
|
10712 | msgid "File" | |
10708 | msgstr "" |
|
10713 | msgstr "" | |
10709 |
|
10714 | |||
10710 | #: rhodecode/templates/email_templates/commit_comment.mako:154 |
|
10715 | #: rhodecode/templates/email_templates/commit_comment.mako:154 | |
10711 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:18 |
|
10716 | #: rhodecode/templates/email_templates/pull_request_comment.mako:183 | |
10712 | msgid "`{comment_file}` on line {comment_line}" |
|
10717 | msgid "`{comment_file}` on line {comment_line}" | |
10713 | msgstr "" |
|
10718 | msgstr "" | |
10714 |
|
10719 | |||
10715 | #: rhodecode/templates/email_templates/commit_comment.mako:173 |
|
10720 | #: rhodecode/templates/email_templates/commit_comment.mako:173 | |
10716 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:20 |
|
10721 | #: rhodecode/templates/email_templates/pull_request_comment.mako:202 | |
10717 | msgid "Reply" |
|
10722 | msgid "Reply" | |
10718 | msgstr "" |
|
10723 | msgstr "" | |
10719 |
|
10724 | |||
@@ -10729,35 +10734,35 b' msgstr ""' | |||||
10729 | msgid "{mention_prefix}{user} left a {comment_type} on pull request !{pr_id}: \"{pr_title}\"" |
|
10734 | msgid "{mention_prefix}{user} left a {comment_type} on pull request !{pr_id}: \"{pr_title}\"" | |
10730 | msgstr "" |
|
10735 | msgstr "" | |
10731 |
|
10736 | |||
10732 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:6 |
|
10737 | #: rhodecode/templates/email_templates/pull_request_comment.mako:64 | |
10733 | #: rhodecode/templates/hovercards/hovercard_pull_request.mako:24 |
|
10738 | #: rhodecode/templates/hovercards/hovercard_pull_request.mako:24 | |
10734 | msgid "Pull Request" |
|
10739 | msgid "Pull Request" | |
10735 | msgstr "" |
|
10740 | msgstr "" | |
10736 |
|
10741 | |||
10737 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:6 |
|
10742 | #: rhodecode/templates/email_templates/pull_request_comment.mako:66 | |
10738 | #: rhodecode/templates/email_templates/pull_request_review.mako:45 |
|
10743 | #: rhodecode/templates/email_templates/pull_request_review.mako:45 | |
10739 | #: rhodecode/templates/email_templates/pull_request_update.mako:41 |
|
10744 | #: rhodecode/templates/email_templates/pull_request_update.mako:41 | |
10740 | msgid "Commit flow: {source_ref_type}:{source_ref_name} of {source_repo_url} into {target_ref_type}:{target_ref_name} of {target_repo_url}" |
|
10745 | msgid "Commit flow: {source_ref_type}:{source_ref_name} of {source_repo_url} into {target_ref_type}:{target_ref_name} of {target_repo_url}" | |
10741 | msgstr "" |
|
10746 | msgstr "" | |
10742 |
|
10747 | |||
10743 |
#: rhodecode/templates/email_templates/pull_request_comment.mako: |
|
10748 | #: rhodecode/templates/email_templates/pull_request_comment.mako:69 | |
10744 | msgid "{user} submitted pull request !{pr_id} status: *{status}*" |
|
10749 | msgid "{user} submitted pull request !{pr_id} status: *{status}*" | |
10745 | msgstr "" |
|
10750 | msgstr "" | |
10746 |
|
10751 | |||
10747 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:7 |
|
10752 | #: rhodecode/templates/email_templates/pull_request_comment.mako:72 | |
10748 | msgid "{user} submitted pull request !{pr_id} status: *{status} and closed*" |
|
10753 | msgid "{user} submitted pull request !{pr_id} status: *{status} and closed*" | |
10749 | msgstr "" |
|
10754 | msgstr "" | |
10750 |
|
10755 | |||
10751 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:12 |
|
10756 | #: rhodecode/templates/email_templates/pull_request_comment.mako:126 | |
10752 | msgid "{comment_type} on file `{comment_file}` in pull request." |
|
10757 | msgid "{comment_type} on file `{comment_file}` in pull request." | |
10753 | msgstr "" |
|
10758 | msgstr "" | |
10754 |
|
10759 | |||
10755 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:12 |
|
10760 | #: rhodecode/templates/email_templates/pull_request_comment.mako:128 | |
10756 | msgid "{comment_type} on pull request." |
|
10761 | msgid "{comment_type} on pull request." | |
10757 | msgstr "" |
|
10762 | msgstr "" | |
10758 |
|
10763 | |||
10759 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:13 |
|
10764 | #: rhodecode/templates/email_templates/pull_request_comment.mako:133 | |
10760 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:16 |
|
10765 | #: rhodecode/templates/email_templates/pull_request_comment.mako:163 | |
10761 | #: rhodecode/templates/email_templates/pull_request_review.mako:100 |
|
10766 | #: rhodecode/templates/email_templates/pull_request_review.mako:100 | |
10762 | #: rhodecode/templates/email_templates/pull_request_review.mako:116 |
|
10767 | #: rhodecode/templates/email_templates/pull_request_review.mako:116 | |
10763 | #: rhodecode/templates/email_templates/pull_request_update.mako:104 |
|
10768 | #: rhodecode/templates/email_templates/pull_request_update.mako:104 | |
@@ -10765,26 +10770,26 b' msgstr ""' | |||||
10765 | msgid "Pull request" |
|
10770 | msgid "Pull request" | |
10766 | msgstr "" |
|
10771 | msgstr "" | |
10767 |
|
10772 | |||
10768 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:15 |
|
10773 | #: rhodecode/templates/email_templates/pull_request_comment.mako:152 | |
10769 | msgid "Review Status" |
|
10774 | msgid "Review Status" | |
10770 | msgstr "" |
|
10775 | msgstr "" | |
10771 |
|
10776 | |||
10772 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:15 |
|
10777 | #: rhodecode/templates/email_templates/pull_request_comment.mako:155 | |
10773 | msgid "Closed pull request with status" |
|
10778 | msgid "Closed pull request with status" | |
10774 | msgstr "" |
|
10779 | msgstr "" | |
10775 |
|
10780 | |||
10776 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:15 |
|
10781 | #: rhodecode/templates/email_templates/pull_request_comment.mako:157 | |
10777 | msgid "Submitted review status" |
|
10782 | msgid "Submitted review status" | |
10778 | msgstr "" |
|
10783 | msgstr "" | |
10779 |
|
10784 | |||
10780 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:17 |
|
10785 | #: rhodecode/templates/email_templates/pull_request_comment.mako:172 | |
10781 | #: rhodecode/templates/email_templates/pull_request_review.mako:125 |
|
10786 | #: rhodecode/templates/email_templates/pull_request_review.mako:125 | |
10782 | #: rhodecode/templates/email_templates/pull_request_update.mako:130 |
|
10787 | #: rhodecode/templates/email_templates/pull_request_update.mako:130 | |
10783 | msgid "Commit Flow" |
|
10788 | msgid "Commit Flow" | |
10784 | msgstr "" |
|
10789 | msgstr "" | |
10785 |
|
10790 | |||
10786 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:17 |
|
10791 | #: rhodecode/templates/email_templates/pull_request_comment.mako:174 | |
10787 |
#: rhodecode/templates/email_templates/pull_request_comment.mako:17 |
|
10792 | #: rhodecode/templates/email_templates/pull_request_comment.mako:176 | |
10788 | #: rhodecode/templates/email_templates/pull_request_review.mako:127 |
|
10793 | #: rhodecode/templates/email_templates/pull_request_review.mako:127 | |
10789 | #: rhodecode/templates/email_templates/pull_request_review.mako:129 |
|
10794 | #: rhodecode/templates/email_templates/pull_request_review.mako:129 | |
10790 | #: rhodecode/templates/email_templates/pull_request_update.mako:132 |
|
10795 | #: rhodecode/templates/email_templates/pull_request_update.mako:132 | |
@@ -11447,12 +11452,12 b' msgstr ""' | |||||
11447 | msgid "In pull request description" |
|
11452 | msgid "In pull request description" | |
11448 | msgstr "" |
|
11453 | msgstr "" | |
11449 |
|
11454 | |||
11450 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
11455 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:840 | |
11451 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:8 |
|
11456 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:860 | |
11452 | msgid "No Ticket data found." |
|
11457 | msgid "No Ticket data found." | |
11453 | msgstr "" |
|
11458 | msgstr "" | |
11454 |
|
11459 | |||
11455 |
#: rhodecode/templates/pullrequests/pullrequest_show.mako:84 |
|
11460 | #: rhodecode/templates/pullrequests/pullrequest_show.mako:845 | |
11456 | msgid "In commit messages" |
|
11461 | msgid "In commit messages" | |
11457 | msgstr "" |
|
11462 | msgstr "" | |
11458 |
|
11463 |
@@ -311,6 +311,7 b' class BaseRepository(object):' | |||||
311 | DEFAULT_CONTACT = u"Unknown" |
|
311 | DEFAULT_CONTACT = u"Unknown" | |
312 | DEFAULT_DESCRIPTION = u"unknown" |
|
312 | DEFAULT_DESCRIPTION = u"unknown" | |
313 | EMPTY_COMMIT_ID = '0' * 40 |
|
313 | EMPTY_COMMIT_ID = '0' * 40 | |
|
314 | COMMIT_ID_PAT = re.compile(r'[0-9a-fA-F]{40}') | |||
314 |
|
315 | |||
315 | path = None |
|
316 | path = None | |
316 |
|
317 |
@@ -618,7 +618,7 b' class GitRepository(BaseRepository):' | |||||
618 | else: |
|
618 | else: | |
619 | output, __ = self.run_git_command( |
|
619 | output, __ = self.run_git_command( | |
620 | ['merge-base', commit_id1, commit_id2]) |
|
620 | ['merge-base', commit_id1, commit_id2]) | |
621 |
ancestor_id = |
|
621 | ancestor_id = self.COMMIT_ID_PAT.findall(output)[0] | |
622 |
|
622 | |||
623 | log.debug('Found common ancestor with sha: %s', ancestor_id) |
|
623 | log.debug('Found common ancestor with sha: %s', ancestor_id) | |
624 |
|
624 | |||
@@ -642,7 +642,7 b' class GitRepository(BaseRepository):' | |||||
642 | '%s..%s' % (commit_id1, commit_id2)]) |
|
642 | '%s..%s' % (commit_id1, commit_id2)]) | |
643 | commits = [ |
|
643 | commits = [ | |
644 | repo1.get_commit(commit_id=commit_id, pre_load=pre_load) |
|
644 | repo1.get_commit(commit_id=commit_id, pre_load=pre_load) | |
645 |
for commit_id in |
|
645 | for commit_id in self.COMMIT_ID_PAT.findall(output)] | |
646 |
|
646 | |||
647 | return commits |
|
647 | return commits | |
648 |
|
648 |
@@ -354,7 +354,7 b' class ChangesetStatusModel(BaseModel):' | |||||
354 | Session().add(new_status) |
|
354 | Session().add(new_status) | |
355 | return new_statuses |
|
355 | return new_statuses | |
356 |
|
356 | |||
357 | def aggregate_votes_by_user(self, commit_statuses, reviewers_data): |
|
357 | def aggregate_votes_by_user(self, commit_statuses, reviewers_data, user=None): | |
358 |
|
358 | |||
359 | commit_statuses_map = collections.defaultdict(list) |
|
359 | commit_statuses_map = collections.defaultdict(list) | |
360 | for st in commit_statuses: |
|
360 | for st in commit_statuses: | |
@@ -368,6 +368,10 b' class ChangesetStatusModel(BaseModel):' | |||||
368 | for obj in reviewers_data: |
|
368 | for obj in reviewers_data: | |
369 | if not obj.user: |
|
369 | if not obj.user: | |
370 | continue |
|
370 | continue | |
|
371 | if user and obj.user.username != user.username: | |||
|
372 | # single user filter | |||
|
373 | continue | |||
|
374 | ||||
371 | statuses = commit_statuses_map.get(obj.user.username, None) |
|
375 | statuses = commit_statuses_map.get(obj.user.username, None) | |
372 | if statuses: |
|
376 | if statuses: | |
373 | status_groups = itertools.groupby( |
|
377 | status_groups = itertools.groupby( | |
@@ -376,16 +380,19 b' class ChangesetStatusModel(BaseModel):' | |||||
376 |
|
380 | |||
377 | reviewers.append((obj, obj.user, obj.reasons, obj.mandatory, statuses)) |
|
381 | reviewers.append((obj, obj.user, obj.reasons, obj.mandatory, statuses)) | |
378 |
|
382 | |||
379 | return reviewers |
|
383 | if user: | |
|
384 | return reviewers[0] if reviewers else reviewers | |||
|
385 | else: | |||
|
386 | return reviewers | |||
380 |
|
387 | |||
381 | def reviewers_statuses(self, pull_request): |
|
388 | def reviewers_statuses(self, pull_request, user=None): | |
382 | _commit_statuses = self.get_statuses( |
|
389 | _commit_statuses = self.get_statuses( | |
383 | pull_request.source_repo, |
|
390 | pull_request.source_repo, | |
384 | pull_request=pull_request, |
|
391 | pull_request=pull_request, | |
385 | with_revisions=True) |
|
392 | with_revisions=True) | |
386 | reviewers = pull_request.get_pull_request_reviewers( |
|
393 | reviewers = pull_request.get_pull_request_reviewers( | |
387 | role=PullRequestReviewers.ROLE_REVIEWER) |
|
394 | role=PullRequestReviewers.ROLE_REVIEWER) | |
388 | return self.aggregate_votes_by_user(_commit_statuses, reviewers) |
|
395 | return self.aggregate_votes_by_user(_commit_statuses, reviewers, user=user) | |
389 |
|
396 | |||
390 | def calculated_review_status(self, pull_request): |
|
397 | def calculated_review_status(self, pull_request): | |
391 | """ |
|
398 | """ |
@@ -41,10 +41,10 b' from sqlalchemy import (' | |||||
41 | Index, Sequence, UniqueConstraint, ForeignKey, CheckConstraint, Column, |
|
41 | Index, Sequence, UniqueConstraint, ForeignKey, CheckConstraint, Column, | |
42 | Boolean, String, Unicode, UnicodeText, DateTime, Integer, LargeBinary, |
|
42 | Boolean, String, Unicode, UnicodeText, DateTime, Integer, LargeBinary, | |
43 | Text, Float, PickleType, BigInteger) |
|
43 | Text, Float, PickleType, BigInteger) | |
44 | from sqlalchemy.sql.expression import true, false, case |
|
44 | from sqlalchemy.sql.expression import true, false, case, null | |
45 | from sqlalchemy.sql.functions import coalesce, count # pragma: no cover |
|
45 | from sqlalchemy.sql.functions import coalesce, count # pragma: no cover | |
46 | from sqlalchemy.orm import ( |
|
46 | from sqlalchemy.orm import ( | |
47 | relationship, joinedload, class_mapper, validates, aliased) |
|
47 | relationship, lazyload, joinedload, class_mapper, validates, aliased) | |
48 | from sqlalchemy.ext.declarative import declared_attr |
|
48 | from sqlalchemy.ext.declarative import declared_attr | |
49 | from sqlalchemy.ext.hybrid import hybrid_property |
|
49 | from sqlalchemy.ext.hybrid import hybrid_property | |
50 | from sqlalchemy.exc import IntegrityError # pragma: no cover |
|
50 | from sqlalchemy.exc import IntegrityError # pragma: no cover | |
@@ -911,7 +911,7 b' class User(Base, BaseModel):' | |||||
911 | return {} |
|
911 | return {} | |
912 |
|
912 | |||
913 | try: |
|
913 | try: | |
914 | return json.loads(self._user_data) |
|
914 | return json.loads(self._user_data) or {} | |
915 | except TypeError: |
|
915 | except TypeError: | |
916 | return {} |
|
916 | return {} | |
917 |
|
917 | |||
@@ -4479,9 +4479,9 b' class PullRequest(Base, _PullRequestBase' | |||||
4479 | from rhodecode.model.changeset_status import ChangesetStatusModel |
|
4479 | from rhodecode.model.changeset_status import ChangesetStatusModel | |
4480 | return ChangesetStatusModel().calculated_review_status(self) |
|
4480 | return ChangesetStatusModel().calculated_review_status(self) | |
4481 |
|
4481 | |||
4482 | def reviewers_statuses(self): |
|
4482 | def reviewers_statuses(self, user=None): | |
4483 | from rhodecode.model.changeset_status import ChangesetStatusModel |
|
4483 | from rhodecode.model.changeset_status import ChangesetStatusModel | |
4484 | return ChangesetStatusModel().reviewers_statuses(self) |
|
4484 | return ChangesetStatusModel().reviewers_statuses(self, user=user) | |
4485 |
|
4485 | |||
4486 | def get_pull_request_reviewers(self, role=None): |
|
4486 | def get_pull_request_reviewers(self, role=None): | |
4487 | qry = PullRequestReviewers.query()\ |
|
4487 | qry = PullRequestReviewers.query()\ |
@@ -56,7 +56,7 b' from rhodecode.model import BaseModel' | |||||
56 | from rhodecode.model.changeset_status import ChangesetStatusModel |
|
56 | from rhodecode.model.changeset_status import ChangesetStatusModel | |
57 | from rhodecode.model.comment import CommentsModel |
|
57 | from rhodecode.model.comment import CommentsModel | |
58 | from rhodecode.model.db import ( |
|
58 | from rhodecode.model.db import ( | |
59 | or_, String, cast, PullRequest, PullRequestReviewers, ChangesetStatus, |
|
59 | aliased, null, lazyload, and_, or_, func, String, cast, PullRequest, PullRequestReviewers, ChangesetStatus, | |
60 | PullRequestVersion, ChangesetComment, Repository, RepoReviewRule, User) |
|
60 | PullRequestVersion, ChangesetComment, Repository, RepoReviewRule, User) | |
61 | from rhodecode.model.meta import Session |
|
61 | from rhodecode.model.meta import Session | |
62 | from rhodecode.model.notification import NotificationModel, \ |
|
62 | from rhodecode.model.notification import NotificationModel, \ | |
@@ -319,7 +319,7 b' class PullRequestModel(BaseModel):' | |||||
319 |
|
319 | |||
320 | if search_q: |
|
320 | if search_q: | |
321 | like_expression = u'%{}%'.format(safe_unicode(search_q)) |
|
321 | like_expression = u'%{}%'.format(safe_unicode(search_q)) | |
322 | q = q.join(User) |
|
322 | q = q.join(User, User.user_id == PullRequest.user_id) | |
323 | q = q.filter(or_( |
|
323 | q = q.filter(or_( | |
324 | cast(PullRequest.pull_request_id, String).ilike(like_expression), |
|
324 | cast(PullRequest.pull_request_id, String).ilike(like_expression), | |
325 | User.username.ilike(like_expression), |
|
325 | User.username.ilike(like_expression), | |
@@ -405,36 +405,30 b' class PullRequestModel(BaseModel):' | |||||
405 |
|
405 | |||
406 | return pull_requests |
|
406 | return pull_requests | |
407 |
|
407 | |||
408 |
def count_awaiting_review(self, repo_name, search_q=None, |
|
408 | def count_awaiting_review(self, repo_name, search_q=None, statuses=None): | |
409 | opened_by=None): |
|
|||
410 | """ |
|
409 | """ | |
411 | Count the number of pull requests for a specific repository that are |
|
410 | Count the number of pull requests for a specific repository that are | |
412 | awaiting review. |
|
411 | awaiting review. | |
413 |
|
412 | |||
414 | :param repo_name: target or source repo |
|
413 | :param repo_name: target or source repo | |
415 | :param search_q: filter by text |
|
414 | :param search_q: filter by text | |
416 | :param source: boolean flag to specify if repo_name refers to source |
|
|||
417 | :param statuses: list of pull request statuses |
|
415 | :param statuses: list of pull request statuses | |
418 | :param opened_by: author user of the pull request |
|
|||
419 | :returns: int number of pull requests |
|
416 | :returns: int number of pull requests | |
420 | """ |
|
417 | """ | |
421 | pull_requests = self.get_awaiting_review( |
|
418 | pull_requests = self.get_awaiting_review( | |
422 |
repo_name, search_q=search_q, |
|
419 | repo_name, search_q=search_q, statuses=statuses) | |
423 |
|
420 | |||
424 | return len(pull_requests) |
|
421 | return len(pull_requests) | |
425 |
|
422 | |||
426 |
def get_awaiting_review(self, repo_name, search_q=None, |
|
423 | def get_awaiting_review(self, repo_name, search_q=None, statuses=None, | |
427 |
|
|
424 | offset=0, length=None, order_by=None, order_dir='desc'): | |
428 | order_by=None, order_dir='desc'): |
|
|||
429 | """ |
|
425 | """ | |
430 | Get all pull requests for a specific repository that are awaiting |
|
426 | Get all pull requests for a specific repository that are awaiting | |
431 | review. |
|
427 | review. | |
432 |
|
428 | |||
433 | :param repo_name: target or source repo |
|
429 | :param repo_name: target or source repo | |
434 | :param search_q: filter by text |
|
430 | :param search_q: filter by text | |
435 | :param source: boolean flag to specify if repo_name refers to source |
|
|||
436 | :param statuses: list of pull request statuses |
|
431 | :param statuses: list of pull request statuses | |
437 | :param opened_by: author user of the pull request |
|
|||
438 | :param offset: pagination offset |
|
432 | :param offset: pagination offset | |
439 | :param length: length of returned list |
|
433 | :param length: length of returned list | |
440 | :param order_by: order of the returned list |
|
434 | :param order_by: order of the returned list | |
@@ -442,8 +436,8 b' class PullRequestModel(BaseModel):' | |||||
442 | :returns: list of pull requests |
|
436 | :returns: list of pull requests | |
443 | """ |
|
437 | """ | |
444 | pull_requests = self.get_all( |
|
438 | pull_requests = self.get_all( | |
445 |
repo_name, search_q=search_q, |
|
439 | repo_name, search_q=search_q, statuses=statuses, | |
446 |
|
|
440 | order_by=order_by, order_dir=order_dir) | |
447 |
|
441 | |||
448 | _filtered_pull_requests = [] |
|
442 | _filtered_pull_requests = [] | |
449 | for pr in pull_requests: |
|
443 | for pr in pull_requests: | |
@@ -456,68 +450,117 b' class PullRequestModel(BaseModel):' | |||||
456 | else: |
|
450 | else: | |
457 | return _filtered_pull_requests |
|
451 | return _filtered_pull_requests | |
458 |
|
452 | |||
459 | def count_awaiting_my_review(self, repo_name, search_q=None, source=False, statuses=None, |
|
453 | def _prepare_awaiting_my_review_review_query( | |
460 | opened_by=None, user_id=None): |
|
454 | self, repo_name, user_id, search_q=None, statuses=None, | |
|
455 | order_by=None, order_dir='desc'): | |||
|
456 | ||||
|
457 | for_review_statuses = [ | |||
|
458 | ChangesetStatus.STATUS_UNDER_REVIEW, ChangesetStatus.STATUS_NOT_REVIEWED | |||
|
459 | ] | |||
|
460 | ||||
|
461 | pull_request_alias = aliased(PullRequest) | |||
|
462 | status_alias = aliased(ChangesetStatus) | |||
|
463 | reviewers_alias = aliased(PullRequestReviewers) | |||
|
464 | repo_alias = aliased(Repository) | |||
|
465 | ||||
|
466 | last_ver_subq = Session()\ | |||
|
467 | .query(func.min(ChangesetStatus.version)) \ | |||
|
468 | .filter(ChangesetStatus.pull_request_id == reviewers_alias.pull_request_id)\ | |||
|
469 | .filter(ChangesetStatus.user_id == reviewers_alias.user_id) \ | |||
|
470 | .subquery() | |||
|
471 | ||||
|
472 | q = Session().query(pull_request_alias) \ | |||
|
473 | .options(lazyload(pull_request_alias.author)) \ | |||
|
474 | .join(reviewers_alias, | |||
|
475 | reviewers_alias.pull_request_id == pull_request_alias.pull_request_id) \ | |||
|
476 | .join(repo_alias, | |||
|
477 | repo_alias.repo_id == pull_request_alias.target_repo_id) \ | |||
|
478 | .outerjoin(status_alias, | |||
|
479 | and_(status_alias.user_id == reviewers_alias.user_id, | |||
|
480 | status_alias.pull_request_id == reviewers_alias.pull_request_id)) \ | |||
|
481 | .filter(or_(status_alias.version == null(), | |||
|
482 | status_alias.version == last_ver_subq)) \ | |||
|
483 | .filter(reviewers_alias.user_id == user_id) \ | |||
|
484 | .filter(repo_alias.repo_name == repo_name) \ | |||
|
485 | .filter(or_(status_alias.status == null(), status_alias.status.in_(for_review_statuses))) \ | |||
|
486 | .group_by(pull_request_alias) | |||
|
487 | ||||
|
488 | # closed,opened | |||
|
489 | if statuses: | |||
|
490 | q = q.filter(pull_request_alias.status.in_(statuses)) | |||
|
491 | ||||
|
492 | if search_q: | |||
|
493 | like_expression = u'%{}%'.format(safe_unicode(search_q)) | |||
|
494 | q = q.join(User, User.user_id == pull_request_alias.user_id) | |||
|
495 | q = q.filter(or_( | |||
|
496 | cast(pull_request_alias.pull_request_id, String).ilike(like_expression), | |||
|
497 | User.username.ilike(like_expression), | |||
|
498 | pull_request_alias.title.ilike(like_expression), | |||
|
499 | pull_request_alias.description.ilike(like_expression), | |||
|
500 | )) | |||
|
501 | ||||
|
502 | if order_by: | |||
|
503 | order_map = { | |||
|
504 | 'name_raw': pull_request_alias.pull_request_id, | |||
|
505 | 'title': pull_request_alias.title, | |||
|
506 | 'updated_on_raw': pull_request_alias.updated_on, | |||
|
507 | 'target_repo': pull_request_alias.target_repo_id | |||
|
508 | } | |||
|
509 | if order_dir == 'asc': | |||
|
510 | q = q.order_by(order_map[order_by].asc()) | |||
|
511 | else: | |||
|
512 | q = q.order_by(order_map[order_by].desc()) | |||
|
513 | ||||
|
514 | return q | |||
|
515 | ||||
|
516 | def count_awaiting_my_review(self, repo_name, user_id, search_q=None, statuses=None): | |||
461 | """ |
|
517 | """ | |
462 | Count the number of pull requests for a specific repository that are |
|
518 | Count the number of pull requests for a specific repository that are | |
463 | awaiting review from a specific user. |
|
519 | awaiting review from a specific user. | |
464 |
|
520 | |||
465 | :param repo_name: target or source repo |
|
521 | :param repo_name: target or source repo | |
|
522 | :param user_id: reviewer user of the pull request | |||
466 | :param search_q: filter by text |
|
523 | :param search_q: filter by text | |
467 | :param source: boolean flag to specify if repo_name refers to source |
|
|||
468 | :param statuses: list of pull request statuses |
|
524 | :param statuses: list of pull request statuses | |
469 | :param opened_by: author user of the pull request |
|
|||
470 | :param user_id: reviewer user of the pull request |
|
|||
471 | :returns: int number of pull requests |
|
525 | :returns: int number of pull requests | |
472 | """ |
|
526 | """ | |
473 |
|
|
527 | q = self._prepare_awaiting_my_review_review_query( | |
474 |
repo_name, search_q=search_q, |
|
528 | repo_name, user_id, search_q=search_q, statuses=statuses) | |
475 | opened_by=opened_by, user_id=user_id) |
|
529 | return q.count() | |
476 |
|
530 | |||
477 | return len(pull_requests) |
|
531 | def get_awaiting_my_review(self, repo_name, user_id, search_q=None, statuses=None, | |
478 |
|
532 | offset=0, length=None, order_by=None, order_dir='desc'): | ||
479 | def get_awaiting_my_review(self, repo_name, search_q=None, source=False, statuses=None, |
|
|||
480 | opened_by=None, user_id=None, offset=0, |
|
|||
481 | length=None, order_by=None, order_dir='desc'): |
|
|||
482 | """ |
|
533 | """ | |
483 | Get all pull requests for a specific repository that are awaiting |
|
534 | Get all pull requests for a specific repository that are awaiting | |
484 | review from a specific user. |
|
535 | review from a specific user. | |
485 |
|
536 | |||
486 | :param repo_name: target or source repo |
|
537 | :param repo_name: target or source repo | |
|
538 | :param user_id: reviewer user of the pull request | |||
487 | :param search_q: filter by text |
|
539 | :param search_q: filter by text | |
488 | :param source: boolean flag to specify if repo_name refers to source |
|
|||
489 | :param statuses: list of pull request statuses |
|
540 | :param statuses: list of pull request statuses | |
490 | :param opened_by: author user of the pull request |
|
|||
491 | :param user_id: reviewer user of the pull request |
|
|||
492 | :param offset: pagination offset |
|
541 | :param offset: pagination offset | |
493 | :param length: length of returned list |
|
542 | :param length: length of returned list | |
494 | :param order_by: order of the returned list |
|
543 | :param order_by: order of the returned list | |
495 | :param order_dir: 'asc' or 'desc' ordering direction |
|
544 | :param order_dir: 'asc' or 'desc' ordering direction | |
496 | :returns: list of pull requests |
|
545 | :returns: list of pull requests | |
497 | """ |
|
546 | """ | |
498 | pull_requests = self.get_all( |
|
|||
499 | repo_name, search_q=search_q, source=source, statuses=statuses, |
|
|||
500 | opened_by=opened_by, order_by=order_by, order_dir=order_dir) |
|
|||
501 |
|
547 | |||
502 | _my = PullRequestModel().get_not_reviewed(user_id) |
|
548 | q = self._prepare_awaiting_my_review_review_query( | |
503 | my_participation = [] |
|
549 | repo_name, user_id, search_q=search_q, statuses=statuses, | |
504 | for pr in pull_requests: |
|
550 | order_by=order_by, order_dir=order_dir) | |
505 | if pr in _my: |
|
551 | ||
506 | my_participation.append(pr) |
|
|||
507 | _filtered_pull_requests = my_participation |
|
|||
508 | if length: |
|
552 | if length: | |
509 | return _filtered_pull_requests[offset:offset+length] |
|
553 | pull_requests = q.limit(length).offset(offset).all() | |
510 | else: |
|
554 | else: | |
511 |
|
|
555 | pull_requests = q.all() | |
|
556 | ||||
|
557 | return pull_requests | |||
512 |
|
558 | |||
513 | def get_not_reviewed(self, user_id): |
|
559 | def _prepare_im_participating_query(self, user_id=None, statuses=None, query='', | |
514 | return [ |
|
560 | order_by=None, order_dir='desc'): | |
515 | x.pull_request for x in PullRequestReviewers.query().filter( |
|
561 | """ | |
516 | PullRequestReviewers.user_id == user_id).all() |
|
562 | return a query of pull-requests user is an creator, or he's added as a reviewer | |
517 |
|
|
563 | """ | |
518 |
|
||||
519 | def _prepare_participating_query(self, user_id=None, statuses=None, query='', |
|
|||
520 | order_by=None, order_dir='desc'): |
|
|||
521 | q = PullRequest.query() |
|
564 | q = PullRequest.query() | |
522 | if user_id: |
|
565 | if user_id: | |
523 | reviewers_subquery = Session().query( |
|
566 | reviewers_subquery = Session().query( | |
@@ -535,7 +578,7 b' class PullRequestModel(BaseModel):' | |||||
535 |
|
578 | |||
536 | if query: |
|
579 | if query: | |
537 | like_expression = u'%{}%'.format(safe_unicode(query)) |
|
580 | like_expression = u'%{}%'.format(safe_unicode(query)) | |
538 | q = q.join(User) |
|
581 | q = q.join(User, User.user_id == PullRequest.user_id) | |
539 | q = q.filter(or_( |
|
582 | q = q.filter(or_( | |
540 | cast(PullRequest.pull_request_id, String).ilike(like_expression), |
|
583 | cast(PullRequest.pull_request_id, String).ilike(like_expression), | |
541 | User.username.ilike(like_expression), |
|
584 | User.username.ilike(like_expression), | |
@@ -557,17 +600,97 b' class PullRequestModel(BaseModel):' | |||||
557 | return q |
|
600 | return q | |
558 |
|
601 | |||
559 | def count_im_participating_in(self, user_id=None, statuses=None, query=''): |
|
602 | def count_im_participating_in(self, user_id=None, statuses=None, query=''): | |
560 | q = self._prepare_participating_query(user_id, statuses=statuses, query=query) |
|
603 | q = self._prepare_im_participating_query(user_id, statuses=statuses, query=query) | |
561 | return q.count() |
|
604 | return q.count() | |
562 |
|
605 | |||
563 | def get_im_participating_in( |
|
606 | def get_im_participating_in( | |
564 | self, user_id=None, statuses=None, query='', offset=0, |
|
607 | self, user_id=None, statuses=None, query='', offset=0, | |
565 | length=None, order_by=None, order_dir='desc'): |
|
608 | length=None, order_by=None, order_dir='desc'): | |
566 | """ |
|
609 | """ | |
567 | Get all Pull requests that i'm participating in, or i have opened |
|
610 | Get all Pull requests that i'm participating in as a reviewer, or i have opened | |
568 | """ |
|
611 | """ | |
569 |
|
612 | |||
570 | q = self._prepare_participating_query( |
|
613 | q = self._prepare_im_participating_query( | |
|
614 | user_id, statuses=statuses, query=query, order_by=order_by, | |||
|
615 | order_dir=order_dir) | |||
|
616 | ||||
|
617 | if length: | |||
|
618 | pull_requests = q.limit(length).offset(offset).all() | |||
|
619 | else: | |||
|
620 | pull_requests = q.all() | |||
|
621 | ||||
|
622 | return pull_requests | |||
|
623 | ||||
|
624 | def _prepare_participating_in_for_review_query( | |||
|
625 | self, user_id, statuses=None, query='', order_by=None, order_dir='desc'): | |||
|
626 | ||||
|
627 | for_review_statuses = [ | |||
|
628 | ChangesetStatus.STATUS_UNDER_REVIEW, ChangesetStatus.STATUS_NOT_REVIEWED | |||
|
629 | ] | |||
|
630 | ||||
|
631 | pull_request_alias = aliased(PullRequest) | |||
|
632 | status_alias = aliased(ChangesetStatus) | |||
|
633 | reviewers_alias = aliased(PullRequestReviewers) | |||
|
634 | ||||
|
635 | last_ver_subq = Session()\ | |||
|
636 | .query(func.min(ChangesetStatus.version)) \ | |||
|
637 | .filter(ChangesetStatus.pull_request_id == reviewers_alias.pull_request_id)\ | |||
|
638 | .filter(ChangesetStatus.user_id == reviewers_alias.user_id) \ | |||
|
639 | .subquery() | |||
|
640 | ||||
|
641 | q = Session().query(pull_request_alias) \ | |||
|
642 | .options(lazyload(pull_request_alias.author)) \ | |||
|
643 | .join(reviewers_alias, | |||
|
644 | reviewers_alias.pull_request_id == pull_request_alias.pull_request_id) \ | |||
|
645 | .outerjoin(status_alias, | |||
|
646 | and_(status_alias.user_id == reviewers_alias.user_id, | |||
|
647 | status_alias.pull_request_id == reviewers_alias.pull_request_id)) \ | |||
|
648 | .filter(or_(status_alias.version == null(), | |||
|
649 | status_alias.version == last_ver_subq)) \ | |||
|
650 | .filter(reviewers_alias.user_id == user_id) \ | |||
|
651 | .filter(or_(status_alias.status == null(), status_alias.status.in_(for_review_statuses))) \ | |||
|
652 | .group_by(pull_request_alias) | |||
|
653 | ||||
|
654 | # closed,opened | |||
|
655 | if statuses: | |||
|
656 | q = q.filter(pull_request_alias.status.in_(statuses)) | |||
|
657 | ||||
|
658 | if query: | |||
|
659 | like_expression = u'%{}%'.format(safe_unicode(query)) | |||
|
660 | q = q.join(User, User.user_id == pull_request_alias.user_id) | |||
|
661 | q = q.filter(or_( | |||
|
662 | cast(pull_request_alias.pull_request_id, String).ilike(like_expression), | |||
|
663 | User.username.ilike(like_expression), | |||
|
664 | pull_request_alias.title.ilike(like_expression), | |||
|
665 | pull_request_alias.description.ilike(like_expression), | |||
|
666 | )) | |||
|
667 | ||||
|
668 | if order_by: | |||
|
669 | order_map = { | |||
|
670 | 'name_raw': pull_request_alias.pull_request_id, | |||
|
671 | 'title': pull_request_alias.title, | |||
|
672 | 'updated_on_raw': pull_request_alias.updated_on, | |||
|
673 | 'target_repo': pull_request_alias.target_repo_id | |||
|
674 | } | |||
|
675 | if order_dir == 'asc': | |||
|
676 | q = q.order_by(order_map[order_by].asc()) | |||
|
677 | else: | |||
|
678 | q = q.order_by(order_map[order_by].desc()) | |||
|
679 | ||||
|
680 | return q | |||
|
681 | ||||
|
682 | def count_im_participating_in_for_review(self, user_id, statuses=None, query=''): | |||
|
683 | q = self._prepare_participating_in_for_review_query(user_id, statuses=statuses, query=query) | |||
|
684 | return q.count() | |||
|
685 | ||||
|
686 | def get_im_participating_in_for_review( | |||
|
687 | self, user_id, statuses=None, query='', offset=0, | |||
|
688 | length=None, order_by=None, order_dir='desc'): | |||
|
689 | """ | |||
|
690 | Get all Pull requests that needs user approval or rejection | |||
|
691 | """ | |||
|
692 | ||||
|
693 | q = self._prepare_participating_in_for_review_query( | |||
571 | user_id, statuses=statuses, query=query, order_by=order_by, |
|
694 | user_id, statuses=statuses, query=query, order_by=order_by, | |
572 | order_dir=order_dir) |
|
695 | order_dir=order_dir) | |
573 |
|
696 |
@@ -618,13 +618,13 b' input[type="reset"] {' | |||||
618 | text-align: right; |
|
618 | text-align: right; | |
619 |
|
619 | |||
620 | li { |
|
620 | li { | |
621 |
|
621 | list-style: none; | ||
622 |
|
622 | text-align: right; | ||
|
623 | display: inline-block; | |||
623 | } |
|
624 | } | |
624 |
|
625 | |||
625 |
|
|
626 | a.active { | |
626 | background-color: @grey6; |
|
627 | border: 2px solid @rcblue; | |
627 | .border ( @border-thickness, @grey4 ); |
|
|||
628 | } |
|
628 | } | |
629 |
|
629 | |||
630 | } |
|
630 | } |
@@ -44,7 +44,7 b'' | |||||
44 | padding: @panel-padding; |
|
44 | padding: @panel-padding; | |
45 |
|
45 | |||
46 | &.panel-body-min-height { |
|
46 | &.panel-body-min-height { | |
47 |
min-height: |
|
47 | min-height: 200px | |
48 | } |
|
48 | } | |
49 | } |
|
49 | } | |
50 |
|
50 |
@@ -791,6 +791,11 b' var CommentsController = function() {' | |||||
791 | refreshDraftComments() |
|
791 | refreshDraftComments() | |
792 | } |
|
792 | } | |
793 |
|
793 | |||
|
794 | if (window.refreshAllComments !== undefined) { | |||
|
795 | // if we have this handler, run it, and refresh all comments boxes | |||
|
796 | refreshAllComments() | |||
|
797 | } | |||
|
798 | ||||
794 | return false; |
|
799 | return false; | |
795 | }; |
|
800 | }; | |
796 |
|
801 |
@@ -27,13 +27,13 b'' | |||||
27 |
|
27 | |||
28 | <ul class="button-links"> |
|
28 | <ul class="button-links"> | |
29 | % if c.is_super_admin: |
|
29 | % if c.is_super_admin: | |
30 |
<li class="btn ${h.is_active('all', c.active)}" |
|
30 | <li><a class="btn ${h.is_active('all', c.active)}" href="${h.route_path('gists_show', _query={'all': 1})}">${_('All gists')}</a></li> | |
31 | %endif |
|
31 | %endif | |
32 |
<li class="btn ${h.is_active('public', c.active)}" |
|
32 | <li><a class="btn ${h.is_active('public', c.active)}" href="${h.route_path('gists_show')}">${_('All public')}</a></li> | |
33 | %if c.rhodecode_user.username != h.DEFAULT_USER: |
|
33 | %if c.rhodecode_user.username != h.DEFAULT_USER: | |
34 |
<li class="btn ${h.is_active('my_all', c.active)}" |
|
34 | <li><a class="btn ${h.is_active('my_all', c.active)}" href="${h.route_path('gists_show', _query={'public':1, 'private': 1})}">${_('My gists')}</a></li> | |
35 |
<li class="btn ${h.is_active('my_private', c.active)}" |
|
35 | <li><a class="btn ${h.is_active('my_private', c.active)}" href="${h.route_path('gists_show', _query={'private': 1})}">${_('My private')}</a></li> | |
36 |
<li class="btn ${h.is_active('my_public', c.active)}" |
|
36 | <li><a class="btn ${h.is_active('my_public', c.active)}" href="${h.route_path('gists_show', _query={'public': 1})}">${_('My public')}</a></li> | |
37 | %endif |
|
37 | %endif | |
38 | </ul> |
|
38 | </ul> | |
39 |
|
39 |
@@ -65,11 +65,11 b'' | |||||
65 | <fieldset> |
|
65 | <fieldset> | |
66 | <div class="gist-type-fields-wrapper"> |
|
66 | <div class="gist-type-fields-wrapper"> | |
67 |
|
67 | |||
68 | <input type="radio" id="private_gist" checked="" name="gist_type" value="private"> |
|
68 | <input type="radio" id="private_gist" checked="" name="gist_type" value="private" onchange="setGistId('private')"> | |
69 | <label for="private_gist">${_('Private Gist')}</label> |
|
69 | <label for="private_gist">${_('Private Gist')}</label> | |
70 | <span class="tooltip label" title="${_('Private Gists are not listed and only accessible through their secret url.')}">${_('Private Gist')}</span> |
|
70 | <span class="tooltip label" title="${_('Private Gists are not listed and only accessible through their secret url.')}">${_('Private Gist')}</span> | |
71 |
|
71 | |||
72 | <input type="radio" id="public_gist" name="gist_type" value="public"> |
|
72 | <input type="radio" id="public_gist" name="gist_type" value="public" onchange="setGistId('public')"> | |
73 | <label for="public_gist">${_('Public Gist')}</label> |
|
73 | <label for="public_gist">${_('Public Gist')}</label> | |
74 | <span class="tooltip label" title="${_('Public Gists are accessible to anyone and listed in Gists page.')}">${_('Public Gist')}</span> |
|
74 | <span class="tooltip label" title="${_('Public Gists are accessible to anyone and listed in Gists page.')}">${_('Public Gist')}</span> | |
75 | </div> |
|
75 | </div> | |
@@ -99,5 +99,14 b'' | |||||
99 | setCodeMirrorModeFromInput( |
|
99 | setCodeMirrorModeFromInput( | |
100 | modes_select, filename_selector, myCodeMirror, null); |
|
100 | modes_select, filename_selector, myCodeMirror, null); | |
101 |
|
101 | |||
|
102 | setGistId = function(gistType) { | |||
|
103 | if (gistType === 'private') { | |||
|
104 | $('#gistid').removeAttr('disabled'); | |||
|
105 | } | |||
|
106 | else { | |||
|
107 | $('#gistid').val(''); | |||
|
108 | $('#gistid').attr('disabled', 'disabled') | |||
|
109 | } | |||
|
110 | } | |||
102 | </script> |
|
111 | </script> | |
103 | </%def> |
|
112 | </%def> |
@@ -26,50 +26,41 b'' | |||||
26 | </div> |
|
26 | </div> | |
27 | </div> |
|
27 | </div> | |
28 | </div> |
|
28 | </div> | |
29 | <p class="help-block help-block-inline" > |
|
|||
30 | ${_('Server URL is available as ${server_url} variable. E.g. Redirect url: ${server_url}/_admin/exception_tracker')} |
|
|||
31 | </p> |
|
|||
32 |
|
29 | |||
33 | <div class="label"> |
|
30 | <div class="label" style="margin-top:10px"> | |
34 | <label for="redirect_url">${_('Redirect URL')}:</label> |
|
31 | <label for="redirect_url">${_('Redirect URL')}:</label> | |
35 | </div> |
|
32 | </div> | |
36 | <div class="input"> |
|
33 | <div class="input"> | |
37 | <input type="text" name="redirect_url" value="${redirect_url}" style="width: 600px"/> |
|
34 | <input type="text" name="redirect_url" value="${redirect_url}" style="width: 600px"/> | |
38 | </div> |
|
35 | </div> | |
39 |
|
36 | <p class="help-block help-block-inline"> | ||
|
37 | ${_('Server URL is available as ${server_url} variable. E.g. Redirect url: ${server_url}/_admin/exception_tracker')} | |||
|
38 | </p> | |||
40 |
|
39 | |||
41 | <div class="select"> |
|
40 | <div class="select" style="margin-top:5px"> | |
|
41 | <div class="label"> | |||
|
42 | <label for="redirect_url">${_('Templates')}:</label> | |||
|
43 | </div> | |||
|
44 | ||||
42 |
|
|
45 | % if repo: | |
43 | <div class="label"> |
|
|||
44 | <label for="redirect_url">${_('Repository template')}:</label> |
|
|||
45 | </div> |
|
|||
46 | ${dt.repo_name(name=repo.repo_name, rtype=repo.repo_type,rstate=None,private=None,archived=False,fork_of=False)} |
|
46 | ${dt.repo_name(name=repo.repo_name, rtype=repo.repo_type,rstate=None,private=None,archived=False,fork_of=False)} | |
47 | ${h.hidden('bookmark_repo', repo.repo_id)} |
|
47 | ${h.hidden('bookmark_repo', repo.repo_id)} | |
48 | % elif repo_group: |
|
48 | % elif repo_group: | |
49 | <div class="label"> |
|
|||
50 | <label for="redirect_url">${_('Repository group template')}:</label> |
|
|||
51 | </div> |
|
|||
52 | ${dt.repo_group_name(repo_group.group_name)} |
|
49 | ${dt.repo_group_name(repo_group.group_name)} | |
53 | ${h.hidden('bookmark_repo_group', repo_group.group_id)} |
|
50 | ${h.hidden('bookmark_repo_group', repo_group.group_id)} | |
54 | % else: |
|
51 | % else: | |
55 |
<div |
|
52 | <div> | |
56 | <label for="redirect_url">${_('Template Repository or Repository group')}:</label> |
|
53 | ${h.hidden('bookmark_repo', class_='bookmark_repo')} | |
|
54 | <p class="help-block help-block-inline">${_('Available as ${repo_url} e.g. Redirect url: ${repo_url}/changelog')}</p> | |||
57 | </div> |
|
55 | </div> | |
58 | ${h.hidden('bookmark_repo', class_='bookmark_repo')} |
|
56 | <div style="margin-top:5px"> | |
59 | <span style="padding-right:15px">OR</span> |
|
57 | ${h.hidden('bookmark_repo_group', class_='bookmark_repo_group')} | |
60 | ${h.hidden('bookmark_repo_group', class_='bookmark_repo_group')} |
|
58 | <p class="help-block help-block-inline">${_('Available as ${repo_group_url} e.g. Redirect url: ${repo_group_url}')}</p> | |
|
59 | </div> | |||
|
60 | ||||
61 | % endif |
|
61 | % endif | |
62 | </div> |
|
62 | </div> | |
63 |
|
63 | |||
64 | <p class="help-block help-block-inline" > |
|
|||
65 | % if repo: |
|
|||
66 | ${_('Available as ${repo_url} e.g. Redirect url: ${repo_url}/changelog')} |
|
|||
67 | % elif repo_group: |
|
|||
68 | ${_('Available as ${repo_group_url} e.g. Redirect url: ${repo_group_url}')} |
|
|||
69 | % else: |
|
|||
70 | ${_('Available as full url variables in redirect url. i.e: ${repo_url}, ${repo_group_url}.')} |
|
|||
71 | % endif |
|
|||
72 | </p> |
|
|||
73 | </td> |
|
64 | </td> | |
74 |
|
65 | |||
75 | </tr> |
|
66 | </tr> |
@@ -1,17 +1,29 b'' | |||||
1 | <%namespace name="base" file="/base/base.mako"/> |
|
1 | <%namespace name="base" file="/base/base.mako"/> | |
2 |
|
2 | |||
3 | <div class="panel panel-default"> |
|
3 | <div class="panel panel-default"> | |
4 |
<div class="panel- |
|
4 | <div class="panel-heading"> | |
5 | <div style="height: 35px"> |
|
5 | <h3 class="panel-title">${_('Pull Requests You Participate In')}</h3> | |
6 | <% |
|
6 | </div> | |
7 | selected_filter = 'all' |
|
|||
8 | if c.closed: |
|
|||
9 | selected_filter = 'all_closed' |
|
|||
10 | %> |
|
|||
11 |
|
7 | |||
|
8 | <div class="panel-body panel-body-min-height"> | |||
|
9 | <div class="title"> | |||
12 | <ul class="button-links"> |
|
10 | <ul class="button-links"> | |
13 |
<li class="btn ${h.is_active('all', selected_filter)}" |
|
11 | <li><a class="btn ${h.is_active('all', c.selected_filter)}" | |
14 | <li class="btn ${h.is_active('all_closed', selected_filter)}"><a href="${h.route_path('my_account_pullrequests', _query={'pr_show_closed':1})}">${_('All + Closed')}</a></li> |
|
12 | href="${h.route_path('my_account_pullrequests', _query={})}"> | |
|
13 | ${_('Open')} | |||
|
14 | </a> | |||
|
15 | </li> | |||
|
16 | <li><a class="btn ${h.is_active('all_closed', c.selected_filter)}" | |||
|
17 | href="${h.route_path('my_account_pullrequests', _query={'closed':1})}"> | |||
|
18 | ${_('All + Closed')} | |||
|
19 | </a> | |||
|
20 | </li> | |||
|
21 | <li><a class="btn ${h.is_active('awaiting_my_review', c.selected_filter)}" | |||
|
22 | href="${h.route_path('my_account_pullrequests', _query={'awaiting_my_review':1})}"> | |||
|
23 | ||||
|
24 | ${_('Awaiting my review')} | |||
|
25 | </a> | |||
|
26 | </li> | |||
15 | </ul> |
|
27 | </ul> | |
16 |
|
28 | |||
17 | <div class="grid-quick-filter"> |
|
29 | <div class="grid-quick-filter"> | |
@@ -20,19 +32,13 b'' | |||||
20 | <i class="icon-search"></i> |
|
32 | <i class="icon-search"></i> | |
21 | </li> |
|
33 | </li> | |
22 | <li class="grid-filter-box-input"> |
|
34 | <li class="grid-filter-box-input"> | |
23 |
<input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" |
|
35 | <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" | |
|
36 | placeholder="${_('quick filter...')}" value=""/> | |||
24 | </li> |
|
37 | </li> | |
25 | </ul> |
|
38 | </ul> | |
26 | </div> |
|
39 | </div> | |
27 | </div> |
|
40 | </div> | |
28 | </div> |
|
|||
29 | </div> |
|
|||
30 |
|
41 | |||
31 | <div class="panel panel-default"> |
|
|||
32 | <div class="panel-heading"> |
|
|||
33 | <h3 class="panel-title">${_('Pull Requests You Participate In')}</h3> |
|
|||
34 | </div> |
|
|||
35 | <div class="panel-body panel-body-min-height"> |
|
|||
36 | <table id="pull_request_list_table" class="rctable table-bordered"></table> |
|
42 | <table id="pull_request_list_table" class="rctable table-bordered"></table> | |
37 | </div> |
|
43 | </div> | |
38 | </div> |
|
44 | </div> | |
@@ -52,6 +58,7 b'' | |||||
52 | "url": "${h.route_path('my_account_pullrequests_data')}", |
|
58 | "url": "${h.route_path('my_account_pullrequests_data')}", | |
53 | "data": function (d) { |
|
59 | "data": function (d) { | |
54 | d.closed = "${c.closed}"; |
|
60 | d.closed = "${c.closed}"; | |
|
61 | d.awaiting_my_review = "${c.awaiting_my_review}"; | |||
55 | }, |
|
62 | }, | |
56 | "dataSrc": function (json) { |
|
63 | "dataSrc": function (json) { | |
57 | return json.data; |
|
64 | return json.data; | |
@@ -60,13 +67,19 b'' | |||||
60 |
|
67 | |||
61 | dom: 'rtp', |
|
68 | dom: 'rtp', | |
62 | pageLength: ${c.visual.dashboard_items}, |
|
69 | pageLength: ${c.visual.dashboard_items}, | |
63 |
order: [[ |
|
70 | order: [[2, "desc"]], | |
64 | columns: [ |
|
71 | columns: [ | |
65 | { |
|
72 | { | |
66 | data: { |
|
73 | data: { | |
67 | "_": "status", |
|
74 | "_": "status", | |
68 | "sort": "status" |
|
75 | "sort": "status" | |
69 | }, title: "", className: "td-status", orderable: false |
|
76 | }, title: "PR", className: "td-status", orderable: false | |
|
77 | }, | |||
|
78 | { | |||
|
79 | data: { | |||
|
80 | "_": "my_status", | |||
|
81 | "sort": "status" | |||
|
82 | }, title: "You", className: "td-status", orderable: false | |||
70 | }, |
|
83 | }, | |
71 | { |
|
84 | { | |
72 | data: { |
|
85 | data: { |
@@ -171,7 +171,7 b'' | |||||
171 | This repository is already archived. Only super-admin users can un-archive this repository. |
|
171 | This repository is already archived. Only super-admin users can un-archive this repository. | |
172 | % else: |
|
172 | % else: | |
173 | <button class="btn btn-small btn-warning" type="submit" |
|
173 | <button class="btn btn-small btn-warning" type="submit" | |
174 | onclick="submitConfirm(event, this, _gettext('Confirm to archive this repository'), _gettext('Archive'), '${c.rhodecode_db_repo.repo_name}')" |
|
174 | onclick="submitConfirm(event, this, _gettext('Confirm to archive this repository. <br/>This action is irreversible !'), _gettext('Archive'), '${c.rhodecode_db_repo.repo_name}')" | |
175 | > |
|
175 | > | |
176 | ${_('Archive this repository')} |
|
176 | ${_('Archive this repository')} | |
177 | </button> |
|
177 | </button> | |
@@ -180,6 +180,9 b'' | |||||
180 | </div> |
|
180 | </div> | |
181 | <div class="field"> |
|
181 | <div class="field"> | |
182 | <span class="help-block"> |
|
182 | <span class="help-block"> | |
|
183 | <strong> | |||
|
184 | ${_('This action is irreversible')} ! | |||
|
185 | </strong><br/> | |||
183 | ${_('Archiving the repository will make it entirely read-only. The repository cannot be committed to.' |
|
186 | ${_('Archiving the repository will make it entirely read-only. The repository cannot be committed to.' | |
184 | 'It is hidden from the search results and dashboard. ')} |
|
187 | 'It is hidden from the search results and dashboard. ')} | |
185 | </span> |
|
188 | </span> |
@@ -63,7 +63,7 b'' | |||||
63 | </tr> |
|
63 | </tr> | |
64 | %endfor |
|
64 | %endfor | |
65 | <tr class="compare_select_hidden" style="${('' if c.collapse_all_commits else 'display: none')}"> |
|
65 | <tr class="compare_select_hidden" style="${('' if c.collapse_all_commits else 'display: none')}"> | |
66 |
<td colspan=" |
|
66 | <td colspan="7"> | |
67 | ${_ungettext('{} commit hidden, click expand to show them.', '{} commits hidden, click expand to show them.', len(c.commit_ranges)).format(len(c.commit_ranges))} |
|
67 | ${_ungettext('{} commit hidden, click expand to show them.', '{} commits hidden, click expand to show them.', len(c.commit_ranges)).format(len(c.commit_ranges))} | |
68 | </td> |
|
68 | </td> | |
69 | </tr> |
|
69 | </tr> |
@@ -171,9 +171,9 b' data = {' | |||||
171 | <tr> |
|
171 | <tr> | |
172 | <td style="padding-right:20px;line-height:20px;">${_('Commit Flow')}:</td> |
|
172 | <td style="padding-right:20px;line-height:20px;">${_('Commit Flow')}:</td> | |
173 | <td style="line-height:20px;"> |
|
173 | <td style="line-height:20px;"> | |
174 |
<code>${' |
|
174 | <code>${data['source_ref_type']}:${pull_request.source_ref_parts.name}</code> ${_('of')} ${data['source_repo_url']} | |
175 | → |
|
175 | → | |
176 |
<code>${' |
|
176 | <code>${data['target_ref_type']}:${pull_request.target_ref_parts.name}</code> ${_('of')} ${data['target_repo_url']} | |
177 | </td> |
|
177 | </td> | |
178 | </tr> |
|
178 | </tr> | |
179 |
|
179 |
@@ -124,9 +124,9 b' data = {' | |||||
124 | <tr> |
|
124 | <tr> | |
125 | <td style="padding-right:20px;line-height:20px;">${_('Commit Flow')}:</td> |
|
125 | <td style="padding-right:20px;line-height:20px;">${_('Commit Flow')}:</td> | |
126 | <td style="line-height:20px;"> |
|
126 | <td style="line-height:20px;"> | |
127 |
<code>${' |
|
127 | <code>${data['source_ref_type']}:${pull_request.source_ref_parts.name}</code> ${_('of')} ${data['source_repo_url']} | |
128 | → |
|
128 | → | |
129 |
<code>${' |
|
129 | <code>${data['target_ref_type']}:${pull_request.target_ref_parts.name}</code> ${_('of')} ${data['target_repo_url']} | |
130 | </td> |
|
130 | </td> | |
131 | </tr> |
|
131 | </tr> | |
132 |
|
132 |
@@ -129,9 +129,9 b' data = {' | |||||
129 | <tr> |
|
129 | <tr> | |
130 | <td style="padding-right:20px;line-height:20px;">${_('Commit Flow')}:</td> |
|
130 | <td style="padding-right:20px;line-height:20px;">${_('Commit Flow')}:</td> | |
131 | <td style="line-height:20px;"> |
|
131 | <td style="line-height:20px;"> | |
132 |
<code>${' |
|
132 | <code>${data['source_ref_type']}:${pull_request.source_ref_parts.name}</code> ${_('of')} ${data['source_repo_url']} | |
133 | → |
|
133 | → | |
134 |
<code>${' |
|
134 | <code>${data['target_ref_type']}:${pull_request.target_ref_parts.name}</code> ${_('of')} ${data['target_repo_url']} | |
135 | </td> |
|
135 | </td> | |
136 | </tr> |
|
136 | </tr> | |
137 |
|
137 |
@@ -143,9 +143,9 b'' | |||||
143 | ## pull url |
|
143 | ## pull url | |
144 | <li> |
|
144 | <li> | |
145 | %if h.is_hg(c.pull_request.source_repo): |
|
145 | %if h.is_hg(c.pull_request.source_repo): | |
146 | <% clone_url = 'hg pull -r {} {}'.format(h.short_id(c.source_ref), c.pull_request.source_repo.clone_url()) %> |
|
146 | <% clone_url = u'hg pull -r {} {}'.format(h.short_id(c.source_ref), c.pull_request.source_repo.clone_url()) %> | |
147 | %elif h.is_git(c.pull_request.source_repo): |
|
147 | %elif h.is_git(c.pull_request.source_repo): | |
148 | <% clone_url = 'git pull {} {}'.format(c.pull_request.source_repo.clone_url(), c.pull_request.source_ref_parts.name) %> |
|
148 | <% clone_url = u'git pull {} {}'.format(c.pull_request.source_repo.clone_url(), c.pull_request.source_ref_parts.name) %> | |
149 | %endif |
|
149 | %endif | |
150 |
|
150 | |||
151 | <span>${_('Pull changes from source')}</span>: <input type="text" class="input-monospace pr-pullinfo" value="${clone_url}" readonly="readonly"> |
|
151 | <span>${_('Pull changes from source')}</span>: <input type="text" class="input-monospace pr-pullinfo" value="${clone_url}" readonly="readonly"> | |
@@ -560,7 +560,7 b'' | |||||
560 |
|
560 | |||
561 | <div class="right-sidebar-expanded-state pr-details-title"> |
|
561 | <div class="right-sidebar-expanded-state pr-details-title"> | |
562 | <span style="padding-left: 2px"> |
|
562 | <span style="padding-left: 2px"> | |
563 |
<input name="select_all_drafts" type="checkbox" onclick=" |
|
563 | <input name="select_all_drafts" type="checkbox" onclick="selectDraftComments(event)"> | |
564 | </span> |
|
564 | </span> | |
565 | <span class="sidebar-heading noselect" onclick="refreshDraftComments(); return false"> |
|
565 | <span class="sidebar-heading noselect" onclick="refreshDraftComments(); return false"> | |
566 | <i class="icon-comment icon-draft"></i> |
|
566 | <i class="icon-comment icon-draft"></i> | |
@@ -942,6 +942,11 b' window.setObserversData = ${c.pull_reque' | |||||
942 | } |
|
942 | } | |
943 | } |
|
943 | } | |
944 |
|
944 | |||
|
945 | window.selectDraftComments = function (event) { | |||
|
946 | var $target = $(event.currentTarget); | |||
|
947 | $('[name=submit_draft]').prop('checked', $target.prop('checked')) | |||
|
948 | } | |||
|
949 | ||||
945 | window.closePullRequest = function (status) { |
|
950 | window.closePullRequest = function (status) { | |
946 | if (!confirm(_gettext('Are you sure to close this pull request without merging?'))) { |
|
951 | if (!confirm(_gettext('Are you sure to close this pull request without merging?'))) { | |
947 | return false; |
|
952 | return false; |
@@ -23,13 +23,14 b'' | |||||
23 |
|
23 | |||
24 | <div class="box"> |
|
24 | <div class="box"> | |
25 | <div class="title"> |
|
25 | <div class="title"> | |
|
26 | ||||
26 | <ul class="button-links"> |
|
27 | <ul class="button-links"> | |
27 |
<li class="btn ${h.is_active('open', c.active)}" |
|
28 | <li><a class="btn ${h.is_active('open', c.active)}" href="${h.route_path('pullrequest_show_all',repo_name=c.repo_name, _query={'source':0,'open':1})}">${_('Open')}</a></li> | |
28 |
<li class="btn ${h.is_active('my', c.active)}" |
|
29 | <li><a class="btn ${h.is_active('my', c.active)}" href="${h.route_path('pullrequest_show_all',repo_name=c.repo_name, _query={'source':0,'my':1})}">${_('Created by me')}</a></li> | |
29 |
<li class="btn ${h.is_active('awaiting', c.active)}" |
|
30 | <li><a class="btn ${h.is_active('awaiting', c.active)}" href="${h.route_path('pullrequest_show_all',repo_name=c.repo_name, _query={'source':0,'awaiting_review':1})}">${_('Awaiting review')}</a></li> | |
30 |
<li class="btn ${h.is_active('awaiting_my', c.active)}" |
|
31 | <li><a class="btn ${h.is_active('awaiting_my', c.active)}" href="${h.route_path('pullrequest_show_all',repo_name=c.repo_name, _query={'source':0,'awaiting_my_review':1})}">${_('Awaiting my review')}</a></li> | |
31 |
<li class="btn ${h.is_active('closed', c.active)}" |
|
32 | <li><a class="btn ${h.is_active('closed', c.active)}" href="${h.route_path('pullrequest_show_all',repo_name=c.repo_name, _query={'source':0,'closed':1})}">${_('Closed')}</a></li> | |
32 |
<li class="btn ${h.is_active('source', c.active)}" |
|
33 | <li><a class="btn ${h.is_active('source', c.active)}" href="${h.route_path('pullrequest_show_all',repo_name=c.repo_name, _query={'source':1})}">${_('From this repo')}</a></li> | |
33 | </ul> |
|
34 | </ul> | |
34 |
|
35 | |||
35 | <ul class="links"> |
|
36 | <ul class="links"> | |
@@ -88,20 +89,50 b'' | |||||
88 | }, |
|
89 | }, | |
89 | dom: 'rtp', |
|
90 | dom: 'rtp', | |
90 | pageLength: ${c.visual.dashboard_items}, |
|
91 | pageLength: ${c.visual.dashboard_items}, | |
91 |
order: [[ |
|
92 | order: [[ 2, "desc" ]], | |
92 | columns: [ |
|
93 | columns: [ | |
93 | { data: {"_": "status", |
|
94 | { | |
94 | "sort": "status"}, title: "", className: "td-status", orderable: false}, |
|
95 | data: { | |
95 |
|
|
96 | "_": "status", | |
96 | "sort": "name_raw"}, title: "${_('Id')}", className: "td-componentname", "type": "num" }, |
|
97 | "sort": "status" | |
97 | { data: {"_": "title", |
|
98 | }, title: "PR", className: "td-status", orderable: false | |
98 | "sort": "title"}, title: "${_('Title')}", className: "td-description" }, |
|
99 | }, | |
99 | { data: {"_": "author", |
|
100 | { | |
100 | "sort": "author_raw"}, title: "${_('Author')}", className: "td-user", orderable: false }, |
|
101 | data: { | |
101 |
|
|
102 | "_": "my_status", | |
102 | "sort": "comments_raw"}, title: "", className: "td-comments", orderable: false}, |
|
103 | "sort": "status" | |
103 | { data: {"_": "updated_on", |
|
104 | }, title: "You", className: "td-status", orderable: false | |
104 | "sort": "updated_on_raw"}, title: "${_('Last Update')}", className: "td-time" } |
|
105 | }, | |
|
106 | { | |||
|
107 | data: { | |||
|
108 | "_": "name", | |||
|
109 | "sort": "name_raw" | |||
|
110 | }, title: "${_('Id')}", className: "td-componentname", "type": "num" | |||
|
111 | }, | |||
|
112 | { | |||
|
113 | data: { | |||
|
114 | "_": "title", | |||
|
115 | "sort": "title" | |||
|
116 | }, title: "${_('Title')}", className: "td-description" | |||
|
117 | }, | |||
|
118 | { | |||
|
119 | data: { | |||
|
120 | "_": "author", | |||
|
121 | "sort": "author_raw" | |||
|
122 | }, title: "${_('Author')}", className: "td-user", orderable: false | |||
|
123 | }, | |||
|
124 | { | |||
|
125 | data: { | |||
|
126 | "_": "comments", | |||
|
127 | "sort": "comments_raw" | |||
|
128 | }, title: "", className: "td-comments", orderable: false | |||
|
129 | }, | |||
|
130 | { | |||
|
131 | data: { | |||
|
132 | "_": "updated_on", | |||
|
133 | "sort": "updated_on_raw" | |||
|
134 | }, title: "${_('Last Update')}", className: "td-time" | |||
|
135 | } | |||
105 | ], |
|
136 | ], | |
106 | language: { |
|
137 | language: { | |
107 | paginate: DEFAULT_GRID_PAGINATION, |
|
138 | paginate: DEFAULT_GRID_PAGINATION, |
@@ -111,9 +111,10 b'' | |||||
111 | </div> |
|
111 | </div> | |
112 | %else: |
|
112 | %else: | |
113 |
|
|
113 | ||
114 | %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name): |
|
114 | ||
115 | <div class="quick_start"> |
|
115 | <div class="quick_start"> | |
116 | <div class="fieldset"> |
|
116 | <div class="fieldset"> | |
|
117 | %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name): | |||
117 | <p><b>${_('Add or upload files directly via RhodeCode:')}</b></p> |
|
118 | <p><b>${_('Add or upload files directly via RhodeCode:')}</b></p> | |
118 | <div class="pull-left"> |
|
119 | <div class="pull-left"> | |
119 | <a href="${h.route_path('repo_files_add_file',repo_name=c.repo_name,commit_id=0, f_path='')}" class="btn btn-default">${_('Add New File')}</a> |
|
120 | <a href="${h.route_path('repo_files_add_file',repo_name=c.repo_name,commit_id=0, f_path='')}" class="btn btn-default">${_('Add New File')}</a> | |
@@ -124,6 +125,7 b'' | |||||
124 | %endif |
|
125 | %endif | |
125 | </div> |
|
126 | </div> | |
126 |
|
127 | |||
|
128 | ||||
127 | <div class="fieldset"> |
|
129 | <div class="fieldset"> | |
128 | <p><b>${_('Push new repo:')}</b></p> |
|
130 | <p><b>${_('Push new repo:')}</b></p> | |
129 | <pre> |
|
131 | <pre> |
General Comments 1
You need to be logged in to leave comments.
Login now