From d177d00fb2f496bfde1a58e9f37ca6431f972cde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 6 Apr 2012 12:27:59 +0200 Subject: [PATCH] [FIX] and IMP also. Fixed a bug in regexp about finding logins beginning with @ (was not taking into account @ inside logins). Also added a :al and :pinky tags in messages, replaced by nice short images. bzr revid: tde@openerp.com-20120406102759-q47zqi3rndponiyh --- addons/mail/__openerp__.py | 4 ++++ addons/mail/mail_thread_view.xml | 8 +++++--- addons/mail/static/src/js/mail.js | 21 +++++++++++++++++---- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py index 1d9500ac8e9..88e932299e1 100644 --- a/addons/mail/__openerp__.py +++ b/addons/mail/__openerp__.py @@ -76,6 +76,10 @@ The main features are: 'images/messages_form.jpeg', 'images/messages_list.jpeg', 'static/src/img/email_icong.png', + 'static/src/img/_al.png', + 'static/src/img/_pincky.png', + 'static/src/img/feeds.png', + 'static/src/img/feeds-hover.png', 'static/src/img/groupdefault.png', ], 'css': [ diff --git a/addons/mail/mail_thread_view.xml b/addons/mail/mail_thread_view.xml index 7730f9a148e..faa6d24ae2c 100644 --- a/addons/mail/mail_thread_view.xml +++ b/addons/mail/mail_thread_view.xml @@ -4,9 +4,11 @@ - Feeds - 0 - + Feeds + 0 + + + diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index eda8a408b9f..5e1e95ec768 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -392,12 +392,25 @@ openerp.mail = function(session) { do_replace_internal_links: function (string) { var self = this; + var icon_list = ['al', 'pinky'] /* shortcut to user: @login */ - var regex_login = new RegExp(/(^|\s)@(\w*)/g); + var regex_login = new RegExp(/(^|\s)@((\w|@|\.)*)/g); var regex_res = regex_login.exec(string); while (regex_res != null) { var login = regex_res[2]; - string = string.replace(regex_res[0], '@' + login + ''); + string = string.replace(regex_res[0], regex_res[1] + '@' + login + ''); + regex_res = regex_login.exec(string); + } + /* special shortcut: :name, try to find an icon if in list */ + var regex_login = new RegExp(/(^|\s):((\w)*)/g); + var regex_res = regex_login.exec(string); + while (regex_res != null) { + var icon_name = regex_res[2]; + console.log(regex_res); + console.log(icon_name); + console.log(icon_list); + if (_.include(icon_list, icon_name)) + string = string.replace(regex_res[0], regex_res[1] + '' + icon_name + ''); regex_res = regex_login.exec(string); } return string; @@ -420,12 +433,12 @@ openerp.mail = function(session) { /** * * var regex_login = new RegExp(/(^|\s)@(\w*[a-zA-Z_.]+\w*\s)/g); - * var regex_login = new RegExp(/(^|\s)@(\w*)/g); + * var regex_login = new RegExp(/(^|\s)@((\w|@|\.)*)/g); * var regex_intlink = new RegExp(/(^|\s)#(\w*[a-zA-Z_]+\w*)\.(\w+[a-zA-Z_]+\w*),(\w+)/g); */ do_check_internal_links: function(string) { /* shortcut to user: @login */ - var regex_login = new RegExp(/(^|\s)@(\w*)/g); + var regex_login = new RegExp(/(^|\s)@((\w|@|\.)*)/g); var regex_res = regex_login.exec(string); while (regex_res != null) { var login = regex_res[2];