Exemple #1
0
 def post(self, request):
     data = None
     try:
         stream = StringIO.StringIO(request.body)
         data = JSONParser().parse(stream)
         data["app"] =  request.META['app']
     except Exception as e:
         self.logger.error("Unable to decode object. Error: %s"%str(e))
         return Response({"detail": "Invalid object."},
                         status=status.HTTP_400_BAD_REQUEST,
                         exception=True) 
     
     new_user = AppUser(**data)
     try:
         new_user.full_clean()
     except ValidationError as e:
         return Response(e.message_dict, status=status.HTTP_400_BAD_REQUEST)
     # todo: decide if we need to verify users's email address
     if Site._meta.installed:
         site = Site.objects.get_current()
     else:
         site = RequestSite(request)
     
     data["site"] = site
     app = request.META["app"]
     try:
         app_settings = AppSettings.objects.get(app = app)
         data["verify_email"] =  app_settings.verify_emails
     except AppSettings.DoesNotExist:
         pass
     
     new_user = AppUser.objects.create_user(**data)
     new_user.save()
     # Login the user
     user = authenticate(username=data["username"], password=data["password"])
     login(request, user)
     request.session.save()
     return Response({settings.SESSION_COOKIE_NAME : request.session.session_key,
                       "id" : user.id
                     },
                     status=status.HTTP_201_CREATED)
Exemple #2
0
 def save(self, handler):
     login(self.user, self.cleaned_data['password'], handler)
     return self.user
Exemple #3
0
 def save(self, handler):
     login(self.user, self.cleaned_data['password'], handler)
     return self.user
Exemple #4
0
 def save(self, handler, user):
     user.set_password(self.cleaned_data['password'])
     user.save()
     login(user, self.cleaned_data['password'], handler)
     return user
Exemple #5
0
 def save(self, handler, user):
     user.set_password(self.cleaned_data['password'])
     user.save()
     login(user, self.cleaned_data['password'], handler)
     return user