summaryrefslogtreecommitdiff
path: root/addons/google_docs/static/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/google_docs/static/src')
-rw-r--r--addons/google_docs/static/src/js/gdocs.js30
-rw-r--r--addons/google_docs/static/src/xml/gdocs.xml8
2 files changed, 21 insertions, 17 deletions
diff --git a/addons/google_docs/static/src/js/gdocs.js b/addons/google_docs/static/src/js/gdocs.js
index bcfd24f8c0d..c2c0ded407b 100644
--- a/addons/google_docs/static/src/js/gdocs.js
+++ b/addons/google_docs/static/src/js/gdocs.js
@@ -1,28 +1,22 @@
openerp.google_docs = function(instance, m) {
-var _t = instance.web._t;
+var QWeb = instance.web.qweb,
+ _t = instance.web._t;
instance.web.Sidebar = instance.web.Sidebar.extend({
- on_attachments_loaded: function(attachments) {
- var self = this;
- self._super(attachments);
- // if attachment contains a google doc url do nothing
- // else display a button to create a google doc
- var flag = false;
- _.each(attachments, function(i) {
- if (i.url && i.url.match('/docs.google.com/')) { flag = true; }
+ redraw: function() {
+ var self = this;
+ this._super.apply(this, arguments);
+ self.$el.find('.oe_sidebar_add_attachment').after(QWeb.render('Google_doc', {widget: self}))
+ self.$el.find('.oe_sidebar_add_google_doc').on('click', function (e) {
+ self.on_google_doc();
});
- if (! flag) {
- this.add_items('files', [
- { label: _t('Add Google Doc...'), callback: self.on_google_doc },
- ]);
- }
},
on_google_doc: function() {
var self = this;
var form = self.getParent();
form.sidebar_context().then(function (context) {
var ds = new instance.web.DataSet(this, 'ir.attachment', context);
- ds.call('google_doc_get', [form.dataset.model, [form.datarecord.id], context], function(r) {
+ def = ds.call('google_doc_get', [form.dataset.model, [form.datarecord.id], context], function(r) {
if (r == 'False') {
var params = {
error: response,
@@ -33,8 +27,10 @@ var _t = instance.web._t;
modal: true,
});
}
- form.reload();
- });
+
+ }).done(function(){
+ form.reload();
+ });
})
}
})
diff --git a/addons/google_docs/static/src/xml/gdocs.xml b/addons/google_docs/static/src/xml/gdocs.xml
new file mode 100644
index 00000000000..85a3b3f8be0
--- /dev/null
+++ b/addons/google_docs/static/src/xml/gdocs.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- vim:fdl=1:
+-->
+<templates id="template" xml:space="preserve">
+<t t-name="Google_doc">
+ <li class="oe_sidebar_add_google_doc"><span><b>Add Google Doc...</b></span></li>
+</t>
+</templates> \ No newline at end of file