summaryrefslogtreecommitdiff
path: root/addons/website_mail
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2013-09-30 16:33:57 +0200
committerThibault Delavallée <tde@openerp.com>2013-09-30 16:33:57 +0200
commit857f255d95e2a7ac9e9dbc87dfccdae4cb255e1b (patch)
treee7ce39bdbdb2ae9c14da7eee687a6d0a2e2e8f7f /addons/website_mail
parent7a174cac95bc040e4f482dc6f55de30479227752 (diff)
[IMP] website_mail, website_blog: improved follow / unfollow (always display email, more visible)
bzr revid: tde@openerp.com-20130930143357-0r61uikrf8nx92fg
Diffstat (limited to 'addons/website_mail')
-rw-r--r--addons/website_mail/controllers/main.py4
-rw-r--r--addons/website_mail/static/src/js/website_mail.js2
-rw-r--r--addons/website_mail/tests/__init__.py2
-rw-r--r--addons/website_mail/views/website_mail.xml7
4 files changed, 10 insertions, 5 deletions
diff --git a/addons/website_mail/controllers/main.py b/addons/website_mail/controllers/main.py
index f1b91ed22a2..60c1d4204d1 100644
--- a/addons/website_mail/controllers/main.py
+++ b/addons/website_mail/controllers/main.py
@@ -32,10 +32,10 @@ class WebsiteMail(http.Controller):
partner_obj = request.registry['res.partner']
user_obj = request.registry['res.users']
partner_ids = []
- if request.context['is_public_user'] and email:
+ if request.context['is_public_user'] and email and email != u'false': # post contains stringified booleans
partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", email)], context=request.context)
if not partner_ids:
- partner_ids = [partner_obj.create(request.cr, SUPERUSER_ID, {"email": email, "name": email}, request.context)]
+ partner_ids = [partner_obj.name_create(request.cr, SUPERUSER_ID, email, request.context)]
else:
partner_ids = [user_obj.browse(request.cr, request.uid, request.uid, request.context).partner_id.id]
return partner_ids
diff --git a/addons/website_mail/static/src/js/website_mail.js b/addons/website_mail/static/src/js/website_mail.js
index 63b9105f6bd..91cb63fab5b 100644
--- a/addons/website_mail/static/src/js/website_mail.js
+++ b/addons/website_mail/static/src/js/website_mail.js
@@ -12,12 +12,14 @@ $(document).ready(function () {
$(document).on('click', '.js_follow', function (ev) {
ev.preventDefault();
var $data = $(":first", this).parents("[data-follow]");
+ var $email = $data.first().siblings(".js_follow_email");
var message_is_follower = $data.first().attr("data-follow");
$data.attr("data-follow", message_is_follower == 'off' ? 'on' : 'off');
$.post('/website_mail/follow', {
'id': $(this).data('id'),
'object': $(this).data('object'),
'message_is_follower': message_is_follower,
+ 'email': $email && $email.val() || false,
}, function (result) {
$data.attr("data-follow", + result ? 'on' : 'off');
});
diff --git a/addons/website_mail/tests/__init__.py b/addons/website_mail/tests/__init__.py
index 97f1da2f54b..4d92d6a8823 100644
--- a/addons/website_mail/tests/__init__.py
+++ b/addons/website_mail/tests/__init__.py
@@ -19,7 +19,7 @@
#
##############################################################################
-from openerp.addons.website_blog.tests import test_controllers
+from openerp.addons.website_mail.tests import test_controllers
checks = [
test_controllers,
diff --git a/addons/website_mail/views/website_mail.xml b/addons/website_mail/views/website_mail.xml
index 8070bd97fbf..f1618ce44d2 100644
--- a/addons/website_mail/views/website_mail.xml
+++ b/addons/website_mail/views/website_mail.xml
@@ -6,9 +6,12 @@
<a href="#" t-att-data-id="object.id" t-att-data-object="object._name" t-att-data-follow="object.id and object.message_is_follower and 'on' or 'off'" class="pull-right js_follow" t-if="editable" t-ignore="true">
<span t-attf-class="label label-success css_follow">Follow</span>
<span t-attf-class="label label-danger css_unfollow">Unfollow</span>
- <span t-attf-class="label label-success css_followed">Followed</span>
- <span t-attf-class="label label-danger css_unfollowed">Unfollowed</span>
+ <span t-attf-class="label label-success css_followed">Following</span>
+ <span t-attf-class="label label-danger css_unfollowed">Not Following</span>
</a>
+ <input type="email" name="email" class="js_follow_email css_unfollowed_email"
+ t-att-value="email"
+ t-att-placeholder="email or 'Email Address'"/>
</template>
<template id="website.layout" inherit_id="website.layout">