When I try to send an invitation to a new user the error is "Cannot send email: user has no email address." The user does have an email address in the user form, but if you look in res_users the email field is blank.
To avoid the need for an invitation, I assigned passwords to the new users via the user form, but the passwords are rejected at login.
OpenERP is installed on my server, and the version is 7.saas~1. I used some recent tarballs from runbot/launchpad:
2734543 2013-07-30 15:48 openerp_openerp-web_saas-1-r3740.tgz 57124319 2013-07-30 15:33 openerp_openobject-addons_saas-1-r8753.tgz 10571804 2013-07-30 15:47 openerp_openobject-server_saas-1-r4894.tgz
What should I look at to troubleshoot this?
I followed the code through addons/auth_signup/res_users.py,
def action_reset_password(self, cr, uid, ids, context=None):
""" create signup token for each user, and send their signup url by email """
# prepare reset password signup
res_partner = self.pool.get('res.partner')
partner_ids = [user.partner_id.id for user in
self.browse(cr, uid, ids, context)]
res_partner.signup_prepare(cr, uid, partner_ids, signup_type="reset",
expiration=now(days=+1), context=context)
if not context:
context = {}
# send email to users with their signup url
template = False
if context.get('create_user'):
try:
template = self.pool.get('ir.model.data').get_object(cr, uid,
'auth_signup', 'set_password_email')
except ValueError:
pass
if not bool(template):
template = self.pool.get('ir.model.data').get_object(cr, uid,
'auth_signup', 'reset_password_email')
mail_obj = self.pool.get('mail.mail')
assert template._name == 'email.template'
for user in self.browse(cr, uid, ids, context):
if not user.email:
print repr(user)
print repr(user.login)
print repr(user.openid_email )
traceback.print_exc(file="/tmp/stack")
raise osv.except_osv(
_("Cannot send email: user has no email address."),
user.name)
When it reads the res_users table, it gets the id and login fields correctly, but it gets nothing from the email field even though I have manually put an email address in using psql. Is it trying to get this email address from somewhere else?
Many thanks -- Rick