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 %} diff --git a/cinema_manager/templates/cinema_manager/add_showing.html b/cinema_manager/templates/cinema_manager/add_showing.html index 166233ec4344b43675030e326370f8ce48bac358..91f9337648676c92e5aed3bc02c09aee78a8381f 100644 --- a/cinema_manager/templates/cinema_manager/add_showing.html +++ b/cinema_manager/templates/cinema_manager/add_showing.html @@ -36,15 +36,13 @@ <input type="time" id="showing_time" name="showing_time"><br><br> <label for="Screen">Screen Number:</label><br> - <select name="Screen" required> + <select name="Screen" id="Screen" name="Screen" required> <option value="Screen One">Screen One</option> <option value="Screen Two">Screen Two</option> <option value="Screen Three">Screen Three</option> <option value="Screen Four">Screen Four</option> <option value="Screen Five">Screen Five</option> </select> - - <input type="text" id="Screen" name="Screen"><br><br> <br><br> <a href="{% url 'select-showing' %}"><button type="button" class="w3-button w3-red button4">Go back</button></a> diff --git a/cinema_manager/templates/cinema_manager/edit_showing.html b/cinema_manager/templates/cinema_manager/edit_showing.html index d9f2d8b7892656ebc242e18420d7cfa6d5e9ecc1..e92e9ae7c0809b615f6446a3504189e1e007928c 100644 --- a/cinema_manager/templates/cinema_manager/edit_showing.html +++ b/cinema_manager/templates/cinema_manager/edit_showing.html @@ -50,7 +50,13 @@ body { <input type="time" id="showing_time" name="showing_time" value="{{ i.showingTime }}"><br><br> <label for="Screen">Screen Number:</label><br> - <input type="text" id="Screen" name="Screen" value="{{ i.Screen }}"><br><br> + <select name="Screen" id="Screen" name="Screen" required> + <option value="Screen One">Screen One</option> + <option value="Screen Two">Screen Two</option> + <option value="Screen Three">Screen Three</option> + <option value="Screen Four">Screen Four</option> + <option value="Screen Five">Screen Five</option> + </select> <br><br> <a href="{% url 'showing-list' %}"><button type="button" class="w3-button w3-red button4">Go back</button></a>