[MERGE] auth_signup res.users improve display of invitation and reset password

bzr revid: al@openerp.com-20130314223326-b0j801ndgg1ru1lr
This commit is contained in:
Antony Lesuisse 2013-03-14 23:33:26 +01:00
commit f883706c17
2 changed files with 19 additions and 16 deletions

View File

@ -161,14 +161,12 @@ class res_users(osv.Model):
def _get_state(self, cr, uid, ids, name, arg, context=None): def _get_state(self, cr, uid, ids, name, arg, context=None):
res = {} res = {}
for user in self.browse(cr, uid, ids, context): for user in self.browse(cr, uid, ids, context):
res[user.id] = ('reset' if user.signup_valid else res[user.id] = ('active' if user.login_date else 'new')
'active' if user.login_date else
'new')
return res return res
_columns = { _columns = {
'state': fields.function(_get_state, string='Status', type='selection', 'state': fields.function(_get_state, string='Status', type='selection',
selection=[('new', 'Never Connected'), ('active', 'Activated'), ('reset', 'Invitation Pending')]), selection=[('new', 'Never Connected'), ('active', 'Activated')]),
} }
def signup(self, cr, uid, values, token=None, context=None): def signup(self, cr, uid, values, token=None, context=None):
@ -268,16 +266,7 @@ class res_users(osv.Model):
if mail_state and mail_state['state'] == 'exception': if mail_state and mail_state['state'] == 'exception':
raise osv.except_osv(_("Cannot send email: no outgoing email server configured.\nYou can configure it under Settings/General Settings."), user.name) raise osv.except_osv(_("Cannot send email: no outgoing email server configured.\nYou can configure it under Settings/General Settings."), user.name)
else: else:
return { return True
'type': 'ir.actions.client',
'name': '_(Server Notification)',
'tag': 'action_notify',
'params': {
'title': 'Mail Sent to: %s' % user.name,
'text': 'You can reset the password by yourself using this <a href=%s>link</a>' % user.partner_id.signup_url,
'sticky': True,
}
}
def create(self, cr, uid, values, context=None): def create(self, cr, uid, values, context=None):
# overridden to automatically invite user to sign up # overridden to automatically invite user to sign up

View File

@ -17,12 +17,26 @@
<header> <header>
<field name="state" widget="statusbar"/> <field name="state" widget="statusbar"/>
</header> </header>
<div class="oe_form_box_info oe_text_center" attrs="{'invisible': [('signup_valid', '!=', True)]}">
<p attrs="{'invisible': [('state', '!=', 'active')]}">
<b>A password reset has been requested for this user. An email containing the following link has been sent:</b>
</p>
<p attrs="{'invisible': [('state', '!=', 'new')]}">
<b>An invitation email containing the following subscription link has been sent:</b>
</p>
<p><field class="oe_inline" name="signup_url" widget="url"/></p>
<field name="signup_valid" invisible="1"/>
</div>
</xpath> </xpath>
<!-- add Reset Password button --> <!-- add Reset Password button -->
<xpath expr="//div[@class='oe_right oe_button_box']" position="replace"> <xpath expr="//div[@class='oe_right oe_button_box']" position="replace">
<div class="oe_right oe_button_box"> <div class="oe_right oe_button_box">
<button string="Send reset password instructions by email" <button string="Send reset password link by email"
type="object" name="action_reset_password" /> type="object" name="action_reset_password"
attrs="{'invisible': [('state', '!=', 'active')]}"/>
<button string="Send an invitation email"
type="object" name="action_reset_password" context="{'create_user': 1}"
attrs="{'invisible': [('state', '!=', 'new')]}"/>
</div> </div>
</xpath> </xpath>
</field> </field>