Repository
odoo/odoo · module folder
Module version
0.2
Category
Productivity
Folder size
0.99 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
None
Last tracking update
2026-08-07 05:29:16
Authors
Maintainers
None
Committers
Thibault Delavallée, Martin Trigaux, Odoo Translation Bot, Aaron Bohy, Xavier-Do, Victor Feyens, Julien Mougenot, Hiral Bhavsar, Kevin Baptiste, Nam Dao
Odoo dependencies
odoo/odoo:
- web
Python dependencies
None
System dependencies
None
Required by
google_spreadsheet
Description
Integrate google document to Odoo record.
============================================

This module allows you to integrate google documents to any of your Odoo record quickly and easily using OAuth 2.0 for Installed Applications,
You can configure your google Authorization Code from Settings > Configuration > General Settings by clicking on "Generate Google Authorization Code"

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
google_drive_auth_code_wizard google.drive.authorization.wizard res.config.settings form New
google_drive_config_view_search google.drive.config.view.search google.drive.config search New
res_config_settings_view_form res.config.settings.view.form.inherit.google.drive res.config.settings form Inherits base_setup.res_config_settings_view_form
view_google_drive_config_form google_drive.config.form google.drive.config form New
view_google_drive_config_kanban google.drive.config.kanban google.drive.config kanban New
view_google_drive_config_tree google_drive.config.tree google.drive.config tree New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (2)

New fields (9)
  • active Boolean
    default=True args: 'Active'
  • filter_id Many2one → ir.filters
    domain="[('model_id', '=', model)]" args: 'ir.filters', 'Filter'
  • google_drive_client_id Char
    compute='_compute_client_id' args: 'Google Client'
  • google_drive_resource_id Char
    compute='_compute_ressource_id' args: 'Resource Id'
  • google_drive_template_url Char
    required=True args: 'Template URL'
  • model Char
    readonly=True related='model_id.model' args: 'Related Model'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True args: 'ir.model', 'Model'
  • name Char
    required=True args: 'Template Name'
  • name_template Char
    default='Document %(name)s' help='Choose how the new google drive will be named, on google side. Eg. gdoc_%(field_name)s' required=True args: 'Google Drive Name Pattern'
Public methods (5)
  • copy_doc(self, res_id, template_id, name_gdocs, res_model)
    @api.model
  • get_access_token(self, scope=None)
    @api.model
  • get_google_drive_config(self, res_model, res_id)
    @api.model
    Function called by the js, when no google doc are yet associated with a record, with the aim to create one. It will first seek for a google.docs.config associated with the model `res_model` to find out what's the template of google doc to copy (this is usefull if you want to start with a non-empty document, a type or a name different than the default values). If no config is associated with the `res_model`, then a blank text document with a default name is created. :param res_model: the object for which the google doc is created :param ids: the list of ids of the objects for which the google doc is created. This list is supposed to have a length of 1 element only (batch processing is not supported in the code, though nothing really prevent it) :return: the config id and config name
  • get_google_drive_url(self, res_id, template_id)
  • get_google_scope(self)

New fields (3)
  • google_drive_authorization_code Char
    config_parameter='google_drive_authorization_code' string='Authorization Code'
  • google_drive_uri Char
    compute='_compute_drive_uri' help='The URL to generate the authorization code from Google' string='URI'
  • is_google_drive_token_generated Boolean
    string='Refresh Token Generated'
Public methods (3)
  • action_setup_token(self)
  • confirm_setup_token(self)
  • get_values(self)

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…