diff --git a/accountmanager/__pycache__/models.cpython-39.pyc b/accountmanager/__pycache__/models.cpython-39.pyc index 458771c2560d0b56feda044c33aac7d7c4a31126..5786956fcafba185890d664774fbb5d870e9ccec 100644 Binary files a/accountmanager/__pycache__/models.cpython-39.pyc and b/accountmanager/__pycache__/models.cpython-39.pyc differ diff --git a/accountmanager/models.py b/accountmanager/models.py index 49805825a782ed9cd89d3efda901b9001cba245c..b8938b9af436499d3e151194448f5f97471a08ba 100644 --- a/accountmanager/models.py +++ b/accountmanager/models.py @@ -57,8 +57,64 @@ def dataStatements(): client = pymongo.MongoClient('mongodb+srv://nathan2miller:hj86z7mW3ZnWG1HH@uweflix.l8xahep.mongodb.net/?retryWrites=true&w=majority') db = client['test'] cl = db["Bookings"] - data = cl.find() + cursor = cl.find() cl = db["Showings"] + cursor2 = cl.find() + cl = db["Accounts"] + cursor3 = cl.find() + + pipeline = [ + { + '$lookup': { + 'from': 'Showings', + 'localField': 'ShowingID', + 'foreignField': '_id', + 'as': 'showings' + } + }, + + { + '$lookup': { + 'from': 'Accounts', + 'localField': 'AccountID', + 'foreignField': '_id', + 'as': 'accounts' + } + }, + { + '$lookup': { + 'from': 'Clubs', + 'localField': 'accounts._id', + 'foreignField': 'Club_id', + 'as': 'clubs' + } + }, + { + '$project': { + 'NumberOfTickets': 1, + 'TotalCost': 1, + 'PaymentMethod': 1, + 'DateOfTransaction': 1, + 'filmTitle': 1, + 'AccountID': 1, + 'ShowingID': 1, + 'showings._id': 1, + 'showings.filmTitle': 1, + 'showings.showingTime': 1, + 'showings.date': 1, + 'accounts._id': 1, + 'accounts.firstName': "$accounts.firstName", + 'clubs._id': 1, + 'clubs.Name': 1, + } + } + ] + + result = client['test']['Bookings'].aggregate(pipeline) + + data = [doc for doc in result] + print(data) + #for x in data: # data[x].append(cl.find({ "_showingID" : x.ShowingID }, {"filmTitle":1})) return data \ No newline at end of file diff --git a/accountmanager/templates/accountmanager/viewStatements.html b/accountmanager/templates/accountmanager/viewStatements.html index a48278fd99fc34066c754ba11903f77cd38f26c0..4e30317f5f79679a3c4e4e35dce23c846d837fda 100644 --- a/accountmanager/templates/accountmanager/viewStatements.html +++ b/accountmanager/templates/accountmanager/viewStatements.html @@ -35,9 +35,6 @@ <th scope="col" class="w3-indigo">Film Title</th> <th scope="col" class="w3-indigo">Showing Time</th> <th scope="col" class="w3-indigo">Showing Date</th> - - <th scope="col" class="w3-indigo">Payer Name</th> - <th scope="col" class="w3-indigo">Club Name</th> </tr> </thead> <tbody> @@ -47,7 +44,9 @@ <td>{{ x.TotalCost }}</td> <td>{{ x.PaymentMethod }}</td> <td>{{ x.DateOfTransaction }}</td> - <td>{{ x.filmTitle }}</td> + <td>{{ x.showings.0.filmTitle }}</td> + <td>{{ x.showings.0.showingTime }}</td> + <td>{{ x.showings.0.date }}</td> </tr> {% endfor %}