#hotfix Fixed select date picker
This commit is contained in:
		
					parent
					
						
							
								45374f8623
							
						
					
				
			
			
				commit
				
					
						80095ed1aa
					
				
			
		
					 8 changed files with 84 additions and 53 deletions
				
			
		|  | @ -60,37 +60,14 @@ class BookingBillingForm(BillingAddressForm): | |||
| class BookingDateForm(forms.Form): | ||||
|     start_date = forms.DateField(required=False, | ||||
|                                  widget=forms.TextInput(attrs={'id': 'booking-date-1', | ||||
|                                                                      'value': ''})) | ||||
|                                                                      'value': 'Select your date'})) | ||||
|     end_date = forms.DateField(required=False, | ||||
|                                widget=forms.TextInput(attrs={'id': 'booking-date-2'})) | ||||
| 
 | ||||
|     # def clean_date_range(self): | ||||
|     #     date_range = self.cleaned_data.get('date_range') | ||||
|     #     dates = date_range.replace(' ', '').split('-') | ||||
|     #     try: | ||||
|     #         start_date, end_date = [datetime.strptime(date_string, "%m/%d/%Y").date() | ||||
|     #                                 for date_string in dates] | ||||
|     #     except ValueError: | ||||
|     #         raise forms.ValidationError("Submit valid dates.") | ||||
| 
 | ||||
|     #     if start_date > end_date: | ||||
|     #         raise forms.ValidationError("Your end date must be greather than your start date.") | ||||
| 
 | ||||
|     #     q1 = Q(start_date__lte=start_date, end_date__gte=start_date) | ||||
|     #     q2 = Q(start_date__gt=start_date, start_date__lte=end_date) | ||||
|     #     if Booking.objects.filter(q1 | q2).exists(): | ||||
|     #         raise forms.ValidationError("You already have a booking in these dates.") | ||||
| 
 | ||||
|     #     return start_date, end_date | ||||
| 
 | ||||
|     def clean_start_date(self): | ||||
|         start_date = self.cleaned_data.get('start_date') | ||||
|         if not start_date: | ||||
|             raise forms.ValidationError("This field is required.") | ||||
|         # try: | ||||
|         #     start_date = datetime.strptime(start_date, "%m/%d/%Y").date() | ||||
|         # except ValueError: | ||||
|         #     raise forms.ValidationError("Submit valid dates.") | ||||
|         return start_date | ||||
| 
 | ||||
|     def clean_end_date(self): | ||||
|  |  | |||
|  | @ -7,14 +7,16 @@ $( document ).ready(function() { | |||
| 
 | ||||
| 
 | ||||
| 		var tomorrow = new Date(new Date().getTime() + 24 * 60 * 60 * 1000); | ||||
| 
 | ||||
|         $('#booking-date-1').datetimepicker({ | ||||
|         	// minDate: tomorrow,
 | ||||
|         	format: 'MM/d/YYYY', | ||||
|         	defaultDate: false | ||||
|         	minDate: tomorrow, | ||||
|         	format: 'MM/DD/YYYY', | ||||
|         	// defaultDate: false
 | ||||
|         }); | ||||
|         $('#booking-date-1').val(''); | ||||
|         $('#booking-date-2').datetimepicker({ | ||||
|             useCurrent: false, //Important! See issue #1075
 | ||||
|             format: 'MM/d/YYYY', | ||||
|             format: 'MM/DD/YYYY', | ||||
|         }); | ||||
|         $("#booking-date-1").on("dp.change", function (e) { | ||||
|             $('#booking-date-2').data("DateTimePicker").minDate(e.date); | ||||
|  | @ -23,24 +25,4 @@ $( document ).ready(function() { | |||
|             $('#booking-date-1').data("DateTimePicker").maxDate(e.date); | ||||
|         }); | ||||
| 
 | ||||
| 
 | ||||
| 	// var tomorrow = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
 | ||||
| 	// // var tomorrow = today.setDate(today.getDate() + 1);
 | ||||
| 	// $('#booking-date-range').daterangepicker({
 | ||||
| 	// 	autoUpdateInput: false,
 | ||||
| 	// 	locale: {
 | ||||
| 	// 	  cancelLabel: 'Clear'
 | ||||
| 	// 	},
 | ||||
| 	// 	minDate: tomorrow,
 | ||||
| 	// });
 | ||||
| 
 | ||||
| 
 | ||||
| 	// $('#booking-date-range').on('apply.daterangepicker', function(ev, picker) {
 | ||||
| 	// 	$(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + picker.endDate.format('MM/DD/YYYY'));
 | ||||
| 	// });
 | ||||
| 
 | ||||
| 	// $('#booking-date-range').on('dp.cancel', function(ev, picker) {
 | ||||
| 	// 	$(this).val('Select your dates');
 | ||||
| 	// });
 | ||||
| 
 | ||||
| }); | ||||
|  | @ -7,6 +7,7 @@ | |||
|   .invoice-title{ | ||||
|     text-align: center !important; | ||||
|   } | ||||
|    | ||||
|   </style> | ||||
| 
 | ||||
| <script type="text/javascript"> | ||||
|  | @ -19,7 +20,7 @@ | |||
|           <div class="payment-box"> | ||||
|             <h2 class="section-heading payment-head">Your Booking Detail</h2> | ||||
|             <hr class="greyline-long"> | ||||
|             <h2 class="billing-head">Invoice<btn class="btn btn-primary btn-grey btn-edit print" data-print="price">Get PDF</btn></h2>                               | ||||
|             <h2 class="billing-head">Invoice<btn class="btn btn-primary btn-grey btn-edit  print hidden-print" data-print="price">Get PDF</btn></h2>                               | ||||
|                                 | ||||
|             <h2 class="order-head">Order Number</h2> | ||||
|             <h2 class="member-name">#{{order.id}}</h2> | ||||
|  |  | |||
|  | @ -10,7 +10,9 @@ | |||
|         <div class="signup-box"> | ||||
|           <span class="glyphicon glyphicon-user"></span> | ||||
|           <h2 class="section-heading">Log In</h2> | ||||
|           {% if not messages %} | ||||
|             <h2 class="signup-lead">Welcome!<br></h2> | ||||
|           {% endif %} | ||||
|            | ||||
| 
 | ||||
|           {% if messages %} | ||||
|  |  | |||
|  | @ -0,0 +1,54 @@ | |||
| {% extends "new_base_glarus.html" %} | ||||
| {% load staticfiles cms_tags bootstrap3%} | ||||
| {% block title %}crowdfunding{% endblock %} | ||||
| 
 | ||||
| {% block content %} | ||||
|   <section id="price"> | ||||
|     <div class="signup-container"> | ||||
| 	  <div class="col-xs-12 col-sm-3 col-lg-4 text-center wow fadeInDown"> </div> | ||||
|       <div class="col-xs-12 col-sm-6 col-lg-4 text-center wow fadeInDown">  | ||||
|      | ||||
|          <!-- <span class="glyphicon glyphicon-user"></span> --> | ||||
|           <div class="payment-box"> | ||||
|              <h2 class="billing-head">Membership Deactivated</h2>  | ||||
|              <hr class="greyline-long"> | ||||
|                <h2 class="membership-lead">Your Digital Glarus membership has been deactivated.</h2> | ||||
|                <div class="date-box"> | ||||
|                  </div> | ||||
|                  <!--<hr class="primary">--> | ||||
|                       <div class="signup-form form-group row"> | ||||
|                        | ||||
|                          <div class="button-booking-box form-inline row"> | ||||
|                           <a class="btn btn-primary btn-blue" href={% url 'digitalglarus:membership_orders_list' %}>Go to your membership orders</a> | ||||
|                           </div> | ||||
|                           <div class="notice-box text-left"> | ||||
|                          </div> | ||||
|                           </div> | ||||
|          | ||||
|       </div>        | ||||
|      <div class="col-xs-12 col-sm-3 col-lg-4 text-center wow fadeInDown"> </div> | ||||
|       </div> | ||||
|     </div>  | ||||
|     </div> | ||||
|       </div> | ||||
|     </div>    | ||||
|   </section> | ||||
|   <section id="contact"> | ||||
|     <div class="fill"> | ||||
|      <div class="row" class="wow fadeInDown"> | ||||
|       <div class="col-lg-12 text-center wow fadeInDown"> | ||||
|           <div class="col-md-4 map-title"> | ||||
|             Digital Glarus<br> | ||||
|             <span class="map-caption">In der Au 7 Schwanden 8762 Switzerland | ||||
|             <br>info@digitalglarus.ch | ||||
|             <br> | ||||
|             (044) 534-66-22 | ||||
|             <p> </p> | ||||
|             </span> | ||||
|           </div> | ||||
|            <p> </p> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|   </section> | ||||
| {% endblock %}  | ||||
|  | @ -19,7 +19,7 @@ | |||
|           <div class="payment-box"> | ||||
|             <h2 class="section-heading payment-head">Your Membership Order Detail</h2> | ||||
|             <hr class="greyline-long"> | ||||
|             <h2 class="billing-head">Invoice<btn class="btn btn-primary btn-grey btn-edit print" data-print="price">Get PDF</btn></h2>                               | ||||
|             <h2 class="billing-head">Invoice<btn class="btn btn-primary btn-grey btn-edit print hidden-print" data-print="price">Get PDF</btn></h2>                               | ||||
|                                 | ||||
|             <h2 class="order-head">Order Number</h2> | ||||
|             <h2 class="member-name">#{{order.id}}</h2> | ||||
|  |  | |||
|  | @ -5,7 +5,8 @@ from . import views | |||
| from .views import ContactView, IndexView, AboutView, HistoryView, LoginView, SignupView,\ | ||||
|     PasswordResetView, PasswordResetConfirmView, MembershipPaymentView, MembershipActivatedView,\ | ||||
|     MembershipPricingView, BookingSelectDatesView, BookingPaymentView, OrdersBookingDetailView,\ | ||||
|     BookingOrdersListView, MembershipOrdersListView, OrdersMembershipDetailView, MembershipDeactivateView | ||||
|     BookingOrdersListView, MembershipOrdersListView, OrdersMembershipDetailView, \ | ||||
|     MembershipDeactivateView, MembershipDeactivateSuccessView | ||||
| # from membership.views import LoginRegistrationView | ||||
| 
 | ||||
| urlpatterns = [ | ||||
|  | @ -30,6 +31,8 @@ urlpatterns = [ | |||
|         name='membership_activated'), | ||||
|     url(_(r'membership/deactivate/?$'), MembershipDeactivateView.as_view(), | ||||
|         name='membership_deactivate'), | ||||
|     url(_(r'membership/deactivate/success/?$'), MembershipDeactivateSuccessView.as_view(), | ||||
|         name='membership_deactivate_success'), | ||||
|     url(_(r'membership/pricing/?$'), MembershipPricingView.as_view(), | ||||
|         name='membership_pricing'), | ||||
|     url(_(r'membership/orders/(?P<pk>\d+)/?$'), OrdersMembershipDetailView.as_view(), | ||||
|  |  | |||
|  | @ -47,7 +47,15 @@ class IndexView(TemplateView): | |||
| class LoginView(LoginViewMixin): | ||||
|     template_name = "digitalglarus/login.html" | ||||
|     form_class = LoginForm | ||||
|     success_url = reverse_lazy('digitalglarus:membership_pricing') | ||||
| 
 | ||||
|     def get_success_url(self): | ||||
|         # redirect to membership orders list if user has at least one. | ||||
|         if self.request.user \ | ||||
|            and MembershipOrder.objects.filter(customer__user=self.request.user): | ||||
| 
 | ||||
|             return reverse_lazy('digitalglarus:membership_orders_list') | ||||
| 
 | ||||
|         return reverse_lazy('digitalglarus:membership_pricing') | ||||
| 
 | ||||
| 
 | ||||
| class SignupView(SignupViewMixin): | ||||
|  | @ -367,6 +375,10 @@ class MembershipDeactivateView(LoginRequiredMixin, UpdateView): | |||
|         return HttpResponseRedirect(self.success_url) | ||||
| 
 | ||||
| 
 | ||||
| class MembershipDeactivateSuccessView(LoginRequiredMixin, TemplateView): | ||||
|     template_name = "digitalglarus/membership_deactivated_success.html" | ||||
| 
 | ||||
| 
 | ||||
| class MembershipOrdersListView(LoginRequiredMixin, ListView): | ||||
|     template_name = "digitalglarus/membership_orders_list.html" | ||||
|     context_object_name = "orders" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue