Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
ba9ac3f
เมื่อปรับฟิว name ถ้า ตรวจอักขระภาษาไทย ทั้งสองภาษา
Mar 26, 2019
fc5269c
ปรับกรณีพิม thai ที่ภาษา eng ให้ update value ที่แปลภาษาไทยด้วย
Mar 27, 2019
dae0d3f
เอา domain state ที่ ir.translation ออก
Mar 27, 2019
30fa5e8
ยกเลิกการ update ภาษาที่ current field
Mar 28, 2019
5a25432
ปรับค่าการกรอกภาษาที่ wizard ให้สอดคล้องกัน
Mar 28, 2019
541483b
update src พร้อมกับ source
Mar 28, 2019
8447dc4
ยกเลิก update src พร้อมกับ source ที่ res.partner
Mar 28, 2019
bf5f0e9
fix lang update to src
Mar 28, 2019
820da09
fix lang update to src
Mar 28, 2019
81923d1
fix lang call back source field
Mar 28, 2019
de751f7
fix lang call back source field
Mar 28, 2019
d3cc95a
fix lang call back source field
Mar 28, 2019
4b18cb5
ปรับลูกค้าไม่เหมือนกัน ในสองภาษา ไทย และ อังกฤษ
Mar 29, 2019
601bb9f
กรณีภาษาเป็น en ทั้งหมด ถ้ามีการแก้ไขต้องแก้ต้องหมด
Mar 29, 2019
758c74a
กรณีภาษาเป็น en ทั้งหมด ถ้ามีการแก้ไขต้องแก้ต้องหมด
Mar 29, 2019
35f6ca5
กรณีภาษาเป็น en ทั้งหมด ถ้ามีการแก้ไขต้องแก้ต้องหมด
Mar 29, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion web_translate_dialog/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# -*- coding: utf-8 -*-
from . import translation

from . import res_partner
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
56 changes: 56 additions & 0 deletions web_translate_dialog/models/res_partner.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# -*- coding: utf-8 -*-
from openerp import models, fields, api
import re

class ResPartner(models.Model):
_inherit = 'res.partner'

@api.multi
def write(self, vals):
res = super(ResPartner, self).write(vals)
if self._context.get('transpass', False):
return res

trans = self.env['ir.translation']
for l in self:
if 'name' in vals:
name = "res.partner,name"
trans_search = trans.search([('lang','=','th_TH'),
('name','=',name),
('type','=','model'),
('res_id', '=', l.id)], limit=1)
if trans_search:
lang = self._context.get('lang', False)
trans_src = trans_search.src.replace(" ", "")
trans_value = trans_search.value.replace(" ", "")
pattern = re.compile(r"[a-zA-Z]")
char_name = re.findall(pattern, vals['name'].replace(" ", ""))
char_src = re.findall(pattern, trans_src)
char_value = re.findall(pattern, trans_value)

# Case Thai All
if not char_src and not char_value and not char_name:
l.with_context(transpass=True, lang="en_US").write({'name':vals['name']})
trans_search.write({
'value': vals['name'],
'src': vals['name'],
})
else:
# Case en_US update 'src' away
if lang == 'en_US':
trans_search.write({
'src': vals['name'],
})
# name thai and value(old) thai >> update new value
if (not char_name and not char_value) or (char_name and char_value and char_src):
trans_search.write({
'value': vals['name']
})
elif lang == 'th_TH':
if char_name and char_value and char_src:
trans_search.write({
'src': vals['name'],
'source': vals['name'],
'value': vals['name'],
})
return res
43 changes: 42 additions & 1 deletion web_translate_dialog/models/translation.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# -*- coding: utf-8 -*-
from openerp.models import BaseModel
from openerp import api, models, _
import re


@api.v7
def copy_translations(self, cr, uid, old_id, new_id, context=None):
Expand Down Expand Up @@ -29,11 +31,50 @@ def set_translation(self, model, res_id, field_list,
('name','=',name),
('type','=','model'),
('res_id', '=', res_id)])

if trans_search and lang_code == context['lang']:
trans_search.with_context(context).\
write({'value': data[field_name]})
elif trans_search and lang_code != context['lang']:
trans_search.with_context(context).\
write({'source': data[field_name]})
write({'src': data[field_name], 'source': data[field_name]})

trans_search = self.search([('lang','=','th_TH'),
('name','=',name),
('type','=','model'),
('res_id', '=', res_id)])
trans_src = trans_search.src.replace(" ", "")
trans_value = trans_search.value.replace(" ", "")
pattern = re.compile(r"[a-zA-Z]")
char_name = re.findall(pattern, data[field_name].replace(" ", ""))
char_src = re.findall(pattern, trans_src)
char_value = re.findall(pattern, trans_value)

if trans_search and context['lang'] == 'th_TH' and not char_name:
trans_search.with_context(lang="th_TH").\
write({
'value': data[field_name]
})
if trans_search and context['lang'] == 'th_TH' and not char_name and not char_src:
trans_search.with_context(lang="en_US").\
write({
'src': data[field_name],
'source': data[field_name]
})
if trans_search and context['lang'] == 'th_TH' and char_name and char_src and char_value:
trans_search.with_context(lang="en_US").\
write({
'src': data[field_name],
'source': data[field_name],
'value': data[field_name]
})
if trans_search and context['lang'] == 'en_US' and char_name and char_src and char_value:
trans_search.with_context(lang="en_US").\
write({
'src': data[field_name],
'source': data[field_name],
'value': data[field_name]
})

return True
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
15 changes: 15 additions & 0 deletions web_translate_dialog/static/src/css/base.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
.openerp .oe_form_field_translatable > input,
.openerp .oe_form .oe_form_required .oe_translation_field > input {
# pointer-events:none !important;
# background: #E5E5E5 !important;
}

.openerp .oe_translation_field {
width: 95%;
}

.openerp .oe_translation_field.touched {
border: 1px solid green !important;
}

.openerp .oe_form .oe_input_icon{
margin: 3px 0 0 3px !important;
}

.openerp .oe_form .oe_form_field_char input{
width: calc(100% - 24px) !important;
}