コード例 #1
0
ファイル: forms.py プロジェクト: gerlv/airy-sample
    def clean(self):
        if 'username' in self.cleaned_data and 'password' in self.cleaned_data:
            username = self.cleaned_data['username']
            if not '@' in username:
                user = authenticate(username=username, password=self.cleaned_data['password'])
            else:
                user = authenticate(email=username, password=self.cleaned_data['password'])
            if not user:
                raise forms.ValidationError('Email or password are incorrect')
        else:
            return None

        self.user = user
        return user
コード例 #2
0
    def clean(self):
        if 'username' in self.cleaned_data and 'password' in self.cleaned_data:
            username = self.cleaned_data['username']
            if not '@' in username:
                user = authenticate(username=username,
                                    password=self.cleaned_data['password'])
            else:
                user = authenticate(email=username,
                                    password=self.cleaned_data['password'])
            if not user:
                raise forms.ValidationError('Email or password are incorrect')
        else:
            return None

        self.user = user
        return user
コード例 #3
0
ファイル: views.py プロジェクト: yogeshc/CloudEngine
 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)
コード例 #4
0
ファイル: forms.py プロジェクト: gerlv/airy-sample
    def save(self, obj):
        user = User(username=self.cleaned_data['username'],
                    first_name=self.cleaned_data['first_name'],
                    last_name=self.cleaned_data['last_name'],
                    email=self.cleaned_data['email'],
                    education=[],
                    experience=[],
                    services=[]
        )
        user.set_password(self.cleaned_data['password'])
        user.save()

        user = authenticate(username=self.cleaned_data['username'], password=self.cleaned_data['password'])

        session_key = md5(self.cleaned_data['username'] + self.cleaned_data['password'])
        obj.set_secure_cookie("session_key", session_key.hexdigest())
        session = Session.objects.get_or_create(user = user)[0]
        session.session_key = session_key.hexdigest()
        session.save()

        return user
コード例 #5
0
    def save(self, obj):
        user = User(username=self.cleaned_data['email'],
                    first_name=self.cleaned_data['first_name'],
                    last_name=self.cleaned_data['last_name'],
                    email=self.cleaned_data['email'],
                    education=[],
                    experience=[],
                    services=[])
        user.set_password(self.cleaned_data['password'])
        user.save()

        user = authenticate(username=self.cleaned_data['email'],
                            password=self.cleaned_data['password'])

        session_key = md5(self.cleaned_data['username'] +
                          self.cleaned_data['password'])
        obj.set_secure_cookie("session_key", session_key.hexdigest())
        session = Session.objects.get_or_create(user=user)[0]
        session.session_key = session_key.hexdigest()
        session.save()

        return user