Esempio n. 1
0
def listing(request, shard_id, list_id):
    print(shard_id)
    listing_query = ListingOwned.objects
    set_user_for_sharding(listing_query, shard_id)
    listing = listing_query.get(pk=list_id)

    return render(request, 'app/listing.html', {'listing': listing})
Esempio n. 2
0
def apartment(request, shard_id, apt_id):
    print(shard_id)
    apt_query = ApartmentOwned.objects
    set_user_for_sharding(apt_query, shard_id)
    apartment = apt_query.get(pk=apt_id)

    return render(request, 'app/apartment.html', {'apartment': apartment})
Esempio n. 3
0
def book(request):
    if request.method == 'POST':

        listing_query = ListingOwned.objects
        set_user_for_sharding(listing_query, request.POST.get('shard_id'))
        l = listing_query.get(pk=request.POST.get('list_id'))

        print l
        if (not l.is_booked) and l.is_active:
            a = l.apartment
            user_pk = request.user.id

            user_query = SubletUser.objects
            set_user_for_sharding(user_query, user_pk)
            s_user = user_query.get(user_pk=user_pk)
    
            apartment_wanted = ApartmentWanted(user_pk=user_pk, street=a.street, city=a.city, state=a.state, zip=a.zip, user=s_user, sqFt=a.sqFt, year=a.year, min_from_subway=a.min_from_subway)
            apartment_wanted.save()
            listing_wanted = ListingWanted(user_pk=user_pk, title=l.title, price=l.price, duration=l.duration, apartment=apartment_wanted)
            listing_wanted.save()
            booking_placed = BookingPlaced(user_pk=user_pk, duration=listing_wanted.duration, listing=listing_wanted, user=s_user)
            booking_placed.save()
            l.is_booked = True
            l.is_active = False
            l.save()
            print s_user, s_user.user_pk
            print apartment_wanted, apartment_wanted.user_pk
            print listing_wanted, listing_wanted.user_pk
            print booking_placed, booking_placed.user_pk
            return JsonResponse({'success': 'success'})
        else:
            return  JsonResponse({'success': 'Listing already booked'})
            # return redirect('/sublet/bookings')
    else:
        return render(request, 'app/listings.html')
Esempio n. 4
0
def profile(request):
    user_query = SubletUser.objects
    set_user_for_sharding(user_query, request.user.id)
    user = user_query.get(user_pk=request.user.id)

    #find all my apts
    apt_query = ApartmentOwned.objects
    set_user_for_sharding(apt_query, request.user.id)
    my_apartments = apt_query.filter(user=user)
    print ("my apts:" , my_apartments)
    #find all my current open listing
    listing_query = ListingOwned.objects
    set_user_for_sharding(listing_query, request.user.id)
    open_listings = listing_query.filter(user_pk=request.user.id, is_booked = 0, is_active=1)
    print  ("open_listings:" , open_listings)

    #find all my closed listing
    closed_listings = listing_query.filter(user_pk=request.user.id, is_booked = 1, is_active=0)
    print  ("closed_listings:" , closed_listings)

    #find all my bookings
    bookings_query = BookingPlaced.objects
    set_user_for_sharding(bookings_query, request.user.id)
    my_bookings = bookings_query.filter(user=user)
    print  ("my_bookings:" , my_bookings)

    return render(request, 'app/profile.html', {'s_user': user, 'apartments': my_apartments, 'open_listings': open_listings, 'closed_listings': closed_listings, 'bookings': my_bookings})
Esempio n. 5
0
def editListing(request, shard_id, list_id):
    listing_query = ListingOwned.objects
    set_user_for_sharding(listing_query, shard_id)
    listing = listing_query.get(pk=list_id)
    print(shard_id)
    if request.method == 'POST':
        title = request.POST.get('title')
        price = request.POST.get('price')
        duration = request.POST.get('duration')
        listing.title = title
        listing.price = price
        listing.duration = duration
        listing.save()
        return redirect('/sublet/profile')
    else:
        apartment = listing.apartment
        print apartment
        json_apartment = [apartment.get_address(), apartment.sqFt, apartment.year, apartment.min_from_subway]
        return render(request, 'app/editlisting.html', {'apartment': apartment, 'json_apartment': json_apartment, 'listing': listing})
Esempio n. 6
0
def addListing(request):
    if request.method == 'POST':
        title = request.POST.get('title')
        price = request.POST.get('price')
        duration = request.POST.get('duration')
        apartment_id = request.POST.get('apartment')

        user_query = ApartmentOwned.objects
        set_user_for_sharding(user_query, request.user.id)
        apartment = user_query.get(pk=apartment_id)

        new_listing = ListingOwned(user_pk=request.user.id, title=title, price=price, duration=duration, apartment=apartment)
        new_listing.save()
        return redirect('/sublet/listings/')
    else:
        user_query = SubletUser.objects
        set_user_for_sharding(user_query, request.user.id)
        user = user_query.get(user_pk=request.user.id)

        apt_query = ApartmentOwned.objects
        set_user_for_sharding(apt_query, request.user.id)
     

        apartments = apt_query.filter(user=user)
        json_apartments = []
        for apartment in apartments:
            json_apartments.append([apartment.get_address(), apartment.sqFt, apartment.year, apartment.min_from_subway])
        return render(request, 'app/addlisting.html', {'apartments': apartments, 'json_apartments': json_apartments})
Esempio n. 7
0
def addApartment(request):
    if request.method == 'POST':
        street = request.POST.get('street')
        city = request.POST.get('city')
        state = request.POST.get('state')
        zip = request.POST.get('zip')

        
        user_query = SubletUser.objects
        set_user_for_sharding(user_query, request.user.id)
        user = user_query.get(user_pk=request.user.id)

       
        sqFt = float(request.POST.get('sqFt'))
        year = int(request.POST.get('year'))
        min_from_subway = int(request.POST.get('min'))

        apartment = ApartmentOwned(user_pk=request.user.id, street=street, city=city, state=state, zip=zip, user=user, sqFt=sqFt, year=year, min_from_subway=min_from_subway)
        apartment.save()
        return redirect('/sublet/apartments/')
    else:
        return render(request, 'app/addapartment.html')