ajay javiya (OpenERP) has proposed merging 
lp:~openerp-commiter/openobject-server/trunk-base-gengo-state-aja into 
lp:~openerp-dev/openobject-server/trunk-base-gengo.

Requested reviews:
  Jigar Amin  (OpenERP) (jam-openerp)

For more details, see:
https://code.launchpad.net/~openerp-commiter/openobject-server/trunk-base-gengo-state-aja/+merge/114569

Hello ,
Add state field for ir.translation.
Thank You
-- 
https://code.launchpad.net/~openerp-commiter/openobject-server/trunk-base-gengo-state-aja/+merge/114569
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-server/trunk-base-gengo.
=== modified file 'openerp/addons/base/ir/ir.xml'
--- openerp/addons/base/ir/ir.xml	2012-07-06 14:07:49 +0000
+++ openerp/addons/base/ir/ir.xml	2012-07-12 06:23:22 +0000
@@ -1258,6 +1258,9 @@
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <form string="Translations" version="7.0">
+                   <header>
+                        <field name="state" widget="statusbar" nolabel="1"/>
+                   </header>
                    <sheet>
                     <group>
                         <group>

=== modified file 'openerp/addons/base/ir/ir_translation.py'
--- openerp/addons/base/ir/ir_translation.py	2012-01-24 11:47:30 +0000
+++ openerp/addons/base/ir/ir_translation.py	2012-07-12 06:23:22 +0000
@@ -77,14 +77,16 @@
     def push(self, ddict):
         """Feed a translation, as a dictionary, into the cursor
         """
-
+        state= "translated"
+        if not ddict['value']:
+            state = 'translate'
         self._cr.execute("INSERT INTO " + self._table_name \
                 + """(name, lang, res_id, src, type,
-                        imd_model, imd_module, imd_name, value)
-                VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s)""",
+                        imd_model, imd_module, imd_name, value,state)
+                VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""",
                 (ddict['name'], ddict['lang'], ddict.get('res_id'), ddict['src'], ddict['type'],
                     ddict.get('imd_model'), ddict.get('imd_module'), ddict.get('imd_name'),
-                    ddict['value']))
+                    ddict['value'],state))
 
     def finish(self):
         """ Transfer the data from the temp table to ir.translation
@@ -125,15 +127,16 @@
         # Step 2: update existing (matching) translations
         if self._overwrite:
             cr.execute("""UPDATE ONLY %s AS irt
-                SET value = ti.value 
+                SET value = ti.value,
+                state = 'translated' 
                 FROM %s AS ti
                 WHERE %s AND ti.value IS NOT NULL AND ti.value != ''
                 """ % (self._parent_table, self._table_name, find_expr))
 
         # Step 3: insert new translations
 
-        cr.execute("""INSERT INTO %s(name, lang, res_id, src, type, value)
-            SELECT name, lang, res_id, src, type, value
+        cr.execute("""INSERT INTO %s(name, lang, res_id, src, type, value,state)
+            SELECT name, lang, res_id, src, type, value,state
               FROM %s AS ti
               WHERE NOT EXISTS(SELECT 1 FROM ONLY %s AS irt WHERE %s);
               """ % (self._parent_table, self._table_name, self._parent_table, find_expr))
@@ -167,6 +170,11 @@
         'type': fields.selection(TRANSLATION_TYPE, string='Type', size=16, select=True),
         'src': fields.text('Source'),
         'value': fields.text('Translation Value'),
+        'state':fields.selection([('translate','To Translate'),('inprogress','Translation in Progress'),('translated','Translated')])
+    }
+    
+    _defaults = {
+        'state':'translated',
     }
     
     _sql_constraints = [ ('lang_fkey_res_lang', 'FOREIGN KEY(lang) REFERENCES res_lang(code)', 
@@ -297,6 +305,10 @@
         return ids
 
     def write(self, cursor, user, ids, vals, context=None):
+        if vals.get('src'):
+            result= vals.update({'state':'translate'})
+        if vals.get('value'):
+            result= vals.update({'state':'translated'})
         if not context:
             context = {}
         if isinstance(ids, (int, long)):

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to