diff options
Diffstat (limited to 'addons/mail/static/src/js')
| -rw-r--r-- | addons/mail/static/src/js/announcement.js | 42 | ||||
| -rw-r--r-- | addons/mail/static/src/js/mail.js | 1 |
2 files changed, 43 insertions, 0 deletions
diff --git a/addons/mail/static/src/js/announcement.js b/addons/mail/static/src/js/announcement.js new file mode 100644 index 00000000000..0dd438d13af --- /dev/null +++ b/addons/mail/static/src/js/announcement.js @@ -0,0 +1,42 @@ +openerp_announcement = function(instance) { + instance.web.WebClient.include({ + show_application: function() { + return $.when(this._super.apply(this, arguments)).then(this.proxy('show_annoucement_bar')); + }, + _ab_location: function(dbuuid) { + return _.str.sprintf('https://services.openerp.com/openerp-enterprise/ab/css/%s.css', dbuuid); + }, + show_annoucement_bar: function() { + if (this.session.get_cookie('ab') === 'c') { + return; + } + var self = this; + var config_parameter = new instance.web.Model('ir.config_parameter'); + var $bar = this.$el.find('.announcement_bar'); + return config_parameter.call('get_param', ['database.uuid', false]).then(function(dbuuid) { + if (!dbuuid) { + return; + } + var $link = $bar.find('.url a'); + $link.attr('href', _.str.sprintf('%s/%s', $link.attr('href'), dbuuid)); + var $css = $('<link />').attr({ + rel : 'stylesheet', + type: 'text/css', + media: 'screen', + href: self._ab_location(dbuuid) + }); + $css.on('load', function() { + var close = function() { + var ttl = 7*24*60*60; + self.session.set_cookie('ab', 'c', ttl); + $bar.slideUp('slow'); + }; + $bar.find('.close').on('click', close); + self.trigger('ab_loaded', $bar); + }); + + $('head').append($css); + }); + } + }); +}; diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index 269187df8cd..4378d2f75b5 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -6,6 +6,7 @@ openerp.mail = function (session) { openerp_mail_followers(session, mail); // import mail_followers.js openerp_FieldMany2ManyTagsEmail(session); // import manyy2many_tags_email.js + openerp_announcement(session); /** * ------------------------------------------------------------ |
