summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorYannick Tivisse <yti@odoo.com>2016-07-14 11:37:41 +0200
committerYannick Tivisse <yti@odoo.com>2016-07-14 11:37:41 +0200
commit2a36b54f14c1e2ac5efe51de9f37b67e00722ccc (patch)
treee84f19694ac406f36af2ed14d11edfb19fae28ba /addons
parent187c3f2fcdf9f96bbb7e27169451b6463cf84b9f (diff)
parentc5b1a6ba61a4e87e65b4851c896c88761e300f37 (diff)
[MERGE] website_gengo: Migration to new API
Diffstat (limited to 'addons')
-rw-r--r--addons/base_gengo/wizard/base_gengo_translations.py19
-rw-r--r--addons/website_gengo/__openerp__.py7
-rw-r--r--addons/website_gengo/controllers/__init__.py3
-rw-r--r--addons/website_gengo/controllers/main.py35
-rw-r--r--addons/website_gengo/models/__init__.py3
-rw-r--r--addons/website_gengo/models/base_gengo_translations.py5
-rw-r--r--addons/website_gengo/views/website_gengo.xml13
-rw-r--r--addons/website_gengo/views/website_gengo_templates.xml11
8 files changed, 47 insertions, 49 deletions
diff --git a/addons/base_gengo/wizard/base_gengo_translations.py b/addons/base_gengo/wizard/base_gengo_translations.py
index 6810067cc5d..38c8b1e8ba7 100644
--- a/addons/base_gengo/wizard/base_gengo_translations.py
+++ b/addons/base_gengo/wizard/base_gengo_translations.py
@@ -7,7 +7,7 @@ import time
import uuid
from odoo import api, fields, models, tools, _
-from openerp.exceptions import UserError
+from openerp.exceptions import UserError, ValidationError
_logger = logging.getLogger(__name__)
@@ -145,8 +145,7 @@ class BaseGengoTranslations(models.TransientModel):
'gengo_order_ids': set(),
'ir_translation_ids': set(),
}
- translation_terms = IrTranslation.browse(translation_ids)
- for term in translation_terms:
+ for term in translation_ids:
terms_progress['gengo_order_ids'].add(term.order_id)
terms_progress['ir_translation_ids'].add(tools.ustr(term.id))
@@ -177,21 +176,21 @@ class BaseGengoTranslations(models.TransientModel):
if job.get('status', False) in ('approved', 'canceled'):
vals['state'] = 'translated'
if vals:
- translation.write(vals)
+ try:
+ translation.write(vals)
+ except ValidationError:
+ pass
@api.model
def _update_terms(self, response, term_ids):
"""
Update the terms after their translation were requested to Gengo
"""
- translation = self.env['ir.translation'].browse(term_ids)
-
vals = {
'order_id': response.get('order_id', ''),
'state': 'inprogress'
}
-
- translation.write(vals)
+ term_ids.write(vals)
jobs = response.get('jobs', [])
if jobs:
for t_id, job in jobs.items():
@@ -212,14 +211,14 @@ class BaseGengoTranslations(models.TransientModel):
jobs = {}
user = self.env.user
auto_approve = 1 if user.company_id.gengo_auto_approve else 0
- for term in IrTranslation.browse(term_ids):
+ for term in term_ids:
if re.search(r"\w", term.src or ""):
comment = user.company_id.gengo_comment or ''
if term.gengo_comment:
comment += '\n' + term.gengo_comment
jobs[time.strftime('%Y%m%d%H%M%S') + '-' + str(term.id)] = {
'type': 'text',
- 'slug': 'Single :: English to ' + term.lang.id,
+ 'slug': 'Single :: English to ' + term.lang,
'tier': tools.ustr(term.gengo_translation),
'custom_data': str(term.id),
'body_src': term.src,
diff --git a/addons/website_gengo/__openerp__.py b/addons/website_gengo/__openerp__.py
index e570ae00d64..aafeeeb31ca 100644
--- a/addons/website_gengo/__openerp__.py
+++ b/addons/website_gengo/__openerp__.py
@@ -4,7 +4,6 @@
{
'name': 'Website Gengo Translator',
'category': 'Website',
- 'version': '1.0',
'description': """
Website Gengo Translator
========================
@@ -16,8 +15,6 @@ Translate you website in one click
'base_gengo'
],
'data': [
- 'views/website_gengo.xml',
- ],
- 'qweb': [],
- 'installable': True,
+ 'views/website_gengo_templates.xml',
+ ]
}
diff --git a/addons/website_gengo/controllers/__init__.py b/addons/website_gengo/controllers/__init__.py
index 8ee9bae18d9..f48716d3a69 100644
--- a/addons/website_gengo/controllers/__init__.py
+++ b/addons/website_gengo/controllers/__init__.py
@@ -1 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
import main
diff --git a/addons/website_gengo/controllers/main.py b/addons/website_gengo/controllers/main.py
index cdb1ade7a99..c36d5aef718 100644
--- a/addons/website_gengo/controllers/main.py
+++ b/addons/website_gengo/controllers/main.py
@@ -1,41 +1,38 @@
# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
-import openerp
-from openerp import http, SUPERUSER_ID
-from openerp.http import request
-import time
+from odoo import http
+from odoo.http import request
GENGO_DEFAULT_LIMIT = 20
-class website_gengo(http.Controller):
+
+class WebsiteGengo(http.Controller):
@http.route('/website/get_translated_length', type='json', auth='user', website=True)
def get_translated_length(self, translated_ids, lang):
- ir_translation_obj = request.registry['ir.translation']
- result={"done":0}
- gengo_translation_ids = ir_translation_obj.search(request.cr, request.uid, [('id','in',translated_ids),('gengo_translation','!=', False)])
- for trans in ir_translation_obj.browse(request.cr, request.uid, gengo_translation_ids):
+ result = {"done": 0}
+ gengo_translation_ids = request.env['ir.translation'].search([('id', 'in', translated_ids), ('gengo_translation', '!=', False)])
+ for trans in gengo_translation_ids:
result['done'] += len(trans.source.split())
return result
-
+
@http.route('/website/check_gengo_set', type='json', auth='user', website=True)
def check_gengo_set(self):
- user = request.registry['res.users'].browse(request.cr, SUPERUSER_ID, request.uid)
+ company = request.env.user.sudo().company_id
company_flag = 0
- if not user.company_id.gengo_public_key or not user.company_id.gengo_private_key:
- company_flag = user.company_id.id
+ if not company.gengo_public_key or not company.gengo_private_key:
+ company_flag = company.id
return company_flag
-
+
@http.route('/website/set_gengo_config', type='json', auth='user', website=True)
- def set_gengo_config(self,config):
- user = request.registry['res.users'].browse(request.cr, request.uid, request.uid)
- if user.company_id:
- request.registry['res.company'].write(request.cr, request.uid, user.company_id.id, config)
+ def set_gengo_config(self, config):
+ request.env.user.company_id.write(config)
return True
@http.route('/website/post_gengo_jobs', type='json', auth='user', website=True)
def post_gengo_jobs(self):
- request.registry['base.gengo.translations']._sync_request(request.cr, request.uid, limit=GENGO_DEFAULT_LIMIT, context=request.context)
+ request.env['base.gengo.translations']._sync_request(limit=GENGO_DEFAULT_LIMIT)
return True
@http.route('/website_gengo/set_translations', type='json', auth='user', website=True)
diff --git a/addons/website_gengo/models/__init__.py b/addons/website_gengo/models/__init__.py
index 435cb9b9ee9..61a6e411f05 100644
--- a/addons/website_gengo/models/__init__.py
+++ b/addons/website_gengo/models/__init__.py
@@ -1 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
import base_gengo_translations
diff --git a/addons/website_gengo/models/base_gengo_translations.py b/addons/website_gengo/models/base_gengo_translations.py
index da8e0422c7f..7ce868f9059 100644
--- a/addons/website_gengo/models/base_gengo_translations.py
+++ b/addons/website_gengo/models/base_gengo_translations.py
@@ -1,9 +1,10 @@
# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from openerp.osv import osv
+from odoo import models
-class base_gengo_translations(osv.TransientModel):
+class BaseGengoTranslations(models.TransientModel):
_inherit = 'base.gengo.translations'
# update GROUPS, that are the groups allowing to access the gengo key.
# this is done here because in the base_gengo module, the various website
diff --git a/addons/website_gengo/views/website_gengo.xml b/addons/website_gengo/views/website_gengo.xml
deleted file mode 100644
index fd4ce7004cb..00000000000
--- a/addons/website_gengo/views/website_gengo.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<openerp>
-<data>
-
-<template id="gengo_assets_editor" inherit_id="website.assets_editor" name="Editor Head">
- <xpath expr='.' position="inside">
- <link rel="stylesheet" href="/website_gengo/static/src/css/website_gengo.css"></link>
- <script type="text/javascript" src="/website_gengo/static/src/js/website_gengo.js"></script>
- </xpath>
-</template>
-
-</data>
-</openerp>
diff --git a/addons/website_gengo/views/website_gengo_templates.xml b/addons/website_gengo/views/website_gengo_templates.xml
new file mode 100644
index 00000000000..def6c6e8a7f
--- /dev/null
+++ b/addons/website_gengo/views/website_gengo_templates.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <template id="gengo_assets_editor" inherit_id="website.assets_editor" name="Editor Head">
+ <xpath expr='.' position="inside">
+ <link rel="stylesheet" href="/website_gengo/static/src/css/website_gengo.css" />
+ <script type="text/javascript" src="/website_gengo/static/src/js/website_gengo.js" />
+ </xpath>
+ </template>
+
+</odoo>