thanks, I did use do_html2python ... but for the wrong manipulator
(which, of course, is like not using it) ...
patrick
Am 17.07.2006 um 18:30 schrieb Aidas Bendoraitis:
>
> The problem is that you don't use manipulator.do_html2python(new_data)
> which transforms strings to appropriate values.
>
> In your case, you should write something like:
> new_user_data['date_joined'] = datetime.now()
>
> Aidas Bendoraitis [aka Archatas]
>
> On 7/17/06, patrickk <[EMAIL PROTECTED]> wrote:
>>
>> you´re right - I only sent half of the code - will send a full
>> example once I´m finished.
>>
>> I tried to use some of your code:
>> now = datetime.now()
>> new_user_data['date_joined_date'] = now.strftime("%Y-%m-%d")
>> new_user_data['date_joined_time'] = now.strftime("%H:%M:%S")
>>
>> but got the error:
>> combine() argument 1 must be datetime.date, not str
>>
>> any ideas?
>>
>>
>> Am 17.07.2006 um 16:42 schrieb Aidas Bendoraitis:
>>
>>>
>>> It seems that you are missing the escaping/converting of the got
>>> (ten)
>>> values. Don't you need something like
>>> manipulator.do_html2python(new_data) before saving the user? I think
>>> there is a risk of SQL injection[1] in your example.
>>>
>>> [1] http://en.wikipedia.org/wiki/Sql_injection
>>>
>>> Aidas Bendoraitis [aka Archatas]
>>>
>>>
>>>
>>> On 7/17/06, patrickk <[EMAIL PROTECTED]> wrote:
>>>>
>>>> here´s the registration I´ve come up with. I´m using a Custom
>>>> Manipulator, because I´ve added some fields to the User Model and
>>>> need specific validation. I´ve also added a confirmation mail:
>>>>
>>>> def registration(request):
>>>>
>>>> manipulator = RegistrationManipulator()
>>>>
>>>> if request.POST:
>>>> new_data = request.POST.copy()
>>>> errors = manipulator.get_validation_errors(new_data)
>>>> if not errors:
>>>>
>>>> ### Send MAIL
>>>> date= new_data['date_joined_date'] + " " +
>>>> new_data['date_joined_time']
>>>> confirmhash = set_hash(new_data
>>>> ['password'],
>>>> date)
>>>> link = "http://mysite.com/confirm/?" +
>>>> confirmhash
>>>> content = "something in here" + link
>>>> toMail = new_data['email']
>>>> send_mail('[mysite.com] Registration:
>>>> confirm', content, '[EMAIL PROTECTED]', [toMail],
>>>> fail_silently=False)
>>>>
>>>> ### SAVE USER
>>>> pw_hash = set_password(new_data
>>>> ['password'])
>>>> user = User.objects.create_user(new_data
>>>> ['username'], new_data['email'], pw_hash)
>>>> user.save()
>>>> return HttpResponseRedirect("/")
>>>>
>>>> else:
>>>> errors = new_data = {}
>>>>
>>>> ...
>>>>
>>>>
>>>> Am 17.07.2006 um 13:35 schrieb Aidas Bendoraitis:
>>>>
>>>>>
>>>>> A few weeks ago I browsed through Django core code to get a basic
>>>>> understanding how to create a user registration or any other form
>>>>> using generic manipulators and how to fill in some values (such as
>>>>> last_login) behind the scene.
>>>>>
>>>>> I was following the guidelines about manipulators at:
>>>>> http://www.djangoproject.com/documentation/forms/
>>>>>
>>>>> To create a user you should do something like that:
>>>>>
>>>>> def add_profile(request):
>>>>> from datetime import datetime
>>>>> user_manipulator = User.AddManipulator()
>>>>>
>>>>> if request.POST:
>>>>> new_user_data = request.POST.copy()
>>>>>
>>>>> # fields that have to be left unmodified
>>>>> #new_user_data['username'] = user.username
>>>>> new_user_data['password'] = new_password_data
>>>>> ['new_password']
>>>>> now = datetime.now()
>>>>> new_user_data['date_joined_date'] = now.strftime("%Y-%m-
>>>>> %d")
>>>>> new_user_data['date_joined_time'] = now.strftime("%H:%M:
>>>>> %S")
>>>>> new_user_data['last_login_date'] = "1900-01-01"
>>>>> new_user_data['last_login_time'] = "00:00:00"
>>>>> new_user_data['is_active'] = 'on'
>>>>> new_user_data['is_superuser'] = 'off'
>>>>> new_user_data['is_staff'] = 'off'
>>>>> user_errors = user_manipulator.get_validation_errors
>>>>> (new_user_data)
>>>>> if not user_errors:
>>>>> user_manipulator.do_html2python(new_user_data)
>>>>> user = user_manipulator.save(new_user_data)
>>>>> #user = User.objects.create_user(
>>>>> # new_user_data['username'],
>>>>> # new_user_data['email'],
>>>>> # new_user_data['password']
>>>>> #)
>>>>> user.set_password(new_user_data['password'])
>>>>> user.save()
>>>>> ...
>>>>>
>>>>> I hope this will help you. And if somebody has a better
>>>>> solution how
>>>>> to manage filling fields with values automagically, please share
>>>>> that
>>>>> wwith everybody.
>>>>>
>>>>> Good luck!
>>>>> Aidas Bendoraitis [aka Archatas]
>>>>>
>>>>>
>>>>> On 7/16/06, patrickk <[EMAIL PROTECTED]> wrote:
>>>>>>
>>>>>> nice. didn´t see that.
>>>>>>
>>>>>> Am 15.07.2006 um 18:29 schrieb [EMAIL PROTECTED]:
>>>>>>
>>>>>>>
>>>>>>> There is:
>>>>>>> http://code.djangoproject.com/wiki/FormField
>>>>>>>
>>>>>>> Chris
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>>
>>>>
>>>>
>>>>>
>>>>
>>>
>>>>
>>
>>
>>>
>>
>
> >
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---