Added url detection
bzr revid: nicolas.vanhoren@openerp.com-20130903135940-3miafvmwtiiuc769
This commit is contained in:
parent
6c6169da1b
commit
0c03661b56
|
@ -443,8 +443,8 @@ function declare($, _, openerp) {
|
||||||
return new Array(size - str.length + 1).join('0') + str;
|
return new Array(size - str.length + 1).join('0') + str;
|
||||||
};
|
};
|
||||||
date = "" + zpad(date.getHours(), 2) + ":" + zpad(date.getMinutes(), 2);
|
date = "" + zpad(date.getHours(), 2) + ":" + zpad(date.getMinutes(), 2);
|
||||||
|
var to_show = _.map(items, im_common.escape_keep_url);
|
||||||
this.last_bubble = $(openerp.qweb.render("im_common.conversation_bubble", {"items": items, "user": user, "time": date}));
|
this.last_bubble = $(openerp.qweb.render("im_common.conversation_bubble", {"items": to_show, "user": user, "time": date}));
|
||||||
$(this.$(".oe_im_chatview_content").children()[0]).append(this.last_bubble);
|
$(this.$(".oe_im_chatview_content").children()[0]).append(this.last_bubble);
|
||||||
this._go_bottom();
|
this._go_bottom();
|
||||||
},
|
},
|
||||||
|
@ -484,6 +484,24 @@ function declare($, _, openerp) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var url_regex = /(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/gi;
|
||||||
|
|
||||||
|
im_common.escape_keep_url = function(str) {
|
||||||
|
var last = 0;
|
||||||
|
var txt = "";
|
||||||
|
while (true) {
|
||||||
|
var result = url_regex.exec(str);
|
||||||
|
if (! result)
|
||||||
|
break;
|
||||||
|
txt += _.escape(str.slice(last, result.index));
|
||||||
|
last = url_regex.lastIndex;
|
||||||
|
var url = _.escape(result[0]);
|
||||||
|
txt += '<a href="' + url + '">' + url + '</a>';
|
||||||
|
}
|
||||||
|
txt += str.slice(last, str.length);
|
||||||
|
return txt;
|
||||||
|
};
|
||||||
|
|
||||||
return im_common;
|
return im_common;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
<div class="oe_im_chatview_from"><t t-esc="user.get('name')"/></div>
|
<div class="oe_im_chatview_from"><t t-esc="user.get('name')"/></div>
|
||||||
<div class="oe_im_chatview_bubble_list">
|
<div class="oe_im_chatview_bubble_list">
|
||||||
<t t-foreach="items" t-as="item">
|
<t t-foreach="items" t-as="item">
|
||||||
<div class="oe_im_chatview_bubble_item"><t t-esc="item"/></div>
|
<div class="oe_im_chatview_bubble_item"><t t-raw="item"/></div>
|
||||||
</t>
|
</t>
|
||||||
</div>
|
</div>
|
||||||
<div class="oe_im_chatview_time"><t t-esc="time"/></div>
|
<div class="oe_im_chatview_time"><t t-esc="time"/></div>
|
||||||
|
|
Loading…
Reference in New Issue