tags:

views:

67

answers:

2

Am having a number of problems implementing the code from the Washington Post site and they are not providing suppport. Looks like an excellent tool so am persisting but would welcome any tips from those who have gone before.

http://opensource.washingtontimes.com/projects/django-clickpass/

Current error is: Exception Value:
(1048, "Column 'openid' cannot be null")

The problem seems to start in do_registration in consumer.py in clickpass.

   openid = request.openid and request.openid.openid  <--- request.openid and request.openid.openid are both None at this stage
    user.openids.create(openid=openid)    <------ problem in here I think
    self.log_in_user(request, user)
    return self.on_registration_complete(request)

Having filled in the registration form and click add the error appears And checking the sql this is why it fails:

sql 
u'INSERT INTO `django_openid_useropenidassociation` (`user_id`, `openid`, `created`) VALUES (18, None, 2009-06-26 13:14:49)'

At no point in the registration process has it asked me for an openid but it appears to have generated one and passed it back as a GET:

GET
Variable    Value
family-name      u'Bright'
given-name      u'Phoebe'
nickname        u'phoebe77'
clickpass_openid     u'http://www.clickpass.com/id/34tqv910o06r'
email       u'[email protected]'

Any thoughts?

A: 

I am having the exact same problem, although I don't have any solutions for you! I can see that users are being created with Clickpass, but I get the same error you do

+3  A: 

I have managed to get django-clickpass work. I have implemented it on my blog and it's working ok.

What Python version are you using ? I had problem running it on Python 2.4, problem was with python-openid library. There is a bug with hashlib library. In order to fix this i had to apply this patch or use Python 2.5

Have you properly configured clickpass account ?

Dominik Szopa
Had to give up on clickpass but thanks for your answers. I will market it as the answer even though havn't had time to try it.Thanks.