tryton 7.0.6__py3-none-any.whl → 7.2.13__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tryton might be problematic. Click here for more details.
- tryton/__init__.py +1 -1
- tryton/cache.py +34 -0
- tryton/common/common.py +137 -69
- tryton/common/completion.py +2 -2
- tryton/common/datetime_.py +3 -1
- tryton/common/domain_inversion.py +10 -7
- tryton/common/domain_parser.py +17 -7
- tryton/common/selection.py +6 -3
- tryton/common/tempfile.py +34 -0
- tryton/config.py +4 -5
- tryton/data/locale/bg/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/bg/LC_MESSAGES/tryton.po +42 -4
- tryton/data/locale/ca/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/ca/LC_MESSAGES/tryton.po +47 -8
- tryton/data/locale/cs/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/cs/LC_MESSAGES/tryton.po +42 -4
- tryton/data/locale/de/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/de/LC_MESSAGES/tryton.po +45 -6
- tryton/data/locale/es/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/es/LC_MESSAGES/tryton.po +46 -7
- tryton/data/locale/es_419/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/es_419/LC_MESSAGES/tryton.po +43 -5
- tryton/data/locale/et/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/et/LC_MESSAGES/tryton.po +46 -6
- tryton/data/locale/fa/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/fa/LC_MESSAGES/tryton.po +46 -7
- tryton/data/locale/fi/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/fi/LC_MESSAGES/tryton.po +41 -4
- tryton/data/locale/fr/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/fr/LC_MESSAGES/tryton.po +46 -7
- tryton/data/locale/hu/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/hu/LC_MESSAGES/tryton.po +46 -6
- tryton/data/locale/id/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/id/LC_MESSAGES/tryton.po +43 -4
- tryton/data/locale/it/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/it/LC_MESSAGES/tryton.po +45 -6
- tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/lo/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/lo/LC_MESSAGES/tryton.po +45 -6
- tryton/data/locale/lt/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/lt/LC_MESSAGES/tryton.po +46 -6
- tryton/data/locale/nl/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/nl/LC_MESSAGES/tryton.po +46 -7
- tryton/data/locale/pl/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/pl/LC_MESSAGES/tryton.po +84 -60
- tryton/data/locale/pt/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/pt/LC_MESSAGES/tryton.po +45 -6
- tryton/data/locale/ro/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/ro/LC_MESSAGES/tryton.po +57 -17
- tryton/data/locale/ru/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/ru/LC_MESSAGES/tryton.po +43 -6
- tryton/data/locale/sl/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/sl/LC_MESSAGES/tryton.po +46 -5
- tryton/data/locale/tr/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/tr/LC_MESSAGES/tryton.po +41 -4
- tryton/data/locale/uk/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/uk/LC_MESSAGES/tryton.po +46 -6
- tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo +0 -0
- tryton/data/locale/zh_CN/LC_MESSAGES/tryton.po +46 -5
- tryton/device_cookie.py +1 -1
- tryton/gui/main.py +3 -2
- tryton/gui/window/about.py +1 -1
- tryton/gui/window/dblogin.py +2 -2
- tryton/gui/window/email_.py +1 -1
- tryton/gui/window/form.py +6 -4
- tryton/gui/window/log.py +24 -2
- tryton/gui/window/view_form/model/field.py +84 -34
- tryton/gui/window/view_form/model/group.py +3 -1
- tryton/gui/window/view_form/model/record.py +64 -15
- tryton/gui/window/view_form/screen/screen.py +83 -46
- tryton/gui/window/view_form/view/calendar_gtk/calendar_.py +15 -9
- tryton/gui/window/view_form/view/form.py +6 -12
- tryton/gui/window/view_form/view/form_gtk/char.py +5 -6
- tryton/gui/window/view_form/view/form_gtk/dictionary.py +37 -24
- tryton/gui/window/view_form/view/form_gtk/document.py +9 -10
- tryton/gui/window/view_form/view/form_gtk/many2many.py +17 -7
- tryton/gui/window/view_form/view/form_gtk/many2one.py +21 -13
- tryton/gui/window/view_form/view/form_gtk/one2many.py +25 -6
- tryton/gui/window/view_form/view/form_gtk/state_widget.py +6 -2
- tryton/gui/window/view_form/view/graph_gtk/graph.py +3 -1
- tryton/gui/window/view_form/view/list.py +68 -35
- tryton/gui/window/view_form/view/list_gtk/editabletree.py +2 -1
- tryton/gui/window/view_form/view/list_gtk/widget.py +58 -23
- tryton/gui/window/view_form/view/screen_container.py +3 -5
- tryton/gui/window/win_export.py +1 -2
- tryton/gui/window/win_form.py +9 -7
- tryton/gui/window/win_import.py +9 -4
- tryton/gui/window/wizard.py +13 -10
- tryton/jsonrpc.py +46 -28
- tryton/plugins/__init__.py +5 -3
- tryton/pyson.py +55 -5
- tryton/rpc.py +18 -0
- tryton/tests/test_common_domain_parser.py +8 -0
- tryton/translate.py +5 -2
- {tryton-7.0.6.data → tryton-7.2.13.data}/scripts/tryton +8 -7
- {tryton-7.0.6.dist-info → tryton-7.2.13.dist-info}/METADATA +6 -6
- {tryton-7.0.6.dist-info → tryton-7.2.13.dist-info}/RECORD +100 -98
- {tryton-7.0.6.dist-info → tryton-7.2.13.dist-info}/WHEEL +1 -1
- {tryton-7.0.6.dist-info → tryton-7.2.13.dist-info}/LICENSE +0 -0
- {tryton-7.0.6.dist-info → tryton-7.2.13.dist-info}/top_level.txt +0 -0
|
@@ -31,6 +31,10 @@ msgstr "укажите имя сервера"
|
|
|
31
31
|
msgid "disable thread usage"
|
|
32
32
|
msgstr ""
|
|
33
33
|
|
|
34
|
+
#, python-format
|
|
35
|
+
msgid "Invalid response id (%s) expected %s"
|
|
36
|
+
msgstr ""
|
|
37
|
+
|
|
34
38
|
#, python-format
|
|
35
39
|
msgid "Unable to set locale %s"
|
|
36
40
|
msgstr "Не удается установить локализацию %s"
|
|
@@ -84,7 +88,8 @@ msgstr ""
|
|
|
84
88
|
msgid "Yes"
|
|
85
89
|
msgstr ""
|
|
86
90
|
|
|
87
|
-
|
|
91
|
+
#, fuzzy
|
|
92
|
+
msgid "Concurrency Warning"
|
|
88
93
|
msgstr "Прерывание конкурентных записей"
|
|
89
94
|
|
|
90
95
|
msgid "This record has been modified while you were editing it."
|
|
@@ -116,6 +121,9 @@ msgstr ""
|
|
|
116
121
|
msgid "Application Error"
|
|
117
122
|
msgstr "Ошибка приложения!"
|
|
118
123
|
|
|
124
|
+
msgid "Details"
|
|
125
|
+
msgstr ""
|
|
126
|
+
|
|
119
127
|
msgid "Report Bug"
|
|
120
128
|
msgstr "Сообщить об ошибке"
|
|
121
129
|
|
|
@@ -132,21 +140,35 @@ msgstr ""
|
|
|
132
140
|
msgid "Download"
|
|
133
141
|
msgstr ""
|
|
134
142
|
|
|
143
|
+
msgid "Concurrency Exception"
|
|
144
|
+
msgstr "Прерывание конкурентных записей"
|
|
145
|
+
|
|
135
146
|
#, fuzzy
|
|
136
147
|
msgid "Could not get a session."
|
|
137
148
|
msgstr "Не удается подключиться к серверу!"
|
|
138
149
|
|
|
139
|
-
|
|
150
|
+
#, python-format
|
|
151
|
+
msgid "Error: \"%s\". Try again later."
|
|
140
152
|
msgstr ""
|
|
141
153
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
msgstr "Ничего не найдено."
|
|
154
|
+
msgid "Too many requests. Try again later."
|
|
155
|
+
msgstr ""
|
|
145
156
|
|
|
146
157
|
#, fuzzy
|
|
147
158
|
msgid "Not Found."
|
|
148
159
|
msgstr "Ничего не найдено."
|
|
149
160
|
|
|
161
|
+
msgid "Reset forgotten password"
|
|
162
|
+
msgstr ""
|
|
163
|
+
|
|
164
|
+
msgid "Send you an email to reset your password."
|
|
165
|
+
msgstr ""
|
|
166
|
+
|
|
167
|
+
msgid ""
|
|
168
|
+
"A request to reset your password has been sent.\n"
|
|
169
|
+
"Please check your mailbox."
|
|
170
|
+
msgstr ""
|
|
171
|
+
|
|
150
172
|
#, fuzzy
|
|
151
173
|
msgid "..."
|
|
152
174
|
msgstr "..."
|
|
@@ -761,6 +783,12 @@ msgstr "Модель:"
|
|
|
761
783
|
msgid "ID:"
|
|
762
784
|
msgstr "Номер строки"
|
|
763
785
|
|
|
786
|
+
msgid "Module:"
|
|
787
|
+
msgstr ""
|
|
788
|
+
|
|
789
|
+
msgid "XML ID:"
|
|
790
|
+
msgstr ""
|
|
791
|
+
|
|
764
792
|
#, fuzzy
|
|
765
793
|
msgid "Created by:"
|
|
766
794
|
msgstr "Дата создания"
|
|
@@ -1160,7 +1188,16 @@ msgstr "Размер изображения слишком большой!"
|
|
|
1160
1188
|
msgid "Copy"
|
|
1161
1189
|
msgstr ""
|
|
1162
1190
|
|
|
1163
|
-
msgid "
|
|
1191
|
+
msgid "Copy Row"
|
|
1192
|
+
msgstr ""
|
|
1193
|
+
|
|
1194
|
+
msgid "Copy Rows"
|
|
1195
|
+
msgstr ""
|
|
1196
|
+
|
|
1197
|
+
msgid "Copy Column"
|
|
1198
|
+
msgstr ""
|
|
1199
|
+
|
|
1200
|
+
msgid "Paste Rows"
|
|
1164
1201
|
msgstr ""
|
|
1165
1202
|
|
|
1166
1203
|
msgid ".."
|
|
Binary file
|
|
@@ -29,6 +29,10 @@ msgstr "določi ime in vrata strežniškega gostitelja"
|
|
|
29
29
|
msgid "disable thread usage"
|
|
30
30
|
msgstr "onemogoči uporabo niti"
|
|
31
31
|
|
|
32
|
+
#, python-format
|
|
33
|
+
msgid "Invalid response id (%s) expected %s"
|
|
34
|
+
msgstr ""
|
|
35
|
+
|
|
32
36
|
#, python-format
|
|
33
37
|
msgid "Unable to set locale %s"
|
|
34
38
|
msgstr "Ni možno nastaviti krajevnih nastavitev %s"
|
|
@@ -80,7 +84,8 @@ msgstr "Ne"
|
|
|
80
84
|
msgid "Yes"
|
|
81
85
|
msgstr "Da"
|
|
82
86
|
|
|
83
|
-
|
|
87
|
+
#, fuzzy
|
|
88
|
+
msgid "Concurrency Warning"
|
|
84
89
|
msgstr "Izjema sočasnega izvajanja"
|
|
85
90
|
|
|
86
91
|
msgid "This record has been modified while you were editing it."
|
|
@@ -111,6 +116,9 @@ msgstr "Zapri"
|
|
|
111
116
|
msgid "Application Error"
|
|
112
117
|
msgstr "Programska napaka"
|
|
113
118
|
|
|
119
|
+
msgid "Details"
|
|
120
|
+
msgstr ""
|
|
121
|
+
|
|
114
122
|
msgid "Report Bug"
|
|
115
123
|
msgstr "Prijava programske napake"
|
|
116
124
|
|
|
@@ -127,18 +135,33 @@ msgstr "Nova različica programa je na voljo!"
|
|
|
127
135
|
msgid "Download"
|
|
128
136
|
msgstr "Prenesi"
|
|
129
137
|
|
|
138
|
+
msgid "Concurrency Exception"
|
|
139
|
+
msgstr "Izjema sočasnega izvajanja"
|
|
140
|
+
|
|
130
141
|
msgid "Could not get a session."
|
|
131
142
|
msgstr "Ni mogoče vzpostaviti seje."
|
|
132
143
|
|
|
144
|
+
#, python-format
|
|
145
|
+
msgid "Error: \"%s\". Try again later."
|
|
146
|
+
msgstr ""
|
|
147
|
+
|
|
133
148
|
msgid "Too many requests. Try again later."
|
|
134
149
|
msgstr "Preveč poslanih zahtev. Poskusite kasneje."
|
|
135
150
|
|
|
136
|
-
msgid "Not found."
|
|
137
|
-
msgstr "Ni najdeno."
|
|
138
|
-
|
|
139
151
|
msgid "Not Found."
|
|
140
152
|
msgstr "Ni najdeno."
|
|
141
153
|
|
|
154
|
+
msgid "Reset forgotten password"
|
|
155
|
+
msgstr ""
|
|
156
|
+
|
|
157
|
+
msgid "Send you an email to reset your password."
|
|
158
|
+
msgstr ""
|
|
159
|
+
|
|
160
|
+
msgid ""
|
|
161
|
+
"A request to reset your password has been sent.\n"
|
|
162
|
+
"Please check your mailbox."
|
|
163
|
+
msgstr ""
|
|
164
|
+
|
|
142
165
|
msgid "..."
|
|
143
166
|
msgstr "..."
|
|
144
167
|
|
|
@@ -712,6 +735,12 @@ msgstr "Model:"
|
|
|
712
735
|
msgid "ID:"
|
|
713
736
|
msgstr "ID:"
|
|
714
737
|
|
|
738
|
+
msgid "Module:"
|
|
739
|
+
msgstr ""
|
|
740
|
+
|
|
741
|
+
msgid "XML ID:"
|
|
742
|
+
msgstr ""
|
|
743
|
+
|
|
715
744
|
msgid "Created by:"
|
|
716
745
|
msgstr "Ustvaril:"
|
|
717
746
|
|
|
@@ -1085,7 +1114,19 @@ msgstr "Podoba je prevelika."
|
|
|
1085
1114
|
msgid "Copy"
|
|
1086
1115
|
msgstr "Kopiraj"
|
|
1087
1116
|
|
|
1088
|
-
|
|
1117
|
+
#, fuzzy
|
|
1118
|
+
msgid "Copy Row"
|
|
1119
|
+
msgstr "_Kopiraj URL"
|
|
1120
|
+
|
|
1121
|
+
#, fuzzy
|
|
1122
|
+
msgid "Copy Rows"
|
|
1123
|
+
msgstr "_Kopiraj URL"
|
|
1124
|
+
|
|
1125
|
+
msgid "Copy Column"
|
|
1126
|
+
msgstr ""
|
|
1127
|
+
|
|
1128
|
+
#, fuzzy
|
|
1129
|
+
msgid "Paste Rows"
|
|
1089
1130
|
msgstr "Prilepi"
|
|
1090
1131
|
|
|
1091
1132
|
msgid ".."
|
|
Binary file
|
|
@@ -29,6 +29,10 @@ msgstr "Server hostname belirle: port"
|
|
|
29
29
|
msgid "disable thread usage"
|
|
30
30
|
msgstr ""
|
|
31
31
|
|
|
32
|
+
#, python-format
|
|
33
|
+
msgid "Invalid response id (%s) expected %s"
|
|
34
|
+
msgstr ""
|
|
35
|
+
|
|
32
36
|
#, python-format
|
|
33
37
|
msgid "Unable to set locale %s"
|
|
34
38
|
msgstr "Lokal %s ayarlanamadı"
|
|
@@ -80,7 +84,7 @@ msgstr ""
|
|
|
80
84
|
msgid "Yes"
|
|
81
85
|
msgstr ""
|
|
82
86
|
|
|
83
|
-
msgid "Concurrency
|
|
87
|
+
msgid "Concurrency Warning"
|
|
84
88
|
msgstr ""
|
|
85
89
|
|
|
86
90
|
msgid "This record has been modified while you were editing it."
|
|
@@ -112,6 +116,9 @@ msgstr ""
|
|
|
112
116
|
msgid "Application Error"
|
|
113
117
|
msgstr "Uygulama Hatası."
|
|
114
118
|
|
|
119
|
+
msgid "Details"
|
|
120
|
+
msgstr ""
|
|
121
|
+
|
|
115
122
|
msgid "Report Bug"
|
|
116
123
|
msgstr "Hatayı Raporla"
|
|
117
124
|
|
|
@@ -128,18 +135,33 @@ msgstr ""
|
|
|
128
135
|
msgid "Download"
|
|
129
136
|
msgstr ""
|
|
130
137
|
|
|
138
|
+
msgid "Concurrency Exception"
|
|
139
|
+
msgstr ""
|
|
140
|
+
|
|
131
141
|
msgid "Could not get a session."
|
|
132
142
|
msgstr ""
|
|
133
143
|
|
|
134
|
-
|
|
144
|
+
#, python-format
|
|
145
|
+
msgid "Error: \"%s\". Try again later."
|
|
135
146
|
msgstr ""
|
|
136
147
|
|
|
137
|
-
msgid "
|
|
148
|
+
msgid "Too many requests. Try again later."
|
|
138
149
|
msgstr ""
|
|
139
150
|
|
|
140
151
|
msgid "Not Found."
|
|
141
152
|
msgstr ""
|
|
142
153
|
|
|
154
|
+
msgid "Reset forgotten password"
|
|
155
|
+
msgstr ""
|
|
156
|
+
|
|
157
|
+
msgid "Send you an email to reset your password."
|
|
158
|
+
msgstr ""
|
|
159
|
+
|
|
160
|
+
msgid ""
|
|
161
|
+
"A request to reset your password has been sent.\n"
|
|
162
|
+
"Please check your mailbox."
|
|
163
|
+
msgstr ""
|
|
164
|
+
|
|
143
165
|
msgid "..."
|
|
144
166
|
msgstr "..."
|
|
145
167
|
|
|
@@ -711,6 +733,12 @@ msgstr ""
|
|
|
711
733
|
msgid "ID:"
|
|
712
734
|
msgstr ""
|
|
713
735
|
|
|
736
|
+
msgid "Module:"
|
|
737
|
+
msgstr ""
|
|
738
|
+
|
|
739
|
+
msgid "XML ID:"
|
|
740
|
+
msgstr ""
|
|
741
|
+
|
|
714
742
|
msgid "Created by:"
|
|
715
743
|
msgstr ""
|
|
716
744
|
|
|
@@ -1084,7 +1112,16 @@ msgstr ""
|
|
|
1084
1112
|
msgid "Copy"
|
|
1085
1113
|
msgstr ""
|
|
1086
1114
|
|
|
1087
|
-
msgid "
|
|
1115
|
+
msgid "Copy Row"
|
|
1116
|
+
msgstr ""
|
|
1117
|
+
|
|
1118
|
+
msgid "Copy Rows"
|
|
1119
|
+
msgstr ""
|
|
1120
|
+
|
|
1121
|
+
msgid "Copy Column"
|
|
1122
|
+
msgstr ""
|
|
1123
|
+
|
|
1124
|
+
msgid "Paste Rows"
|
|
1088
1125
|
msgstr ""
|
|
1089
1126
|
|
|
1090
1127
|
msgid ".."
|
|
Binary file
|
|
@@ -26,6 +26,10 @@ msgstr "вкажіть ім'я сервера:порт"
|
|
|
26
26
|
msgid "disable thread usage"
|
|
27
27
|
msgstr ""
|
|
28
28
|
|
|
29
|
+
#, python-format
|
|
30
|
+
msgid "Invalid response id (%s) expected %s"
|
|
31
|
+
msgstr ""
|
|
32
|
+
|
|
29
33
|
#, python-format
|
|
30
34
|
msgid "Unable to set locale %s"
|
|
31
35
|
msgstr "Неможливо встановити локалізацію %s"
|
|
@@ -76,7 +80,8 @@ msgstr "Ні"
|
|
|
76
80
|
msgid "Yes"
|
|
77
81
|
msgstr "Так"
|
|
78
82
|
|
|
79
|
-
|
|
83
|
+
#, fuzzy
|
|
84
|
+
msgid "Concurrency Warning"
|
|
80
85
|
msgstr "Виняток одночасного доступу"
|
|
81
86
|
|
|
82
87
|
msgid "This record has been modified while you were editing it."
|
|
@@ -107,6 +112,9 @@ msgstr "Закрити"
|
|
|
107
112
|
msgid "Application Error"
|
|
108
113
|
msgstr "Помилка програми"
|
|
109
114
|
|
|
115
|
+
msgid "Details"
|
|
116
|
+
msgstr ""
|
|
117
|
+
|
|
110
118
|
msgid "Report Bug"
|
|
111
119
|
msgstr "Повідомити про помилку"
|
|
112
120
|
|
|
@@ -123,21 +131,35 @@ msgstr "Доступна нова версія!"
|
|
|
123
131
|
msgid "Download"
|
|
124
132
|
msgstr "Завантажити"
|
|
125
133
|
|
|
134
|
+
msgid "Concurrency Exception"
|
|
135
|
+
msgstr "Виняток одночасного доступу"
|
|
136
|
+
|
|
126
137
|
#, fuzzy
|
|
127
138
|
msgid "Could not get a session."
|
|
128
139
|
msgstr "Не вдалося підключитися до сервера."
|
|
129
140
|
|
|
141
|
+
#, python-format
|
|
142
|
+
msgid "Error: \"%s\". Try again later."
|
|
143
|
+
msgstr ""
|
|
144
|
+
|
|
130
145
|
msgid "Too many requests. Try again later."
|
|
131
146
|
msgstr "Дуже багато запитів. Спробуйте ще раз пізніше."
|
|
132
147
|
|
|
133
|
-
#, fuzzy
|
|
134
|
-
msgid "Not found."
|
|
135
|
-
msgstr "Нічого не знайдено."
|
|
136
|
-
|
|
137
148
|
#, fuzzy
|
|
138
149
|
msgid "Not Found."
|
|
139
150
|
msgstr "Нічого не знайдено."
|
|
140
151
|
|
|
152
|
+
msgid "Reset forgotten password"
|
|
153
|
+
msgstr ""
|
|
154
|
+
|
|
155
|
+
msgid "Send you an email to reset your password."
|
|
156
|
+
msgstr ""
|
|
157
|
+
|
|
158
|
+
msgid ""
|
|
159
|
+
"A request to reset your password has been sent.\n"
|
|
160
|
+
"Please check your mailbox."
|
|
161
|
+
msgstr ""
|
|
162
|
+
|
|
141
163
|
msgid "..."
|
|
142
164
|
msgstr "..."
|
|
143
165
|
|
|
@@ -716,6 +738,12 @@ msgstr "Модель:"
|
|
|
716
738
|
msgid "ID:"
|
|
717
739
|
msgstr "ID:"
|
|
718
740
|
|
|
741
|
+
msgid "Module:"
|
|
742
|
+
msgstr ""
|
|
743
|
+
|
|
744
|
+
msgid "XML ID:"
|
|
745
|
+
msgstr ""
|
|
746
|
+
|
|
719
747
|
msgid "Created by:"
|
|
720
748
|
msgstr "Ким створено:"
|
|
721
749
|
|
|
@@ -1090,7 +1118,19 @@ msgstr "Розмір зображення завеликий."
|
|
|
1090
1118
|
msgid "Copy"
|
|
1091
1119
|
msgstr "Копіювати"
|
|
1092
1120
|
|
|
1093
|
-
|
|
1121
|
+
#, fuzzy
|
|
1122
|
+
msgid "Copy Row"
|
|
1123
|
+
msgstr "_Копіювати URL"
|
|
1124
|
+
|
|
1125
|
+
#, fuzzy
|
|
1126
|
+
msgid "Copy Rows"
|
|
1127
|
+
msgstr "_Копіювати URL"
|
|
1128
|
+
|
|
1129
|
+
msgid "Copy Column"
|
|
1130
|
+
msgstr ""
|
|
1131
|
+
|
|
1132
|
+
#, fuzzy
|
|
1133
|
+
msgid "Paste Rows"
|
|
1094
1134
|
msgstr "Вставити"
|
|
1095
1135
|
|
|
1096
1136
|
msgid ".."
|
|
Binary file
|
|
@@ -29,6 +29,10 @@ msgstr "设置服务器主机名:端口号"
|
|
|
29
29
|
msgid "disable thread usage"
|
|
30
30
|
msgstr "禁用线程"
|
|
31
31
|
|
|
32
|
+
#, python-format
|
|
33
|
+
msgid "Invalid response id (%s) expected %s"
|
|
34
|
+
msgstr ""
|
|
35
|
+
|
|
32
36
|
#, python-format
|
|
33
37
|
msgid "Unable to set locale %s"
|
|
34
38
|
msgstr "无法设置 locale %s"
|
|
@@ -79,7 +83,8 @@ msgstr "否"
|
|
|
79
83
|
msgid "Yes"
|
|
80
84
|
msgstr "是"
|
|
81
85
|
|
|
82
|
-
|
|
86
|
+
#, fuzzy
|
|
87
|
+
msgid "Concurrency Warning"
|
|
83
88
|
msgstr "并行操作异常"
|
|
84
89
|
|
|
85
90
|
msgid "This record has been modified while you were editing it."
|
|
@@ -110,6 +115,9 @@ msgstr "关闭"
|
|
|
110
115
|
msgid "Application Error"
|
|
111
116
|
msgstr "程序错误"
|
|
112
117
|
|
|
118
|
+
msgid "Details"
|
|
119
|
+
msgstr ""
|
|
120
|
+
|
|
113
121
|
msgid "Report Bug"
|
|
114
122
|
msgstr "报告Bug"
|
|
115
123
|
|
|
@@ -126,18 +134,33 @@ msgstr "有新版本可用!"
|
|
|
126
134
|
msgid "Download"
|
|
127
135
|
msgstr "下载"
|
|
128
136
|
|
|
137
|
+
msgid "Concurrency Exception"
|
|
138
|
+
msgstr "并行操作异常"
|
|
139
|
+
|
|
129
140
|
msgid "Could not get a session."
|
|
130
141
|
msgstr "无法获取会话。"
|
|
131
142
|
|
|
143
|
+
#, python-format
|
|
144
|
+
msgid "Error: \"%s\". Try again later."
|
|
145
|
+
msgstr ""
|
|
146
|
+
|
|
132
147
|
msgid "Too many requests. Try again later."
|
|
133
148
|
msgstr "请求太多,请稍后重试."
|
|
134
149
|
|
|
135
|
-
msgid "Not found."
|
|
136
|
-
msgstr "无符合条件的数据."
|
|
137
|
-
|
|
138
150
|
msgid "Not Found."
|
|
139
151
|
msgstr "无符合条件的数据."
|
|
140
152
|
|
|
153
|
+
msgid "Reset forgotten password"
|
|
154
|
+
msgstr ""
|
|
155
|
+
|
|
156
|
+
msgid "Send you an email to reset your password."
|
|
157
|
+
msgstr ""
|
|
158
|
+
|
|
159
|
+
msgid ""
|
|
160
|
+
"A request to reset your password has been sent.\n"
|
|
161
|
+
"Please check your mailbox."
|
|
162
|
+
msgstr ""
|
|
163
|
+
|
|
141
164
|
msgid "..."
|
|
142
165
|
msgstr "..."
|
|
143
166
|
|
|
@@ -710,6 +733,12 @@ msgstr "模型:"
|
|
|
710
733
|
msgid "ID:"
|
|
711
734
|
msgstr "标识:"
|
|
712
735
|
|
|
736
|
+
msgid "Module:"
|
|
737
|
+
msgstr ""
|
|
738
|
+
|
|
739
|
+
msgid "XML ID:"
|
|
740
|
+
msgstr ""
|
|
741
|
+
|
|
713
742
|
msgid "Created by:"
|
|
714
743
|
msgstr "创建者:"
|
|
715
744
|
|
|
@@ -1083,7 +1112,19 @@ msgstr "图片尺寸过大."
|
|
|
1083
1112
|
msgid "Copy"
|
|
1084
1113
|
msgstr "复制"
|
|
1085
1114
|
|
|
1086
|
-
|
|
1115
|
+
#, fuzzy
|
|
1116
|
+
msgid "Copy Row"
|
|
1117
|
+
msgstr "复制(_C)URL"
|
|
1118
|
+
|
|
1119
|
+
#, fuzzy
|
|
1120
|
+
msgid "Copy Rows"
|
|
1121
|
+
msgstr "复制(_C)URL"
|
|
1122
|
+
|
|
1123
|
+
msgid "Copy Column"
|
|
1124
|
+
msgstr ""
|
|
1125
|
+
|
|
1126
|
+
#, fuzzy
|
|
1127
|
+
msgid "Paste Rows"
|
|
1087
1128
|
msgstr "粘贴"
|
|
1088
1129
|
|
|
1089
1130
|
msgid ".."
|
tryton/device_cookie.py
CHANGED
tryton/gui/main.py
CHANGED
|
@@ -401,7 +401,8 @@ class Main(Gtk.Application):
|
|
|
401
401
|
|
|
402
402
|
RPCExecute('model', 'ir.model', 'global_search', search_text,
|
|
403
403
|
CONFIG['client.limit'], self.menu_screen.model_name,
|
|
404
|
-
context=self.menu_screen.context, callback=set_result
|
|
404
|
+
context=self.menu_screen.context, callback=set_result,
|
|
405
|
+
process_exception=False)
|
|
405
406
|
return False
|
|
406
407
|
|
|
407
408
|
def changed(widget):
|
|
@@ -470,7 +471,7 @@ class Main(Gtk.Application):
|
|
|
470
471
|
favorites = RPCExecute('model',
|
|
471
472
|
self.menu_screen.model_name + '.favorite', 'get',
|
|
472
473
|
process_exception=False)
|
|
473
|
-
except
|
|
474
|
+
except RPCException:
|
|
474
475
|
return False
|
|
475
476
|
for id_, name, icon in favorites:
|
|
476
477
|
menuitem = Gtk.MenuItem(label=name)
|
tryton/gui/window/about.py
CHANGED
tryton/gui/window/dblogin.py
CHANGED
|
@@ -7,8 +7,8 @@ import logging
|
|
|
7
7
|
import os
|
|
8
8
|
import re
|
|
9
9
|
import shutil
|
|
10
|
-
import tempfile
|
|
11
10
|
import threading
|
|
11
|
+
from tempfile import NamedTemporaryFile
|
|
12
12
|
|
|
13
13
|
from gi.repository import GLib, GObject, Gtk
|
|
14
14
|
|
|
@@ -501,7 +501,7 @@ class DBLogin(object):
|
|
|
501
501
|
# reset self.profiles as parsing errors may leave wrong data in
|
|
502
502
|
# the parser
|
|
503
503
|
self.profiles = configparser.ConfigParser()
|
|
504
|
-
with
|
|
504
|
+
with NamedTemporaryFile(
|
|
505
505
|
delete=False, prefix='profiles_', suffix='.cfg',
|
|
506
506
|
dir=config_dir) as temp_file:
|
|
507
507
|
temp_name = temp_file.name
|
tryton/gui/window/email_.py
CHANGED
|
@@ -74,7 +74,7 @@ class EmailEntry(Gtk.Entry):
|
|
|
74
74
|
RPCExecute(
|
|
75
75
|
'model', 'ir.email', 'complete', text, CONFIG['client.limit'],
|
|
76
76
|
process_exception=False, callback=callback)
|
|
77
|
-
except
|
|
77
|
+
except RPCException:
|
|
78
78
|
logger.warning(
|
|
79
79
|
_("Unable to complete email entry"), exc_info=True)
|
|
80
80
|
return False
|
tryton/gui/window/form.py
CHANGED
|
@@ -5,7 +5,6 @@ import csv
|
|
|
5
5
|
import gettext
|
|
6
6
|
import locale
|
|
7
7
|
import os
|
|
8
|
-
import tempfile
|
|
9
8
|
from itertools import zip_longest
|
|
10
9
|
|
|
11
10
|
from gi.repository import Gdk, GLib, Gtk
|
|
@@ -13,7 +12,7 @@ from gi.repository import Gdk, GLib, Gtk
|
|
|
13
12
|
import tryton.common as common
|
|
14
13
|
from tryton import plugins
|
|
15
14
|
from tryton.action import Action
|
|
16
|
-
from tryton.common import RPCException, RPCExecute, sur, sur_3b
|
|
15
|
+
from tryton.common import RPCException, RPCExecute, sur, sur_3b, tempfile
|
|
17
16
|
from tryton.common.common import selection as selection_
|
|
18
17
|
from tryton.common.popup_menu import popup
|
|
19
18
|
from tryton.common.underline import set_underline
|
|
@@ -66,7 +65,8 @@ class Form(TabContent):
|
|
|
66
65
|
if isinstance(res_id, int):
|
|
67
66
|
res_id = [res_id]
|
|
68
67
|
self.screen.load(res_id)
|
|
69
|
-
|
|
68
|
+
if res_id:
|
|
69
|
+
self.screen.current_record = self.screen.group.get(res_id[0])
|
|
70
70
|
self.screen.display()
|
|
71
71
|
else:
|
|
72
72
|
if self.screen.current_view.view_type == 'form':
|
|
@@ -105,7 +105,9 @@ class Form(TabContent):
|
|
|
105
105
|
def compare(self, model, attributes):
|
|
106
106
|
if not attributes:
|
|
107
107
|
return False
|
|
108
|
-
return (
|
|
108
|
+
return (
|
|
109
|
+
self.screen.view_index == 0
|
|
110
|
+
and self.model == model
|
|
109
111
|
and self.res_id == attributes.get('res_id')
|
|
110
112
|
and self.attributes.get('domain') == attributes.get('domain')
|
|
111
113
|
and self.attributes.get('view_ids') == attributes.get('view_ids')
|
tryton/gui/window/log.py
CHANGED
|
@@ -24,7 +24,8 @@ class Log(WinForm):
|
|
|
24
24
|
log, = RPCExecute(
|
|
25
25
|
'model', record.model_name, 'read', [record.id],
|
|
26
26
|
['create_uid.rec_name', 'create_date',
|
|
27
|
-
'write_uid.rec_name', 'write_date'
|
|
27
|
+
'write_uid.rec_name', 'write_date',
|
|
28
|
+
'xml_id'], context=context)
|
|
28
29
|
except RPCException:
|
|
29
30
|
return
|
|
30
31
|
|
|
@@ -53,11 +54,32 @@ class Log(WinForm):
|
|
|
53
54
|
label_id.set_mnemonic_widget(entry_id)
|
|
54
55
|
grid.attach(label_id, 2, 1, 1, 1)
|
|
55
56
|
|
|
57
|
+
if log.get('xml_id'):
|
|
58
|
+
module, xml_id = log['xml_id'].split('.', 1)
|
|
59
|
+
|
|
60
|
+
entry_module = Gtk.Entry(editable=False)
|
|
61
|
+
entry_module.set_text(module)
|
|
62
|
+
grid.attach(entry_module, 1, 2, 1, 1)
|
|
63
|
+
label_module = Gtk.Label(
|
|
64
|
+
label=set_underline(_("Module:")),
|
|
65
|
+
use_underline=True, halign=Gtk.Align.END)
|
|
66
|
+
label_module.set_mnemonic_widget(entry_module)
|
|
67
|
+
grid.attach(label_module, 0, 2, 1, 1)
|
|
68
|
+
|
|
69
|
+
entry_xml_id = Gtk.Entry(editable=False)
|
|
70
|
+
entry_xml_id.set_text(xml_id)
|
|
71
|
+
grid.attach(entry_xml_id, 3, 2, 1, 1)
|
|
72
|
+
label_xml_id = Gtk.Label(
|
|
73
|
+
label=set_underline(_("XML ID:")),
|
|
74
|
+
use_underline=True, halign=Gtk.Align.END)
|
|
75
|
+
label_xml_id.set_mnemonic_widget(entry_xml_id)
|
|
76
|
+
grid.attach(label_xml_id, 2, 2, 1, 1)
|
|
77
|
+
|
|
56
78
|
for i, (user, user_label, date, date_label) in enumerate([
|
|
57
79
|
('create_uid.', _("Created by:"),
|
|
58
80
|
'create_date', _("Created at:")),
|
|
59
81
|
('write_uid.', _("Last Modified by:"),
|
|
60
|
-
'write_date', _("Last Modified at:"))],
|
|
82
|
+
'write_date', _("Last Modified at:"))], 3):
|
|
61
83
|
entry_user = Gtk.Entry(editable=False, width_chars=50)
|
|
62
84
|
user = log.get(user)
|
|
63
85
|
if user:
|