[RENAME]google_docs => google_drive

bzr revid: dle@openerp.com-20130626093019-krwt5eamagmd5amu
This commit is contained in:
Denis Ledoux 2013-06-26 11:30:19 +02:00
parent 5ed41bcea4
commit c74517990f
39 changed files with 80 additions and 80 deletions

View File

@ -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."""),
}

View File

@ -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>

View File

@ -1 +0,0 @@
import google_docs

View File

@ -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>

View File

@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_google_docs_all google.docs.config model_google_docs_config 1 0 0 0
3 access_google_docs google.docs.config model_google_docs_config base.group_system 1 1 1 1

View File

@ -0,0 +1 @@
import google_drive

View File

@ -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': """

View File

@ -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),
}

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_google_drive_all google.drive.config model_google_drive_config 1 0 0 0
3 access_google_drive google.drive.config model_google_drive_config base.group_system 1 1 1 1

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 479 B

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -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)