Beispiel #1
0
def user_application(request):
    if request.method == 'POST':
        user = User.objects.get(uid=request.data['user'])
        if Allotment.objects.filter(
                user=user).exists() or Allotment.objects.filter(
                    user__aadhar_no=user.spouse_aadhar).exists():
            return_obj = ReturnObj().ret(403)
            return_obj['content']['result'][
                'message'] = 'The user has already been allocated a house.'
            return Response(data=return_obj['content'],
                            status=return_obj['status'])
        request.data['user'] = user.id
        serializer = RegistrationWriteSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return_obj = ReturnObj().ret(201)
            return_obj['content']['result']['application'] = serializer.data
        else:
            return_obj = ReturnObj().ret(400)
            return_obj['content']['result']['error'] = serializer.errors
    elif request.method == 'GET':
        uid = request.query_params.get('uid')
        user = User.objects.get(uid=uid)
        registrations = Registration.objects.filter(user=user)
        serializer = RegistrationReadSerializer(registrations, many=True)
        return_obj = ReturnObj().ret(200)
        return_obj['content']['result']['registrations'] = serializer.data
    return Response(data=return_obj['content'], status=return_obj['status'])
Beispiel #2
0
def login_user(request):
    email = request.data.get('email')
    password = request.data.get('password')
    user = None
    try:
        user = User.objects.get(email=email)
    except User.DoesNotExist:
        return_obj = ReturnObj().ret(401)
        return_obj['content']['result'][
            'message'] = 'No user with the given username exists.'
        return Response(data=return_obj['content'],
                        status=return_obj['status'])

    if user:
        if user.password == password:
            if user.is_login:
                user_logout(user, user.session_set[0])
            session = user_login(user)
            return_obj = ReturnObj().ret(200)
            return_obj['content']['result']['message'] = 'Login Successful'
            return_obj['content']['result']['session_id'] = session.session_id
            return_obj['content']['result']['user_id'] = session.user.uid
        else:
            return_obj = ReturnObj().ret(401)
            return_obj['content']['result']['message'] = 'Incorrect Password.'

    return Response(data=return_obj['content'], status=return_obj['status'])
Beispiel #3
0
def add_flats(request):
    serializer = FlatWriteSerializer(request.data)
    if serializer.is_valid():
        return_obj = ReturnObj().ret(201)
        serializer.save()
        return_obj['content']['result']['scheme'] = serializer.data
    else:
        return_obj = ReturnObj().ret(400)
        return_obj['content']['result']['errors'] = serializer.errors
    return Response(data=return_obj['content'], status=return_obj['status'])
Beispiel #4
0
def create_admin(request):
    serializer = AdminSerializer(data=request.data)
    if serializer.is_valid():
        serializer.save()
        return_obj = ReturnObj().ret(201)
        return_obj['content']['result'] = serializer.data
    else:
        print(serializer.errors)
        return_obj = ReturnObj().ret(400)
        return_obj['content']['result'] = serializer.errors

    return Response(data=return_obj['content'], status=return_obj['status'])
Beispiel #5
0
def register_user(request):
    data = request.data
    user = UserRegistrationSerializer(data=data)
    if user.is_valid():
        user.save()
        return_obj = ReturnObj().ret(201)
        return_obj['content']['result'] = user.data
    else:
        print(user.errors)
        return_obj = ReturnObj().ret(400)
        return_obj['content']['result'] = user.errors

    return Response(data=return_obj['content'], status=return_obj['status'])
def upload_file(request):
    n = len(request.data)
    for i in range(n):
        request.data[i]['user'] = User.objects.get(
            uid=request.data[i]['user']).id
    serializer = DocumentSerializer(data=request.data, many=True)
    if serializer.is_valid():
        serializer.save()
        return_obj = ReturnObj().ret(201)
        return_obj['content']['result']['message'] = 'File uploaded'
    else:
        return_obj = ReturnObj().ret(400)
        return_obj['content']['result']['errors'] = serializer.errors
    return Response(data=return_obj['content'], status=return_obj['status'])
Beispiel #7
0
def logout_user(request):
    session_id = request.data.get('session_id')
    try:
        session = Session.objects.get(session_id=session_id, auto_logout=None)
    except Session.DoesNotExist:
        return_obj = ReturnObj().ret(404)
        return_obj['content']['result'][
            'message'] = 'The given session does not exist.'
        return Response(data=return_obj['content'],
                        status=return_obj['status'])
    if session.auto_logout is not None:
        return_obj = ReturnObj().ret(409)
        return_obj['content']['result'][
            'message'] = 'The user is already logged out.'
        return Response(data=return_obj['content'],
                        status=return_obj['status'])
    user_logout(session.user, session)
    return_obj = ReturnObj().ret(200)
    return_obj['content']['result']['message'] = 'Session successfully closed.'
    return Response(data=return_obj['content'], status=return_obj['status'])
Beispiel #8
0
def validate_user(request):
    uid = request.data['uid']
    user = User.objects.get(uid=uid)
    employee = Admin.objects.get(email=request.data['email'])
    user.verified_by = employee
    user.is_verified = request.data['verified']
    user.save()
    return_obj = ReturnObj().ret(201)
    return_obj['content']['result']['message'] = 'User validation successful.'
    return Response(data=return_obj['content']['result'],
                    status=return_obj['status'])
Beispiel #9
0
def login_employee(request):
    email = request.data.get('email')
    password = request.data.get('password')
    employee = None
    try:
        employee = Admin.objects.get(email=email)
    except Admin.DoesNotExist:
        return_obj = ReturnObj().ret(401)
        return_obj['content']['result'][
            'message'] = 'No user with the given username exists.'
        return Response(data=return_obj['content'],
                        status=return_obj['status'])

    if employee:
        if employee.password == password:
            return_obj = ReturnObj().ret(200)
            return_obj['content']['result']['message'] = 'Login Successful'
        else:
            return_obj = ReturnObj().ret(401)
            return_obj['content']['result']['message'] = 'Incorrect Password.'

    return Response(data=return_obj['content'], status=return_obj['status'])
def notification(request):
    if request.method == 'GET':
        notifications = Notification.objects.filter(
            start_date__lte=datetime.now(), end_date__gte=datetime.now())
        serializer = NotificationSerializer(notifications, many=True)
        return_obj = ReturnObj().ret(200)
        return_obj['content']['result']['notifications'] = serializer.data
        return Response(data=return_obj['content'],
                        status=return_obj['status'])
    elif request.method == 'POST':
        serializer = NotificationSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return_obj = ReturnObj().ret(201)
            return_obj['content']['result']['notification'] = serializer.data
            return Response(data=return_obj['content'],
                            status=return_obj['status'])
        else:
            return_obj = ReturnObj().ret(400)
            return_obj['content']['result']['errors'] = serializer.errors
            return Response(data=return_obj['content'],
                            status=return_obj['status'])
Beispiel #11
0
def get_schemes(request):
    if request.query_params.get('admin'):
        schemes = Scheme.objects.all()
        serializer = SchemeSerializer(schemes, many=True)
    elif request.query_params.get('scheme_slug'):
        scheme_slug = request.query_params.get('scheme_slug')
        try:
            scheme = Scheme.objects.get(slug=scheme_slug)
        except Scheme.DoesNotExist:
            return_obj = ReturnObj().ret(404)
            return_obj['content']['result']['message'] = 'Invalid slug.'
            return Response(data=return_obj['content'],
                            status=return_obj['status'])
        serializer = SchemeSerializer([scheme], many=True)

    else:
        schemes = Scheme.objects.filter(start_date__lte=datetime.now(),
                                        end_date__gte=datetime.now())
        serializer = SchemeSerializer(schemes, many=True)

    return_obj = ReturnObj().ret(200)
    return_obj['content']['result']['schemes'] = serializer.data
    return Response(data=return_obj['content'], status=return_obj['status'])
def allocate_flat(request):
    application = Registration.objects.get(
        registration_id=request.data['registration_id'])
    allot = Allotment(user=application.user,
                      flat=application.flat,
                      address=application.flat.scheme.location,
                      amount_to_pay=application.flat.estimate_cost)
    allot.save()
    return_obj = ReturnObj().ret(201)
    return_obj['content']['result'] = {
        'allotment_id': allot.id,
        'message': 'Flat has been allocated.'
    }
    return Response(data=return_obj['content'], status=return_obj['status'])
Beispiel #13
0
def user_details(request):
    if request.query_params.get('session_id'):
        session_id = request.query_params.get('session_id')
        session = Session.objects.filter(session_id=session_id)
        if len(session) == 0:
            return_obj = ReturnObj().ret(404)
            return_obj['content']['result'][
                'message'] = "Session id doesn't exist."
            return Response(data=return_obj['content'],
                            status=return_obj['status'])
        else:
            serializer_data = UserReadSerializer(session[0].user).data
            return_obj = ReturnObj().ret(200)
            return_obj['content']['result']['user'] = serializer_data
            return Response(data=return_obj['content'],
                            status=return_obj['status'])
    else:
        users = User.objects.all()
        serializer = UserReadSerializer(users, many=True)
        return_obj = ReturnObj().ret(200)
        return_obj['content']['result']['user'] = serializer.data
        return Response(data=return_obj['content'],
                        status=return_obj['status'])
def get_file(request):
    uid = request.query_params['uid']
    if request.query_params.get('doc_type'):
        documents = Document.objects.get(
            user__uid=uid, document_type__slug=request.query_params['doc_type'])
    else:
        documents = Document.objects.filter(user__uid=uid)
    docs = []
    for doc in documents:
        docs.append({'doc_string': doc.document,
                     'mime_type': doc.mime_type,
                     'document_type': DocumentTypeSerializer(
                         doc.document_type).data})
    return_obj = ReturnObj().ret(200)
    return_obj['content']['result']['documents'] = docs
    return Response(data=return_obj['content'], status=return_obj['status'])
def doc_types(request):
    types = DocumentType.objects.all()
    serializer = DocumentTypeSerializer(types, many=True)
    return_obj = ReturnObj().ret(200)
    return_obj['content']['result']['document_types'] = serializer.data
    return Response(data=return_obj['content'], status=return_obj['status'])
def get_result(request):
    results = DrawResult.objects.filter(user__uid=request.data['uid'])
    serializer = DrawReadSerializer(results, many=True)
    return_obj = ReturnObj().ret(200)
    return_obj['content']['result']['results'] = serializer.data
    return Response(data=return_obj['content'], status=return_obj['status'])