summaryrefslogtreecommitdiff
path: root/addons/google_docs
diff options
context:
space:
mode:
authorMVA <mva@openerp.com>2012-04-02 15:18:17 +0200
committerMVA <mva@openerp.com>2012-04-02 15:18:17 +0200
commitfb989dbfb7161b9f79ce5bf2024a5f13423b1b6f (patch)
tree8a57faca5ae8f35391ef560092e741df382e4e95 /addons/google_docs
parentac63b945f618e21bfe62e751e4afe958e2d8c04c (diff)
[IMP] change the way to name the attachement and change when you already have a google document the button will be hide
bzr revid: mva@openerp.com-20120402131817-oxv227m8i11pfsjx
Diffstat (limited to 'addons/google_docs')
-rw-r--r--addons/google_docs/google_docs.py19
-rw-r--r--addons/google_docs/static/src/js/gdocs.js40
2 files changed, 30 insertions, 29 deletions
diff --git a/addons/google_docs/google_docs.py b/addons/google_docs/google_docs.py
index 3045cbab279..e195fcf21a6 100644
--- a/addons/google_docs/google_docs.py
+++ b/addons/google_docs/google_docs.py
@@ -105,9 +105,11 @@ class google_docs(osv.osv):
pool_gdoc_config = self.pool.get('google.docs.config')
google_docs_config = pool_gdoc_config.search(cr, uid, [('model_id', '=', model)])
name_gdocs=''
+ model_fields_dic = self.pool.get(model).read(cr,uid,id,[])
+
if google_docs_config:
name_gdocs = pool_gdoc_config.browse(cr,uid,google_docs_config,context=context)[0].name_template
- print name_gdocs
+ name_gdocs = name_gdocs % model_fields_dic[0]
# check if a model is configurate with a template
if google_docs_config:
@@ -130,22 +132,17 @@ class config(osv.osv):
}
_defaults = {
- 'name_template': 'pr_%(name)',
+ 'name_template': 'pr_%(name)s',
}
- def get_config(self, cr, uid, model):
+ def get_config(self, cr, uid, ids, model,context=None):
'''
Method use with the js to hidde or show the add google doc button
@return : list of configuration ids or false
'''
- domain = [('model_id', '=', model)]
- if self.search_count(cr, uid, domain) != 0:
- return False
- # attached only one document to a model
- if self.pool.get('ir.attachment').search_count(cr,uid,[('url','like','https://docs.google.com/document%')]) !=0:
- return False
+ if self.pool.get('ir.attachment').search_count(cr,uid,[('url','like','https://docs.google.com/document%'),('res_model','=',model),('res_id','=',ids[0])]) !=0:
+ return False
else:
- return self.search(cr, uid, domain)
-
+ return True
config()
diff --git a/addons/google_docs/static/src/js/gdocs.js b/addons/google_docs/static/src/js/gdocs.js
index 9dc4f5c88d3..425de5045d8 100644
--- a/addons/google_docs/static/src/js/gdocs.js
+++ b/addons/google_docs/static/src/js/gdocs.js
@@ -5,31 +5,35 @@ openerp.google_docs = function(instance, session) {
init: function() {
this._super.apply(this, arguments);
this.$element.delegate('.oe_google_docs_text_button', 'click', this.on_add_text_gdoc);
- var self = this;
- var config = new instance.web.DataSet(this, 'google.docs.config', this.view.dataset.get_context());
- config.call('get_config', [this.view.dataset.ids[this.view.dataset.index]], function(r) {
- // if the configuration isn't set, the buttons should be hidden.
- if (r==false) {
- $('.oe_google_docs_text_button',this.$element).hide();
- return;
- }
-
- var attachment = new instance.web.DataSet(this, 'ir.attachment', self.view.dataset.get_context());
- attachment.call('copy_gdoc', [self.view.dataset.model, [self.view.datarecord.id]], function(res) {
- });
- });
- },
- start: function() {
- this._super();
- console.log($('.oe_google_docs_text_button',this.$element))
- $('.oe_google_docs_text_button',this.$element)
},
+
+
+ on_attachments_loaded: function(attachments) {
+ this._super(attachments);
+ var config = new instance.web.DataSet(this, 'google.docs.config', this.view.dataset.get_context());
+ config.call('get_config', [[this.view.datarecord.id],this.view.dataset.model,this.view.dataset.get_context()], function(r) {
+ if (r == false){
+ $('.oe_google_docs_text_button',this.$element).hide();
+ }
+ });
+ },
+
on_add_text_gdoc: function() {
var self = this;
var $gdocbtn = this.$element.find('.oe_google_docs_text_button');
$gdocbtn.attr('disabled', 'true').find('img, span').toggle();
var ds = new instance.web.DataSet(this, 'google.docs', this.view.dataset.get_context());
ds.call('doc_get', [this.view.dataset.model, [this.view.datarecord.id], 'text'], function(r) {
+ if (r == 'False') {
+ var params = {
+ error: response,
+ message: "The user google credentials are not set yet. Contact your administrator for help."
+ }
+ $(openerp.web.qweb.render("DialogWarning", params)).dialog({
+ title: "User Google credentials are not yet set.",
+ modal: true,
+ });
+ }
self.do_update();
});
},