def post(self, request): context = prepare_context(request, show_navbar=True) context['selectedTicket'] = request.POST.get('selectedTicket') if request.POST.get('paymentMethod'): payment_method = request.POST.get('paymentMethod') user = User.objects.get(username=request.user.username) account = Account.objects.get(user_id=user) ticket_info = list( map(int, request.POST.get('selectedTicket').split('-'))) ticket = Ticket.objects.create( buyer=account, boardingTrain=Train.objects.get(pk=ticket_info[0]), fromStation=Timetable.objects.get(pk=ticket_info[1]), toStation=Timetable.objects.get(pk=ticket_info[2]), transactionInformation=payment_method, transactionStatus=False, bookingStatus=False) # print(payment_method, ticket) context['ticket'] = ticket return redirect('selectTransaction', ticket_id=ticket.id) else: return render(request, 'booking/selectTransaction.html', context=context)
def post(self, request): context = prepare_context(request, show_navbar=True) annoucement_form = AnnouncementForm(request.POST) user = request.user account = Account.objects.get(user_id_id=user.id) if annoucement_form.is_valid(): data_form = annoucement_form.clean() if data_form['announce_text'] is None: context['error'] = { 'errorMsg': 'Please fill in the announcement form' } else: announcement = Announcement.objects.create( announce_text=data_form['announce_text'], announce_time=datetime.now(), view_count=0, announcer_user_id=account.id) announcement.save() return redirect('/announcement/') context['announcement_form'] = annoucement_form return render(request, 'announcement/createAnnouncement.html', context=context)
def post(self, request): context = prepare_context(request, show_navbar=True) context['schedule'] = { 'from': request.POST.get('from'), 'to': request.POST.get('to') } return render(request, 'booking/searchSchedule.html', context=context)
def dashboard(request): context = prepare_context(request, show_navbar=True) context = { 'show_navbar': True, 'announcement': Announcement.objects.order_by("-announce_time"), 'stations': Station.objects.all() } return render(request, 'dashboard.html', context=context)
def get(self, request, announcement_id): context = prepare_context(request, show_navbar=True) # announcer = Announcer.objects.get(user_id=account.id) announcement_form = AnnouncementForm() context['announcement_form'] = announcement_form context['announcement'] = Announcement.objects.get(pk=announcement_id) return render(request, 'announcement/editAnnouncement.html', context=context)
def successful_booking(request, ticket_id): context = prepare_context(request, show_navbar=True) ticket = Ticket.objects.get(id=ticket_id) user = User.objects.get(username=request.user.username) account = Account.objects.get(user_id=user) if ticket.buyer.id != account.id: return redirect('/') else: context['ticket'] = ticket return render(request, 'booking/successfulBooking.html', context=context)
def get(self, request): context = prepare_context(request, show_navbar=True) user = request.user context['user'] = user account = Account.objects.get(user_id_id=user.id) # announcer = Announcer.objects.get(user_id=account.id) context['announcement'] = Announcement.objects.all() context['is_announcer'] = account.user_type == 'AN' return render(request, 'announcement/viewAnnouncement.html', context=context)
def post(self, request, ticket_id): context = prepare_context(request, show_navbar=True) ticket = Ticket.objects.get(pk=ticket_id) transaction_information = request.POST.get('transaction_information') transaction_status = request.POST.get('transaction_status') booking_status = request.POST.get('booking_status') ticket.transactionInformation = transaction_information ticket.transactionStatus = HTMLCheckboxToBoolean(transaction_status) ticket.bookingStatus = HTMLCheckboxToBoolean(booking_status) ticket.save() return redirect('/transaction')
def get(self, request): context = prepare_context(request, show_navbar=True) user = request.user # announcer = Announcer.objects.get(user_id=account.id) context['announcement'] = Announcement.objects.filter( announcer_user_id=account.id) context['user'] = user announcement_form = AnnouncementForm() context['announcement_form'] = announcement_form return render(request, 'announcement/createAnnouncement.html', context=context)
def get(self, request): context = prepare_context(request, show_navbar=True) user = User.objects.get(username=request.user.username) account = Account.objects.get(user_id=user) print(account.user_type) is_TS = account.user_type == 'TS' context['is_TS'] = is_TS if is_TS: tickets = Ticket.objects.all().order_by("-buyDate") context['ticket'] = tickets else: tickets = Ticket.objects.filter(buyer=account).order_by("-buyDate") context['ticket'] = tickets return render(request, 'booking/historyBooking.html', context=context)
def post(self, request, announcement_id): context = prepare_context(request, show_navbar=True) announcement = Announcement.objects.get(pk=announcement_id) text = request.POST.get('announce_text') count = request.POST.get('view_count') if text != announcement.announce_text: announcement.announce_text = text if count != announcement.view_count: announcement.view_count = count announcement.announce_time = datetime.now() announcement.save() return redirect('/announcement/')
def get(self, request): context = prepare_context(request, show_navbar=True) user = request.user context['user'] = user account = Account.objects.get(user_id_id=user.id) if account.user_type == 'TS': context['ticket'] = Ticket.objects.all() context['is_TS'] = True else: context['ticket'] = Ticket.objects.filter(buyer_id=account.id) context['schedule'] = Timetable.objects.all() context['station'] = Station.objects.all() context['train'] = Train.objects.all() return render(request, 'transaction/viewTransaction.html', context=context)
def post(self, request): context = prepare_context(request, show_navbar=True) context['timetable'] = Timetable.objects.filter() from_st = request.POST.get('from') to_st = request.POST.get('to') if from_st != to_st: timetables = [] train_filter = Timetable.objects.filter( Q(station_id__in=[from_st, to_st])).values('train_id') train_filter_id = set([t['train_id'] for t in train_filter]) for train in Train.objects.filter(id__in=train_filter_id): train_timetable = Timetable.objects.filter( train_id__exact=train.id) from_filter = train_timetable.filter(station_id=from_st) to_filter = train_timetable.filter(station_id=to_st) if (from_filter != None and to_filter != None and len(from_filter) > 0 and len(to_filter) > 0): if (from_filter[0].departed_time and to_filter[0].arrived_time and from_filter[0].departed_time < to_filter[0].arrived_time): timetables.append({ 'train': train, 'schedule': { 'from': from_filter[0], 'to': to_filter[0] } }) context['timetables'] = timetables context['stations'] = Station.objects.all() context['schedule'] = { 'from': Station.objects.get(pk=from_st), 'to': Station.objects.get(pk=to_st) } else: context['train'] = Train.objects.all() context['timetable'] = Timetable.objects.all() context['stations'] = Station.objects.all() context['error'] = { 'errorMsg': 'Please select different stations.' } return render(request, 'schedule/searchTimetable.html', context=context)
def get(self, request): context = prepare_context(request, show_navbar=True) context['stations'] = Station.objects.all() return render(request, 'booking/searchSchedule.html', context=context)
def get(self, request): context = prepare_context(request, show_navbar=True) return redirect('booking/schedules/')
def get(self, request): context = prepare_context(request, show_navbar=True) context['train'] = Train.objects.all() context['timetable'] = Timetable.objects.all() context['stations'] = Station.objects.all() return render(request, 'schedule/searchTimetable.html', context=context)
def get(self, request, ticket_id): context = prepare_context(request, show_navbar=True) context['ticket'] = Ticket.objects.get(pk=ticket_id) return render(request, 'transaction/editTransaction.html', context=context)