summaryrefslogtreecommitdiff
path: root/addons/mail/static/src
diff options
context:
space:
mode:
authorAtul Patel (OpenERP) <atp@tinyerp.com>2014-02-18 11:26:18 +0530
committerAtul Patel (OpenERP) <atp@tinyerp.com>2014-02-18 11:26:18 +0530
commit33b99c8a0737e08e6a243e41bb455d3ab7e6c851 (patch)
treea1db52bfbeecf0c6fd9096604b7ec4540bb04197 /addons/mail/static/src
parentcaa3510ea434e10c32dcbc134f9c74b2b9f18b2a (diff)
parentaa0eac1257b97c1be693e8a804fec6ecbf2bb22f (diff)
[MERGE]: Merged with addons
bzr revid: atp@tinyerp.com-20140218055618-r36w29vat7zig9ar
Diffstat (limited to 'addons/mail/static/src')
-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.js57
-rw-r--r--addons/mail/static/src/xml/announcement.xml12
-rw-r--r--addons/mail/static/src/xml/mail.xml6
6 files changed, 66 insertions, 58 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..58d44bab50e 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);
/**
* ------------------------------------------------------------
@@ -113,57 +114,6 @@ openerp.mail = function (session) {
}
return out;
},
-
- // returns the file type of a file based on its extension
- // As it only looks at the extension it is quite approximative.
- filetype: function(url){
- var url = url && url.filename || url;
- var tokens = typeof url == 'string' ? url.split('.') : [];
- if(tokens.length <= 1){
- return 'unknown';
- }
- var extension = tokens[tokens.length -1];
- if(extension.length === 0){
- return 'unknown';
- }else{
- extension = extension.toLowerCase();
- }
- var filetypes = {
- 'webimage': ['png','jpg','jpeg','jpe','gif'], // those have browser preview
- 'image': ['tif','tiff','tga',
- 'bmp','xcf','psd','ppm','pbm','pgm','pnm','mng',
- 'xbm','ico','icon','exr','webp','psp','pgf','xcf',
- 'jp2','jpx','dng','djvu','dds'],
- 'vector': ['ai','svg','eps','vml','cdr','xar','cgm','odg','sxd'],
- 'print': ['dvi','pdf','ps'],
- 'document': ['doc','docx','odm','odt'],
- 'presentation': ['key','keynote','odp','pps','ppt'],
- 'font': ['otf','ttf','woff','eot'],
- 'archive': ['zip','7z','ace','apk','bzip2','cab','deb','dmg','gzip','jar',
- 'rar','tar','gz','pak','pk3','pk4','lzip','lz','rpm'],
- 'certificate': ['cer','key','pfx','p12','pem','crl','der','crt','csr'],
- 'audio': ['aiff','wav','mp3','ogg','flac','wma','mp2','aac',
- 'm4a','ra','mid','midi'],
- 'video': ['asf','avi','flv','mkv','m4v','mpeg','mpg','mpe','wmv','mp4','ogm'],
- 'text': ['txt','rtf','ass'],
- 'html': ['html','xhtml','xml','htm','css'],
- 'disk': ['iso','nrg','img','ccd','sub','cdi','cue','mds','mdx'],
- 'script': ['py','js','c','cc','cpp','cs','h','java','bat','sh',
- 'd','rb','pl','as','cmd','coffee','m','r','vbs','lisp'],
- 'spreadsheet': ['123','csv','ods','numbers','sxc','xls','vc','xlsx'],
- 'binary': ['exe','com','bin','app'],
- };
- for(filetype in filetypes){
- var ext_list = filetypes[filetype];
- for(var i = 0, len = ext_list.length; i < len; i++){
- if(extension === ext_list[i]){
- return filetype;
- }
- }
- }
- return 'unknown';
- },
-
};
@@ -303,7 +253,6 @@ openerp.mail = function (session) {
var attach = this.attachment_ids[l];
if (!attach.formating) {
attach.url = mail.ChatterUtils.get_attachment_url(this.session, this.id, attach.id);
- attach.filetype = mail.ChatterUtils.filetype(attach.filename || attach.name);
attach.name = mail.ChatterUtils.breakword(attach.name || attach.filename);
attach.formating = true;
}
@@ -1437,7 +1386,7 @@ openerp.mail = function (session) {
message_fetch: function (replace_domain, replace_context, ids, callback) {
return this.ds_message.call('message_read', [
// ids force to read
- ids == false ? undefined : ids,
+ ids === false ? undefined : ids,
// domain + additional
(replace_domain ? replace_domain : this.domain),
// ids allready loaded
@@ -1813,7 +1762,7 @@ openerp.mail = function (session) {
if ('display_log_button' in this.options) {
this.node.params.display_log_button = this.options.display_log_button;
}
- this.domain = this.node.params && this.node.params.domain || [];
+ this.domain = (this.node.params && this.node.params.domain) || (this.field && this.field.domain) || [];
if (!this.ParentViewManager.is_action_enabled('edit')) {
this.node.params.show_link = false;
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>
diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml
index 31539e24ab3..3a7a5469ee1 100644
--- a/addons/mail/static/src/xml/mail.xml
+++ b/addons/mail/static/src/xml/mail.xml
@@ -88,10 +88,10 @@
-->
<t t-name="mail.thread.message.attachments">
<t t-foreach='widget.attachment_ids' t-as='attachment'>
- <t t-if="attachment.filetype !== 'webimage'">
+ <t t-if="attachment.file_type !== 'webimage'">
<div t-attf-class="oe_attachment #{attachment.upload ? 'oe_uploading' : ''}">
<a t-att-href='attachment.url' target="_blank">
- <img t-att-src="'/mail/static/src/img/mimetypes/' + attachment.filetype + '.png'"></img>
+ <img t-att-src="'/mail/static/src/img/mimetypes/' + attachment.file_type + '.png'"></img>
<div class='oe_name'><t t-raw='attachment.name' /></div>
</a>
<div class='oe_delete oe_e' title="Delete this attachment" t-att-data-id="attachment.id">[</div>
@@ -100,7 +100,7 @@
</div>
</div>
</t>
- <t t-if="attachment.filetype === 'webimage'">
+ <t t-if="attachment.file_type === 'webimage'">
<div t-attf-class="oe_attachment oe_preview #{attachment.upload ? 'oe_uploading' : ''}">
<a t-att-href='attachment.url' target="_blank">
<img t-att-src="widget.attachments_resize_image(attachment.id, [100,80])"></img>