Skip to content

Commit bccf69a

Browse files
authored
Merge pull request #7 from GradHackersGuild/varun_features
Merging varun_features into our main branch for first release
2 parents 2e1aa5d + dba86a3 commit bccf69a

12 files changed

Lines changed: 363 additions & 206 deletions

File tree

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,6 @@
11
name: run_test_cases
22

3-
on:
4-
push:
5-
branches:
6-
- main
7-
- varun_features
8-
- makarand_features
9-
- michelle_features
10-
- main_new
11-
- release
12-
pull_request:
13-
branches:
14-
- main
15-
- varun_features
16-
- makarand_features
17-
- michelle_features
18-
- main_new
19-
- release
3+
on: [pull_request, push]
204

215
jobs:
226
test_python:
@@ -40,6 +24,9 @@ jobs:
4024
python manage.py test
4125
pip install coverage
4226
coverage run manage.py test
27+
coverage xml
4328
4429
- name: Upload coverage to Codecov
45-
run: bash <(curl -s https://codecov.io/bash)
30+
env:
31+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
32+
run: bash <(curl -s https://codecov.io/bash) -f coverage.xml

PackTravel/urls.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@
3737
path('accounts/', include('allauth.urls')),
3838
path('logout/', LogoutView.as_view()),
3939
path('myrides/', userView.my_rides, name = 'search'),
40-
path('delete_ride/<ride_id>', userView.delete_ride, name = 'delete_ride')
41-
40+
path('delete_ride/<ride_id>', userView.delete_ride, name = 'delete_ride'),
41+
path('join_ride/<ride_id>',searchViews.join_ride,name='join_ride'),
42+
path('approve_rides/<ride_id>',userView.approve_rides,name='approve_rides'),
43+
path('approve_user/<ride_id>/<user_id>',userView.approve_user,name='approve_user'),
44+
path('ride_status/',userView.requested_rides,name='rides_status')
4245
]

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77

88
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7178601.svg)](https://doi.org/10.5281/zenodo.7178601)
9-
![Tests](https://img.shields.io/github/workflow/status/GradHackersGuild/PackTravel-Old/run_test_cases?lbranch=varun_featuresabel=tests&style=flat-square)
10-
[![codecov](https://codecov.io/gh/GradHackersGuild/PackTravel-Old/)
9+
![Tests](https://github.com/GradHackersGuild/PackTravel-Old/actions/workflows/run_test_cases.yml/badge.svg)
10+
[![Codecov](https://codecov.io/gh/GradHackersGuild/PackTravel-Old/branch/varun_features/graph/badge.svg)](https://codecov.io/gh/GradHackersGuild/PackTravel-Old)
1111
![Python Style Checker](https://github.com/GradHackersGuild/PackTravel-Old/actions/workflows/python_style_checker.yml/badge.svg)
1212
![Lint Python](https://github.com/GradHackersGuild/PackTravel-Old/actions/workflows/pylint.yml/badge.svg)
1313

publish/views.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ def select_route(request):
5959
return redirect(display_ride, ride_id=ride['_id'] )
6060
return render(request, 'publish/publish.html', {"username": username})
6161

62-
6362
def routeSelect(username, routes):
6463
intializeDB()
6564
user = userDB.find_one({"username": username})
@@ -112,7 +111,6 @@ def create_route(request):
112111
if ridesDB.find_one({"_id": ride["_id"]}) is None:
113112
ridesDB.insert_one(ride)
114113
return render(request, 'publish/publish.html', {"username": request.session['username']})
115-
116114

117115
# Add Edit functionality
118116

search/views.py

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
from http.client import HTTPResponse
22
from django.shortcuts import render,redirect
33
from numpy import True_, dtype
4-
import requests
5-
import json
64
from django.contrib.auth import login, authenticate
75
from django.contrib import messages
86
from django.contrib.auth.forms import UserCreationForm
@@ -24,6 +22,13 @@ def intializeDB():
2422
ridesDB = db.rides
2523
routesDB = db.routes
2624

25+
def is_user_in_list(username,list):
26+
try:
27+
list.index(username)
28+
return True
29+
except ValueError:
30+
return False
31+
2732
def search_index(request):
2833
intializeDB()
2934
if not request.session.has_key('username'):
@@ -32,32 +37,17 @@ def search_index(request):
3237
processed = list(ridesDB.find())
3338
for ride in processed:
3439
ride['id'] = ride['_id']
40+
#if condition ensures, requestor is not already a part of requested users or approved users
41+
if request.session['username'] != ride['owner'] and ride['availability'] > 0 and not is_user_in_list(request.session['username'],ride['requested_users']) and not is_user_in_list(request.session['username'],ride['confirmed_users']):
42+
ride['allow_to_join'] = True
3543
return render(request, 'search/search.html', {"username": request.session['username'], "rides": processed})
3644

37-
def request_ride(request, ride_id):
38-
"""This method processes the request from a user to be part of a ride"""
45+
def join_ride(request,ride_id):
46+
if not request.session.has_key('username'):
47+
request.session['alert'] = "Please login to create a ride."
48+
return redirect('index')
3949
intializeDB()
40-
41-
if not request.session.has_key("username"):
42-
request.session["alert"] = "Please login to request rides."
43-
return redirect("index")
44-
45-
# get ride information from db
46-
ride = ridesDB.find_one({"_id": ride_id})
47-
48-
# validation - check for edge cases
49-
if ride is not None:
50-
if ride["availability"] == 0:
51-
message = "Ride has reached max capacity."
52-
elif ride["owner"] == request.session["username"]:
53-
message = "Owner of the ride cannot request own rides."
54-
elif request.session["username"] in ride["confirmed_users"]:
55-
message = "You are already a confirmed member of this ride."
56-
else:
57-
# add/update request to ride
58-
ridesDB.update_one({"_id": ride_id}, {"$addToSet": {"requested_users": request.session["username"]}})
59-
message = "Request successful."
60-
print(message)
61-
62-
return redirect(requestsViews.requested_rides)
63-
50+
query = {"_id": ride_id}
51+
update = {"$push": {"requested_users": request.session['username']}}
52+
ridesDB.update_one(query,update)
53+
return search_index(request)

0 commit comments

Comments
 (0)