Thinking again I am guessing a better option for this...

(note: the problem here is not to get the 'key', the problem is to be able
to build the string and interpolate multiple keys on to it on different
running times)

I think this could be better.

auth,messages.verify_email = 'Click on the link http://%(host)s/%(url)s/%(key)s
to verify your email'

*So Auth would do:*

auth.settings.get_verify_email = lambda key, httphost, url:
auth.messages.verify_email \
                              % dict(host=host, url=url, key=key)

auth.settings.verify_email_url = URL(......)
auth.settings.verify_email_host = request.env.http_host

self.settings.mailer.send(to=form.vars.email,
                        subject=self.messages.verify_email_subject,
                        message=self.settings.get_verify_email(key,
self.settings.verify_email_url, auth.settings.verify_email_host)
                        )

*Why this? just to let users to personalize the message string more easily.*

Example:

auth,messages.verify_email = ('Here I put my very long html code'
                                             'I can write texts '
                                             'I can put a tutorial '
                                            'I can put an user agreement'
                                            'ans so.... the final link'
                                            ' Click on the link'
                                            ' http://%(host)s/%(url)s/%(key)s
'
                                            " to verify your email')

*or even...*


auth,messages.verify_email =
template.render("my_verify_email_template.html", {"mycontext": "myvalues"})


Customizing this message sin the current way is very difficult and lead on
errors because of string interpolation being done on the time of definition.

On Tue, Aug 14, 2012 at 12:14 AM, Anthony <abasta...@gmail.com> wrote:

> I think maybe the book is just suggesting the "http://"; +
> request.env.http_host part of the URL might not be the correct host name
> if you're behind a proxy, so you should ensure you have the correct full
> URL. The remainder of the URL should be correct as is. Note, the example
> shown in the book is actually the default value for
> auth.settings.verify_email, so you don't really have to set it unless you
> need to change it.
>
> Anthony
>
> On Monday, August 13, 2012 9:31:25 PM UTC-4, Anthony wrote:
>>
>> Actually, the book is a bit confusing there -- the example code appears
>> to be complete as is.
>>
>> Anthony
>>
>> On Monday, August 13, 2012 9:09:46 PM UTC-4, JoeCodeswell wrote:
>>>
>>> Dear web2py folks,
>>>
>>> In the book it says in /chapter/29/9#Authentication:
>>>
>>>
>>> In Auth, by default, email verification is disabled. To enable email,
>>>> append the following lines in the model where auth is defined:
>>>>
>>>>
>>>> 1.
>>>> 2.
>>>> 3.
>>>> 4.
>>>> 5.
>>>> 6.
>>>> 7.
>>>> 8.
>>>> 9.
>>>> 10.
>>>> 11.
>>>>
>>>>
>>>> auth.settings.registration_**requires_verification = False
>>>> auth.settings.registration_**requires_approval = False
>>>> auth.settings.reset_password_**requires_verification = True
>>>> auth.messages.verify_email = 'Click on the link http://' + \
>>>>
>>>>     request.env.http_host + \
>>>>     URL(r=request,c='default',f='**user',args=['verify_email']) + \
>>>>
>>>>     '/%(key)s to verify your email'
>>>> auth.messages.reset_password = 'Click on the link http://' + \
>>>>
>>>>     request.env.http_host + \
>>>>     URL(r=request,c='default',f='**user',args=['reset_password']) + \
>>>>
>>>>     '/%(key)s to reset your password'
>>>>
>>>> You need to replace the string
>>>>
>>>>
>>>> 1.
>>>>
>>>> 'Click on the link ...'
>>>>
>>>> in auth.messages.verify_email with the proper complete URL of the
>>>> action verify_email.
>>>
>>>
>>>
>>>
>>> For both verify_email and reset_password:
>>>  Should I replace
>>>
>>> 'Click on the link http://'
>>> With:
>>> 'Click on the link http://myserver.com/myapp/'
>>> Or with:
>>> 'Click on the link http://myserver.com/myapp/defa**ult/user/verify_email'
>>> My guess is the first, but because the book says "proper complete URL", I 
>>> am not sure.
>>>
>>> Thanks in advance for the help.
>>>
>>> Love and peace,
>>>
>>> Joe
>>>
>>>
>>>
>>>
>>>  --
>
>
>
>

-- 



Reply via email to