Merge lp:~ibeardslee/openobject-addons/users_ldap-tls into lp:openobject-addons
- users_ldap-tls
- Merge into trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Antony Lesuisse (OpenERP) | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 5556 | ||||
Proposed branch: | lp:~ibeardslee/openobject-addons/users_ldap-tls | ||||
Merge into: | lp:openobject-addons | ||||
Prerequisite: | lp:~openerp-community/openobject-addons/stefan-therp_lp794584 | ||||
Diff against target: |
1703 lines (+1637/-2) 4 files modified
hr_payroll/i18n/vi.po (+1618/-0) users_ldap/__openerp__.py (+8/-0) users_ldap/users_ldap.py (+10/-2) users_ldap/users_ldap_view.xml (+1/-0) |
||||
To merge this branch: | bzr merge lp:~ibeardslee/openobject-addons/users_ldap-tls | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Stefan Rijnhart (Opener) (community) | Approve | ||
OpenERP Core Team | Pending | ||
Review via email: mp+71837@code.launchpad.net |
This proposal supersedes a proposal from 2011-08-16.
Commit message
Description of the change
Brought the ldap_tls_s into res_company_
Removed the 'Start TLS' from the tree view, to keep that a bit cleaner.
Updated documentation to refer additional LDAP configuration to the ldap.conf manpages.
Once again, only tested against a LDAP server that requires STARTTLS.
Stefan Rijnhart (Opener) (stefan-opener) wrote : Posted in a previous version of this proposal | # |
Ian Beardslee (ibeardslee) wrote : Posted in a previous version of this proposal | # |
Hi Stefan,
I've made the change and resubmitted. I spent a bit of time scratching my head over that 'hr_payroll/
Thanks for your advice,
Ian
Stefan Rijnhart (Opener) (stefan-opener) wrote : Posted in a previous version of this proposal | # |
Hi Ian,
thank you for updating the code. I am terribly sorry to bother you again, but your last update seemed to have incurred a typo in the form of a trailing character 'w' in line 118 of __openerp__.py.
Removing this character should resolve the conflict that is now shown in the diff preview.
Cheers,
Stefan.
Ian Beardslee (ibeardslee) wrote : Posted in a previous version of this proposal | # |
Sigh. Corrected. Thanks.
Stefan Rijnhart (Opener) (stefan-opener) wrote : | # |
Great, thanks Ian!
With regards to your disclaimer: my own unencrypted setup still works fine with your code, as long as I disable the default TLS setting, of course.
Cheers,
Stefan.
Olivier Dony (Odoo) (odo-openerp) wrote : | # |
Ian, Stefan,
I've just merged this branch in trunk, so it will be included in v6.1.
After re-testing with a TLS-disabled LDAP server, I changed the default for the TLS flag to be off, and updated the module description and tooltips accordingly, for two main reasons:
- When TLS is enabled but not supported by the LDAP server, all login attempts silently fail, with the diagnostics for the failure only visible in the server logs. This is fine, because end-users shouldn't be exposed to the technical reasons for their failed login, but will be a source of issues for users with non-TLS LDAP servers. It will for example prevent login for all existing LDAP users after an upgrade to 6.1 if they don't have TLS available (as it will be enabled automatically).
- Most of the time the LDAP server is located within a restricted part of a company's network, so communication between OpenERP and the LDAP occurs on a relatively safe segment, mitigating the risk of not using TLS even when it is available.
Based on the above, I think having TLS as opt-in is better than opt-out, at least for 6.1. I hope you agree, or at least understand my point of view...
Thanks again for your great work!
Ian Beardslee (ibeardslee) wrote : | # |
Hi Olivier,
Excellent.
But hmmm I do disagree, at least on a philosophical level rather than a
practical level. Security should be opt-out rather than opt-in.
Part of the process of people doing the upgrade should be testing that
people can login to the system. Not connecting because of the TLS setting
should be picked up in that process. At that point they can change the
setting.
People asking why there is no encryption on the authentication is probably
a good thing for a system that holds the sort of data that an ERP system
would do. Having to change the setting from being enabled highlights a
'broken' LDAP server .. yes there could be debate whether un-encrytped
authentication is broken or not :)
From our point of view, and why I scratched the itch of getting the TLS
support was that I couldn't connect to our LDAP server when testing
OpenERP. Our LDAP is locked down, and would ONLY allow connections via
SSL or TLS. For us, it is just a single tick box to 'fix'.
One of our next steps is to deal with the encryption of the database
connection.
However, as much as I disagree, yes on a practical level it does make some
sense.
Thanks for the help.
Cheers,
Ian
On Thu, November 10, 2011 4:30 am, Olivier Dony \(OpenERP\) wrote:
> Ian, Stefan,
>
> I've just merged this branch in trunk, so it will be included in v6.1.
>
> After re-testing with a TLS-disabled LDAP server, I changed the default
> for the TLS flag to be off, and updated the module description and
> tooltips accordingly, for two main reasons:
> - When TLS is enabled but not supported by the LDAP server, all login
> attempts silently fail, with the diagnostics for the failure only visible
> in the server logs. This is fine, because end-users shouldn't be exposed
> to the technical reasons for their failed login, but will be a source of
> issues for users with non-TLS LDAP servers. It will for example prevent
> login for all existing LDAP users after an upgrade to 6.1 if they don't
> have TLS available (as it will be enabled automatically).
> - Most of the time the LDAP server is located within a restricted part of
> a company's network, so communication between OpenERP and the LDAP occurs
> on a relatively safe segment, mitigating the risk of not using TLS even
> when it is available.
>
> Based on the above, I think having TLS as opt-in is better than opt-out,
> at least for 6.1. I hope you agree, or at least understand my point of
> view...
>
> Thanks again for your great work!
> --
> https:/
> Your team OpenERP Community is subscribed to branch
> lp:~openerp-community/openobject-addons/stefan-therp_lp794584.
>
> _______
> Mailing list: https:/
> Post to : <email address hidden>
> Unsubscribe : https:/
> More help : https:/
>
>
Preview Diff
1 | === added file 'hr_payroll/i18n/vi.po' |
2 | --- hr_payroll/i18n/vi.po 1970-01-01 00:00:00 +0000 |
3 | +++ hr_payroll/i18n/vi.po 2011-07-21 04:35:32 +0000 |
4 | @@ -0,0 +1,1618 @@ |
5 | +# Vietnamese translation for openobject-addons |
6 | +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 |
7 | +# This file is distributed under the same license as the openobject-addons package. |
8 | +# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. |
9 | +# |
10 | +msgid "" |
11 | +msgstr "" |
12 | +"Project-Id-Version: openobject-addons\n" |
13 | +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
14 | +"POT-Creation-Date: 2011-01-11 11:15+0000\n" |
15 | +"PO-Revision-Date: 2011-07-20 09:43+0000\n" |
16 | +"Last-Translator: Phong Nguyen-Thanh <Unknown>\n" |
17 | +"Language-Team: Vietnamese <vi@li.org>\n" |
18 | +"MIME-Version: 1.0\n" |
19 | +"Content-Type: text/plain; charset=UTF-8\n" |
20 | +"Content-Transfer-Encoding: 8bit\n" |
21 | +"X-Launchpad-Export-Date: 2011-07-21 04:35+0000\n" |
22 | +"X-Generator: Launchpad (build 13405)\n" |
23 | + |
24 | +#. module: hr_payroll |
25 | +#: report:employees.salary:0 |
26 | +msgid "E-mail Address" |
27 | +msgstr "E-mail Address" |
28 | + |
29 | +#. module: hr_payroll |
30 | +#: view:hr.allounce.deduction.categoty:0 |
31 | +msgid "Based" |
32 | +msgstr "" |
33 | + |
34 | +#. module: hr_payroll |
35 | +#: field:hr.contract,net:0 |
36 | +#: field:hr.employee,net:0 |
37 | +#: field:hr.payroll.register,net:0 |
38 | +#: field:hr.payslip,net:0 |
39 | +#: report:salary.structure:0 |
40 | +msgid "Net Salary" |
41 | +msgstr "Net Salary" |
42 | + |
43 | +#. module: hr_payroll |
44 | +#: view:hr.payslip:0 |
45 | +msgid "Recompute Sheet" |
46 | +msgstr "" |
47 | + |
48 | +#. module: hr_payroll |
49 | +#: report:employees.salary:0 |
50 | +msgid "Employees Salary Details" |
51 | +msgstr "" |
52 | + |
53 | +#. module: hr_payroll |
54 | +#: report:employees.salary:0 |
55 | +msgid "Allowances with Basic:" |
56 | +msgstr "" |
57 | + |
58 | +#. module: hr_payroll |
59 | +#: report:employees.salary:0 |
60 | +#: report:salary.structure:0 |
61 | +msgid "Department" |
62 | +msgstr "Phòng/Ban" |
63 | + |
64 | +#. module: hr_payroll |
65 | +#: report:employees.salary:0 |
66 | +msgid "Deductions:" |
67 | +msgstr "Các khoản giảm trừ:" |
68 | + |
69 | +#. module: hr_payroll |
70 | +#: field:company.contribution,gratuity:0 |
71 | +msgid "Use for Gratuity ?" |
72 | +msgstr "" |
73 | + |
74 | +#. module: hr_payroll |
75 | +#: field:hr.contract,working_days_per_week:0 |
76 | +#: field:hr.payslip,working_days:0 |
77 | +#: report:payslip.pdf:0 |
78 | +msgid "Working Days" |
79 | +msgstr "" |
80 | + |
81 | +#. module: hr_payroll |
82 | +#: selection:hr.allounce.deduction.categoty,type:0 |
83 | +#: selection:hr.payslip.line,type:0 |
84 | +msgid "Loan" |
85 | +msgstr "Khoản vay" |
86 | + |
87 | +#. module: hr_payroll |
88 | +#: report:hr.payroll.register.sheet:0 |
89 | +msgid "Salary Payment Register" |
90 | +msgstr "" |
91 | + |
92 | +#. module: hr_payroll |
93 | +#: field:hr.employee,slip_ids:0 |
94 | +#: view:hr.payroll.register:0 |
95 | +#: field:hr.payroll.register,line_ids:0 |
96 | +#: model:ir.actions.act_window,name:hr_payroll.act_hr_employee_payslip_list |
97 | +msgid "Payslips" |
98 | +msgstr "" |
99 | + |
100 | +#. module: hr_payroll |
101 | +#: model:ir.actions.report.xml,name:hr_payroll.year_salary_report |
102 | +msgid "Year Salary Report" |
103 | +msgstr "" |
104 | + |
105 | +#. module: hr_payroll |
106 | +#: selection:hr.payroll.register,state:0 |
107 | +#: selection:hr.payslip,state:0 |
108 | +msgid "Paid Salary" |
109 | +msgstr "" |
110 | + |
111 | +#. module: hr_payroll |
112 | +#: report:payslip.pdf:0 |
113 | +msgid "(" |
114 | +msgstr "(" |
115 | + |
116 | +#. module: hr_payroll |
117 | +#: field:company.contribution,company_id:0 |
118 | +#: field:hr.allounce.deduction.categoty,company_id:0 |
119 | +#: field:hr.contibution.register,company_id:0 |
120 | +#: field:hr.holidays.status,company_id:0 |
121 | +#: field:hr.payroll.advice,company_id:0 |
122 | +#: field:hr.payroll.register,company_id:0 |
123 | +#: field:hr.payroll.structure,company_id:0 |
124 | +#: field:hr.payslip,company_id:0 |
125 | +msgid "Company" |
126 | +msgstr "Công ty" |
127 | + |
128 | +#. module: hr_payroll |
129 | +#: report:payroll.advice:0 |
130 | +msgid "The Manager" |
131 | +msgstr "" |
132 | + |
133 | +#. module: hr_payroll |
134 | +#: view:hr.payroll.advice:0 |
135 | +msgid "Letter Details" |
136 | +msgstr "" |
137 | + |
138 | +#. module: hr_payroll |
139 | +#: report:hr.payroll.register.sheet:0 |
140 | +#: report:payslip.pdf:0 |
141 | +msgid "," |
142 | +msgstr "," |
143 | + |
144 | +#. module: hr_payroll |
145 | +#: view:hr.payroll.advice:0 |
146 | +#: view:hr.payroll.register:0 |
147 | +#: view:hr.payslip:0 |
148 | +msgid "Set to Draft" |
149 | +msgstr "Đặt thành Nháp" |
150 | + |
151 | +#. module: hr_payroll |
152 | +#: code:addons/hr_payroll/hr_payroll.py:180 |
153 | +#: code:addons/hr_payroll/hr_payroll.py:195 |
154 | +#: code:addons/hr_payroll/hr_payroll.py:285 |
155 | +#: code:addons/hr_payroll/hr_payroll.py:835 |
156 | +#: code:addons/hr_payroll/hr_payroll.py:1111 |
157 | +#: code:addons/hr_payroll/hr_payroll.py:1126 |
158 | +#: code:addons/hr_payroll/hr_payroll.py:1410 |
159 | +#, python-format |
160 | +msgid "Variable Error: %s " |
161 | +msgstr "" |
162 | + |
163 | +#. module: hr_payroll |
164 | +#: view:hr.passport:0 |
165 | +msgid "Expire" |
166 | +msgstr "" |
167 | + |
168 | +#. module: hr_payroll |
169 | +#: selection:hr.holidays.status,type:0 |
170 | +msgid "Half-Pay Holiday" |
171 | +msgstr "" |
172 | + |
173 | +#. module: hr_payroll |
174 | +#: report:hr.payroll.register.sheet:0 |
175 | +#: field:hr.payslip,other_pay:0 |
176 | +msgid "Others" |
177 | +msgstr "Khác" |
178 | + |
179 | +#. module: hr_payroll |
180 | +#: field:hr.payslip.line,slip_id:0 |
181 | +#: model:ir.model,name:hr_payroll.model_hr_payslip |
182 | +#: report:payslip.pdf:0 |
183 | +msgid "Pay Slip" |
184 | +msgstr "" |
185 | + |
186 | +#. module: hr_payroll |
187 | +#: report:salary.structure:0 |
188 | +msgid "Contract Detail:" |
189 | +msgstr "" |
190 | + |
191 | +#. module: hr_payroll |
192 | +#: field:hr.payslip,igross:0 |
193 | +#: field:hr.payslip,inet:0 |
194 | +msgid "Calculaton Field" |
195 | +msgstr "" |
196 | + |
197 | +#. module: hr_payroll |
198 | +#: help:hr.payroll.advice,bank_id:0 |
199 | +#: help:hr.payroll.register,bank_id:0 |
200 | +msgid "Select the Bank Address from whcih the salary is going to be paid" |
201 | +msgstr "" |
202 | + |
203 | +#. module: hr_payroll |
204 | +#: view:hr.payroll.advice:0 |
205 | +#: field:hr.payroll.advice.line,advice_id:0 |
206 | +msgid "Bank Advice" |
207 | +msgstr "" |
208 | + |
209 | +#. module: hr_payroll |
210 | +#: selection:hr.payroll.advice,state:0 |
211 | +#: selection:hr.payroll.register,state:0 |
212 | +#: selection:hr.payslip,state:0 |
213 | +msgid "Reject" |
214 | +msgstr "Từ chối" |
215 | + |
216 | +#. module: hr_payroll |
217 | +#: selection:hr.allounce.deduction.categoty,type:0 |
218 | +#: selection:hr.payslip.line,type:0 |
219 | +msgid "Leaves" |
220 | +msgstr "Ngày nghỉ" |
221 | + |
222 | +#. module: hr_payroll |
223 | +#: field:hr.contibution.register.line,register_id:0 |
224 | +#: view:hr.payslip:0 |
225 | +#: field:hr.payslip,register_id:0 |
226 | +#: report:payslip.pdf:0 |
227 | +msgid "Register" |
228 | +msgstr "Đăng ký" |
229 | + |
230 | +#. module: hr_payroll |
231 | +#: constraint:hr.employee:0 |
232 | +msgid "" |
233 | +"Error ! You cannot select a department for which the employee is the manager." |
234 | +msgstr "Lỗi ! Bạn không thể chọn phòng ban do nhân viên này quản lý." |
235 | + |
236 | +#. module: hr_payroll |
237 | +#: report:payslip.pdf:0 |
238 | +msgid "Total Deductions" |
239 | +msgstr "Tổng Các khoản giảm trừ" |
240 | + |
241 | +#. module: hr_payroll |
242 | +#: field:company.contribution.line,value:0 |
243 | +#: field:hr.payslip.line.line,value:0 |
244 | +msgid "Value" |
245 | +msgstr "Giá trị" |
246 | + |
247 | +#. module: hr_payroll |
248 | +#: report:payroll.advice:0 |
249 | +msgid "Name of the Employee" |
250 | +msgstr "Tên của nhân viên" |
251 | + |
252 | +#. module: hr_payroll |
253 | +#: view:hr.contibution.register:0 |
254 | +msgid "Register Lines" |
255 | +msgstr "" |
256 | + |
257 | +#. module: hr_payroll |
258 | +#: view:hr.payslip:0 |
259 | +msgid "Salary Computation" |
260 | +msgstr "" |
261 | + |
262 | +#. module: hr_payroll |
263 | +#: field:hr.payroll.advice.line,amount:0 |
264 | +#: report:payroll.advice:0 |
265 | +#: report:salary.structure:0 |
266 | +msgid "Amount" |
267 | +msgstr "Số tiền" |
268 | + |
269 | +#. module: hr_payroll |
270 | +#: code:addons/hr_payroll/hr_payroll.py:1225 |
271 | +#, python-format |
272 | +msgid "Please check configuration of %s, payroll head is missing" |
273 | +msgstr "" |
274 | + |
275 | +#. module: hr_payroll |
276 | +#: selection:company.contribution,amount_type:0 |
277 | +msgid "Percentage" |
278 | +msgstr "Phần trăm" |
279 | + |
280 | +#. module: hr_payroll |
281 | +#: view:company.contribution:0 |
282 | +#: view:hr.allounce.deduction.categoty:0 |
283 | +msgid "Other Information" |
284 | +msgstr "Thông tin khác" |
285 | + |
286 | +#. module: hr_payroll |
287 | +#: field:hr.passport,country_id:0 |
288 | +msgid "Country of Issue" |
289 | +msgstr "" |
290 | + |
291 | +#. module: hr_payroll |
292 | +#: field:hr.contibution.register.line,emp_deduction:0 |
293 | +msgid "Employee Deduction" |
294 | +msgstr "" |
295 | + |
296 | +#. module: hr_payroll |
297 | +#: selection:hr.allounce.deduction.categoty,type:0 |
298 | +#: selection:hr.payslip.line,type:0 |
299 | +msgid "Other Deduction" |
300 | +msgstr "Khấu trừ Khác" |
301 | + |
302 | +#. module: hr_payroll |
303 | +#: selection:hr.holidays.status,type:0 |
304 | +msgid "Paid Holiday" |
305 | +msgstr "" |
306 | + |
307 | +#. module: hr_payroll |
308 | +#: view:company.contribution:0 |
309 | +#: view:hr.allounce.deduction.categoty:0 |
310 | +#: view:hr.passport:0 |
311 | +#: view:hr.payslip:0 |
312 | +msgid "Group By..." |
313 | +msgstr "Nhóm theo..." |
314 | + |
315 | +#. module: hr_payroll |
316 | +#: field:hr.passport,date_expire:0 |
317 | +msgid "Passport Expire Date" |
318 | +msgstr "" |
319 | + |
320 | +#. module: hr_payroll |
321 | +#: selection:hr.holidays.status,type:0 |
322 | +msgid "Un-Paid Holiday" |
323 | +msgstr "" |
324 | + |
325 | +#. module: hr_payroll |
326 | +#: view:hr.passport:0 |
327 | +msgid "Valid From" |
328 | +msgstr "Hợp lệ từ" |
329 | + |
330 | +#. module: hr_payroll |
331 | +#: help:hr.payslip,igross:0 |
332 | +#: help:hr.payslip,inet:0 |
333 | +msgid "" |
334 | +"Calculation field used for internal calculation, do not place this on form" |
335 | +msgstr "" |
336 | + |
337 | +#. module: hr_payroll |
338 | +#: report:payslip.pdf:0 |
339 | +msgid "Amount (in words) :" |
340 | +msgstr "Số tiền (bằng chữ) :" |
341 | + |
342 | +#. module: hr_payroll |
343 | +#: field:hr.holidays.status,type:0 |
344 | +msgid "Payment" |
345 | +msgstr "Thanh toán" |
346 | + |
347 | +#. module: hr_payroll |
348 | +#: view:hr.payroll.structure:0 |
349 | +#: view:hr.payslip:0 |
350 | +#: field:hr.payslip,line_ids:0 |
351 | +#: view:hr.payslip.line:0 |
352 | +#: model:ir.model,name:hr_payroll.model_hr_payslip_line |
353 | +msgid "Payslip Line" |
354 | +msgstr "" |
355 | + |
356 | +#. module: hr_payroll |
357 | +#: report:payslip.pdf:0 |
358 | +msgid "Identification No" |
359 | +msgstr "Số CMND" |
360 | + |
361 | +#. module: hr_payroll |
362 | +#: view:hr.allounce.deduction.categoty:0 |
363 | +#: field:hr.allounce.deduction.categoty,base:0 |
364 | +msgid "Based on" |
365 | +msgstr "Dựa trên" |
366 | + |
367 | +#. module: hr_payroll |
368 | +#: selection:hr.payroll.register,state:0 |
369 | +#: selection:hr.payslip,state:0 |
370 | +msgid "Wating for Verification" |
371 | +msgstr "" |
372 | + |
373 | +#. module: hr_payroll |
374 | +#: model:ir.module.module,shortdesc:hr_payroll.module_meta_information |
375 | +msgid "Human Resource Payroll" |
376 | +msgstr "" |
377 | + |
378 | +#. module: hr_payroll |
379 | +#: report:payroll.advice:0 |
380 | +msgid "Total:" |
381 | +msgstr "Tổng:" |
382 | + |
383 | +#. module: hr_payroll |
384 | +#: view:hr.payslip:0 |
385 | +msgid "Posted" |
386 | +msgstr "" |
387 | + |
388 | +#. module: hr_payroll |
389 | +#: model:ir.module.module,description:hr_payroll.module_meta_information |
390 | +msgid "" |
391 | +"Generic Payroll system\n" |
392 | +" * Employee Details\n" |
393 | +" * Employee Contracts\n" |
394 | +" * Passport based Contract\n" |
395 | +" * Allowances / Deductions\n" |
396 | +" * Allow to configure Basic / Grows / Net Salary\n" |
397 | +" * Employee Payslip\n" |
398 | +" * Monthly Payroll Register\n" |
399 | +" * Integrated with Holiday Management\n" |
400 | +" " |
401 | +msgstr "" |
402 | + |
403 | +#. module: hr_payroll |
404 | +#: model:ir.model,name:hr_payroll.model_hr_holidays_status |
405 | +msgid "Leave Type" |
406 | +msgstr "" |
407 | + |
408 | +#. module: hr_payroll |
409 | +#: report:hr.payroll.register.sheet:0 |
410 | +msgid "Date :" |
411 | +msgstr "Ngày :" |
412 | + |
413 | +#. module: hr_payroll |
414 | +#: field:hr.payslip.line,total:0 |
415 | +msgid "Sub Total" |
416 | +msgstr "Tổng phụ" |
417 | + |
418 | +#. module: hr_payroll |
419 | +#: report:payslip.pdf:0 |
420 | +msgid "Payments -" |
421 | +msgstr "" |
422 | + |
423 | +#. module: hr_payroll |
424 | +#: field:hr.contract,visa_no:0 |
425 | +msgid "Visa No" |
426 | +msgstr "" |
427 | + |
428 | +#. module: hr_payroll |
429 | +#: field:company.contribution.line,from_val:0 |
430 | +#: report:employees.salary:0 |
431 | +#: field:hr.payslip.line.line,from_val:0 |
432 | +#: report:year.salary:0 |
433 | +msgid "From" |
434 | +msgstr "Từ" |
435 | + |
436 | +#. module: hr_payroll |
437 | +#: field:hr.payroll.advice.line,bysal:0 |
438 | +#: report:payroll.advice:0 |
439 | +msgid "By Salary" |
440 | +msgstr "" |
441 | + |
442 | +#. module: hr_payroll |
443 | +#: field:hr.payroll.employees.detail,date_to:0 |
444 | +#: field:hr.payroll.year.salary,date_to:0 |
445 | +#: report:salary.structure:0 |
446 | +msgid "End Date" |
447 | +msgstr "Ngày Kết thúc" |
448 | + |
449 | +#. module: hr_payroll |
450 | +#: model:ir.actions.report.xml,name:hr_payroll.salary_payslip |
451 | +msgid "Employee PaySlip" |
452 | +msgstr "" |
453 | + |
454 | +#. module: hr_payroll |
455 | +#: field:hr.payslip,leaves:0 |
456 | +msgid "Leave Deductions" |
457 | +msgstr "" |
458 | + |
459 | +#. module: hr_payroll |
460 | +#: report:hr.payroll.register.sheet:0 |
461 | +#: report:payroll.advice:0 |
462 | +msgid "Authorised Signature" |
463 | +msgstr "" |
464 | + |
465 | +#. module: hr_payroll |
466 | +#: selection:hr.payslip.line,amount_type:0 |
467 | +msgid "Function Value" |
468 | +msgstr "" |
469 | + |
470 | +#. module: hr_payroll |
471 | +#: model:ir.model,name:hr_payroll.model_hr_contibution_register_line |
472 | +msgid "Contribution Register Line" |
473 | +msgstr "" |
474 | + |
475 | +#. module: hr_payroll |
476 | +#: report:salary.structure:0 |
477 | +msgid "Notes:" |
478 | +msgstr "Ghi chú:" |
479 | + |
480 | +#. module: hr_payroll |
481 | +#: field:hr.payroll.advice,state:0 |
482 | +#: field:hr.payroll.register,state:0 |
483 | +#: field:hr.payslip,state:0 |
484 | +msgid "State" |
485 | +msgstr "Trạng thái" |
486 | + |
487 | +#. module: hr_payroll |
488 | +#: view:hr.payroll.advice:0 |
489 | +msgid "Paymeny Lines" |
490 | +msgstr "" |
491 | + |
492 | +#. module: hr_payroll |
493 | +#: report:payslip.pdf:0 |
494 | +msgid "Other Lines" |
495 | +msgstr "" |
496 | + |
497 | +#. module: hr_payroll |
498 | +#: view:company.contribution:0 |
499 | +#: view:hr.allounce.deduction.categoty:0 |
500 | +#: view:hr.payroll.structure:0 |
501 | +#: view:hr.payslip:0 |
502 | +#: view:hr.payslip.line:0 |
503 | +msgid "Function Arguments" |
504 | +msgstr "" |
505 | + |
506 | +#. module: hr_payroll |
507 | +#: model:ir.actions.act_window,name:hr_payroll.action_hr_company_contribution_tree |
508 | +#: model:ir.ui.menu,name:hr_payroll.menu_hr_company_contribution_tree |
509 | +msgid "Company Contributions" |
510 | +msgstr "" |
511 | + |
512 | +#. module: hr_payroll |
513 | +#: field:hr.contibution.register.line,employee_id:0 |
514 | +#: field:hr.passport,employee_id:0 |
515 | +#: field:hr.payroll.advice.line,employee_id:0 |
516 | +#: field:hr.payslip,employee_id:0 |
517 | +#: field:hr.payslip.line,employee_id:0 |
518 | +#: model:ir.model,name:hr_payroll.model_hr_employee |
519 | +msgid "Employee" |
520 | +msgstr "Người lao động" |
521 | + |
522 | +#. module: hr_payroll |
523 | +#: field:hr.payslip.line,base:0 |
524 | +msgid "Formula" |
525 | +msgstr "Công thức" |
526 | + |
527 | +#. module: hr_payroll |
528 | +#: model:ir.model,name:hr_payroll.model_hr_payroll_advice_line |
529 | +msgid "Bank Advice Lines" |
530 | +msgstr "" |
531 | + |
532 | +#. module: hr_payroll |
533 | +#: view:company.contribution:0 |
534 | +#: view:hr.allounce.deduction.categoty:0 |
535 | +#: field:hr.allounce.deduction.categoty,type:0 |
536 | +#: field:hr.payslip.line,type:0 |
537 | +#: report:salary.structure:0 |
538 | +msgid "Type" |
539 | +msgstr "Loại" |
540 | + |
541 | +#. module: hr_payroll |
542 | +#: report:payslip.pdf:0 |
543 | +msgid "Email" |
544 | +msgstr "Thư điện tử" |
545 | + |
546 | +#. module: hr_payroll |
547 | +#: report:hr.payroll.register.sheet:0 |
548 | +msgid "#" |
549 | +msgstr "#" |
550 | + |
551 | +#. module: hr_payroll |
552 | +#: code:addons/hr_payroll/hr_payroll.py:469 |
553 | +#: code:addons/hr_payroll/hr_payroll.py:1225 |
554 | +#, python-format |
555 | +msgid "Error !" |
556 | +msgstr "Lỗi !" |
557 | + |
558 | +#. module: hr_payroll |
559 | +#: view:hr.payroll.register:0 |
560 | +#: view:hr.payslip:0 |
561 | +msgid "Verify Sheet" |
562 | +msgstr "" |
563 | + |
564 | +#. module: hr_payroll |
565 | +#: help:hr.contract,working_days_per_week:0 |
566 | +msgid "No of Working days / week for an employee" |
567 | +msgstr "" |
568 | + |
569 | +#. module: hr_payroll |
570 | +#: selection:hr.payroll.register,state:0 |
571 | +#: selection:hr.payslip,state:0 |
572 | +msgid "New Slip" |
573 | +msgstr "" |
574 | + |
575 | +#. module: hr_payroll |
576 | +#: field:hr.payslip,basic:0 |
577 | +msgid "Net Basic" |
578 | +msgstr "" |
579 | + |
580 | +#. module: hr_payroll |
581 | +#: field:hr.contract,gross:0 |
582 | +#: field:hr.employee,gross:0 |
583 | +#: field:hr.payroll.register,grows:0 |
584 | +#: field:hr.payslip,grows:0 |
585 | +#: report:salary.structure:0 |
586 | +msgid "Gross Salary" |
587 | +msgstr "" |
588 | + |
589 | +#. module: hr_payroll |
590 | +#: report:payslip.pdf:0 |
591 | +msgid "Total Earnings" |
592 | +msgstr "" |
593 | + |
594 | +#. module: hr_payroll |
595 | +#: model:ir.actions.act_window,name:hr_payroll.action_hr_payroll_employees_detail |
596 | +#: model:ir.ui.menu,name:hr_payroll.menu_hr_payroll_employees_detail |
597 | +msgid "Employee Salary Statement" |
598 | +msgstr "" |
599 | + |
600 | +#. module: hr_payroll |
601 | +#: selection:hr.allounce.deduction.categoty,type:0 |
602 | +#: selection:hr.payslip.line,type:0 |
603 | +msgid "Other Payment" |
604 | +msgstr "" |
605 | + |
606 | +#. module: hr_payroll |
607 | +#: field:hr.employee,advantages_net:0 |
608 | +#: report:payslip.pdf:0 |
609 | +#: report:salary.structure:0 |
610 | +msgid "Deductions" |
611 | +msgstr "Giảm trừ" |
612 | + |
613 | +#. module: hr_payroll |
614 | +#: report:payroll.advice:0 |
615 | +msgid "C/D" |
616 | +msgstr "" |
617 | + |
618 | +#. module: hr_payroll |
619 | +#: field:hr.contract,permit_no:0 |
620 | +msgid "Work Permit No" |
621 | +msgstr "" |
622 | + |
623 | +#. module: hr_payroll |
624 | +#: field:hr.payroll.advice,line_ids:0 |
625 | +msgid "Employee Salary" |
626 | +msgstr "" |
627 | + |
628 | +#. module: hr_payroll |
629 | +#: field:hr.payroll.advice,chaque_nos:0 |
630 | +msgid "Chaque Nos" |
631 | +msgstr "" |
632 | + |
633 | +#. module: hr_payroll |
634 | +#: field:hr.contibution.register,monthly_total_by_emp:0 |
635 | +msgid "Total By Employee" |
636 | +msgstr "" |
637 | + |
638 | +#. module: hr_payroll |
639 | +#: view:company.contribution:0 |
640 | +#: selection:company.contribution,amount_type:0 |
641 | +#: selection:company.contribution.line,amount_type:0 |
642 | +#: selection:hr.payslip.line,amount_type:0 |
643 | +#: selection:hr.payslip.line.line,amount_type:0 |
644 | +msgid "Fixed Amount" |
645 | +msgstr "Giá trị cố định" |
646 | + |
647 | +#. module: hr_payroll |
648 | +#: field:company.contribution.line,to_val:0 |
649 | +#: report:employees.salary:0 |
650 | +#: field:hr.payslip.line.line,to_val:0 |
651 | +#: report:year.salary:0 |
652 | +msgid "To" |
653 | +msgstr "Đến" |
654 | + |
655 | +#. module: hr_payroll |
656 | +#: code:addons/hr_payroll/hr_payroll.py:180 |
657 | +#: code:addons/hr_payroll/hr_payroll.py:195 |
658 | +#: code:addons/hr_payroll/hr_payroll.py:285 |
659 | +#: code:addons/hr_payroll/hr_payroll.py:835 |
660 | +#: code:addons/hr_payroll/hr_payroll.py:1111 |
661 | +#: code:addons/hr_payroll/hr_payroll.py:1126 |
662 | +#: code:addons/hr_payroll/hr_payroll.py:1410 |
663 | +#, python-format |
664 | +msgid "Variable Error !" |
665 | +msgstr "" |
666 | + |
667 | +#. module: hr_payroll |
668 | +#: model:ir.model,name:hr_payroll.model_hr_payroll_employees_detail |
669 | +msgid "hr.payroll.employees.detail" |
670 | +msgstr "hr.payroll.employees.detail" |
671 | + |
672 | +#. module: hr_payroll |
673 | +#: view:hr.payroll.register:0 |
674 | +#: view:hr.payslip:0 |
675 | +msgid "Pay Salary" |
676 | +msgstr "" |
677 | + |
678 | +#. module: hr_payroll |
679 | +#: field:hr.payroll.advice.line,name:0 |
680 | +msgid "Bank Account A/C" |
681 | +msgstr "" |
682 | + |
683 | +#. module: hr_payroll |
684 | +#: view:hr.contibution.register:0 |
685 | +msgid "Contribution Lines" |
686 | +msgstr "" |
687 | + |
688 | +#. module: hr_payroll |
689 | +#: report:hr.payroll.register.sheet:0 |
690 | +msgid "For the month of" |
691 | +msgstr "" |
692 | + |
693 | +#. module: hr_payroll |
694 | +#: view:hr.allounce.deduction.categoty:0 |
695 | +#: selection:hr.allounce.deduction.categoty,type:0 |
696 | +#: field:hr.payroll.register,deduction:0 |
697 | +#: report:hr.payroll.register.sheet:0 |
698 | +#: field:hr.payslip,deduction:0 |
699 | +#: selection:hr.payslip.line,type:0 |
700 | +msgid "Deduction" |
701 | +msgstr "" |
702 | + |
703 | +#. module: hr_payroll |
704 | +#: model:ir.model,name:hr_payroll.model_hr_payroll_advice |
705 | +msgid "Bank Advice Note" |
706 | +msgstr "" |
707 | + |
708 | +#. module: hr_payroll |
709 | +#: view:hr.payroll.register:0 |
710 | +#: view:hr.payslip:0 |
711 | +msgid "Payslip" |
712 | +msgstr "" |
713 | + |
714 | +#. module: hr_payroll |
715 | +#: constraint:hr.contract:0 |
716 | +msgid "Error! contract start-date must be lower then contract end-date." |
717 | +msgstr "" |
718 | + |
719 | +#. module: hr_payroll |
720 | +#: selection:hr.allounce.deduction.categoty,type:0 |
721 | +#: selection:hr.payslip.line,type:0 |
722 | +msgid "Loan Installment" |
723 | +msgstr "" |
724 | + |
725 | +#. module: hr_payroll |
726 | +#: view:hr.payroll.register:0 |
727 | +msgid "Complete HR Checking" |
728 | +msgstr "" |
729 | + |
730 | +#. module: hr_payroll |
731 | +#: report:payroll.advice:0 |
732 | +msgid "Yours Sincerely" |
733 | +msgstr "" |
734 | + |
735 | +#. module: hr_payroll |
736 | +#: report:payroll.advice:0 |
737 | +msgid "SI. No." |
738 | +msgstr "" |
739 | + |
740 | +#. module: hr_payroll |
741 | +#: report:payslip.pdf:0 |
742 | +msgid "Net Amount" |
743 | +msgstr "" |
744 | + |
745 | +#. module: hr_payroll |
746 | +#: report:salary.structure:0 |
747 | +msgid "Salary Structure:" |
748 | +msgstr "" |
749 | + |
750 | +#. module: hr_payroll |
751 | +#: model:ir.actions.report.xml,name:hr_payroll.year_employees_detail |
752 | +msgid "Employees Salary Detail" |
753 | +msgstr "" |
754 | + |
755 | +#. module: hr_payroll |
756 | +#: model:ir.model,name:hr_payroll.model_hr_payslip_line_line |
757 | +msgid "Function Line" |
758 | +msgstr "" |
759 | + |
760 | +#. module: hr_payroll |
761 | +#: view:hr.payroll.advice:0 |
762 | +#: selection:hr.payroll.advice,state:0 |
763 | +#: selection:hr.payroll.register,state:0 |
764 | +#: selection:hr.payslip,state:0 |
765 | +msgid "Confirm Sheet" |
766 | +msgstr "" |
767 | + |
768 | +#. module: hr_payroll |
769 | +#: report:employees.salary:0 |
770 | +msgid "Others:" |
771 | +msgstr "Khác:" |
772 | + |
773 | +#. module: hr_payroll |
774 | +#: view:company.contribution:0 |
775 | +#: selection:company.contribution,amount_type:0 |
776 | +msgid "Function Calculation" |
777 | +msgstr "" |
778 | + |
779 | +#. module: hr_payroll |
780 | +#: field:hr.payslip,worked_days:0 |
781 | +#: report:payslip.pdf:0 |
782 | +msgid "Worked Day" |
783 | +msgstr "" |
784 | + |
785 | +#. module: hr_payroll |
786 | +#: field:hr.contibution.register,monthly_total_by_comp:0 |
787 | +msgid "Total By Company" |
788 | +msgstr "" |
789 | + |
790 | +#. module: hr_payroll |
791 | +#: field:hr.payroll.advice.line,flag:0 |
792 | +msgid "D/C" |
793 | +msgstr "" |
794 | + |
795 | +#. module: hr_payroll |
796 | +#: view:hr.passport:0 |
797 | +msgid "Country & Address" |
798 | +msgstr "" |
799 | + |
800 | +#. module: hr_payroll |
801 | +#: report:employees.salary:0 |
802 | +msgid "Employee Code" |
803 | +msgstr "" |
804 | + |
805 | +#. module: hr_payroll |
806 | +#: report:payslip.pdf:0 |
807 | +msgid "Basic Salary – Leaves" |
808 | +msgstr "" |
809 | + |
810 | +#. module: hr_payroll |
811 | +#: field:company.contribution,amount_type:0 |
812 | +#: field:company.contribution.line,amount_type:0 |
813 | +#: field:hr.payslip.line,amount_type:0 |
814 | +#: field:hr.payslip.line.line,amount_type:0 |
815 | +#: report:salary.structure:0 |
816 | +msgid "Amount Type" |
817 | +msgstr "" |
818 | + |
819 | +#. module: hr_payroll |
820 | +#: view:company.contribution:0 |
821 | +#: field:hr.payslip.line,category_id:0 |
822 | +msgid "Category" |
823 | +msgstr "" |
824 | + |
825 | +#. module: hr_payroll |
826 | +#: view:company.contribution:0 |
827 | +#: view:hr.allounce.deduction.categoty:0 |
828 | +#: field:hr.payslip.line,company_contrib:0 |
829 | +#: model:ir.model,name:hr_payroll.model_company_contribution |
830 | +msgid "Company Contribution" |
831 | +msgstr "" |
832 | + |
833 | +#. module: hr_payroll |
834 | +#: field:company.contribution,category_id:0 |
835 | +msgid "Heads" |
836 | +msgstr "" |
837 | + |
838 | +#. module: hr_payroll |
839 | +#: model:ir.actions.report.xml,name:hr_payroll.year_payroll_register |
840 | +msgid "Print Statement" |
841 | +msgstr "" |
842 | + |
843 | +#. module: hr_payroll |
844 | +#: view:hr.payslip:0 |
845 | +msgid "Draft" |
846 | +msgstr "Dự thảo" |
847 | + |
848 | +#. module: hr_payroll |
849 | +#: report:payslip.pdf:0 |
850 | +msgid "Earnings" |
851 | +msgstr "" |
852 | + |
853 | +#. module: hr_payroll |
854 | +#: report:hr.payroll.register.sheet:0 |
855 | +#: report:salary.structure:0 |
856 | +msgid "Basic" |
857 | +msgstr "Cơ bản" |
858 | + |
859 | +#. module: hr_payroll |
860 | +#: model:ir.actions.act_window,name:hr_payroll.action_hr_passport_tree |
861 | +msgid "All Passports" |
862 | +msgstr "" |
863 | + |
864 | +#. module: hr_payroll |
865 | +#: model:ir.actions.act_window,name:hr_payroll.action_hr_payroll_year_salary |
866 | +#: model:ir.ui.menu,name:hr_payroll.menu_wizard_print_year_salary |
867 | +msgid "Salary Register" |
868 | +msgstr "" |
869 | + |
870 | +#. module: hr_payroll |
871 | +#: report:employees.salary:0 |
872 | +#: report:hr.payroll.register.sheet:0 |
873 | +msgid "Employee Name" |
874 | +msgstr "Tên nhân viên" |
875 | + |
876 | +#. module: hr_payroll |
877 | +#: model:ir.model,name:hr_payroll.model_hr_passport |
878 | +msgid "Passport Detail" |
879 | +msgstr "" |
880 | + |
881 | +#. module: hr_payroll |
882 | +#: selection:hr.payslip.line,amount_type:0 |
883 | +msgid "Percentage (%)" |
884 | +msgstr "" |
885 | + |
886 | +#. module: hr_payroll |
887 | +#: field:hr.payroll.advice,register_id:0 |
888 | +#: view:hr.payroll.register:0 |
889 | +#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_payroll_register_form |
890 | +#: model:ir.model,name:hr_payroll.model_hr_payroll_register |
891 | +#: model:ir.ui.menu,name:hr_payroll.hr_menu_payroll_register |
892 | +msgid "Payroll Register" |
893 | +msgstr "" |
894 | + |
895 | +#. module: hr_payroll |
896 | +#: report:hr.payroll.register.sheet:0 |
897 | +#: report:payroll.advice:0 |
898 | +msgid "For" |
899 | +msgstr "" |
900 | + |
901 | +#. module: hr_payroll |
902 | +#: field:hr.passport,contracts_ids:0 |
903 | +msgid "Contracts" |
904 | +msgstr "Các hợp đồng" |
905 | + |
906 | +#. module: hr_payroll |
907 | +#: view:hr.payroll.structure:0 |
908 | +msgid "Employee Function" |
909 | +msgstr "" |
910 | + |
911 | +#. module: hr_payroll |
912 | +#: view:hr.payslip:0 |
913 | +msgid "Paid" |
914 | +msgstr "Đã thanh toán" |
915 | + |
916 | +#. module: hr_payroll |
917 | +#: view:hr.payslip:0 |
918 | +msgid "Approve Sheet" |
919 | +msgstr "" |
920 | + |
921 | +#. module: hr_payroll |
922 | +#: field:hr.payslip,paid:0 |
923 | +msgid "Paid ? " |
924 | +msgstr "" |
925 | + |
926 | +#. module: hr_payroll |
927 | +#: view:hr.holidays.status:0 |
928 | +msgid "Validation" |
929 | +msgstr "" |
930 | + |
931 | +#. module: hr_payroll |
932 | +#: report:employees.salary:0 |
933 | +msgid "Title" |
934 | +msgstr "" |
935 | + |
936 | +#. module: hr_payroll |
937 | +#: view:company.contribution:0 |
938 | +msgid "Search Company Contribution" |
939 | +msgstr "" |
940 | + |
941 | +#. module: hr_payroll |
942 | +#: field:hr.allounce.deduction.categoty,user_id:0 |
943 | +msgid "User" |
944 | +msgstr "Người sử dụng" |
945 | + |
946 | +#. module: hr_payroll |
947 | +#: view:hr.payroll.advice:0 |
948 | +msgid "Payment Lines" |
949 | +msgstr "" |
950 | + |
951 | +#. module: hr_payroll |
952 | +#: view:hr.payslip:0 |
953 | +msgid "Compute Sheet" |
954 | +msgstr "" |
955 | + |
956 | +#. module: hr_payroll |
957 | +#: field:company.contribution,active:0 |
958 | +#: field:hr.payroll.register,active:0 |
959 | +msgid "Active" |
960 | +msgstr "Hoạt động" |
961 | + |
962 | +#. module: hr_payroll |
963 | +#: help:hr.allounce.deduction.categoty,condition:0 |
964 | +msgid "Applied this head for calculation if condition is true" |
965 | +msgstr "" |
966 | + |
967 | +#. module: hr_payroll |
968 | +#: report:year.salary:0 |
969 | +msgid "Yearly Salary Details" |
970 | +msgstr "" |
971 | + |
972 | +#. module: hr_payroll |
973 | +#: constraint:hr.employee:0 |
974 | +msgid "Error ! You cannot create recursive Hierarchy of Employees." |
975 | +msgstr "Lỗi ! Bạn không thể tạo cấu trúc đệ quy của nhân viên" |
976 | + |
977 | +#. module: hr_payroll |
978 | +#: field:hr.allounce.deduction.categoty,condition:0 |
979 | +msgid "Condition" |
980 | +msgstr "Điều kiện" |
981 | + |
982 | +#. module: hr_payroll |
983 | +#: selection:hr.payroll.register,state:0 |
984 | +#: selection:hr.payslip,state:0 |
985 | +msgid "Wating for HR Verification" |
986 | +msgstr "" |
987 | + |
988 | +#. module: hr_payroll |
989 | +#: report:payroll.advice:0 |
990 | +msgid "Payment Advice:" |
991 | +msgstr "" |
992 | + |
993 | +#. module: hr_payroll |
994 | +#: view:hr.payroll.register:0 |
995 | +msgid "Compute" |
996 | +msgstr "Tính toán" |
997 | + |
998 | +#. module: hr_payroll |
999 | +#: report:employees.salary:0 |
1000 | +#: field:hr.payslip,deg_id:0 |
1001 | +#: report:payslip.pdf:0 |
1002 | +#: report:salary.structure:0 |
1003 | +msgid "Designation" |
1004 | +msgstr "" |
1005 | + |
1006 | +#. module: hr_payroll |
1007 | +#: report:hr.payroll.register.sheet:0 |
1008 | +msgid "HR Manager" |
1009 | +msgstr "" |
1010 | + |
1011 | +#. module: hr_payroll |
1012 | +#: field:hr.contract,basic:0 |
1013 | +#: field:hr.employee,basic:0 |
1014 | +#: field:hr.payslip,basic_before_leaves:0 |
1015 | +#: report:payslip.pdf:0 |
1016 | +msgid "Basic Salary" |
1017 | +msgstr "Lương Cơ bản" |
1018 | + |
1019 | +#. module: hr_payroll |
1020 | +#: field:hr.allounce.deduction.categoty,code:0 |
1021 | +msgid "Category Code" |
1022 | +msgstr "" |
1023 | + |
1024 | +#. module: hr_payroll |
1025 | +#: view:hr.payroll.register:0 |
1026 | +msgid "Salary Information" |
1027 | +msgstr "Thông tin Lương" |
1028 | + |
1029 | +#. module: hr_payroll |
1030 | +#: model:ir.model,name:hr_payroll.model_hr_allounce_deduction_categoty |
1031 | +#: model:ir.model,name:hr_payroll.model_hr_allounce_deduction_categoty_line |
1032 | +msgid "Allowance Deduction Categoty" |
1033 | +msgstr "" |
1034 | + |
1035 | +#. module: hr_payroll |
1036 | +#: view:hr.payslip:0 |
1037 | +msgid "Companies" |
1038 | +msgstr "Các công ty" |
1039 | + |
1040 | +#. module: hr_payroll |
1041 | +#: report:payslip.pdf:0 |
1042 | +msgid "Authorized Signature" |
1043 | +msgstr "" |
1044 | + |
1045 | +#. module: hr_payroll |
1046 | +#: field:hr.payslip,contract_id:0 |
1047 | +#: model:ir.model,name:hr_payroll.model_hr_contract |
1048 | +msgid "Contract" |
1049 | +msgstr "Hợp đồng" |
1050 | + |
1051 | +#. module: hr_payroll |
1052 | +#: selection:hr.payroll.advice,state:0 |
1053 | +msgid "Draft Sheet" |
1054 | +msgstr "" |
1055 | + |
1056 | +#. module: hr_payroll |
1057 | +#: selection:hr.payroll.year.salary,salary_on:0 |
1058 | +msgid "Next Month Date" |
1059 | +msgstr "" |
1060 | + |
1061 | +#. module: hr_payroll |
1062 | +#: field:hr.contibution.register.line,date:0 |
1063 | +#: field:hr.payroll.advice,date:0 |
1064 | +#: field:hr.payroll.register,date:0 |
1065 | +#: field:hr.payslip,date:0 |
1066 | +msgid "Date" |
1067 | +msgstr "Ngày" |
1068 | + |
1069 | +#. module: hr_payroll |
1070 | +#: field:hr.contract,visa_expire:0 |
1071 | +msgid "Visa Expire Date" |
1072 | +msgstr "" |
1073 | + |
1074 | +#. module: hr_payroll |
1075 | +#: view:hr.passport:0 |
1076 | +msgid "Search Passport" |
1077 | +msgstr "" |
1078 | + |
1079 | +#. module: hr_payroll |
1080 | +#: report:employees.salary:0 |
1081 | +#: report:salary.structure:0 |
1082 | +msgid "Phone No." |
1083 | +msgstr "" |
1084 | + |
1085 | +#. module: hr_payroll |
1086 | +#: field:company.contribution,contribute_per:0 |
1087 | +#: field:company.contribution.line,contribution_id:0 |
1088 | +#: view:hr.allounce.deduction.categoty:0 |
1089 | +#: view:hr.contibution.register:0 |
1090 | +#: view:hr.contibution.register.line:0 |
1091 | +msgid "Contribution" |
1092 | +msgstr "Đóng góp" |
1093 | + |
1094 | +#. module: hr_payroll |
1095 | +#: field:hr.allounce.deduction.categoty,state:0 |
1096 | +msgid "Label" |
1097 | +msgstr "Nhãn" |
1098 | + |
1099 | +#. module: hr_payroll |
1100 | +#: view:hr.payroll.structure:0 |
1101 | +#: view:hr.payslip:0 |
1102 | +#: view:hr.payslip.line:0 |
1103 | +msgid "Company contribution" |
1104 | +msgstr "" |
1105 | + |
1106 | +#. module: hr_payroll |
1107 | +#: report:employees.salary:0 |
1108 | +#: report:salary.structure:0 |
1109 | +msgid "Other No." |
1110 | +msgstr "" |
1111 | + |
1112 | +#. module: hr_payroll |
1113 | +#: field:company.contribution,code:0 |
1114 | +#: field:hr.contibution.register.line,code:0 |
1115 | +#: field:hr.holidays.status,code:0 |
1116 | +#: field:hr.payroll.structure,code:0 |
1117 | +#: field:hr.payslip.line,code:0 |
1118 | +#: report:payslip.pdf:0 |
1119 | +#: report:salary.structure:0 |
1120 | +msgid "Code" |
1121 | +msgstr "Mã" |
1122 | + |
1123 | +#. module: hr_payroll |
1124 | +#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_bank_advice_tree |
1125 | +#: model:ir.ui.menu,name:hr_payroll.hr_menu_payment_advice |
1126 | +msgid "Payment Advice" |
1127 | +msgstr "" |
1128 | + |
1129 | +#. module: hr_payroll |
1130 | +#: report:hr.payroll.register.sheet:0 |
1131 | +msgid "Number :" |
1132 | +msgstr "" |
1133 | + |
1134 | +#. module: hr_payroll |
1135 | +#: help:hr.allounce.deduction.categoty,base:0 |
1136 | +msgid "" |
1137 | +"This will use to computer the % fields values, in general its on basic, but " |
1138 | +"You can use all heads code field in small letter as a variable name i.e. " |
1139 | +"hra, ma, lta, etc...., also you can use, static varible basic" |
1140 | +msgstr "" |
1141 | + |
1142 | +#. module: hr_payroll |
1143 | +#: view:hr.payslip:0 |
1144 | +msgid "Computation Overview" |
1145 | +msgstr "" |
1146 | + |
1147 | +#. module: hr_payroll |
1148 | +#: field:hr.payroll.year.salary,salary_on:0 |
1149 | +msgid "Salary On" |
1150 | +msgstr "" |
1151 | + |
1152 | +#. module: hr_payroll |
1153 | +#: field:hr.payroll.advice,number:0 |
1154 | +#: field:hr.payroll.register,number:0 |
1155 | +#: field:hr.payslip,number:0 |
1156 | +msgid "Number" |
1157 | +msgstr "Số" |
1158 | + |
1159 | +#. module: hr_payroll |
1160 | +#: field:hr.contract,struct_id:0 |
1161 | +#: field:hr.employee,line_ids:0 |
1162 | +#: view:hr.payroll.structure:0 |
1163 | +#: field:hr.payroll.structure,line_ids:0 |
1164 | +#: view:hr.payslip:0 |
1165 | +#: view:hr.payslip.line:0 |
1166 | +#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_employee_grade_form |
1167 | +#: model:ir.actions.report.xml,name:hr_payroll.salary_structure_register |
1168 | +#: model:ir.model,name:hr_payroll.model_hr_payroll_structure |
1169 | +#: model:ir.ui.menu,name:hr_payroll.menu_hr_employee_function |
1170 | +msgid "Salary Structure" |
1171 | +msgstr "" |
1172 | + |
1173 | +#. module: hr_payroll |
1174 | +#: field:hr.contibution.register,register_line_ids:0 |
1175 | +msgid "Register Line" |
1176 | +msgstr "" |
1177 | + |
1178 | +#. module: hr_payroll |
1179 | +#: view:hr.payroll.register:0 |
1180 | +#: view:hr.payslip:0 |
1181 | +msgid "Cancel" |
1182 | +msgstr "Hủy bỏ" |
1183 | + |
1184 | +#. module: hr_payroll |
1185 | +#: view:hr.payroll.employees.detail:0 |
1186 | +#: view:hr.payroll.year.salary:0 |
1187 | +msgid "Close" |
1188 | +msgstr "Ðóng" |
1189 | + |
1190 | +#. module: hr_payroll |
1191 | +#: field:hr.payslip.line,amount:0 |
1192 | +msgid "Amount / Percentage" |
1193 | +msgstr "" |
1194 | + |
1195 | +#. module: hr_payroll |
1196 | +#: field:hr.employee,advantages_gross:0 |
1197 | +#: report:hr.payroll.register.sheet:0 |
1198 | +#: report:salary.structure:0 |
1199 | +msgid "Allowances" |
1200 | +msgstr "Các khoản Phụ cấp" |
1201 | + |
1202 | +#. module: hr_payroll |
1203 | +#: selection:hr.payroll.year.salary,salary_on:0 |
1204 | +msgid "Current Month Date" |
1205 | +msgstr "" |
1206 | + |
1207 | +#. module: hr_payroll |
1208 | +#: report:salary.structure:0 |
1209 | +msgid "Salary" |
1210 | +msgstr "" |
1211 | + |
1212 | +#. module: hr_payroll |
1213 | +#: field:hr.contract,passport_id:0 |
1214 | +#: field:hr.passport,name:0 |
1215 | +msgid "Passport No" |
1216 | +msgstr "Số Hộ chiếu" |
1217 | + |
1218 | +#. module: hr_payroll |
1219 | +#: view:hr.passport:0 |
1220 | +msgid "Passport" |
1221 | +msgstr "Hộ chiếu" |
1222 | + |
1223 | +#. module: hr_payroll |
1224 | +#: report:hr.payroll.register.sheet:0 |
1225 | +msgid "Total Salary" |
1226 | +msgstr "" |
1227 | + |
1228 | +#. module: hr_payroll |
1229 | +#: report:payroll.advice:0 |
1230 | +msgid "for period" |
1231 | +msgstr "Cho giai đoạn" |
1232 | + |
1233 | +#. module: hr_payroll |
1234 | +#: field:hr.holidays.status,head_id:0 |
1235 | +msgid "Payroll Head" |
1236 | +msgstr "" |
1237 | + |
1238 | +#. module: hr_payroll |
1239 | +#: field:company.contribution,register_id:0 |
1240 | +#: model:ir.actions.act_window,name:hr_payroll.action_contibution_register_form |
1241 | +#: model:ir.model,name:hr_payroll.model_hr_contibution_register |
1242 | +#: model:ir.ui.menu,name:hr_payroll.menu_action_hr_contibution_register_form |
1243 | +msgid "Contribution Register" |
1244 | +msgstr "" |
1245 | + |
1246 | +#. module: hr_payroll |
1247 | +#: report:salary.structure:0 |
1248 | +msgid "E-mail" |
1249 | +msgstr "Thư điện tử" |
1250 | + |
1251 | +#. module: hr_payroll |
1252 | +#: view:hr.allounce.deduction.categoty:0 |
1253 | +#: model:ir.actions.act_window,name:hr_payroll.hr_allounce_deduction_tree |
1254 | +#: model:ir.ui.menu,name:hr_payroll.menu_hr_allounce_deduction_tree |
1255 | +msgid "Salary Heads" |
1256 | +msgstr "" |
1257 | + |
1258 | +#. module: hr_payroll |
1259 | +#: view:hr.payroll.employees.detail:0 |
1260 | +#: view:hr.payroll.year.salary:0 |
1261 | +msgid "Print Report" |
1262 | +msgstr "In Báo cáo" |
1263 | + |
1264 | +#. module: hr_payroll |
1265 | +#: field:company.contribution,line_ids:0 |
1266 | +#: view:hr.payroll.structure:0 |
1267 | +#: view:hr.payslip:0 |
1268 | +#: view:hr.payslip.line:0 |
1269 | +#: field:hr.payslip.line,line_ids:0 |
1270 | +msgid "Calculations" |
1271 | +msgstr "" |
1272 | + |
1273 | +#. module: hr_payroll |
1274 | +#: help:company.contribution,contribute_per:0 |
1275 | +msgid "" |
1276 | +"Define Company contribution ratio 1.00=100% contribution, If Employee " |
1277 | +"Contribute 5% then company will and here 0.50 defined then company will " |
1278 | +"contribute 50% on employee 5% contribution" |
1279 | +msgstr "" |
1280 | + |
1281 | +#. module: hr_payroll |
1282 | +#: view:hr.payslip:0 |
1283 | +msgid "Other Informations" |
1284 | +msgstr "" |
1285 | + |
1286 | +#. module: hr_payroll |
1287 | +#: view:hr.contibution.register:0 |
1288 | +msgid "Month" |
1289 | +msgstr "Tháng" |
1290 | + |
1291 | +#. module: hr_payroll |
1292 | +#: view:hr.passport:0 |
1293 | +msgid "Issue" |
1294 | +msgstr "" |
1295 | + |
1296 | +#. module: hr_payroll |
1297 | +#: view:hr.allounce.deduction.categoty:0 |
1298 | +msgid "Dynamic Computation" |
1299 | +msgstr "" |
1300 | + |
1301 | +#. module: hr_payroll |
1302 | +#: report:payslip.pdf:0 |
1303 | +msgid "Basic Salary without Leave:" |
1304 | +msgstr "" |
1305 | + |
1306 | +#. module: hr_payroll |
1307 | +#: view:company.contribution:0 |
1308 | +#: view:hr.allounce.deduction.categoty:0 |
1309 | +#: view:hr.payroll.structure:0 |
1310 | +#: view:hr.payslip:0 |
1311 | +#: view:hr.payslip.line:0 |
1312 | +#: field:hr.payslip.line,function_id:0 |
1313 | +msgid "Function" |
1314 | +msgstr "Chức năng" |
1315 | + |
1316 | +#. module: hr_payroll |
1317 | +#: view:hr.payslip:0 |
1318 | +msgid "States" |
1319 | +msgstr "" |
1320 | + |
1321 | +#. module: hr_payroll |
1322 | +#: report:payroll.advice:0 |
1323 | +msgid "Dear Sir/Madam," |
1324 | +msgstr "" |
1325 | + |
1326 | +#. module: hr_payroll |
1327 | +#: model:ir.model,name:hr_payroll.model_hr_allounce_deduction_categoty |
1328 | +msgid "Allowance Deduction Heads" |
1329 | +msgstr "" |
1330 | + |
1331 | +#. module: hr_payroll |
1332 | +#: report:hr.payroll.register.sheet:0 |
1333 | +msgid "Gross Sal." |
1334 | +msgstr "" |
1335 | + |
1336 | +#. module: hr_payroll |
1337 | +#: view:company.contribution:0 |
1338 | +#: field:company.contribution,note:0 |
1339 | +#: view:hr.allounce.deduction.categoty:0 |
1340 | +#: field:hr.allounce.deduction.categoty,note:0 |
1341 | +#: view:hr.contibution.register:0 |
1342 | +#: field:hr.contibution.register,note:0 |
1343 | +#: view:hr.passport:0 |
1344 | +#: field:hr.passport,note:0 |
1345 | +#: field:hr.payroll.advice,note:0 |
1346 | +#: field:hr.payroll.register,note:0 |
1347 | +#: view:hr.payroll.structure:0 |
1348 | +#: field:hr.payroll.structure,note:0 |
1349 | +#: view:hr.payslip:0 |
1350 | +#: field:hr.payslip,note:0 |
1351 | +#: view:hr.payslip.line:0 |
1352 | +#: field:hr.payslip.line,note:0 |
1353 | +msgid "Description" |
1354 | +msgstr "Mô tả" |
1355 | + |
1356 | +#. module: hr_payroll |
1357 | +#: field:hr.payroll.employees.detail,date_from:0 |
1358 | +#: field:hr.payroll.year.salary,date_from:0 |
1359 | +#: report:salary.structure:0 |
1360 | +msgid "Start Date" |
1361 | +msgstr "Ngày bắt đầu" |
1362 | + |
1363 | +#. module: hr_payroll |
1364 | +#: report:payslip.pdf:0 |
1365 | +msgid "Deduction -" |
1366 | +msgstr "" |
1367 | + |
1368 | +#. module: hr_payroll |
1369 | +#: report:payslip.pdf:0 |
1370 | +msgid ")" |
1371 | +msgstr ")" |
1372 | + |
1373 | +#. module: hr_payroll |
1374 | +#: view:hr.contibution.register:0 |
1375 | +msgid "Contribution Registers" |
1376 | +msgstr "" |
1377 | + |
1378 | +#. module: hr_payroll |
1379 | +#: model:ir.ui.menu,name:hr_payroll.menu_hr_payroll_reporting |
1380 | +#: model:ir.ui.menu,name:hr_payroll.menu_hr_root_payroll |
1381 | +#: model:ir.ui.menu,name:hr_payroll.payroll_configure |
1382 | +msgid "Payroll" |
1383 | +msgstr "" |
1384 | + |
1385 | +#. module: hr_payroll |
1386 | +#: model:ir.model,name:hr_payroll.model_hr_contract_wage_type |
1387 | +msgid "Wage Type" |
1388 | +msgstr "Loại tiền công" |
1389 | + |
1390 | +#. module: hr_payroll |
1391 | +#: report:hr.payroll.register.sheet:0 |
1392 | +msgid "Net Sal." |
1393 | +msgstr "" |
1394 | + |
1395 | +#. module: hr_payroll |
1396 | +#: sql_constraint:hr.passport:0 |
1397 | +msgid "The Passport No must be unique !" |
1398 | +msgstr "" |
1399 | + |
1400 | +#. module: hr_payroll |
1401 | +#: field:hr.allounce.deduction.categoty,name:0 |
1402 | +msgid "Category Name" |
1403 | +msgstr "Tên Chủng loại" |
1404 | + |
1405 | +#. module: hr_payroll |
1406 | +#: model:ir.model,name:hr_payroll.model_hr_payroll_year_salary |
1407 | +msgid "hr.payroll.year.salary" |
1408 | +msgstr "hr.payroll.year.salary" |
1409 | + |
1410 | +#. module: hr_payroll |
1411 | +#: report:employees.salary:0 |
1412 | +#: field:hr.passport,address_id:0 |
1413 | +#: report:payslip.pdf:0 |
1414 | +#: report:salary.structure:0 |
1415 | +msgid "Address" |
1416 | +msgstr "Địa chỉ" |
1417 | + |
1418 | +#. module: hr_payroll |
1419 | +#: field:hr.payslip.line.line,slipline_id:0 |
1420 | +msgid "Slip Line" |
1421 | +msgstr "" |
1422 | + |
1423 | +#. module: hr_payroll |
1424 | +#: report:payslip.pdf:0 |
1425 | +msgid "Number of Leaves" |
1426 | +msgstr "" |
1427 | + |
1428 | +#. module: hr_payroll |
1429 | +#: report:employees.salary:0 |
1430 | +#: field:hr.payroll.advice,bank_id:0 |
1431 | +#: field:hr.payroll.register,bank_id:0 |
1432 | +#: report:salary.structure:0 |
1433 | +msgid "Bank" |
1434 | +msgstr "Ngân hàng" |
1435 | + |
1436 | +#. module: hr_payroll |
1437 | +#: view:hr.payroll.advice:0 |
1438 | +msgid "Cancel Sheet" |
1439 | +msgstr "" |
1440 | + |
1441 | +#. module: hr_payroll |
1442 | +#: selection:hr.allounce.deduction.categoty,type:0 |
1443 | +#: selection:hr.payslip.line,type:0 |
1444 | +msgid "Advance" |
1445 | +msgstr "" |
1446 | + |
1447 | +#. module: hr_payroll |
1448 | +#: report:salary.structure:0 |
1449 | +msgid "Special Allowances and Deductions For Employee:" |
1450 | +msgstr "" |
1451 | + |
1452 | +#. module: hr_payroll |
1453 | +#: field:company.contribution,name:0 |
1454 | +#: field:company.contribution.line,name:0 |
1455 | +#: field:hr.contibution.register,name:0 |
1456 | +#: field:hr.contibution.register.line,name:0 |
1457 | +#: field:hr.payroll.advice,name:0 |
1458 | +#: field:hr.payroll.register,name:0 |
1459 | +#: field:hr.payroll.structure,name:0 |
1460 | +#: field:hr.payslip,name:0 |
1461 | +#: field:hr.payslip.line,name:0 |
1462 | +#: field:hr.payslip.line.line,name:0 |
1463 | +#: report:payslip.pdf:0 |
1464 | +#: report:salary.structure:0 |
1465 | +#: report:year.salary:0 |
1466 | +msgid "Name" |
1467 | +msgstr "Tên" |
1468 | + |
1469 | +#. module: hr_payroll |
1470 | +#: report:payslip.pdf:0 |
1471 | +msgid "Leaved Deduction" |
1472 | +msgstr "" |
1473 | + |
1474 | +#. module: hr_payroll |
1475 | +#: view:hr.passport:0 |
1476 | +msgid "Country" |
1477 | +msgstr "Quốc gia" |
1478 | + |
1479 | +#. module: hr_payroll |
1480 | +#: view:hr.passport:0 |
1481 | +#: view:hr.payroll.employees.detail:0 |
1482 | +#: field:hr.payroll.employees.detail,employee_ids:0 |
1483 | +#: view:hr.payroll.year.salary:0 |
1484 | +#: field:hr.payroll.year.salary,employee_ids:0 |
1485 | +#: view:hr.payslip:0 |
1486 | +msgid "Employees" |
1487 | +msgstr "Các nhân viên" |
1488 | + |
1489 | +#. module: hr_payroll |
1490 | +#: report:payroll.advice:0 |
1491 | +msgid "Bank Account" |
1492 | +msgstr "Tài khoản Ngân hàng" |
1493 | + |
1494 | +#. module: hr_payroll |
1495 | +#: help:company.contribution,register_id:0 |
1496 | +msgid "Contribution register based on company" |
1497 | +msgstr "" |
1498 | + |
1499 | +#. module: hr_payroll |
1500 | +#: help:hr.allounce.deduction.categoty,sequence:0 |
1501 | +msgid "Use to arrange calculation sequence" |
1502 | +msgstr "" |
1503 | + |
1504 | +#. module: hr_payroll |
1505 | +#: field:hr.payslip,total_pay:0 |
1506 | +msgid "Total Payment" |
1507 | +msgstr "Tổng Thanh toán" |
1508 | + |
1509 | +#. module: hr_payroll |
1510 | +#: report:payslip.pdf:0 |
1511 | +msgid "Leave Deductions Line:" |
1512 | +msgstr "" |
1513 | + |
1514 | +#. module: hr_payroll |
1515 | +#: selection:hr.payroll.register,state:0 |
1516 | +#: selection:hr.payslip,state:0 |
1517 | +msgid "Wating for Account Verification" |
1518 | +msgstr "" |
1519 | + |
1520 | +#. module: hr_payroll |
1521 | +#: field:hr.contibution.register.line,comp_deduction:0 |
1522 | +msgid "Company Deduction" |
1523 | +msgstr "" |
1524 | + |
1525 | +#. module: hr_payroll |
1526 | +#: view:hr.holidays.status:0 |
1527 | +msgid "Payroll Configurtion" |
1528 | +msgstr "" |
1529 | + |
1530 | +#. module: hr_payroll |
1531 | +#: code:addons/hr_payroll/hr_payroll.py:469 |
1532 | +#, python-format |
1533 | +msgid "Please define bank account for the %s employee" |
1534 | +msgstr "" |
1535 | + |
1536 | +#. module: hr_payroll |
1537 | +#: field:hr.passport,date_issue:0 |
1538 | +msgid "Passport Issue Date" |
1539 | +msgstr "" |
1540 | + |
1541 | +#. module: hr_payroll |
1542 | +#: view:hr.allounce.deduction.categoty:0 |
1543 | +#: selection:hr.allounce.deduction.categoty,type:0 |
1544 | +#: field:hr.payroll.register,allounce:0 |
1545 | +#: field:hr.payslip,allounce:0 |
1546 | +#: selection:hr.payslip.line,type:0 |
1547 | +msgid "Allowance" |
1548 | +msgstr "" |
1549 | + |
1550 | +#. module: hr_payroll |
1551 | +#: field:hr.payslip,holiday_days:0 |
1552 | +msgid "No of Leaves" |
1553 | +msgstr "" |
1554 | + |
1555 | +#. module: hr_payroll |
1556 | +#: field:hr.employee,otherid:0 |
1557 | +msgid "Other Id" |
1558 | +msgstr "" |
1559 | + |
1560 | +#. module: hr_payroll |
1561 | +#: report:payslip.pdf:0 |
1562 | +msgid "Bank Details" |
1563 | +msgstr "Chi tiết Ngân hàng" |
1564 | + |
1565 | +#. module: hr_payroll |
1566 | +#: report:payslip.pdf:0 |
1567 | +msgid "Slip ID" |
1568 | +msgstr "" |
1569 | + |
1570 | +#. module: hr_payroll |
1571 | +#: field:company.contribution.line,sequence:0 |
1572 | +#: field:hr.allounce.deduction.categoty,sequence:0 |
1573 | +#: field:hr.payslip.line,sequence:0 |
1574 | +#: field:hr.payslip.line.line,sequence:0 |
1575 | +msgid "Sequence" |
1576 | +msgstr "Trình tự" |
1577 | + |
1578 | +#. module: hr_payroll |
1579 | +#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_payslip_form |
1580 | +#: model:ir.ui.menu,name:hr_payroll.menu_department_tree |
1581 | +msgid "Employee Payslip" |
1582 | +msgstr "" |
1583 | + |
1584 | +#. module: hr_payroll |
1585 | +#: view:hr.payroll.advice:0 |
1586 | +msgid "Letter Content" |
1587 | +msgstr "" |
1588 | + |
1589 | +#. module: hr_payroll |
1590 | +#: view:hr.payroll.employees.detail:0 |
1591 | +#: view:hr.payroll.year.salary:0 |
1592 | +msgid "Year Salary" |
1593 | +msgstr "" |
1594 | + |
1595 | +#. module: hr_payroll |
1596 | +#: view:hr.payroll.register:0 |
1597 | +msgid "Allowance / Deduction" |
1598 | +msgstr "" |
1599 | + |
1600 | +#. module: hr_payroll |
1601 | +#: model:ir.actions.report.xml,name:hr_payroll.payroll_advice |
1602 | +msgid "Bank Payment Advice" |
1603 | +msgstr "" |
1604 | + |
1605 | +#. module: hr_payroll |
1606 | +#: view:hr.payslip:0 |
1607 | +msgid "Search Payslips" |
1608 | +msgstr "" |
1609 | + |
1610 | +#. module: hr_payroll |
1611 | +#: report:employees.salary:0 |
1612 | +#: field:hr.contibution.register.line,total:0 |
1613 | +#: report:year.salary:0 |
1614 | +msgid "Total" |
1615 | +msgstr "Tổng cộng" |
1616 | + |
1617 | +#. module: hr_payroll |
1618 | +#: view:company.contribution:0 |
1619 | +#: view:hr.allounce.deduction.categoty:0 |
1620 | +#: field:hr.allounce.deduction.categoty,contribute_ids:0 |
1621 | +msgid "Contributions" |
1622 | +msgstr "Những đóng góp" |
1623 | |
1624 | === modified file 'users_ldap/__openerp__.py' |
1625 | --- users_ldap/__openerp__.py 2011-07-08 10:03:07 +0000 |
1626 | +++ users_ldap/__openerp__.py 2011-08-17 09:52:54 +0000 |
1627 | @@ -50,6 +50,11 @@ |
1628 | LDAP account that is used to verify if a user exists before |
1629 | attempting to authenticate it. |
1630 | |
1631 | +Securing the connection with STARTTLS is available for LDAP |
1632 | +servers supporting STARTTLS. The default is to require STARTTLS. |
1633 | +For further options configuring the LDAP settings, refer to the |
1634 | +ldap.conf manpage :manpage:`ldap.conf(5)`. |
1635 | + |
1636 | Security Considerations |
1637 | +++++++++++++++++++++++ |
1638 | Users' LDAP passwords are never stored in the OpenERP database, |
1639 | @@ -78,6 +83,9 @@ |
1640 | always fails and the LDAP server is queried to do the |
1641 | authentication. |
1642 | |
1643 | +Enabling STARTTLS ensures that the authentication query to the |
1644 | +LDAP server is encrypted. |
1645 | + |
1646 | User Template |
1647 | +++++++++++++ |
1648 | In the LDAP configuration on the Company form, it is possible to |
1649 | |
1650 | === modified file 'users_ldap/users_ldap.py' |
1651 | --- users_ldap/users_ldap.py 2011-08-17 09:52:52 +0000 |
1652 | +++ users_ldap/users_ldap.py 2011-08-17 09:52:54 +0000 |
1653 | @@ -50,7 +50,8 @@ |
1654 | args = [] |
1655 | cr.execute(""" |
1656 | SELECT id, company, ldap_server, ldap_server_port, ldap_binddn, |
1657 | - ldap_password, ldap_filter, ldap_base, "user", create_user |
1658 | + ldap_password, ldap_filter, ldap_base, "user", create_user, |
1659 | + ldap_tls |
1660 | FROM res_company_ldap |
1661 | WHERE ldap_server != '' """ + id_clause + """ ORDER BY sequence |
1662 | """, args) |
1663 | @@ -67,7 +68,11 @@ |
1664 | |
1665 | uri = 'ldap://%s:%d' % (conf['ldap_server'], |
1666 | conf['ldap_server_port']) |
1667 | - return ldap.initialize(uri) |
1668 | + |
1669 | + connection = ldap.initialize(uri) |
1670 | + if conf['ldap_tls']: |
1671 | + connection.start_tls_s() |
1672 | + return connection |
1673 | |
1674 | def authenticate(self, conf, login, password): |
1675 | """ |
1676 | @@ -211,12 +216,15 @@ |
1677 | help="Model used for user creation"), |
1678 | 'create_user': fields.boolean('Create user', |
1679 | help="Create the user if not in database"), |
1680 | + 'ldap_tls': fields.boolean('Use TLS', |
1681 | + help="Use STARTTLS to connect to the LDAP server"), |
1682 | } |
1683 | _defaults = { |
1684 | 'ldap_server': '127.0.0.1', |
1685 | 'ldap_server_port': 389, |
1686 | 'sequence': 10, |
1687 | 'create_user': True, |
1688 | + 'ldap_tls': True, |
1689 | } |
1690 | |
1691 | CompanyLDAP() |
1692 | |
1693 | === modified file 'users_ldap/users_ldap_view.xml' |
1694 | --- users_ldap/users_ldap_view.xml 2011-06-11 15:18:53 +0000 |
1695 | +++ users_ldap/users_ldap_view.xml 2011-08-17 09:52:54 +0000 |
1696 | @@ -20,6 +20,7 @@ |
1697 | <field name="user"/> |
1698 | <newline/> |
1699 | <field name="sequence"/> |
1700 | + <field name="ldap_tls"/> |
1701 | </form> |
1702 | <tree string="LDAP Configuration"> |
1703 | <field name="sequence"/> |
Hi Ian,
thanks for resubmitting this. I have not seen this prerequisite branch functionality of bzr in action before, but it appears to be working pretty well apart from the phantom addition of 'hr_payroll/ i18n/vi. po' that none of us commited in these branches (but that was added to the target branch in the meantime).
I am generally happy with your code changes and documentation, and have only one request. With regards to ldap.conf, you mention its default location and the fact that it may vary between distributions. It may be more correct to refer to its man page, which starts by explaining which files and locations are searched for LDAP defaults, in what order and how this can be manipulated using environment settings. The Sphynx syntax for this is
:manpage: `ldap.conf{ 5}`
Cheers,
Stefan.