diff options
| author | Jagdish Panchal (Open ERP) <jap@tinyerp.com> | 2011-12-21 12:25:53 +0530 |
|---|---|---|
| committer | Jagdish Panchal (Open ERP) <jap@tinyerp.com> | 2011-12-21 12:25:53 +0530 |
| commit | c028b3050d84cebf33fdadaf205b24e39b27d2e7 (patch) | |
| tree | fe426c13b249bd1da2381777710e17e59a3f76a3 /addons/share/static/src | |
| parent | 22c4f560b3b0622d1465b257f842c0766b65c635 (diff) | |
| parent | bf47bea6f7b886384176c0dbb59860f72677e69e (diff) | |
[MERGE] branch merged with lp:openobject-addons
bzr revid: jap@tinyerp.com-20111221065553-k0h0ksnnr29mklna
Diffstat (limited to 'addons/share/static/src')
| -rw-r--r-- | addons/share/static/src/css/share.css | 12 | ||||
| -rw-r--r-- | addons/share/static/src/js/share.js | 74 | ||||
| -rw-r--r-- | addons/share/static/src/xml/share.xml | 5 |
3 files changed, 31 insertions, 60 deletions
diff --git a/addons/share/static/src/css/share.css b/addons/share/static/src/css/share.css index 3b47a065b1e..8b137891791 100644 --- a/addons/share/static/src/css/share.css +++ b/addons/share/static/src/css/share.css @@ -1,13 +1 @@ -.openerp li.oe-share { - background: url(../img/share.png) no-repeat; - padding-left: 20px; -} - -.openerp a.oe-share { - background: url(../img/share.png) no-repeat; - display: block; - float: left; - width: 20px; - height: 20px; -} diff --git a/addons/share/static/src/js/share.js b/addons/share/static/src/js/share.js index b2abc1832a4..b084e82f7c9 100644 --- a/addons/share/static/src/js/share.js +++ b/addons/share/static/src/js/share.js @@ -1,59 +1,42 @@ openerp.share = function(instance) { -function launch_wizard(self, view) { +function launch_wizard(self, view, button) { + var button = button || 'go_step_1'; var action = view.widget_parent.action; var Share = new instance.web.DataSet(self, 'share.wizard', view.dataset.get_context()); - var domain = view.dataset.domain; - + var domain = new instance.web.CompoundDomain(view.dataset.domain); if (view.fields_view.type == 'form') { domain = new instance.web.CompoundDomain(domain, [['id', '=', view.datarecord.id]]); } - - Share.create({ - name: action.name, - domain: domain, - action_id: action.id, - }, function(result) { - var share_id = result.result; - var step1 = Share.call('go_step_1', [[share_id],], function(result) { - var action = result; - self.do_action(action); - }); - }); -} - -var _has_share = null; -function if_has_share(yes, no) { - if (!_has_share) { - _has_share = $.Deferred(function() { - var self = this; - instance.connection.on_session_invalid.add_last(function() { _has_share = null; }); - var func = new instance.web.Model(null, "share.wizard").get_func("has_share"); - func(instance.connection.uid).pipe(function(res) { - if(res) { - self.resolve(); - } else { - self.reject(); - } + self.rpc('/web/session/eval_domain_and_context', { + domains: [domain], + contexts: [view.dataset.context] + }, function (result) { + Share.create({ + name: action.name, + domain: result.domain, + action_id: action.id, + view_type: view.fields_view.type, + }, function(result) { + var share_id = result.result; + var step1 = Share.call(button, [[share_id],], function(result) { + var action = result; + self.do_action(action); + }); }); }); - } - _has_share.done(yes).fail(no); } - instance.web.Sidebar = instance.web.Sidebar.extend({ add_default_sections: function() { this._super(); var self = this; - if_has_share(function() { - self.add_items('other', [{ - label: 'Share', - callback: self.on_sidebar_click_share, - classname: 'oe-share', - }]); - }); + self.add_items('other', [{ + label: 'Share', + callback: self.on_sidebar_click_share, + classname: 'oe-share', + }]); }, on_sidebar_click_share: function(item) { var view = this.widget_parent @@ -64,13 +47,14 @@ instance.web.Sidebar = instance.web.Sidebar.extend({ instance.web.ViewManagerAction.include({ start: function() { var self = this; - if_has_share(function() { - self.$element.find('a.oe-share').click(self.on_click_share); - }, function() { - self.$element.find('a.oe-share').remove(); - }); + self.$element.find('a.oe-share_link').click(self.on_click_share_link); + self.$element.find('a.oe-share').click(self.on_click_share); return this._super.apply(this, arguments); }, + on_click_share_link: function(e) { + e.preventDefault(); + launch_wizard(this, this.views[this.active_view].controller,'go_step_1_link'); + }, on_click_share: function(e) { e.preventDefault(); launch_wizard(this, this.views[this.active_view].controller); diff --git a/addons/share/static/src/xml/share.xml b/addons/share/static/src/xml/share.xml index 9a1363846a0..9b030051520 100644 --- a/addons/share/static/src/xml/share.xml +++ b/addons/share/static/src/xml/share.xml @@ -5,9 +5,8 @@ <t t-extend="ViewManagerAction"> <t t-jquery=".oe-shortcut-toggle" t-operation="after"> - <a class="oe-share" href="#share" title="Share this in 2 clicks..."> - <!--<img src="/share/static/src/img/share.png"/>--> - </a> + <a class="oe-share_link" href="#share_link" title="Link or embed"><img t-att-src='_s + "/share/static/src/img/share.png"'/></a> + <a class="oe-share" href="#share" title="Share by email"><img t-att-src='_s + "/share/static/src/img/share.png"'/></a> </t> </t> |
