summaryrefslogtreecommitdiff
path: root/addons/mail/static
diff options
context:
space:
mode:
Diffstat (limited to 'addons/mail/static')
-rw-r--r--addons/mail/static/src/css/announcement.css3
-rw-r--r--addons/mail/static/src/css/mail_group.css4
-rw-r--r--addons/mail/static/src/js/announcement.js42
-rw-r--r--addons/mail/static/src/js/mail.js1
-rw-r--r--addons/mail/static/src/xml/announcement.xml12
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>