diff options
Diffstat (limited to 'addons/mail/static/src')
| -rw-r--r-- | addons/mail/static/src/css/announcement.css | 3 | ||||
| -rw-r--r-- | addons/mail/static/src/css/mail_group.css | 4 | ||||
| -rw-r--r-- | addons/mail/static/src/js/announcement.js | 42 | ||||
| -rw-r--r-- | addons/mail/static/src/js/mail.js | 1 | ||||
| -rw-r--r-- | addons/mail/static/src/xml/announcement.xml | 12 |
5 files changed, 61 insertions, 1 deletions
diff --git a/addons/mail/static/src/css/announcement.css b/addons/mail/static/src/css/announcement.css new file mode 100644 index 00000000000..5d2a0ecba44 --- /dev/null +++ b/addons/mail/static/src/css/announcement.css @@ -0,0 +1,3 @@ +.openerp .annoucement_bar { + display: none; +} diff --git a/addons/mail/static/src/css/mail_group.css b/addons/mail/static/src/css/mail_group.css index 9560a4765d0..39cdf5c0b4c 100644 --- a/addons/mail/static/src/css/mail_group.css +++ b/addons/mail/static/src/css/mail_group.css @@ -90,7 +90,9 @@ } .openerp .oe_group_button { - padding-top: 7px; + position: absolute; + padding-bottom: 50px; + bottom: 0; } .openerp .oe_group_button .oe_group_join { 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); /** * ------------------------------------------------------------ diff --git a/addons/mail/static/src/xml/announcement.xml b/addons/mail/static/src/xml/announcement.xml new file mode 100644 index 00000000000..84dfa426796 --- /dev/null +++ b/addons/mail/static/src/xml/announcement.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<templates id="template" xml:space="preserve"> + <t t-extend="WebClient"> + <t t-jquery="table.oe_webclient" t-operation="prepend"> + <td colspan="2" class="announcement_bar"> + <span class="message"></span> + <span class="url"><a href="https://services.openerp.com/openerp-enterprise/ab/register" target="_blank"></a></span> + <span class="close"></span> + </td> + </t> + </t> +</templates> |
