[RENAME]google_docs => google_drive
bzr revid: dle@openerp.com-20130626093019-krwt5eamagmd5amu
This commit is contained in:
parent
5ed41bcea4
commit
c74517990f
|
@ -36,7 +36,7 @@ class base_config_settings(osv.osv_memory):
|
|||
help="""Enable the public part of openerp, openerp becomes a public website."""),
|
||||
'module_auth_oauth': fields.boolean('Use external authentication providers, sign in with google, facebook, ...'),
|
||||
'module_base_import': fields.boolean("Allow users to import data from CSV files"),
|
||||
'module_google_docs': fields.boolean('Attach a google document to any record',
|
||||
'module_google_drive': fields.boolean('Attach a google document to any record',
|
||||
help="""This installs the module google_docs."""),
|
||||
}
|
||||
|
||||
|
|
|
@ -85,8 +85,8 @@
|
|||
<label for="id" string="Google Drive"/>
|
||||
<div name="google_drive">
|
||||
<div name="google_docs">
|
||||
<field name="module_google_docs" class="oe_inline"/>
|
||||
<label for="module_google_docs"/>
|
||||
<field name="module_google_drive" class="oe_inline"/>
|
||||
<label for="module_google_drive"/>
|
||||
</div>
|
||||
</div>
|
||||
</group>
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
import google_docs
|
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="config_google_docs_client_id" model="ir.config_parameter">
|
||||
<field name="key">google_docs_client_id</field>
|
||||
<field name="value">39623646228-eg3ggo3mk6o40m7rguobi3rkl9frh4tb.apps.googleusercontent.com</field>
|
||||
</record>
|
||||
|
||||
<record id="config_google_docs_client_secret" model="ir.config_parameter">
|
||||
<field name="key">google_docs_client_secret</field>
|
||||
<field name="value">Ul-PtmnSWs3euWs20fdono0e</field>
|
||||
</record>
|
||||
|
||||
<record id="config_google_docs_refresh_token" model="ir.config_parameter">
|
||||
<field name="key">google_docs_refresh_token</field>
|
||||
<field name="value">-</field>
|
||||
</record>
|
||||
|
||||
<record id="config_google_docs_authorization_code" model="ir.config_parameter">
|
||||
<field name="key">google_docs_authorization_code</field>
|
||||
<field name="value">-</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -1,3 +0,0 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_google_docs_all,google.docs.config,model_google_docs_config,,1,0,0,0
|
||||
access_google_docs,google.docs.config,model_google_docs_config,base.group_system,1,1,1,1
|
|
|
@ -0,0 +1 @@
|
|||
import google_drive
|
|
@ -29,15 +29,15 @@
|
|||
'auto_install': False,
|
||||
'js': [
|
||||
'static/lib/gapi/client.js',
|
||||
'static/src/js/gdocs.js',
|
||||
'static/src/js/gdrive.js',
|
||||
],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'res_config_user_view.xml',
|
||||
'google_docs_data.xml'
|
||||
'google_drive_data.xml'
|
||||
],
|
||||
'demo': [
|
||||
'google_docs_demo.xml'
|
||||
'google_drive_demo.xml'
|
||||
],
|
||||
'depends': ['base_setup', 'google_base_account'],
|
||||
'description': """
|
|
@ -33,7 +33,7 @@ import json
|
|||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class config(osv.osv):
|
||||
_name = 'google.docs.config'
|
||||
_name = 'google.drive.config'
|
||||
_description = "Google Drive templates config"
|
||||
|
||||
def get_google_doc_name(self, cr, uid, ids, res_id, tamplate_id, context=None):
|
||||
|
@ -67,17 +67,17 @@ class config(osv.osv):
|
|||
return res
|
||||
|
||||
def copy_doc(self, cr, uid, ids, res_id, tamplate_id, name_gdocs, res_model, context=None):
|
||||
ir_config = self.pool[ 'ir.config_parameter' ]
|
||||
google_docs_client_id = ir_config.get_param(cr, SUPERUSER_ID, 'google_docs_client_id')
|
||||
google_docs_client_secret = ir_config.get_param(cr, SUPERUSER_ID, 'google_docs_client_secret')
|
||||
google_docs_refresh_token = ir_config.get_param(cr, SUPERUSER_ID, 'google_docs_refresh_token')
|
||||
ir_config = self.pool[ 'ir.config_parameter']
|
||||
google_drive_client_id = ir_config.get_param(cr, SUPERUSER_ID, 'google_drive_client_id')
|
||||
google_drive_client_secret = ir_config.get_param(cr, SUPERUSER_ID, 'google_drive_client_secret')
|
||||
google_drive_refresh_token = ir_config.get_param(cr, SUPERUSER_ID, 'google_drive_refresh_token')
|
||||
google_web_base_url = ir_config.get_param(cr, SUPERUSER_ID, 'web.base.url')
|
||||
|
||||
#For Getting New Access Token With help of old Refresh Token
|
||||
headers = {"Content-type": "application/x-www-form-urlencoded"}
|
||||
data = dict(client_id = google_docs_client_id,
|
||||
refresh_token = google_docs_refresh_token,
|
||||
client_secret = google_docs_client_secret,
|
||||
data = dict(client_id = google_drive_client_id,
|
||||
refresh_token = google_drive_refresh_token,
|
||||
client_secret = google_drive_client_secret,
|
||||
grant_type = "refresh_token")
|
||||
data = urllib.urlencode(data)
|
||||
resp, content = Http().request("https://accounts.google.com/o/oauth2/token", "POST", data, headers)
|
||||
|
@ -105,7 +105,7 @@ class config(osv.osv):
|
|||
raise self.pool.get('res.config.settings').get_config_warning(cr, _("You haven't configured 'Authorization Code' generated from google, Please generate and configure it in %(menu:base_setup.menu_general_configuration)s."), context=context)
|
||||
return res
|
||||
|
||||
def get_google_docs_config(self, cr, uid, res_model, res_id, context=None):
|
||||
def get_google_drive_config(self, cr, uid, res_model, res_id, context=None):
|
||||
'''
|
||||
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
|
||||
|
@ -154,7 +154,7 @@ class config(osv.osv):
|
|||
def _resource_get(self, cr, uid, ids, name, arg, context=None):
|
||||
result = {}
|
||||
for data in self.browse(cr, uid, ids, context):
|
||||
template_url = data.gdocs_template_url
|
||||
template_url = data.google_drive_template_url
|
||||
try:
|
||||
url = urlparse(template_url)
|
||||
res = url.path.split('/')
|
||||
|
@ -172,16 +172,16 @@ class config(osv.osv):
|
|||
result = {}
|
||||
for config_id in ids:
|
||||
config = self.pool['ir.config_parameter']
|
||||
result[config_id] = config.get_param(cr, SUPERUSER_ID, 'google_docs_client_id')
|
||||
result[config_id] = config.get_param(cr, SUPERUSER_ID, 'google_drive_client_id')
|
||||
return result
|
||||
|
||||
_columns = {
|
||||
'name' : fields.char('Template Name', required=True, size=1024),
|
||||
'model_id': fields.selection(_list_all_models, 'Model', required=True),
|
||||
'filter_id' : fields.many2one('ir.filters', 'Filter'),
|
||||
'gdocs_template_url': fields.char('Template URL', required=True, size=1024),
|
||||
'gdocs_resource_id' : fields.function(_resource_get, type="char" , string='Resource Id'),
|
||||
'google_docs_client_id' : fields.function(_client_id_get, type="char" , string='Google Client '),
|
||||
'google_drive_template_url': fields.char('Template URL', required=True, size=1024),
|
||||
'google_drive_resource_id' : fields.function(_resource_get, type="char" , string='Resource Id'),
|
||||
'google_drive_client_id' : fields.function(_client_id_get, type="char" , string='Google Client '),
|
||||
'name_template': fields.char('Google Drive Name Pattern', size=64, help='Choose how the new google drive will be named, on google side. Eg. gdoc_%(field_name)s', required=True),
|
||||
}
|
||||
|
||||
|
@ -214,9 +214,9 @@ class base_config_settings(osv.osv):
|
|||
_inherit = "base.config.settings"
|
||||
|
||||
_columns = {
|
||||
'google_docs_authorization_code': fields.char('Paste Generated "Authorization Code" from google to here', size=124),
|
||||
'google_docs_uri': fields.char('URI', readonly=True, help="The URL to generate the authorization code from Google"),
|
||||
'google_drive_authorization_code': fields.char('Paste Generated "Authorization Code" from google to here', size=124),
|
||||
'google_drive_uri': fields.char('URI', readonly=True, help="The URL to generate the authorization code from Google"),
|
||||
}
|
||||
_defaults = {
|
||||
'google_docs_uri': lambda s, cr, uid, c: s._get_google_token_uri(cr, uid, 'docs', context=c),
|
||||
'google_drive_uri': lambda s, cr, uid, c: s._get_google_token_uri(cr, uid, 'drive', context=c),
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="config_google_drive_client_id" model="ir.config_parameter">
|
||||
<field name="key">google_drive_client_id</field>
|
||||
<field name="value">39623646228-eg3ggo3mk6o40m7rguobi3rkl9frh4tb.apps.googleusercontent.com</field>
|
||||
</record>
|
||||
|
||||
<record id="config_google_drive_client_secret" model="ir.config_parameter">
|
||||
<field name="key">google_drive_client_secret</field>
|
||||
<field name="value">Ul-PtmnSWs3euWs20fdono0e</field>
|
||||
</record>
|
||||
|
||||
<record id="config_google_drive_refresh_token" model="ir.config_parameter">
|
||||
<field name="key">google_drive_refresh_token</field>
|
||||
<field name="value">-</field>
|
||||
</record>
|
||||
|
||||
<record id="config_google_drive_authorization_code" model="ir.config_parameter">
|
||||
<field name="key">google_drive_authorization_code</field>
|
||||
<field name="value">-</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -11,11 +11,11 @@
|
|||
</record>
|
||||
|
||||
<!-- template demo -->
|
||||
<record id="template_partner" model="google.docs.config">
|
||||
<record id="template_partner" model="google.drive.config">
|
||||
<field name="name">Customer Doc</field>
|
||||
<field name="model_id">res.partner</field>
|
||||
<field name="filter_id" ref="filter_partner"/>
|
||||
<field name="gdocs_template_url">https://docs.google.com/spreadsheet/ccc?key=0Ah2qnrLAoZmUdGRvdVdmS1VoSDctWk1kd18taGZ4ckE#gid=0</field>
|
||||
<field name="google_drive_template_url">https://docs.google.com/spreadsheet/ccc?key=0Ah2qnrLAoZmUdGRvdVdmS1VoSDctWk1kd18taGZ4ckE#gid=0</field>
|
||||
<field name="name_template">%(name)s_%(model)s_%(filter)s_gdrive</field>
|
||||
</record>
|
||||
|
|
@ -2,11 +2,11 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- add google docs config field in user form -->
|
||||
<!-- add google drive config field in user form -->
|
||||
|
||||
<record model="ir.ui.view" id="view_google_docs_config_tree">
|
||||
<field name="name">google_docs.config.tree</field>
|
||||
<field name="model">google.docs.config</field>
|
||||
<record model="ir.ui.view" id="view_google_drive_config_tree">
|
||||
<field name="name">google_drive.config.tree</field>
|
||||
<field name="model">google.drive.config</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Google Drive Configuration">
|
||||
<field name="name" />
|
||||
|
@ -15,9 +15,9 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_google_docs_config_form">
|
||||
<field name="name">google_docs.config.form</field>
|
||||
<field name="model">google.docs.config</field>
|
||||
<record model="ir.ui.view" id="view_google_drive_config_form">
|
||||
<field name="name">google_drive.config.form</field>
|
||||
<field name="model">google.drive.config</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Google Drive Configuration" version="7.0">
|
||||
<group>
|
||||
|
@ -35,8 +35,8 @@
|
|||
- If filter is not specified, link of google document will appear in "More" option for all users for all opportunities.
|
||||
</p>
|
||||
</div>
|
||||
<field name='gdocs_template_url' placeholder="https://docs.google.com/document/d/1vOtpJK9scIQz6taD9tJRIETWbEw3fSiaQHArsJYcua4/edit" required="1" />
|
||||
<field name='gdocs_resource_id' invisible="1" />
|
||||
<field name='google_drive_template_url' placeholder="https://docs.google.com/document/d/1vOtpJK9scIQz6taD9tJRIETWbEw3fSiaQHArsJYcua4/edit" required="1" />
|
||||
<field name='google_drive_resource_id' invisible="1" />
|
||||
<label for='name_template' />
|
||||
<div>
|
||||
<field name='name_template' />
|
||||
|
@ -52,12 +52,12 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record model='ir.actions.act_window' id='action_google_docs_users_config'>
|
||||
<record model='ir.actions.act_window' id='action_google_drive_users_config'>
|
||||
<field name='name'>Google Drive Templates</field>
|
||||
<field name='res_model'>google.docs.config</field>
|
||||
<field name='res_model'>google.drive.config</field>
|
||||
<field name='type'>ir.actions.act_window</field>
|
||||
<field name='view_type'>form</field>
|
||||
<field name='view_id' ref='view_google_docs_config_tree' />
|
||||
<field name='view_id' ref='view_google_drive_config_tree' />
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to add a new template.
|
||||
|
@ -73,23 +73,23 @@
|
|||
<field name="model">base.config.settings</field>
|
||||
<field name="inherit_id" ref="base_setup.view_general_configuration" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='google_docs']" position="after">
|
||||
<div attrs="{'invisible': [('module_google_docs','=',False)]}">
|
||||
<xpath expr="//div[@name='google_drive']" position="after">
|
||||
<div attrs="{'invisible': [('module_google_drive','=',False)]}">
|
||||
<p class="oe_gray" >
|
||||
<div class="oe_inline">
|
||||
Click here to <field name="google_docs_uri" widget="url" text="Generate Google Authorization Code" class="oe_inline oe_bold"/>
|
||||
Click here to <field name="google_drive_uri" widget="url" text="Generate Google Authorization Code" class="oe_inline oe_bold"/>
|
||||
</div>
|
||||
<group>
|
||||
<field name="google_docs_authorization_code" on_change="onchange_google_authorization_code('docs', google_docs_authorization_code)"/>''
|
||||
<field name="google_drive_authorization_code" on_change="onchange_google_authorization_code('drive', google_drive_authorization_code)"/>''
|
||||
</group>
|
||||
Configure your templates and link your google document to OpenERP records <button type="action" name="%(google_docs.action_google_docs_users_config)d" string="Configure Template" class="oe_link" />
|
||||
Configure your templates and link your google document to OpenERP records <button type="action" name="%(google_drive.action_google_drive_users_config)d" string="Configure Template" class="oe_link" />
|
||||
</p>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name='Google Drive configuration' id='menu_gdocs_config' parent='base.menu_administration' />
|
||||
<menuitem id='menu_gdocs_model_config' parent='menu_gdocs_config' action='action_google_docs_users_config' />
|
||||
<menuitem name='Google Drive configuration' id='menu_google_drive_config' parent='base.menu_administration' />
|
||||
<menuitem id='menu_google_drive_model_config' parent='menu_google_drive_config' action='action_google_drive_users_config' />
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,3 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_google_drive_all,google.drive.config,model_google_drive_config,,1,0,0,0
|
||||
access_google_drive,google.drive.config,model_google_drive_config,base.group_system,1,1,1,1
|
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 479 B After Width: | Height: | Size: 479 B |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
@ -1,4 +1,4 @@
|
|||
openerp.google_docs = function (instance, m) {
|
||||
openerp.google_drive = function (instance, m) {
|
||||
var _t = instance.web._t,
|
||||
QWeb = instance.web.qweb;
|
||||
|
||||
|
@ -25,8 +25,8 @@ openerp.google_docs = function (instance, m) {
|
|||
}
|
||||
if (res_id) {
|
||||
view.sidebar_eval_context().done(function (context) {
|
||||
var ds = new instance.web.DataSet(this, 'google.docs.config', context);
|
||||
ds.call('get_google_docs_config', [view.dataset.model, res_id, context]).done(function (r) {
|
||||
var ds = new instance.web.DataSet(this, 'google.drive.config', context);
|
||||
ds.call('get_google_drive_config', [view.dataset.model, res_id, context]).done(function (r) {
|
||||
if (!_.isEmpty(r)) {
|
||||
_.each(r, function (res) {
|
||||
var g_item = _.indexOf(_.pluck(self.items.other, 'label'), res.name);
|
||||
|
@ -34,7 +34,7 @@ openerp.google_docs = function (instance, m) {
|
|||
self.items.other.splice(g_item, 1);
|
||||
}
|
||||
self.add_items('other', [{
|
||||
label: res.name+ '<img style="position:absolute;right:5px;height:20px;width:20px;" title="Google Drive" src="google_docs/static/src/img/drive_icon.png"/>',
|
||||
label: res.name+ '<img style="position:absolute;right:5px;height:20px;width:20px;" title="Google Drive" src="google_drive/static/src/img/drive_icon.png"/>',
|
||||
config_id: res.id,
|
||||
res_id: res_id,
|
||||
res_model: view.dataset.model,
|
||||
|
@ -56,10 +56,10 @@ openerp.google_docs = function (instance, m) {
|
|||
on_google_doc: function (doc_item) {
|
||||
var self = this;
|
||||
self.config = doc_item;
|
||||
var loaded = self.fetch('google.docs.config', ['gdocs_resource_id', 'google_docs_client_id'], [['id', '=', doc_item.config_id]])
|
||||
var loaded = self.fetch('google.drive.config', ['google_drive_resource_id', 'google_drive_client_id'], [['id', '=', doc_item.config_id]])
|
||||
.then(function (configs) {
|
||||
var ds = new instance.web.DataSet(self, 'google.docs.config');
|
||||
ds.call('get_google_doc_name', [[doc_item.config_id], doc_item.res_id,configs[0].gdocs_resource_id]).done(function (r) {
|
||||
var ds = new instance.web.DataSet(self, 'google.drive.config');
|
||||
ds.call('get_google_doc_name', [[doc_item.config_id], doc_item.res_id,configs[0].google_drive_resource_id]).done(function (r) {
|
||||
if (!_.isEmpty(r)) {
|
||||
_.each(r, function (res) {
|
||||
if(res.url)
|
Loading…
Reference in New Issue