Ejemplo n.º 1
0
def user_logout_view(request):
    manager = UsersManager()

    if request.method == 'GET':
        cur_user = request.session.get('cur_user', {})
        if cur_user:
            uid = cur_user['uid']
        else:
            uid = -1073741823

        result = manager.logout(uid)
        if result[:9] == 'Succeeded':
            del request.session['cur_user']
            response_data = {
                'result': 'succeeded',
                'user': manager.get_cur_user().to_dict(),
            }
        else:
            response_data = {
                'result': 'failed',
                'errorMessage': result,
            }

        return HttpResponse(json.dumps(response_data))

    else:
        raise Http404
Ejemplo n.º 2
0
def user_login_view(request):
    manager = UsersManager()

    if request.method == 'POST':
        try:
            data = json.loads(request.body.decode())
            uname = data['username']
            passwd = data['password']
        except KeyError:
            response_data = {
                'result': "failed",
                'errorMessage': 'KeyError',
            }
        else:
            result = manager.login(uname, passwd)

            if result[:9] == 'Succeeded':
                response_data = {
                    'result': 'succeeded',
                    'loggedin': True,
                }
                cur_user = manager.get_cur_user()
                request.session['cur_user'] = cur_user.to_dict()

            else:
                response_data = {
                    'result': 'failed',
                    'loggedin': False,
                    'errorMessage': result,
                }

        return HttpResponse(json.dumps(response_data))

    elif request.method == 'GET':
        cur_user = request.session.get('cur_user', {})
        if cur_user:
            response_data = {
                'result': 'succeeded',
                'user': cur_user,
                'loggedin': True,
            }
        else:
            response_data = {
                'result': 'succeeded',
                'loggedin': False,
            }

        return HttpResponse(json.dumps(response_data))

    else:
        raise Http404
Ejemplo n.º 3
0
class User(AbstractBaseUser, PermissionsMixin):

    USERNAME_FIELD = 'email'

    objects = UsersManager()

    first_name = models.CharField(blank=True, max_length=255)

    last_name = models.CharField(blank=True, max_length=255)

    email = models.EmailField(unique=True)

    is_active = models.BooleanField(default=True)

    def __str__(self):
        return self.first_name + ' ' + self.last_name

    def get_short_name(self):
        return self.first_name + ' ' + self.last_name

    def get_full_name(self):
        return self.first_name + ' ' + self.last_name

    @property
    def is_staff(self):
        return self.is_superuser
Ejemplo n.º 4
0
def user_registration_view(request):
    manager = UsersManager()

    if request.method == 'POST':
        cur_user = request.session.get('cur_user', {})
        if cur_user:
            response_data = {
                'result': "failed",
                'user': cur_user,
                'loggedin': True,
                'errorMessage': 'A user has already logged in. Please log out first.',
            }

        else:
            try:
                data = json.loads(request.body.decode())
                uname = data['username']
                passwd = data['password']
                email = data['email']
            except KeyError:
                response_data = {
                    'result': 'failed',
                    'errorMessage': 'KeyError',
                }
            else:
                result = manager.registration(uname, passwd, email)

                if result[:9] == 'Succeeded':
                    cur_user = manager.get_cur_user().to_dict()
                    response_data = {
                        'result': 'succeeded',
                        'user': cur_user,
                        'loggedin': False,
                    }

                else:
                    response_data = {
                        'result': 'failed',
                        'errorMessage': result,
                    }

        return HttpResponse(json.dumps(response_data))

    else:
        raise Http404
Ejemplo n.º 5
0
def user_authentication_view(request, uid, token):
    manager = UsersManager()

    if request.method == 'GET':
        result = manager.registration_authentication(uid, token)
        if result[:9] == 'Succeeded':
            response_data = {
                'result': 'succeeded',
            }
        else:
            response_data = {
                'result': 'failed',
                'errorMessage': result,
            }

        return HttpResponse(json.dumps(response_data))

    else:
        raise Http404
Ejemplo n.º 6
0
def user_info_update(request):
    manager = UsersManager()

    if request.method == 'POST':
        try:
            data = json.loads(request.body.decode())
            old_passwd = data['oldPassword']
            new_passwd = data['newPassword']
            new_email = data['new_email']
        except KeyError:
            response_data = {
                'result': 'failed',
                'errorMessage': 'KeyError',
            }
        else:
            cur_user = request.session.get('cur_user', {})
            if cur_user:
                uid = cur_user['uid']
            else:
                uid = -1073741823

            result = manager.update(uid, old_passwd, new_passwd, new_email)

            if result[:9] == 'Succeeded':
                response_data = {
                    'result': 'succeeded',
                    'user': manager.get_cur_user().to_dict()
                }
            else:
                response_data = {
                    'result': "failed",
                    'errorMessage': result,
                }

        return HttpResponse(json.dumps(response_data))

    else:
        raise Http404