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 django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to