def post(self, request):
     form1 = forms.UserPrivilageForm()
     form2 = forms.NewServiceForm()
     if 'user_privilage' in request.POST:
         form1 = forms.UserPrivilageForm(request.POST)
         if form1.is_valid():
             return render(
                 request, self.template_name, {
                     'form1': forms.UserPrivilageForm(),
                     'form2': forms.NewServiceForm(),
                     'type': get_type(request),
                     'success1': '1',
                     'msg1': 'Request Processed'
                 })
         else:
             return render(
                 request, self.template_name, {
                     'form1': form1,
                     'form2': forms.NewServiceForm(),
                     'type': get_type(request),
                     'error1': '1'
                 })
     elif 'new_service' in request.POST:
         form2 = forms.NewServiceForm(request.POST)
         print(request.POST)
 def post(self, request):
     form = forms.BusSearchForm(request.POST)
     if form.is_valid():
         From = form.cleaned_data.get('From')
         To = form.cleaned_data.get('To')
         TravelDate = form.cleaned_data.get('TravelDate')
         if From != To and TravelDate >= datetime.date.today():
             query_string = 'From=' + quote(
                 str(form.cleaned_data.get('From'))) + '&To=' + quote(
                     str(form.cleaned_data.get(
                         'To'))) + '&TravelDate=' + quote(
                             str(form.cleaned_data.get('TravelDate')))
             return redirect(reverse('buses:Display') + '?' + query_string)
         else:
             return render(
                 request, self.template_name, {
                     'form': form,
                     'error': '1',
                     'msg': 'Incorrect Details',
                     'type': get_type(request)
                 })
     else:
         return render(
             request, self.template_name, {
                 'form': form,
                 'error': '1',
                 'msg': 'Invalid Details',
                 'type': get_type(request)
             })
Exemple #3
0
 def post(self, request):
     form1 = forms.UserPrivilageForm()
     if 'user_privilage' in request.POST:
         form1 = forms.UserPrivilageForm(request.POST)
         if form1.is_valid():
             return render(
                 request, self.template_name, {
                     'form1': forms.UserPrivilageForm(),
                     'type': get_type(request),
                     'success1': '1',
                     'msg1': 'Request Processed'
                 })
         else:
             return render(request, self.template_name, {
                 'form1': form1,
                 'type': get_type(request),
                 'error1': '1'
             })
     elif 'database_edit' in request.POST:
         db = models.DatabaseDetails.objects.filter(
             name=request.POST.get('name'))[0]
         db.ip_addr = request.POST.get('ip_addr')
         db.port = request.POST.get('port')
         db.save()
         utils.update_database_status()
         return redirect('person:Admin')
 def get(self, request, id):
     if is_authenticated(request) == None:
         return redirect('accounts:Login')
     else:
         form = forms.DeleteBookingForm()
         if id[0] == 'H':
             booking_details = models.BookingMetaData.objects.filter(id=id)
             if not booking_details:
                 print('NOT FOUND')
             else:
                 try:
                     booking = utils.get_hotel_booking_by_id_rep(id)
                     in_date = datetime.datetime.strptime(
                         booking.get('in_date'), "%Y-%m-%d").date()
                     cancel_option = datetime.date.today() < in_date
                     if booking.get('email') != request.session.get(
                             'email'):
                         print('NOT FOUND')
                     else:
                         hotel = models.ServiceMetaData.objects.get(
                             id=booking.get('service_id'))
                         return render(
                             request, self.template_name, {
                                 'form': form,
                                 'booking': booking,
                                 'hotel': hotel,
                                 'cancel_option': cancel_option,
                                 'type': get_type(request)
                             })
                 except:
                     print('INTERNAL ERROR')
         else:
             booking_details = models.BookingMetaData.objects.filter(id=id)
             if not booking_details:
                 print('NOT FOUND')
             else:
                 try:
                     booking = utils.get_bus_booking_by_id(id)
                     TravelDate = datetime.datetime.strptime(
                         booking.get('TravelDate'), "%Y-%m-%d").date()
                     cancel_option = datetime.date.today() < TravelDate
                     if booking.get('email') != request.session.get(
                             'email'):
                         print('NOT FOUND')
                     else:
                         bus = models.ServiceMetaData.objects.get(
                             id=booking.get('service_id'))
                         return render(
                             request, self.template_name_1, {
                                 'form': form,
                                 'booking': booking,
                                 'bus': bus,
                                 'cancel_option': cancel_option,
                                 'type': get_type(request)
                             })
                 except:
                     print('INTERNAL ERROR')
Exemple #5
0
 def post(self, request, id):
     form = forms.HotelBookForm(request.POST)
     hotel = self.get_hotel_details(id)
     available = int(request.POST.get('available'))
     if form.is_valid():
         rooms = int(form.cleaned_data.get('rooms'))
         if rooms > 0 and rooms <= available:
             new_id = 'H' + get_random_string(15)
             while (utils.check_booking_id(id=new_id) == False):
                 new_id = 'H' + get_random_string(15)
             db_name = utils.get_database_name()
             bill = int(hotel.get('price')) * int(
                 form.cleaned_data.get('rooms'))
             r = utils.new_hotel_booking(
                 db_name=db_name,
                 id=new_id,
                 service_id=id,
                 email=request.session.get('email'),
                 in_date=form.cleaned_data.get('in_date'),
                 out_date=form.cleaned_data.get('out_date'),
                 booking_date=datetime.date.today(),
                 rooms=form.cleaned_data.get('rooms'),
                 bill=bill)
             if r == 201:
                 print('BOOKING CONFIRMED')
             else:
                 return render(
                     request, self.template_name, {
                         'available': available,
                         'form': form,
                         'error': '1',
                         'msg': 'Internal Error. Try Again.',
                         'hotel': hotel,
                         'type': get_type(request)
                     })
         else:
             return render(
                 request, self.template_name, {
                     'available': available,
                     'form': form,
                     'error': '1',
                     'msg': 'Enter Valid number of Rooms',
                     'hotel': hotel,
                     'type': get_type(request)
                 })
     else:
         return render(
             request, self.template_name, {
                 'available': available,
                 'form': form,
                 'error': '1',
                 'msg': 'Invalid Submission',
                 'hotel': hotel,
                 'type': get_type(request)
             })
Exemple #6
0
 def get(self, request):
     if is_authenticated(request) != None and get_type(request) == 'A':
         form1 = forms.UserPrivilageForm()
         dbs = models.DatabaseDetails.objects.order_by('name')
         return render(request, self.template_name, {
             'form1': form1,
             'dbs': dbs,
             'type': get_type(request)
         })
     else:
         return redirect('accounts:Login')
 def get(self, request):
     if is_authenticated(request) != None and get_type(request) == 'A':
         form1 = forms.UserPrivilageForm()
         form2 = forms.NewServiceForm()
         return render(request, self.template_name, {
             'form1': form1,
             'form2': form2,
             'type': get_type(request)
         })
     else:
         return redirect('accounts:Login')
Exemple #8
0
 def get(self, request):
     if is_authenticated(request) != None and get_type(request) == 'A':
         form1 = forms.UserPrivilageForm()
         hb_rate = models.HeartBeatRate.objects.all()[0].rate
         form2 = forms.HeartBeatForm(initial={'rate': hb_rate})
         dbs = models.DatabaseDetails.objects.order_by('name')
         return render(
             request, self.template_name, {
                 'form1': form1,
                 'form2': form2,
                 'dbs': dbs,
                 'type': get_type(request)
             })
     else:
         return redirect('accounts:Login')
Exemple #9
0
 def get(self, request):
     if is_authenticated(request) == None:
         return redirect('accounts:Login')
     else:
         form = forms.BusSearchForm()
         print(self.template_name)
         return render(request, self.template_name, {'form': form, 'type': get_type(request)})
Exemple #10
0
 def get(self, request):
     if is_authenticated(request) != None:
         if get_type(request) == 'S':
             bus_services, hotel_services = utils.get_services_by_email_rep(
                 request.session.get('email'))
             form = forms.NewServiceForm()
             return render(
                 request, self.template_name, {
                     'form': form,
                     'services': bus_services,
                     'services1': hotel_services,
                     'type': get_type(request)
                 })
         else:
             return redirect('person:Dashboard')
     else:
         return redirect('accounts:Login')
Exemple #11
0
 def post(self, request, id):
     form = forms.DateForm(request.POST)
     if form.is_valid():
         bookings = self.get_bookings(id, form.cleaned_data.get('date'))
         return render(request, self.template_name, {
             'form': form,
             'bookings': bookings,
             'type': get_type(request)
         })
     else:
         return render(
             request, self.template_name, {
                 'form': form,
                 'error': '1',
                 'msg': 'Invalid Submission',
                 'bookings': bookings,
                 'type': get_type(request)
             })
Exemple #12
0
 def get(self, request):
     if is_authenticated(request) == None:
         return redirect('accounts:Login')
     else:
         hotels = self.get_hotels(request.GET.get('city'),
                                  request.GET.get('area'))
         return render(request, self.template_name, {
             'hotels': hotels,
             'type': get_type(request)
         })
Exemple #13
0
    def get(self, request, id):
        if is_authenticated(request) == None:
            return redirect('accounts:Login')
        else:
            form = forms.DeleteBookingForm()
            if id[0] == 'H':
                booking_details = models.BookingMetaData.objects.filter(id=id)
                if not booking_details:
                    print('NOT FOUND')
                else:
                    booking = utils.get_hotel_booking_by_id(id)
                    if booking.get('email') != request.session.get('email'):
                        print('NOT FOUND')
                    else:
                        hotel = models.ServiceMetaData.objects.get(
                            id=booking.get('service_id'))
                        return render(
                            request, self.template_name, {
                                'form': form,
                                'booking': booking,
                                'hotel': hotel,
                                'type': get_type(request)
                            })

            if id[0] == 'B':
                booking_details = models.BookingMetaData.objects.filter(id=id)
                if not booking_details:
                    print('NOT FOUND')
                else:
                    booking = utils.get_bus_booking_by_id(id)
                    if booking.get('email') != request.session.get('email'):
                        print('NOT FOUND')
                    else:
                        bus = models.ServiceMetaData.objects.get(
                            id=booking.get('service_id'))
                        return render(
                            request, self.template_name_1, {
                                'form': form,
                                'booking': booking,
                                'bus': bus,
                                'type': get_type(request)
                            })
    def get(self, request, id):
        if is_authenticated(request) != None:
            service = self.get_object(id)
            if service.count() > 0:
                service = service[0]
                if service.type == 'B':
                    email = request.session.get('email')
                    if email in service.provider:
                        form = self.get_form(id)
                        form1 = forms.ManagersForm()
                        form2 = forms.PasswordForm()
                        form3 = forms.EditRouteForm()
                        return render(
                            request, self.template_name, {
                                'form': form,
                                'form1': form1,
                                'form2': form2,
                                'form3': form3,
                                'service': self.get_service(id),
                                'type': get_type(request)
                            })
                    else:
                        print('NOT FOUND')

                elif service.type == 'H':
                    email = request.session.get('email')
                    if email in service.provider:
                        form1 = forms.ManagersForm()
                        form2 = forms.PasswordForm()
                        return render(
                            request, self.template_name_1, {
                                'form': self.get_form_1(id),
                                'form1': form1,
                                'form2': form2,
                                'service': self.get_service_1(id),
                                'type': get_type(request)
                            })

            else:
                print('NOT FOUND')
        else:
            return redirect('person:Dashboard')
Exemple #15
0
 def get(self, request):
     if is_authenticated(request) == None:
         return redirect('accounts:Login')
     else:
         buses = self.get_buses(request.GET.get('From'), request.GET.get('To'))
         for bus in buses:
             print(bus.get('route'))
             # bus.update({'source': bus.get('route')[0]})
             # bus.update({'destination': bus.get('route')[len(bus.get('route')) - 1]})
             # bus.update({'start_time': bus.get('timing')[0]})
             # bus.update({'end_time': bus.get('timing')[len(bus.get('timing')) - 1]})
         return render(request, self.template_name, {'buses': buses, 'type': get_type(request)})
Exemple #16
0
 def get(self, request):
     if is_authenticated(request) == None:
         return redirect('accounts:Login')
     else:
         if request.GET.get('type') != 'buses':
             hotel_bookings = utils.get_hotel_booking_by_user(
                 request.session.get('email'))
             past_bookings = []
             for booking in hotel_bookings:
                 date = datetime.datetime.strptime(booking.get(out_date),
                                                   "%Y-%m-%d").date()
                 if date >= datetime.date.today():
                     continue
                 else:
                     hotel_detail = models.ServiceMetaData.objects.get(
                         id=booking.get('service_id'))
                     booking.update({'service_name': hotel_detail.name})
                     past_bookings.append(booking)
             return render(request, self.template_name, {
                 'hotel_bookings': past_bookings,
                 'type': get_type(request)
             })
         else:
             bus_bookings = utils.get_bus_booking_by_user(
                 request.session.get('email'))
             past_bookings = []
             for booking in bus_bookings:
                 date = datetime.datetime.strptime(booking.get('To'),
                                                   "%Y-%m-%d").date()
                 if date >= datetime.date.today():
                     continue
                 else:
                     bus_detail = models.ServiceMetaData.objects.get(
                         id=booking.get('service_id'))
                     booking.update({'service_name': bus_detail.name})
                     past_bookings.append(booking)
             return render(request, self.template_name_1, {
                 'bus_bookings': past_bookings,
                 'type': get_type(request)
             })
Exemple #17
0
 def get(self, request, id):
     if is_authenticated(request) == None:
         return redirect('accounts:Login')
     if self.check_provider(request.session.get('email'), id) == True:
         bookings = self.get_bookings(id, datetime.date.today())
         form = forms.DateForm(initial={'date': datetime.date.today})
         return render(request, self.template_name, {
             'form': form,
             'bookings': bookings,
             'type': get_type(request)
         })
     else:
         print('NOT FOUND')
Exemple #18
0
 def post(self, request):
     hb_rate = models.HeartBeatRate.objects.all()[0].rate
     form2 = forms.HeartBeatForm(initial={'rate': hb_rate})
     form1 = forms.UserPrivilageForm()
     dbs = models.DatabaseDetails.objects.order_by('name')
     if 'user_privilage' in request.POST:
         form1 = forms.UserPrivilageForm(request.POST)
         if form1.is_valid():
             return render(
                 request, self.template_name, {
                     'form1': forms.UserPrivilageForm(),
                     'form2': form2,
                     'dbs': dbs,
                     'type': get_type(request),
                     'success1': '1',
                     'msg1': 'Request Processed'
                 })
         else:
             return render(
                 request, self.template_name, {
                     'form1': form1,
                     'form2': form2,
                     'dbs': dbs,
                     'type': get_type(request),
                     'error1': '1'
                 })
     elif 'database_edit' in request.POST:
         db = models.DatabaseDetails.objects.filter(
             name=request.POST.get('name'))[0]
         db.ip_addr = request.POST.get('ip_addr')
         db.port = request.POST.get('port')
         db.save()
         utils.update_database_status()
         return redirect('person:Admin')
     elif 'heart_beat' in request.POST:
         metaData = models.HeartBeatRate.objects.all()[0]
         metaData.rate = int(request.POST.get('rate'))
         metaData.save()
         return redirect('person:Admin')
Exemple #19
0
 def get(self, request):
     if is_authenticated(request) == None:
         return redirect('accounts:Login')
     else:
         services = models.ServiceMetaData.objects.all().count()
         bookings = models.BookingMetaData.objects.all().count()
         users = models.UserMetaData.objects.all().count()
         return render(
             request, self.template_name, {
                 'type': get_type(request),
                 'users': users,
                 'bookings': bookings,
                 'services': services
             })
Exemple #20
0
 def post(self, request):
     form = forms.HotelSearchForm(request.POST)
     if form.is_valid():
         date1 = form.cleaned_data.get('check_in')
         date2 = form.cleaned_data.get('check_out')
         today = datetime.date.today()
         if (date1 < date2 and date1 >= today):
             if form.cleaned_data.get(
                     'area') == None or form.cleaned_data.get('area') == '':
                 query_string = 'city=' + quote(
                     str(form.cleaned_data.get(
                         'city'))) + '&checkin=' + quote(
                             str(date1)) + '&checkout=' + quote(str(date2))
             else:
                 query_string = 'city=' + quote(
                     str(form.cleaned_data.get('city'))) + '&area=' + quote(
                         str(form.cleaned_data.get('area'))
                     ) + '&checkin=' + quote(
                         str(date1)) + '&checkout=' + quote(str(date2))
             return redirect(reverse('hotels:Display') + '?' + query_string)
         else:
             return render(
                 request, self.template_name, {
                     'form': form,
                     'error': '1',
                     'msg': 'Incorrect Dates',
                     'type': get_type(request)
                 })
     else:
         return render(
             request, self.template_name, {
                 'form': form,
                 'error': '1',
                 'msg': 'Fill in valid details only',
                 'type': get_type(request)
             })
Exemple #21
0
    def get(self, request, id):
        if is_authenticated(request) == None:
            return redirect('accounts:Login')
        else:
            details = self.get_bus_details(id)
            Src = ''
            Dest = ''
            if request.GET.get('From') != None:
                Src = request.GET.get('From').upper()
            if request.GET.get('To') != None:
                Dest = request.GET.get('To').upper()

            available = details.get('seats') - utils.get_bus_bookings_by_bus(
                service_id=id,
                From=request.GET.get('From'),
                To=request.GET.get('To'),
                TravelDate=request.GET.get('TravelDate'))
            form = forms.BusBookForm(
                initial={
                    'available': available,
                    'TravelDate': request.GET.get('TravelDate'),
                    'From': Src,
                    'To': Dest
                })
            details.update({
                'source': details.get('route')[0],
                'destination': details.get('route')[1]
            })
            details.update({
                'combined_list':
                zip(details.get('route'), details.get('timing'),
                    details.get('boarding_point'))
            })
            From, To, start_time, end_time, travel_time = self.get_rendering_details(
                details, request, Src, Dest)
            return render(
                request, self.template_name, {
                    'from': From,
                    'to': To,
                    'start_time': start_time,
                    'end_time': end_time,
                    'travel_time': travel_time,
                    'form': form,
                    'bus': details,
                    'available': available,
                    'type': get_type(request)
                })
Exemple #22
0
 def get(self, request, id):
     if is_authenticated(request) == None:
         return redirect('accounts:Login')
     else:
         details = self.get_hotel_details(id)
         available = details.get(
             'rooms') - utils.get_hotel_bookings_by_hotel(
                 service_id=id,
                 in_date=request.GET.get('checkin'),
                 out_date=request.GET.get('checkout'))
         form = forms.HotelBookForm(
             initial={
                 'available': available,
                 'in_date': request.GET.get('checkin'),
                 'out_date': request.GET.get('checkout')
             })
         return render(
             request, self.template_name, {
                 'form': form,
                 'hotel': details,
                 'available': available,
                 'type': get_type(request)
             })
Exemple #23
0
    def post(self, request, id):
        userInfo = models.UserMetaData.objects.get(
            email=request.session.get('email'))
        if id[0] == 'H':
            booking = utils.get_hotel_booking_by_id_rep(id)
            in_date = datetime.datetime.strptime(booking.get('in_date'),
                                                 "%Y-%m-%d").date()
            cancel_option = datetime.date.today() < in_date
            if cancel_option == False:
                return redirect('booking:Detail', id=id)
            else:
                hotel = models.ServiceMetaData.objects.get(
                    id=booking.get('service_id'))
                form = forms.DeleteBookingForm(request.POST)
                if form.is_valid():
                    user = utils.get_user_rep(userInfo)
                    if check_password(form.cleaned_data.get('password'),
                                      user.get('password')) == True:
                        r = utils.delete_hotel_booking_rep(id)
                        if r == 200:
                            return redirect('person:Dashboard')
                        else:
                            return render(
                                request, self.template_name, {
                                    'form': forms.DeleteBookingForm(),
                                    'error': '1',
                                    'msg': 'Network Error',
                                    'booking': booking,
                                    'cancel_option': cancel_option,
                                    'hotel': hotel,
                                    'type': get_type(request)
                                })
                    else:
                        return render(
                            request, self.template_name, {
                                'form': forms.DeleteBookingForm(),
                                'error': '1',
                                'msg': 'Incorrect Password',
                                'booking': booking,
                                'cancel_option': cancel_option,
                                'hotel': hotel,
                                'type': get_type(request)
                            })
                else:
                    return render(
                        request, self.template_name, {
                            'form': forms.DeleteBookingForm(),
                            'error': '1',
                            'msg': 'Fields cannot be empty',
                            'cancel_option': cancel_option,
                            'booking': booking,
                            'hotel': hotel,
                            'type': get_type(request)
                        })

        else:
            booking = utils.get_bus_booking_by_id(id)
            TravelDate = datetime.datetime.strptime(booking.get('TravelDate'),
                                                    "%Y-%m-%d").date()
            cancel_option = datetime.date.today() < TravelDate
            if cancel_option == False:
                return redirect('booking:Detail', id=id)
            else:
                bus = models.ServiceMetaData.objects.get(
                    id=booking.get('service_id'))
                form = forms.DeleteBookingForm(request.POST)
                if form.is_valid():
                    user = utils.get_user_rep(userInfo)
                    if check_password(form.cleaned_data.get('password'),
                                      user.get('password')) == True:
                        r = utils.delete_bus_booking(id)
                        if r == 200:
                            return redirect('person:Dashboard')
                        else:
                            return render(
                                request, self.template_name_1, {
                                    'form': forms.DeleteBookingForm(),
                                    'error': '1',
                                    'msg':
                                    'Internal Error! Try again after some time.',
                                    'booking': booking,
                                    'cancel_option': cancel_option,
                                    'bus': bus,
                                    'type': get_type(request)
                                })
                    else:
                        return render(
                            request, self.template_name_1, {
                                'form': forms.DeleteBookingForm(),
                                'error': '1',
                                'msg': 'Incorrect Password',
                                'booking': booking,
                                'cancel_option': cancel_option,
                                'bus': bus,
                                'type': get_type(request)
                            })
                else:
                    return render(
                        request, self.template_name_1, {
                            'form': forms.DeleteBookingForm(),
                            'error': '1',
                            'msg': 'Fields cannot be empty',
                            'cancel_option': cancel_option,
                            'booking': booking,
                            'bus': bus,
                            'type': get_type(request)
                        })
 def post(self, request):
     services = utils.get_bus_service_by_email(request.session.get('email'))
     services1 = utils.get_hotel_service_by_email(
         request.session.get('email'))
     if 'new_service' in request.POST and request.POST.get(
             'service_type') == 'B':
         form = forms.NewServiceForm(request.POST)
         if form.is_valid():
             service_type = form.cleaned_data.get('service_type')
             id = 'B' + get_random_string(15)
             while utils.check_service_id(id) == False:
                 id = 'B' + get_random_string(15)
             db_name = utils.get_database_name()
             provider = request.session.get('email')
             r = utils.insert_bus_service(db_name, id,
                                          form.cleaned_data.get('name'),
                                          provider)
             if r == 201:
                 return redirect('person:EditService', id=id)
             else:
                 return render(
                     request, self.template_name, {
                         'form': form,
                         'services': services,
                         'services1': services1,
                         'type': get_type(request),
                         'error': '1',
                         'msg': 'Network Error'
                     })
         else:
             return render(
                 request, self.template_name, {
                     'form': form,
                     'services': services,
                     'services1': services1,
                     'type': get_type(request),
                     'error': '1',
                     'msg': 'Invalid Details'
                 })
     elif 'new_service' in request.POST and request.POST.get(
             'service_type') == 'H':
         form = forms.NewServiceForm(request.POST)
         if form.is_valid():
             service_type = form.cleaned_data.get('service_type')
             id = 'H' + get_random_string(15)
             while utils.check_service_id(id) == False:
                 id = 'H' + get_random_string(15)
             db_name = utils.get_database_name()
             provider = request.session.get('email')
             r = utils.insert_hotel_service(db_name, id,
                                            form.cleaned_data.get('name'),
                                            provider)
             if r == 201:
                 return redirect('person:EditService', id=id)
             else:
                 return render(
                     request, self.template_name, {
                         'form': form,
                         'services': services,
                         'services1': services1,
                         'type': get_type(request),
                         'error': '1',
                         'msg': 'Network Error'
                     })
         else:
             return render(
                 request, self.template_name, {
                     'form': form,
                     'services': services,
                     'services1': services1,
                     'type': get_type(request),
                     'error': '1',
                     'msg': 'Invalid Details'
                 })
Exemple #25
0
    def post(self, request, id):
        userInfo = models.UserMetaData.objects.get(
            email=request.session.get('email'))
        db_name = userInfo.db_name
        if id[0] == 'H':
            booking = utils.get_hotel_booking_by_id(id)
            hotel = models.ServiceMetaData.objects.get(
                id=booking.get('service_id'))
            form = forms.DeleteBookingForm(request.POST)
            if form.is_valid():
                user = utils.get_user(db_name, request.session.get('email'))
                if check_password(form.cleaned_data.get('password'),
                                  user.get('password')) == True:
                    r = utils.delete_hotel_booking(id)
                    if r == 200:
                        return redirect('person:Dashboard')
                    else:
                        return render(
                            request, self.template_name, {
                                'form': forms.DeleteBookingForm(),
                                'error': '1',
                                'msg': 'Network Error',
                                'booking': booking,
                                'hotel': hotel,
                                'type': get_type(request)
                            })
                else:
                    return render(
                        request, self.template_name, {
                            'form': forms.DeleteBookingForm(),
                            'error': '1',
                            'msg': 'Incorrect Password',
                            'booking': booking,
                            'hotel': hotel,
                            'type': get_type(request)
                        })
            else:
                return render(
                    request, self.template_name, {
                        'form': forms.DeleteBookingForm(),
                        'error': '1',
                        'msg': 'Fields cannot be empty',
                        'booking': booking,
                        'hotel': hotel,
                        'type': get_type(request)
                    })

        if id[0] == 'B':
            booking = utils.get_bus_booking_by_id(id)
            hotel = models.ServiceMetaData.objects.get(
                id=booking.get('service_id'))
            form = forms.DeleteBookingForm(request.POST)
            if form.is_valid():
                user = utils.get_user(db_name, request.session.get('email'))
                if check_password(form.cleaned_data.get('password'),
                                  user.get('password')) == True:
                    r = utils.delete_bus_booking(id)
                    if r == 200:
                        return redirect('person:Dashboard')
                    else:
                        return render(
                            request, self.template_name_1, {
                                'form': forms.DeleteBookingForm(),
                                'error': '1',
                                'msg': 'Network Error',
                                'booking': booking,
                                'bus': bus,
                                'type': get_type(request)
                            })
                else:
                    return render(
                        request, self.template_name_1, {
                            'form': forms.DeleteBookingForm(),
                            'error': '1',
                            'msg': 'Incorrect Password',
                            'booking': booking,
                            'bus': bus,
                            'type': get_type(request)
                        })
            else:
                return render(
                    request, self.template_name_1, {
                        'form': forms.DeleteBookingForm(),
                        'error': '1',
                        'msg': 'Fields cannot be empty',
                        'booking': booking,
                        'bus': bus,
                        'type': get_type(request)
                    })
    def post(self, request, id):
        service = self.get_object(id)
        service = service[0]
        if service.type == 'B':
            if 'delete_service' in request.POST:
                user = self.get_user(request.session.get('email'))
                if check_password(request.POST.get('password'),
                                  user.get('password')):
                    r = utils.delete_bus_service(id=id)
                    if r == 200:
                        return redirect('person:Services')
                    else:
                        return render(
                            request, self.template_name, {
                                'form': self.get_form(id),
                                'form1': forms.ManagersForm(),
                                'form2': forms.PasswordForm(),
                                'form3': forms.EditRouteForm(),
                                'error2': '1',
                                'msg2': 'Network Error',
                                'service': self.get_service(id),
                                'type': get_type(request)
                            })
                else:
                    return render(
                        request, self.template_name, {
                            'form': self.get_form(id),
                            'form1': forms.ManagersForm(),
                            'form2': forms.PasswordForm(),
                            'form3': forms.EditRouteForm(),
                            'error2': '1',
                            'msg2': 'Incorrect Password',
                            'service': self.get_service(id),
                            'type': get_type(request)
                        })
            elif 'add_manager' in request.POST:
                form1 = forms.ManagersForm(request.POST)
                if form1.is_valid():
                    email = form1.cleaned_data.get('email')
                    if email not in service.provider:
                        r = utils.update_bus_service(id=id,
                                                     provider=email,
                                                     provider_code='ADD')
                        if r == 200:
                            service.provider.append(email)
                            service.save()
                        else:
                            return render(
                                request, self.template_name, {
                                    'form': self.get_form(id),
                                    'form1': form1,
                                    'form2': forms.PasswordForm(),
                                    'form3': forms.EditRouteForm(),
                                    'error1': '1',
                                    'msg1': 'Network Error',
                                    'service': self.get_service(id),
                                    'type': get_type(request)
                                })
                    return redirect('person:EditService', id=id)
                else:
                    return render(
                        request, self.template_name, {
                            'form': self.get_form(id),
                            'form1': form1,
                            'form2': forms.PasswordForm(),
                            'form3': forms.EditRouteForm(),
                            'error1': '1',
                            'service': self.get_service(id),
                            'type': get_type(request)
                        })
            elif 'edit_service' in request.POST:
                form = forms.EditBusServiceForm(request.POST)
                if form.is_valid():
                    r = utils.update_bus_service(
                        name=form.cleaned_data.get('name'),
                        price=form.cleaned_data.get('price'),
                        bus_number=form.cleaned_data.get('bus_number'),
                        seats=form.cleaned_data.get('seats'),
                        is_ready=form.cleaned_data.get('is_ready'),
                        id=id)
                    if r == 200:
                        service.name = form.cleaned_data.get('name')
                        service.save()
                        return render(
                            request, self.template_name, {
                                'form': self.get_form(id),
                                'success': '1',
                                'msg': 'INFORMATION UPDATED',
                                'form1': forms.ManagersForm(),
                                'form2': forms.PasswordForm(),
                                'form3': forms.EditRouteForm(),
                                'service': self.get_service(id),
                                'type': get_type(request)
                            })
                    else:
                        return render(
                            request, self.template_name, {
                                'form': self.get_form(id),
                                'error': '1',
                                'msg': 'NETWORK ERROR',
                                'form1': forms.ManagersForm(),
                                'form2': forms.PasswordForm(),
                                'form3': forms.EditRouteForm(),
                                'service': self.get_service(id),
                                'type': get_type(request)
                            })
                else:
                    return render(
                        request, self.template_name, {
                            'form': self.get_form(id),
                            'error': '1',
                            'msg': 'INVALID DETAILS',
                            'form1': forms.ManagersForm(),
                            'form2': forms.PasswordForm(),
                            'form3': forms.EditRouteForm(),
                            'service': self.get_service(id),
                            'type': get_type(request)
                        })
            elif 'edit_route' in request.POST:
                form3 = forms.EditRouteForm(request.POST)
                if form3.is_valid():
                    time = str(form3.cleaned_data.get('day')) + ':' + str(
                        form3.cleaned_data.get('time_hour')) + ':' + str(
                            form3.cleaned_data.get('time_mins'))
                    r = utils.update_bus_service(
                        id=id,
                        boarding_point=form3.cleaned_data.get(
                            'boarding_point'),
                        route=form3.cleaned_data.get('stop_name'),
                        route_code='ADD',
                        timing=time,
                        timing_code='ADD',
                        boarding_code='ADD')
                    if r == 200:
                        return render(
                            request, self.template_name, {
                                'form': self.get_form(id),
                                'success3': '1',
                                'msg3': 'Bus Route Updated',
                                'form1': forms.ManagersForm(),
                                'form2': forms.PasswordForm(),
                                'form3': forms.EditRouteForm(),
                                'service': self.get_service(id),
                                'type': get_type(request)
                            })
                    else:
                        return render(
                            request, self.template_name, {
                                'form': self.get_form(id),
                                'error3': '1',
                                'msg3': 'Network Error',
                                'form1': forms.ManagersForm(),
                                'form2': forms.PasswordForm(),
                                'form3': form3,
                                'service': self.get_service(id),
                                'type': get_type(request)
                            })
                else:
                    return render(
                        request, self.template_name, {
                            'form': self.get_form(id),
                            'error3': '1',
                            'msg3': 'INVALID DETAILS',
                            'form1': forms.ManagersForm(),
                            'form2': forms.PasswordForm(),
                            'form3': form3,
                            'service': self.get_service(id),
                            'type': get_type(request)
                        })

        elif service.type == 'H':
            if 'add_manager' in request.POST:
                form1 = forms.ManagersForm(request.POST)
                if form1.is_valid():
                    email = form1.cleaned_data.get('email')
                    if email not in service.provider:
                        r = utils.update_hotel_service(id=id,
                                                       provider=email,
                                                       provider_code='ADD')
                        if r == 200:
                            service.provider.append(email)
                            service.save()
                            return redirect('person:EditService', id=id)
                        else:
                            return render(
                                request, self.template_name_1, {
                                    'form': self.get_form_1(id),
                                    'form1': form1,
                                    'form2': forms.PasswordForm(),
                                    'error1': '1',
                                    'msg1': 'Network Error',
                                    'service': self.get_service_1(id),
                                    'type': get_type(request)
                                })
                    else:
                        return redirect('person:EditService', id=id)
                else:
                    return render(
                        request, self.template_name_1, {
                            'form': self.get_form_1(id),
                            'form1': form1,
                            'form2': forms.PasswordForm(),
                            'error1': '1',
                            'service': self.get_service_1(id),
                            'type': get_type(request)
                        })

            elif 'delete_service' in request.POST:
                user = self.get_user(request.session.get('email'))
                if check_password(request.POST.get('password'),
                                  user.get('password')):
                    r = utils.delete_hotel_service(id=id)
                    if r == 200:
                        return redirect('person:Services')
                    else:
                        return render(
                            request, self.template_name_1, {
                                'form': self.get_form_1(id),
                                'form1': forms.ManagersForm(),
                                'form2': forms.PasswordForm(),
                                'error2': '1',
                                'msg2': 'Network Error',
                                'service': self.get_service_1(id),
                                'type': get_type(request)
                            })
                else:
                    return render(
                        request, self.template_name_1, {
                            'form': self.get_form_1(id),
                            'form1': forms.ManagersForm(),
                            'form2': forms.PasswordForm(),
                            'error2': '1',
                            'msg2': 'Incorrect Password',
                            'service': self.get_service_1(id),
                            'type': get_type(request)
                        })

            elif 'edit_service' in request.POST:
                form = forms.EditHotelServiceForm(request.POST)
                if form.is_valid():
                    r = utils.update_hotel_service(
                        name=form.cleaned_data.get('name'),
                        price=form.cleaned_data.get('price'),
                        city=form.cleaned_data.get('city'),
                        area=form.cleaned_data.get('area'),
                        rooms=form.cleaned_data.get('rooms'),
                        address=form.cleaned_data.get('address'),
                        is_ready=form.cleaned_data.get('is_ready'),
                        id=id,
                        check_in=form.cleaned_data.get('check_in'),
                        check_out=form.cleaned_data.get('check_out'))
                    if r == 200:
                        service.name = form.cleaned_data.get('name')
                        service.save()
                        return render(
                            request, self.template_name_1, {
                                'form': self.get_form_1(id),
                                'success': '1',
                                'msg': 'INFORMATION UPDATED',
                                'form1': forms.ManagersForm(),
                                'form2': forms.PasswordForm(),
                                'service': self.get_service_1(id),
                                'type': get_type(request)
                            })
                    else:
                        return render(
                            request, self.template_name_1, {
                                'form': self.get_form_1(id),
                                'error': '1',
                                'msg': 'NETWORK ERROR',
                                'form1': forms.ManagersForm(),
                                'form2': forms.PasswordForm(),
                                'service': self.get_service_1(id),
                                'type': get_type(request)
                            })
                else:
                    return render(
                        request, self.template_name_1, {
                            'form': self.get_form(id),
                            'error': '1',
                            'msg': 'INVALID DETAILS',
                            'form1': forms.ManagersForm(),
                            'form2': forms.PasswordForm(),
                            'service': self.get_service_1(id),
                            'type': get_type(request)
                        })
Exemple #27
0
 def get(self, request, id):
     if is_authenticated(request) == None:
         return redirect('accounts:Login')
     else:
         details = self.get_bus_details(id)
         available = details.get('seats') - utils.get_bus_bookings_by_bus(service_id = id, From = request.GET.get('From'), To = request.GET.get('To'), TravelDate = request.GET.get('TravelDate'))
         form = forms.BusBookForm(initial = {'available': available, 'TravelDate': request.GET.get('TravelDate'), 'From': request.GET.get('From'), 'To': request.GET.get('To')})
         details.update({'source': details.get('route')[0], 'destination': details.get('route')[1]})
         S = utils.get_bus_service_by_id(id)
         print("&&&&&&&&&&&&&&&&&&&&&&")
         print(details.get('boarding_point')[0])
         S.update({'combined_list': zip(S.get('route'), S.get('timing'), S.get('boarding_point'))})
         return render(request, self.template_name, {'S' : S, 'boarding_point': details.get('boarding_point')[0],'destination_point': details.get('boarding_point')[1],'form': form, 'buses': details,'available': available, 'type': get_type(request)})
Exemple #28
0
    def post(self, request, id):
        form = forms.BusBookForm(request.POST)
        details = self.get_bus_details(id)
        available = int(request.POST.get('available'))
        Src = ''
        Dest = ''
        if request.GET.get('From') != None:
            Src = request.GET.get('From').upper()
        if request.GET.get('To') != None:
            Dest = request.GET.get('To').upper()
        details.update({
            'source': details.get('route')[0],
            'destination': details.get('route')[1]
        })
        details.update({
            'combined_list':
            zip(details.get('route'), details.get('timing'),
                details.get('boarding_point'))
        })
        From, To, start_time, end_time, travel_time = self.get_rendering_details(
            details, request, Src, Dest)
        if form.is_valid():
            seats = int(form.cleaned_data.get('seats'))
            if seats > 0 and seats <= int(available):
                new_id = 'B' + get_random_string(15)
                while (utils.check_booking_id(id=new_id) == False):
                    new_id = 'B' + get_random_string(15)

                bill = int(details.get('price')) * int(
                    form.cleaned_data.get('seats'))
                r = utils.new_bus_booking(
                    id=new_id,
                    service_id=id,
                    email=request.session.get('email'),
                    From=form.cleaned_data.get('From'),
                    To=form.cleaned_data.get('To'),
                    TravelDate=form.cleaned_data.get('TravelDate'),
                    booking_date=datetime.date.today(),
                    seats=form.cleaned_data.get('seats'),
                    bill=bill)

                if r == 201:
                    return redirect('booking:Detail', id=new_id)
                else:
                    print(r)
                    return render(
                        request, self.template_name, {
                            'from': From,
                            'to': To,
                            'start_time': start_time,
                            'end_time': end_time,
                            'travel_time': travel_time / 60,
                            'available': available,
                            'form': form,
                            'error': '1',
                            'msg': 'Internal Error. Try Again.',
                            'bus': details,
                            'type': get_type(request)
                        })
            else:
                return render(
                    request, self.template_name, {
                        'from': From,
                        'to': To,
                        'start_time': start_time,
                        'end_time': end_time,
                        'travel_time': travel_time / 60,
                        'available': available,
                        'form': form,
                        'error': '1',
                        'msg': 'Enter Valid number of Seats',
                        'bus': details,
                        'type': get_type(request)
                    })
        else:
            return render(
                request, self.template_name, {
                    'from': From,
                    'to': To,
                    'start_time': start_time,
                    'end_time': end_time,
                    'travel_time': travel_time / 60,
                    'available': available,
                    'form': form,
                    'error': '1',
                    'msg': 'Invalid Submission',
                    'bus': details,
                    'type': get_type(request)
                })
Exemple #29
0
    def post(self, request, id):
        form = forms.BusBookForm(request.POST)
        bus = self.get_bus_details(id)
        available = request.POST.get('available')
        # available = request.get('available')
        if form.is_valid():
            seats = int(form.cleaned_data.get('seats'))
            if seats > 0 and seats <= int(available):
                new_id = 'B' + get_random_string(15)
                while(utils.check_booking_id(id = new_id) == False):
                    new_id = 'B' + get_random_string(15)
                db_name = utils.get_database_name()
                bill = int(bus.get('price')) * int(form.cleaned_data.get('seats'))
                r = utils.new_bus_booking(db_name = db_name,
                                            id = new_id,
                                            service_id = id,
                                            email = request.session.get('email'),
                                            From = form.cleaned_data.get('From'),
                                            To = form.cleaned_data.get('To'),
                                            TravelDate = form.cleaned_data.get('TravelDate'),
                                            booking_date = datetime.date.today(),
                                            seats = form.cleaned_data.get('seats'),
                                            bill = bill)

               # bus = models.BusService.objects.filter(id = booking.service_id)
                #bus.update(seats = bus.seats - int(request.data.get('seats')))
                #bus = models.BusService.objects.filter(id = booking.service_id)

                #return render(request, self.template_name, {'S' : S, 'boarding_point': details.get('boarding_point')[0],'destination_point': details.get('boarding_point')[1],'form': form, 'buses': details,'available': bus.seats, 'type': get_type(request)})

                if r == 201:
                    print('BOOKING CONFIRMED')
                else:
                    print(r)
                    return render(request, self.template_name, {'available': available, 'form': form, 'error': '1', 'msg': 'Internal Error. Try Again.', 'bus': bus, 'type': get_type(request)})
            else:
                return render(request, self.template_name, {'available': available, 'form': form, 'error': '1', 'msg': 'Enter Valid number of Seats', 'bus': bus, 'type': get_type(request)})
        else:
            print(form.errors)
            return render(request, self.template_name, {'available': available, 'form': form, 'error': '1', 'msg': 'Invalid Submission', 'bus': bus, 'type': get_type(request)})
 def get(self, request):
     if is_authenticated(request) == None:
         return redirect('accounts:Login')
     else:
         return render(request, self.template_name,
                       {'type': get_type(request)})