From 2fcf05d6d8a79db473c75bc91a43b6afbe125edc Mon Sep 17 00:00:00 2001 From: vbh-odoo Date: Fri, 20 May 2016 16:07:56 +0200 Subject: [PATCH] [MIG] google_spreadsheet : migrate to new api --- .../data/google_spreadsheet_data.xml | 8 +++-- .../google_spreadsheet/models/google_drive.py | 35 ++++++++++--------- .../views/google_spreadsheet_templates.xml | 8 ++--- .../views/google_spreadsheet_views.xml | 16 +++++---- 4 files changed, 37 insertions(+), 30 deletions(-) diff --git a/addons/google_spreadsheet/data/google_spreadsheet_data.xml b/addons/google_spreadsheet/data/google_spreadsheet_data.xml index ceec2327880..6a413f72b02 100644 --- a/addons/google_spreadsheet/data/google_spreadsheet_data.xml +++ b/addons/google_spreadsheet/data/google_spreadsheet_data.xml @@ -1,12 +1,14 @@ - + - + + Base Spreadsheet Template https://docs.google.com/spreadsheet/ccc?key=1KUlSSzZMzkEEzyroyZ2NerRt1RVCspkG9VQIh2V6dnM Reporting %(name)s + - + diff --git a/addons/google_spreadsheet/models/google_drive.py b/addons/google_spreadsheet/models/google_drive.py index a30e08bbb7c..be03444cb1c 100644 --- a/addons/google_spreadsheet/models/google_drive.py +++ b/addons/google_spreadsheet/models/google_drive.py @@ -8,22 +8,24 @@ import re import werkzeug.urls import urllib2 -from openerp.osv import osv -from openerp.addons.google_account import TIMEOUT +from odoo import api, models +from odoo.addons.google_account import TIMEOUT _logger = logging.getLogger(__name__) -class config(osv.osv): + +class GoogleDrive(models.Model): _inherit = 'google.drive.config' def get_google_scope(self): - scope = super(config, self).get_google_scope() + scope = super(GoogleDrive, self).get_google_scope() return '%s https://spreadsheets.google.com/feeds' % scope - def write_config_formula(self, cr, uid, attachment_id, spreadsheet_key, model, domain, groupbys, view_id, context=None): - access_token = self.get_access_token(cr, uid, scope='https://spreadsheets.google.com/feeds', context=context) + @api.model + def write_config_formula(self, attachment_id, spreadsheet_key, model, domain, groupbys, view_id): + access_token = self.get_access_token(scope='https://spreadsheets.google.com/feeds') - fields = self.pool.get(model).fields_view_get(cr, uid, view_id=view_id, view_type='tree') + fields = self.env[model].fields_view_get(view_id=view_id, view_type='tree') doc = etree.XML(fields.get('arch')) display_fields = [] for node in doc.xpath("//field"): @@ -38,9 +40,9 @@ class config(osv.osv): formula = '=oe_read_group("%s";"%s";"%s";"%s")' % (model, fields, groupbys, domain) else: formula = '=oe_browse("%s";"%s";"%s")' % (model, fields, domain) - url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url') - dbname = cr.dbname - user = self.pool['res.users'].read(cr, uid, [uid], ['login', 'password'], context=context)[0] + url = self.env['ir.config_parameter'].get_param('web.base.url') + dbname = self._cr.dbname + user = self.env['res.users'].browse(self.env.user.id).read(['login', 'password'])[0] username = user['login'] password = user['password'] if not password: @@ -82,21 +84,22 @@ class config(osv.osv): formula: %s ''' % formula if attachment_id: - self.pool['ir.attachment'].write(cr, uid, attachment_id, {'description': description}, context=context) + self.env['ir.attachment'].browse(attachment_id).write({'description': description}) return True - def set_spreadsheet(self, cr, uid, model, domain, groupbys, view_id, context=None): + @api.model + def set_spreadsheet(self, model, domain, groupbys, view_id): try: - config_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'google_spreadsheet', 'google_spreadsheet_template')[1] + config_id = self.env['ir.model.data'].get_object_reference('google_spreadsheet', 'google_spreadsheet_template')[1] except ValueError: raise - config = self.browse(cr, uid, config_id, context=context) + config = self.browse(config_id) title = 'Spreadsheet %s' % model - res = self.copy_doc(cr, uid, False, config.google_drive_resource_id, title, model, context=context) + res = self.copy_doc(False, config.google_drive_resource_id, title, model) mo = re.search("(key=|/d/)([A-Za-z0-9-_]+)", res['url']) if mo: key = mo.group(2) - self.write_config_formula(cr, uid, res.get('id'), key, model, domain, groupbys, view_id, context=context) + self.write_config_formula(res.get('id'), key, model, domain, groupbys, view_id) return res diff --git a/addons/google_spreadsheet/views/google_spreadsheet_templates.xml b/addons/google_spreadsheet/views/google_spreadsheet_templates.xml index 51ede3dd41c..fd2fc66bffd 100644 --- a/addons/google_spreadsheet/views/google_spreadsheet_templates.xml +++ b/addons/google_spreadsheet/views/google_spreadsheet_templates.xml @@ -1,10 +1,10 @@ - - + + - - + + diff --git a/addons/google_spreadsheet/views/google_spreadsheet_views.xml b/addons/google_spreadsheet/views/google_spreadsheet_views.xml index 081941a3639..c729f7039f3 100644 --- a/addons/google_spreadsheet/views/google_spreadsheet_views.xml +++ b/addons/google_spreadsheet/views/google_spreadsheet_views.xml @@ -1,10 +1,9 @@ - - + - + ir.attachment.google.spreadsheet.tree ir.attachment @@ -15,7 +14,7 @@ - + ir.attachment.google.spreadsheet.form ir.attachment @@ -60,6 +59,9 @@ - - - \ No newline at end of file + + + \ No newline at end of file